├── .gitignore ├── api ├── index.js ├── models │ ├── Message.js │ └── User.js ├── package.json └── yarn.lock └── client ├── .gitignore ├── index.html ├── package.json ├── postcss.config.cjs ├── public └── vite.svg ├── src ├── App.jsx ├── Avatar.jsx ├── Chat.jsx ├── Contact.jsx ├── Logo.jsx ├── RegisterAndLoginForm.jsx ├── Routes.jsx ├── UserContext.jsx ├── assets │ └── react.svg ├── index.css └── main.jsx ├── tailwind.config.cjs ├── vite.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | api/.env 2 | client/.env 3 | .idea 4 | api/node_modules 5 | client/node_modules 6 | api/uploads/* 7 | -------------------------------------------------------------------------------- /api/index.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const mongoose = require('mongoose'); 3 | const cookieParser = require('cookie-parser'); 4 | const dotenv = require('dotenv'); 5 | const jwt = require('jsonwebtoken'); 6 | const cors = require('cors'); 7 | const bcrypt = require('bcryptjs'); 8 | const User = require('./models/User'); 9 | const Message = require('./models/Message'); 10 | const ws = require('ws'); 11 | const fs = require('fs'); 12 | 13 | dotenv.config(); 14 | mongoose.connect(process.env.MONGO_URL, (err) => { 15 | if (err) throw err; 16 | }); 17 | const jwtSecret = process.env.JWT_SECRET; 18 | const bcryptSalt = bcrypt.genSaltSync(10); 19 | 20 | const app = express(); 21 | app.use('/uploads', express.static(__dirname + '/uploads')); 22 | app.use(express.json()); 23 | app.use(cookieParser()); 24 | app.use(cors({ 25 | credentials: true, 26 | origin: process.env.CLIENT_URL, 27 | })); 28 | 29 | async function getUserDataFromRequest(req) { 30 | return new Promise((resolve, reject) => { 31 | const token = req.cookies?.token; 32 | if (token) { 33 | jwt.verify(token, jwtSecret, {}, (err, userData) => { 34 | if (err) throw err; 35 | resolve(userData); 36 | }); 37 | } else { 38 | reject('no token'); 39 | } 40 | }); 41 | 42 | } 43 | 44 | app.get('/test', (req,res) => { 45 | res.json('test ok'); 46 | }); 47 | 48 | app.get('/messages/:userId', async (req,res) => { 49 | const {userId} = req.params; 50 | const userData = await getUserDataFromRequest(req); 51 | const ourUserId = userData.userId; 52 | const messages = await Message.find({ 53 | sender:{$in:[userId,ourUserId]}, 54 | recipient:{$in:[userId,ourUserId]}, 55 | }).sort({createdAt: 1}); 56 | res.json(messages); 57 | }); 58 | 59 | app.get('/people', async (req,res) => { 60 | const users = await User.find({}, {'_id':1,username:1}); 61 | res.json(users); 62 | }); 63 | 64 | app.get('/profile', (req,res) => { 65 | const token = req.cookies?.token; 66 | if (token) { 67 | jwt.verify(token, jwtSecret, {}, (err, userData) => { 68 | if (err) throw err; 69 | res.json(userData); 70 | }); 71 | } else { 72 | res.status(401).json('no token'); 73 | } 74 | }); 75 | 76 | app.post('/login', async (req,res) => { 77 | const {username, password} = req.body; 78 | const foundUser = await User.findOne({username}); 79 | if (foundUser) { 80 | const passOk = bcrypt.compareSync(password, foundUser.password); 81 | if (passOk) { 82 | jwt.sign({userId:foundUser._id,username}, jwtSecret, {}, (err, token) => { 83 | res.cookie('token', token, {sameSite:'none', secure:true}).json({ 84 | id: foundUser._id, 85 | }); 86 | }); 87 | } 88 | } 89 | }); 90 | 91 | app.post('/logout', (req,res) => { 92 | res.cookie('token', '', {sameSite:'none', secure:true}).json('ok'); 93 | }); 94 | 95 | app.post('/register', async (req,res) => { 96 | const {username,password} = req.body; 97 | try { 98 | const hashedPassword = bcrypt.hashSync(password, bcryptSalt); 99 | const createdUser = await User.create({ 100 | username:username, 101 | password:hashedPassword, 102 | }); 103 | jwt.sign({userId:createdUser._id,username}, jwtSecret, {}, (err, token) => { 104 | if (err) throw err; 105 | res.cookie('token', token, {sameSite:'none', secure:true}).status(201).json({ 106 | id: createdUser._id, 107 | }); 108 | }); 109 | } catch(err) { 110 | if (err) throw err; 111 | res.status(500).json('error'); 112 | } 113 | }); 114 | 115 | const server = app.listen(4040); 116 | 117 | const wss = new ws.WebSocketServer({server}); 118 | wss.on('connection', (connection, req) => { 119 | 120 | function notifyAboutOnlinePeople() { 121 | [...wss.clients].forEach(client => { 122 | client.send(JSON.stringify({ 123 | online: [...wss.clients].map(c => ({userId:c.userId,username:c.username})), 124 | })); 125 | }); 126 | } 127 | 128 | connection.isAlive = true; 129 | 130 | connection.timer = setInterval(() => { 131 | connection.ping(); 132 | connection.deathTimer = setTimeout(() => { 133 | connection.isAlive = false; 134 | clearInterval(connection.timer); 135 | connection.terminate(); 136 | notifyAboutOnlinePeople(); 137 | console.log('dead'); 138 | }, 1000); 139 | }, 5000); 140 | 141 | connection.on('pong', () => { 142 | clearTimeout(connection.deathTimer); 143 | }); 144 | 145 | // read username and id form the cookie for this connection 146 | const cookies = req.headers.cookie; 147 | if (cookies) { 148 | const tokenCookieString = cookies.split(';').find(str => str.startsWith('token=')); 149 | if (tokenCookieString) { 150 | const token = tokenCookieString.split('=')[1]; 151 | if (token) { 152 | jwt.verify(token, jwtSecret, {}, (err, userData) => { 153 | if (err) throw err; 154 | const {userId, username} = userData; 155 | connection.userId = userId; 156 | connection.username = username; 157 | }); 158 | } 159 | } 160 | } 161 | 162 | connection.on('message', async (message) => { 163 | const messageData = JSON.parse(message.toString()); 164 | const {recipient, text, file} = messageData; 165 | let filename = null; 166 | if (file) { 167 | console.log('size', file.data.length); 168 | const parts = file.name.split('.'); 169 | const ext = parts[parts.length - 1]; 170 | filename = Date.now() + '.'+ext; 171 | const path = __dirname + '/uploads/' + filename; 172 | const bufferData = new Buffer(file.data.split(',')[1], 'base64'); 173 | fs.writeFile(path, bufferData, () => { 174 | console.log('file saved:'+path); 175 | }); 176 | } 177 | if (recipient && (text || file)) { 178 | const messageDoc = await Message.create({ 179 | sender:connection.userId, 180 | recipient, 181 | text, 182 | file: file ? filename : null, 183 | }); 184 | console.log('created message'); 185 | [...wss.clients] 186 | .filter(c => c.userId === recipient) 187 | .forEach(c => c.send(JSON.stringify({ 188 | text, 189 | sender:connection.userId, 190 | recipient, 191 | file: file ? filename : null, 192 | _id:messageDoc._id, 193 | }))); 194 | } 195 | }); 196 | 197 | // notify everyone about online people (when someone connects) 198 | notifyAboutOnlinePeople(); 199 | }); 200 | -------------------------------------------------------------------------------- /api/models/Message.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | 3 | const MessageSchema = new mongoose.Schema({ 4 | sender: {type: mongoose.Schema.Types.ObjectId, ref: 'User'}, 5 | recipient: {type: mongoose.Schema.Types.ObjectId, ref: 'User'}, 6 | text: String, 7 | file: String, 8 | }, {timestamps:true}); 9 | 10 | const MessageModel = mongoose.model('Message', MessageSchema); 11 | 12 | module.exports = MessageModel; -------------------------------------------------------------------------------- /api/models/User.js: -------------------------------------------------------------------------------- 1 | const mongoose = require('mongoose'); 2 | 3 | const UserSchema = new mongoose.Schema({ 4 | username: {type:String, unique:true}, 5 | password: String, 6 | }, {timestamps: true}); 7 | 8 | const UserModel = mongoose.model('User', UserSchema); 9 | module.exports = UserModel; -------------------------------------------------------------------------------- /api/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "bcryptjs": "^2.4.3", 4 | "cookie-parser": "^1.4.6", 5 | "cors": "^2.8.5", 6 | "dotenv": "^16.0.3", 7 | "express": "^4.18.2", 8 | "jsonwebtoken": "^9.0.0", 9 | "mongoose": "^6.9.0", 10 | "ws": "^8.12.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /api/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aws-crypto/ie11-detection@^3.0.0": 6 | version "3.0.0" 7 | resolved "https://registry.yarnpkg.com/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz#640ae66b4ec3395cee6a8e94ebcd9f80c24cd688" 8 | integrity sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q== 9 | dependencies: 10 | tslib "^1.11.1" 11 | 12 | "@aws-crypto/sha256-browser@3.0.0": 13 | version "3.0.0" 14 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz#05f160138ab893f1c6ba5be57cfd108f05827766" 15 | integrity sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ== 16 | dependencies: 17 | "@aws-crypto/ie11-detection" "^3.0.0" 18 | "@aws-crypto/sha256-js" "^3.0.0" 19 | "@aws-crypto/supports-web-crypto" "^3.0.0" 20 | "@aws-crypto/util" "^3.0.0" 21 | "@aws-sdk/types" "^3.222.0" 22 | "@aws-sdk/util-locate-window" "^3.0.0" 23 | "@aws-sdk/util-utf8-browser" "^3.0.0" 24 | tslib "^1.11.1" 25 | 26 | "@aws-crypto/sha256-js@3.0.0", "@aws-crypto/sha256-js@^3.0.0": 27 | version "3.0.0" 28 | resolved "https://registry.yarnpkg.com/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz#f06b84d550d25521e60d2a0e2a90139341e007c2" 29 | integrity sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ== 30 | dependencies: 31 | "@aws-crypto/util" "^3.0.0" 32 | "@aws-sdk/types" "^3.222.0" 33 | tslib "^1.11.1" 34 | 35 | "@aws-crypto/supports-web-crypto@^3.0.0": 36 | version "3.0.0" 37 | resolved "https://registry.yarnpkg.com/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz#5d1bf825afa8072af2717c3e455f35cda0103ec2" 38 | integrity sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg== 39 | dependencies: 40 | tslib "^1.11.1" 41 | 42 | "@aws-crypto/util@^3.0.0": 43 | version "3.0.0" 44 | resolved "https://registry.yarnpkg.com/@aws-crypto/util/-/util-3.0.0.tgz#1c7ca90c29293f0883468ad48117937f0fe5bfb0" 45 | integrity sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w== 46 | dependencies: 47 | "@aws-sdk/types" "^3.222.0" 48 | "@aws-sdk/util-utf8-browser" "^3.0.0" 49 | tslib "^1.11.1" 50 | 51 | "@aws-sdk/abort-controller@3.257.0": 52 | version "3.257.0" 53 | resolved "https://registry.yarnpkg.com/@aws-sdk/abort-controller/-/abort-controller-3.257.0.tgz#a9039bd9c409defbbeb7bafef3a1b206fbfedad1" 54 | integrity sha512-ekWy391lOerS0ZECdhp/c+X7AToJIpfNrCPjuj3bKr+GMQYckGsYsdbm6AUD4sxBmfvuaQmVniSXWovaxwcFcQ== 55 | dependencies: 56 | "@aws-sdk/types" "3.257.0" 57 | tslib "^2.3.1" 58 | 59 | "@aws-sdk/client-cognito-identity@3.264.0": 60 | version "3.264.0" 61 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.264.0.tgz#9b5d85c0c3d46c2f68df10d005659b6f31cd42cc" 62 | integrity sha512-afOpX6/xKLKRjkbgzfuy9fxCVP+LXCiirjBxhEtpUbKjVOwvShbQXfCPDlG40s5HF485mmR9t0KADoy0El5WsA== 63 | dependencies: 64 | "@aws-crypto/sha256-browser" "3.0.0" 65 | "@aws-crypto/sha256-js" "3.0.0" 66 | "@aws-sdk/client-sts" "3.264.0" 67 | "@aws-sdk/config-resolver" "3.259.0" 68 | "@aws-sdk/credential-provider-node" "3.264.0" 69 | "@aws-sdk/fetch-http-handler" "3.257.0" 70 | "@aws-sdk/hash-node" "3.257.0" 71 | "@aws-sdk/invalid-dependency" "3.257.0" 72 | "@aws-sdk/middleware-content-length" "3.257.0" 73 | "@aws-sdk/middleware-endpoint" "3.264.0" 74 | "@aws-sdk/middleware-host-header" "3.257.0" 75 | "@aws-sdk/middleware-logger" "3.257.0" 76 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 77 | "@aws-sdk/middleware-retry" "3.259.0" 78 | "@aws-sdk/middleware-serde" "3.257.0" 79 | "@aws-sdk/middleware-signing" "3.257.0" 80 | "@aws-sdk/middleware-stack" "3.257.0" 81 | "@aws-sdk/middleware-user-agent" "3.257.0" 82 | "@aws-sdk/node-config-provider" "3.259.0" 83 | "@aws-sdk/node-http-handler" "3.257.0" 84 | "@aws-sdk/protocol-http" "3.257.0" 85 | "@aws-sdk/smithy-client" "3.261.0" 86 | "@aws-sdk/types" "3.257.0" 87 | "@aws-sdk/url-parser" "3.257.0" 88 | "@aws-sdk/util-base64" "3.208.0" 89 | "@aws-sdk/util-body-length-browser" "3.188.0" 90 | "@aws-sdk/util-body-length-node" "3.208.0" 91 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 92 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 93 | "@aws-sdk/util-endpoints" "3.257.0" 94 | "@aws-sdk/util-retry" "3.257.0" 95 | "@aws-sdk/util-user-agent-browser" "3.257.0" 96 | "@aws-sdk/util-user-agent-node" "3.259.0" 97 | "@aws-sdk/util-utf8" "3.254.0" 98 | tslib "^2.3.1" 99 | 100 | "@aws-sdk/client-sso-oidc@3.264.0": 101 | version "3.264.0" 102 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.264.0.tgz#186fff770e75d1ef72f39a2ab75c49919df92993" 103 | integrity sha512-82hGEbfsD4lBGIF1q8o82jTNSgBCcBpfFsvA+ltZf0bh4ChIWOi4vVvg8G+zVQN1mm/Rj8vWYO/D0tNF8OSyWw== 104 | dependencies: 105 | "@aws-crypto/sha256-browser" "3.0.0" 106 | "@aws-crypto/sha256-js" "3.0.0" 107 | "@aws-sdk/config-resolver" "3.259.0" 108 | "@aws-sdk/fetch-http-handler" "3.257.0" 109 | "@aws-sdk/hash-node" "3.257.0" 110 | "@aws-sdk/invalid-dependency" "3.257.0" 111 | "@aws-sdk/middleware-content-length" "3.257.0" 112 | "@aws-sdk/middleware-endpoint" "3.264.0" 113 | "@aws-sdk/middleware-host-header" "3.257.0" 114 | "@aws-sdk/middleware-logger" "3.257.0" 115 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 116 | "@aws-sdk/middleware-retry" "3.259.0" 117 | "@aws-sdk/middleware-serde" "3.257.0" 118 | "@aws-sdk/middleware-stack" "3.257.0" 119 | "@aws-sdk/middleware-user-agent" "3.257.0" 120 | "@aws-sdk/node-config-provider" "3.259.0" 121 | "@aws-sdk/node-http-handler" "3.257.0" 122 | "@aws-sdk/protocol-http" "3.257.0" 123 | "@aws-sdk/smithy-client" "3.261.0" 124 | "@aws-sdk/types" "3.257.0" 125 | "@aws-sdk/url-parser" "3.257.0" 126 | "@aws-sdk/util-base64" "3.208.0" 127 | "@aws-sdk/util-body-length-browser" "3.188.0" 128 | "@aws-sdk/util-body-length-node" "3.208.0" 129 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 130 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 131 | "@aws-sdk/util-endpoints" "3.257.0" 132 | "@aws-sdk/util-retry" "3.257.0" 133 | "@aws-sdk/util-user-agent-browser" "3.257.0" 134 | "@aws-sdk/util-user-agent-node" "3.259.0" 135 | "@aws-sdk/util-utf8" "3.254.0" 136 | tslib "^2.3.1" 137 | 138 | "@aws-sdk/client-sso@3.264.0": 139 | version "3.264.0" 140 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sso/-/client-sso-3.264.0.tgz#46725fc7bcaa7bbec3475aa4f8a492639f3bf6dd" 141 | integrity sha512-p+7sYpRcdv9omnnsPhD/vOFuZ1SpfV62ZgistBK/RDsQg2W9SIWQRW1KPt7gOCQ0nwp4efntw4Sle0LjS7ykxg== 142 | dependencies: 143 | "@aws-crypto/sha256-browser" "3.0.0" 144 | "@aws-crypto/sha256-js" "3.0.0" 145 | "@aws-sdk/config-resolver" "3.259.0" 146 | "@aws-sdk/fetch-http-handler" "3.257.0" 147 | "@aws-sdk/hash-node" "3.257.0" 148 | "@aws-sdk/invalid-dependency" "3.257.0" 149 | "@aws-sdk/middleware-content-length" "3.257.0" 150 | "@aws-sdk/middleware-endpoint" "3.264.0" 151 | "@aws-sdk/middleware-host-header" "3.257.0" 152 | "@aws-sdk/middleware-logger" "3.257.0" 153 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 154 | "@aws-sdk/middleware-retry" "3.259.0" 155 | "@aws-sdk/middleware-serde" "3.257.0" 156 | "@aws-sdk/middleware-stack" "3.257.0" 157 | "@aws-sdk/middleware-user-agent" "3.257.0" 158 | "@aws-sdk/node-config-provider" "3.259.0" 159 | "@aws-sdk/node-http-handler" "3.257.0" 160 | "@aws-sdk/protocol-http" "3.257.0" 161 | "@aws-sdk/smithy-client" "3.261.0" 162 | "@aws-sdk/types" "3.257.0" 163 | "@aws-sdk/url-parser" "3.257.0" 164 | "@aws-sdk/util-base64" "3.208.0" 165 | "@aws-sdk/util-body-length-browser" "3.188.0" 166 | "@aws-sdk/util-body-length-node" "3.208.0" 167 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 168 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 169 | "@aws-sdk/util-endpoints" "3.257.0" 170 | "@aws-sdk/util-retry" "3.257.0" 171 | "@aws-sdk/util-user-agent-browser" "3.257.0" 172 | "@aws-sdk/util-user-agent-node" "3.259.0" 173 | "@aws-sdk/util-utf8" "3.254.0" 174 | tslib "^2.3.1" 175 | 176 | "@aws-sdk/client-sts@3.264.0": 177 | version "3.264.0" 178 | resolved "https://registry.yarnpkg.com/@aws-sdk/client-sts/-/client-sts-3.264.0.tgz#d8c51a8b535485ee3d49c4d5a8c63ad948443bb0" 179 | integrity sha512-sco1jREkDdds4Z3V19Vlu/YpBHSzeEt1KFqOPnbjFw7pSakRNzpyWmLLxOwWjwgGKt6pSF3Aw0ZOMYsAUDc5qQ== 180 | dependencies: 181 | "@aws-crypto/sha256-browser" "3.0.0" 182 | "@aws-crypto/sha256-js" "3.0.0" 183 | "@aws-sdk/config-resolver" "3.259.0" 184 | "@aws-sdk/credential-provider-node" "3.264.0" 185 | "@aws-sdk/fetch-http-handler" "3.257.0" 186 | "@aws-sdk/hash-node" "3.257.0" 187 | "@aws-sdk/invalid-dependency" "3.257.0" 188 | "@aws-sdk/middleware-content-length" "3.257.0" 189 | "@aws-sdk/middleware-endpoint" "3.264.0" 190 | "@aws-sdk/middleware-host-header" "3.257.0" 191 | "@aws-sdk/middleware-logger" "3.257.0" 192 | "@aws-sdk/middleware-recursion-detection" "3.257.0" 193 | "@aws-sdk/middleware-retry" "3.259.0" 194 | "@aws-sdk/middleware-sdk-sts" "3.257.0" 195 | "@aws-sdk/middleware-serde" "3.257.0" 196 | "@aws-sdk/middleware-signing" "3.257.0" 197 | "@aws-sdk/middleware-stack" "3.257.0" 198 | "@aws-sdk/middleware-user-agent" "3.257.0" 199 | "@aws-sdk/node-config-provider" "3.259.0" 200 | "@aws-sdk/node-http-handler" "3.257.0" 201 | "@aws-sdk/protocol-http" "3.257.0" 202 | "@aws-sdk/smithy-client" "3.261.0" 203 | "@aws-sdk/types" "3.257.0" 204 | "@aws-sdk/url-parser" "3.257.0" 205 | "@aws-sdk/util-base64" "3.208.0" 206 | "@aws-sdk/util-body-length-browser" "3.188.0" 207 | "@aws-sdk/util-body-length-node" "3.208.0" 208 | "@aws-sdk/util-defaults-mode-browser" "3.261.0" 209 | "@aws-sdk/util-defaults-mode-node" "3.261.0" 210 | "@aws-sdk/util-endpoints" "3.257.0" 211 | "@aws-sdk/util-retry" "3.257.0" 212 | "@aws-sdk/util-user-agent-browser" "3.257.0" 213 | "@aws-sdk/util-user-agent-node" "3.259.0" 214 | "@aws-sdk/util-utf8" "3.254.0" 215 | fast-xml-parser "4.0.11" 216 | tslib "^2.3.1" 217 | 218 | "@aws-sdk/config-resolver@3.259.0": 219 | version "3.259.0" 220 | resolved "https://registry.yarnpkg.com/@aws-sdk/config-resolver/-/config-resolver-3.259.0.tgz#b2c17b681f890dbe31bc1670da41ae653a734c84" 221 | integrity sha512-gViMRsc4Ye6+nzJ0OYTZIT8m4glIAdtugN2Sr/t6P2iJW5X0bSL/EcbcHBgsve1lHjeGPeyzVkT7UnyGOZ5Z/A== 222 | dependencies: 223 | "@aws-sdk/signature-v4" "3.257.0" 224 | "@aws-sdk/types" "3.257.0" 225 | "@aws-sdk/util-config-provider" "3.208.0" 226 | "@aws-sdk/util-middleware" "3.257.0" 227 | tslib "^2.3.1" 228 | 229 | "@aws-sdk/credential-provider-cognito-identity@3.264.0": 230 | version "3.264.0" 231 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.264.0.tgz#798fce3a3a79eb813963169b98b6389869be5d22" 232 | integrity sha512-0L4offTpZJrX4PkoUI5KXPlG3uaofbmew+tgPphKd+ns3tzhLsltPMixS/04J5qXEfwMCHwvDgSpCenKsUo/wg== 233 | dependencies: 234 | "@aws-sdk/client-cognito-identity" "3.264.0" 235 | "@aws-sdk/property-provider" "3.257.0" 236 | "@aws-sdk/types" "3.257.0" 237 | tslib "^2.3.1" 238 | 239 | "@aws-sdk/credential-provider-env@3.257.0": 240 | version "3.257.0" 241 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-env/-/credential-provider-env-3.257.0.tgz#131d06bafa738c7f2ce2e7ee12c227ff6a414ada" 242 | integrity sha512-GsmBi5Di6hk1JAi1iB6/LCY8o+GmlCvJoB7wuoVmXI3VxRVwptUVjuj8EtJbIrVGrF9dSuIRPCzUoSuzEzYGlg== 243 | dependencies: 244 | "@aws-sdk/property-provider" "3.257.0" 245 | "@aws-sdk/types" "3.257.0" 246 | tslib "^2.3.1" 247 | 248 | "@aws-sdk/credential-provider-imds@3.259.0": 249 | version "3.259.0" 250 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.259.0.tgz#23bfa858dd4e97a6d530b9e3b0f4497ab0a0f8c7" 251 | integrity sha512-yCxoYWZAaDrCUEWxRfrpB0Mp1cFgJEMYW8T6GIb/+DQ5QLpZmorgaVD/j90QXupqFrR5tlxwuskBIkdD2E9YNg== 252 | dependencies: 253 | "@aws-sdk/node-config-provider" "3.259.0" 254 | "@aws-sdk/property-provider" "3.257.0" 255 | "@aws-sdk/types" "3.257.0" 256 | "@aws-sdk/url-parser" "3.257.0" 257 | tslib "^2.3.1" 258 | 259 | "@aws-sdk/credential-provider-ini@3.264.0": 260 | version "3.264.0" 261 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.264.0.tgz#02ee46f7a12ee9fc8ed1f4d53eca12ac4bfa3d27" 262 | integrity sha512-UU5NNlfn+Go+5PLBzyTH1YE3r/pgykpE4QYFon87sCnEQnQH9xmlRTW1f1cBSQ9kivbFZd2/C2X3qhB3fe2JfA== 263 | dependencies: 264 | "@aws-sdk/credential-provider-env" "3.257.0" 265 | "@aws-sdk/credential-provider-imds" "3.259.0" 266 | "@aws-sdk/credential-provider-process" "3.257.0" 267 | "@aws-sdk/credential-provider-sso" "3.264.0" 268 | "@aws-sdk/credential-provider-web-identity" "3.257.0" 269 | "@aws-sdk/property-provider" "3.257.0" 270 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 271 | "@aws-sdk/types" "3.257.0" 272 | tslib "^2.3.1" 273 | 274 | "@aws-sdk/credential-provider-node@3.264.0": 275 | version "3.264.0" 276 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.264.0.tgz#7bbee601805e32b77e54b89d2cac978f1cbdd254" 277 | integrity sha512-DPzL7oawcILs5Mduim9Z8SVeJaUpaDRVbUIrBHsMBu+N7Zuqtzr+0ckHc1bEi3iYq2QUCk5pH5vpQaZYkMlbtw== 278 | dependencies: 279 | "@aws-sdk/credential-provider-env" "3.257.0" 280 | "@aws-sdk/credential-provider-imds" "3.259.0" 281 | "@aws-sdk/credential-provider-ini" "3.264.0" 282 | "@aws-sdk/credential-provider-process" "3.257.0" 283 | "@aws-sdk/credential-provider-sso" "3.264.0" 284 | "@aws-sdk/credential-provider-web-identity" "3.257.0" 285 | "@aws-sdk/property-provider" "3.257.0" 286 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 287 | "@aws-sdk/types" "3.257.0" 288 | tslib "^2.3.1" 289 | 290 | "@aws-sdk/credential-provider-process@3.257.0": 291 | version "3.257.0" 292 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-process/-/credential-provider-process-3.257.0.tgz#7fd27f48606ad7c2af375b168c8e38dc938e3162" 293 | integrity sha512-xK8uYeNXaclaBCGrLi4z2pxPRngqLf5BM5jg2fn57zqvlL9V5gJF972FehrVBL0bfp1/laG0ZJtD2K2sapyWAw== 294 | dependencies: 295 | "@aws-sdk/property-provider" "3.257.0" 296 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 297 | "@aws-sdk/types" "3.257.0" 298 | tslib "^2.3.1" 299 | 300 | "@aws-sdk/credential-provider-sso@3.264.0": 301 | version "3.264.0" 302 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.264.0.tgz#70132bbf4a6b71c484496ec89d006c3b19762e44" 303 | integrity sha512-CJuAlqIIJap6LXoqimvEAnYZ7Kb5pTbiS3e+aY+fajO3OPujmQpHuiY8kOmscjwZ4ErJdEskivcTGwXph0dPZQ== 304 | dependencies: 305 | "@aws-sdk/client-sso" "3.264.0" 306 | "@aws-sdk/property-provider" "3.257.0" 307 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 308 | "@aws-sdk/token-providers" "3.264.0" 309 | "@aws-sdk/types" "3.257.0" 310 | tslib "^2.3.1" 311 | 312 | "@aws-sdk/credential-provider-web-identity@3.257.0": 313 | version "3.257.0" 314 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.257.0.tgz#928f3234818c6acbf67bf157e4a366f920285e62" 315 | integrity sha512-Cm0uvRv4JuIbD0Kp3W0J/vwjADIyCx8HoZi5yg+QIi5nilocuTQ3ajvLeuPVSvFvdy+yaxSc5FxNXquWt7Mngw== 316 | dependencies: 317 | "@aws-sdk/property-provider" "3.257.0" 318 | "@aws-sdk/types" "3.257.0" 319 | tslib "^2.3.1" 320 | 321 | "@aws-sdk/credential-providers@^3.186.0": 322 | version "3.264.0" 323 | resolved "https://registry.yarnpkg.com/@aws-sdk/credential-providers/-/credential-providers-3.264.0.tgz#211d40b16f6735e8f138000f31a7e548dee4e08f" 324 | integrity sha512-4iSr1Z7Uf8uDraQ7JYoMotVLhmnGFAGsH559KBPxuxjMjg2lku9GA5V1zw7SNV8FEcj+Sh5HrpJvJ7P1kA+YjA== 325 | dependencies: 326 | "@aws-sdk/client-cognito-identity" "3.264.0" 327 | "@aws-sdk/client-sso" "3.264.0" 328 | "@aws-sdk/client-sts" "3.264.0" 329 | "@aws-sdk/credential-provider-cognito-identity" "3.264.0" 330 | "@aws-sdk/credential-provider-env" "3.257.0" 331 | "@aws-sdk/credential-provider-imds" "3.259.0" 332 | "@aws-sdk/credential-provider-ini" "3.264.0" 333 | "@aws-sdk/credential-provider-node" "3.264.0" 334 | "@aws-sdk/credential-provider-process" "3.257.0" 335 | "@aws-sdk/credential-provider-sso" "3.264.0" 336 | "@aws-sdk/credential-provider-web-identity" "3.257.0" 337 | "@aws-sdk/property-provider" "3.257.0" 338 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 339 | "@aws-sdk/types" "3.257.0" 340 | tslib "^2.3.1" 341 | 342 | "@aws-sdk/fetch-http-handler@3.257.0": 343 | version "3.257.0" 344 | resolved "https://registry.yarnpkg.com/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.257.0.tgz#0b384ad33a57479f340ba558920a3eedded82131" 345 | integrity sha512-zOF+RzQ+wfF7tq7tGUdPcqUTh3+k2f8KCVJE07A8kCopVq4nBu4NH6Eq29Tjpwdya3YlKvE+kFssuQRRRRex+Q== 346 | dependencies: 347 | "@aws-sdk/protocol-http" "3.257.0" 348 | "@aws-sdk/querystring-builder" "3.257.0" 349 | "@aws-sdk/types" "3.257.0" 350 | "@aws-sdk/util-base64" "3.208.0" 351 | tslib "^2.3.1" 352 | 353 | "@aws-sdk/hash-node@3.257.0": 354 | version "3.257.0" 355 | resolved "https://registry.yarnpkg.com/@aws-sdk/hash-node/-/hash-node-3.257.0.tgz#517e4c3c957586c0f35f916fd5c8c9841292f01f" 356 | integrity sha512-W/USUuea5Ep3OJ2U7Ve8/5KN1YsDun2WzOFUxc1PyxXP5pW6OgC15/op0e+bmWPG851clvp5S8ZuroUr3aKi3Q== 357 | dependencies: 358 | "@aws-sdk/types" "3.257.0" 359 | "@aws-sdk/util-buffer-from" "3.208.0" 360 | "@aws-sdk/util-utf8" "3.254.0" 361 | tslib "^2.3.1" 362 | 363 | "@aws-sdk/invalid-dependency@3.257.0": 364 | version "3.257.0" 365 | resolved "https://registry.yarnpkg.com/@aws-sdk/invalid-dependency/-/invalid-dependency-3.257.0.tgz#e4cb2c7be40aa061dff32b0dc70db966da0938eb" 366 | integrity sha512-T68SAPRNMEhpke0wlxURgogL7q0B8dfqZsSeS20BVR/lksJxLse9+pbmCDxiu1RrXoEIsEwl5rbLN+Hw8BFFYw== 367 | dependencies: 368 | "@aws-sdk/types" "3.257.0" 369 | tslib "^2.3.1" 370 | 371 | "@aws-sdk/is-array-buffer@3.201.0": 372 | version "3.201.0" 373 | resolved "https://registry.yarnpkg.com/@aws-sdk/is-array-buffer/-/is-array-buffer-3.201.0.tgz#06e557adc284fac2f26071c2944ae01f61b95854" 374 | integrity sha512-UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg== 375 | dependencies: 376 | tslib "^2.3.1" 377 | 378 | "@aws-sdk/middleware-content-length@3.257.0": 379 | version "3.257.0" 380 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-content-length/-/middleware-content-length-3.257.0.tgz#b84274ccdfca70068ce8526a197ab00359404a9a" 381 | integrity sha512-yiawbV2azm6QnMY1L2ypG8PDRdjOcEIvFmT0T7y0F49rfbKJOu21j1ONAoCkLrINK6kMqcD5JSQLVCoURxiTxQ== 382 | dependencies: 383 | "@aws-sdk/protocol-http" "3.257.0" 384 | "@aws-sdk/types" "3.257.0" 385 | tslib "^2.3.1" 386 | 387 | "@aws-sdk/middleware-endpoint@3.264.0": 388 | version "3.264.0" 389 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.264.0.tgz#c700835a3d3d00d954068718bbdd867af1847a3e" 390 | integrity sha512-H9JEAug3Oo3IA2wZIplVVF6NtauCIjICXWgbNbA8Im+I2KPe0jWtOdtQv4U+tqHe9T4zIixaCM3gjUBld+FoOA== 391 | dependencies: 392 | "@aws-sdk/middleware-serde" "3.257.0" 393 | "@aws-sdk/protocol-http" "3.257.0" 394 | "@aws-sdk/signature-v4" "3.257.0" 395 | "@aws-sdk/types" "3.257.0" 396 | "@aws-sdk/url-parser" "3.257.0" 397 | "@aws-sdk/util-config-provider" "3.208.0" 398 | "@aws-sdk/util-middleware" "3.257.0" 399 | tslib "^2.3.1" 400 | 401 | "@aws-sdk/middleware-host-header@3.257.0": 402 | version "3.257.0" 403 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.257.0.tgz#75d2ddb8073f901961665070d69c5ff3736fabdc" 404 | integrity sha512-gEi9AJdJfRfU8Qr6HK1hfhxTzyV3Giq4B/h7um99hIFAT/GCg9xiPvAOKPo6UeuiKEv3b7RpSL4s6cBvnJMJBA== 405 | dependencies: 406 | "@aws-sdk/protocol-http" "3.257.0" 407 | "@aws-sdk/types" "3.257.0" 408 | tslib "^2.3.1" 409 | 410 | "@aws-sdk/middleware-logger@3.257.0": 411 | version "3.257.0" 412 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.257.0.tgz#db35e776fe3561d0602fa39d6c69d68ee4ab36ca" 413 | integrity sha512-8RDXW/VbMKBsXDfcCLmROZcWKyrekyiPa3J1aIaBy0tq9o4xpGoXw/lwwIrNVvISAFslb57rteup34bfn6ta6w== 414 | dependencies: 415 | "@aws-sdk/types" "3.257.0" 416 | tslib "^2.3.1" 417 | 418 | "@aws-sdk/middleware-recursion-detection@3.257.0": 419 | version "3.257.0" 420 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.257.0.tgz#83512e0228b41dfc37a337d2ad064cf6dc41f8df" 421 | integrity sha512-rUCih6zHh8k9Edf5N5Er4s508FYbwLM0MWTD2axzlj9TjLqEQ9OKED3wHaLffXSDzodd3oTAfJCLPbWQyoZ3ZQ== 422 | dependencies: 423 | "@aws-sdk/protocol-http" "3.257.0" 424 | "@aws-sdk/types" "3.257.0" 425 | tslib "^2.3.1" 426 | 427 | "@aws-sdk/middleware-retry@3.259.0": 428 | version "3.259.0" 429 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.259.0.tgz#18bbb2cd655fff1ea155dfcb9eaa2b583b67e42e" 430 | integrity sha512-pVh1g8e84MAi7eVtWLiiiCtn82LzxOP7+LxTRHatmgIeN22yGQBZILliPDJypUPvDYlwxI1ekiK+oPTcte0Uww== 431 | dependencies: 432 | "@aws-sdk/protocol-http" "3.257.0" 433 | "@aws-sdk/service-error-classification" "3.257.0" 434 | "@aws-sdk/types" "3.257.0" 435 | "@aws-sdk/util-middleware" "3.257.0" 436 | "@aws-sdk/util-retry" "3.257.0" 437 | tslib "^2.3.1" 438 | uuid "^8.3.2" 439 | 440 | "@aws-sdk/middleware-sdk-sts@3.257.0": 441 | version "3.257.0" 442 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.257.0.tgz#9cfbe9e8846c9053a40e32bc695f4bd735afeae2" 443 | integrity sha512-d6IJCLRi3O2tm4AFK60WNhIwmMmspj1WzKR1q1TaoPzoREPG2xg+Am18wZBRkCyYuRPPrbizmkvAmAJiUolMAw== 444 | dependencies: 445 | "@aws-sdk/middleware-signing" "3.257.0" 446 | "@aws-sdk/property-provider" "3.257.0" 447 | "@aws-sdk/protocol-http" "3.257.0" 448 | "@aws-sdk/signature-v4" "3.257.0" 449 | "@aws-sdk/types" "3.257.0" 450 | tslib "^2.3.1" 451 | 452 | "@aws-sdk/middleware-serde@3.257.0": 453 | version "3.257.0" 454 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-serde/-/middleware-serde-3.257.0.tgz#13c529b942dafffcb198d9333f8f8dc2a662c187" 455 | integrity sha512-/JasfXPWFq24mnCrx9fxW/ISBSp07RJwhsF14qzm8Qy3Z0z470C+QRM6otTwAkYuuVt1wuLjja5agq3Jtzq7dQ== 456 | dependencies: 457 | "@aws-sdk/types" "3.257.0" 458 | tslib "^2.3.1" 459 | 460 | "@aws-sdk/middleware-signing@3.257.0": 461 | version "3.257.0" 462 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-signing/-/middleware-signing-3.257.0.tgz#436c9e2fbbe1342c30572028e90ac62f7e90548f" 463 | integrity sha512-hCH3D83LHmm6nqmtNrGTWZCVjsQXrGHIXbd17/qrw7aPFvcAhsiiCncGFP+XsUXEKa2ZqcSNMUyPrx69ofNRZQ== 464 | dependencies: 465 | "@aws-sdk/property-provider" "3.257.0" 466 | "@aws-sdk/protocol-http" "3.257.0" 467 | "@aws-sdk/signature-v4" "3.257.0" 468 | "@aws-sdk/types" "3.257.0" 469 | "@aws-sdk/util-middleware" "3.257.0" 470 | tslib "^2.3.1" 471 | 472 | "@aws-sdk/middleware-stack@3.257.0": 473 | version "3.257.0" 474 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-stack/-/middleware-stack-3.257.0.tgz#c9fdc580c5337b703f87f6ae7df283540d6f16ac" 475 | integrity sha512-awg2F0SvwACBaw4HIObK8pQGfSqAc4Vy+YFzWSfZNVC35oRO6RsRdKHVU99lRC0LrT2Ptmfghl2DMPSrRDbvlQ== 476 | dependencies: 477 | tslib "^2.3.1" 478 | 479 | "@aws-sdk/middleware-user-agent@3.257.0": 480 | version "3.257.0" 481 | resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.257.0.tgz#9ca650f5909bd9b55879835088760173a9d3d249" 482 | integrity sha512-37rt75LZyD0UWpbcFuxEGqwF3DZKSixQPl7AsDe6q3KtrO5gGQB+diH5vbY0txNNYyv5IK9WMwvY73mVmoWRmw== 483 | dependencies: 484 | "@aws-sdk/protocol-http" "3.257.0" 485 | "@aws-sdk/types" "3.257.0" 486 | tslib "^2.3.1" 487 | 488 | "@aws-sdk/node-config-provider@3.259.0": 489 | version "3.259.0" 490 | resolved "https://registry.yarnpkg.com/@aws-sdk/node-config-provider/-/node-config-provider-3.259.0.tgz#0b522020c4a0e445b41f7150ce624b7b63e96e68" 491 | integrity sha512-DUOqr71oonBvM6yKPdhDBmraqgXHCFrVWFw7hc5ZNxL2wS/EsbKfGPJp+C+SUgpn1upIWPNnh/bNoLAbBkcLsA== 492 | dependencies: 493 | "@aws-sdk/property-provider" "3.257.0" 494 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 495 | "@aws-sdk/types" "3.257.0" 496 | tslib "^2.3.1" 497 | 498 | "@aws-sdk/node-http-handler@3.257.0": 499 | version "3.257.0" 500 | resolved "https://registry.yarnpkg.com/@aws-sdk/node-http-handler/-/node-http-handler-3.257.0.tgz#33e3ba0d8b0bf72a05be6c91e6b4cf90b8a7b786" 501 | integrity sha512-8KnWHVVwaGKyTlkTU9BSOAiSovNDoagxemU2l10QqBbzUCVpljCUMUkABEGRJ1yoQCl6DJ7RtNkAyZ8Ne/E15A== 502 | dependencies: 503 | "@aws-sdk/abort-controller" "3.257.0" 504 | "@aws-sdk/protocol-http" "3.257.0" 505 | "@aws-sdk/querystring-builder" "3.257.0" 506 | "@aws-sdk/types" "3.257.0" 507 | tslib "^2.3.1" 508 | 509 | "@aws-sdk/property-provider@3.257.0": 510 | version "3.257.0" 511 | resolved "https://registry.yarnpkg.com/@aws-sdk/property-provider/-/property-provider-3.257.0.tgz#dd6872ace54f8fd691a15167490ab52e40306c58" 512 | integrity sha512-3rUbRAcF0GZ5PhDiXhS4yREfZ5hOEtvYEa9S/19OdM5eoypOaLU5XnFcCKfnccSP8SkdgpJujzxOMRWNWadlAQ== 513 | dependencies: 514 | "@aws-sdk/types" "3.257.0" 515 | tslib "^2.3.1" 516 | 517 | "@aws-sdk/protocol-http@3.257.0": 518 | version "3.257.0" 519 | resolved "https://registry.yarnpkg.com/@aws-sdk/protocol-http/-/protocol-http-3.257.0.tgz#1452ce4f6a51e24297cc39f73aa889570dddd348" 520 | integrity sha512-xt7LGOgZIvbLS3418AYQLacOqx+mo5j4mPiIMz7f6AaUg+/fBUgESVsncKDqxbEJVwwCXSka8Ca0cntJmoeMSw== 521 | dependencies: 522 | "@aws-sdk/types" "3.257.0" 523 | tslib "^2.3.1" 524 | 525 | "@aws-sdk/querystring-builder@3.257.0": 526 | version "3.257.0" 527 | resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-builder/-/querystring-builder-3.257.0.tgz#75e662fc451cf59763bdee52ba64b05e5cd2de0a" 528 | integrity sha512-mZHWLP7XIkzx1GIXO5WfX/iJ+aY9TWs02RE9FkdL2+by0HEMR65L3brQTbU1mIBJ7BjaPwYH24dljUOSABX7yg== 529 | dependencies: 530 | "@aws-sdk/types" "3.257.0" 531 | "@aws-sdk/util-uri-escape" "3.201.0" 532 | tslib "^2.3.1" 533 | 534 | "@aws-sdk/querystring-parser@3.257.0": 535 | version "3.257.0" 536 | resolved "https://registry.yarnpkg.com/@aws-sdk/querystring-parser/-/querystring-parser-3.257.0.tgz#c8614e424d7d840c01be919161f61ef85eca46af" 537 | integrity sha512-UDrE1dEwWrWT8dG2VCrGYrPxCWOkZ1fPTPkjpkR4KZEdQDZBqU5gYZF2xPj8Nz7pjQVHFuW2wFm3XYEk56GEjg== 538 | dependencies: 539 | "@aws-sdk/types" "3.257.0" 540 | tslib "^2.3.1" 541 | 542 | "@aws-sdk/service-error-classification@3.257.0": 543 | version "3.257.0" 544 | resolved "https://registry.yarnpkg.com/@aws-sdk/service-error-classification/-/service-error-classification-3.257.0.tgz#a374e811ac587b9beb6e3fda77f2249570da7a8e" 545 | integrity sha512-FAyR0XsueGkkqDtkP03cTJQk52NdQ9sZelLynmmlGPUP75LApRPvFe1riKrou6+LsDbwVNVffj6mbDfIcOhaOw== 546 | 547 | "@aws-sdk/shared-ini-file-loader@3.257.0": 548 | version "3.257.0" 549 | resolved "https://registry.yarnpkg.com/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.257.0.tgz#513eee5c7ffa343bf5d91bdd73870fc5c47a4ad3" 550 | integrity sha512-HNjC1+Wx3xHiJc+CP14GhIdVhfQGSjroAsWseRxAhONocA9Fl1ZX4hx7+sA5c9nOoMVOovi6ivJ/6lCRPTDRrQ== 551 | dependencies: 552 | "@aws-sdk/types" "3.257.0" 553 | tslib "^2.3.1" 554 | 555 | "@aws-sdk/signature-v4@3.257.0": 556 | version "3.257.0" 557 | resolved "https://registry.yarnpkg.com/@aws-sdk/signature-v4/-/signature-v4-3.257.0.tgz#c2f0c998bfe1980ed91e0f92c311682a61de0f90" 558 | integrity sha512-aLQQN59X/D0+ShzPD3Anj5ntdMA/RFeNLOUCDyDvremViGi6yxUS98usQ/8bG5Rq0sW2GGMdbFUFmrDvqdiqEQ== 559 | dependencies: 560 | "@aws-sdk/is-array-buffer" "3.201.0" 561 | "@aws-sdk/types" "3.257.0" 562 | "@aws-sdk/util-hex-encoding" "3.201.0" 563 | "@aws-sdk/util-middleware" "3.257.0" 564 | "@aws-sdk/util-uri-escape" "3.201.0" 565 | "@aws-sdk/util-utf8" "3.254.0" 566 | tslib "^2.3.1" 567 | 568 | "@aws-sdk/smithy-client@3.261.0": 569 | version "3.261.0" 570 | resolved "https://registry.yarnpkg.com/@aws-sdk/smithy-client/-/smithy-client-3.261.0.tgz#538096a39198cf41fa8002467536e5af1958c518" 571 | integrity sha512-j8XQEa3caZUVFVZfhJjaskw80O/tB+IXu84HMN44N7UkXaCFHirUsNjTDztJhnVXf/gKXzIqUqprfRnOvwLtIg== 572 | dependencies: 573 | "@aws-sdk/middleware-stack" "3.257.0" 574 | "@aws-sdk/types" "3.257.0" 575 | tslib "^2.3.1" 576 | 577 | "@aws-sdk/token-providers@3.264.0": 578 | version "3.264.0" 579 | resolved "https://registry.yarnpkg.com/@aws-sdk/token-providers/-/token-providers-3.264.0.tgz#411c2f2d1e4080d2079adcf07deebd9696f2af75" 580 | integrity sha512-1N54FCdBJRqrwFWHUoDpGI0rKhI29Or9ZwGjjcBzKzLhz5sEF/DEhuID7h1/KKEkXdQ0+lmXOFGMMrahrMpOow== 581 | dependencies: 582 | "@aws-sdk/client-sso-oidc" "3.264.0" 583 | "@aws-sdk/property-provider" "3.257.0" 584 | "@aws-sdk/shared-ini-file-loader" "3.257.0" 585 | "@aws-sdk/types" "3.257.0" 586 | tslib "^2.3.1" 587 | 588 | "@aws-sdk/types@3.257.0", "@aws-sdk/types@^3.222.0": 589 | version "3.257.0" 590 | resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.257.0.tgz#4951ee3456cd9a46829516f5596c2b8a05ffe06a" 591 | integrity sha512-LmqXuBQBGeaGi/3Rp7XiEX1B5IPO2UUfBVvu0wwGqVsmstT0SbOVDZGPmxygACbm64n+PRx3uTSDefRfoiWYZg== 592 | dependencies: 593 | tslib "^2.3.1" 594 | 595 | "@aws-sdk/url-parser@3.257.0": 596 | version "3.257.0" 597 | resolved "https://registry.yarnpkg.com/@aws-sdk/url-parser/-/url-parser-3.257.0.tgz#99b1abb302426f1b24c9777789fb0479d52d675d" 598 | integrity sha512-Qe/AcFe/NFZHa6cN2afXEQn9ehXxh57dWGdRjfjd2lQqNV4WW1R2pl2Tm1ZJ1dwuCNLJi4NHLMk8lrD3QQ8rdg== 599 | dependencies: 600 | "@aws-sdk/querystring-parser" "3.257.0" 601 | "@aws-sdk/types" "3.257.0" 602 | tslib "^2.3.1" 603 | 604 | "@aws-sdk/util-base64@3.208.0": 605 | version "3.208.0" 606 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-base64/-/util-base64-3.208.0.tgz#36b430e5396251f761590f7c2f0c5c12193f353c" 607 | integrity sha512-PQniZph5A6N7uuEOQi+1hnMz/FSOK/8kMFyFO+4DgA1dZ5pcKcn5wiFwHkcTb/BsgVqQa3Jx0VHNnvhlS8JyTg== 608 | dependencies: 609 | "@aws-sdk/util-buffer-from" "3.208.0" 610 | tslib "^2.3.1" 611 | 612 | "@aws-sdk/util-body-length-browser@3.188.0": 613 | version "3.188.0" 614 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.188.0.tgz#e1d949318c10a621b38575a9ef01e39f9857ddb0" 615 | integrity sha512-8VpnwFWXhnZ/iRSl9mTf+VKOX9wDE8QtN4bj9pBfxwf90H1X7E8T6NkiZD3k+HubYf2J94e7DbeHs7fuCPW5Qg== 616 | dependencies: 617 | tslib "^2.3.1" 618 | 619 | "@aws-sdk/util-body-length-node@3.208.0": 620 | version "3.208.0" 621 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-body-length-node/-/util-body-length-node-3.208.0.tgz#baabd1fa1206ff2bd4ce3785122d86eb3258dd20" 622 | integrity sha512-3zj50e5g7t/MQf53SsuuSf0hEELzMtD8RX8C76f12OSRo2Bca4FLLYHe0TZbxcfQHom8/hOaeZEyTyMogMglqg== 623 | dependencies: 624 | tslib "^2.3.1" 625 | 626 | "@aws-sdk/util-buffer-from@3.208.0": 627 | version "3.208.0" 628 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-buffer-from/-/util-buffer-from-3.208.0.tgz#285e86f6dc9030148a4147d65239e75cb254a1b0" 629 | integrity sha512-7L0XUixNEFcLUGPeBF35enCvB9Xl+K6SQsmbrPk1P3mlV9mguWSDQqbOBwY1Ir0OVbD6H/ZOQU7hI/9RtRI0Zw== 630 | dependencies: 631 | "@aws-sdk/is-array-buffer" "3.201.0" 632 | tslib "^2.3.1" 633 | 634 | "@aws-sdk/util-config-provider@3.208.0": 635 | version "3.208.0" 636 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-config-provider/-/util-config-provider-3.208.0.tgz#c485fd83fbac051337e5f6be60ea3f9fa61c0139" 637 | integrity sha512-DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg== 638 | dependencies: 639 | tslib "^2.3.1" 640 | 641 | "@aws-sdk/util-defaults-mode-browser@3.261.0": 642 | version "3.261.0" 643 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.261.0.tgz#ea9f43fa569887a11db289b2e77ec6e518c5f4ed" 644 | integrity sha512-lX3X1NfzQVV6cakepGV24uRcqevlDnQ8VgaCV8dhnw1FVThueFigyoFaUA02+uRXbV9KIbNWkEvweNtm2wvyDw== 645 | dependencies: 646 | "@aws-sdk/property-provider" "3.257.0" 647 | "@aws-sdk/types" "3.257.0" 648 | bowser "^2.11.0" 649 | tslib "^2.3.1" 650 | 651 | "@aws-sdk/util-defaults-mode-node@3.261.0": 652 | version "3.261.0" 653 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.261.0.tgz#a7c09e3912a0f23e42b5c183d2a297b632014f9f" 654 | integrity sha512-4AK6yu4bOmHSocUdbGoEHbNXB09UA58ON2HBHY4NxMBuFBAd9XB2tYiyhce+Cm+o+lHbS8oQnw0VZw16WMzzew== 655 | dependencies: 656 | "@aws-sdk/config-resolver" "3.259.0" 657 | "@aws-sdk/credential-provider-imds" "3.259.0" 658 | "@aws-sdk/node-config-provider" "3.259.0" 659 | "@aws-sdk/property-provider" "3.257.0" 660 | "@aws-sdk/types" "3.257.0" 661 | tslib "^2.3.1" 662 | 663 | "@aws-sdk/util-endpoints@3.257.0": 664 | version "3.257.0" 665 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.257.0.tgz#40cc8f67b996f8ea173f43d0e58e57ca8c244e67" 666 | integrity sha512-3bvmRn5XGYzPPWjLuvHBKdJOb+fijnb8Ungu9bfXnTYFsng/ndHUWeHC22O/p8w3OWoRYUIMaZHxdxe27BFozg== 667 | dependencies: 668 | "@aws-sdk/types" "3.257.0" 669 | tslib "^2.3.1" 670 | 671 | "@aws-sdk/util-hex-encoding@3.201.0": 672 | version "3.201.0" 673 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.201.0.tgz#21d7ec319240ee68c33d938e71cb79830bea315d" 674 | integrity sha512-7t1vR1pVxKx0motd3X9rI3m/xNp78p3sHtP5yo4NP4ARpxyJ0fokBomY8ScaH2D/B+U5o9ARxldJUdMqyBlJcA== 675 | dependencies: 676 | tslib "^2.3.1" 677 | 678 | "@aws-sdk/util-locate-window@^3.0.0": 679 | version "3.208.0" 680 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-locate-window/-/util-locate-window-3.208.0.tgz#0f598fc238a1256e4bcb64d01459f03a922dd4c3" 681 | integrity sha512-iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg== 682 | dependencies: 683 | tslib "^2.3.1" 684 | 685 | "@aws-sdk/util-middleware@3.257.0": 686 | version "3.257.0" 687 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-middleware/-/util-middleware-3.257.0.tgz#b84ee6832eea9d439ff7e7a0453ea56af87b6b7a" 688 | integrity sha512-F9ieon8B8eGVs5tyZtAIG3DZEObDvujkspho0qRbUTHUosM0ylJLsMU800fmC/uRHLRrZvb/RSp59+kNDwSAMw== 689 | dependencies: 690 | tslib "^2.3.1" 691 | 692 | "@aws-sdk/util-retry@3.257.0": 693 | version "3.257.0" 694 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-retry/-/util-retry-3.257.0.tgz#20454375267e120576c9f24316dad0ebc489dc4b" 695 | integrity sha512-l9TOsOAYtZxwW3q5fQKW4rsD9t2HVaBfQ4zBamHkNTfB4vBVvCnz4oxkvSvA2MlxCA6am+K1K/oj917Tpqk53g== 696 | dependencies: 697 | "@aws-sdk/service-error-classification" "3.257.0" 698 | tslib "^2.3.1" 699 | 700 | "@aws-sdk/util-uri-escape@3.201.0": 701 | version "3.201.0" 702 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-uri-escape/-/util-uri-escape-3.201.0.tgz#5e708d4cde001a4558ee616f889ceacfadd2ab03" 703 | integrity sha512-TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA== 704 | dependencies: 705 | tslib "^2.3.1" 706 | 707 | "@aws-sdk/util-user-agent-browser@3.257.0": 708 | version "3.257.0" 709 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.257.0.tgz#6fa29ab2a15bfa82ce77d77b12891109b7673fb9" 710 | integrity sha512-YdavWK6/8Cw6mypEgysGGX/dT9p9qnzFbnN5PQsUY+JJk2Nx8fKFydjGiQ+6rWPeW17RAv9mmbboh9uPVWxVlw== 711 | dependencies: 712 | "@aws-sdk/types" "3.257.0" 713 | bowser "^2.11.0" 714 | tslib "^2.3.1" 715 | 716 | "@aws-sdk/util-user-agent-node@3.259.0": 717 | version "3.259.0" 718 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.259.0.tgz#61141a0d64668ebcbbb1ac3dac1f497ca9f3707e" 719 | integrity sha512-R0VTmNs+ySDDebU98BUbsLyeIM5YmAEr9esPpy15XfSy3AWmAeru8nLlztdaLilHZzLIDzvM2t7NGk/FzZFCvA== 720 | dependencies: 721 | "@aws-sdk/node-config-provider" "3.259.0" 722 | "@aws-sdk/types" "3.257.0" 723 | tslib "^2.3.1" 724 | 725 | "@aws-sdk/util-utf8-browser@^3.0.0": 726 | version "3.259.0" 727 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz#3275a6f5eb334f96ca76635b961d3c50259fd9ff" 728 | integrity sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw== 729 | dependencies: 730 | tslib "^2.3.1" 731 | 732 | "@aws-sdk/util-utf8@3.254.0": 733 | version "3.254.0" 734 | resolved "https://registry.yarnpkg.com/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz#909af9c6549833a9a9bf77004b7484bfc96b2c35" 735 | integrity sha512-14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw== 736 | dependencies: 737 | "@aws-sdk/util-buffer-from" "3.208.0" 738 | tslib "^2.3.1" 739 | 740 | "@types/node@*": 741 | version "18.11.19" 742 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.19.tgz#35e26df9ec441ab99d73e99e9aca82935eea216d" 743 | integrity sha512-YUgMWAQBWLObABqrvx8qKO1enAvBUdjZOAWQ5grBAkp5LQv45jBvYKZ3oFS9iKRCQyFjqw6iuEa1vmFqtxYLZw== 744 | 745 | "@types/webidl-conversions@*": 746 | version "7.0.0" 747 | resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.0.tgz#2b8e60e33906459219aa587e9d1a612ae994cfe7" 748 | integrity sha512-xTE1E+YF4aWPJJeUzaZI5DRntlkY3+BCVJi0axFptnjGmAoWxkyREIh/XMrfxVLejwQxMCfDXdICo0VLxThrog== 749 | 750 | "@types/whatwg-url@^8.2.1": 751 | version "8.2.2" 752 | resolved "https://registry.yarnpkg.com/@types/whatwg-url/-/whatwg-url-8.2.2.tgz#749d5b3873e845897ada99be4448041d4cc39e63" 753 | integrity sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA== 754 | dependencies: 755 | "@types/node" "*" 756 | "@types/webidl-conversions" "*" 757 | 758 | accepts@~1.3.8: 759 | version "1.3.8" 760 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" 761 | integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== 762 | dependencies: 763 | mime-types "~2.1.34" 764 | negotiator "0.6.3" 765 | 766 | array-flatten@1.1.1: 767 | version "1.1.1" 768 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" 769 | integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== 770 | 771 | base64-js@^1.3.1: 772 | version "1.5.1" 773 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 774 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 775 | 776 | bcryptjs@^2.4.3: 777 | version "2.4.3" 778 | resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" 779 | integrity sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ== 780 | 781 | body-parser@1.20.1: 782 | version "1.20.1" 783 | resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" 784 | integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== 785 | dependencies: 786 | bytes "3.1.2" 787 | content-type "~1.0.4" 788 | debug "2.6.9" 789 | depd "2.0.0" 790 | destroy "1.2.0" 791 | http-errors "2.0.0" 792 | iconv-lite "0.4.24" 793 | on-finished "2.4.1" 794 | qs "6.11.0" 795 | raw-body "2.5.1" 796 | type-is "~1.6.18" 797 | unpipe "1.0.0" 798 | 799 | bowser@^2.11.0: 800 | version "2.11.0" 801 | resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" 802 | integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== 803 | 804 | bson@^4.7.0: 805 | version "4.7.2" 806 | resolved "https://registry.yarnpkg.com/bson/-/bson-4.7.2.tgz#320f4ad0eaf5312dd9b45dc369cc48945e2a5f2e" 807 | integrity sha512-Ry9wCtIZ5kGqkJoi6aD8KjxFZEx78guTQDnpXWiNthsxzrxAK/i8E6pCHAIZTbaEFWcOCvbecMukfK7XUvyLpQ== 808 | dependencies: 809 | buffer "^5.6.0" 810 | 811 | buffer-equal-constant-time@1.0.1: 812 | version "1.0.1" 813 | resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" 814 | integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== 815 | 816 | buffer@^5.6.0: 817 | version "5.7.1" 818 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" 819 | integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== 820 | dependencies: 821 | base64-js "^1.3.1" 822 | ieee754 "^1.1.13" 823 | 824 | bytes@3.1.2: 825 | version "3.1.2" 826 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" 827 | integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== 828 | 829 | call-bind@^1.0.0: 830 | version "1.0.2" 831 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 832 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 833 | dependencies: 834 | function-bind "^1.1.1" 835 | get-intrinsic "^1.0.2" 836 | 837 | content-disposition@0.5.4: 838 | version "0.5.4" 839 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" 840 | integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== 841 | dependencies: 842 | safe-buffer "5.2.1" 843 | 844 | content-type@~1.0.4: 845 | version "1.0.5" 846 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" 847 | integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== 848 | 849 | cookie-parser@^1.4.6: 850 | version "1.4.6" 851 | resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.4.6.tgz#3ac3a7d35a7a03bbc7e365073a26074824214594" 852 | integrity sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA== 853 | dependencies: 854 | cookie "0.4.1" 855 | cookie-signature "1.0.6" 856 | 857 | cookie-signature@1.0.6: 858 | version "1.0.6" 859 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" 860 | integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== 861 | 862 | cookie@0.4.1: 863 | version "0.4.1" 864 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" 865 | integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== 866 | 867 | cookie@0.5.0: 868 | version "0.5.0" 869 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" 870 | integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== 871 | 872 | cors@^2.8.5: 873 | version "2.8.5" 874 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 875 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 876 | dependencies: 877 | object-assign "^4" 878 | vary "^1" 879 | 880 | debug@2.6.9: 881 | version "2.6.9" 882 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 883 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 884 | dependencies: 885 | ms "2.0.0" 886 | 887 | debug@4.x: 888 | version "4.3.4" 889 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 890 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 891 | dependencies: 892 | ms "2.1.2" 893 | 894 | depd@2.0.0: 895 | version "2.0.0" 896 | resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" 897 | integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== 898 | 899 | destroy@1.2.0: 900 | version "1.2.0" 901 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" 902 | integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== 903 | 904 | dotenv@^16.0.3: 905 | version "16.0.3" 906 | resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" 907 | integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== 908 | 909 | ecdsa-sig-formatter@1.0.11: 910 | version "1.0.11" 911 | resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" 912 | integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== 913 | dependencies: 914 | safe-buffer "^5.0.1" 915 | 916 | ee-first@1.1.1: 917 | version "1.1.1" 918 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" 919 | integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== 920 | 921 | encodeurl@~1.0.2: 922 | version "1.0.2" 923 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" 924 | integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== 925 | 926 | escape-html@~1.0.3: 927 | version "1.0.3" 928 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 929 | integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== 930 | 931 | etag@~1.8.1: 932 | version "1.8.1" 933 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 934 | integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== 935 | 936 | express@^4.18.2: 937 | version "4.18.2" 938 | resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" 939 | integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== 940 | dependencies: 941 | accepts "~1.3.8" 942 | array-flatten "1.1.1" 943 | body-parser "1.20.1" 944 | content-disposition "0.5.4" 945 | content-type "~1.0.4" 946 | cookie "0.5.0" 947 | cookie-signature "1.0.6" 948 | debug "2.6.9" 949 | depd "2.0.0" 950 | encodeurl "~1.0.2" 951 | escape-html "~1.0.3" 952 | etag "~1.8.1" 953 | finalhandler "1.2.0" 954 | fresh "0.5.2" 955 | http-errors "2.0.0" 956 | merge-descriptors "1.0.1" 957 | methods "~1.1.2" 958 | on-finished "2.4.1" 959 | parseurl "~1.3.3" 960 | path-to-regexp "0.1.7" 961 | proxy-addr "~2.0.7" 962 | qs "6.11.0" 963 | range-parser "~1.2.1" 964 | safe-buffer "5.2.1" 965 | send "0.18.0" 966 | serve-static "1.15.0" 967 | setprototypeof "1.2.0" 968 | statuses "2.0.1" 969 | type-is "~1.6.18" 970 | utils-merge "1.0.1" 971 | vary "~1.1.2" 972 | 973 | fast-xml-parser@4.0.11: 974 | version "4.0.11" 975 | resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-4.0.11.tgz#42332a9aca544520631c8919e6ea871c0185a985" 976 | integrity sha512-4aUg3aNRR/WjQAcpceODG1C3x3lFANXRo8+1biqfieHmg9pyMt7qB4lQV/Ta6sJCTbA5vfD8fnA8S54JATiFUA== 977 | dependencies: 978 | strnum "^1.0.5" 979 | 980 | finalhandler@1.2.0: 981 | version "1.2.0" 982 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" 983 | integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== 984 | dependencies: 985 | debug "2.6.9" 986 | encodeurl "~1.0.2" 987 | escape-html "~1.0.3" 988 | on-finished "2.4.1" 989 | parseurl "~1.3.3" 990 | statuses "2.0.1" 991 | unpipe "~1.0.0" 992 | 993 | forwarded@0.2.0: 994 | version "0.2.0" 995 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" 996 | integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== 997 | 998 | fresh@0.5.2: 999 | version "0.5.2" 1000 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" 1001 | integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== 1002 | 1003 | function-bind@^1.1.1: 1004 | version "1.1.1" 1005 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1006 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1007 | 1008 | get-intrinsic@^1.0.2: 1009 | version "1.2.0" 1010 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" 1011 | integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== 1012 | dependencies: 1013 | function-bind "^1.1.1" 1014 | has "^1.0.3" 1015 | has-symbols "^1.0.3" 1016 | 1017 | has-symbols@^1.0.3: 1018 | version "1.0.3" 1019 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1020 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1021 | 1022 | has@^1.0.3: 1023 | version "1.0.3" 1024 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1025 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1026 | dependencies: 1027 | function-bind "^1.1.1" 1028 | 1029 | http-errors@2.0.0: 1030 | version "2.0.0" 1031 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" 1032 | integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== 1033 | dependencies: 1034 | depd "2.0.0" 1035 | inherits "2.0.4" 1036 | setprototypeof "1.2.0" 1037 | statuses "2.0.1" 1038 | toidentifier "1.0.1" 1039 | 1040 | iconv-lite@0.4.24: 1041 | version "0.4.24" 1042 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1043 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1044 | dependencies: 1045 | safer-buffer ">= 2.1.2 < 3" 1046 | 1047 | ieee754@^1.1.13: 1048 | version "1.2.1" 1049 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 1050 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 1051 | 1052 | inherits@2.0.4: 1053 | version "2.0.4" 1054 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1055 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1056 | 1057 | ip@^2.0.0: 1058 | version "2.0.0" 1059 | resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" 1060 | integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== 1061 | 1062 | ipaddr.js@1.9.1: 1063 | version "1.9.1" 1064 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" 1065 | integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== 1066 | 1067 | jsonwebtoken@^9.0.0: 1068 | version "9.0.0" 1069 | resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d" 1070 | integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw== 1071 | dependencies: 1072 | jws "^3.2.2" 1073 | lodash "^4.17.21" 1074 | ms "^2.1.1" 1075 | semver "^7.3.8" 1076 | 1077 | jwa@^1.4.1: 1078 | version "1.4.1" 1079 | resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" 1080 | integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== 1081 | dependencies: 1082 | buffer-equal-constant-time "1.0.1" 1083 | ecdsa-sig-formatter "1.0.11" 1084 | safe-buffer "^5.0.1" 1085 | 1086 | jws@^3.2.2: 1087 | version "3.2.2" 1088 | resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" 1089 | integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== 1090 | dependencies: 1091 | jwa "^1.4.1" 1092 | safe-buffer "^5.0.1" 1093 | 1094 | kareem@2.5.1: 1095 | version "2.5.1" 1096 | resolved "https://registry.yarnpkg.com/kareem/-/kareem-2.5.1.tgz#7b8203e11819a8e77a34b3517d3ead206764d15d" 1097 | integrity sha512-7jFxRVm+jD+rkq3kY0iZDJfsO2/t4BBPeEb2qKn2lR/9KhuksYk5hxzfRYWMPV8P/x2d0kHD306YyWLzjjH+uA== 1098 | 1099 | lodash@^4.17.21: 1100 | version "4.17.21" 1101 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1102 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1103 | 1104 | lru-cache@^6.0.0: 1105 | version "6.0.0" 1106 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1107 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1108 | dependencies: 1109 | yallist "^4.0.0" 1110 | 1111 | media-typer@0.3.0: 1112 | version "0.3.0" 1113 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" 1114 | integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== 1115 | 1116 | memory-pager@^1.0.2: 1117 | version "1.5.0" 1118 | resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5" 1119 | integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg== 1120 | 1121 | merge-descriptors@1.0.1: 1122 | version "1.0.1" 1123 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" 1124 | integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== 1125 | 1126 | methods@~1.1.2: 1127 | version "1.1.2" 1128 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" 1129 | integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== 1130 | 1131 | mime-db@1.52.0: 1132 | version "1.52.0" 1133 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 1134 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 1135 | 1136 | mime-types@~2.1.24, mime-types@~2.1.34: 1137 | version "2.1.35" 1138 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 1139 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 1140 | dependencies: 1141 | mime-db "1.52.0" 1142 | 1143 | mime@1.6.0: 1144 | version "1.6.0" 1145 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" 1146 | integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== 1147 | 1148 | mongodb-connection-string-url@^2.5.4: 1149 | version "2.6.0" 1150 | resolved "https://registry.yarnpkg.com/mongodb-connection-string-url/-/mongodb-connection-string-url-2.6.0.tgz#57901bf352372abdde812c81be47b75c6b2ec5cf" 1151 | integrity sha512-WvTZlI9ab0QYtTYnuMLgobULWhokRjtC7db9LtcVfJ+Hsnyr5eo6ZtNAt3Ly24XZScGMelOcGtm7lSn0332tPQ== 1152 | dependencies: 1153 | "@types/whatwg-url" "^8.2.1" 1154 | whatwg-url "^11.0.0" 1155 | 1156 | mongodb@4.13.0: 1157 | version "4.13.0" 1158 | resolved "https://registry.yarnpkg.com/mongodb/-/mongodb-4.13.0.tgz#2aa832b827e2891eb2e52e8235c201cbb4701ed2" 1159 | integrity sha512-+taZ/bV8d1pYuHL4U+gSwkhmDrwkWbH1l4aah4YpmpscMwgFBkufIKxgP/G7m87/NUuQzc2Z75ZTI7ZOyqZLbw== 1160 | dependencies: 1161 | bson "^4.7.0" 1162 | mongodb-connection-string-url "^2.5.4" 1163 | socks "^2.7.1" 1164 | optionalDependencies: 1165 | "@aws-sdk/credential-providers" "^3.186.0" 1166 | saslprep "^1.0.3" 1167 | 1168 | mongoose@^6.9.0: 1169 | version "6.9.0" 1170 | resolved "https://registry.yarnpkg.com/mongoose/-/mongoose-6.9.0.tgz#cfc5acb2e4aa8188eb248e98a920a829ffcc273d" 1171 | integrity sha512-5tu6+trwjk5TIH6b6iYgAwmzZ0RNOxFoqXQb9h21Oi45DeM1rWM/niHxJ4ROqBISDfQMwRvLSABHTsyn3AzoFQ== 1172 | dependencies: 1173 | bson "^4.7.0" 1174 | kareem "2.5.1" 1175 | mongodb "4.13.0" 1176 | mpath "0.9.0" 1177 | mquery "4.0.3" 1178 | ms "2.1.3" 1179 | sift "16.0.1" 1180 | 1181 | mpath@0.9.0: 1182 | version "0.9.0" 1183 | resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.9.0.tgz#0c122fe107846e31fc58c75b09c35514b3871904" 1184 | integrity sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew== 1185 | 1186 | mquery@4.0.3: 1187 | version "4.0.3" 1188 | resolved "https://registry.yarnpkg.com/mquery/-/mquery-4.0.3.tgz#4d15f938e6247d773a942c912d9748bd1965f89d" 1189 | integrity sha512-J5heI+P08I6VJ2Ky3+33IpCdAvlYGTSUjwTPxkAr8i8EoduPMBX2OY/wa3IKZIQl7MU4SbFk8ndgSKyB/cl1zA== 1190 | dependencies: 1191 | debug "4.x" 1192 | 1193 | ms@2.0.0: 1194 | version "2.0.0" 1195 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1196 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 1197 | 1198 | ms@2.1.2: 1199 | version "2.1.2" 1200 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1201 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1202 | 1203 | ms@2.1.3, ms@^2.1.1: 1204 | version "2.1.3" 1205 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1206 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1207 | 1208 | negotiator@0.6.3: 1209 | version "0.6.3" 1210 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" 1211 | integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== 1212 | 1213 | object-assign@^4: 1214 | version "4.1.1" 1215 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1216 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 1217 | 1218 | object-inspect@^1.9.0: 1219 | version "1.12.3" 1220 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" 1221 | integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== 1222 | 1223 | on-finished@2.4.1: 1224 | version "2.4.1" 1225 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" 1226 | integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== 1227 | dependencies: 1228 | ee-first "1.1.1" 1229 | 1230 | parseurl@~1.3.3: 1231 | version "1.3.3" 1232 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" 1233 | integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== 1234 | 1235 | path-to-regexp@0.1.7: 1236 | version "0.1.7" 1237 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" 1238 | integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== 1239 | 1240 | proxy-addr@~2.0.7: 1241 | version "2.0.7" 1242 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" 1243 | integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== 1244 | dependencies: 1245 | forwarded "0.2.0" 1246 | ipaddr.js "1.9.1" 1247 | 1248 | punycode@^2.1.1: 1249 | version "2.3.0" 1250 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 1251 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 1252 | 1253 | qs@6.11.0: 1254 | version "6.11.0" 1255 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" 1256 | integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== 1257 | dependencies: 1258 | side-channel "^1.0.4" 1259 | 1260 | range-parser@~1.2.1: 1261 | version "1.2.1" 1262 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1263 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1264 | 1265 | raw-body@2.5.1: 1266 | version "2.5.1" 1267 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" 1268 | integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== 1269 | dependencies: 1270 | bytes "3.1.2" 1271 | http-errors "2.0.0" 1272 | iconv-lite "0.4.24" 1273 | unpipe "1.0.0" 1274 | 1275 | safe-buffer@5.2.1, safe-buffer@^5.0.1: 1276 | version "5.2.1" 1277 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1278 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1279 | 1280 | "safer-buffer@>= 2.1.2 < 3": 1281 | version "2.1.2" 1282 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1283 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1284 | 1285 | saslprep@^1.0.3: 1286 | version "1.0.3" 1287 | resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" 1288 | integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag== 1289 | dependencies: 1290 | sparse-bitfield "^3.0.3" 1291 | 1292 | semver@^7.3.8: 1293 | version "7.3.8" 1294 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" 1295 | integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== 1296 | dependencies: 1297 | lru-cache "^6.0.0" 1298 | 1299 | send@0.18.0: 1300 | version "0.18.0" 1301 | resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" 1302 | integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== 1303 | dependencies: 1304 | debug "2.6.9" 1305 | depd "2.0.0" 1306 | destroy "1.2.0" 1307 | encodeurl "~1.0.2" 1308 | escape-html "~1.0.3" 1309 | etag "~1.8.1" 1310 | fresh "0.5.2" 1311 | http-errors "2.0.0" 1312 | mime "1.6.0" 1313 | ms "2.1.3" 1314 | on-finished "2.4.1" 1315 | range-parser "~1.2.1" 1316 | statuses "2.0.1" 1317 | 1318 | serve-static@1.15.0: 1319 | version "1.15.0" 1320 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" 1321 | integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== 1322 | dependencies: 1323 | encodeurl "~1.0.2" 1324 | escape-html "~1.0.3" 1325 | parseurl "~1.3.3" 1326 | send "0.18.0" 1327 | 1328 | setprototypeof@1.2.0: 1329 | version "1.2.0" 1330 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" 1331 | integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== 1332 | 1333 | side-channel@^1.0.4: 1334 | version "1.0.4" 1335 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 1336 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 1337 | dependencies: 1338 | call-bind "^1.0.0" 1339 | get-intrinsic "^1.0.2" 1340 | object-inspect "^1.9.0" 1341 | 1342 | sift@16.0.1: 1343 | version "16.0.1" 1344 | resolved "https://registry.yarnpkg.com/sift/-/sift-16.0.1.tgz#e9c2ccc72191585008cf3e36fc447b2d2633a053" 1345 | integrity sha512-Wv6BjQ5zbhW7VFefWusVP33T/EM0vYikCaQ2qR8yULbsilAT8/wQaXvuQ3ptGLpoKx+lihJE3y2UTgKDyyNHZQ== 1346 | 1347 | smart-buffer@^4.2.0: 1348 | version "4.2.0" 1349 | resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" 1350 | integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== 1351 | 1352 | socks@^2.7.1: 1353 | version "2.7.1" 1354 | resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" 1355 | integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== 1356 | dependencies: 1357 | ip "^2.0.0" 1358 | smart-buffer "^4.2.0" 1359 | 1360 | sparse-bitfield@^3.0.3: 1361 | version "3.0.3" 1362 | resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" 1363 | integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ== 1364 | dependencies: 1365 | memory-pager "^1.0.2" 1366 | 1367 | statuses@2.0.1: 1368 | version "2.0.1" 1369 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" 1370 | integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== 1371 | 1372 | strnum@^1.0.5: 1373 | version "1.0.5" 1374 | resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" 1375 | integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== 1376 | 1377 | toidentifier@1.0.1: 1378 | version "1.0.1" 1379 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" 1380 | integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== 1381 | 1382 | tr46@^3.0.0: 1383 | version "3.0.0" 1384 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" 1385 | integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== 1386 | dependencies: 1387 | punycode "^2.1.1" 1388 | 1389 | tslib@^1.11.1: 1390 | version "1.14.1" 1391 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 1392 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1393 | 1394 | tslib@^2.3.1: 1395 | version "2.5.0" 1396 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" 1397 | integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== 1398 | 1399 | type-is@~1.6.18: 1400 | version "1.6.18" 1401 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" 1402 | integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== 1403 | dependencies: 1404 | media-typer "0.3.0" 1405 | mime-types "~2.1.24" 1406 | 1407 | unpipe@1.0.0, unpipe@~1.0.0: 1408 | version "1.0.0" 1409 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1410 | integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== 1411 | 1412 | utils-merge@1.0.1: 1413 | version "1.0.1" 1414 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" 1415 | integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== 1416 | 1417 | uuid@^8.3.2: 1418 | version "8.3.2" 1419 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 1420 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 1421 | 1422 | vary@^1, vary@~1.1.2: 1423 | version "1.1.2" 1424 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 1425 | integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== 1426 | 1427 | webidl-conversions@^7.0.0: 1428 | version "7.0.0" 1429 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" 1430 | integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== 1431 | 1432 | whatwg-url@^11.0.0: 1433 | version "11.0.0" 1434 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" 1435 | integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== 1436 | dependencies: 1437 | tr46 "^3.0.0" 1438 | webidl-conversions "^7.0.0" 1439 | 1440 | ws@^8.12.0: 1441 | version "8.12.0" 1442 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" 1443 | integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== 1444 | 1445 | yallist@^4.0.0: 1446 | version "4.0.0" 1447 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1448 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1449 | -------------------------------------------------------------------------------- /client/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /client/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |