From 619735fea08d40aaf42625ee746ffc6a18cb4533 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 19 Feb 2022 22:42:10 -0600 Subject: [PATCH] Implemented image tagging using TensorFlow InceptionV3 (#28) * Refactor docker-compose to its own folder * Added FastAPI development environment * Added support for GPU in docker file * Added image classification * creating endpoint for smart Image info * added logo with white background on ios * Added endpoint and trigger for image tagging * Classify image and save into database * Update readme --- Makefile | 6 +- README.md | 12 +- {server => docker}/.env.example | 0 docker/.gitignore | 1 + docker/docker-compose.gpu.yml | 95 + {server => docker}/docker-compose.yml | 41 +- docker/settings/nginx-conf/nginx.conf | 35 + machine_learning/.dockerignore | 1 + machine_learning/.gitignore | 2 + machine_learning/Dockerfile | 22 + machine_learning/Pipfile | 17 + machine_learning/Pipfile.lock | 629 + .../app/imagenet_class_index.json | 1002 ++ machine_learning/app/main.py | 51 + .../sc2.PNG => machine_learning/app/test.png | Bin machine_learning/requirements.txt | 6 + .../AppIcon.appiconset/Contents.json | 158 +- .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 5661 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 9141 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 13720 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 13720 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 22193 -> 0 bytes .../immich-logo-1024-1024.png | Bin 0 -> 120577 bytes .../immich-logo-1024-20.png | Bin 0 -> 2146 bytes .../immich-logo-1024-20@2x.png | Bin 0 -> 3871 bytes .../immich-logo-1024-20@3x.png | Bin 0 -> 6001 bytes .../immich-logo-1024-29.png | Bin 0 -> 2905 bytes .../immich-logo-1024-29@2x.png | Bin 0 -> 5746 bytes .../immich-logo-1024-29@3x.png | Bin 0 -> 9086 bytes .../immich-logo-1024-40.png | Bin 0 -> 3871 bytes .../immich-logo-1024-40@2x.png | Bin 0 -> 8274 bytes .../immich-logo-1024-40@3x.png | Bin 0 -> 13360 bytes .../immich-logo-1024-60@2x.png | Bin 0 -> 13360 bytes .../immich-logo-1024-60@3x.png | Bin 0 -> 21734 bytes .../immich-logo-1024-76.png | Bin 0 -> 7816 bytes .../immich-logo-1024-76@2x.png | Bin 0 -> 17790 bytes .../immich-logo-1024-83.5@2x.png | Bin 0 -> 19756 bytes server/entrypoint.sh | 2 + server/package-lock.json | 10598 +--------------- server/package.json | 6 +- .../src/api-v1/asset/entities/asset.entity.ts | 4 + .../asset/entities/smart-info.entity.ts | 19 + server/src/config/database.config.ts | 26 +- .../redis-io.adapter.middleware.ts | 16 +- .../1645130759468-CreateUserTable.ts | 22 + .../1645130777674-CreateDeviceInfoTable.ts | 26 + .../1645130805273-CreateAssetsTable.ts | 31 + .../1645130817965-CreateExifTable.ts | 42 + .../1645130870184-CreateSmartInfoTable.ts | 30 + .../background-task/background-task.module.ts | 3 +- .../background-task.processor.ts | 19 + .../background-task.service.ts | 11 + .../image-optimize/image-optimize.module.ts | 20 +- .../image-optimize.processor.ts | 16 + 54 files changed, 2297 insertions(+), 10672 deletions(-) rename {server => docker}/.env.example (100%) create mode 100644 docker/.gitignore create mode 100644 docker/docker-compose.gpu.yml rename {server => docker}/docker-compose.yml (57%) create mode 100644 docker/settings/nginx-conf/nginx.conf create mode 100644 machine_learning/.dockerignore create mode 100644 machine_learning/.gitignore create mode 100644 machine_learning/Dockerfile create mode 100644 machine_learning/Pipfile create mode 100644 machine_learning/Pipfile.lock create mode 100644 machine_learning/app/imagenet_class_index.json create mode 100644 machine_learning/app/main.py rename design/sc2.PNG => machine_learning/app/test.png (100%) create mode 100644 machine_learning/requirements.txt delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-83.5@2x.png create mode 100644 server/entrypoint.sh create mode 100644 server/src/api-v1/asset/entities/smart-info.entity.ts create mode 100644 server/src/migration/1645130759468-CreateUserTable.ts create mode 100644 server/src/migration/1645130777674-CreateDeviceInfoTable.ts create mode 100644 server/src/migration/1645130805273-CreateAssetsTable.ts create mode 100644 server/src/migration/1645130817965-CreateExifTable.ts create mode 100644 server/src/migration/1645130870184-CreateSmartInfoTable.ts diff --git a/Makefile b/Makefile index 203a4eea45..508e0115aa 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ dev: - docker-compose -f ./server/docker-compose.yml up + docker-compose -f ./docker/docker-compose.yml up dev-update: - docker-compose -f ./server/docker-compose.yml up --build -V + docker-compose -f ./docker/docker-compose.yml up --build -V dev-scale: - docker-compose -f ./server/docker-compose.yml up --build -V --scale immich_server=3 --remove-orphans + docker-compose -f ./docker/docker-compose.yml up --build -V --scale immich_server=3 --remove-orphans diff --git a/README.md b/README.md index 77fee764ee..117456bd6a 100644 --- a/README.md +++ b/README.md @@ -44,13 +44,15 @@ You can use docker compose for development, there are several services that comp 2. PostgreSQL 3. Redis 4. Nginx +5. TensorFlow and Keras ## Populate .env file -Navigate to `server` directory and run +Navigate to `docker` directory and run -```` +``` cp .env.example .env +``` Then populate the value in there. @@ -59,13 +61,13 @@ Pay attention to the key `UPLOAD_LOCATION`, this directory must exist and is own To start, run ```bash -docker-compose -f ./server/docker-compose.yml up -```` +docker-compose -f ./docker/docker-compose.yml up +``` To force rebuild node modules after installing new packages ```bash -docker-compose -f ./server/docker-compose.yml up --build -V +docker-compose -f ./docker/docker-compose.yml up --build -V ``` The server will be running at `http://your-ip:2283` through `Nginx` diff --git a/server/.env.example b/docker/.env.example similarity index 100% rename from server/.env.example rename to docker/.env.example diff --git a/docker/.gitignore b/docker/.gitignore new file mode 100644 index 0000000000..2eea525d88 --- /dev/null +++ b/docker/.gitignore @@ -0,0 +1 @@ +.env \ No newline at end of file diff --git a/docker/docker-compose.gpu.yml b/docker/docker-compose.gpu.yml new file mode 100644 index 0000000000..3b64483db2 --- /dev/null +++ b/docker/docker-compose.gpu.yml @@ -0,0 +1,95 @@ +version: "3.8" + +services: + immich_server: + image: immich-server-dev:1.0.0 + build: + context: ../server + target: development + dockerfile: ../server/Dockerfile + command: npm run start:dev + expose: + - "3000" + volumes: + - ../server:/usr/src/app + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /usr/src/app/node_modules + env_file: + - .env + depends_on: + - redis + - database + networks: + - immich_network + + redis: + container_name: immich_redis + image: redis:6.2 + networks: + - immich_network + + database: + container_name: immich_postgres + image: postgres:14 + env_file: + - .env + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + PG_DATA: /var/lib/postgresql/data + volumes: + - pgdata:/var/lib/postgresql/data + ports: + - 5432:5432 + networks: + - immich_network + + nginx: + container_name: proxy_nginx + image: nginx:latest + volumes: + - ./settings/nginx-conf:/etc/nginx/conf.d + ports: + - 2283:80 + - 2284:443 + logging: + driver: none + networks: + - immich_network + depends_on: + - immich_server + + immich_tf_fastapi: + container_name: immich_tf_fastapi + image: tensor_flow_fastapi:1.0.0 + restart: always + command: uvicorn app.main:app --proxy-headers --host 0.0.0.0 --port 8000 --reload + build: + context: ../machine_learning + target: gpu + dockerfile: ../machine_learning/Dockerfile + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] + volumes: + - ../machine_learning/app:/code/app + - ${UPLOAD_LOCATION}:/code/app/upload + ports: + - 2285:8000 + expose: + - "8000" + depends_on: + - database + networks: + - immich_network + + +networks: + immich_network: +volumes: + pgdata: diff --git a/server/docker-compose.yml b/docker/docker-compose.yml similarity index 57% rename from server/docker-compose.yml rename to docker/docker-compose.yml index 39d48c4288..8298eac721 100644 --- a/server/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,18 +1,18 @@ -version: '3.8' - +version: "3.8" services: immich_server: image: immich-server-dev:1.0.0 build: - context: . + context: ../server target: development - dockerfile: ./Dockerfile - command: npm run start:dev - expose: + dockerfile: ../server/Dockerfile + entrypoint: ["/bin/sh", "./entrypoint.sh"] + # command: npm run start:dev + expose: - "3000" volumes: - - .:/usr/src/app + - ../server:/usr/src/app - ${UPLOAD_LOCATION}:/usr/src/app/upload - /usr/src/app/node_modules env_file: @@ -27,7 +27,7 @@ services: container_name: immich_redis image: redis:6.2 networks: - - immich_network + - immich_network database: container_name: immich_postgres @@ -44,7 +44,7 @@ services: ports: - 5432:5432 networks: - - immich_network + - immich_network nginx: container_name: proxy_nginx @@ -61,7 +61,28 @@ services: depends_on: - immich_server + immich_tf_fastapi: + container_name: immich_tf_fastapi + image: tensor_flow_fastapi:1.0.0 + restart: always + command: uvicorn app.main:app --proxy-headers --host 0.0.0.0 --port 8000 --reload + build: + context: ../machine_learning + target: cpu + dockerfile: ../machine_learning/Dockerfile + volumes: + - ../machine_learning/app:/code/app + - ${UPLOAD_LOCATION}:/code/app/upload + ports: + - 2285:8000 + expose: + - "8000" + depends_on: + - database + networks: + - immich_network + networks: immich_network: volumes: - pgdata: \ No newline at end of file + pgdata: diff --git a/docker/settings/nginx-conf/nginx.conf b/docker/settings/nginx-conf/nginx.conf new file mode 100644 index 0000000000..cb6edc3638 --- /dev/null +++ b/docker/settings/nginx-conf/nginx.conf @@ -0,0 +1,35 @@ + +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +# events { +# worker_connections 1000; +# } + +server { + + client_max_body_size 50000M; + + listen 80; + + location / { + proxy_buffering off; + proxy_buffer_size 16k; + proxy_busy_buffers_size 24k; + proxy_buffers 64 4k; + proxy_force_ranges on; + + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + + proxy_pass http://immich_server:3000; + } +} diff --git a/machine_learning/.dockerignore b/machine_learning/.dockerignore new file mode 100644 index 0000000000..19120dc435 --- /dev/null +++ b/machine_learning/.dockerignore @@ -0,0 +1 @@ +devenv/ \ No newline at end of file diff --git a/machine_learning/.gitignore b/machine_learning/.gitignore new file mode 100644 index 0000000000..ac9358e79e --- /dev/null +++ b/machine_learning/.gitignore @@ -0,0 +1,2 @@ +app/__pycache__ +/devenv \ No newline at end of file diff --git a/machine_learning/Dockerfile b/machine_learning/Dockerfile new file mode 100644 index 0000000000..ded34b2fb4 --- /dev/null +++ b/machine_learning/Dockerfile @@ -0,0 +1,22 @@ +## GPU Build +FROM tensorflow/tensorflow:latest-gpu as gpu + +WORKDIR /code + +COPY ./requirements.txt /code/requirements.txt + +RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt + +COPY ./app /code/app + + +## CPU BUILD +FROM python:3.8 as cpu + +WORKDIR /code + +COPY ./requirements.txt /code/requirements.txt + +RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt + +COPY ./app /code/app \ No newline at end of file diff --git a/machine_learning/Pipfile b/machine_learning/Pipfile new file mode 100644 index 0000000000..1d3bdf9867 --- /dev/null +++ b/machine_learning/Pipfile @@ -0,0 +1,17 @@ +[[source]] +url = "https://pypi.python.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +fastapi = "<0.69.0,>=0.68.0" +pydantic = "<2.0.0,>=1.8.0" +uvicorn = "<0.16.0,>=0.15.0" +tensorflow = "~=2.8.0" +numpy = "==1.22.2" +pillow = "==9.0.1" + +[dev-packages] + +[requires] +python_version = "3.8" diff --git a/machine_learning/Pipfile.lock b/machine_learning/Pipfile.lock new file mode 100644 index 0000000000..4000cf17af --- /dev/null +++ b/machine_learning/Pipfile.lock @@ -0,0 +1,629 @@ +{ + "_meta": { + "hash": { + "sha256": "3acf9bcf1b74370cbdac742fee64295572085d1c0d3e4ba38b0fc3ae2c7d846a" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.8" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.python.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "absl-py": { + "hashes": [ + "sha256:84e6dcdc69c947d0c13e5457d056bd43cade4c2393dce00d684aedea77ddc2a3", + "sha256:ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea" + ], + "version": "==1.0.0" + }, + "asgiref": { + "hashes": [ + "sha256:2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0", + "sha256:88d59c13d634dcffe0510be048210188edd79aeccb6a6c9028cdad6f31d730a9" + ], + "version": "==3.5.0" + }, + "astunparse": { + "hashes": [ + "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", + "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8" + ], + "version": "==1.6.3" + }, + "cachetools": { + "hashes": [ + "sha256:486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6", + "sha256:8fecd4203a38af17928be7b90689d8083603073622229ca7077b72d8e5a976e4" + ], + "version": "==5.0.0" + }, + "certifi": { + "hashes": [ + "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", + "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" + ], + "version": "==2021.10.8" + }, + "charset-normalizer": { + "hashes": [ + "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597", + "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" + ], + "markers": "python_version >= '3'", + "version": "==2.0.12" + }, + "click": { + "hashes": [ + "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3", + "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b" + ], + "version": "==8.0.3" + }, + "fastapi": { + "hashes": [ + "sha256:36bcdd3dbea87c586061005e4a40b9bd0145afd766655b4e0ec1d8870b32555c", + "sha256:38526fc46bda73f7ec92033952677323c16061e70a91d15c95f18b11895da494" + ], + "index": "pypi", + "version": "==0.68.2" + }, + "flatbuffers": { + "hashes": [ + "sha256:12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2", + "sha256:3751954f0604580d3219ae49a85fafec9d85eec599c0b96226e1bc0b48e57474" + ], + "version": "==2.0" + }, + "gast": { + "hashes": [ + "sha256:211aac1e58c167b25d3504998f2db694454a24bb1fb1225bce99420166f21d6a", + "sha256:cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea" + ], + "version": "==0.5.3" + }, + "google-auth": { + "hashes": [ + "sha256:218ca03d7744ca0c8b6697b6083334be7df49b7bf76a69d555962fd1a7657b5f", + "sha256:ad160fc1ea8f19e331a16a14a79f3d643d813a69534ba9611d2c80dc10439dad" + ], + "version": "==2.6.0" + }, + "google-auth-oauthlib": { + "hashes": [ + "sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73", + "sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a" + ], + "version": "==0.4.6" + }, + "google-pasta": { + "hashes": [ + "sha256:4612951da876b1a10fe3960d7226f0c7682cf901e16ac06e473b267a5afa8954", + "sha256:b32482794a366b5366a32c92a9a9201b107821889935a02b3e51f6b432ea84ed", + "sha256:c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e" + ], + "version": "==0.2.0" + }, + "grpcio": { + "hashes": [ + "sha256:0110310eff07bb69782f53b7a947490268c4645de559034c43c0a635612e250f", + "sha256:01f4b887ed703fe82ebe613e1d2dadea517891725e17e7a6134dcd00352bd28c", + "sha256:04239e8f71db832c26bbbedb4537b37550a39d77681d748ab4678e58dd6455d6", + "sha256:08cf25f2936629db062aeddbb594bd76b3383ab0ede75ef0461a3b0bc3a2c150", + "sha256:0aa8285f284338eb68962fe1a830291db06f366ea12f213399b520c062b01f65", + "sha256:0e731f660e1e68238f56f4ce11156f02fd06dc58bc7834778d42c0081d4ef5ad", + "sha256:0edbfeb6729aa9da33ce7e28fb7703b3754934115454ae45e8cc1db601756fd3", + "sha256:124e718faf96fe44c98b05f3f475076be8b5198bb4c52a13208acf88a8548ba9", + "sha256:138f57e3445d4a48d9a8a5af1538fdaafaa50a0a3c243f281d8df0edf221dc02", + "sha256:17b75f220ee6923338155b4fcef4c38802b9a57bc57d112c9599a13a03e99f8d", + "sha256:1898f999383baac5fcdbdef8ea5b1ef204f38dc211014eb6977ac6e55944d738", + "sha256:1f16725a320460435a8a5339d8b06c4e00d307ab5ad56746af2e22b5f9c50932", + "sha256:2f96142d0abc91290a63ba203f01649e498302b1b6007c67bad17f823ecde0cf", + "sha256:31e6e489ccd8f08884b9349a39610982df48535881ec34f05a11c6e6b6ebf9d0", + "sha256:45401d00f2ee46bde75618bf33e9df960daa7980e6e0e7328047191918c98504", + "sha256:47b6821238d8978014d23b1132713dac6c2d72cbb561cf257608b1673894f90a", + "sha256:4b4a7152187a49767a47d1413edde2304c96f41f7bc92cc512e230dfd0fba095", + "sha256:50cfb7e1067ee5e00b8ab100a6b7ea322d37ec6672c0455106520b5891c4b5f5", + "sha256:5449ae564349e7a738b8c38583c0aad954b0d5d1dd3cea68953bfc32eaee11e3", + "sha256:577e024c8dd5f27cd98ba850bc4e890f07d4b5942e5bc059a3d88843a2f48f66", + "sha256:57f1aeb65ed17dfb2f6cd717cc109910fe395133af7257a9c729c0b9604eac10", + "sha256:594aaa0469f4fca7773e80d8c27bf1298e7bbce5f6da0f084b07489a708f16ab", + "sha256:6620a5b751b099b3b25553cfc03dfcd873cda06f9bb2ff7e9948ac7090e20f05", + "sha256:6e463b4aa0a6b31cf2e57c4abc1a1b53531a18a570baeed39d8d7b65deb16b7e", + "sha256:735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5", + "sha256:772b943f34374744f70236bbbe0afe413ed80f9ae6303503f85e2b421d4bca92", + "sha256:77ef653f966934b3bfdd00e4f2064b68880eb40cf09b0b99edfa5ee22a44f559", + "sha256:80398e9fb598060fa41050d1220f5a2440fe74ff082c36dda41ac3215ebb5ddd", + "sha256:8b2b9dc4d7897566723b77422e11c009a0ebd397966b165b21b89a62891a9fdf", + "sha256:a4b4543e13acb4806917d883d0f70f21ba93b29672ea81f4aaba14821aaf9bb0", + "sha256:a4e786a8ee8b30b25d70ee52cda6d1dbba2a8ca2f1208d8e20ed8280774f15c8", + "sha256:ade8b79a6b6aea68adb9d4bfeba5d647667d842202c5d8f3ba37ac1dc8e5c09c", + "sha256:af78ac55933811e6a25141336b1f2d5e0659c2f568d44d20539b273792563ca7", + "sha256:af9c3742f6c13575c0d4147a8454da0ff5308c4d9469462ff18402c6416942fe", + "sha256:b8cc936a29c65ab39714e1ba67a694c41218f98b6e2a64efb83f04d9abc4386b", + "sha256:bdf41550815a831384d21a498b20597417fd31bd084deb17d31ceb39ad9acc79", + "sha256:c354017819201053d65212befd1dcb65c2d91b704d8977e696bae79c47cd2f82", + "sha256:c36f418c925a41fccada8f7ae9a3d3e227bfa837ddbfddd3d8b0ac252d12dda9", + "sha256:cbc9b83211d905859dcf234ad39d7193ff0f05bfc3269c364fb0d114ee71de59", + "sha256:e95b5d62ec26d0cd0b90c202d73e7cb927c369c3358e027225239a4e354967dc", + "sha256:f11d05402e0ac3a284443d8a432d3dfc76a6bd3f7b5858cddd75617af2d7bd9b", + "sha256:fa26a8bbb3fe57845acb1329ff700d5c7eaf06414c3e15f4cb8923f3a466ef64", + "sha256:fb7229fa2a201a0c377ff3283174ec966da8f9fd7ffcc9a92f162d2e7fc9025b", + "sha256:fdac966699707b5554b815acc272d81e619dd0999f187cd52a61aef075f870ee" + ], + "version": "==1.43.0" + }, + "h11": { + "hashes": [ + "sha256:70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06", + "sha256:8ddd78563b633ca55346c8cd41ec0af27d3c79931828beffb46ce70a379e7442" + ], + "version": "==0.13.0" + }, + "h5py": { + "hashes": [ + "sha256:1c5acc660c458421e88c4c5fe092ce15923adfac4c732af1ac4fced683a5ea97", + "sha256:35ab552c6f0a93365b3cb5664a5305f3920daa0a43deb5b2c547c52815ec46b9", + "sha256:542781d50e1182b8fb619b1265dfe1c765e18215f818b0ab28b2983c28471325", + "sha256:5996ff5adefd2d68c330a4265b6ef92e51b2fc674834a5990add5033bf109e20", + "sha256:8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29", + "sha256:8ecedf16c613973622a334701f67edcc0249469f9daa0576e994fb20ac0405db", + "sha256:954c5c39a09b5302f69f752c3bbf165d368a65c8d200f7d5655e0fa6368a75e6", + "sha256:98646e659bf8591a2177e12a4461dced2cad72da0ba4247643fd118db88880d2", + "sha256:9f39242960b8d7f86f3056cc2546aa3047ff4835985f6483229af8f029e9c8db", + "sha256:9fd8a14236fdd092a20c0bdf25c3aba3777718d266fabb0fdded4fcf252d1630", + "sha256:a5320837c60870911645e9a935099bdb2be6a786fcf0dac5c860f3b679e2de55", + "sha256:c9a5529343a619fea777b7caa27d493595b28b5af8b005e8d1817559fcccf493", + "sha256:cd9447633b0bafaf82190d9a8d56f3cb2e8d30169483aee67d800816e028190a", + "sha256:d8cacad89aa7daf3626fce106f7f2662ac35b14849df22d252d0d8fab9dc1c0b", + "sha256:dbaa1ed9768bf9ff04af0919acc55746e62b28333644f0251f38768313f31745", + "sha256:e2b49c48df05e19bb20b400b7ff7dc6f1ee36b84dc717c3771c468b33697b466" + ], + "version": "==3.6.0" + }, + "idna": { + "hashes": [ + "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", + "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + ], + "markers": "python_version >= '3'", + "version": "==3.3" + }, + "importlib-metadata": { + "hashes": [ + "sha256:175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c", + "sha256:e0bc84ff355328a4adfc5240c4f211e0ab386f80aa640d1b11f0618a1d282094" + ], + "markers": "python_version < '3.10'", + "version": "==4.11.1" + }, + "keras": { + "hashes": [ + "sha256:744d39dc6577dcd80ff4a4d41549e92b77d6a17e0edd58a431d30656e29bc94e" + ], + "version": "==2.8.0" + }, + "keras-preprocessing": { + "hashes": [ + "sha256:7b82029b130ff61cc99b55f3bd27427df4838576838c5b2f65940e4fcec99a7b", + "sha256:add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3" + ], + "version": "==1.1.2" + }, + "libclang": { + "hashes": [ + "sha256:069407eac2e20ea8f18212d28c6598db31014e7b8a77febc92e762ec133c3226", + "sha256:9c1e623340ccafe3a10a2abbc90f59593ff29f0c854f4ddb65b6220d9d998fb4", + "sha256:b61dedc1b941f43acca1fa15df0a6669c6c3983197c6f3226ae03a766281dd37", + "sha256:b7de34393ed46c6cf7b22178d0d43cec2f2dab2f5f95450520a47fc1cf2df5ac", + "sha256:bcaffec6b1ab9486811670db7af29d4a361830d6cb75da4f5672e884aa973bda", + "sha256:dcc7ecd83d91e23e95315d7aa6355ee8d45b43742ca1fb642583e0b2f935d50e" + ], + "version": "==13.0.0" + }, + "markdown": { + "hashes": [ + "sha256:76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006", + "sha256:9923332318f843411e9932237530df53162e29dc7a4e2b91e35764583c46c9a3" + ], + "version": "==3.3.6" + }, + "numpy": { + "hashes": [ + "sha256:03ae5850619abb34a879d5f2d4bb4dcd025d6d8fb72f5e461dae84edccfe129f", + "sha256:076aee5a3763d41da6bef9565fdf3cb987606f567cd8b104aded2b38b7b47abf", + "sha256:0b536b6840e84c1c6a410f3a5aa727821e6108f3454d81a5cd5900999ef04f89", + "sha256:15efb7b93806d438e3bc590ca8ef2f953b0ce4f86f337ef4559d31ec6cf9d7dd", + "sha256:168259b1b184aa83a514f307352c25c56af111c269ffc109d9704e81f72e764b", + "sha256:2638389562bda1635b564490d76713695ff497242a83d9b684d27bb4a6cc9d7a", + "sha256:3556c5550de40027d3121ebbb170f61bbe19eb639c7ad0c7b482cd9b560cd23b", + "sha256:4a176959b6e7e00b5a0d6f549a479f869829bfd8150282c590deee6d099bbb6e", + "sha256:515a8b6edbb904594685da6e176ac9fbea8f73a5ebae947281de6613e27f1956", + "sha256:55535c7c2f61e2b2fc817c5cbe1af7cb907c7f011e46ae0a52caa4be1f19afe2", + "sha256:59153979d60f5bfe9e4c00e401e24dfe0469ef8da6d68247439d3278f30a180f", + "sha256:60cb8e5933193a3cc2912ee29ca331e9c15b2da034f76159b7abc520b3d1233a", + "sha256:6767ad399e9327bfdbaa40871be4254d1995f4a3ca3806127f10cec778bd9896", + "sha256:76a4f9bce0278becc2da7da3b8ef854bed41a991f4226911a24a9711baad672c", + "sha256:8cf33634b60c9cef346663a222d9841d3bbbc0a2f00221d6bcfd0d993d5543f6", + "sha256:94dd11d9f13ea1be17bac39c1942f527cbf7065f94953cf62dfe805653da2f8f", + "sha256:aafa46b5a39a27aca566198d3312fb3bde95ce9677085efd02c86f7ef6be4ec7", + "sha256:badca914580eb46385e7f7e4e426fea6de0a37b9e06bec252e481ae7ec287082", + "sha256:d76a26c5118c4d96e264acc9e3242d72e1a2b92e739807b3b69d8d47684b6677" + ], + "index": "pypi", + "version": "==1.22.2" + }, + "oauthlib": { + "hashes": [ + "sha256:23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2", + "sha256:6db33440354787f9b7f3a6dbd4febf5d0f93758354060e802f6c06cb493022fe" + ], + "version": "==3.2.0" + }, + "opt-einsum": { + "hashes": [ + "sha256:2455e59e3947d3c275477df7f5205b30635e266fe6dc300e3d9f9646bfcea147", + "sha256:59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549" + ], + "version": "==3.3.0" + }, + "pillow": { + "hashes": [ + "sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97", + "sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049", + "sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c", + "sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae", + "sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28", + "sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030", + "sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56", + "sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976", + "sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e", + "sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e", + "sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f", + "sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b", + "sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a", + "sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e", + "sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa", + "sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7", + "sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00", + "sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838", + "sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360", + "sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b", + "sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a", + "sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd", + "sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4", + "sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70", + "sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204", + "sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc", + "sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b", + "sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669", + "sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7", + "sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e", + "sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c", + "sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092", + "sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c", + "sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5", + "sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac" + ], + "index": "pypi", + "version": "==9.0.1" + }, + "protobuf": { + "hashes": [ + "sha256:072fbc78d705d3edc7ccac58a62c4c8e0cec856987da7df8aca86e647be4e35c", + "sha256:09297b7972da685ce269ec52af761743714996b4381c085205914c41fcab59fb", + "sha256:16f519de1313f1b7139ad70772e7db515b1420d208cb16c6d7858ea989fc64a9", + "sha256:1c91ef4110fdd2c590effb5dca8fdbdcb3bf563eece99287019c4204f53d81a4", + "sha256:3112b58aac3bac9c8be2b60a9daf6b558ca3f7681c130dcdd788ade7c9ffbdca", + "sha256:36cecbabbda242915529b8ff364f2263cd4de7c46bbe361418b5ed859677ba58", + "sha256:4276cdec4447bd5015453e41bdc0c0c1234eda08420b7c9a18b8d647add51e4b", + "sha256:435bb78b37fc386f9275a7035fe4fb1364484e38980d0dd91bc834a02c5ec909", + "sha256:48ed3877fa43e22bcacc852ca76d4775741f9709dd9575881a373bd3e85e54b2", + "sha256:54a1473077f3b616779ce31f477351a45b4fef8c9fd7892d6d87e287a38df368", + "sha256:69da7d39e39942bd52848438462674c463e23963a1fdaa84d88df7fbd7e749b2", + "sha256:6cbc312be5e71869d9d5ea25147cdf652a6781cf4d906497ca7690b7b9b5df13", + "sha256:7bb03bc2873a2842e5ebb4801f5c7ff1bfbdf426f85d0172f7644fcda0671ae0", + "sha256:7ca7da9c339ca8890d66958f5462beabd611eca6c958691a8fe6eccbd1eb0c6e", + "sha256:835a9c949dc193953c319603b2961c5c8f4327957fe23d914ca80d982665e8ee", + "sha256:84123274d982b9e248a143dadd1b9815049f4477dc783bf84efe6250eb4b836a", + "sha256:8961c3a78ebfcd000920c9060a262f082f29838682b1f7201889300c1fbe0616", + "sha256:96bd766831596d6014ca88d86dc8fe0fb2e428c0b02432fd9db3943202bf8c5e", + "sha256:9df0c10adf3e83015ced42a9a7bd64e13d06c4cf45c340d2c63020ea04499d0a", + "sha256:b38057450a0c566cbd04890a40edf916db890f2818e8682221611d78dc32ae26", + "sha256:bd95d1dfb9c4f4563e6093a9aa19d9c186bf98fa54da5252531cc0d3a07977e7", + "sha256:c1068287025f8ea025103e37d62ffd63fec8e9e636246b89c341aeda8a67c934", + "sha256:c438268eebb8cf039552897d78f402d734a404f1360592fef55297285f7f953f", + "sha256:cdc076c03381f5c1d9bb1abdcc5503d9ca8b53cf0a9d31a9f6754ec9e6c8af0f", + "sha256:f358aa33e03b7a84e0d91270a4d4d8f5df6921abe99a377828839e8ed0c04e07", + "sha256:f51d5a9f137f7a2cec2d326a74b6e3fc79d635d69ffe1b036d39fc7d75430d37" + ], + "version": "==3.19.4" + }, + "pyasn1": { + "hashes": [ + "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359", + "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576", + "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf", + "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7", + "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d", + "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00", + "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8", + "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86", + "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12", + "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776", + "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba", + "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2", + "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3" + ], + "version": "==0.4.8" + }, + "pyasn1-modules": { + "hashes": [ + "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8", + "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199", + "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811", + "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed", + "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4", + "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e", + "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74", + "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb", + "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45", + "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd", + "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0", + "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d", + "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405" + ], + "version": "==0.2.8" + }, + "pydantic": { + "hashes": [ + "sha256:085ca1de245782e9b46cefcf99deecc67d418737a1fd3f6a4f511344b613a5b3", + "sha256:086254884d10d3ba16da0588604ffdc5aab3f7f09557b998373e885c690dd398", + "sha256:0b6037175234850ffd094ca77bf60fb54b08b5b22bc85865331dd3bda7a02fa1", + "sha256:0fe476769acaa7fcddd17cadd172b156b53546ec3614a4d880e5d29ea5fbce65", + "sha256:1d5278bd9f0eee04a44c712982343103bba63507480bfd2fc2790fa70cd64cf4", + "sha256:2cc6a4cb8a118ffec2ca5fcb47afbacb4f16d0ab8b7350ddea5e8ef7bcc53a16", + "sha256:2ee7e3209db1e468341ef41fe263eb655f67f5c5a76c924044314e139a1103a2", + "sha256:3011b975c973819883842c5ab925a4e4298dffccf7782c55ec3580ed17dc464c", + "sha256:3c3b035103bd4e2e4a28da9da7ef2fa47b00ee4a9cf4f1a735214c1bcd05e0f6", + "sha256:4c68c3bc88dbda2a6805e9a142ce84782d3930f8fdd9655430d8576315ad97ce", + "sha256:574936363cd4b9eed8acdd6b80d0143162f2eb654d96cb3a8ee91d3e64bf4cf9", + "sha256:5a79330f8571faf71bf93667d3ee054609816f10a259a109a0738dac983b23c3", + "sha256:5e48ef4a8b8c066c4a31409d91d7ca372a774d0212da2787c0d32f8045b1e034", + "sha256:6c5b77947b9e85a54848343928b597b4f74fc364b70926b3c4441ff52620640c", + "sha256:742645059757a56ecd886faf4ed2441b9c0cd406079c2b4bee51bcc3fbcd510a", + "sha256:7bdfdadb5994b44bd5579cfa7c9b0e1b0e540c952d56f627eb227851cda9db77", + "sha256:815ddebb2792efd4bba5488bc8fde09c29e8ca3227d27cf1c6990fc830fd292b", + "sha256:8b5ac0f1c83d31b324e57a273da59197c83d1bb18171e512908fe5dc7278a1d6", + "sha256:96f240bce182ca7fe045c76bcebfa0b0534a1bf402ed05914a6f1dadff91877f", + "sha256:a733965f1a2b4090a5238d40d983dcd78f3ecea221c7af1497b845a9709c1721", + "sha256:ab624700dc145aa809e6f3ec93fb8e7d0f99d9023b713f6a953637429b437d37", + "sha256:b2571db88c636d862b35090ccf92bf24004393f85c8870a37f42d9f23d13e032", + "sha256:bbbc94d0c94dd80b3340fc4f04fd4d701f4b038ebad72c39693c794fd3bc2d9d", + "sha256:c0727bda6e38144d464daec31dff936a82917f431d9c39c39c60a26567eae3ed", + "sha256:c556695b699f648c58373b542534308922c46a1cda06ea47bc9ca45ef5b39ae6", + "sha256:c86229333cabaaa8c51cf971496f10318c4734cf7b641f08af0a6fbf17ca3054", + "sha256:c8d7da6f1c1049eefb718d43d99ad73100c958a5367d30b9321b092771e96c25", + "sha256:c8e9dcf1ac499679aceedac7e7ca6d8641f0193c591a2d090282aaf8e9445a46", + "sha256:cb23bcc093697cdea2708baae4f9ba0e972960a835af22560f6ae4e7e47d33f5", + "sha256:d1e4c28f30e767fd07f2ddc6f74f41f034d1dd6bc526cd59e63a82fe8bb9ef4c", + "sha256:d9c9bdb3af48e242838f9f6e6127de9be7063aad17b32215ccc36a09c5cf1070", + "sha256:dee5ef83a76ac31ab0c78c10bd7d5437bfdb6358c95b91f1ba7ff7b76f9996a1", + "sha256:e0896200b6a40197405af18828da49f067c2fa1f821491bc8f5bde241ef3f7d7", + "sha256:f5a64b64ddf4c99fe201ac2724daada8595ada0d102ab96d019c1555c2d6441d", + "sha256:f947352c3434e8b937e3aa8f96f47bdfe6d92779e44bb3f41e4c213ba6a32145" + ], + "index": "pypi", + "version": "==1.9.0" + }, + "requests": { + "hashes": [ + "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61", + "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" + ], + "version": "==2.27.1" + }, + "requests-oauthlib": { + "hashes": [ + "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5", + "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a" + ], + "version": "==1.3.1" + }, + "rsa": { + "hashes": [ + "sha256:5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17", + "sha256:95c5d300c4e879ee69708c428ba566c59478fd653cc3a22243eeb8ed846950bb" + ], + "markers": "python_version >= '3.6'", + "version": "==4.8" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "version": "==1.16.0" + }, + "starlette": { + "hashes": [ + "sha256:3c8e48e52736b3161e34c9f0e8153b4f32ec5d8995a3ee1d59410d92f75162ed", + "sha256:7d49f4a27f8742262ef1470608c59ddbc66baf37c148e938c7038e6bc7a998aa" + ], + "version": "==0.14.2" + }, + "tensorboard": { + "hashes": [ + "sha256:65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def" + ], + "version": "==2.8.0" + }, + "tensorboard-data-server": { + "hashes": [ + "sha256:809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7", + "sha256:d8237580755e58eff68d1f3abefb5b1e39ae5c8b127cc40920f9c4fb33f4b98a", + "sha256:fa8cef9be4fcae2f2363c88176638baf2da19c5ec90addb49b1cde05c95c88ee" + ], + "version": "==0.6.1" + }, + "tensorboard-plugin-wit": { + "hashes": [ + "sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe" + ], + "version": "==1.8.1" + }, + "tensorflow": { + "hashes": [ + "sha256:05fb161c6b2a6c4b8317a703a0a6d7f7aa6b5e3c6ea31bbc4f44ef96b89c3344", + "sha256:291fa84f1022914580810ad76732fb254e44a8a609128e1c58873a12b2f81559", + "sha256:2a520538e77a52fb428acb05e300c960844fd1d2c3918ca8ca14127edba6f83b", + "sha256:52f225fecc688281b3ae2cba2b52d3ed6215ed4a3ffb686b9cfd09885ca65563", + "sha256:78c3ba2e0c952aa9eb388200f1923e40287f9357492a464188ca3043e35edc52", + "sha256:8489b4f1771e146f752b0eaeb57acf183bd07357e4550464e7dff18b3b656b5d", + "sha256:9d91a989e5455ae713c03fd7236071ab3f232ad8ff2831f2658072933546091f", + "sha256:b360c13b3e58b9a5c0780cbdb6b549eea73f620275fa203f8508fe418ae02735", + "sha256:b7170844ae6b048d82a9d7a61b2fa627f2e16cb829267bf0ce4b3a0de0a61054", + "sha256:da38d4043185267e7316ae5dc98d18e89c8af4170859f64798e7a3607fd606e3", + "sha256:dd0f9f113ebc21b73fcd349db1629e187b8686395b8146d100eb1706a943bbc0", + "sha256:fa4a723368d5f748b6f4ec305cf7c26b98e4a6a8c2ce1425f8ae10383a37bcfc" + ], + "index": "pypi", + "version": "==2.8.0" + }, + "tensorflow-io-gcs-filesystem": { + "hashes": [ + "sha256:2862e0869453ce1f872a28d1362768ee078ec227ea587dd69164081dea6d7177", + "sha256:2f67d19a2f2579dc55f1590faf48c2e882cabb860992b5a9c7edb0ed8b3eb187", + "sha256:6e65009770a05a3b55c5f782348f785e5034d277a727832811ad737bd857c8c9", + "sha256:71c00638c9b6048480095f2738dfefd8f4b2e7b534190c91d699aee769bfa86e", + "sha256:825f396388748038ad38c35b091311982081f93a5db8ca9763fc874c3f555e6c", + "sha256:9c00f9a9880477b1dff0c71ee6734421ce99ac484ca2151793ebf2681fc0cb4c", + "sha256:aa90b9a34ea8da4dbd534f77746d67375714db869524da889193c3042352679a", + "sha256:b6ca3a9f751aa9c2f9851520e666d905ad14667281bbafeabe611b7b8f3e1bc5", + "sha256:cbc71b3925508bf796644a0083a6f9284f71404654f53092bece701383a69520", + "sha256:cc093f160f79526d31f6070a3ddc000868d737a36ccf40984128661563383601", + "sha256:cde835e68b2b43ddade07c999e7c3251bcd62b1ff165c34fbe9fc6e0f12c3ac9", + "sha256:d1eb5e9be62040c5a249ae8adaae7e61f65b59541139e4d6767157f25a224bf5" + ], + "version": "==0.24.0" + }, + "termcolor": { + "hashes": [ + "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b" + ], + "version": "==1.1.0" + }, + "tf-estimator-nightly": { + "hashes": [ + "sha256:0065a04e396b2890bd19761fc1de7559ceafeba12839f8db2c7e7473afaaf612" + ], + "version": "==2.8.0.dev2021122109" + }, + "typing-extensions": { + "hashes": [ + "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42", + "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2" + ], + "version": "==4.1.1" + }, + "urllib3": { + "hashes": [ + "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed", + "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c" + ], + "version": "==1.26.8" + }, + "uvicorn": { + "hashes": [ + "sha256:17f898c64c71a2640514d4089da2689e5db1ce5d4086c2d53699bf99513421c1", + "sha256:d9a3c0dd1ca86728d3e235182683b4cf94cd53a867c288eaeca80ee781b2caff" + ], + "index": "pypi", + "version": "==0.15.0" + }, + "werkzeug": { + "hashes": [ + "sha256:1421ebfc7648a39a5c58c601b154165d05cf47a3cd0ccb70857cbdacf6c8f2b8", + "sha256:b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c" + ], + "version": "==2.0.3" + }, + "wheel": { + "hashes": [ + "sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a", + "sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4" + ], + "version": "==0.37.1" + }, + "wrapt": { + "hashes": [ + "sha256:086218a72ec7d986a3eddb7707c8c4526d677c7b35e355875a0fe2918b059179", + "sha256:0877fe981fd76b183711d767500e6b3111378ed2043c145e21816ee589d91096", + "sha256:0a017a667d1f7411816e4bf214646d0ad5b1da2c1ea13dec6c162736ff25a374", + "sha256:0cb23d36ed03bf46b894cfec777eec754146d68429c30431c99ef28482b5c1df", + "sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185", + "sha256:220a869982ea9023e163ba915077816ca439489de6d2c09089b219f4e11b6785", + "sha256:25b1b1d5df495d82be1c9d2fad408f7ce5ca8a38085e2da41bb63c914baadff7", + "sha256:2dded5496e8f1592ec27079b28b6ad2a1ef0b9296d270f77b8e4a3a796cf6909", + "sha256:2ebdde19cd3c8cdf8df3fc165bc7827334bc4e353465048b36f7deeae8ee0918", + "sha256:43e69ffe47e3609a6aec0fe723001c60c65305784d964f5007d5b4fb1bc6bf33", + "sha256:46f7f3af321a573fc0c3586612db4decb7eb37172af1bc6173d81f5b66c2e068", + "sha256:47f0a183743e7f71f29e4e21574ad3fa95676136f45b91afcf83f6a050914829", + "sha256:498e6217523111d07cd67e87a791f5e9ee769f9241fcf8a379696e25806965af", + "sha256:4b9c458732450ec42578b5642ac53e312092acf8c0bfce140ada5ca1ac556f79", + "sha256:51799ca950cfee9396a87f4a1240622ac38973b6df5ef7a41e7f0b98797099ce", + "sha256:5601f44a0f38fed36cc07db004f0eedeaadbdcec90e4e90509480e7e6060a5bc", + "sha256:5f223101f21cfd41deec8ce3889dc59f88a59b409db028c469c9b20cfeefbe36", + "sha256:610f5f83dd1e0ad40254c306f4764fcdc846641f120c3cf424ff57a19d5f7ade", + "sha256:6a03d9917aee887690aa3f1747ce634e610f6db6f6b332b35c2dd89412912bca", + "sha256:705e2af1f7be4707e49ced9153f8d72131090e52be9278b5dbb1498c749a1e32", + "sha256:766b32c762e07e26f50d8a3468e3b4228b3736c805018e4b0ec8cc01ecd88125", + "sha256:77416e6b17926d953b5c666a3cb718d5945df63ecf922af0ee576206d7033b5e", + "sha256:778fd096ee96890c10ce96187c76b3e99b2da44e08c9e24d5652f356873f6709", + "sha256:78dea98c81915bbf510eb6a3c9c24915e4660302937b9ae05a0947164248020f", + "sha256:7dd215e4e8514004c8d810a73e342c536547038fb130205ec4bba9f5de35d45b", + "sha256:7dde79d007cd6dfa65afe404766057c2409316135cb892be4b1c768e3f3a11cb", + "sha256:81bd7c90d28a4b2e1df135bfbd7c23aee3050078ca6441bead44c42483f9ebfb", + "sha256:85148f4225287b6a0665eef08a178c15097366d46b210574a658c1ff5b377489", + "sha256:865c0b50003616f05858b22174c40ffc27a38e67359fa1495605f96125f76640", + "sha256:87883690cae293541e08ba2da22cacaae0a092e0ed56bbba8d018cc486fbafbb", + "sha256:8aab36778fa9bba1a8f06a4919556f9f8c7b33102bd71b3ab307bb3fecb21851", + "sha256:8c73c1a2ec7c98d7eaded149f6d225a692caa1bd7b2401a14125446e9e90410d", + "sha256:936503cb0a6ed28dbfa87e8fcd0a56458822144e9d11a49ccee6d9a8adb2ac44", + "sha256:944b180f61f5e36c0634d3202ba8509b986b5fbaf57db3e94df11abee244ba13", + "sha256:96b81ae75591a795d8c90edc0bfaab44d3d41ffc1aae4d994c5aa21d9b8e19a2", + "sha256:981da26722bebb9247a0601e2922cedf8bb7a600e89c852d063313102de6f2cb", + "sha256:ae9de71eb60940e58207f8e71fe113c639da42adb02fb2bcbcaccc1ccecd092b", + "sha256:b73d4b78807bd299b38e4598b8e7bd34ed55d480160d2e7fdaabd9931afa65f9", + "sha256:d4a5f6146cfa5c7ba0134249665acd322a70d1ea61732723c7d3e8cc0fa80755", + "sha256:dd91006848eb55af2159375134d724032a2d1d13bcc6f81cd8d3ed9f2b8e846c", + "sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a", + "sha256:e6906d6f48437dfd80464f7d7af1740eadc572b9f7a4301e7dd3d65db285cacf", + "sha256:e92d0d4fa68ea0c02d39f1e2f9cb5bc4b4a71e8c442207433d8db47ee79d7aa3", + "sha256:e94b7d9deaa4cc7bac9198a58a7240aaf87fe56c6277ee25fa5b3aa1edebd229", + "sha256:ea3e746e29d4000cd98d572f3ee2a6050a4f784bb536f4ac1f035987fc1ed83e", + "sha256:ec7e20258ecc5174029a0f391e1b948bf2906cd64c198a9b8b281b811cbc04de", + "sha256:ec9465dd69d5657b5d2fa6133b3e1e989ae27d29471a672416fd729b429eb554", + "sha256:f122ccd12fdc69628786d0c947bdd9cb2733be8f800d88b5a37c57f1f1d73c10", + "sha256:f99c0489258086308aad4ae57da9e8ecf9e1f3f30fa35d5e170b4d4896554d80", + "sha256:f9c51d9af9abb899bd34ace878fbec8bf357b3194a10c4e8e0a25512826ef056", + "sha256:fd76c47f20984b43d93de9a82011bb6e5f8325df6c9ed4d8310029a55fa361ea" + ], + "version": "==1.13.3" + }, + "zipp": { + "hashes": [ + "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d", + "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375" + ], + "version": "==3.7.0" + } + }, + "develop": {} +} diff --git a/machine_learning/app/imagenet_class_index.json b/machine_learning/app/imagenet_class_index.json new file mode 100644 index 0000000000..fc349e8c3f --- /dev/null +++ b/machine_learning/app/imagenet_class_index.json @@ -0,0 +1,1002 @@ +{ + "0": ["n01440764", "tench"], + "1": ["n01443537", "goldfish"], + "2": ["n01484850", "great_white_shark"], + "3": ["n01491361", "tiger_shark"], + "4": ["n01494475", "hammerhead"], + "5": ["n01496331", "electric_ray"], + "6": ["n01498041", "stingray"], + "7": ["n01514668", "cock"], + "8": ["n01514859", "hen"], + "9": ["n01518878", "ostrich"], + "10": ["n01530575", "brambling"], + "11": ["n01531178", "goldfinch"], + "12": ["n01532829", "house_finch"], + "13": ["n01534433", "junco"], + "14": ["n01537544", "indigo_bunting"], + "15": ["n01558993", "robin"], + "16": ["n01560419", "bulbul"], + "17": ["n01580077", "jay"], + "18": ["n01582220", "magpie"], + "19": ["n01592084", "chickadee"], + "20": ["n01601694", "water_ouzel"], + "21": ["n01608432", "kite"], + "22": ["n01614925", "bald_eagle"], + "23": ["n01616318", "vulture"], + "24": ["n01622779", "great_grey_owl"], + "25": ["n01629819", "European_fire_salamander"], + "26": ["n01630670", "common_newt"], + "27": ["n01631663", "eft"], + "28": ["n01632458", "spotted_salamander"], + "29": ["n01632777", "axolotl"], + "30": ["n01641577", "bullfrog"], + "31": ["n01644373", "tree_frog"], + "32": ["n01644900", "tailed_frog"], + "33": ["n01664065", "loggerhead"], + "34": ["n01665541", "leatherback_turtle"], + "35": ["n01667114", "mud_turtle"], + "36": ["n01667778", "terrapin"], + "37": ["n01669191", "box_turtle"], + "38": ["n01675722", "banded_gecko"], + "39": ["n01677366", "common_iguana"], + "40": ["n01682714", "American_chameleon"], + "41": ["n01685808", "whiptail"], + "42": ["n01687978", "agama"], + "43": ["n01688243", "frilled_lizard"], + "44": ["n01689811", "alligator_lizard"], + "45": ["n01692333", "Gila_monster"], + "46": ["n01693334", "green_lizard"], + "47": ["n01694178", "African_chameleon"], + "48": ["n01695060", "Komodo_dragon"], + "49": ["n01697457", "African_crocodile"], + "50": ["n01698640", "American_alligator"], + "51": ["n01704323", "triceratops"], + "52": ["n01728572", "thunder_snake"], + "53": ["n01728920", "ringneck_snake"], + "54": ["n01729322", "hognose_snake"], + "55": ["n01729977", "green_snake"], + "56": ["n01734418", "king_snake"], + "57": ["n01735189", "garter_snake"], + "58": ["n01737021", "water_snake"], + "59": ["n01739381", "vine_snake"], + "60": ["n01740131", "night_snake"], + "61": ["n01742172", "boa_constrictor"], + "62": ["n01744401", "rock_python"], + "63": ["n01748264", "Indian_cobra"], + "64": ["n01749939", "green_mamba"], + "65": ["n01751748", "sea_snake"], + "66": ["n01753488", "horned_viper"], + "67": ["n01755581", "diamondback"], + "68": ["n01756291", "sidewinder"], + "69": ["n01768244", "trilobite"], + "70": ["n01770081", "harvestman"], + "71": ["n01770393", "scorpion"], + "72": ["n01773157", "black_and_gold_garden_spider"], + "73": ["n01773549", "barn_spider"], + "74": ["n01773797", "garden_spider"], + "75": ["n01774384", "black_widow"], + "76": ["n01774750", "tarantula"], + "77": ["n01775062", "wolf_spider"], + "78": ["n01776313", "tick"], + "79": ["n01784675", "centipede"], + "80": ["n01795545", "black_grouse"], + "81": ["n01796340", "ptarmigan"], + "82": ["n01797886", "ruffed_grouse"], + "83": ["n01798484", "prairie_chicken"], + "84": ["n01806143", "peacock"], + "85": ["n01806567", "quail"], + "86": ["n01807496", "partridge"], + "87": ["n01817953", "African_grey"], + "88": ["n01818515", "macaw"], + "89": ["n01819313", "sulphur-crested_cockatoo"], + "90": ["n01820546", "lorikeet"], + "91": ["n01824575", "coucal"], + "92": ["n01828970", "bee_eater"], + "93": ["n01829413", "hornbill"], + "94": ["n01833805", "hummingbird"], + "95": ["n01843065", "jacamar"], + "96": ["n01843383", "toucan"], + "97": ["n01847000", "drake"], + "98": ["n01855032", "red-breasted_merganser"], + "99": ["n01855672", "goose"], + "100": ["n01860187", "black_swan"], + "101": ["n01871265", "tusker"], + "102": ["n01872401", "echidna"], + "103": ["n01873310", "platypus"], + "104": ["n01877812", "wallaby"], + "105": ["n01882714", "koala"], + "106": ["n01883070", "wombat"], + "107": ["n01910747", "jellyfish"], + "108": ["n01914609", "sea_anemone"], + "109": ["n01917289", "brain_coral"], + "110": ["n01924916", "flatworm"], + "111": ["n01930112", "nematode"], + "112": ["n01943899", "conch"], + "113": ["n01944390", "snail"], + "114": ["n01945685", "slug"], + "115": ["n01950731", "sea_slug"], + "116": ["n01955084", "chiton"], + "117": ["n01968897", "chambered_nautilus"], + "118": ["n01978287", "Dungeness_crab"], + "119": ["n01978455", "rock_crab"], + "120": ["n01980166", "fiddler_crab"], + "121": ["n01981276", "king_crab"], + "122": ["n01983481", "American_lobster"], + "123": ["n01984695", "spiny_lobster"], + "124": ["n01985128", "crayfish"], + "125": ["n01986214", "hermit_crab"], + "126": ["n01990800", "isopod"], + "127": ["n02002556", "white_stork"], + "128": ["n02002724", "black_stork"], + "129": ["n02006656", "spoonbill"], + "130": ["n02007558", "flamingo"], + "131": ["n02009229", "little_blue_heron"], + "132": ["n02009912", "American_egret"], + "133": ["n02011460", "bittern"], + "134": ["n02012849", "crane"], + "135": ["n02013706", "limpkin"], + "136": ["n02017213", "European_gallinule"], + "137": ["n02018207", "American_coot"], + "138": ["n02018795", "bustard"], + "139": ["n02025239", "ruddy_turnstone"], + "140": ["n02027492", "red-backed_sandpiper"], + "141": ["n02028035", "redshank"], + "142": ["n02033041", "dowitcher"], + "143": ["n02037110", "oystercatcher"], + "144": ["n02051845", "pelican"], + "145": ["n02056570", "king_penguin"], + "146": ["n02058221", "albatross"], + "147": ["n02066245", "grey_whale"], + "148": ["n02071294", "killer_whale"], + "149": ["n02074367", "dugong"], + "150": ["n02077923", "sea_lion"], + "151": ["n02085620", "Chihuahua"], + "152": ["n02085782", "Japanese_spaniel"], + "153": ["n02085936", "Maltese_dog"], + "154": ["n02086079", "Pekinese"], + "155": ["n02086240", "Shih-Tzu"], + "156": ["n02086646", "Blenheim_spaniel"], + "157": ["n02086910", "papillon"], + "158": ["n02087046", "toy_terrier"], + "159": ["n02087394", "Rhodesian_ridgeback"], + "160": ["n02088094", "Afghan_hound"], + "161": ["n02088238", "basset"], + "162": ["n02088364", "beagle"], + "163": ["n02088466", "bloodhound"], + "164": ["n02088632", "bluetick"], + "165": ["n02089078", "black-and-tan_coonhound"], + "166": ["n02089867", "Walker_hound"], + "167": ["n02089973", "English_foxhound"], + "168": ["n02090379", "redbone"], + "169": ["n02090622", "borzoi"], + "170": ["n02090721", "Irish_wolfhound"], + "171": ["n02091032", "Italian_greyhound"], + "172": ["n02091134", "whippet"], + "173": ["n02091244", "Ibizan_hound"], + "174": ["n02091467", "Norwegian_elkhound"], + "175": ["n02091635", "otterhound"], + "176": ["n02091831", "Saluki"], + "177": ["n02092002", "Scottish_deerhound"], + "178": ["n02092339", "Weimaraner"], + "179": ["n02093256", "Staffordshire_bullterrier"], + "180": ["n02093428", "American_Staffordshire_terrier"], + "181": ["n02093647", "Bedlington_terrier"], + "182": ["n02093754", "Border_terrier"], + "183": ["n02093859", "Kerry_blue_terrier"], + "184": ["n02093991", "Irish_terrier"], + "185": ["n02094114", "Norfolk_terrier"], + "186": ["n02094258", "Norwich_terrier"], + "187": ["n02094433", "Yorkshire_terrier"], + "188": ["n02095314", "wire-haired_fox_terrier"], + "189": ["n02095570", "Lakeland_terrier"], + "190": ["n02095889", "Sealyham_terrier"], + "191": ["n02096051", "Airedale"], + "192": ["n02096177", "cairn"], + "193": ["n02096294", "Australian_terrier"], + "194": ["n02096437", "Dandie_Dinmont"], + "195": ["n02096585", "Boston_bull"], + "196": ["n02097047", "miniature_schnauzer"], + "197": ["n02097130", "giant_schnauzer"], + "198": ["n02097209", "standard_schnauzer"], + "199": ["n02097298", "Scotch_terrier"], + "200": ["n02097474", "Tibetan_terrier"], + "201": ["n02097658", "silky_terrier"], + "202": ["n02098105", "soft-coated_wheaten_terrier"], + "203": ["n02098286", "West_Highland_white_terrier"], + "204": ["n02098413", "Lhasa"], + "205": ["n02099267", "flat-coated_retriever"], + "206": ["n02099429", "curly-coated_retriever"], + "207": ["n02099601", "golden_retriever"], + "208": ["n02099712", "Labrador_retriever"], + "209": ["n02099849", "Chesapeake_Bay_retriever"], + "210": ["n02100236", "German_short-haired_pointer"], + "211": ["n02100583", "vizsla"], + "212": ["n02100735", "English_setter"], + "213": ["n02100877", "Irish_setter"], + "214": ["n02101006", "Gordon_setter"], + "215": ["n02101388", "Brittany_spaniel"], + "216": ["n02101556", "clumber"], + "217": ["n02102040", "English_springer"], + "218": ["n02102177", "Welsh_springer_spaniel"], + "219": ["n02102318", "cocker_spaniel"], + "220": ["n02102480", "Sussex_spaniel"], + "221": ["n02102973", "Irish_water_spaniel"], + "222": ["n02104029", "kuvasz"], + "223": ["n02104365", "schipperke"], + "224": ["n02105056", "groenendael"], + "225": ["n02105162", "malinois"], + "226": ["n02105251", "briard"], + "227": ["n02105412", "kelpie"], + "228": ["n02105505", "komondor"], + "229": ["n02105641", "Old_English_sheepdog"], + "230": ["n02105855", "Shetland_sheepdog"], + "231": ["n02106030", "collie"], + "232": ["n02106166", "Border_collie"], + "233": ["n02106382", "Bouvier_des_Flandres"], + "234": ["n02106550", "Rottweiler"], + "235": ["n02106662", "German_shepherd"], + "236": ["n02107142", "Doberman"], + "237": ["n02107312", "miniature_pinscher"], + "238": ["n02107574", "Greater_Swiss_Mountain_dog"], + "239": ["n02107683", "Bernese_mountain_dog"], + "240": ["n02107908", "Appenzeller"], + "241": ["n02108000", "EntleBucher"], + "242": ["n02108089", "boxer"], + "243": ["n02108422", "bull_mastiff"], + "244": ["n02108551", "Tibetan_mastiff"], + "245": ["n02108915", "French_bulldog"], + "246": ["n02109047", "Great_Dane"], + "247": ["n02109525", "Saint_Bernard"], + "248": ["n02109961", "Eskimo_dog"], + "249": ["n02110063", "malamute"], + "250": ["n02110185", "Siberian_husky"], + "251": ["n02110341", "dalmatian"], + "252": ["n02110627", "affenpinscher"], + "253": ["n02110806", "basenji"], + "254": ["n02110958", "pug"], + "255": ["n02111129", "Leonberg"], + "256": ["n02111277", "Newfoundland"], + "257": ["n02111500", "Great_Pyrenees"], + "258": ["n02111889", "Samoyed"], + "259": ["n02112018", "Pomeranian"], + "260": ["n02112137", "chow"], + "261": ["n02112350", "keeshond"], + "262": ["n02112706", "Brabancon_griffon"], + "263": ["n02113023", "Pembroke"], + "264": ["n02113186", "Cardigan"], + "265": ["n02113624", "toy_poodle"], + "266": ["n02113712", "miniature_poodle"], + "267": ["n02113799", "standard_poodle"], + "268": ["n02113978", "Mexican_hairless"], + "269": ["n02114367", "timber_wolf"], + "270": ["n02114548", "white_wolf"], + "271": ["n02114712", "red_wolf"], + "272": ["n02114855", "coyote"], + "273": ["n02115641", "dingo"], + "274": ["n02115913", "dhole"], + "275": ["n02116738", "African_hunting_dog"], + "276": ["n02117135", "hyena"], + "277": ["n02119022", "red_fox"], + "278": ["n02119789", "kit_fox"], + "279": ["n02120079", "Arctic_fox"], + "280": ["n02120505", "grey_fox"], + "281": ["n02123045", "tabby"], + "282": ["n02123159", "tiger_cat"], + "283": ["n02123394", "Persian_cat"], + "284": ["n02123597", "Siamese_cat"], + "285": ["n02124075", "Egyptian_cat"], + "286": ["n02125311", "cougar"], + "287": ["n02127052", "lynx"], + "288": ["n02128385", "leopard"], + "289": ["n02128757", "snow_leopard"], + "290": ["n02128925", "jaguar"], + "291": ["n02129165", "lion"], + "292": ["n02129604", "tiger"], + "293": ["n02130308", "cheetah"], + "294": ["n02132136", "brown_bear"], + "295": ["n02133161", "American_black_bear"], + "296": ["n02134084", "ice_bear"], + "297": ["n02134418", "sloth_bear"], + "298": ["n02137549", "mongoose"], + "299": ["n02138441", "meerkat"], + "300": ["n02165105", "tiger_beetle"], + "301": ["n02165456", "ladybug"], + "302": ["n02167151", "ground_beetle"], + "303": ["n02168699", "long-horned_beetle"], + "304": ["n02169497", "leaf_beetle"], + "305": ["n02172182", "dung_beetle"], + "306": ["n02174001", "rhinoceros_beetle"], + "307": ["n02177972", "weevil"], + "308": ["n02190166", "fly"], + "309": ["n02206856", "bee"], + "310": ["n02219486", "ant"], + "311": ["n02226429", "grasshopper"], + "312": ["n02229544", "cricket"], + "313": ["n02231487", "walking_stick"], + "314": ["n02233338", "cockroach"], + "315": ["n02236044", "mantis"], + "316": ["n02256656", "cicada"], + "317": ["n02259212", "leafhopper"], + "318": ["n02264363", "lacewing"], + "319": ["n02268443", "dragonfly"], + "320": ["n02268853", "damselfly"], + "321": ["n02276258", "admiral"], + "322": ["n02277742", "ringlet"], + "323": ["n02279972", "monarch"], + "324": ["n02280649", "cabbage_butterfly"], + "325": ["n02281406", "sulphur_butterfly"], + "326": ["n02281787", "lycaenid"], + "327": ["n02317335", "starfish"], + "328": ["n02319095", "sea_urchin"], + "329": ["n02321529", "sea_cucumber"], + "330": ["n02325366", "wood_rabbit"], + "331": ["n02326432", "hare"], + "332": ["n02328150", "Angora"], + "333": ["n02342885", "hamster"], + "334": ["n02346627", "porcupine"], + "335": ["n02356798", "fox_squirrel"], + "336": ["n02361337", "marmot"], + "337": ["n02363005", "beaver"], + "338": ["n02364673", "guinea_pig"], + "339": ["n02389026", "sorrel"], + "340": ["n02391049", "zebra"], + "341": ["n02395406", "hog"], + "342": ["n02396427", "wild_boar"], + "343": ["n02397096", "warthog"], + "344": ["n02398521", "hippopotamus"], + "345": ["n02403003", "ox"], + "346": ["n02408429", "water_buffalo"], + "347": ["n02410509", "bison"], + "348": ["n02412080", "ram"], + "349": ["n02415577", "bighorn"], + "350": ["n02417914", "ibex"], + "351": ["n02422106", "hartebeest"], + "352": ["n02422699", "impala"], + "353": ["n02423022", "gazelle"], + "354": ["n02437312", "Arabian_camel"], + "355": ["n02437616", "llama"], + "356": ["n02441942", "weasel"], + "357": ["n02442845", "mink"], + "358": ["n02443114", "polecat"], + "359": ["n02443484", "black-footed_ferret"], + "360": ["n02444819", "otter"], + "361": ["n02445715", "skunk"], + "362": ["n02447366", "badger"], + "363": ["n02454379", "armadillo"], + "364": ["n02457408", "three-toed_sloth"], + "365": ["n02480495", "orangutan"], + "366": ["n02480855", "gorilla"], + "367": ["n02481823", "chimpanzee"], + "368": ["n02483362", "gibbon"], + "369": ["n02483708", "siamang"], + "370": ["n02484975", "guenon"], + "371": ["n02486261", "patas"], + "372": ["n02486410", "baboon"], + "373": ["n02487347", "macaque"], + "374": ["n02488291", "langur"], + "375": ["n02488702", "colobus"], + "376": ["n02489166", "proboscis_monkey"], + "377": ["n02490219", "marmoset"], + "378": ["n02492035", "capuchin"], + "379": ["n02492660", "howler_monkey"], + "380": ["n02493509", "titi"], + "381": ["n02493793", "spider_monkey"], + "382": ["n02494079", "squirrel_monkey"], + "383": ["n02497673", "Madagascar_cat"], + "384": ["n02500267", "indri"], + "385": ["n02504013", "Indian_elephant"], + "386": ["n02504458", "African_elephant"], + "387": ["n02509815", "lesser_panda"], + "388": ["n02510455", "giant_panda"], + "389": ["n02514041", "barracouta"], + "390": ["n02526121", "eel"], + "391": ["n02536864", "coho"], + "392": ["n02606052", "rock_beauty"], + "393": ["n02607072", "anemone_fish"], + "394": ["n02640242", "sturgeon"], + "395": ["n02641379", "gar"], + "396": ["n02643566", "lionfish"], + "397": ["n02655020", "puffer"], + "398": ["n02666196", "abacus"], + "399": ["n02667093", "abaya"], + "400": ["n02669723", "academic_gown"], + "401": ["n02672831", "accordion"], + "402": ["n02676566", "acoustic_guitar"], + "403": ["n02687172", "aircraft_carrier"], + "404": ["n02690373", "airliner"], + "405": ["n02692877", "airship"], + "406": ["n02699494", "altar"], + "407": ["n02701002", "ambulance"], + "408": ["n02704792", "amphibian"], + "409": ["n02708093", "analog_clock"], + "410": ["n02727426", "apiary"], + "411": ["n02730930", "apron"], + "412": ["n02747177", "ashcan"], + "413": ["n02749479", "assault_rifle"], + "414": ["n02769748", "backpack"], + "415": ["n02776631", "bakery"], + "416": ["n02777292", "balance_beam"], + "417": ["n02782093", "balloon"], + "418": ["n02783161", "ballpoint"], + "419": ["n02786058", "Band_Aid"], + "420": ["n02787622", "banjo"], + "421": ["n02788148", "bannister"], + "422": ["n02790996", "barbell"], + "423": ["n02791124", "barber_chair"], + "424": ["n02791270", "barbershop"], + "425": ["n02793495", "barn"], + "426": ["n02794156", "barometer"], + "427": ["n02795169", "barrel"], + "428": ["n02797295", "barrow"], + "429": ["n02799071", "baseball"], + "430": ["n02802426", "basketball"], + "431": ["n02804414", "bassinet"], + "432": ["n02804610", "bassoon"], + "433": ["n02807133", "bathing_cap"], + "434": ["n02808304", "bath_towel"], + "435": ["n02808440", "bathtub"], + "436": ["n02814533", "beach_wagon"], + "437": ["n02814860", "beacon"], + "438": ["n02815834", "beaker"], + "439": ["n02817516", "bearskin"], + "440": ["n02823428", "beer_bottle"], + "441": ["n02823750", "beer_glass"], + "442": ["n02825657", "bell_cote"], + "443": ["n02834397", "bib"], + "444": ["n02835271", "bicycle-built-for-two"], + "445": ["n02837789", "bikini"], + "446": ["n02840245", "binder"], + "447": ["n02841315", "binoculars"], + "448": ["n02843684", "birdhouse"], + "449": ["n02859443", "boathouse"], + "450": ["n02860847", "bobsled"], + "451": ["n02865351", "bolo_tie"], + "452": ["n02869837", "bonnet"], + "453": ["n02870880", "bookcase"], + "454": ["n02871525", "bookshop"], + "455": ["n02877765", "bottlecap"], + "456": ["n02879718", "bow"], + "457": ["n02883205", "bow_tie"], + "458": ["n02892201", "brass"], + "459": ["n02892767", "brassiere"], + "460": ["n02894605", "breakwater"], + "461": ["n02895154", "breastplate"], + "462": ["n02906734", "broom"], + "463": ["n02909870", "bucket"], + "464": ["n02910353", "buckle"], + "465": ["n02916936", "bulletproof_vest"], + "466": ["n02917067", "bullet_train"], + "467": ["n02927161", "butcher_shop"], + "468": ["n02930766", "cab"], + "469": ["n02939185", "caldron"], + "470": ["n02948072", "candle"], + "471": ["n02950826", "cannon"], + "472": ["n02951358", "canoe"], + "473": ["n02951585", "can_opener"], + "474": ["n02963159", "cardigan"], + "475": ["n02965783", "car_mirror"], + "476": ["n02966193", "carousel"], + "477": ["n02966687", "carpenter's_kit"], + "478": ["n02971356", "carton"], + "479": ["n02974003", "car_wheel"], + "480": ["n02977058", "cash_machine"], + "481": ["n02978881", "cassette"], + "482": ["n02979186", "cassette_player"], + "483": ["n02980441", "castle"], + "484": ["n02981792", "catamaran"], + "485": ["n02988304", "CD_player"], + "486": ["n02992211", "cello"], + "487": ["n02992529", "cellular_telephone"], + "488": ["n02999410", "chain"], + "489": ["n03000134", "chainlink_fence"], + "490": ["n03000247", "chain_mail"], + "491": ["n03000684", "chain_saw"], + "492": ["n03014705", "chest"], + "493": ["n03016953", "chiffonier"], + "494": ["n03017168", "chime"], + "495": ["n03018349", "china_cabinet"], + "496": ["n03026506", "Christmas_stocking"], + "497": ["n03028079", "church"], + "498": ["n03032252", "cinema"], + "499": ["n03041632", "cleaver"], + "500": ["n03042490", "cliff_dwelling"], + "501": ["n03045698", "cloak"], + "502": ["n03047690", "clog"], + "503": ["n03062245", "cocktail_shaker"], + "504": ["n03063599", "coffee_mug"], + "505": ["n03063689", "coffeepot"], + "506": ["n03065424", "coil"], + "507": ["n03075370", "combination_lock"], + "508": ["n03085013", "computer_keyboard"], + "509": ["n03089624", "confectionery"], + "510": ["n03095699", "container_ship"], + "511": ["n03100240", "convertible"], + "512": ["n03109150", "corkscrew"], + "513": ["n03110669", "cornet"], + "514": ["n03124043", "cowboy_boot"], + "515": ["n03124170", "cowboy_hat"], + "516": ["n03125729", "cradle"], + "517": ["n03126707", "crane"], + "518": ["n03127747", "crash_helmet"], + "519": ["n03127925", "crate"], + "520": ["n03131574", "crib"], + "521": ["n03133878", "Crock_Pot"], + "522": ["n03134739", "croquet_ball"], + "523": ["n03141823", "crutch"], + "524": ["n03146219", "cuirass"], + "525": ["n03160309", "dam"], + "526": ["n03179701", "desk"], + "527": ["n03180011", "desktop_computer"], + "528": ["n03187595", "dial_telephone"], + "529": ["n03188531", "diaper"], + "530": ["n03196217", "digital_clock"], + "531": ["n03197337", "digital_watch"], + "532": ["n03201208", "dining_table"], + "533": ["n03207743", "dishrag"], + "534": ["n03207941", "dishwasher"], + "535": ["n03208938", "disk_brake"], + "536": ["n03216828", "dock"], + "537": ["n03218198", "dogsled"], + "538": ["n03220513", "dome"], + "539": ["n03223299", "doormat"], + "540": ["n03240683", "drilling_platform"], + "541": ["n03249569", "drum"], + "542": ["n03250847", "drumstick"], + "543": ["n03255030", "dumbbell"], + "544": ["n03259280", "Dutch_oven"], + "545": ["n03271574", "electric_fan"], + "546": ["n03272010", "electric_guitar"], + "547": ["n03272562", "electric_locomotive"], + "548": ["n03290653", "entertainment_center"], + "549": ["n03291819", "envelope"], + "550": ["n03297495", "espresso_maker"], + "551": ["n03314780", "face_powder"], + "552": ["n03325584", "feather_boa"], + "553": ["n03337140", "file"], + "554": ["n03344393", "fireboat"], + "555": ["n03345487", "fire_engine"], + "556": ["n03347037", "fire_screen"], + "557": ["n03355925", "flagpole"], + "558": ["n03372029", "flute"], + "559": ["n03376595", "folding_chair"], + "560": ["n03379051", "football_helmet"], + "561": ["n03384352", "forklift"], + "562": ["n03388043", "fountain"], + "563": ["n03388183", "fountain_pen"], + "564": ["n03388549", "four-poster"], + "565": ["n03393912", "freight_car"], + "566": ["n03394916", "French_horn"], + "567": ["n03400231", "frying_pan"], + "568": ["n03404251", "fur_coat"], + "569": ["n03417042", "garbage_truck"], + "570": ["n03424325", "gasmask"], + "571": ["n03425413", "gas_pump"], + "572": ["n03443371", "goblet"], + "573": ["n03444034", "go-kart"], + "574": ["n03445777", "golf_ball"], + "575": ["n03445924", "golfcart"], + "576": ["n03447447", "gondola"], + "577": ["n03447721", "gong"], + "578": ["n03450230", "gown"], + "579": ["n03452741", "grand_piano"], + "580": ["n03457902", "greenhouse"], + "581": ["n03459775", "grille"], + "582": ["n03461385", "grocery_store"], + "583": ["n03467068", "guillotine"], + "584": ["n03476684", "hair_slide"], + "585": ["n03476991", "hair_spray"], + "586": ["n03478589", "half_track"], + "587": ["n03481172", "hammer"], + "588": ["n03482405", "hamper"], + "589": ["n03483316", "hand_blower"], + "590": ["n03485407", "hand-held_computer"], + "591": ["n03485794", "handkerchief"], + "592": ["n03492542", "hard_disc"], + "593": ["n03494278", "harmonica"], + "594": ["n03495258", "harp"], + "595": ["n03496892", "harvester"], + "596": ["n03498962", "hatchet"], + "597": ["n03527444", "holster"], + "598": ["n03529860", "home_theater"], + "599": ["n03530642", "honeycomb"], + "600": ["n03532672", "hook"], + "601": ["n03534580", "hoopskirt"], + "602": ["n03535780", "horizontal_bar"], + "603": ["n03538406", "horse_cart"], + "604": ["n03544143", "hourglass"], + "605": ["n03584254", "iPod"], + "606": ["n03584829", "iron"], + "607": ["n03590841", "jack-o'-lantern"], + "608": ["n03594734", "jean"], + "609": ["n03594945", "jeep"], + "610": ["n03595614", "jersey"], + "611": ["n03598930", "jigsaw_puzzle"], + "612": ["n03599486", "jinrikisha"], + "613": ["n03602883", "joystick"], + "614": ["n03617480", "kimono"], + "615": ["n03623198", "knee_pad"], + "616": ["n03627232", "knot"], + "617": ["n03630383", "lab_coat"], + "618": ["n03633091", "ladle"], + "619": ["n03637318", "lampshade"], + "620": ["n03642806", "laptop"], + "621": ["n03649909", "lawn_mower"], + "622": ["n03657121", "lens_cap"], + "623": ["n03658185", "letter_opener"], + "624": ["n03661043", "library"], + "625": ["n03662601", "lifeboat"], + "626": ["n03666591", "lighter"], + "627": ["n03670208", "limousine"], + "628": ["n03673027", "liner"], + "629": ["n03676483", "lipstick"], + "630": ["n03680355", "Loafer"], + "631": ["n03690938", "lotion"], + "632": ["n03691459", "loudspeaker"], + "633": ["n03692522", "loupe"], + "634": ["n03697007", "lumbermill"], + "635": ["n03706229", "magnetic_compass"], + "636": ["n03709823", "mailbag"], + "637": ["n03710193", "mailbox"], + "638": ["n03710637", "maillot"], + "639": ["n03710721", "maillot"], + "640": ["n03717622", "manhole_cover"], + "641": ["n03720891", "maraca"], + "642": ["n03721384", "marimba"], + "643": ["n03724870", "mask"], + "644": ["n03729826", "matchstick"], + "645": ["n03733131", "maypole"], + "646": ["n03733281", "maze"], + "647": ["n03733805", "measuring_cup"], + "648": ["n03742115", "medicine_chest"], + "649": ["n03743016", "megalith"], + "650": ["n03759954", "microphone"], + "651": ["n03761084", "microwave"], + "652": ["n03763968", "military_uniform"], + "653": ["n03764736", "milk_can"], + "654": ["n03769881", "minibus"], + "655": ["n03770439", "miniskirt"], + "656": ["n03770679", "minivan"], + "657": ["n03773504", "missile"], + "658": ["n03775071", "mitten"], + "659": ["n03775546", "mixing_bowl"], + "660": ["n03776460", "mobile_home"], + "661": ["n03777568", "Model_T"], + "662": ["n03777754", "modem"], + "663": ["n03781244", "monastery"], + "664": ["n03782006", "monitor"], + "665": ["n03785016", "moped"], + "666": ["n03786901", "mortar"], + "667": ["n03787032", "mortarboard"], + "668": ["n03788195", "mosque"], + "669": ["n03788365", "mosquito_net"], + "670": ["n03791053", "motor_scooter"], + "671": ["n03792782", "mountain_bike"], + "672": ["n03792972", "mountain_tent"], + "673": ["n03793489", "mouse"], + "674": ["n03794056", "mousetrap"], + "675": ["n03796401", "moving_van"], + "676": ["n03803284", "muzzle"], + "677": ["n03804744", "nail"], + "678": ["n03814639", "neck_brace"], + "679": ["n03814906", "necklace"], + "680": ["n03825788", "nipple"], + "681": ["n03832673", "notebook"], + "682": ["n03837869", "obelisk"], + "683": ["n03838899", "oboe"], + "684": ["n03840681", "ocarina"], + "685": ["n03841143", "odometer"], + "686": ["n03843555", "oil_filter"], + "687": ["n03854065", "organ"], + "688": ["n03857828", "oscilloscope"], + "689": ["n03866082", "overskirt"], + "690": ["n03868242", "oxcart"], + "691": ["n03868863", "oxygen_mask"], + "692": ["n03871628", "packet"], + "693": ["n03873416", "paddle"], + "694": ["n03874293", "paddlewheel"], + "695": ["n03874599", "padlock"], + "696": ["n03876231", "paintbrush"], + "697": ["n03877472", "pajama"], + "698": ["n03877845", "palace"], + "699": ["n03884397", "panpipe"], + "700": ["n03887697", "paper_towel"], + "701": ["n03888257", "parachute"], + "702": ["n03888605", "parallel_bars"], + "703": ["n03891251", "park_bench"], + "704": ["n03891332", "parking_meter"], + "705": ["n03895866", "passenger_car"], + "706": ["n03899768", "patio"], + "707": ["n03902125", "pay-phone"], + "708": ["n03903868", "pedestal"], + "709": ["n03908618", "pencil_box"], + "710": ["n03908714", "pencil_sharpener"], + "711": ["n03916031", "perfume"], + "712": ["n03920288", "Petri_dish"], + "713": ["n03924679", "photocopier"], + "714": ["n03929660", "pick"], + "715": ["n03929855", "pickelhaube"], + "716": ["n03930313", "picket_fence"], + "717": ["n03930630", "pickup"], + "718": ["n03933933", "pier"], + "719": ["n03935335", "piggy_bank"], + "720": ["n03937543", "pill_bottle"], + "721": ["n03938244", "pillow"], + "722": ["n03942813", "ping-pong_ball"], + "723": ["n03944341", "pinwheel"], + "724": ["n03947888", "pirate"], + "725": ["n03950228", "pitcher"], + "726": ["n03954731", "plane"], + "727": ["n03956157", "planetarium"], + "728": ["n03958227", "plastic_bag"], + "729": ["n03961711", "plate_rack"], + "730": ["n03967562", "plow"], + "731": ["n03970156", "plunger"], + "732": ["n03976467", "Polaroid_camera"], + "733": ["n03976657", "pole"], + "734": ["n03977966", "police_van"], + "735": ["n03980874", "poncho"], + "736": ["n03982430", "pool_table"], + "737": ["n03983396", "pop_bottle"], + "738": ["n03991062", "pot"], + "739": ["n03992509", "potter's_wheel"], + "740": ["n03995372", "power_drill"], + "741": ["n03998194", "prayer_rug"], + "742": ["n04004767", "printer"], + "743": ["n04005630", "prison"], + "744": ["n04008634", "projectile"], + "745": ["n04009552", "projector"], + "746": ["n04019541", "puck"], + "747": ["n04023962", "punching_bag"], + "748": ["n04026417", "purse"], + "749": ["n04033901", "quill"], + "750": ["n04033995", "quilt"], + "751": ["n04037443", "racer"], + "752": ["n04039381", "racket"], + "753": ["n04040759", "radiator"], + "754": ["n04041544", "radio"], + "755": ["n04044716", "radio_telescope"], + "756": ["n04049303", "rain_barrel"], + "757": ["n04065272", "recreational_vehicle"], + "758": ["n04067472", "reel"], + "759": ["n04069434", "reflex_camera"], + "760": ["n04070727", "refrigerator"], + "761": ["n04074963", "remote_control"], + "762": ["n04081281", "restaurant"], + "763": ["n04086273", "revolver"], + "764": ["n04090263", "rifle"], + "765": ["n04099969", "rocking_chair"], + "766": ["n04111531", "rotisserie"], + "767": ["n04116512", "rubber_eraser"], + "768": ["n04118538", "rugby_ball"], + "769": ["n04118776", "rule"], + "770": ["n04120489", "running_shoe"], + "771": ["n04125021", "safe"], + "772": ["n04127249", "safety_pin"], + "773": ["n04131690", "saltshaker"], + "774": ["n04133789", "sandal"], + "775": ["n04136333", "sarong"], + "776": ["n04141076", "sax"], + "777": ["n04141327", "scabbard"], + "778": ["n04141975", "scale"], + "779": ["n04146614", "school_bus"], + "780": ["n04147183", "schooner"], + "781": ["n04149813", "scoreboard"], + "782": ["n04152593", "screen"], + "783": ["n04153751", "screw"], + "784": ["n04154565", "screwdriver"], + "785": ["n04162706", "seat_belt"], + "786": ["n04179913", "sewing_machine"], + "787": ["n04192698", "shield"], + "788": ["n04200800", "shoe_shop"], + "789": ["n04201297", "shoji"], + "790": ["n04204238", "shopping_basket"], + "791": ["n04204347", "shopping_cart"], + "792": ["n04208210", "shovel"], + "793": ["n04209133", "shower_cap"], + "794": ["n04209239", "shower_curtain"], + "795": ["n04228054", "ski"], + "796": ["n04229816", "ski_mask"], + "797": ["n04235860", "sleeping_bag"], + "798": ["n04238763", "slide_rule"], + "799": ["n04239074", "sliding_door"], + "800": ["n04243546", "slot"], + "801": ["n04251144", "snorkel"], + "802": ["n04252077", "snowmobile"], + "803": ["n04252225", "snowplow"], + "804": ["n04254120", "soap_dispenser"], + "805": ["n04254680", "soccer_ball"], + "806": ["n04254777", "sock"], + "807": ["n04258138", "solar_dish"], + "808": ["n04259630", "sombrero"], + "809": ["n04263257", "soup_bowl"], + "810": ["n04264628", "space_bar"], + "811": ["n04265275", "space_heater"], + "812": ["n04266014", "space_shuttle"], + "813": ["n04270147", "spatula"], + "814": ["n04273569", "speedboat"], + "815": ["n04275548", "spider_web"], + "816": ["n04277352", "spindle"], + "817": ["n04285008", "sports_car"], + "818": ["n04286575", "spotlight"], + "819": ["n04296562", "stage"], + "820": ["n04310018", "steam_locomotive"], + "821": ["n04311004", "steel_arch_bridge"], + "822": ["n04311174", "steel_drum"], + "823": ["n04317175", "stethoscope"], + "824": ["n04325704", "stole"], + "825": ["n04326547", "stone_wall"], + "826": ["n04328186", "stopwatch"], + "827": ["n04330267", "stove"], + "828": ["n04332243", "strainer"], + "829": ["n04335435", "streetcar"], + "830": ["n04336792", "stretcher"], + "831": ["n04344873", "studio_couch"], + "832": ["n04346328", "stupa"], + "833": ["n04347754", "submarine"], + "834": ["n04350905", "suit"], + "835": ["n04355338", "sundial"], + "836": ["n04355933", "sunglass"], + "837": ["n04356056", "sunglasses"], + "838": ["n04357314", "sunscreen"], + "839": ["n04366367", "suspension_bridge"], + "840": ["n04367480", "swab"], + "841": ["n04370456", "sweatshirt"], + "842": ["n04371430", "swimming_trunks"], + "843": ["n04371774", "swing"], + "844": ["n04372370", "switch"], + "845": ["n04376876", "syringe"], + "846": ["n04380533", "table_lamp"], + "847": ["n04389033", "tank"], + "848": ["n04392985", "tape_player"], + "849": ["n04398044", "teapot"], + "850": ["n04399382", "teddy"], + "851": ["n04404412", "television"], + "852": ["n04409515", "tennis_ball"], + "853": ["n04417672", "thatch"], + "854": ["n04418357", "theater_curtain"], + "855": ["n04423845", "thimble"], + "856": ["n04428191", "thresher"], + "857": ["n04429376", "throne"], + "858": ["n04435653", "tile_roof"], + "859": ["n04442312", "toaster"], + "860": ["n04443257", "tobacco_shop"], + "861": ["n04447861", "toilet_seat"], + "862": ["n04456115", "torch"], + "863": ["n04458633", "totem_pole"], + "864": ["n04461696", "tow_truck"], + "865": ["n04462240", "toyshop"], + "866": ["n04465501", "tractor"], + "867": ["n04467665", "trailer_truck"], + "868": ["n04476259", "tray"], + "869": ["n04479046", "trench_coat"], + "870": ["n04482393", "tricycle"], + "871": ["n04483307", "trimaran"], + "872": ["n04485082", "tripod"], + "873": ["n04486054", "triumphal_arch"], + "874": ["n04487081", "trolleybus"], + "875": ["n04487394", "trombone"], + "876": ["n04493381", "tub"], + "877": ["n04501370", "turnstile"], + "878": ["n04505470", "typewriter_keyboard"], + "879": ["n04507155", "umbrella"], + "880": ["n04509417", "unicycle"], + "881": ["n04515003", "upright"], + "882": ["n04517823", "vacuum"], + "883": ["n04522168", "vase"], + "884": ["n04523525", "vault"], + "885": ["n04525038", "velvet"], + "886": ["n04525305", "vending_machine"], + "887": ["n04532106", "vestment"], + "888": ["n04532670", "viaduct"], + "889": ["n04536866", "violin"], + "890": ["n04540053", "volleyball"], + "891": ["n04542943", "waffle_iron"], + "892": ["n04548280", "wall_clock"], + "893": ["n04548362", "wallet"], + "894": ["n04550184", "wardrobe"], + "895": ["n04552348", "warplane"], + "896": ["n04553703", "washbasin"], + "897": ["n04554684", "washer"], + "898": ["n04557648", "water_bottle"], + "899": ["n04560804", "water_jug"], + "900": ["n04562935", "water_tower"], + "901": ["n04579145", "whiskey_jug"], + "902": ["n04579432", "whistle"], + "903": ["n04584207", "wig"], + "904": ["n04589890", "window_screen"], + "905": ["n04590129", "window_shade"], + "906": ["n04591157", "Windsor_tie"], + "907": ["n04591713", "wine_bottle"], + "908": ["n04592741", "wing"], + "909": ["n04596742", "wok"], + "910": ["n04597913", "wooden_spoon"], + "911": ["n04599235", "wool"], + "912": ["n04604644", "worm_fence"], + "913": ["n04606251", "wreck"], + "914": ["n04612504", "yawl"], + "915": ["n04613696", "yurt"], + "916": ["n06359193", "web_site"], + "917": ["n06596364", "comic_book"], + "918": ["n06785654", "crossword_puzzle"], + "919": ["n06794110", "street_sign"], + "920": ["n06874185", "traffic_light"], + "921": ["n07248320", "book_jacket"], + "922": ["n07565083", "menu"], + "923": ["n07579787", "plate"], + "924": ["n07583066", "guacamole"], + "925": ["n07584110", "consomme"], + "926": ["n07590611", "hot_pot"], + "927": ["n07613480", "trifle"], + "928": ["n07614500", "ice_cream"], + "929": ["n07615774", "ice_lolly"], + "930": ["n07684084", "French_loaf"], + "931": ["n07693725", "bagel"], + "932": ["n07695742", "pretzel"], + "933": ["n07697313", "cheeseburger"], + "934": ["n07697537", "hotdog"], + "935": ["n07711569", "mashed_potato"], + "936": ["n07714571", "head_cabbage"], + "937": ["n07714990", "broccoli"], + "938": ["n07715103", "cauliflower"], + "939": ["n07716358", "zucchini"], + "940": ["n07716906", "spaghetti_squash"], + "941": ["n07717410", "acorn_squash"], + "942": ["n07717556", "butternut_squash"], + "943": ["n07718472", "cucumber"], + "944": ["n07718747", "artichoke"], + "945": ["n07720875", "bell_pepper"], + "946": ["n07730033", "cardoon"], + "947": ["n07734744", "mushroom"], + "948": ["n07742313", "Granny_Smith"], + "949": ["n07745940", "strawberry"], + "950": ["n07747607", "orange"], + "951": ["n07749582", "lemon"], + "952": ["n07753113", "fig"], + "953": ["n07753275", "pineapple"], + "954": ["n07753592", "banana"], + "955": ["n07754684", "jackfruit"], + "956": ["n07760859", "custard_apple"], + "957": ["n07768694", "pomegranate"], + "958": ["n07802026", "hay"], + "959": ["n07831146", "carbonara"], + "960": ["n07836838", "chocolate_sauce"], + "961": ["n07860988", "dough"], + "962": ["n07871810", "meat_loaf"], + "963": ["n07873807", "pizza"], + "964": ["n07875152", "potpie"], + "965": ["n07880968", "burrito"], + "966": ["n07892512", "red_wine"], + "967": ["n07920052", "espresso"], + "968": ["n07930864", "cup"], + "969": ["n07932039", "eggnog"], + "970": ["n09193705", "alp"], + "971": ["n09229709", "bubble"], + "972": ["n09246464", "cliff"], + "973": ["n09256479", "coral_reef"], + "974": ["n09288635", "geyser"], + "975": ["n09332890", "lakeside"], + "976": ["n09399592", "promontory"], + "977": ["n09421951", "sandbar"], + "978": ["n09428293", "seashore"], + "979": ["n09468604", "valley"], + "980": ["n09472597", "volcano"], + "981": ["n09835506", "ballplayer"], + "982": ["n10148035", "groom"], + "983": ["n10565667", "scuba_diver"], + "984": ["n11879895", "rapeseed"], + "985": ["n11939491", "daisy"], + "986": ["n12057211", "yellow_lady's_slipper"], + "987": ["n12144580", "corn"], + "988": ["n12267677", "acorn"], + "989": ["n12620546", "hip"], + "990": ["n12768682", "buckeye"], + "991": ["n12985857", "coral_fungus"], + "992": ["n12998815", "agaric"], + "993": ["n13037406", "gyromitra"], + "994": ["n13040303", "stinkhorn"], + "995": ["n13044778", "earthstar"], + "996": ["n13052670", "hen-of-the-woods"], + "997": ["n13054560", "bolete"], + "998": ["n13133613", "ear"], + "999": ["n15075141", "toilet_tissue"] +} diff --git a/machine_learning/app/main.py b/machine_learning/app/main.py new file mode 100644 index 0000000000..75576f75ab --- /dev/null +++ b/machine_learning/app/main.py @@ -0,0 +1,51 @@ +from typing import Optional +from pydantic import BaseModel +import numpy as np +from fastapi import FastAPI +import tensorflow as tf +from tensorflow.keras.applications import InceptionV3 +from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions +from tensorflow.keras.preprocessing import image + +IMG_SIZE = 299 +PREDICTION_MODEL = InceptionV3(weights='imagenet') + + +def warm_up(): + img_path = f'./app/test.png' + img = image.load_img(img_path, target_size=(IMG_SIZE, IMG_SIZE)) + x = image.img_to_array(img) + x = np.expand_dims(x, axis=0) + x = preprocess_input(x) + PREDICTION_MODEL.predict(x) + + +# Warm up model +warm_up() +app = FastAPI() + + +class TagImagePayload(BaseModel): + thumbnail_path: str + + +@app.post("/tagImage") +async def post_root(payload: TagImagePayload): + imagePath = payload.thumbnail_path + + if imagePath[0] == '.': + imagePath = imagePath[2:] + + img_path = f'./app/{imagePath}' + img = image.load_img(img_path, target_size=(IMG_SIZE, IMG_SIZE)) + x = image.img_to_array(img) + x = np.expand_dims(x, axis=0) + x = preprocess_input(x) + + preds = PREDICTION_MODEL.predict(x) + result = decode_predictions(preds, top=3)[0] + payload = [] + for _, value, _ in result: + payload.append(value) + + return payload diff --git a/design/sc2.PNG b/machine_learning/app/test.png similarity index 100% rename from design/sc2.PNG rename to machine_learning/app/test.png diff --git a/machine_learning/requirements.txt b/machine_learning/requirements.txt new file mode 100644 index 0000000000..d362ed6bf8 --- /dev/null +++ b/machine_learning/requirements.txt @@ -0,0 +1,6 @@ +fastapi>=0.68.0,<0.69.0 +pydantic>=1.8.0,<2.0.0 +uvicorn>=0.15.0,<0.16.0 +tensorflow==2.8.0 +numpy==1.22.2 +pillow==9.0.1 \ No newline at end of file diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index d36b1fab2d..176c6641bd 100644 --- a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,122 +1,158 @@ { "images" : [ { - "size" : "20x20", + "filename" : "immich-logo-1024-20@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "20x20" }, { - "size" : "20x20", + "filename" : "immich-logo-1024-20@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "20x20" }, { - "size" : "29x29", + "filename" : "immich-logo-1024-29.png", "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" + "scale" : "1x", + "size" : "29x29" }, { - "size" : "29x29", + "filename" : "immich-logo-1024-29@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "29x29" }, { - "size" : "29x29", + "filename" : "immich-logo-1024-29@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "29x29" }, { - "size" : "40x40", + "filename" : "immich-logo-1024-40@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { - "size" : "40x40", + "filename" : "immich-logo-1024-40@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "40x40" }, { - "size" : "60x60", + "filename" : "immich-logo-1024-60@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "60x60" }, { - "size" : "60x60", + "filename" : "immich-logo-1024-60@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "60x60" }, { - "size" : "20x20", - "idiom" : "ipad", "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" }, { - "size" : "20x20", - "idiom" : "ipad", "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" }, { - "size" : "29x29", - "idiom" : "ipad", "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" }, { - "size" : "29x29", - "idiom" : "ipad", "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" }, { - "size" : "40x40", - "idiom" : "ipad", "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" }, { - "size" : "40x40", - "idiom" : "ipad", "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" }, { - "size" : "76x76", - "idiom" : "ipad", "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" }, { - "size" : "76x76", - "idiom" : "ipad", "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "Icon-App-83.5x83.5@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" }, { - "size" : "1024x1024", - "idiom" : "ios-marketing", "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + }, + { + "filename" : "immich-logo-1024-20.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "immich-logo-1024-40.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "immich-logo-1024-76.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "immich-logo-1024-76@2x.png", + "idiom" : "universal", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "immich-logo-1024-83.5@2x.png", + "idiom" : "universal", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "immich-logo-1024-1024.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } } diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 398fa7f007a53781b6094498092b58de44a78782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5661 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 DDx2t) diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index a02880956047c765f9c7f0646e2dd2000a8f4aa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9141 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

aBXkF# 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

aBXkF# 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 Ef_CB19{>OV diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-1024.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..654ccf295567580b57615926725ac20f3925e6ef GIT binary patch literal 120577 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

Ybeh*j3^7xuv^A)$hEE@-ta@vv)dnQG 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%0AF$lq^zsPu;7(9};-2);PDnsNHLur}u;T(c)% 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 YAI=DjVP(}Bwg3PC07*qoM6N<$f@(<(ApigX literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c5fb9fad5428ddf399d9500378e0c9f1ef3fbc4f GIT binary patch literal 3871 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..409455e7f56d3dbad301aa1c4c7d7e0da5f544b2 GIT binary patch literal 6001 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 DrgfhO literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3467723adf703590869aa0d0b7bfd090cf755603 GIT binary patch literal 5746 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40.png new file mode 100644 index 0000000000000000000000000000000000000000..c5fb9fad5428ddf399d9500378e0c9f1ef3fbc4f GIT binary patch literal 3871 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a78f3c3fe015bf76844e4493f9f0ec1bf06d798c GIT binary patch literal 8274 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 literal 0 HcmV?d00001 diff --git a/server/entrypoint.sh b/server/entrypoint.sh new file mode 100644 index 0000000000..cd13d4545a --- /dev/null +++ b/server/entrypoint.sh @@ -0,0 +1,2 @@ +# npm run typeorm migration:run +npm run start:dev \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json index a905c7db8b..f28af05fc0 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,10537 +1,8 @@ { "name": "immich", "version": "0.0.1", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "immich", - "version": "0.0.1", - "license": "UNLICENSED", - "dependencies": { - "@nestjs/bull": "^0.4.2", - "@nestjs/common": "^8.0.0", - "@nestjs/config": "^1.1.6", - "@nestjs/core": "^8.0.0", - "@nestjs/jwt": "^8.0.0", - "@nestjs/mapped-types": "*", - "@nestjs/passport": "^8.1.0", - "@nestjs/platform-express": "^8.0.0", - "@nestjs/platform-fastify": "^8.2.6", - "@nestjs/platform-socket.io": "^8.2.6", - "@nestjs/typeorm": "^8.0.3", - "@nestjs/websockets": "^8.2.6", - "@socket.io/redis-adapter": "^7.1.0", - "bcrypt": "^5.0.1", - "bull": "^4.4.0", - "class-transformer": "^0.5.1", - "class-validator": "^0.13.2", - "dotenv": "^14.2.0", - "exifr": "^7.1.3", - "fluent-ffmpeg": "^2.1.2", - "joi": "^17.5.0", - "lodash": "^4.17.21", - "passport": "^0.5.2", - "passport-jwt": "^4.0.0", - "pg": "^8.7.1", - "reflect-metadata": "^0.1.13", - "rimraf": "^3.0.2", - "rxjs": "^7.2.0", - "sharp": "0.28", - "socket.io-redis": "^6.1.1", - "systeminformation": "^5.11.0", - "typeorm": "^0.2.41" - }, - "devDependencies": { - "@nestjs/cli": "^8.0.0", - "@nestjs/schematics": "^8.0.0", - "@nestjs/testing": "^8.0.0", - "@types/bcrypt": "^5.0.0", - "@types/bull": "^3.15.7", - "@types/express": "^4.17.13", - "@types/fluent-ffmpeg": "^2.1.20", - "@types/imagemin": "^8.0.0", - "@types/jest": "27.0.2", - "@types/lodash": "^4.14.178", - "@types/multer": "^1.4.7", - "@types/node": "^16.0.0", - "@types/passport-jwt": "^3.0.6", - "@types/sharp": "^0.29.5", - "@types/supertest": "^2.0.11", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^8.0.1", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^27.2.5", - "prettier": "^2.3.2", - "source-map-support": "^0.5.20", - "supertest": "^6.1.3", - "ts-jest": "^27.0.3", - "ts-loader": "^9.2.3", - "ts-node": "^10.0.0", - "tsconfig-paths": "^3.10.1", - "typescript": "^4.3.5" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.0.tgz", - "integrity": "sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.2.tgz", - "integrity": "sha512-uXVesIRiCL/Nv+RSV8JM4j8IoZiGCGnqV2FOJ1hvH7DPxIjhjPMdG/B54xMydZpeASW3ofuxeORyAXxFIBm8Zg==", - "dev": true, - "dependencies": { - "ajv": "8.8.2", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/core/node_modules/ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@angular-devkit/core/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/core/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular-devkit/schematics": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.2.tgz", - "integrity": "sha512-ayYbHGU8QpMGx8ZyhKOBupz+Zfv/2H1pNQErahYV3qg7hA9hfjTGmNmDQ4iw0fiT04NajjUxuomlKsCsg7oXDw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.1.2", - "jsonc-parser": "3.0.0", - "magic-string": "0.25.7", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics-cli": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.1.2.tgz", - "integrity": "sha512-XSkcVuaaajijQOWE8YerY/8DVuYQWvXxVukweEwkaHSftDQZhfCOZ83nGKbuWkdOdnuDbrc9ve5ZzekplkzVQw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.1.2", - "@angular-devkit/schematics": "13.1.2", - "ansi-colors": "4.1.1", - "inquirer": "8.2.0", - "minimist": "1.2.5", - "symbol-observable": "4.0.0" - }, - "bin": { - "schematics": "bin/schematics.js" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.0.tgz", - "integrity": "sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.0.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.0", - "@babel/parser": "^7.17.0", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz", - "integrity": "sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.0.tgz", - "integrity": "sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/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": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "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" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz", - "integrity": "sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.0", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.0", - "@babel/types": "^7.17.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/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": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", - "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.2.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@fastify/ajv-compiler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-1.1.0.tgz", - "integrity": "sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==", - "dependencies": { - "ajv": "^6.12.6" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" - }, - "node_modules/@hapi/topo": { - "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" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz", - "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "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==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.0.tgz", - "integrity": "sha512-WUzX5neFb0IOQOy/7A2VhiGdxJKk85Xns2Oq29JaHmtnSel+BsjwyQZxzAs2Xxfd2i452fwdDG9ox/IWi81bdQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.0", - "jest-util": "^27.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.0.tgz", - "integrity": "sha512-DcUTkZyon+dRozTEjy38Bgt3PIU51GdUJuz3uHKg5maGtmCaYqPUGiM3Xddqi7eIMC7E3fTGIlHqH9i0pTOy6Q==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.0", - "@jest/reporters": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.0", - "jest-config": "^27.5.0", - "jest-haste-map": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-resolve-dependencies": "^27.5.0", - "jest-runner": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "jest-watcher": "^27.5.0", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.0.tgz", - "integrity": "sha512-lg0JFsMaLKgpwzs0knOg21Z4OQwaJoBLutnmYzip4tyLTXP21VYWtYGpLXgx42fw/Mw05m1WDXWKgwR6WnsiTw==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "jest-mock": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.0.tgz", - "integrity": "sha512-e3WrlpqSHq3HAQ03JFjTn8YCrsyg640/sr1rjkM2rNv8z1ufjudpv4xq6DvvTJYB6FuUrfg0g+7bSKPet5QfCQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.0", - "jest-mock": "^27.5.0", - "jest-util": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.0.tgz", - "integrity": "sha512-wWpMnTiR65Q4JD7fr2BqN+ZDbi99mmILnEM6u7AaX4geASEIVvQsiB4RCvwZrIX5YZCsAjviJQVq9CYddLABkg==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/types": "^27.5.0", - "expect": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.0.tgz", - "integrity": "sha512-DG+BmVSx2uaJSTKz5z1eScgHTQ6/cZ5CCKSpmpr4sXQPwV2V5aUMOBDwXX1MnqNRhH7/Rq9K97ynnocvho5aMA==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-util": "^27.5.0", - "jest-worker": "^27.5.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/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_modules/@jest/source-map": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.0.tgz", - "integrity": "sha512-0xr7VZ+JNCRrlCyRMYhquUm8eU3kNdGDaIW4s3L625bNjk273v9ZhAm3YczIuzJzYH0pnjT+QSCiZQegWKjeow==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/source-map/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_modules/@jest/test-result": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.0.tgz", - "integrity": "sha512-Lxecvx5mN6WIeynIyW0dWDQm8UPGMHvTwxUPK+OsZaqBDMGaNDSZtw53VoVk7HyT6AcRblMR/pfa0XucmH4hGw==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.0.tgz", - "integrity": "sha512-WzjcDflqbpWe+SnJPCvB2gB6haGfrkzAgzY6Pb1aq+EPoVAj2mwBaKN0ROWI4H87aSslCjq2M+BUQFNJ8VpnDA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-runtime": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.0.tgz", - "integrity": "sha512-yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.0", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-util": "^27.5.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/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_modules/@jest/types": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.0.tgz", - "integrity": "sha512-oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ==", - "dev": true, - "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" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz", - "integrity": "sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz", - "integrity": "sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz", - "integrity": "sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.4.tgz", - "integrity": "sha512-M669Qo4nRT7iDmQEjQYC7RU8Z6dpz9UmSbkJ1OFEja3uevCdLKh7IZZki7L1TZj02kRyl82snXFY8QqkyfowrQ==", - "dependencies": { - "detect-libc": "^1.0.3", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mapbox/node-pre-gyp/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/@mapbox/node-pre-gyp/node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nestjs/bull": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@nestjs/bull/-/bull-0.4.2.tgz", - "integrity": "sha512-HYRMbgqoUIpGplXN8kaZ23E/yHn6TRrQ297ILRqaHTxBp4vO+XNLfL1qUmJ4Z6weufsNKGg0xcX4dSC5AhXV9g==", - "peerDependencies": { - "@nestjs/common": "^6.10.11 || ^7.0.0 || ^8.0.0", - "@nestjs/core": "^6.10.11 || ^7.0.0 || ^8.0.0", - "bull": "^3.3 || ^3.22.0" - } - }, - "node_modules/@nestjs/cli": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.0.tgz", - "integrity": "sha512-f5grQOgrRcfHfOUP94OWsMdVYy6bit0zRSxPZ5+tfsFWkiPWdcx5Ba2M2socTykkiNHruXBu07lYvcKh94do7Q==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.1.2", - "@angular-devkit/schematics": "13.1.2", - "@angular-devkit/schematics-cli": "13.1.2", - "@nestjs/schematics": "^8.0.3", - "chalk": "3.0.0", - "chokidar": "3.5.2", - "cli-table3": "0.6.1", - "commander": "4.1.1", - "fork-ts-checker-webpack-plugin": "6.5.0", - "inquirer": "7.3.3", - "node-emoji": "1.11.0", - "ora": "5.4.1", - "os-name": "4.0.1", - "rimraf": "3.0.2", - "shelljs": "0.8.5", - "source-map-support": "0.5.21", - "tree-kill": "1.2.2", - "tsconfig-paths": "3.12.0", - "tsconfig-paths-webpack-plugin": "3.5.2", - "typescript": "4.5.4", - "webpack": "5.66.0", - "webpack-node-externals": "3.0.0" - }, - "bin": { - "nest": "bin/nest.js" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 6.11.0" - } - }, - "node_modules/@nestjs/cli/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nestjs/cli/node_modules/typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@nestjs/common": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.2.6.tgz", - "integrity": "sha512-flLYSXunxcKyjbYddrhwbc49uE705MxBt85rS3mHyhDbAIPSGGeZEqME44YyAzCg1NTfJSNe7ztmOce5kNkb9A==", - "dependencies": { - "axios": "0.24.0", - "iterare": "1.2.1", - "tslib": "2.3.1", - "uuid": "8.3.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "cache-manager": "*", - "class-transformer": "*", - "class-validator": "*", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "cache-manager": { - "optional": true - }, - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@nestjs/config": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-1.1.6.tgz", - "integrity": "sha512-HYizKt6Dr6gcZl8FmZbTfQxP0MG8oXMh+gVFT0XCwYDAq26BOKyhPsIxrKsryicVeKViRgetCUhlJY9EqaekZA==", - "dependencies": { - "dotenv": "10.0.0", - "dotenv-expand": "5.1.0", - "lodash": "4.17.21", - "uuid": "8.3.2" - }, - "peerDependencies": { - "@nestjs/common": "^7.0.0 || ^8.0.0", - "reflect-metadata": "^0.1.13", - "rxjs": "^6.0.0 || ^7.2.0" - } - }, - "node_modules/@nestjs/config/node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@nestjs/core": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.2.6.tgz", - "integrity": "sha512-NwPcEIMmCsucs3QaDlQvkoU1FlFM2wm/WjaqLQhkSoIEmAR1gNtBo88f5io5cpMwCo1k5xYhqGlaSl6TfngwWQ==", - "hasInstallScript": true, - "dependencies": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "object-hash": "2.2.0", - "path-to-regexp": "3.2.0", - "tslib": "2.3.1", - "uuid": "8.3.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/microservices": "^8.0.0", - "@nestjs/platform-express": "^8.0.0", - "@nestjs/websockets": "^8.0.0", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } - } - }, - "node_modules/@nestjs/jwt": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-8.0.0.tgz", - "integrity": "sha512-fz2LQgYY2zmuD8S+8UE215anwKyXlnB/1FwJQLVR47clNfMeFMK8WCxmn6xdPhF5JKuV1crO6FVabb1qWzDxqQ==", - "dependencies": { - "@types/jsonwebtoken": "8.5.4", - "jsonwebtoken": "8.5.1" - }, - "peerDependencies": { - "@nestjs/common": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@nestjs/jwt/node_modules/@types/jsonwebtoken": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.4.tgz", - "integrity": "sha512-4L8msWK31oXwdtC81RmRBAULd0ShnAHjBuKT9MRQpjP0piNrZdXyTRcKY9/UIfhGeKIT4PvF5amOOUbbT/9Wpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@nestjs/mapped-types": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz", - "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==", - "peerDependencies": { - "@nestjs/common": "^7.0.8 || ^8.0.0", - "class-transformer": "^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0", - "class-validator": "^0.11.1 || ^0.12.0 || ^0.13.0", - "reflect-metadata": "^0.1.12" - }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@nestjs/passport": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-8.1.0.tgz", - "integrity": "sha512-IJ0AumoIWPzzki8d1TixTLcWJiNhJxzpn9ejAYA0TaKsC2B1zyg58WotTU3U/perCOiiAgjpvTB4vA/7L8K9Mg==", - "peerDependencies": { - "@nestjs/common": "^6.0.0 || ^7.0.0 || ^8.0.0", - "passport": "^0.4.0 || ^0.5.0" - } - }, - "node_modules/@nestjs/platform-express": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.2.6.tgz", - "integrity": "sha512-wbPqXrLdeokfMCHkWBHgFobCVL4OKRAOJIFGNlT/3u4JIJndoGBIuSDQohhY2o7Ue0JIYqKw+PyXiN4y/iUEng==", - "dependencies": { - "body-parser": "1.19.1", - "cors": "2.8.5", - "express": "4.17.2", - "multer": "1.4.4", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0" - } - }, - "node_modules/@nestjs/platform-fastify": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/platform-fastify/-/platform-fastify-8.2.6.tgz", - "integrity": "sha512-ZvMzqvOm2yEDymw/v1qgrNWGLr429lqOTYc777SnDleK4m1XGItdRAm7Y9as0fiztOWvBpaeF7Bq04hbuZeebA==", - "dependencies": { - "fastify": "3.27.0", - "fastify-cors": "6.0.2", - "fastify-formbody": "5.2.0", - "light-my-request": "4.7.0", - "middie": "5.3.0", - "path-to-regexp": "3.2.0", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0" - } - }, - "node_modules/@nestjs/platform-socket.io": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-8.2.6.tgz", - "integrity": "sha512-Gkay52E6PmhuL1e1EF1GnJuivt4NxXaqY2I3VV4LF4X2jNHmL09EAyJofs1G6ySF8QUtR9HqtW/+ohxr7RipsQ==", - "dependencies": { - "socket.io": "4.4.1", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/websockets": "^8.0.0", - "rxjs": "^7.1.0" - } - }, - "node_modules/@nestjs/schematics": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.5.tgz", - "integrity": "sha512-nK1hWQeLNbdhsiJDX/XJXLqq7nC6/xxC8CN+seFTQmly+H3gG2xaFnl6JPHURumuQaYJX8JEpC8m0+4tz+wvOg==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.0.2", - "@angular-devkit/schematics": "13.0.2", - "fs-extra": "10.0.0", - "jsonc-parser": "3.0.0", - "pluralize": "8.0.0" - }, - "peerDependencies": { - "typescript": "^3.4.5 || ^4.3.5" - } - }, - "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.0.2.tgz", - "integrity": "sha512-I4co4GH+iu0tns+UXfMtjJISO+cLpaUuiEH6kf0wF5cqjaIeluA9UjIRnxuNbdTW8iE2xVj/UWhQfHe/Ncp76w==", - "dev": true, - "dependencies": { - "ajv": "8.6.3", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.0.2.tgz", - "integrity": "sha512-qrTe1teQptgP8gmVy6QX0T4dNfnNipEv+cM2cr7JXOmkPpwF+6oBDrTRIJ55t6rziqrXHJ3rxjKm1aHAxFrIEQ==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.0.2", - "jsonc-parser": "3.0.0", - "magic-string": "0.25.7", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@nestjs/schematics/node_modules/ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@nestjs/schematics/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@nestjs/schematics/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@nestjs/testing": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.2.6.tgz", - "integrity": "sha512-Cg8tM7yxlLDBO+CTNjk6X/UkxGRsprFc8gDHGEGesiE9wLErxNnslFugfUnYWJaSzmLZSqcFFig7mThc8VSxrw==", - "dev": true, - "dependencies": { - "optional": "0.1.4", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0", - "@nestjs/microservices": "^8.0.0", - "@nestjs/platform-express": "^8.0.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - } - } - }, - "node_modules/@nestjs/typeorm": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-8.0.3.tgz", - "integrity": "sha512-tf9rTXP6LeFInkwd+tktQhtLRsKp4RRYImprqT8gcHcJDx+xMP1IygnXELOKwF5vo2/mnhrGtBlRQ/iiS6170g==", - "dependencies": { - "uuid": "8.3.2" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0", - "reflect-metadata": "^0.1.13", - "rxjs": "^7.2.0", - "typeorm": "^0.2.34" - } - }, - "node_modules/@nestjs/websockets": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-8.2.6.tgz", - "integrity": "sha512-GUdPd5X+ojNeaYE+/4c4105tb8skvQt3KyR7CCzrhMziHsRakDLQ/8LO932fh8ADrkRxr7jfAbt3UTq5FggQ2w==", - "dependencies": { - "iterare": "1.2.1", - "object-hash": "2.2.0", - "tslib": "2.3.1" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0", - "@nestjs/platform-socket.io": "^8.0.0", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/platform-socket.io": { - "optional": true - } - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - }, - "bin": { - "opencollective": "bin/opencollective.js" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", - "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "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/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@socket.io/base64-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", - "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/@socket.io/redis-adapter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/redis-adapter/-/redis-adapter-7.1.0.tgz", - "integrity": "sha512-vbsNJKUQgtVHcOqNL2ac8kSemTVNKHRzYPldqQJt0eFKvlAtAviuAMzBP0WmOp5OoRLQMjhVsVvgMzzMsVsK5g==", - "dependencies": { - "debug": "~4.3.1", - "notepack.io": "~2.2.0", - "socket.io-adapter": "~2.3.0", - "uid2": "0.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@sqltools/formatter": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz", - "integrity": "sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==" - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.1.18", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", - "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/bcrypt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.0.tgz", - "integrity": "sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bull": { - "version": "3.15.7", - "resolved": "https://registry.npmjs.org/@types/bull/-/bull-3.15.7.tgz", - "integrity": "sha512-7NC7XN5NoS0A+leJ/dR69ZfKaegOlCZaii/xGgKnCyh1UYisRncibImb7VMwrc3OdJcbDJt6+4om70TeNl3J7g==", - "dev": true, - "dependencies": { - "@types/ioredis": "*", - "@types/redis": "^2.8.0" - } - }, - "node_modules/@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", - "dev": true - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/fluent-ffmpeg": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.20.tgz", - "integrity": "sha512-B+OvhCdJ3LgEq2PhvWNOiB/EfwnXLElfMCgc4Z1K5zXgSfo9I6uGKwR/lqmNPFQuebNnes7re3gqkV77SyypLg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/imagemin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", - "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ioredis": { - "version": "4.28.8", - "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.8.tgz", - "integrity": "sha512-mULOyO2smtvkE1zmzRRA4P0+1UjEqusi014kXOL1q3CY0RgqkR5/wKvv+vAJbPw2Q66wPyylKeevUy+m/FaRMg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", - "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", - "dev": true, - "dependencies": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@types/jsonwebtoken": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", - "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "node_modules/@types/multer": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.7.tgz", - "integrity": "sha512-/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/node": { - "version": "16.11.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.21.tgz", - "integrity": "sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/passport": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.7.tgz", - "integrity": "sha512-JtswU8N3kxBYgo+n9of7C97YQBT+AYPP2aBfNGTzABqPAZnK/WOAaKfh3XesUYMZRrXFuoPc2Hv0/G/nQFveHw==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/passport-jwt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.6.tgz", - "integrity": "sha512-cmAAMIRTaEwpqxlrZyiEY9kdibk94gP5KTF8AT1Ra4rWNZYHNMreqhKUEeC5WJtuN5SJZjPQmV+XO2P5PlnvNQ==", - "dev": true, - "dependencies": { - "@types/express": "*", - "@types/jsonwebtoken": "*", - "@types/passport-strategy": "*" - } - }, - "node_modules/@types/passport-strategy": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.35.tgz", - "integrity": "sha512-o5D19Jy2XPFoX2rKApykY15et3Apgax00RRLf0RUotPDUsYrQa7x4howLYr9El2mlUApHmCMv5CZ1IXqKFQ2+g==", - "dev": true, - "dependencies": { - "@types/express": "*", - "@types/passport": "*" - } - }, - "node_modules/@types/prettier": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz", - "integrity": "sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "node_modules/@types/redis": { - "version": "2.8.32", - "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz", - "integrity": "sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sharp": { - "version": "0.29.5", - "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.29.5.tgz", - "integrity": "sha512-3TC+S3H5RwnJmLYMHrcdfNjz/CaApKmujjY9b6PU/pE6n0qfooi99YqXGWoW8frU9EWYj/XTI35Pzxa+ThAZ5Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "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==", - "dev": true - }, - "node_modules/@types/superagent": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.15.tgz", - "integrity": "sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==", - "dev": true, - "dependencies": { - "@types/cookiejar": "*", - "@types/node": "*" - } - }, - "node_modules/@types/supertest": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.11.tgz", - "integrity": "sha512-uci4Esokrw9qGb9bvhhSVEjd6rkny/dk5PK/Qz4yxKiyppEI+dOPlNrZBahE3i+PoKFYyDxChVXZ/ysS/nrm1Q==", - "dev": true, - "dependencies": { - "@types/superagent": "*" - } - }, - "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, - "node_modules/@types/zen-observable": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz", - "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz", - "integrity": "sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/type-utils": "5.10.0", - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "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/parser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.0.tgz", - "integrity": "sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "debug": "^4.3.2" - }, - "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.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz", - "integrity": "sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.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.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz", - "integrity": "sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "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.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.0.tgz", - "integrity": "sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ==", - "dev": true, - "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.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz", - "integrity": "sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "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/utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.0.tgz", - "integrity": "sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "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/visitor-keys": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz", - "integrity": "sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/abstract-logging": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", - "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" - }, - "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.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.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/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/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ajv/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/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-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": "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/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/app-root-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", - "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" - }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/are-we-there-yet/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/are-we-there-yet/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "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/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "node_modules/async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/avvio": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/avvio/-/avvio-7.2.2.tgz", - "integrity": "sha512-XW2CMCmZaCmCCsIaJaLKxAzPwF37fXi1KGxNOvedOpeisLdmxZnblGc3hpHWYnlP+KOUxZsazh43WXNHgXpbqw==", - "dependencies": { - "archy": "^1.0.0", - "debug": "^4.0.0", - "fastq": "^1.6.1", - "queue-microtask": "^1.1.2" - } - }, - "node_modules/axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "dependencies": { - "follow-redirects": "^1.14.4" - } - }, - "node_modules/babel-jest": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.0.tgz", - "integrity": "sha512-puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.0.tgz", - "integrity": "sha512-ztwNkHl+g1GaoQcb8f2BER4C3LMvSXuF7KVqtUioXQgScSEnkl6lLgCILUYIR+CPTwL8H3F/PNLze64HPWF9JA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.0.tgz", - "integrity": "sha512-7bfu1cJBlgK/nKfTvMlElzA3jpi6GzDWX3fntnyP2cQSzoi/KUz6ewGlcb3PSRYZGyv+uPnVHY0Im3JbsViqgA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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/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/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/bcrypt": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz", - "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==", - "hasInstallScript": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.0", - "node-addon-api": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/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/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", - "dependencies": { - "bytes": "3.1.1", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "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==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true, - "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-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "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/buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/bull": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/bull/-/bull-4.4.0.tgz", - "integrity": "sha512-x+SDmRhixg8EqXOnE9Q3x9H5zQqdVZypiIEgqE8lSA1M1iE9IAFMum7WU0h/CVZvwbLTWD6if7OrMCG3gCXVyA==", - "dependencies": { - "cron-parser": "^4.2.1", - "debuglog": "^1.0.0", - "get-port": "^5.1.1", - "ioredis": "^4.27.0", - "lodash": "^4.17.21", - "msgpackr": "^1.5.2", - "p-timeout": "^3.2.0", - "semver": "^7.3.2", - "uuid": "^8.3.0" - }, - "engines": { - "node": ">=10.1" - } - }, - "node_modules/busboy": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", - "dependencies": { - "dicer": "0.2.5", - "readable-stream": "1.1.x" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/busboy/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/busboy/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001309", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz", - "integrity": "sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "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/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "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/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/class-transformer": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", - "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==" - }, - "node_modules/class-validator": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz", - "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==", - "dependencies": { - "libphonenumber-js": "^1.9.43", - "validator": "^13.7.0" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", - "dependencies": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "bin": { - "highlight": "bin/highlight" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } - }, - "node_modules/cli-highlight/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", - "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "colors": "1.4.0" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cluster-key-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz", - "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "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-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/color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/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/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "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/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/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "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/concat-stream/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/concat-stream/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==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/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==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true - }, - "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/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cron-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.2.1.tgz", - "integrity": "sha512-5sJBwDYyCp+0vU5b7POl8zLWfgV5fOHxlc45FWoWdHecGC7MQHCjx0CHivCMRnGFovghKhhyYM+Zm9DcY5qcHg==", - "dependencies": { - "luxon": "^1.28.0" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debug/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/debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "engines": { - "node": "*" - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "node_modules/denque": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", - "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "dev": true, - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "node_modules/dicer": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", - "dependencies": { - "readable-stream": "1.1.x", - "streamsearch": "0.1.2" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/dicer/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/dicer/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.0.tgz", - "integrity": "sha512-ZsOBWnhXiH+Zn0DcBNX/tiQsqrREHs/6oQsEVy2VJJjrTblykPima11pyHMSA/7PGmD+fwclTnKVKL/qtNREDQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-14.2.0.tgz", - "integrity": "sha512-05POuPJyPpO6jqzTNweQFfAyMSD4qa4lvsMOWyTRTdpHKy6nnnN+IYWaXF+lHivhBH/ufDKlR4IWCAN3oPnHuw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.66", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.66.tgz", - "integrity": "sha512-f1RXFMsvwufWLwYUxTiP7HmjprKXrqEWHiQkjAYa9DJeVIlZk5v8gBGcaV+FhtXLly6C1OTVzQY+2UQrACiLlg==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "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": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "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/engine.io": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz", - "integrity": "sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==", - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.0", - "ws": "~8.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", - "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", - "dependencies": { - "@socket.io/base64-arraybuffer": "~1.0.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "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/enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-ex/node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "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": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/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, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz", - "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.0.5", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "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.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.2.0", - "espree": "^9.3.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "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.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", - "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "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==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "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/eslint/node_modules/eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/espree": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", - "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", - "dev": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "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==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exifr": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/exifr/-/exifr-7.1.3.tgz", - "integrity": "sha512-g/aje2noHivrRSLbAUtBPWFbxKdKhgj/xr1vATDdUXPOFYJlQ62Ft0oy+72V6XLIpDJfHs6gXLbBLAolqOXYRw==" - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "engines": { - "node": ">=6" - } - }, - "node_modules/expect": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.0.tgz", - "integrity": "sha512-z73GZ132cBqrapO0X6BeRjyBXqOt9YeRtnDteHJIQqp5s2pZ41Hz23VUbsVFMfkrsFLU9GwoIRS0ZzLuFK8M5w==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "jest-get-type": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.6", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/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/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-decode-uri-component": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" - }, - "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.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-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-json-stringify": { - "version": "2.7.13", - "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz", - "integrity": "sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==", - "dependencies": { - "ajv": "^6.11.0", - "deepmerge": "^4.2.2", - "rfdc": "^1.2.0", - "string-similarity": "^4.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fast-redact": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.0.tgz", - "integrity": "sha512-dir8LOnvialLxiXDPESMDHGp82CHi6ZEYTVkcvdn5d7psdv9ZkkButXrOeXST4aqreIRR+N7CYlsrwFuorurVg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fastify": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-3.27.0.tgz", - "integrity": "sha512-p99Fd7xt4DFew39U5Wnp/Soy7jkpxpaqToekwQ3XWv+ECUPXd6bSF9l79EiwkutWALtEU/JiRlzS9qjP2gLHFg==", - "dependencies": { - "@fastify/ajv-compiler": "^1.0.0", - "abstract-logging": "^2.0.0", - "avvio": "^7.1.2", - "fast-json-stringify": "^2.5.2", - "fastify-error": "^0.3.0", - "find-my-way": "^4.5.0", - "flatstr": "^1.0.12", - "light-my-request": "^4.2.0", - "pino": "^6.13.0", - "process-warning": "^1.0.0", - "proxy-addr": "^2.0.7", - "rfdc": "^1.1.4", - "secure-json-parse": "^2.0.0", - "semver": "^7.3.2", - "tiny-lru": "^7.0.0" - } - }, - "node_modules/fastify-cors": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/fastify-cors/-/fastify-cors-6.0.2.tgz", - "integrity": "sha512-sE0AOyzmj5hLLRRVgenjA6G2iOGX35/1S3QGYB9rr9TXelMZB3lFrXy4CzwYVOMiujJeMiLgO4J7eRm8sQSv8Q==", - "dependencies": { - "fastify-plugin": "^3.0.0", - "vary": "^1.1.2" - } - }, - "node_modules/fastify-error": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/fastify-error/-/fastify-error-0.3.1.tgz", - "integrity": "sha512-oCfpcsDndgnDVgiI7bwFKAun2dO+4h84vBlkWsWnz/OUK9Reff5UFoFl241xTiLeHWX/vU9zkDVXqYUxjOwHcQ==" - }, - "node_modules/fastify-formbody": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/fastify-formbody/-/fastify-formbody-5.2.0.tgz", - "integrity": "sha512-d8Y5hCL82akPyoFiXh2wYOm3es0pV9jqoPo3pO9OV2cNF0cQx39J5WAVXzCh4MSt9Z2qF4Fy5gHlvlyESwjtvg==", - "dependencies": { - "fastify-plugin": "^3.0.0" - } - }, - "node_modules/fastify-plugin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-3.0.1.tgz", - "integrity": "sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==" - }, - "node_modules/fastify-warning": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/fastify-warning/-/fastify-warning-0.2.0.tgz", - "integrity": "sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw==" - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/find-my-way": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-4.5.1.tgz", - "integrity": "sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==", - "dependencies": { - "fast-decode-uri-component": "^1.0.1", - "fast-deep-equal": "^3.1.3", - "safe-regex2": "^2.0.0", - "semver-store": "^0.3.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatstr": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", - "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==" - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/fluent-ffmpeg": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz", - "integrity": "sha1-yVLeIkD4EuvaCqgAbXd27irPfXQ=", - "dependencies": { - "async": ">=0.2.9", - "which": "^1.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz", - "integrity": "sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/formidable": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz", - "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==", - "dev": true, - "dependencies": { - "dezalgo": "1.0.3", - "hexoid": "1.0.0", - "once": "1.4.0", - "qs": "6.9.3" - }, - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/formidable/node_modules/qs": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", - "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==", - "dev": true, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "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==" - }, - "node_modules/fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "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-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "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/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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": ">=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.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "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==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/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/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "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/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "node_modules/hexoid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "engines": { - "node": "*" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.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.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "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/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/inquirer/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ioredis": { - "version": "4.28.5", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz", - "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==", - "dependencies": { - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.1", - "denque": "^1.1.0", - "lodash.defaults": "^4.2.0", - "lodash.flatten": "^4.4.0", - "lodash.isarguments": "^3.1.0", - "p-map": "^2.1.0", - "redis-commands": "1.7.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" - } - }, - "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-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/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/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_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", - "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", - "dev": true, - "dependencies": { - "@jest/core": "^27.4.7", - "import-local": "^3.0.2", - "jest-cli": "^27.4.7" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.0.tgz", - "integrity": "sha512-BGWKI7E6ORqbF5usF1oA4ftbkhVZVrXr8jB0/BrU6TAn3kfOVwX2Zx6pKIXYutJ+qNEjT8Da/gGak0ajya/StA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-changed-files/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.0.tgz", - "integrity": "sha512-+NPd1OxpAHYKjbW8dgL0huFgmtZRKSUKee/UtRgZJEfAxCeA12d7sp0coh5EGDBpW4fCk1Pcia/2dG+j6BQvdw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "pretty-format": "^27.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.0.tgz", - "integrity": "sha512-eOIpvpXFz5WHuIYZN1QmvBLEjsSk3w+IAC/2jBpZClbprF53Bj9meBMgAbE15DSkaaJBDFmhXXd1L2eCLaWxQw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.0", - "@jest/types": "^27.5.0", - "babel-jest": "^27.5.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.0", - "jest-environment-jsdom": "^27.5.0", - "jest-environment-node": "^27.5.0", - "jest-get-type": "^27.5.0", - "jest-jasmine2": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-runner": "^27.5.0", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.0.tgz", - "integrity": "sha512-zztvHDCq/QcAVv+o6rts0reupSOxyrX+KLQEOMWCW2trZgcBFgp/oTK7hJCGpXvEIqKrQzyQlaPKn9W04+IMQg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.0", - "jest-get-type": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.0.tgz", - "integrity": "sha512-U4MtJgdZn2x+jpPzd7NAYvDmgJAA5h9QxVAwsyuH7IymGzY8VGHhAkHcIGOmtmdC61ORLxCbEhj6fCJsaCWzXA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.0.tgz", - "integrity": "sha512-2vpajSdDMZmAxjSP1f4BG9KKduwHtuaI0w66oqLUkfaGUU7Ix/W+d8BW0h3/QEJiew7hR0GSblqdFwTEEbhBdw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.0", - "jest-util": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.0.tgz", - "integrity": "sha512-sX49N8rjp6HSHeGpNgLk6mtHRd1IPAnE/u7wLQkb6Tz/1E08Q++Y8Zk/IbpVdcFywbzH1icFqEuDuHJ6o+uXXg==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/fake-timers": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "jest-mock": "^27.5.0", - "jest-util": "^27.5.0", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.0.tgz", - "integrity": "sha512-7UzisMMfGyrURhS/eUa7p7mgaqN3ajHylsjOgfcn0caNeYRZq4LHKZLfAxrPM34DWLnBZcRupEJlpQsizdSUsw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/fake-timers": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "jest-mock": "^27.5.0", - "jest-util": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.0.tgz", - "integrity": "sha512-Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.0.tgz", - "integrity": "sha512-0KfckSBEKV+D6e0toXmIj4zzp72EiBnvkC0L+xYxenkLhAdkp2/8tye4AgMzz7Fqb1r8SWtz7+s1UQLrxMBang==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.0", - "jest-serializer": "^27.5.0", - "jest-util": "^27.5.0", - "jest-worker": "^27.5.0", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.0.tgz", - "integrity": "sha512-X7sT3HLNjjrBEepilxzPyNhNdyunaFBepo1L3T/fvYb9tb8Wb8qY576gwIa+SZcqYUqAA7/bT3EpZI4lAp0Qew==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/source-map": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "pretty-format": "^27.5.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.0.tgz", - "integrity": "sha512-Ak3k+DD3ao5d4/zzJrxAQ5UV5wiCrp47jH94ZD4/vXSzQgE6WBVDfg83VtculLILO7Y6/Q/7yzKSrtN9Na8luA==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.0.tgz", - "integrity": "sha512-5ruyzWMGb1ilCWD6ECwNdOhQBeIXAjHmHd5c3uO6quR7RIMHPRP2ucOaejz2j+0R0Ko4GanWM6SqXAeF8nYN5g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.0", - "jest-get-type": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.0.tgz", - "integrity": "sha512-lfbWRhTtmZMEHPAtl0SrvNzK1F4UnVNMHOliRQT2BJ4sBFzIb0gBCHA4ebWD4o6l1fUyvDPxM01K9OIMQTAdQw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.0.tgz", - "integrity": "sha512-PHluG6MJGng82/sxh8OiB9fnxzNn3cazceSHCAmAKs4g5rMhc3EZCrJXv+4w61rA2WGagMUj7QLLrA1SRlFpzQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.0.tgz", - "integrity": "sha512-e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.0.tgz", - "integrity": "sha512-PkDpYEGV/nFqThnIrlPtj8oTxyAV3iuuS6or7dZYyUWaHr/tyyVb5qfBmZS6FEr7ozBHgjrF1bgcgIefnlicbw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.0.tgz", - "integrity": "sha512-xQsy7CmrT4CJxdNUEdzZU2M/v6YmtQ/pkJM+sx7TA1siG1zfsZuo78PZvzglwRMQFr88f3Su4Om8OEBAic+SMw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-snapshot": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.0.tgz", - "integrity": "sha512-RMzXhkJLLOKKgUPY2trpyVBijaFmswMtgoCCBk2PQVRHC6yo1vLd1/jmFP39s5OXXnt7rntuzKSYvxl+QUibqQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.0", - "@jest/environment": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.0", - "jest-environment-jsdom": "^27.5.0", - "jest-environment-node": "^27.5.0", - "jest-haste-map": "^27.5.0", - "jest-leak-detector": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-util": "^27.5.0", - "jest-worker": "^27.5.0", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.0.tgz", - "integrity": "sha512-T7APxCPjN3p3ePcLuypbWtD0UZHyAdvIADZ9ABI/sFZ9t/Rf2xIUd6D7RzZIX+unewJRooVGWrgDIgeUuj0OUA==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/fake-timers": "^27.5.0", - "@jest/globals": "^27.5.0", - "@jest/source-map": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-mock": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runtime/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.0.tgz", - "integrity": "sha512-aSDFqQlVXtBH+Zb5dl9mCvTSFkabixk/9P9cpngL4yJKpmEi9USxfDhONFMzJrtftPvZw3PcltUVmtFZTB93rg==", - "dev": true, - "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-snapshot": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.0.tgz", - "integrity": "sha512-cAJj15uqWGkro0bfcv/EgusBnqNgCpRruFQZghsMYTq4Fm2lk/VhAf8DgRr8wvhR6Ue1hkeL8tn70Cw4t8x/5A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.0", - "jest-get-type": "^27.5.0", - "jest-haste-map": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-util": "^27.5.0", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.0", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.0.tgz", - "integrity": "sha512-FUUqOx0gAzJy3ytatT1Ss372M1kmhczn8x7aE0++11oPGW1FyD/5NjYBI8w1KOXFm6IVjtaZm2szfJJL+CHs0g==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.0.tgz", - "integrity": "sha512-2XZzQWNrY9Ypo11mm4ZeVjvr++CQG/45XnmA2aWwx155lTwy1JGFI8LpQ2dBCSAeO21ooqg/FCIvv9WwfnPClA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.0", - "leven": "^3.1.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.0.tgz", - "integrity": "sha512-MhIeIvEd6dnnspE0OfYrqHOAfZZdyFqx/k8U2nvVFSkLYf22qAFfyNWPVQYcwqKVNobcOhJoT0kV/nRHGbqK8A==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.0.tgz", - "integrity": "sha512-8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.0.tgz", - "integrity": "sha512-9ANs79Goz1ULKtG7HDm/F//4E69v8EFOLXRIHmeC/eK1xTUeQGlU6XP0Zwst386sKaKB4O60qhWY/UaTBS2MLA==", - "dev": true, - "dependencies": { - "@jest/core": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.0", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/joi": { - "version": "17.5.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.5.0.tgz", - "integrity": "sha512-R7hR50COp7StzLnDi4ywOXHrBrgNXuUUfJWIR5lPY5Bm/pOD3jZaTwpluUXVLRWcoWZxkrHBBJ5hLxgnlehbdw==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.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==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js-yaml/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/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "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" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "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==" - }, - "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=4", - "npm": ">=1.4.28" - } - }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/libphonenumber-js": { - "version": "1.9.48", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.48.tgz", - "integrity": "sha512-2aiDGkr5Ty7LZRhKhnMeV9tfRbzd2zahgF12I0v11AFwEelSdiu5t8/Npf3UejKcuoO4anqTdjnIW3dEtj1xYQ==" - }, - "node_modules/light-my-request": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-4.7.0.tgz", - "integrity": "sha512-LTa8YZp3K2AUpqUnwwKajoIHcsKOBnzwJNQSrk7unziPwo6CjOYjyO0F9wfkxFvP+nBsCGe3eMPnedVgIIgdAw==", - "dependencies": { - "ajv": "^8.1.0", - "cookie": "^0.4.0", - "fastify-warning": "^0.2.0", - "set-cookie-parser": "^2.4.1" - } - }, - "node_modules/light-my-request/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "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/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "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.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - }, - "node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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/luxon": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", - "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==", - "engines": { - "node": "*" - } - }, - "node_modules/macos-release": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", - "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", - "dev": true, - "dependencies": { - "fs-monkey": "1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/middie": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/middie/-/middie-5.3.0.tgz", - "integrity": "sha512-uq6Ob4dmmHeT6rJpBDWVwSxBzxzKlBvnrZdLSRJeuhHzljvZ6ccgLP/HaShgfiYrQvekRH0KUe/G1WTu/IrXsQ==", - "dependencies": { - "fastify-plugin": "^3.0.0", - "path-to-regexp": "^6.1.0", - "reusify": "^1.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/middie/node_modules/path-to-regexp": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz", - "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==" - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dependencies": { - "mime-db": "1.51.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/minipass": { - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "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" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "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==" - }, - "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/msgpackr": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.4.tgz", - "integrity": "sha512-Z7w5Jg+2Q9z9gJxeM68d7tSuWZZGnFIRhZnyqcZCa/1dKkhOCNvR1TUV3zzJ3+vj78vlwKRzUgVDlW4jiSOeDA==", - "optionalDependencies": { - "msgpackr-extract": "^1.0.14" - } - }, - "node_modules/msgpackr-extract": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz", - "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "nan": "^2.14.2", - "node-gyp-build": "^4.2.3" - } - }, - "node_modules/multer": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", - "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", - "dependencies": { - "append-field": "^1.0.0", - "busboy": "^0.2.11", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "on-finished": "^2.3.0", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "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==", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "optional": true - }, - "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==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "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==", - "engines": { - "node": ">= 0.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==", - "dev": true - }, - "node_modules/node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", - "dependencies": { - "semver": "^5.4.1" - } - }, - "node_modules/node-abi/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" - }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "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/notepack.io": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-2.2.0.tgz", - "integrity": "sha512-9b5w3t5VSH6ZPosoYnyDONnUTF8o0UkBw7JLA6eBlYJWyGT1Q3vQa8Hmuj1/X6RYvHjjygBDgw6fJhe0JEojfw==" - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optional": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", - "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", - "dev": true - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "dev": true, - "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/os-name": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", - "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", - "dev": true, - "dependencies": { - "macos-release": "^2.5.0", - "windows-release": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/packet-reader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dependencies": { - "parse5": "^6.0.1" - } - }, - "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/passport": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz", - "integrity": "sha512-w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==", - "dependencies": { - "passport-strategy": "1.x.x", - "pause": "0.0.1" - }, - "engines": { - "node": ">= 0.4.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jaredhanson" - } - }, - "node_modules/passport-jwt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.0.tgz", - "integrity": "sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg==", - "dependencies": { - "jsonwebtoken": "^8.2.0", - "passport-strategy": "^1.0.0" - } - }, - "node_modules/passport-strategy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "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-to-regexp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==" - }, - "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/pause": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" - }, - "node_modules/pg": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.1.tgz", - "integrity": "sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==", - "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.5.0", - "pg-pool": "^3.4.1", - "pg-protocol": "^1.5.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "pg-native": ">=2.0.0" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-connection-string": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", - "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-pool": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz", - "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", - "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "dependencies": { - "split2": "^4.1.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pino": { - "version": "6.13.4", - "resolved": "https://registry.npmjs.org/pino/-/pino-6.13.4.tgz", - "integrity": "sha512-g4tHSISmQJYUEKEMVdaZ+ZokWwFnTwZL5JPn+lnBVZ1BuBbrSchrXwQINknkM5+Q4fF6U9NjiI8PWwwMDHt9zA==", - "dependencies": { - "fast-redact": "^3.0.0", - "fast-safe-stringify": "^2.0.8", - "flatstr": "^1.0.12", - "pino-std-serializers": "^3.1.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "sonic-boom": "^1.0.2" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-std-serializers": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz", - "integrity": "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==" - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", - "dependencies": { - "detect-libc": "^1.0.3", - "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": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.0.tgz", - "integrity": "sha512-xEi6BRPZ+J1AIS4BAtFC/+rh5jXlXObGZjx5+OSpM95vR/PGla78bFVHMy5GdZjP9wk3AHAMHROXq/r69zXltw==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-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/process-warning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", - "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" - }, - "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==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "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/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" - } - }, - "node_modules/raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", - "dependencies": { - "bytes": "3.1.1", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "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" - }, - "bin": { - "rc": "cli.js" - } - }, - "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": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.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==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redis": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/redis/-/redis-3.1.2.tgz", - "integrity": "sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==", - "dependencies": { - "denque": "^1.5.0", - "redis-commands": "^1.7.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-redis" - } - }, - "node_modules/redis-commands": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", - "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==" - }, - "node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=", - "engines": { - "node": ">=4" - } - }, - "node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "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/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" - }, - "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/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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/safe-regex2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", - "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", - "dependencies": { - "ret": "~0.2.0" - } - }, - "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/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/secure-json-parse": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", - "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==" - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-store": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz", - "integrity": "sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==" - }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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==", - "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": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "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" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-cookie-parser": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz", - "integrity": "sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/sharp": { - "version": "0.28.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.28.3.tgz", - "integrity": "sha512-21GEP45Rmr7q2qcmdnjDkNP04Ooh5v0laGS5FDpojOO84D1DJwUijLiSq8XNNM6e8aGXYtoYRh3sVNdm8NodMA==", - "hasInstallScript": true, - "dependencies": { - "color": "^3.1.3", - "detect-libc": "^1.0.3", - "node-addon-api": "^3.2.0", - "prebuild-install": "^6.1.2", - "semver": "^7.3.5", - "simple-get": "^3.1.0", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" - }, - "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==", - "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": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/socket.io": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", - "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.1.0", - "socket.io-adapter": "~2.3.3", - "socket.io-parser": "~4.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", - "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==" - }, - "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-redis": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socket.io-redis/-/socket.io-redis-6.1.1.tgz", - "integrity": "sha512-jeaXe3TGKC20GMSlPHEdwTUIWUpay/L7m5+S9TQcOf22p9Llx44/RkpJV08+buXTZ8E+aivOotj2RdeFJJWJJQ==", - "deprecated": "This package has been renamed to '@socket.io/redis-adapter', please see the migration guide here: https://socket.io/docs/v4/redis-adapter/#migrating-from-socketio-redis", - "dependencies": { - "debug": "~4.3.1", - "notepack.io": "~2.2.0", - "redis": "^3.0.0", - "socket.io-adapter": "~2.2.0", - "uid2": "0.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-redis/node_modules/socket.io-adapter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.2.0.tgz", - "integrity": "sha512-rG49L+FwaVEwuAdeBRq49M97YI3ElVabJPzvHT9S6a2CWhDKnjSFasvwAwSYPRhQzfn4NtDIbCaGYgOCOU/rlg==" - }, - "node_modules/sonic-boom": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz", - "integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "flatstr": "^1.0.12" - } - }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "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/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_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/split2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", - "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/string_decoder": { - "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==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-similarity": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz", - "integrity": "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==" - }, - "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==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/superagent": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz", - "integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==", - "dev": true, - "dependencies": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.3", - "debug": "^4.3.3", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.0.1", - "methods": "^1.1.2", - "mime": "^2.5.0", - "qs": "^6.10.1", - "readable-stream": "^3.6.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">=6.4.0 <13 || >=14" - } - }, - "node_modules/superagent/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/superagent/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/supertest": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.2.tgz", - "integrity": "sha512-wCw9WhAtKJsBvh07RaS+/By91NNE0Wh0DN19/hWPlBOU8tAfOtbZoVSV4xXeoKoxgPx0rx2y+y+8660XtE7jzg==", - "dev": true, - "dependencies": { - "methods": "^1.1.2", - "superagent": "^7.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "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/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/systeminformation": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.0.tgz", - "integrity": "sha512-mI/5nFK7NUe9Qbmy65WoB5TlCWKAhP4kG0w6uR2mZM8Mpdi8b45b3hTIK3W5+kQYZnYFWeS9/O5nn5rdcSvqfA==", - "os": [ - "darwin", - "linux", - "win32", - "freebsd", - "openbsd", - "netbsd", - "sunos", - "android" - ], - "bin": { - "systeminformation": "lib/cli.js" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "Buy me a coffee", - "url": "https://www.buymeacoffee.com/systeminfo" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "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==", - "dependencies": { - "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": ">=6" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" - }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", - "dev": true, - "dependencies": { - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/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_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==", - "dev": true - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "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==", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/tiny-lru": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-7.0.6.tgz", - "integrity": "sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/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==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-jest": { - "version": "27.1.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.3.tgz", - "integrity": "sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^27.0.0", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@types/jest": "^27.0.0", - "babel-jest": ">=27.0.0 <28", - "esbuild": "~0.14.0", - "jest": "^27.0.0", - "typescript": ">=3.8 <5.0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@types/jest": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-node": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", - "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "0.7.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", - "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz", - "integrity": "sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^3.9.0" - } - }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "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" - } - }, - "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==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typeorm": { - "version": "0.2.41", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.41.tgz", - "integrity": "sha512-/d8CLJJxKPgsnrZWiMyPI0rz2MFZnBQrnQ5XP3Vu3mswv2WPexb58QM6BEtmRmlTMYN5KFWUz8SKluze+wS9xw==", - "dependencies": { - "@sqltools/formatter": "^1.2.2", - "app-root-path": "^3.0.0", - "buffer": "^6.0.3", - "chalk": "^4.1.0", - "cli-highlight": "^2.1.11", - "debug": "^4.3.1", - "dotenv": "^8.2.0", - "glob": "^7.1.6", - "js-yaml": "^4.0.0", - "mkdirp": "^1.0.4", - "reflect-metadata": "^0.1.13", - "sha.js": "^2.4.11", - "tslib": "^2.1.0", - "xml2js": "^0.4.23", - "yargs": "^17.0.1", - "zen-observable-ts": "^1.0.0" - }, - "bin": { - "typeorm": "cli.js" - }, - "funding": { - "url": "https://opencollective.com/typeorm" - }, - "peerDependencies": { - "@sap/hana-client": "*", - "better-sqlite3": "*", - "hdb-pool": "*", - "ioredis": "*", - "mongodb": "^3.6.0", - "mssql": "*", - "mysql2": "*", - "oracledb": "*", - "pg": "*", - "pg-native": "*", - "pg-query-stream": "*", - "redis": "*", - "sql.js": "*", - "sqlite3": "*", - "typeorm-aurora-data-api-driver": "*" - }, - "peerDependenciesMeta": { - "@sap/hana-client": { - "optional": true - }, - "better-sqlite3": { - "optional": true - }, - "hdb-pool": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "mongodb": { - "optional": true - }, - "mssql": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "oracledb": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-native": { - "optional": true - }, - "pg-query-stream": { - "optional": true - }, - "redis": { - "optional": true - }, - "sql.js": { - "optional": true - }, - "sqlite3": { - "optional": true - }, - "typeorm-aurora-data-api-driver": { - "optional": true - } - } - }, - "node_modules/typeorm/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "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.2.1" - } - }, - "node_modules/typeorm/node_modules/dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/typeorm/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/typeorm/node_modules/yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", - "dependencies": { - "cliui": "^7.0.2", - "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.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/typeorm/node_modules/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uid2": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=" - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "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/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/windows-release": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", - "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", - "dev": true, - "dependencies": { - "execa": "^4.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "dev": true, - "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/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "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==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "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/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/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/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/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/zen-observable": { - "version": "0.8.15", - "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", - "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" - }, - "node_modules/zen-observable-ts": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz", - "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==", - "dependencies": { - "@types/zen-observable": "0.8.3", - "zen-observable": "0.8.15" - } - } - }, "dependencies": { "@ampproject/remapping": { "version": "2.1.0", @@ -11487,8 +958,7 @@ "@nestjs/bull": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/@nestjs/bull/-/bull-0.4.2.tgz", - "integrity": "sha512-HYRMbgqoUIpGplXN8kaZ23E/yHn6TRrQ297ILRqaHTxBp4vO+XNLfL1qUmJ4Z6weufsNKGg0xcX4dSC5AhXV9g==", - "requires": {} + "integrity": "sha512-HYRMbgqoUIpGplXN8kaZ23E/yHn6TRrQ297ILRqaHTxBp4vO+XNLfL1qUmJ4Z6weufsNKGg0xcX4dSC5AhXV9g==" }, "@nestjs/cli": { "version": "8.2.0", @@ -11547,6 +1017,16 @@ "iterare": "1.2.1", "tslib": "2.3.1", "uuid": "8.3.2" + }, + "dependencies": { + "axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "requires": { + "follow-redirects": "^1.14.4" + } + } } }, "@nestjs/config": { @@ -11603,14 +1083,12 @@ "@nestjs/mapped-types": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz", - "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==", - "requires": {} + "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==" }, "@nestjs/passport": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-8.1.0.tgz", - "integrity": "sha512-IJ0AumoIWPzzki8d1TixTLcWJiNhJxzpn9ejAYA0TaKsC2B1zyg58WotTU3U/perCOiiAgjpvTB4vA/7L8K9Mg==", - "requires": {} + "integrity": "sha512-IJ0AumoIWPzzki8d1TixTLcWJiNhJxzpn9ejAYA0TaKsC2B1zyg58WotTU3U/perCOiiAgjpvTB4vA/7L8K9Mg==" }, "@nestjs/platform-express": { "version": "8.2.6", @@ -12566,15 +2044,13 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} + "dev": true }, "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, - "requires": {} + "dev": true }, "acorn-walk": { "version": "7.2.0", @@ -12635,8 +2111,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "ansi-colors": { "version": "4.1.1", @@ -12810,11 +2285,11 @@ } }, "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz", + "integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==", "requires": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.8" } }, "babel-jest": { @@ -13813,8 +3288,7 @@ "ws": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "requires": {} + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" } } }, @@ -14030,8 +3504,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", - "dev": true, - "requires": {} + "dev": true }, "eslint-plugin-prettier": { "version": "4.0.0", @@ -15483,8 +4956,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} + "dev": true }, "jest-regex-util": { "version": "27.5.0", @@ -16715,8 +6187,7 @@ "pg-pool": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz", - "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==", - "requires": {} + "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==" }, "pg-protocol": { "version": "1.5.0", @@ -17533,14 +7004,6 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" }, - "string_decoder": { - "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==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -17566,6 +7029,14 @@ "strip-ansi": "^6.0.1" } }, + "string_decoder": { + "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==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -18402,8 +7873,7 @@ "version": "7.5.7", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "dev": true, - "requires": {} + "dev": true }, "xml-name-validator": { "version": "3.0.0", diff --git a/server/package.json b/server/package.json index ef97eae230..2e98eaf848 100644 --- a/server/package.json +++ b/server/package.json @@ -18,7 +18,8 @@ "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", - "test:e2e": "jest --config ./test/jest-e2e.json" + "test:e2e": "jest --config ./test/jest-e2e.json", + "typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js" }, "dependencies": { "@nestjs/bull": "^0.4.2", @@ -34,6 +35,7 @@ "@nestjs/typeorm": "^8.0.3", "@nestjs/websockets": "^8.2.6", "@socket.io/redis-adapter": "^7.1.0", + "axios": "^0.26.0", "bcrypt": "^5.0.1", "bull": "^4.4.0", "class-transformer": "^0.5.1", @@ -46,10 +48,12 @@ "passport": "^0.5.2", "passport-jwt": "^4.0.0", "pg": "^8.7.1", + "redis": "^3.1.2", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.2.0", "sharp": "0.28", + "socket.io-redis": "^6.1.1", "systeminformation": "^5.11.0", "typeorm": "^0.2.41" }, diff --git a/server/src/api-v1/asset/entities/asset.entity.ts b/server/src/api-v1/asset/entities/asset.entity.ts index 8fd1be779d..e7461ef7fa 100644 --- a/server/src/api-v1/asset/entities/asset.entity.ts +++ b/server/src/api-v1/asset/entities/asset.entity.ts @@ -1,5 +1,6 @@ import { Column, Entity, JoinColumn, OneToOne, PrimaryColumn, PrimaryGeneratedColumn, Unique } from 'typeorm'; import { ExifEntity } from './exif.entity'; +import { SmartInfoEntity } from './smart-info.entity'; @Entity('assets') @Unique(['deviceAssetId', 'userId', 'deviceId']) @@ -42,6 +43,9 @@ export class AssetEntity { @OneToOne(() => ExifEntity, (exifEntity) => exifEntity.asset) exifInfo: ExifEntity; + + @OneToOne(() => SmartInfoEntity, (smartInfoEntity) => smartInfoEntity.asset) + smartInfo: SmartInfoEntity; } export enum AssetType { diff --git a/server/src/api-v1/asset/entities/smart-info.entity.ts b/server/src/api-v1/asset/entities/smart-info.entity.ts new file mode 100644 index 0000000000..8051095131 --- /dev/null +++ b/server/src/api-v1/asset/entities/smart-info.entity.ts @@ -0,0 +1,19 @@ +import { Column, Entity, Index, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { AssetEntity } from './asset.entity'; + +@Entity('smart_info') +export class SmartInfoEntity { + @PrimaryGeneratedColumn() + id: string; + + @Index({ unique: true }) + @Column({ type: 'uuid' }) + assetId: string; + + @Column({ type: 'text', array: true, nullable: true }) + tags: string[]; + + @OneToOne(() => AssetEntity, { onDelete: 'CASCADE', nullable: true }) + @JoinColumn({ name: 'assetId', referencedColumnName: 'id' }) + asset: SmartInfoEntity; +} diff --git a/server/src/config/database.config.ts b/server/src/config/database.config.ts index 20621d618d..71c94064cc 100644 --- a/server/src/config/database.config.ts +++ b/server/src/config/database.config.ts @@ -1,12 +1,11 @@ import { TypeOrmModuleOptions } from '@nestjs/typeorm'; -import dotenv from 'dotenv'; +// import dotenv from 'dotenv'; -const result = dotenv.config(); - -if (result.error) { - console.log(result.error); -} +// const result = dotenv.config(); +// if (result.error) { +// console.log(result.error); +// } export const databaseConfig: TypeOrmModuleOptions = { type: 'postgres', host: 'immich_postgres', @@ -15,13 +14,10 @@ export const databaseConfig: TypeOrmModuleOptions = { password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE_NAME, entities: [__dirname + '/../**/*.entity.{js,ts}'], - synchronize: true, - // logging: true, - // logger: 'advanced-console', - // ssl: process.env.NODE_ENV == 'production', - // extra: { - // ssl: { - // rejectUnauthorized: false, - // }, - // }, + synchronize: false, + migrations: [__dirname + '/../migration/*.js'], + cli: { + migrationsDir: __dirname + '/../migration', + }, + migrationsRun: true, }; diff --git a/server/src/middlewares/redis-io.adapter.middleware.ts b/server/src/middlewares/redis-io.adapter.middleware.ts index e31fed830b..64447b76ed 100644 --- a/server/src/middlewares/redis-io.adapter.middleware.ts +++ b/server/src/middlewares/redis-io.adapter.middleware.ts @@ -1,15 +1,23 @@ import { IoAdapter } from '@nestjs/platform-socket.io'; -import { RedisClient, createClient } from 'redis'; +import { RedisClient } from 'redis'; import { ServerOptions } from 'socket.io'; -import { createAdapter } from '@socket.io/redis-adapter'; +import { createAdapter } from 'socket.io-redis'; + +// const pubClient = createClient({ url: 'redis://immich_redis:6379' }); +// const subClient = pubClient.duplicate(); + +const pubClient = new RedisClient({ + port: 6379, + host: 'immich_redis', +}); -const pubClient = createClient({ url: 'redis://immich_redis:6379' }); const subClient = pubClient.duplicate(); +const redisAdapter = createAdapter({ pubClient, subClient }); export class RedisIoAdapter extends IoAdapter { createIOServer(port: number, options?: ServerOptions): any { const server = super.createIOServer(port, options); - server.adapter(createAdapter(pubClient, subClient)); + server.adapter(redisAdapter); return server; } } diff --git a/server/src/migration/1645130759468-CreateUserTable.ts b/server/src/migration/1645130759468-CreateUserTable.ts new file mode 100644 index 0000000000..6e3d427dd2 --- /dev/null +++ b/server/src/migration/1645130759468-CreateUserTable.ts @@ -0,0 +1,22 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateUserTable1645130759468 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + create table if not exists users + ( + id uuid default uuid_generate_v4() not null + constraint "PK_a3ffb1c0c8416b9fc6f907b7433" + primary key, + email varchar not null, + password varchar not null, + salt varchar not null, + "createdAt" timestamp default now() not null + ); + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`drop table users`); + } +} diff --git a/server/src/migration/1645130777674-CreateDeviceInfoTable.ts b/server/src/migration/1645130777674-CreateDeviceInfoTable.ts new file mode 100644 index 0000000000..bf53d7910b --- /dev/null +++ b/server/src/migration/1645130777674-CreateDeviceInfoTable.ts @@ -0,0 +1,26 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateDeviceInfoTable1645130777674 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + create table if not exists device_info + ( + id serial + constraint "PK_b1c15a80b0a4e5f4eebadbdd92c" + primary key, + "userId" varchar not null, + "deviceId" varchar not null, + "deviceType" varchar not null, + "notificationToken" varchar, + "createdAt" timestamp default now() not null, + "isAutoBackup" boolean default false not null, + constraint "UQ_ebad78f36b10d15fbea8560e107" + unique ("userId", "deviceId") + ); + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`drop table device_info`); + } +} diff --git a/server/src/migration/1645130805273-CreateAssetsTable.ts b/server/src/migration/1645130805273-CreateAssetsTable.ts new file mode 100644 index 0000000000..82727e18a5 --- /dev/null +++ b/server/src/migration/1645130805273-CreateAssetsTable.ts @@ -0,0 +1,31 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateAssetsTable1645130805273 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + create table if not exists assets + ( + id uuid default uuid_generate_v4() not null + constraint "PK_da96729a8b113377cfb6a62439c" + primary key, + "deviceAssetId" varchar not null, + "userId" varchar not null, + "deviceId" varchar not null, + type varchar not null, + "originalPath" varchar not null, + "resizePath" varchar, + "createdAt" varchar not null, + "modifiedAt" varchar not null, + "isFavorite" boolean default false not null, + "mimeType" varchar, + duration varchar, + constraint "UQ_b599ab0bd9574958acb0b30a90e" + unique ("deviceAssetId", "userId", "deviceId") + ); + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`drop table assets`); + } +} diff --git a/server/src/migration/1645130817965-CreateExifTable.ts b/server/src/migration/1645130817965-CreateExifTable.ts new file mode 100644 index 0000000000..af46b86507 --- /dev/null +++ b/server/src/migration/1645130817965-CreateExifTable.ts @@ -0,0 +1,42 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateExifTable1645130817965 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + create table if not exists exif + ( + id serial + constraint "PK_28663352d85078ad0046dafafaa" + primary key, + "assetId" uuid not null + constraint "REL_c0117fdbc50b917ef9067740c4" + unique + constraint "FK_c0117fdbc50b917ef9067740c44" + references assets + on delete cascade, + make varchar, + model varchar, + "imageName" varchar, + "exifImageWidth" integer, + "exifImageHeight" integer, + "fileSizeInByte" integer, + orientation varchar, + "dateTimeOriginal" timestamp with time zone, + "modifyDate" timestamp with time zone, + "lensModel" varchar, + "fNumber" double precision, + "focalLength" double precision, + iso integer, + "exposureTime" double precision, + latitude double precision, + longitude double precision + ); + + create unique index if not exists "IDX_c0117fdbc50b917ef9067740c4" on exif ("assetId"); + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`drop table exif`); + } +} diff --git a/server/src/migration/1645130870184-CreateSmartInfoTable.ts b/server/src/migration/1645130870184-CreateSmartInfoTable.ts new file mode 100644 index 0000000000..9c81f6099a --- /dev/null +++ b/server/src/migration/1645130870184-CreateSmartInfoTable.ts @@ -0,0 +1,30 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateSmartInfoTable1645130870184 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + create table if not exists smart_info + ( + id serial + constraint "PK_0beace66440e9713f5c40470e46" + primary key, + "assetId" uuid not null + constraint "UQ_5e3753aadd956110bf3ec0244ac" + unique + constraint "FK_5e3753aadd956110bf3ec0244ac" + references assets + on delete cascade, + tags text[] + ); + + create unique index if not exists "IDX_5e3753aadd956110bf3ec0244a" + on smart_info ("assetId"); + `); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(` + drop table smart_info; + `); + } +} diff --git a/server/src/modules/background-task/background-task.module.ts b/server/src/modules/background-task/background-task.module.ts index 3bd2e419a9..b610ebf9e3 100644 --- a/server/src/modules/background-task/background-task.module.ts +++ b/server/src/modules/background-task/background-task.module.ts @@ -3,6 +3,7 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AssetEntity } from '../../api-v1/asset/entities/asset.entity'; import { ExifEntity } from '../../api-v1/asset/entities/exif.entity'; +import { SmartInfoEntity } from '../../api-v1/asset/entities/smart-info.entity'; import { BackgroundTaskProcessor } from './background-task.processor'; import { BackgroundTaskService } from './background-task.service'; @@ -16,7 +17,7 @@ import { BackgroundTaskService } from './background-task.service'; removeOnFail: false, }, }), - TypeOrmModule.forFeature([AssetEntity, ExifEntity]), + TypeOrmModule.forFeature([AssetEntity, ExifEntity, SmartInfoEntity]), ], providers: [BackgroundTaskService, BackgroundTaskProcessor], exports: [BackgroundTaskService], diff --git a/server/src/modules/background-task/background-task.processor.ts b/server/src/modules/background-task/background-task.processor.ts index 7dcf097432..8325f30a7d 100644 --- a/server/src/modules/background-task/background-task.processor.ts +++ b/server/src/modules/background-task/background-task.processor.ts @@ -9,6 +9,8 @@ import { readFile } from 'fs/promises'; import fs from 'fs'; import { Logger } from '@nestjs/common'; import { ExifEntity } from '../../api-v1/asset/entities/exif.entity'; +import axios from 'axios'; +import { SmartInfoEntity } from '../../api-v1/asset/entities/smart-info.entity'; @Processor('background-task') export class BackgroundTaskProcessor { @@ -16,6 +18,9 @@ export class BackgroundTaskProcessor { @InjectRepository(AssetEntity) private assetRepository: Repository, + @InjectRepository(SmartInfoEntity) + private smartInfoRepository: Repository, + @InjectRepository(ExifEntity) private exifRepository: Repository, @@ -76,4 +81,18 @@ export class BackgroundTaskProcessor { }); }); } + + @Process('tag-image') + async tagImage(job) { + const { thumbnailPath, asset }: { thumbnailPath: string; asset: AssetEntity } = job.data; + const res = await axios.post('http://immich_tf_fastapi:8000/tagImage', { thumbnail_path: thumbnailPath }); + + if (res.status == 200) { + const smartInfo = new SmartInfoEntity(); + smartInfo.assetId = asset.id; + smartInfo.tags = [...res.data]; + + this.smartInfoRepository.save(smartInfo); + } + } } diff --git a/server/src/modules/background-task/background-task.service.ts b/server/src/modules/background-task/background-task.service.ts index 9a6da718ba..6ab54ac0cb 100644 --- a/server/src/modules/background-task/background-task.service.ts +++ b/server/src/modules/background-task/background-task.service.ts @@ -32,4 +32,15 @@ export class BackgroundTaskService { { jobId: randomUUID() }, ); } + + async tagImage(thumbnailPath: string, asset: AssetEntity) { + await this.backgroundTaskQueue.add( + 'tag-image', + { + thumbnailPath, + asset, + }, + { jobId: randomUUID() }, + ); + } } diff --git a/server/src/modules/image-optimize/image-optimize.module.ts b/server/src/modules/image-optimize/image-optimize.module.ts index d92e8c2032..89e9cc739d 100644 --- a/server/src/modules/image-optimize/image-optimize.module.ts +++ b/server/src/modules/image-optimize/image-optimize.module.ts @@ -1,20 +1,17 @@ import { BullModule } from '@nestjs/bull'; import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { join } from 'path'; -import { AssetModule } from '../../api-v1/asset/asset.module'; -import { AssetService } from '../../api-v1/asset/asset.service'; import { AssetEntity } from '../../api-v1/asset/entities/asset.entity'; -import { CommunicationGateway } from '../../api-v1/communication/communication.gateway'; import { CommunicationModule } from '../../api-v1/communication/communication.module'; -import { UserEntity } from '../../api-v1/user/entities/user.entity'; -import { ImmichJwtModule } from '../immich-jwt/immich-jwt.module'; +import { BackgroundTaskModule } from '../background-task/background-task.module'; +import { BackgroundTaskService } from '../background-task/background-task.service'; import { ImageOptimizeProcessor } from './image-optimize.processor'; import { AssetOptimizeService } from './image-optimize.service'; @Module({ imports: [ CommunicationModule, + BackgroundTaskModule, BullModule.registerQueue({ name: 'optimize', defaultJobOptions: { @@ -23,10 +20,17 @@ import { AssetOptimizeService } from './image-optimize.service'; removeOnFail: false, }, }), - + BullModule.registerQueue({ + name: 'background-task', + defaultJobOptions: { + attempts: 3, + removeOnComplete: true, + removeOnFail: false, + }, + }), TypeOrmModule.forFeature([AssetEntity]), ], - providers: [AssetOptimizeService, ImageOptimizeProcessor], + providers: [AssetOptimizeService, ImageOptimizeProcessor, BackgroundTaskService], exports: [AssetOptimizeService], }) export class ImageOptimizeModule {} diff --git a/server/src/modules/image-optimize/image-optimize.processor.ts b/server/src/modules/image-optimize/image-optimize.processor.ts index 1e1faa4018..50f826c829 100644 --- a/server/src/modules/image-optimize/image-optimize.processor.ts +++ b/server/src/modules/image-optimize/image-optimize.processor.ts @@ -11,6 +11,7 @@ import { APP_UPLOAD_LOCATION } from '../../constants/upload_location.constant'; import { WebSocketServer } from '@nestjs/websockets'; import { Socket, Server as SocketIoServer } from 'socket.io'; import { CommunicationGateway } from '../../api-v1/communication/communication.gateway'; +import { BackgroundTaskService } from '../background-task/background-task.service'; @Processor('optimize') export class ImageOptimizeProcessor { @@ -18,6 +19,8 @@ export class ImageOptimizeProcessor { private wsCommunicateionGateway: CommunicationGateway, @InjectRepository(AssetEntity) private assetRepository: Repository, + + private backgroundTaskService: BackgroundTaskService, ) {} @Process('resize-image') @@ -58,11 +61,15 @@ export class ImageOptimizeProcessor { } const res = await this.assetRepository.update(savedAsset, { resizePath: desitnation }); + if (res.affected) { this.wsCommunicateionGateway.server .to(savedAsset.userId) .emit('on_upload_success', JSON.stringify(savedAsset)); } + + // Tag Image + this.backgroundTaskService.tagImage(desitnation, savedAsset); }); } else { sharp(data) @@ -79,6 +86,9 @@ export class ImageOptimizeProcessor { .to(savedAsset.userId) .emit('on_upload_success', JSON.stringify(savedAsset)); } + + // Tag Image + this.backgroundTaskService.tagImage(resizePath, savedAsset); }); } }); @@ -107,12 +117,18 @@ export class ImageOptimizeProcessor { filename: `${filename}.png`, }) .on('end', async (a) => { + const thumbnailPath = `${resizeDir}/${filename}.png`; + const res = await this.assetRepository.update(savedAsset, { resizePath: `${resizeDir}/${filename}.png` }); + if (res.affected) { this.wsCommunicateionGateway.server .to(savedAsset.userId) .emit('on_upload_success', JSON.stringify(savedAsset)); } + + // Tag Image + this.backgroundTaskService.tagImage(thumbnailPath, savedAsset); }); return 'ok';