richlai commited on
Commit
902845d
1 Parent(s): 7781557

working on docker

Browse files
Dockerfile CHANGED
@@ -25,8 +25,7 @@ COPY . .
25
  USER root
26
  WORKDIR $HOME/app/frontend
27
  RUN npm install -g pnpm
28
- RUN npm install
29
- RUN npm audit fix
30
  RUN pnpm run build
31
  RUN chown -R user:user $HOME/app/frontend
32
  RUN chown -R user:user $HOME/app/backend
@@ -35,5 +34,5 @@ USER user
35
  # Change back to app directory
36
  WORKDIR $HOME/app
37
  EXPOSE 5173
38
- EXPOSE 8080
39
  CMD ["/bin/bash", "-c", "./run.sh"]
 
25
  USER root
26
  WORKDIR $HOME/app/frontend
27
  RUN npm install -g pnpm
28
+ RUN pnpm install --force
 
29
  RUN pnpm run build
30
  RUN chown -R user:user $HOME/app/frontend
31
  RUN chown -R user:user $HOME/app/backend
 
34
  # Change back to app directory
35
  WORKDIR $HOME/app
36
  EXPOSE 5173
37
+ EXPOSE 8000
38
  CMD ["/bin/bash", "-c", "./run.sh"]
backend/app/db/database_dynamodb.py CHANGED
@@ -1,6 +1,6 @@
1
  import boto3
2
  from botocore.exceptions import ClientError
3
- from datetime import datetime
4
  from typing import Optional, List
5
  from .models import User, FileUpload
6
 
@@ -38,8 +38,8 @@ async def save_file(username: str, file_upload: FileUpload) -> bool:
38
  'username': username,
39
  'filename': file_upload.filename,
40
  'content': file_upload.content,
41
- 'created_at': datetime.utcnow().isoformat(),
42
- 'updated_at': datetime.utcnow().isoformat()
43
  }
44
  )
45
  return True
 
1
  import boto3
2
  from botocore.exceptions import ClientError
3
+ import datetime
4
  from typing import Optional, List
5
  from .models import User, FileUpload
6
 
 
38
  'username': username,
39
  'filename': file_upload.filename,
40
  'content': file_upload.content,
41
+ 'created_at': datetime.datetime.now(datetime.UTC).isoformat(),
42
+ 'updated_at': datetime.datetime.now(datetime.UTC).isoformat()
43
  }
44
  )
45
  return True
backend/app/db/database_mongodb.py CHANGED
@@ -57,7 +57,7 @@ async def create_user(user: User) -> bool:
57
  "username": user.username,
58
  "email": user.email,
59
  "password": user.password,
60
- "created_at": datetime.utcnow()
61
  }
62
 
63
  await users_collection.insert_one(user_doc)
 
57
  "username": user.username,
58
  "email": user.email,
59
  "password": user.password,
60
+ "created_at": datetime.datetime.now(datetime.UTC)
61
  }
62
 
63
  await users_collection.insert_one(user_doc)
frontend/package-lock.json ADDED
The diff for this file is too large to render. See raw diff
 
frontend/package.json CHANGED
@@ -6,9 +6,9 @@
6
  "scripts": {
7
  "dev": "vite --host",
8
  "dev:presentation": "vite --host --port 5174 --mode presentation",
9
- "build": "tsc && vite build",
10
- "build:presentation": "tsc && vite build --mode presentation",
11
- "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
12
  "preview": "vite preview"
13
  },
14
  "dependencies": {
@@ -25,20 +25,14 @@
25
  "uuid": "^9.0.1"
26
  },
27
  "devDependencies": {
28
- "@types/node": "^20.9.0",
29
- "@types/react": "^18.2.15",
30
- "@types/react-dom": "^18.2.7",
31
- "@types/uuid": "^9.0.7",
32
- "@typescript-eslint/eslint-plugin": "^6.0.0",
33
- "@typescript-eslint/parser": "^6.0.0",
34
- "@vitejs/plugin-react-swc": "^3.3.2",
35
  "autoprefixer": "^10.4.16",
36
  "eslint": "^8.45.0",
 
37
  "eslint-plugin-react-hooks": "^4.6.0",
38
  "eslint-plugin-react-refresh": "^0.4.3",
39
  "postcss": "^8.4.31",
40
  "tailwindcss": "^3.3.5",
41
- "typescript": "^5.0.2",
42
- "vite": "^4.4.5"
43
  }
44
  }
 
6
  "scripts": {
7
  "dev": "vite --host",
8
  "dev:presentation": "vite --host --port 5174 --mode presentation",
9
+ "build": "vite build",
10
+ "build:presentation": "vite build --mode presentation",
11
+ "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
12
  "preview": "vite preview"
13
  },
14
  "dependencies": {
 
25
  "uuid": "^9.0.1"
26
  },
27
  "devDependencies": {
28
+ "@vitejs/plugin-react": "^4.3.3",
 
 
 
 
 
 
29
  "autoprefixer": "^10.4.16",
30
  "eslint": "^8.45.0",
31
+ "eslint-plugin-jsdoc": "^50.5.0",
32
  "eslint-plugin-react-hooks": "^4.6.0",
33
  "eslint-plugin-react-refresh": "^0.4.3",
34
  "postcss": "^8.4.31",
35
  "tailwindcss": "^3.3.5",
36
+ "vite": "^5.4.11"
 
37
  }
38
  }
frontend/pnpm-lock.yaml CHANGED
@@ -42,33 +42,18 @@ importers:
42
  specifier: ^9.0.1
43
  version: 9.0.1
44
  devDependencies:
45
- '@types/node':
46
- specifier: ^20.9.0
47
- version: 20.9.0
48
- '@types/react':
49
- specifier: ^18.2.15
50
- version: 18.2.37
51
- '@types/react-dom':
52
- specifier: ^18.2.7
53
- version: 18.2.15
54
- '@types/uuid':
55
- specifier: ^9.0.7
56
- version: 9.0.8
57
- '@typescript-eslint/eslint-plugin':
58
- specifier: ^6.0.0
59
- version: 6.11.0(@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0)(typescript@5.2.2)
60
- '@typescript-eslint/parser':
61
- specifier: ^6.0.0
62
- version: 6.11.0(eslint@8.53.0)(typescript@5.2.2)
63
- '@vitejs/plugin-react-swc':
64
- specifier: ^3.3.2
65
- version: 3.5.0(vite@4.5.0(@types/node@20.9.0))
66
  autoprefixer:
67
  specifier: ^10.4.16
68
  version: 10.4.16(postcss@8.4.31)
69
  eslint:
70
  specifier: ^8.45.0
71
  version: 8.53.0
 
 
 
72
  eslint-plugin-react-hooks:
73
  specifier: ^4.6.0
74
  version: 4.6.0(eslint@8.53.0)
@@ -81,12 +66,9 @@ importers:
81
  tailwindcss:
82
  specifier: ^3.3.5
83
  version: 3.3.5
84
- typescript:
85
- specifier: ^5.0.2
86
- version: 5.2.2
87
  vite:
88
- specifier: ^4.4.5
89
- version: 4.5.0(@types/node@20.9.0)
90
 
91
  packages:
92
 
@@ -98,138 +80,231 @@ packages:
98
  resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
99
  engines: {node: '>=10'}
100
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
101
  '@babel/runtime@7.23.2':
102
  resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==}
103
  engines: {node: '>=6.9.0'}
104
 
105
- '@esbuild/android-arm64@0.18.20':
106
- resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
107
  engines: {node: '>=12'}
108
  cpu: [arm64]
109
  os: [android]
110
 
111
- '@esbuild/android-arm@0.18.20':
112
- resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
113
  engines: {node: '>=12'}
114
  cpu: [arm]
115
  os: [android]
116
 
117
- '@esbuild/android-x64@0.18.20':
118
- resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
119
  engines: {node: '>=12'}
120
  cpu: [x64]
121
  os: [android]
122
 
123
- '@esbuild/darwin-arm64@0.18.20':
124
- resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
125
  engines: {node: '>=12'}
126
  cpu: [arm64]
127
  os: [darwin]
128
 
129
- '@esbuild/darwin-x64@0.18.20':
130
- resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
131
  engines: {node: '>=12'}
132
  cpu: [x64]
133
  os: [darwin]
134
 
135
- '@esbuild/freebsd-arm64@0.18.20':
136
- resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
137
  engines: {node: '>=12'}
138
  cpu: [arm64]
139
  os: [freebsd]
140
 
141
- '@esbuild/freebsd-x64@0.18.20':
142
- resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
143
  engines: {node: '>=12'}
144
  cpu: [x64]
145
  os: [freebsd]
146
 
147
- '@esbuild/linux-arm64@0.18.20':
148
- resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
149
  engines: {node: '>=12'}
150
  cpu: [arm64]
151
  os: [linux]
152
 
153
- '@esbuild/linux-arm@0.18.20':
154
- resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
155
  engines: {node: '>=12'}
156
  cpu: [arm]
157
  os: [linux]
158
 
159
- '@esbuild/linux-ia32@0.18.20':
160
- resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
161
  engines: {node: '>=12'}
162
  cpu: [ia32]
163
  os: [linux]
164
 
165
- '@esbuild/linux-loong64@0.18.20':
166
- resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
167
  engines: {node: '>=12'}
168
  cpu: [loong64]
169
  os: [linux]
170
 
171
- '@esbuild/linux-mips64el@0.18.20':
172
- resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
173
  engines: {node: '>=12'}
174
  cpu: [mips64el]
175
  os: [linux]
176
 
177
- '@esbuild/linux-ppc64@0.18.20':
178
- resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
179
  engines: {node: '>=12'}
180
  cpu: [ppc64]
181
  os: [linux]
182
 
183
- '@esbuild/linux-riscv64@0.18.20':
184
- resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
185
  engines: {node: '>=12'}
186
  cpu: [riscv64]
187
  os: [linux]
188
 
189
- '@esbuild/linux-s390x@0.18.20':
190
- resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
191
  engines: {node: '>=12'}
192
  cpu: [s390x]
193
  os: [linux]
194
 
195
- '@esbuild/linux-x64@0.18.20':
196
- resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
197
  engines: {node: '>=12'}
198
  cpu: [x64]
199
  os: [linux]
200
 
201
- '@esbuild/netbsd-x64@0.18.20':
202
- resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
203
  engines: {node: '>=12'}
204
  cpu: [x64]
205
  os: [netbsd]
206
 
207
- '@esbuild/openbsd-x64@0.18.20':
208
- resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
209
  engines: {node: '>=12'}
210
  cpu: [x64]
211
  os: [openbsd]
212
 
213
- '@esbuild/sunos-x64@0.18.20':
214
- resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
215
  engines: {node: '>=12'}
216
  cpu: [x64]
217
  os: [sunos]
218
 
219
- '@esbuild/win32-arm64@0.18.20':
220
- resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
221
  engines: {node: '>=12'}
222
  cpu: [arm64]
223
  os: [win32]
224
 
225
- '@esbuild/win32-ia32@0.18.20':
226
- resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
227
  engines: {node: '>=12'}
228
  cpu: [ia32]
229
  os: [win32]
230
 
231
- '@esbuild/win32-x64@0.18.20':
232
- resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
233
  engines: {node: '>=12'}
234
  cpu: [x64]
235
  os: [win32]
@@ -267,20 +342,38 @@ packages:
267
  resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
268
  engines: {node: '>=6.0.0'}
269
 
 
 
 
 
270
  '@jridgewell/resolve-uri@3.1.1':
271
  resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
272
  engines: {node: '>=6.0.0'}
273
 
 
 
 
 
274
  '@jridgewell/set-array@1.1.2':
275
  resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
276
  engines: {node: '>=6.0.0'}
277
 
 
 
 
 
278
  '@jridgewell/sourcemap-codec@1.4.15':
279
  resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
280
 
 
 
 
281
  '@jridgewell/trace-mapping@0.3.20':
282
  resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
283
 
 
 
 
284
  '@nodelib/fs.scandir@2.1.5':
285
  resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
286
  engines: {node: '>= 8'}
@@ -293,6 +386,10 @@ packages:
293
  resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
294
  engines: {node: '>= 8'}
295
 
 
 
 
 
296
  '@radix-ui/react-compose-refs@1.0.1':
297
  resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
298
  peerDependencies:
@@ -315,170 +412,131 @@ packages:
315
  resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==}
316
  engines: {node: '>=14.0.0'}
317
 
318
- '@swc/core-darwin-arm64@1.3.96':
319
- resolution: {integrity: sha512-8hzgXYVd85hfPh6mJ9yrG26rhgzCmcLO0h1TIl8U31hwmTbfZLzRitFQ/kqMJNbIBCwmNH1RU2QcJnL3d7f69A==}
320
- engines: {node: '>=10'}
 
 
 
 
 
 
 
 
 
321
  cpu: [arm64]
322
  os: [darwin]
323
 
324
- '@swc/core-darwin-x64@1.3.96':
325
- resolution: {integrity: sha512-mFp9GFfuPg+43vlAdQZl0WZpZSE8sEzqL7sr/7Reul5McUHP0BaLsEzwjvD035ESfkY8GBZdLpMinblIbFNljQ==}
326
- engines: {node: '>=10'}
327
  cpu: [x64]
328
  os: [darwin]
329
 
330
- '@swc/core-linux-arm-gnueabihf@1.3.96':
331
- resolution: {integrity: sha512-8UEKkYJP4c8YzYIY/LlbSo8z5Obj4hqcv/fUTHiEePiGsOddgGf7AWjh56u7IoN/0uEmEro59nc1ChFXqXSGyg==}
332
- engines: {node: '>=10'}
 
 
 
 
 
 
 
 
 
333
  cpu: [arm]
334
  os: [linux]
335
 
336
- '@swc/core-linux-arm64-gnu@1.3.96':
337
- resolution: {integrity: sha512-c/IiJ0s1y3Ymm2BTpyC/xr6gOvoqAVETrivVXHq68xgNms95luSpbYQ28rqaZC8bQC8M5zdXpSc0T8DJu8RJGw==}
338
- engines: {node: '>=10'}
 
 
 
 
339
  cpu: [arm64]
340
  os: [linux]
341
 
342
- '@swc/core-linux-arm64-musl@1.3.96':
343
- resolution: {integrity: sha512-i5/UTUwmJLri7zhtF6SAo/4QDQJDH2fhYJaBIUhrICmIkRO/ltURmpejqxsM/ye9Jqv5zG7VszMC0v/GYn/7BQ==}
344
- engines: {node: '>=10'}
345
  cpu: [arm64]
346
  os: [linux]
347
 
348
- '@swc/core-linux-x64-gnu@1.3.96':
349
- resolution: {integrity: sha512-USdaZu8lTIkm4Yf9cogct/j5eqtdZqTgcTib4I+NloUW0E/hySou3eSyp3V2UAA1qyuC72ld1otXuyKBna0YKQ==}
350
- engines: {node: '>=10'}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
351
  cpu: [x64]
352
  os: [linux]
353
 
354
- '@swc/core-linux-x64-musl@1.3.96':
355
- resolution: {integrity: sha512-QYErutd+G2SNaCinUVobfL7jWWjGTI0QEoQ6hqTp7PxCJS/dmKmj3C5ZkvxRYcq7XcZt7ovrYCTwPTHzt6lZBg==}
356
- engines: {node: '>=10'}
357
  cpu: [x64]
358
  os: [linux]
359
 
360
- '@swc/core-win32-arm64-msvc@1.3.96':
361
- resolution: {integrity: sha512-hjGvvAduA3Un2cZ9iNP4xvTXOO4jL3G9iakhFsgVhpkU73SGmK7+LN8ZVBEu4oq2SUcHO6caWvnZ881cxGuSpg==}
362
- engines: {node: '>=10'}
363
  cpu: [arm64]
364
  os: [win32]
365
 
366
- '@swc/core-win32-ia32-msvc@1.3.96':
367
- resolution: {integrity: sha512-Far2hVFiwr+7VPCM2GxSmbh3ikTpM3pDombE+d69hkedvYHYZxtTF+2LTKl/sXtpbUnsoq7yV/32c9R/xaaWfw==}
368
- engines: {node: '>=10'}
369
  cpu: [ia32]
370
  os: [win32]
371
 
372
- '@swc/core-win32-x64-msvc@1.3.96':
373
- resolution: {integrity: sha512-4VbSAniIu0ikLf5mBX81FsljnfqjoVGleEkCQv4+zRlyZtO3FHoDPkeLVoy6WRlj7tyrRcfUJ4mDdPkbfTO14g==}
374
- engines: {node: '>=10'}
375
  cpu: [x64]
376
  os: [win32]
377
 
378
- '@swc/core@1.3.96':
379
- resolution: {integrity: sha512-zwE3TLgoZwJfQygdv2SdCK9mRLYluwDOM53I+dT6Z5ZvrgVENmY3txvWDvduzkV+/8IuvrRbVezMpxcojadRdQ==}
380
- engines: {node: '>=10'}
381
- peerDependencies:
382
- '@swc/helpers': ^0.5.0
383
- peerDependenciesMeta:
384
- '@swc/helpers':
385
- optional: true
386
 
387
- '@swc/counter@0.1.2':
388
- resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
389
 
390
- '@swc/types@0.1.5':
391
- resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
392
 
393
- '@types/json-schema@7.0.15':
394
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
395
 
396
  '@types/node@20.9.0':
397
  resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==}
398
 
399
- '@types/prop-types@15.7.10':
400
- resolution: {integrity: sha512-mxSnDQxPqsZxmeShFH+uwQ4kO4gcJcGahjjMFeLbKE95IAZiiZyiEepGZjtXJ7hN/yfu0bu9xN2ajcU0JcxX6A==}
401
-
402
- '@types/react-dom@18.2.15':
403
- resolution: {integrity: sha512-HWMdW+7r7MR5+PZqJF6YFNSCtjz1T0dsvo/f1BV6HkV+6erD/nA7wd9NM00KVG83zf2nJ7uATPO9ttdIPvi3gg==}
404
 
405
  '@types/react@18.2.37':
406
  resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==}
407
 
408
- '@types/scheduler@0.16.6':
409
- resolution: {integrity: sha512-Vlktnchmkylvc9SnwwwozTv04L/e1NykF5vgoQ0XTmI8DD+wxfjQuHuvHS3p0r2jz2x2ghPs2h1FVeDirIteWA==}
410
-
411
- '@types/semver@7.5.5':
412
- resolution: {integrity: sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg==}
413
-
414
- '@types/uuid@9.0.8':
415
- resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
416
-
417
- '@typescript-eslint/eslint-plugin@6.11.0':
418
- resolution: {integrity: sha512-uXnpZDc4VRjY4iuypDBKzW1rz9T5YBBK0snMn8MaTSNd2kMlj50LnLBABELjJiOL5YHk7ZD8hbSpI9ubzqYI0w==}
419
- engines: {node: ^16.0.0 || >=18.0.0}
420
- peerDependencies:
421
- '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
422
- eslint: ^7.0.0 || ^8.0.0
423
- typescript: '*'
424
- peerDependenciesMeta:
425
- typescript:
426
- optional: true
427
-
428
- '@typescript-eslint/parser@6.11.0':
429
- resolution: {integrity: sha512-+whEdjk+d5do5nxfxx73oanLL9ghKO3EwM9kBCkUtWMRwWuPaFv9ScuqlYfQ6pAD6ZiJhky7TZ2ZYhrMsfMxVQ==}
430
- engines: {node: ^16.0.0 || >=18.0.0}
431
- peerDependencies:
432
- eslint: ^7.0.0 || ^8.0.0
433
- typescript: '*'
434
- peerDependenciesMeta:
435
- typescript:
436
- optional: true
437
-
438
- '@typescript-eslint/scope-manager@6.11.0':
439
- resolution: {integrity: sha512-0A8KoVvIURG4uhxAdjSaxy8RdRE//HztaZdG8KiHLP8WOXSk0vlF7Pvogv+vlJA5Rnjj/wDcFENvDaHb+gKd1A==}
440
- engines: {node: ^16.0.0 || >=18.0.0}
441
-
442
- '@typescript-eslint/type-utils@6.11.0':
443
- resolution: {integrity: sha512-nA4IOXwZtqBjIoYrJcYxLRO+F9ri+leVGoJcMW1uqr4r1Hq7vW5cyWrA43lFbpRvQ9XgNrnfLpIkO3i1emDBIA==}
444
- engines: {node: ^16.0.0 || >=18.0.0}
445
- peerDependencies:
446
- eslint: ^7.0.0 || ^8.0.0
447
- typescript: '*'
448
- peerDependenciesMeta:
449
- typescript:
450
- optional: true
451
-
452
- '@typescript-eslint/types@6.11.0':
453
- resolution: {integrity: sha512-ZbEzuD4DwEJxwPqhv3QULlRj8KYTAnNsXxmfuUXFCxZmO6CF2gM/y+ugBSAQhrqaJL3M+oe4owdWunaHM6beqA==}
454
- engines: {node: ^16.0.0 || >=18.0.0}
455
-
456
- '@typescript-eslint/typescript-estree@6.11.0':
457
- resolution: {integrity: sha512-Aezzv1o2tWJwvZhedzvD5Yv7+Lpu1by/U1LZ5gLc4tCx8jUmuSCMioPFRjliN/6SJIvY6HpTtJIWubKuYYYesQ==}
458
- engines: {node: ^16.0.0 || >=18.0.0}
459
- peerDependencies:
460
- typescript: '*'
461
- peerDependenciesMeta:
462
- typescript:
463
- optional: true
464
-
465
- '@typescript-eslint/utils@6.11.0':
466
- resolution: {integrity: sha512-p23ibf68fxoZy605dc0dQAEoUsoiNoP3MD9WQGiHLDuTSOuqoTsa4oAy+h3KDkTcxbbfOtUjb9h3Ta0gT4ug2g==}
467
- engines: {node: ^16.0.0 || >=18.0.0}
468
- peerDependencies:
469
- eslint: ^7.0.0 || ^8.0.0
470
-
471
- '@typescript-eslint/visitor-keys@6.11.0':
472
- resolution: {integrity: sha512-+SUN/W7WjBr05uRxPggJPSzyB8zUpaYo2hByKasWbqr3PM8AXfZt8UHdNpBS1v9SA62qnSSMF3380SwDqqprgQ==}
473
- engines: {node: ^16.0.0 || >=18.0.0}
474
 
475
  '@ungap/structured-clone@1.2.0':
476
  resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
477
 
478
- '@vitejs/plugin-react-swc@3.5.0':
479
- resolution: {integrity: sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==}
 
480
  peerDependencies:
481
- vite: ^4 || ^5
482
 
483
  acorn-jsx@5.3.2:
484
  resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
@@ -490,6 +548,11 @@ packages:
490
  engines: {node: '>=0.4.0'}
491
  hasBin: true
492
 
 
 
 
 
 
493
  ajv@6.12.6:
494
  resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
495
 
@@ -508,16 +571,16 @@ packages:
508
  resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
509
  engines: {node: '>= 8'}
510
 
 
 
 
 
511
  arg@5.0.2:
512
  resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
513
 
514
  argparse@2.0.1:
515
  resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
516
 
517
- array-union@2.1.0:
518
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
519
- engines: {node: '>=8'}
520
-
521
  autoprefixer@10.4.16:
522
  resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
523
  engines: {node: ^10 || ^12 || >=14}
@@ -544,6 +607,11 @@ packages:
544
  engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
545
  hasBin: true
546
 
 
 
 
 
 
547
  callsites@3.1.0:
548
  resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
549
  engines: {node: '>=6'}
@@ -555,6 +623,9 @@ packages:
555
  caniuse-lite@1.0.30001562:
556
  resolution: {integrity: sha512-kfte3Hym//51EdX4239i+Rmp20EsLIYGdPkERegTgU19hQWCRhsRFGKHTliUlsry53tv17K7n077Kqa0WJU4ng==}
557
 
 
 
 
558
  chalk@4.1.2:
559
  resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
560
  engines: {node: '>=10'}
@@ -581,9 +652,16 @@ packages:
581
  resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
582
  engines: {node: '>= 6'}
583
 
 
 
 
 
584
  concat-map@0.0.1:
585
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
586
 
 
 
 
587
  cross-spawn@7.0.3:
588
  resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
589
  engines: {node: '>= 8'}
@@ -593,8 +671,8 @@ packages:
593
  engines: {node: '>=4'}
594
  hasBin: true
595
 
596
- csstype@3.1.2:
597
- resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
598
 
599
  debug@4.3.4:
600
  resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@@ -605,16 +683,21 @@ packages:
605
  supports-color:
606
  optional: true
607
 
 
 
 
 
 
 
 
 
 
608
  deep-is@0.1.4:
609
  resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
610
 
611
  didyoumean@1.2.2:
612
  resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
613
 
614
- dir-glob@3.0.1:
615
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
616
- engines: {node: '>=8'}
617
-
618
  dlv@1.1.3:
619
  resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
620
 
@@ -625,8 +708,14 @@ packages:
625
  electron-to-chromium@1.4.585:
626
  resolution: {integrity: sha512-B4yBlX0azdA3rVMxpYwLQfDpdwOgcnLCkpvSOd68iFmeedo+WYjaBJS3/W58LVD8CB2nf+o7C4K9xz1l09RkWg==}
627
 
628
- esbuild@0.18.20:
629
- resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
 
 
 
 
 
 
630
  engines: {node: '>=12'}
631
  hasBin: true
632
 
@@ -634,10 +723,20 @@ packages:
634
  resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
635
  engines: {node: '>=6'}
636
 
 
 
 
 
637
  escape-string-regexp@4.0.0:
638
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
639
  engines: {node: '>=10'}
640
 
 
 
 
 
 
 
641
  eslint-plugin-react-hooks@4.6.0:
642
  resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
643
  engines: {node: '>=10'}
@@ -657,11 +756,19 @@ packages:
657
  resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
658
  engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
659
 
 
 
 
 
660
  eslint@8.53.0:
661
  resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==}
662
  engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
663
  hasBin: true
664
 
 
 
 
 
665
  espree@9.6.1:
666
  resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
667
  engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -670,6 +777,10 @@ packages:
670
  resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
671
  engines: {node: '>=0.10'}
672
 
 
 
 
 
673
  esrecurse@4.3.0:
674
  resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
675
  engines: {node: '>=4.0'}
@@ -731,6 +842,10 @@ packages:
731
  function-bind@1.1.2:
732
  resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
733
 
 
 
 
 
734
  glob-parent@5.1.2:
735
  resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
736
  engines: {node: '>= 6'}
@@ -745,14 +860,14 @@ packages:
745
  glob@7.2.3:
746
  resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
747
 
 
 
 
 
748
  globals@13.23.0:
749
  resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
750
  engines: {node: '>=8'}
751
 
752
- globby@11.1.0:
753
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
754
- engines: {node: '>=10'}
755
-
756
  graphemer@1.4.0:
757
  resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
758
 
@@ -822,6 +937,15 @@ packages:
822
  resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
823
  hasBin: true
824
 
 
 
 
 
 
 
 
 
 
825
  json-buffer@3.0.1:
826
  resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
827
 
@@ -831,6 +955,11 @@ packages:
831
  json-stable-stringify-without-jsonify@1.0.1:
832
  resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
833
 
 
 
 
 
 
834
  keyv@4.5.4:
835
  resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
836
 
@@ -856,9 +985,8 @@ packages:
856
  resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
857
  hasBin: true
858
 
859
- lru-cache@6.0.0:
860
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
861
- engines: {node: '>=10'}
862
 
863
  lucide-react@0.292.0:
864
  resolution: {integrity: sha512-rRgUkpEHWpa5VCT66YscInCQmQuPCB1RFRzkkxMxg4b+jaL0V12E3riWWR2Sh5OIiUhCwGW/ZExuEO4Az32E6Q==}
@@ -879,6 +1007,9 @@ packages:
879
  ms@2.1.2:
880
  resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
881
 
 
 
 
882
  mz@2.7.0:
883
  resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
884
 
@@ -893,6 +1024,9 @@ packages:
893
  node-releases@2.0.13:
894
  resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
895
 
 
 
 
896
  normalize-path@3.0.0:
897
  resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
898
  engines: {node: '>=0.10.0'}
@@ -928,6 +1062,10 @@ packages:
928
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
929
  engines: {node: '>=6'}
930
 
 
 
 
 
931
  path-exists@4.0.0:
932
  resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
933
  engines: {node: '>=8'}
@@ -943,13 +1081,12 @@ packages:
943
  path-parse@1.0.7:
944
  resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
945
 
946
- path-type@4.0.0:
947
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
948
- engines: {node: '>=8'}
949
-
950
  picocolors@1.0.0:
951
  resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
952
 
 
 
 
953
  picomatch@2.3.1:
954
  resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
955
  engines: {node: '>=8.6'}
@@ -1003,6 +1140,10 @@ packages:
1003
  resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1004
  engines: {node: ^10 || ^12 || >=14}
1005
 
 
 
 
 
1006
  prelude-ls@1.2.1:
1007
  resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1008
  engines: {node: '>= 0.8.0'}
@@ -1019,6 +1160,10 @@ packages:
1019
  peerDependencies:
1020
  react: ^18.2.0
1021
 
 
 
 
 
1022
  react-router-dom@6.27.0:
1023
  resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==}
1024
  engines: {node: '>=14.0.0'}
@@ -1074,9 +1219,9 @@ packages:
1074
  resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1075
  hasBin: true
1076
 
1077
- rollup@3.29.4:
1078
- resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==}
1079
- engines: {node: '>=14.18.0', npm: '>=8.0.0'}
1080
  hasBin: true
1081
 
1082
  run-parallel@1.2.0:
@@ -1085,8 +1230,12 @@ packages:
1085
  scheduler@0.23.0:
1086
  resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
1087
 
1088
- semver@7.5.4:
1089
- resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
 
 
 
 
1090
  engines: {node: '>=10'}
1091
  hasBin: true
1092
 
@@ -1098,14 +1247,26 @@ packages:
1098
  resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1099
  engines: {node: '>=8'}
1100
 
1101
- slash@3.0.0:
1102
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1103
- engines: {node: '>=8'}
1104
 
1105
  source-map-js@1.0.2:
1106
  resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1107
  engines: {node: '>=0.10.0'}
1108
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1109
  strip-ansi@6.0.1:
1110
  resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1111
  engines: {node: '>=8'}
@@ -1127,6 +1288,10 @@ packages:
1127
  resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1128
  engines: {node: '>= 0.4'}
1129
 
 
 
 
 
1130
  tailwind-merge@2.0.0:
1131
  resolution: {integrity: sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==}
1132
 
@@ -1154,15 +1319,12 @@ packages:
1154
  resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1155
  engines: {node: '>=8.0'}
1156
 
1157
- ts-api-utils@1.0.3:
1158
- resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
1159
- engines: {node: '>=16.13.0'}
1160
- peerDependencies:
1161
- typescript: '>=4.2.0'
1162
-
1163
  ts-interface-checker@0.1.13:
1164
  resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1165
 
 
 
 
1166
  type-check@0.4.0:
1167
  resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1168
  engines: {node: '>= 0.8.0'}
@@ -1171,11 +1333,6 @@ packages:
1171
  resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1172
  engines: {node: '>=10'}
1173
 
1174
- typescript@5.2.2:
1175
- resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==}
1176
- engines: {node: '>=14.17'}
1177
- hasBin: true
1178
-
1179
  undici-types@5.26.5:
1180
  resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
1181
 
@@ -1185,6 +1342,12 @@ packages:
1185
  peerDependencies:
1186
  browserslist: '>= 4.21.0'
1187
 
 
 
 
 
 
 
1188
  uri-js@4.4.1:
1189
  resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1190
 
@@ -1195,15 +1358,16 @@ packages:
1195
  resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
1196
  hasBin: true
1197
 
1198
- vite@4.5.0:
1199
- resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==}
1200
- engines: {node: ^14.18.0 || >=16.0.0}
1201
  hasBin: true
1202
  peerDependencies:
1203
- '@types/node': '>= 14'
1204
  less: '*'
1205
  lightningcss: ^1.21.0
1206
  sass: '*'
 
1207
  stylus: '*'
1208
  sugarss: '*'
1209
  terser: ^5.4.0
@@ -1216,6 +1380,8 @@ packages:
1216
  optional: true
1217
  sass:
1218
  optional: true
 
 
1219
  stylus:
1220
  optional: true
1221
  sugarss:
@@ -1231,8 +1397,8 @@ packages:
1231
  wrappy@1.0.2:
1232
  resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1233
 
1234
- yallist@4.0.0:
1235
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1236
 
1237
  yaml@2.3.4:
1238
  resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
@@ -1248,74 +1414,198 @@ snapshots:
1248
 
1249
  '@alloc/quick-lru@5.2.0': {}
1250
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1251
  '@babel/runtime@7.23.2':
1252
  dependencies:
1253
  regenerator-runtime: 0.14.0
1254
 
1255
- '@esbuild/android-arm64@0.18.20':
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1256
  optional: true
1257
 
1258
- '@esbuild/android-arm@0.18.20':
1259
  optional: true
1260
 
1261
- '@esbuild/android-x64@0.18.20':
1262
  optional: true
1263
 
1264
- '@esbuild/darwin-arm64@0.18.20':
1265
  optional: true
1266
 
1267
- '@esbuild/darwin-x64@0.18.20':
1268
  optional: true
1269
 
1270
- '@esbuild/freebsd-arm64@0.18.20':
1271
  optional: true
1272
 
1273
- '@esbuild/freebsd-x64@0.18.20':
1274
  optional: true
1275
 
1276
- '@esbuild/linux-arm64@0.18.20':
1277
  optional: true
1278
 
1279
- '@esbuild/linux-arm@0.18.20':
1280
  optional: true
1281
 
1282
- '@esbuild/linux-ia32@0.18.20':
1283
  optional: true
1284
 
1285
- '@esbuild/linux-loong64@0.18.20':
1286
  optional: true
1287
 
1288
- '@esbuild/linux-mips64el@0.18.20':
1289
  optional: true
1290
 
1291
- '@esbuild/linux-ppc64@0.18.20':
1292
  optional: true
1293
 
1294
- '@esbuild/linux-riscv64@0.18.20':
1295
  optional: true
1296
 
1297
- '@esbuild/linux-s390x@0.18.20':
1298
  optional: true
1299
 
1300
- '@esbuild/linux-x64@0.18.20':
1301
  optional: true
1302
 
1303
- '@esbuild/netbsd-x64@0.18.20':
1304
  optional: true
1305
 
1306
- '@esbuild/openbsd-x64@0.18.20':
1307
  optional: true
1308
 
1309
- '@esbuild/sunos-x64@0.18.20':
1310
  optional: true
1311
 
1312
- '@esbuild/win32-arm64@0.18.20':
1313
  optional: true
1314
 
1315
- '@esbuild/win32-ia32@0.18.20':
1316
  optional: true
1317
 
1318
- '@esbuild/win32-x64@0.18.20':
 
 
 
1319
  optional: true
1320
 
1321
  '@eslint-community/eslint-utils@4.4.0(eslint@8.53.0)':
@@ -1359,17 +1649,34 @@ snapshots:
1359
  '@jridgewell/sourcemap-codec': 1.4.15
1360
  '@jridgewell/trace-mapping': 0.3.20
1361
 
 
 
 
 
 
 
1362
  '@jridgewell/resolve-uri@3.1.1': {}
1363
 
 
 
1364
  '@jridgewell/set-array@1.1.2': {}
1365
 
 
 
1366
  '@jridgewell/sourcemap-codec@1.4.15': {}
1367
 
 
 
1368
  '@jridgewell/trace-mapping@0.3.20':
1369
  dependencies:
1370
  '@jridgewell/resolve-uri': 3.1.1
1371
  '@jridgewell/sourcemap-codec': 1.4.15
1372
 
 
 
 
 
 
1373
  '@nodelib/fs.scandir@2.1.5':
1374
  dependencies:
1375
  '@nodelib/fs.stat': 2.0.5
@@ -1382,6 +1689,8 @@ snapshots:
1382
  '@nodelib/fs.scandir': 2.1.5
1383
  fastq: 1.15.0
1384
 
 
 
1385
  '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.37)(react@18.2.0)':
1386
  dependencies:
1387
  '@babel/runtime': 7.23.2
@@ -1399,180 +1708,126 @@ snapshots:
1399
 
1400
  '@remix-run/router@1.20.0': {}
1401
 
1402
- '@swc/core-darwin-arm64@1.3.96':
1403
  optional: true
1404
 
1405
- '@swc/core-darwin-x64@1.3.96':
1406
  optional: true
1407
 
1408
- '@swc/core-linux-arm-gnueabihf@1.3.96':
1409
  optional: true
1410
 
1411
- '@swc/core-linux-arm64-gnu@1.3.96':
1412
  optional: true
1413
 
1414
- '@swc/core-linux-arm64-musl@1.3.96':
1415
  optional: true
1416
 
1417
- '@swc/core-linux-x64-gnu@1.3.96':
1418
  optional: true
1419
 
1420
- '@swc/core-linux-x64-musl@1.3.96':
1421
  optional: true
1422
 
1423
- '@swc/core-win32-arm64-msvc@1.3.96':
1424
  optional: true
1425
 
1426
- '@swc/core-win32-ia32-msvc@1.3.96':
1427
  optional: true
1428
 
1429
- '@swc/core-win32-x64-msvc@1.3.96':
1430
  optional: true
1431
 
1432
- '@swc/core@1.3.96':
1433
- dependencies:
1434
- '@swc/counter': 0.1.2
1435
- '@swc/types': 0.1.5
1436
- optionalDependencies:
1437
- '@swc/core-darwin-arm64': 1.3.96
1438
- '@swc/core-darwin-x64': 1.3.96
1439
- '@swc/core-linux-arm-gnueabihf': 1.3.96
1440
- '@swc/core-linux-arm64-gnu': 1.3.96
1441
- '@swc/core-linux-arm64-musl': 1.3.96
1442
- '@swc/core-linux-x64-gnu': 1.3.96
1443
- '@swc/core-linux-x64-musl': 1.3.96
1444
- '@swc/core-win32-arm64-msvc': 1.3.96
1445
- '@swc/core-win32-ia32-msvc': 1.3.96
1446
- '@swc/core-win32-x64-msvc': 1.3.96
1447
-
1448
- '@swc/counter@0.1.2': {}
1449
-
1450
- '@swc/types@0.1.5': {}
1451
-
1452
- '@types/json-schema@7.0.15': {}
1453
 
1454
- '@types/node@20.9.0':
1455
- dependencies:
1456
- undici-types: 5.26.5
1457
 
1458
- '@types/prop-types@15.7.10': {}
 
1459
 
1460
- '@types/react-dom@18.2.15':
1461
- dependencies:
1462
- '@types/react': 18.2.37
1463
 
1464
- '@types/react@18.2.37':
1465
- dependencies:
1466
- '@types/prop-types': 15.7.10
1467
- '@types/scheduler': 0.16.6
1468
- csstype: 3.1.2
1469
 
1470
- '@types/scheduler@0.16.6': {}
 
1471
 
1472
- '@types/semver@7.5.5': {}
 
1473
 
1474
- '@types/uuid@9.0.8': {}
 
1475
 
1476
- '@typescript-eslint/eslint-plugin@6.11.0(@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2))(eslint@8.53.0)(typescript@5.2.2)':
1477
  dependencies:
1478
- '@eslint-community/regexpp': 4.10.0
1479
- '@typescript-eslint/parser': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
1480
- '@typescript-eslint/scope-manager': 6.11.0
1481
- '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
1482
- '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
1483
- '@typescript-eslint/visitor-keys': 6.11.0
1484
- debug: 4.3.4
1485
- eslint: 8.53.0
1486
- graphemer: 1.4.0
1487
- ignore: 5.3.0
1488
- natural-compare: 1.4.0
1489
- semver: 7.5.4
1490
- ts-api-utils: 1.0.3(typescript@5.2.2)
1491
- optionalDependencies:
1492
- typescript: 5.2.2
1493
- transitivePeerDependencies:
1494
- - supports-color
1495
 
1496
- '@typescript-eslint/parser@6.11.0(eslint@8.53.0)(typescript@5.2.2)':
1497
  dependencies:
1498
- '@typescript-eslint/scope-manager': 6.11.0
1499
- '@typescript-eslint/types': 6.11.0
1500
- '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2)
1501
- '@typescript-eslint/visitor-keys': 6.11.0
1502
- debug: 4.3.4
1503
- eslint: 8.53.0
1504
- optionalDependencies:
1505
- typescript: 5.2.2
1506
- transitivePeerDependencies:
1507
- - supports-color
1508
 
1509
- '@typescript-eslint/scope-manager@6.11.0':
1510
  dependencies:
1511
- '@typescript-eslint/types': 6.11.0
1512
- '@typescript-eslint/visitor-keys': 6.11.0
1513
 
1514
- '@typescript-eslint/type-utils@6.11.0(eslint@8.53.0)(typescript@5.2.2)':
1515
  dependencies:
1516
- '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2)
1517
- '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.2.2)
1518
- debug: 4.3.4
1519
- eslint: 8.53.0
1520
- ts-api-utils: 1.0.3(typescript@5.2.2)
1521
- optionalDependencies:
1522
- typescript: 5.2.2
1523
- transitivePeerDependencies:
1524
- - supports-color
1525
 
1526
- '@typescript-eslint/types@6.11.0': {}
1527
 
1528
- '@typescript-eslint/typescript-estree@6.11.0(typescript@5.2.2)':
1529
  dependencies:
1530
- '@typescript-eslint/types': 6.11.0
1531
- '@typescript-eslint/visitor-keys': 6.11.0
1532
- debug: 4.3.4
1533
- globby: 11.1.0
1534
- is-glob: 4.0.3
1535
- semver: 7.5.4
1536
- ts-api-utils: 1.0.3(typescript@5.2.2)
1537
- optionalDependencies:
1538
- typescript: 5.2.2
1539
- transitivePeerDependencies:
1540
- - supports-color
1541
 
1542
- '@typescript-eslint/utils@6.11.0(eslint@8.53.0)(typescript@5.2.2)':
1543
- dependencies:
1544
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0)
1545
- '@types/json-schema': 7.0.15
1546
- '@types/semver': 7.5.5
1547
- '@typescript-eslint/scope-manager': 6.11.0
1548
- '@typescript-eslint/types': 6.11.0
1549
- '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.2.2)
1550
- eslint: 8.53.0
1551
- semver: 7.5.4
1552
- transitivePeerDependencies:
1553
- - supports-color
1554
- - typescript
1555
 
1556
- '@typescript-eslint/visitor-keys@6.11.0':
1557
  dependencies:
1558
- '@typescript-eslint/types': 6.11.0
1559
- eslint-visitor-keys: 3.4.3
 
 
 
 
 
1560
 
1561
  '@ungap/structured-clone@1.2.0': {}
1562
 
1563
- '@vitejs/plugin-react-swc@3.5.0(vite@4.5.0(@types/node@20.9.0))':
1564
  dependencies:
1565
- '@swc/core': 1.3.96
1566
- vite: 4.5.0(@types/node@20.9.0)
 
 
 
 
1567
  transitivePeerDependencies:
1568
- - '@swc/helpers'
1569
 
1570
  acorn-jsx@5.3.2(acorn@8.11.2):
1571
  dependencies:
1572
  acorn: 8.11.2
1573
 
 
 
 
 
1574
  acorn@8.11.2: {}
1575
 
 
 
1576
  ajv@6.12.6:
1577
  dependencies:
1578
  fast-deep-equal: 3.1.3
@@ -1593,12 +1848,12 @@ snapshots:
1593
  normalize-path: 3.0.0
1594
  picomatch: 2.3.1
1595
 
 
 
1596
  arg@5.0.2: {}
1597
 
1598
  argparse@2.0.1: {}
1599
 
1600
- array-union@2.1.0: {}
1601
-
1602
  autoprefixer@10.4.16(postcss@8.4.31):
1603
  dependencies:
1604
  browserslist: 4.22.1
@@ -1629,12 +1884,21 @@ snapshots:
1629
  node-releases: 2.0.13
1630
  update-browserslist-db: 1.0.13(browserslist@4.22.1)
1631
 
 
 
 
 
 
 
 
1632
  callsites@3.1.0: {}
1633
 
1634
  camelcase-css@2.0.1: {}
1635
 
1636
  caniuse-lite@1.0.30001562: {}
1637
 
 
 
1638
  chalk@4.1.2:
1639
  dependencies:
1640
  ansi-styles: 4.3.0
@@ -1666,8 +1930,12 @@ snapshots:
1666
 
1667
  commander@4.1.1: {}
1668
 
 
 
1669
  concat-map@0.0.1: {}
1670
 
 
 
1671
  cross-spawn@7.0.3:
1672
  dependencies:
1673
  path-key: 3.1.1
@@ -1676,20 +1944,21 @@ snapshots:
1676
 
1677
  cssesc@3.0.0: {}
1678
 
1679
- csstype@3.1.2: {}
 
1680
 
1681
  debug@4.3.4:
1682
  dependencies:
1683
  ms: 2.1.2
1684
 
 
 
 
 
1685
  deep-is@0.1.4: {}
1686
 
1687
  didyoumean@1.2.2: {}
1688
 
1689
- dir-glob@3.0.1:
1690
- dependencies:
1691
- path-type: 4.0.0
1692
-
1693
  dlv@1.1.3: {}
1694
 
1695
  doctrine@3.0.0:
@@ -1698,35 +1967,59 @@ snapshots:
1698
 
1699
  electron-to-chromium@1.4.585: {}
1700
 
1701
- esbuild@0.18.20:
 
 
 
 
1702
  optionalDependencies:
1703
- '@esbuild/android-arm': 0.18.20
1704
- '@esbuild/android-arm64': 0.18.20
1705
- '@esbuild/android-x64': 0.18.20
1706
- '@esbuild/darwin-arm64': 0.18.20
1707
- '@esbuild/darwin-x64': 0.18.20
1708
- '@esbuild/freebsd-arm64': 0.18.20
1709
- '@esbuild/freebsd-x64': 0.18.20
1710
- '@esbuild/linux-arm': 0.18.20
1711
- '@esbuild/linux-arm64': 0.18.20
1712
- '@esbuild/linux-ia32': 0.18.20
1713
- '@esbuild/linux-loong64': 0.18.20
1714
- '@esbuild/linux-mips64el': 0.18.20
1715
- '@esbuild/linux-ppc64': 0.18.20
1716
- '@esbuild/linux-riscv64': 0.18.20
1717
- '@esbuild/linux-s390x': 0.18.20
1718
- '@esbuild/linux-x64': 0.18.20
1719
- '@esbuild/netbsd-x64': 0.18.20
1720
- '@esbuild/openbsd-x64': 0.18.20
1721
- '@esbuild/sunos-x64': 0.18.20
1722
- '@esbuild/win32-arm64': 0.18.20
1723
- '@esbuild/win32-ia32': 0.18.20
1724
- '@esbuild/win32-x64': 0.18.20
 
1725
 
1726
  escalade@3.1.1: {}
1727
 
 
 
1728
  escape-string-regexp@4.0.0: {}
1729
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1730
  eslint-plugin-react-hooks@4.6.0(eslint@8.53.0):
1731
  dependencies:
1732
  eslint: 8.53.0
@@ -1742,6 +2035,8 @@ snapshots:
1742
 
1743
  eslint-visitor-keys@3.4.3: {}
1744
 
 
 
1745
  eslint@8.53.0:
1746
  dependencies:
1747
  '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0)
@@ -1785,6 +2080,12 @@ snapshots:
1785
  transitivePeerDependencies:
1786
  - supports-color
1787
 
 
 
 
 
 
 
1788
  espree@9.6.1:
1789
  dependencies:
1790
  acorn: 8.11.2
@@ -1795,6 +2096,10 @@ snapshots:
1795
  dependencies:
1796
  estraverse: 5.3.0
1797
 
 
 
 
 
1798
  esrecurse@4.3.0:
1799
  dependencies:
1800
  estraverse: 5.3.0
@@ -1851,6 +2156,8 @@ snapshots:
1851
 
1852
  function-bind@1.1.2: {}
1853
 
 
 
1854
  glob-parent@5.1.2:
1855
  dependencies:
1856
  is-glob: 4.0.3
@@ -1877,19 +2184,12 @@ snapshots:
1877
  once: 1.4.0
1878
  path-is-absolute: 1.0.1
1879
 
 
 
1880
  globals@13.23.0:
1881
  dependencies:
1882
  type-fest: 0.20.2
1883
 
1884
- globby@11.1.0:
1885
- dependencies:
1886
- array-union: 2.1.0
1887
- dir-glob: 3.0.1
1888
- fast-glob: 3.3.2
1889
- ignore: 5.3.0
1890
- merge2: 1.4.1
1891
- slash: 3.0.0
1892
-
1893
  graphemer@1.4.0: {}
1894
 
1895
  hamt_plus@1.0.2: {}
@@ -1944,12 +2244,18 @@ snapshots:
1944
  dependencies:
1945
  argparse: 2.0.1
1946
 
 
 
 
 
1947
  json-buffer@3.0.1: {}
1948
 
1949
  json-schema-traverse@0.4.1: {}
1950
 
1951
  json-stable-stringify-without-jsonify@1.0.1: {}
1952
 
 
 
1953
  keyv@4.5.4:
1954
  dependencies:
1955
  json-buffer: 3.0.1
@@ -1973,9 +2279,9 @@ snapshots:
1973
  dependencies:
1974
  js-tokens: 4.0.0
1975
 
1976
- lru-cache@6.0.0:
1977
  dependencies:
1978
- yallist: 4.0.0
1979
 
1980
  lucide-react@0.292.0(react@18.2.0):
1981
  dependencies:
@@ -1994,6 +2300,8 @@ snapshots:
1994
 
1995
  ms@2.1.2: {}
1996
 
 
 
1997
  mz@2.7.0:
1998
  dependencies:
1999
  any-promise: 1.3.0
@@ -2006,6 +2314,8 @@ snapshots:
2006
 
2007
  node-releases@2.0.13: {}
2008
 
 
 
2009
  normalize-path@3.0.0: {}
2010
 
2011
  normalize-range@0.1.2: {}
@@ -2039,6 +2349,11 @@ snapshots:
2039
  dependencies:
2040
  callsites: 3.1.0
2041
 
 
 
 
 
 
2042
  path-exists@4.0.0: {}
2043
 
2044
  path-is-absolute@1.0.1: {}
@@ -2047,10 +2362,10 @@ snapshots:
2047
 
2048
  path-parse@1.0.7: {}
2049
 
2050
- path-type@4.0.0: {}
2051
-
2052
  picocolors@1.0.0: {}
2053
 
 
 
2054
  picomatch@2.3.1: {}
2055
 
2056
  pify@2.3.0: {}
@@ -2094,6 +2409,12 @@ snapshots:
2094
  picocolors: 1.0.0
2095
  source-map-js: 1.0.2
2096
 
 
 
 
 
 
 
2097
  prelude-ls@1.2.1: {}
2098
 
2099
  punycode@2.3.1: {}
@@ -2106,6 +2427,8 @@ snapshots:
2106
  react: 18.2.0
2107
  scheduler: 0.23.0
2108
 
 
 
2109
  react-router-dom@6.27.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
2110
  dependencies:
2111
  '@remix-run/router': 1.20.0
@@ -2153,8 +2476,28 @@ snapshots:
2153
  dependencies:
2154
  glob: 7.2.3
2155
 
2156
- rollup@3.29.4:
 
 
2157
  optionalDependencies:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2158
  fsevents: 2.3.3
2159
 
2160
  run-parallel@1.2.0:
@@ -2165,9 +2508,9 @@ snapshots:
2165
  dependencies:
2166
  loose-envify: 1.4.0
2167
 
2168
- semver@7.5.4:
2169
- dependencies:
2170
- lru-cache: 6.0.0
2171
 
2172
  shebang-command@2.0.0:
2173
  dependencies:
@@ -2175,10 +2518,21 @@ snapshots:
2175
 
2176
  shebang-regex@3.0.0: {}
2177
 
2178
- slash@3.0.0: {}
2179
 
2180
  source-map-js@1.0.2: {}
2181
 
 
 
 
 
 
 
 
 
 
 
 
2182
  strip-ansi@6.0.1:
2183
  dependencies:
2184
  ansi-regex: 5.0.1
@@ -2201,6 +2555,11 @@ snapshots:
2201
 
2202
  supports-preserve-symlinks-flag@1.0.0: {}
2203
 
 
 
 
 
 
2204
  tailwind-merge@2.0.0:
2205
  dependencies:
2206
  '@babel/runtime': 7.23.2
@@ -2250,21 +2609,18 @@ snapshots:
2250
  dependencies:
2251
  is-number: 7.0.0
2252
 
2253
- ts-api-utils@1.0.3(typescript@5.2.2):
2254
- dependencies:
2255
- typescript: 5.2.2
2256
-
2257
  ts-interface-checker@0.1.13: {}
2258
 
 
 
2259
  type-check@0.4.0:
2260
  dependencies:
2261
  prelude-ls: 1.2.1
2262
 
2263
  type-fest@0.20.2: {}
2264
 
2265
- typescript@5.2.2: {}
2266
-
2267
- undici-types@5.26.5: {}
2268
 
2269
  update-browserslist-db@1.0.13(browserslist@4.22.1):
2270
  dependencies:
@@ -2272,6 +2628,12 @@ snapshots:
2272
  escalade: 3.1.1
2273
  picocolors: 1.0.0
2274
 
 
 
 
 
 
 
2275
  uri-js@4.4.1:
2276
  dependencies:
2277
  punycode: 2.3.1
@@ -2280,11 +2642,11 @@ snapshots:
2280
 
2281
  uuid@9.0.1: {}
2282
 
2283
- vite@4.5.0(@types/node@20.9.0):
2284
  dependencies:
2285
- esbuild: 0.18.20
2286
- postcss: 8.4.31
2287
- rollup: 3.29.4
2288
  optionalDependencies:
2289
  '@types/node': 20.9.0
2290
  fsevents: 2.3.3
@@ -2295,7 +2657,7 @@ snapshots:
2295
 
2296
  wrappy@1.0.2: {}
2297
 
2298
- yallist@4.0.0: {}
2299
 
2300
  yaml@2.3.4: {}
2301
 
 
42
  specifier: ^9.0.1
43
  version: 9.0.1
44
  devDependencies:
45
+ '@vitejs/plugin-react':
46
+ specifier: ^4.3.3
47
+ version: 4.3.3(vite@5.4.11(@types/node@20.9.0))
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
48
  autoprefixer:
49
  specifier: ^10.4.16
50
  version: 10.4.16(postcss@8.4.31)
51
  eslint:
52
  specifier: ^8.45.0
53
  version: 8.53.0
54
+ eslint-plugin-jsdoc:
55
+ specifier: ^50.5.0
56
+ version: 50.5.0(eslint@8.53.0)
57
  eslint-plugin-react-hooks:
58
  specifier: ^4.6.0
59
  version: 4.6.0(eslint@8.53.0)
 
66
  tailwindcss:
67
  specifier: ^3.3.5
68
  version: 3.3.5
 
 
 
69
  vite:
70
+ specifier: ^5.4.11
71
+ version: 5.4.11(@types/node@20.9.0)
72
 
73
  packages:
74
 
 
80
  resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
81
  engines: {node: '>=10'}
82
 
83
+ '@ampproject/remapping@2.3.0':
84
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
85
+ engines: {node: '>=6.0.0'}
86
+
87
+ '@babel/code-frame@7.26.2':
88
+ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
89
+ engines: {node: '>=6.9.0'}
90
+
91
+ '@babel/compat-data@7.26.2':
92
+ resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
93
+ engines: {node: '>=6.9.0'}
94
+
95
+ '@babel/core@7.26.0':
96
+ resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
97
+ engines: {node: '>=6.9.0'}
98
+
99
+ '@babel/generator@7.26.2':
100
+ resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
101
+ engines: {node: '>=6.9.0'}
102
+
103
+ '@babel/helper-compilation-targets@7.25.9':
104
+ resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
105
+ engines: {node: '>=6.9.0'}
106
+
107
+ '@babel/helper-module-imports@7.25.9':
108
+ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
109
+ engines: {node: '>=6.9.0'}
110
+
111
+ '@babel/helper-module-transforms@7.26.0':
112
+ resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
113
+ engines: {node: '>=6.9.0'}
114
+ peerDependencies:
115
+ '@babel/core': ^7.0.0
116
+
117
+ '@babel/helper-plugin-utils@7.25.9':
118
+ resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
119
+ engines: {node: '>=6.9.0'}
120
+
121
+ '@babel/helper-string-parser@7.25.9':
122
+ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
123
+ engines: {node: '>=6.9.0'}
124
+
125
+ '@babel/helper-validator-identifier@7.25.9':
126
+ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
127
+ engines: {node: '>=6.9.0'}
128
+
129
+ '@babel/helper-validator-option@7.25.9':
130
+ resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
131
+ engines: {node: '>=6.9.0'}
132
+
133
+ '@babel/helpers@7.26.0':
134
+ resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
135
+ engines: {node: '>=6.9.0'}
136
+
137
+ '@babel/parser@7.26.2':
138
+ resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
139
+ engines: {node: '>=6.0.0'}
140
+ hasBin: true
141
+
142
+ '@babel/plugin-transform-react-jsx-self@7.25.9':
143
+ resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
144
+ engines: {node: '>=6.9.0'}
145
+ peerDependencies:
146
+ '@babel/core': ^7.0.0-0
147
+
148
+ '@babel/plugin-transform-react-jsx-source@7.25.9':
149
+ resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==}
150
+ engines: {node: '>=6.9.0'}
151
+ peerDependencies:
152
+ '@babel/core': ^7.0.0-0
153
+
154
  '@babel/runtime@7.23.2':
155
  resolution: {integrity: sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==}
156
  engines: {node: '>=6.9.0'}
157
 
158
+ '@babel/template@7.25.9':
159
+ resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
160
+ engines: {node: '>=6.9.0'}
161
+
162
+ '@babel/traverse@7.25.9':
163
+ resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
164
+ engines: {node: '>=6.9.0'}
165
+
166
+ '@babel/types@7.26.0':
167
+ resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
168
+ engines: {node: '>=6.9.0'}
169
+
170
+ '@es-joy/jsdoccomment@0.49.0':
171
+ resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==}
172
+ engines: {node: '>=16'}
173
+
174
+ '@esbuild/aix-ppc64@0.21.5':
175
+ resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
176
+ engines: {node: '>=12'}
177
+ cpu: [ppc64]
178
+ os: [aix]
179
+
180
+ '@esbuild/android-arm64@0.21.5':
181
+ resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
182
  engines: {node: '>=12'}
183
  cpu: [arm64]
184
  os: [android]
185
 
186
+ '@esbuild/android-arm@0.21.5':
187
+ resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
188
  engines: {node: '>=12'}
189
  cpu: [arm]
190
  os: [android]
191
 
192
+ '@esbuild/android-x64@0.21.5':
193
+ resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
194
  engines: {node: '>=12'}
195
  cpu: [x64]
196
  os: [android]
197
 
198
+ '@esbuild/darwin-arm64@0.21.5':
199
+ resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
200
  engines: {node: '>=12'}
201
  cpu: [arm64]
202
  os: [darwin]
203
 
204
+ '@esbuild/darwin-x64@0.21.5':
205
+ resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
206
  engines: {node: '>=12'}
207
  cpu: [x64]
208
  os: [darwin]
209
 
210
+ '@esbuild/freebsd-arm64@0.21.5':
211
+ resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
212
  engines: {node: '>=12'}
213
  cpu: [arm64]
214
  os: [freebsd]
215
 
216
+ '@esbuild/freebsd-x64@0.21.5':
217
+ resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
218
  engines: {node: '>=12'}
219
  cpu: [x64]
220
  os: [freebsd]
221
 
222
+ '@esbuild/linux-arm64@0.21.5':
223
+ resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
224
  engines: {node: '>=12'}
225
  cpu: [arm64]
226
  os: [linux]
227
 
228
+ '@esbuild/linux-arm@0.21.5':
229
+ resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
230
  engines: {node: '>=12'}
231
  cpu: [arm]
232
  os: [linux]
233
 
234
+ '@esbuild/linux-ia32@0.21.5':
235
+ resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
236
  engines: {node: '>=12'}
237
  cpu: [ia32]
238
  os: [linux]
239
 
240
+ '@esbuild/linux-loong64@0.21.5':
241
+ resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
242
  engines: {node: '>=12'}
243
  cpu: [loong64]
244
  os: [linux]
245
 
246
+ '@esbuild/linux-mips64el@0.21.5':
247
+ resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
248
  engines: {node: '>=12'}
249
  cpu: [mips64el]
250
  os: [linux]
251
 
252
+ '@esbuild/linux-ppc64@0.21.5':
253
+ resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
254
  engines: {node: '>=12'}
255
  cpu: [ppc64]
256
  os: [linux]
257
 
258
+ '@esbuild/linux-riscv64@0.21.5':
259
+ resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
260
  engines: {node: '>=12'}
261
  cpu: [riscv64]
262
  os: [linux]
263
 
264
+ '@esbuild/linux-s390x@0.21.5':
265
+ resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
266
  engines: {node: '>=12'}
267
  cpu: [s390x]
268
  os: [linux]
269
 
270
+ '@esbuild/linux-x64@0.21.5':
271
+ resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
272
  engines: {node: '>=12'}
273
  cpu: [x64]
274
  os: [linux]
275
 
276
+ '@esbuild/netbsd-x64@0.21.5':
277
+ resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
278
  engines: {node: '>=12'}
279
  cpu: [x64]
280
  os: [netbsd]
281
 
282
+ '@esbuild/openbsd-x64@0.21.5':
283
+ resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
284
  engines: {node: '>=12'}
285
  cpu: [x64]
286
  os: [openbsd]
287
 
288
+ '@esbuild/sunos-x64@0.21.5':
289
+ resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
290
  engines: {node: '>=12'}
291
  cpu: [x64]
292
  os: [sunos]
293
 
294
+ '@esbuild/win32-arm64@0.21.5':
295
+ resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
296
  engines: {node: '>=12'}
297
  cpu: [arm64]
298
  os: [win32]
299
 
300
+ '@esbuild/win32-ia32@0.21.5':
301
+ resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
302
  engines: {node: '>=12'}
303
  cpu: [ia32]
304
  os: [win32]
305
 
306
+ '@esbuild/win32-x64@0.21.5':
307
+ resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
308
  engines: {node: '>=12'}
309
  cpu: [x64]
310
  os: [win32]
 
342
  resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
343
  engines: {node: '>=6.0.0'}
344
 
345
+ '@jridgewell/gen-mapping@0.3.5':
346
+ resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
347
+ engines: {node: '>=6.0.0'}
348
+
349
  '@jridgewell/resolve-uri@3.1.1':
350
  resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
351
  engines: {node: '>=6.0.0'}
352
 
353
+ '@jridgewell/resolve-uri@3.1.2':
354
+ resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
355
+ engines: {node: '>=6.0.0'}
356
+
357
  '@jridgewell/set-array@1.1.2':
358
  resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
359
  engines: {node: '>=6.0.0'}
360
 
361
+ '@jridgewell/set-array@1.2.1':
362
+ resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
363
+ engines: {node: '>=6.0.0'}
364
+
365
  '@jridgewell/sourcemap-codec@1.4.15':
366
  resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
367
 
368
+ '@jridgewell/sourcemap-codec@1.5.0':
369
+ resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
370
+
371
  '@jridgewell/trace-mapping@0.3.20':
372
  resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
373
 
374
+ '@jridgewell/trace-mapping@0.3.25':
375
+ resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
376
+
377
  '@nodelib/fs.scandir@2.1.5':
378
  resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
379
  engines: {node: '>= 8'}
 
386
  resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
387
  engines: {node: '>= 8'}
388
 
389
+ '@pkgr/core@0.1.1':
390
+ resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
391
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
392
+
393
  '@radix-ui/react-compose-refs@1.0.1':
394
  resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==}
395
  peerDependencies:
 
412
  resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==}
413
  engines: {node: '>=14.0.0'}
414
 
415
+ '@rollup/rollup-android-arm-eabi@4.25.0':
416
+ resolution: {integrity: sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==}
417
+ cpu: [arm]
418
+ os: [android]
419
+
420
+ '@rollup/rollup-android-arm64@4.25.0':
421
+ resolution: {integrity: sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==}
422
+ cpu: [arm64]
423
+ os: [android]
424
+
425
+ '@rollup/rollup-darwin-arm64@4.25.0':
426
+ resolution: {integrity: sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==}
427
  cpu: [arm64]
428
  os: [darwin]
429
 
430
+ '@rollup/rollup-darwin-x64@4.25.0':
431
+ resolution: {integrity: sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==}
 
432
  cpu: [x64]
433
  os: [darwin]
434
 
435
+ '@rollup/rollup-freebsd-arm64@4.25.0':
436
+ resolution: {integrity: sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==}
437
+ cpu: [arm64]
438
+ os: [freebsd]
439
+
440
+ '@rollup/rollup-freebsd-x64@4.25.0':
441
+ resolution: {integrity: sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==}
442
+ cpu: [x64]
443
+ os: [freebsd]
444
+
445
+ '@rollup/rollup-linux-arm-gnueabihf@4.25.0':
446
+ resolution: {integrity: sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==}
447
  cpu: [arm]
448
  os: [linux]
449
 
450
+ '@rollup/rollup-linux-arm-musleabihf@4.25.0':
451
+ resolution: {integrity: sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==}
452
+ cpu: [arm]
453
+ os: [linux]
454
+
455
+ '@rollup/rollup-linux-arm64-gnu@4.25.0':
456
+ resolution: {integrity: sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==}
457
  cpu: [arm64]
458
  os: [linux]
459
 
460
+ '@rollup/rollup-linux-arm64-musl@4.25.0':
461
+ resolution: {integrity: sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==}
 
462
  cpu: [arm64]
463
  os: [linux]
464
 
465
+ '@rollup/rollup-linux-powerpc64le-gnu@4.25.0':
466
+ resolution: {integrity: sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==}
467
+ cpu: [ppc64]
468
+ os: [linux]
469
+
470
+ '@rollup/rollup-linux-riscv64-gnu@4.25.0':
471
+ resolution: {integrity: sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==}
472
+ cpu: [riscv64]
473
+ os: [linux]
474
+
475
+ '@rollup/rollup-linux-s390x-gnu@4.25.0':
476
+ resolution: {integrity: sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==}
477
+ cpu: [s390x]
478
+ os: [linux]
479
+
480
+ '@rollup/rollup-linux-x64-gnu@4.25.0':
481
+ resolution: {integrity: sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==}
482
  cpu: [x64]
483
  os: [linux]
484
 
485
+ '@rollup/rollup-linux-x64-musl@4.25.0':
486
+ resolution: {integrity: sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==}
 
487
  cpu: [x64]
488
  os: [linux]
489
 
490
+ '@rollup/rollup-win32-arm64-msvc@4.25.0':
491
+ resolution: {integrity: sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==}
 
492
  cpu: [arm64]
493
  os: [win32]
494
 
495
+ '@rollup/rollup-win32-ia32-msvc@4.25.0':
496
+ resolution: {integrity: sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==}
 
497
  cpu: [ia32]
498
  os: [win32]
499
 
500
+ '@rollup/rollup-win32-x64-msvc@4.25.0':
501
+ resolution: {integrity: sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==}
 
502
  cpu: [x64]
503
  os: [win32]
504
 
505
+ '@types/babel__core@7.20.5':
506
+ resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
507
+
508
+ '@types/babel__generator@7.6.8':
509
+ resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
 
 
 
510
 
511
+ '@types/babel__template@7.4.4':
512
+ resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
513
 
514
+ '@types/babel__traverse@7.20.6':
515
+ resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
516
 
517
+ '@types/estree@1.0.6':
518
+ resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
519
 
520
  '@types/node@20.9.0':
521
  resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==}
522
 
523
+ '@types/prop-types@15.7.13':
524
+ resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
 
 
 
525
 
526
  '@types/react@18.2.37':
527
  resolution: {integrity: sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==}
528
 
529
+ '@types/scheduler@0.23.0':
530
+ resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
531
 
532
  '@ungap/structured-clone@1.2.0':
533
  resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
534
 
535
+ '@vitejs/plugin-react@4.3.3':
536
+ resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==}
537
+ engines: {node: ^14.18.0 || >=16.0.0}
538
  peerDependencies:
539
+ vite: ^4.2.0 || ^5.0.0
540
 
541
  acorn-jsx@5.3.2:
542
  resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
 
548
  engines: {node: '>=0.4.0'}
549
  hasBin: true
550
 
551
+ acorn@8.14.0:
552
+ resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
553
+ engines: {node: '>=0.4.0'}
554
+ hasBin: true
555
+
556
  ajv@6.12.6:
557
  resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
558
 
 
571
  resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
572
  engines: {node: '>= 8'}
573
 
574
+ are-docs-informative@0.0.2:
575
+ resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
576
+ engines: {node: '>=14'}
577
+
578
  arg@5.0.2:
579
  resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
580
 
581
  argparse@2.0.1:
582
  resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
583
 
 
 
 
 
584
  autoprefixer@10.4.16:
585
  resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
586
  engines: {node: ^10 || ^12 || >=14}
 
607
  engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
608
  hasBin: true
609
 
610
+ browserslist@4.24.2:
611
+ resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
612
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
613
+ hasBin: true
614
+
615
  callsites@3.1.0:
616
  resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
617
  engines: {node: '>=6'}
 
623
  caniuse-lite@1.0.30001562:
624
  resolution: {integrity: sha512-kfte3Hym//51EdX4239i+Rmp20EsLIYGdPkERegTgU19hQWCRhsRFGKHTliUlsry53tv17K7n077Kqa0WJU4ng==}
625
 
626
+ caniuse-lite@1.0.30001680:
627
+ resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==}
628
+
629
  chalk@4.1.2:
630
  resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
631
  engines: {node: '>=10'}
 
652
  resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
653
  engines: {node: '>= 6'}
654
 
655
+ comment-parser@1.4.1:
656
+ resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
657
+ engines: {node: '>= 12.0.0'}
658
+
659
  concat-map@0.0.1:
660
  resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
661
 
662
+ convert-source-map@2.0.0:
663
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
664
+
665
  cross-spawn@7.0.3:
666
  resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
667
  engines: {node: '>= 8'}
 
671
  engines: {node: '>=4'}
672
  hasBin: true
673
 
674
+ csstype@3.1.3:
675
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
676
 
677
  debug@4.3.4:
678
  resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
 
683
  supports-color:
684
  optional: true
685
 
686
+ debug@4.3.7:
687
+ resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
688
+ engines: {node: '>=6.0'}
689
+ peerDependencies:
690
+ supports-color: '*'
691
+ peerDependenciesMeta:
692
+ supports-color:
693
+ optional: true
694
+
695
  deep-is@0.1.4:
696
  resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
697
 
698
  didyoumean@1.2.2:
699
  resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
700
 
 
 
 
 
701
  dlv@1.1.3:
702
  resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
703
 
 
708
  electron-to-chromium@1.4.585:
709
  resolution: {integrity: sha512-B4yBlX0azdA3rVMxpYwLQfDpdwOgcnLCkpvSOd68iFmeedo+WYjaBJS3/W58LVD8CB2nf+o7C4K9xz1l09RkWg==}
710
 
711
+ electron-to-chromium@1.5.57:
712
+ resolution: {integrity: sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==}
713
+
714
+ es-module-lexer@1.5.4:
715
+ resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
716
+
717
+ esbuild@0.21.5:
718
+ resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
719
  engines: {node: '>=12'}
720
  hasBin: true
721
 
 
723
  resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
724
  engines: {node: '>=6'}
725
 
726
+ escalade@3.2.0:
727
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
728
+ engines: {node: '>=6'}
729
+
730
  escape-string-regexp@4.0.0:
731
  resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
732
  engines: {node: '>=10'}
733
 
734
+ eslint-plugin-jsdoc@50.5.0:
735
+ resolution: {integrity: sha512-xTkshfZrUbiSHXBwZ/9d5ulZ2OcHXxSvm/NPo494H/hadLRJwOq5PMV0EUpMqsb9V+kQo+9BAgi6Z7aJtdBp2A==}
736
+ engines: {node: '>=18'}
737
+ peerDependencies:
738
+ eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
739
+
740
  eslint-plugin-react-hooks@4.6.0:
741
  resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
742
  engines: {node: '>=10'}
 
756
  resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
757
  engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
758
 
759
+ eslint-visitor-keys@4.2.0:
760
+ resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
761
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
762
+
763
  eslint@8.53.0:
764
  resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==}
765
  engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
766
  hasBin: true
767
 
768
+ espree@10.3.0:
769
+ resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
770
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
771
+
772
  espree@9.6.1:
773
  resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
774
  engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
 
777
  resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
778
  engines: {node: '>=0.10'}
779
 
780
+ esquery@1.6.0:
781
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
782
+ engines: {node: '>=0.10'}
783
+
784
  esrecurse@4.3.0:
785
  resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
786
  engines: {node: '>=4.0'}
 
842
  function-bind@1.1.2:
843
  resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
844
 
845
+ gensync@1.0.0-beta.2:
846
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
847
+ engines: {node: '>=6.9.0'}
848
+
849
  glob-parent@5.1.2:
850
  resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
851
  engines: {node: '>= 6'}
 
860
  glob@7.2.3:
861
  resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
862
 
863
+ globals@11.12.0:
864
+ resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
865
+ engines: {node: '>=4'}
866
+
867
  globals@13.23.0:
868
  resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
869
  engines: {node: '>=8'}
870
 
 
 
 
 
871
  graphemer@1.4.0:
872
  resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
873
 
 
937
  resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
938
  hasBin: true
939
 
940
+ jsdoc-type-pratt-parser@4.1.0:
941
+ resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
942
+ engines: {node: '>=12.0.0'}
943
+
944
+ jsesc@3.0.2:
945
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
946
+ engines: {node: '>=6'}
947
+ hasBin: true
948
+
949
  json-buffer@3.0.1:
950
  resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
951
 
 
955
  json-stable-stringify-without-jsonify@1.0.1:
956
  resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
957
 
958
+ json5@2.2.3:
959
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
960
+ engines: {node: '>=6'}
961
+ hasBin: true
962
+
963
  keyv@4.5.4:
964
  resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
965
 
 
985
  resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
986
  hasBin: true
987
 
988
+ lru-cache@5.1.1:
989
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
 
990
 
991
  lucide-react@0.292.0:
992
  resolution: {integrity: sha512-rRgUkpEHWpa5VCT66YscInCQmQuPCB1RFRzkkxMxg4b+jaL0V12E3riWWR2Sh5OIiUhCwGW/ZExuEO4Az32E6Q==}
 
1007
  ms@2.1.2:
1008
  resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1009
 
1010
+ ms@2.1.3:
1011
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1012
+
1013
  mz@2.7.0:
1014
  resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1015
 
 
1024
  node-releases@2.0.13:
1025
  resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
1026
 
1027
+ node-releases@2.0.18:
1028
+ resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
1029
+
1030
  normalize-path@3.0.0:
1031
  resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1032
  engines: {node: '>=0.10.0'}
 
1062
  resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1063
  engines: {node: '>=6'}
1064
 
1065
+ parse-imports@2.2.1:
1066
+ resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==}
1067
+ engines: {node: '>= 18'}
1068
+
1069
  path-exists@4.0.0:
1070
  resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1071
  engines: {node: '>=8'}
 
1081
  path-parse@1.0.7:
1082
  resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1083
 
 
 
 
 
1084
  picocolors@1.0.0:
1085
  resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1086
 
1087
+ picocolors@1.1.1:
1088
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1089
+
1090
  picomatch@2.3.1:
1091
  resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1092
  engines: {node: '>=8.6'}
 
1140
  resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
1141
  engines: {node: ^10 || ^12 || >=14}
1142
 
1143
+ postcss@8.4.49:
1144
+ resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
1145
+ engines: {node: ^10 || ^12 || >=14}
1146
+
1147
  prelude-ls@1.2.1:
1148
  resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1149
  engines: {node: '>= 0.8.0'}
 
1160
  peerDependencies:
1161
  react: ^18.2.0
1162
 
1163
+ react-refresh@0.14.2:
1164
+ resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
1165
+ engines: {node: '>=0.10.0'}
1166
+
1167
  react-router-dom@6.27.0:
1168
  resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==}
1169
  engines: {node: '>=14.0.0'}
 
1219
  resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
1220
  hasBin: true
1221
 
1222
+ rollup@4.25.0:
1223
+ resolution: {integrity: sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==}
1224
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1225
  hasBin: true
1226
 
1227
  run-parallel@1.2.0:
 
1230
  scheduler@0.23.0:
1231
  resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
1232
 
1233
+ semver@6.3.1:
1234
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1235
+ hasBin: true
1236
+
1237
+ semver@7.6.3:
1238
+ resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
1239
  engines: {node: '>=10'}
1240
  hasBin: true
1241
 
 
1247
  resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1248
  engines: {node: '>=8'}
1249
 
1250
+ slashes@3.0.12:
1251
+ resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==}
 
1252
 
1253
  source-map-js@1.0.2:
1254
  resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1255
  engines: {node: '>=0.10.0'}
1256
 
1257
+ source-map-js@1.2.1:
1258
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1259
+ engines: {node: '>=0.10.0'}
1260
+
1261
+ spdx-exceptions@2.5.0:
1262
+ resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
1263
+
1264
+ spdx-expression-parse@4.0.0:
1265
+ resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
1266
+
1267
+ spdx-license-ids@3.0.20:
1268
+ resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
1269
+
1270
  strip-ansi@6.0.1:
1271
  resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1272
  engines: {node: '>=8'}
 
1288
  resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1289
  engines: {node: '>= 0.4'}
1290
 
1291
+ synckit@0.9.2:
1292
+ resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
1293
+ engines: {node: ^14.18.0 || >=16.0.0}
1294
+
1295
  tailwind-merge@2.0.0:
1296
  resolution: {integrity: sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==}
1297
 
 
1319
  resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1320
  engines: {node: '>=8.0'}
1321
 
 
 
 
 
 
 
1322
  ts-interface-checker@0.1.13:
1323
  resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1324
 
1325
+ tslib@2.8.1:
1326
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1327
+
1328
  type-check@0.4.0:
1329
  resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1330
  engines: {node: '>= 0.8.0'}
 
1333
  resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
1334
  engines: {node: '>=10'}
1335
 
 
 
 
 
 
1336
  undici-types@5.26.5:
1337
  resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
1338
 
 
1342
  peerDependencies:
1343
  browserslist: '>= 4.21.0'
1344
 
1345
+ update-browserslist-db@1.1.1:
1346
+ resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
1347
+ hasBin: true
1348
+ peerDependencies:
1349
+ browserslist: '>= 4.21.0'
1350
+
1351
  uri-js@4.4.1:
1352
  resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1353
 
 
1358
  resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
1359
  hasBin: true
1360
 
1361
+ vite@5.4.11:
1362
+ resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==}
1363
+ engines: {node: ^18.0.0 || >=20.0.0}
1364
  hasBin: true
1365
  peerDependencies:
1366
+ '@types/node': ^18.0.0 || >=20.0.0
1367
  less: '*'
1368
  lightningcss: ^1.21.0
1369
  sass: '*'
1370
+ sass-embedded: '*'
1371
  stylus: '*'
1372
  sugarss: '*'
1373
  terser: ^5.4.0
 
1380
  optional: true
1381
  sass:
1382
  optional: true
1383
+ sass-embedded:
1384
+ optional: true
1385
  stylus:
1386
  optional: true
1387
  sugarss:
 
1397
  wrappy@1.0.2:
1398
  resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1399
 
1400
+ yallist@3.1.1:
1401
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
1402
 
1403
  yaml@2.3.4:
1404
  resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
 
1414
 
1415
  '@alloc/quick-lru@5.2.0': {}
1416
 
1417
+ '@ampproject/remapping@2.3.0':
1418
+ dependencies:
1419
+ '@jridgewell/gen-mapping': 0.3.5
1420
+ '@jridgewell/trace-mapping': 0.3.25
1421
+
1422
+ '@babel/code-frame@7.26.2':
1423
+ dependencies:
1424
+ '@babel/helper-validator-identifier': 7.25.9
1425
+ js-tokens: 4.0.0
1426
+ picocolors: 1.1.1
1427
+
1428
+ '@babel/compat-data@7.26.2': {}
1429
+
1430
+ '@babel/core@7.26.0':
1431
+ dependencies:
1432
+ '@ampproject/remapping': 2.3.0
1433
+ '@babel/code-frame': 7.26.2
1434
+ '@babel/generator': 7.26.2
1435
+ '@babel/helper-compilation-targets': 7.25.9
1436
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
1437
+ '@babel/helpers': 7.26.0
1438
+ '@babel/parser': 7.26.2
1439
+ '@babel/template': 7.25.9
1440
+ '@babel/traverse': 7.25.9
1441
+ '@babel/types': 7.26.0
1442
+ convert-source-map: 2.0.0
1443
+ debug: 4.3.7
1444
+ gensync: 1.0.0-beta.2
1445
+ json5: 2.2.3
1446
+ semver: 6.3.1
1447
+ transitivePeerDependencies:
1448
+ - supports-color
1449
+
1450
+ '@babel/generator@7.26.2':
1451
+ dependencies:
1452
+ '@babel/parser': 7.26.2
1453
+ '@babel/types': 7.26.0
1454
+ '@jridgewell/gen-mapping': 0.3.5
1455
+ '@jridgewell/trace-mapping': 0.3.25
1456
+ jsesc: 3.0.2
1457
+
1458
+ '@babel/helper-compilation-targets@7.25.9':
1459
+ dependencies:
1460
+ '@babel/compat-data': 7.26.2
1461
+ '@babel/helper-validator-option': 7.25.9
1462
+ browserslist: 4.24.2
1463
+ lru-cache: 5.1.1
1464
+ semver: 6.3.1
1465
+
1466
+ '@babel/helper-module-imports@7.25.9':
1467
+ dependencies:
1468
+ '@babel/traverse': 7.25.9
1469
+ '@babel/types': 7.26.0
1470
+ transitivePeerDependencies:
1471
+ - supports-color
1472
+
1473
+ '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
1474
+ dependencies:
1475
+ '@babel/core': 7.26.0
1476
+ '@babel/helper-module-imports': 7.25.9
1477
+ '@babel/helper-validator-identifier': 7.25.9
1478
+ '@babel/traverse': 7.25.9
1479
+ transitivePeerDependencies:
1480
+ - supports-color
1481
+
1482
+ '@babel/helper-plugin-utils@7.25.9': {}
1483
+
1484
+ '@babel/helper-string-parser@7.25.9': {}
1485
+
1486
+ '@babel/helper-validator-identifier@7.25.9': {}
1487
+
1488
+ '@babel/helper-validator-option@7.25.9': {}
1489
+
1490
+ '@babel/helpers@7.26.0':
1491
+ dependencies:
1492
+ '@babel/template': 7.25.9
1493
+ '@babel/types': 7.26.0
1494
+
1495
+ '@babel/parser@7.26.2':
1496
+ dependencies:
1497
+ '@babel/types': 7.26.0
1498
+
1499
+ '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)':
1500
+ dependencies:
1501
+ '@babel/core': 7.26.0
1502
+ '@babel/helper-plugin-utils': 7.25.9
1503
+
1504
+ '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)':
1505
+ dependencies:
1506
+ '@babel/core': 7.26.0
1507
+ '@babel/helper-plugin-utils': 7.25.9
1508
+
1509
  '@babel/runtime@7.23.2':
1510
  dependencies:
1511
  regenerator-runtime: 0.14.0
1512
 
1513
+ '@babel/template@7.25.9':
1514
+ dependencies:
1515
+ '@babel/code-frame': 7.26.2
1516
+ '@babel/parser': 7.26.2
1517
+ '@babel/types': 7.26.0
1518
+
1519
+ '@babel/traverse@7.25.9':
1520
+ dependencies:
1521
+ '@babel/code-frame': 7.26.2
1522
+ '@babel/generator': 7.26.2
1523
+ '@babel/parser': 7.26.2
1524
+ '@babel/template': 7.25.9
1525
+ '@babel/types': 7.26.0
1526
+ debug: 4.3.7
1527
+ globals: 11.12.0
1528
+ transitivePeerDependencies:
1529
+ - supports-color
1530
+
1531
+ '@babel/types@7.26.0':
1532
+ dependencies:
1533
+ '@babel/helper-string-parser': 7.25.9
1534
+ '@babel/helper-validator-identifier': 7.25.9
1535
+
1536
+ '@es-joy/jsdoccomment@0.49.0':
1537
+ dependencies:
1538
+ comment-parser: 1.4.1
1539
+ esquery: 1.6.0
1540
+ jsdoc-type-pratt-parser: 4.1.0
1541
+
1542
+ '@esbuild/aix-ppc64@0.21.5':
1543
  optional: true
1544
 
1545
+ '@esbuild/android-arm64@0.21.5':
1546
  optional: true
1547
 
1548
+ '@esbuild/android-arm@0.21.5':
1549
  optional: true
1550
 
1551
+ '@esbuild/android-x64@0.21.5':
1552
  optional: true
1553
 
1554
+ '@esbuild/darwin-arm64@0.21.5':
1555
  optional: true
1556
 
1557
+ '@esbuild/darwin-x64@0.21.5':
1558
  optional: true
1559
 
1560
+ '@esbuild/freebsd-arm64@0.21.5':
1561
  optional: true
1562
 
1563
+ '@esbuild/freebsd-x64@0.21.5':
1564
  optional: true
1565
 
1566
+ '@esbuild/linux-arm64@0.21.5':
1567
  optional: true
1568
 
1569
+ '@esbuild/linux-arm@0.21.5':
1570
  optional: true
1571
 
1572
+ '@esbuild/linux-ia32@0.21.5':
1573
  optional: true
1574
 
1575
+ '@esbuild/linux-loong64@0.21.5':
1576
  optional: true
1577
 
1578
+ '@esbuild/linux-mips64el@0.21.5':
1579
  optional: true
1580
 
1581
+ '@esbuild/linux-ppc64@0.21.5':
1582
  optional: true
1583
 
1584
+ '@esbuild/linux-riscv64@0.21.5':
1585
  optional: true
1586
 
1587
+ '@esbuild/linux-s390x@0.21.5':
1588
  optional: true
1589
 
1590
+ '@esbuild/linux-x64@0.21.5':
1591
  optional: true
1592
 
1593
+ '@esbuild/netbsd-x64@0.21.5':
1594
  optional: true
1595
 
1596
+ '@esbuild/openbsd-x64@0.21.5':
1597
  optional: true
1598
 
1599
+ '@esbuild/sunos-x64@0.21.5':
1600
  optional: true
1601
 
1602
+ '@esbuild/win32-arm64@0.21.5':
1603
  optional: true
1604
 
1605
+ '@esbuild/win32-ia32@0.21.5':
1606
+ optional: true
1607
+
1608
+ '@esbuild/win32-x64@0.21.5':
1609
  optional: true
1610
 
1611
  '@eslint-community/eslint-utils@4.4.0(eslint@8.53.0)':
 
1649
  '@jridgewell/sourcemap-codec': 1.4.15
1650
  '@jridgewell/trace-mapping': 0.3.20
1651
 
1652
+ '@jridgewell/gen-mapping@0.3.5':
1653
+ dependencies:
1654
+ '@jridgewell/set-array': 1.2.1
1655
+ '@jridgewell/sourcemap-codec': 1.5.0
1656
+ '@jridgewell/trace-mapping': 0.3.25
1657
+
1658
  '@jridgewell/resolve-uri@3.1.1': {}
1659
 
1660
+ '@jridgewell/resolve-uri@3.1.2': {}
1661
+
1662
  '@jridgewell/set-array@1.1.2': {}
1663
 
1664
+ '@jridgewell/set-array@1.2.1': {}
1665
+
1666
  '@jridgewell/sourcemap-codec@1.4.15': {}
1667
 
1668
+ '@jridgewell/sourcemap-codec@1.5.0': {}
1669
+
1670
  '@jridgewell/trace-mapping@0.3.20':
1671
  dependencies:
1672
  '@jridgewell/resolve-uri': 3.1.1
1673
  '@jridgewell/sourcemap-codec': 1.4.15
1674
 
1675
+ '@jridgewell/trace-mapping@0.3.25':
1676
+ dependencies:
1677
+ '@jridgewell/resolve-uri': 3.1.2
1678
+ '@jridgewell/sourcemap-codec': 1.5.0
1679
+
1680
  '@nodelib/fs.scandir@2.1.5':
1681
  dependencies:
1682
  '@nodelib/fs.stat': 2.0.5
 
1689
  '@nodelib/fs.scandir': 2.1.5
1690
  fastq: 1.15.0
1691
 
1692
+ '@pkgr/core@0.1.1': {}
1693
+
1694
  '@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.37)(react@18.2.0)':
1695
  dependencies:
1696
  '@babel/runtime': 7.23.2
 
1708
 
1709
  '@remix-run/router@1.20.0': {}
1710
 
1711
+ '@rollup/rollup-android-arm-eabi@4.25.0':
1712
  optional: true
1713
 
1714
+ '@rollup/rollup-android-arm64@4.25.0':
1715
  optional: true
1716
 
1717
+ '@rollup/rollup-darwin-arm64@4.25.0':
1718
  optional: true
1719
 
1720
+ '@rollup/rollup-darwin-x64@4.25.0':
1721
  optional: true
1722
 
1723
+ '@rollup/rollup-freebsd-arm64@4.25.0':
1724
  optional: true
1725
 
1726
+ '@rollup/rollup-freebsd-x64@4.25.0':
1727
  optional: true
1728
 
1729
+ '@rollup/rollup-linux-arm-gnueabihf@4.25.0':
1730
  optional: true
1731
 
1732
+ '@rollup/rollup-linux-arm-musleabihf@4.25.0':
1733
  optional: true
1734
 
1735
+ '@rollup/rollup-linux-arm64-gnu@4.25.0':
1736
  optional: true
1737
 
1738
+ '@rollup/rollup-linux-arm64-musl@4.25.0':
1739
  optional: true
1740
 
1741
+ '@rollup/rollup-linux-powerpc64le-gnu@4.25.0':
1742
+ optional: true
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1743
 
1744
+ '@rollup/rollup-linux-riscv64-gnu@4.25.0':
1745
+ optional: true
 
1746
 
1747
+ '@rollup/rollup-linux-s390x-gnu@4.25.0':
1748
+ optional: true
1749
 
1750
+ '@rollup/rollup-linux-x64-gnu@4.25.0':
1751
+ optional: true
 
1752
 
1753
+ '@rollup/rollup-linux-x64-musl@4.25.0':
1754
+ optional: true
 
 
 
1755
 
1756
+ '@rollup/rollup-win32-arm64-msvc@4.25.0':
1757
+ optional: true
1758
 
1759
+ '@rollup/rollup-win32-ia32-msvc@4.25.0':
1760
+ optional: true
1761
 
1762
+ '@rollup/rollup-win32-x64-msvc@4.25.0':
1763
+ optional: true
1764
 
1765
+ '@types/babel__core@7.20.5':
1766
  dependencies:
1767
+ '@babel/parser': 7.26.2
1768
+ '@babel/types': 7.26.0
1769
+ '@types/babel__generator': 7.6.8
1770
+ '@types/babel__template': 7.4.4
1771
+ '@types/babel__traverse': 7.20.6
 
 
 
 
 
 
 
 
 
 
 
 
1772
 
1773
+ '@types/babel__generator@7.6.8':
1774
  dependencies:
1775
+ '@babel/types': 7.26.0
 
 
 
 
 
 
 
 
 
1776
 
1777
+ '@types/babel__template@7.4.4':
1778
  dependencies:
1779
+ '@babel/parser': 7.26.2
1780
+ '@babel/types': 7.26.0
1781
 
1782
+ '@types/babel__traverse@7.20.6':
1783
  dependencies:
1784
+ '@babel/types': 7.26.0
 
 
 
 
 
 
 
 
1785
 
1786
+ '@types/estree@1.0.6': {}
1787
 
1788
+ '@types/node@20.9.0':
1789
  dependencies:
1790
+ undici-types: 5.26.5
1791
+ optional: true
 
 
 
 
 
 
 
 
 
1792
 
1793
+ '@types/prop-types@15.7.13':
1794
+ optional: true
 
 
 
 
 
 
 
 
 
 
 
1795
 
1796
+ '@types/react@18.2.37':
1797
  dependencies:
1798
+ '@types/prop-types': 15.7.13
1799
+ '@types/scheduler': 0.23.0
1800
+ csstype: 3.1.3
1801
+ optional: true
1802
+
1803
+ '@types/scheduler@0.23.0':
1804
+ optional: true
1805
 
1806
  '@ungap/structured-clone@1.2.0': {}
1807
 
1808
+ '@vitejs/plugin-react@4.3.3(vite@5.4.11(@types/node@20.9.0))':
1809
  dependencies:
1810
+ '@babel/core': 7.26.0
1811
+ '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
1812
+ '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
1813
+ '@types/babel__core': 7.20.5
1814
+ react-refresh: 0.14.2
1815
+ vite: 5.4.11(@types/node@20.9.0)
1816
  transitivePeerDependencies:
1817
+ - supports-color
1818
 
1819
  acorn-jsx@5.3.2(acorn@8.11.2):
1820
  dependencies:
1821
  acorn: 8.11.2
1822
 
1823
+ acorn-jsx@5.3.2(acorn@8.14.0):
1824
+ dependencies:
1825
+ acorn: 8.14.0
1826
+
1827
  acorn@8.11.2: {}
1828
 
1829
+ acorn@8.14.0: {}
1830
+
1831
  ajv@6.12.6:
1832
  dependencies:
1833
  fast-deep-equal: 3.1.3
 
1848
  normalize-path: 3.0.0
1849
  picomatch: 2.3.1
1850
 
1851
+ are-docs-informative@0.0.2: {}
1852
+
1853
  arg@5.0.2: {}
1854
 
1855
  argparse@2.0.1: {}
1856
 
 
 
1857
  autoprefixer@10.4.16(postcss@8.4.31):
1858
  dependencies:
1859
  browserslist: 4.22.1
 
1884
  node-releases: 2.0.13
1885
  update-browserslist-db: 1.0.13(browserslist@4.22.1)
1886
 
1887
+ browserslist@4.24.2:
1888
+ dependencies:
1889
+ caniuse-lite: 1.0.30001680
1890
+ electron-to-chromium: 1.5.57
1891
+ node-releases: 2.0.18
1892
+ update-browserslist-db: 1.1.1(browserslist@4.24.2)
1893
+
1894
  callsites@3.1.0: {}
1895
 
1896
  camelcase-css@2.0.1: {}
1897
 
1898
  caniuse-lite@1.0.30001562: {}
1899
 
1900
+ caniuse-lite@1.0.30001680: {}
1901
+
1902
  chalk@4.1.2:
1903
  dependencies:
1904
  ansi-styles: 4.3.0
 
1930
 
1931
  commander@4.1.1: {}
1932
 
1933
+ comment-parser@1.4.1: {}
1934
+
1935
  concat-map@0.0.1: {}
1936
 
1937
+ convert-source-map@2.0.0: {}
1938
+
1939
  cross-spawn@7.0.3:
1940
  dependencies:
1941
  path-key: 3.1.1
 
1944
 
1945
  cssesc@3.0.0: {}
1946
 
1947
+ csstype@3.1.3:
1948
+ optional: true
1949
 
1950
  debug@4.3.4:
1951
  dependencies:
1952
  ms: 2.1.2
1953
 
1954
+ debug@4.3.7:
1955
+ dependencies:
1956
+ ms: 2.1.3
1957
+
1958
  deep-is@0.1.4: {}
1959
 
1960
  didyoumean@1.2.2: {}
1961
 
 
 
 
 
1962
  dlv@1.1.3: {}
1963
 
1964
  doctrine@3.0.0:
 
1967
 
1968
  electron-to-chromium@1.4.585: {}
1969
 
1970
+ electron-to-chromium@1.5.57: {}
1971
+
1972
+ es-module-lexer@1.5.4: {}
1973
+
1974
+ esbuild@0.21.5:
1975
  optionalDependencies:
1976
+ '@esbuild/aix-ppc64': 0.21.5
1977
+ '@esbuild/android-arm': 0.21.5
1978
+ '@esbuild/android-arm64': 0.21.5
1979
+ '@esbuild/android-x64': 0.21.5
1980
+ '@esbuild/darwin-arm64': 0.21.5
1981
+ '@esbuild/darwin-x64': 0.21.5
1982
+ '@esbuild/freebsd-arm64': 0.21.5
1983
+ '@esbuild/freebsd-x64': 0.21.5
1984
+ '@esbuild/linux-arm': 0.21.5
1985
+ '@esbuild/linux-arm64': 0.21.5
1986
+ '@esbuild/linux-ia32': 0.21.5
1987
+ '@esbuild/linux-loong64': 0.21.5
1988
+ '@esbuild/linux-mips64el': 0.21.5
1989
+ '@esbuild/linux-ppc64': 0.21.5
1990
+ '@esbuild/linux-riscv64': 0.21.5
1991
+ '@esbuild/linux-s390x': 0.21.5
1992
+ '@esbuild/linux-x64': 0.21.5
1993
+ '@esbuild/netbsd-x64': 0.21.5
1994
+ '@esbuild/openbsd-x64': 0.21.5
1995
+ '@esbuild/sunos-x64': 0.21.5
1996
+ '@esbuild/win32-arm64': 0.21.5
1997
+ '@esbuild/win32-ia32': 0.21.5
1998
+ '@esbuild/win32-x64': 0.21.5
1999
 
2000
  escalade@3.1.1: {}
2001
 
2002
+ escalade@3.2.0: {}
2003
+
2004
  escape-string-regexp@4.0.0: {}
2005
 
2006
+ eslint-plugin-jsdoc@50.5.0(eslint@8.53.0):
2007
+ dependencies:
2008
+ '@es-joy/jsdoccomment': 0.49.0
2009
+ are-docs-informative: 0.0.2
2010
+ comment-parser: 1.4.1
2011
+ debug: 4.3.7
2012
+ escape-string-regexp: 4.0.0
2013
+ eslint: 8.53.0
2014
+ espree: 10.3.0
2015
+ esquery: 1.6.0
2016
+ parse-imports: 2.2.1
2017
+ semver: 7.6.3
2018
+ spdx-expression-parse: 4.0.0
2019
+ synckit: 0.9.2
2020
+ transitivePeerDependencies:
2021
+ - supports-color
2022
+
2023
  eslint-plugin-react-hooks@4.6.0(eslint@8.53.0):
2024
  dependencies:
2025
  eslint: 8.53.0
 
2035
 
2036
  eslint-visitor-keys@3.4.3: {}
2037
 
2038
+ eslint-visitor-keys@4.2.0: {}
2039
+
2040
  eslint@8.53.0:
2041
  dependencies:
2042
  '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0)
 
2080
  transitivePeerDependencies:
2081
  - supports-color
2082
 
2083
+ espree@10.3.0:
2084
+ dependencies:
2085
+ acorn: 8.14.0
2086
+ acorn-jsx: 5.3.2(acorn@8.14.0)
2087
+ eslint-visitor-keys: 4.2.0
2088
+
2089
  espree@9.6.1:
2090
  dependencies:
2091
  acorn: 8.11.2
 
2096
  dependencies:
2097
  estraverse: 5.3.0
2098
 
2099
+ esquery@1.6.0:
2100
+ dependencies:
2101
+ estraverse: 5.3.0
2102
+
2103
  esrecurse@4.3.0:
2104
  dependencies:
2105
  estraverse: 5.3.0
 
2156
 
2157
  function-bind@1.1.2: {}
2158
 
2159
+ gensync@1.0.0-beta.2: {}
2160
+
2161
  glob-parent@5.1.2:
2162
  dependencies:
2163
  is-glob: 4.0.3
 
2184
  once: 1.4.0
2185
  path-is-absolute: 1.0.1
2186
 
2187
+ globals@11.12.0: {}
2188
+
2189
  globals@13.23.0:
2190
  dependencies:
2191
  type-fest: 0.20.2
2192
 
 
 
 
 
 
 
 
 
 
2193
  graphemer@1.4.0: {}
2194
 
2195
  hamt_plus@1.0.2: {}
 
2244
  dependencies:
2245
  argparse: 2.0.1
2246
 
2247
+ jsdoc-type-pratt-parser@4.1.0: {}
2248
+
2249
+ jsesc@3.0.2: {}
2250
+
2251
  json-buffer@3.0.1: {}
2252
 
2253
  json-schema-traverse@0.4.1: {}
2254
 
2255
  json-stable-stringify-without-jsonify@1.0.1: {}
2256
 
2257
+ json5@2.2.3: {}
2258
+
2259
  keyv@4.5.4:
2260
  dependencies:
2261
  json-buffer: 3.0.1
 
2279
  dependencies:
2280
  js-tokens: 4.0.0
2281
 
2282
+ lru-cache@5.1.1:
2283
  dependencies:
2284
+ yallist: 3.1.1
2285
 
2286
  lucide-react@0.292.0(react@18.2.0):
2287
  dependencies:
 
2300
 
2301
  ms@2.1.2: {}
2302
 
2303
+ ms@2.1.3: {}
2304
+
2305
  mz@2.7.0:
2306
  dependencies:
2307
  any-promise: 1.3.0
 
2314
 
2315
  node-releases@2.0.13: {}
2316
 
2317
+ node-releases@2.0.18: {}
2318
+
2319
  normalize-path@3.0.0: {}
2320
 
2321
  normalize-range@0.1.2: {}
 
2349
  dependencies:
2350
  callsites: 3.1.0
2351
 
2352
+ parse-imports@2.2.1:
2353
+ dependencies:
2354
+ es-module-lexer: 1.5.4
2355
+ slashes: 3.0.12
2356
+
2357
  path-exists@4.0.0: {}
2358
 
2359
  path-is-absolute@1.0.1: {}
 
2362
 
2363
  path-parse@1.0.7: {}
2364
 
 
 
2365
  picocolors@1.0.0: {}
2366
 
2367
+ picocolors@1.1.1: {}
2368
+
2369
  picomatch@2.3.1: {}
2370
 
2371
  pify@2.3.0: {}
 
2409
  picocolors: 1.0.0
2410
  source-map-js: 1.0.2
2411
 
2412
+ postcss@8.4.49:
2413
+ dependencies:
2414
+ nanoid: 3.3.7
2415
+ picocolors: 1.1.1
2416
+ source-map-js: 1.2.1
2417
+
2418
  prelude-ls@1.2.1: {}
2419
 
2420
  punycode@2.3.1: {}
 
2427
  react: 18.2.0
2428
  scheduler: 0.23.0
2429
 
2430
+ react-refresh@0.14.2: {}
2431
+
2432
  react-router-dom@6.27.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0):
2433
  dependencies:
2434
  '@remix-run/router': 1.20.0
 
2476
  dependencies:
2477
  glob: 7.2.3
2478
 
2479
+ rollup@4.25.0:
2480
+ dependencies:
2481
+ '@types/estree': 1.0.6
2482
  optionalDependencies:
2483
+ '@rollup/rollup-android-arm-eabi': 4.25.0
2484
+ '@rollup/rollup-android-arm64': 4.25.0
2485
+ '@rollup/rollup-darwin-arm64': 4.25.0
2486
+ '@rollup/rollup-darwin-x64': 4.25.0
2487
+ '@rollup/rollup-freebsd-arm64': 4.25.0
2488
+ '@rollup/rollup-freebsd-x64': 4.25.0
2489
+ '@rollup/rollup-linux-arm-gnueabihf': 4.25.0
2490
+ '@rollup/rollup-linux-arm-musleabihf': 4.25.0
2491
+ '@rollup/rollup-linux-arm64-gnu': 4.25.0
2492
+ '@rollup/rollup-linux-arm64-musl': 4.25.0
2493
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.25.0
2494
+ '@rollup/rollup-linux-riscv64-gnu': 4.25.0
2495
+ '@rollup/rollup-linux-s390x-gnu': 4.25.0
2496
+ '@rollup/rollup-linux-x64-gnu': 4.25.0
2497
+ '@rollup/rollup-linux-x64-musl': 4.25.0
2498
+ '@rollup/rollup-win32-arm64-msvc': 4.25.0
2499
+ '@rollup/rollup-win32-ia32-msvc': 4.25.0
2500
+ '@rollup/rollup-win32-x64-msvc': 4.25.0
2501
  fsevents: 2.3.3
2502
 
2503
  run-parallel@1.2.0:
 
2508
  dependencies:
2509
  loose-envify: 1.4.0
2510
 
2511
+ semver@6.3.1: {}
2512
+
2513
+ semver@7.6.3: {}
2514
 
2515
  shebang-command@2.0.0:
2516
  dependencies:
 
2518
 
2519
  shebang-regex@3.0.0: {}
2520
 
2521
+ slashes@3.0.12: {}
2522
 
2523
  source-map-js@1.0.2: {}
2524
 
2525
+ source-map-js@1.2.1: {}
2526
+
2527
+ spdx-exceptions@2.5.0: {}
2528
+
2529
+ spdx-expression-parse@4.0.0:
2530
+ dependencies:
2531
+ spdx-exceptions: 2.5.0
2532
+ spdx-license-ids: 3.0.20
2533
+
2534
+ spdx-license-ids@3.0.20: {}
2535
+
2536
  strip-ansi@6.0.1:
2537
  dependencies:
2538
  ansi-regex: 5.0.1
 
2555
 
2556
  supports-preserve-symlinks-flag@1.0.0: {}
2557
 
2558
+ synckit@0.9.2:
2559
+ dependencies:
2560
+ '@pkgr/core': 0.1.1
2561
+ tslib: 2.8.1
2562
+
2563
  tailwind-merge@2.0.0:
2564
  dependencies:
2565
  '@babel/runtime': 7.23.2
 
2609
  dependencies:
2610
  is-number: 7.0.0
2611
 
 
 
 
 
2612
  ts-interface-checker@0.1.13: {}
2613
 
2614
+ tslib@2.8.1: {}
2615
+
2616
  type-check@0.4.0:
2617
  dependencies:
2618
  prelude-ls: 1.2.1
2619
 
2620
  type-fest@0.20.2: {}
2621
 
2622
+ undici-types@5.26.5:
2623
+ optional: true
 
2624
 
2625
  update-browserslist-db@1.0.13(browserslist@4.22.1):
2626
  dependencies:
 
2628
  escalade: 3.1.1
2629
  picocolors: 1.0.0
2630
 
2631
+ update-browserslist-db@1.1.1(browserslist@4.24.2):
2632
+ dependencies:
2633
+ browserslist: 4.24.2
2634
+ escalade: 3.2.0
2635
+ picocolors: 1.1.1
2636
+
2637
  uri-js@4.4.1:
2638
  dependencies:
2639
  punycode: 2.3.1
 
2642
 
2643
  uuid@9.0.1: {}
2644
 
2645
+ vite@5.4.11(@types/node@20.9.0):
2646
  dependencies:
2647
+ esbuild: 0.21.5
2648
+ postcss: 8.4.49
2649
+ rollup: 4.25.0
2650
  optionalDependencies:
2651
  '@types/node': 20.9.0
2652
  fsevents: 2.3.3
 
2657
 
2658
  wrappy@1.0.2: {}
2659
 
2660
+ yallist@3.1.1: {}
2661
 
2662
  yaml@2.3.4: {}
2663
 
frontend/src/components/Chat.jsx CHANGED
@@ -2,6 +2,17 @@ import React, { useState, useEffect, useRef } from 'react';
2
  import { useAuth } from '../services/AuthContext';
3
  import { useNavigate } from 'react-router-dom';
4
 
 
 
 
 
 
 
 
 
 
 
 
5
  const Chat = () => {
6
  const { token, logout } = useAuth();
7
  const navigate = useNavigate();
@@ -44,10 +55,10 @@ const Chat = () => {
44
  setIsReconnecting(false);
45
  break;
46
  case 'message':
47
- setMessages(prev => [...prev, {
48
- text: data.message,
49
- sender: data.sender
50
- }]);
51
  break;
52
  case 'error':
53
  console.error('Server error:', data.message);
@@ -61,23 +72,24 @@ const Chat = () => {
61
  }
62
  } catch (error) {
63
  console.error('Error processing message:', error);
64
- setMessages(prev => [...prev, {
65
- text: event.data,
66
- sender: 'ai'
67
- }]);
68
  }
69
  };
70
 
71
  ws.onclose = (event) => {
72
  console.log('WebSocket closed:', event);
73
  setIsConnected(false);
74
-
75
  if (event.code === 1008) {
76
  // Authentication failed
77
  console.error('WebSocket authentication failed');
78
  logout();
79
  navigate('/login');
80
  } else if (connectionAttempts < maxReconnectAttempts) {
 
81
  // Normal closure or error, attempt to reconnect
82
  setIsReconnecting(true);
83
  setConnectionAttempts(prev => prev + 1);
@@ -109,11 +121,14 @@ const Chat = () => {
109
  content: input
110
  };
111
 
112
- setMessages(prev => [...prev, { text: input, sender: 'user' }]);
 
 
 
113
  websocket.current.send(JSON.stringify(message));
114
  setInput('');
115
  };
116
-
117
  // Rest of your component (file upload handler, UI rendering, etc.)
118
  return (
119
  <div className="flex flex-col h-screen bg-gray-100">
@@ -136,16 +151,16 @@ const Chat = () => {
136
 
137
  {/* Messages area */}
138
  <div className="flex-1 overflow-y-auto p-4 space-y-4">
139
- {messages.map((message, index) => (
 
140
  <div
141
  key={index}
142
- className={`p-3 rounded-lg max-w-[80%] ${
143
- message.sender === 'user'
144
  ? 'ml-auto bg-blue-500 text-white'
145
  : message.sender === 'ai'
146
- ? 'bg-gray-200'
147
- : 'bg-yellow-100 mx-auto'
148
- }`}
149
  >
150
  {message.text}
151
  </div>
 
2
  import { useAuth } from '../services/AuthContext';
3
  import { useNavigate } from 'react-router-dom';
4
 
5
+ const processMessages = (messageObject) => {
6
+ return (previousMessages) => {
7
+ if (previousMessages.length > 0 && previousMessages[previousMessages.length - 1].sender === messageObject.sender) {
8
+ const newMessage = {text:previousMessages[previousMessages.length - 1].text+ ' ' + messageObject.text, sender: messageObject.sender};
9
+ return [...previousMessages.slice(0, -1), newMessage];
10
+ } else {
11
+ return [...previousMessages, messageObject];
12
+ }
13
+ }
14
+ }
15
+
16
  const Chat = () => {
17
  const { token, logout } = useAuth();
18
  const navigate = useNavigate();
 
55
  setIsReconnecting(false);
56
  break;
57
  case 'message':
58
+ setMessages(processMessages({
59
+ text:data.message,
60
+ sender: data.sender
61
+ }));
62
  break;
63
  case 'error':
64
  console.error('Server error:', data.message);
 
72
  }
73
  } catch (error) {
74
  console.error('Error processing message:', error);
75
+ setMessages(processMessages({
76
+ text: event.data,
77
+ sender: 'ai'
78
+ }));
79
  }
80
  };
81
 
82
  ws.onclose = (event) => {
83
  console.log('WebSocket closed:', event);
84
  setIsConnected(false);
85
+
86
  if (event.code === 1008) {
87
  // Authentication failed
88
  console.error('WebSocket authentication failed');
89
  logout();
90
  navigate('/login');
91
  } else if (connectionAttempts < maxReconnectAttempts) {
92
+
93
  // Normal closure or error, attempt to reconnect
94
  setIsReconnecting(true);
95
  setConnectionAttempts(prev => prev + 1);
 
121
  content: input
122
  };
123
 
124
+ setMessages(processMessages({
125
+ text: input,
126
+ sender: 'user'
127
+ }));
128
  websocket.current.send(JSON.stringify(message));
129
  setInput('');
130
  };
131
+ console.log('MESSAGES****', messages);
132
  // Rest of your component (file upload handler, UI rendering, etc.)
133
  return (
134
  <div className="flex flex-col h-screen bg-gray-100">
 
151
 
152
  {/* Messages area */}
153
  <div className="flex-1 overflow-y-auto p-4 space-y-4">
154
+
155
+ {(messages || []).map((message, index) => (
156
  <div
157
  key={index}
158
+ className={`p-3 rounded-lg max-w-[80%] ${message.sender === 'user'
 
159
  ? 'ml-auto bg-blue-500 text-white'
160
  : message.sender === 'ai'
161
+ ? 'bg-gray-200'
162
+ : 'bg-yellow-100 mx-auto'
163
+ }`}
164
  >
165
  {message.text}
166
  </div>
frontend/src/components/Login.jsx CHANGED
@@ -1,5 +1,5 @@
1
  import React, { useState } from 'react';
2
- //import { login } from '../api';
3
  import { useNavigate, Link } from 'react-router-dom';
4
  import { useAuth } from '../services/AuthContext';
5
  import loginBg from '../../public/images/salesbuddy_logo.jpg';
@@ -49,7 +49,7 @@ const Login = () => {
49
 
50
  <h6>Please provide your credentials:</h6>
51
  <input className="textbox" type="text" placeholder="User" onChange={(e) => setUsername(e.target.value)} />
52
- <input className="textbox" type="password" placeholder="Password" onChange={(e) => setPassword(e.target.value)} />
53
  <button onClick={handleSubmit}>Sign In</button>
54
  <div style={{margin:"auto"}}>
55
  <Link to="/register" className="text-blue-600 hover:text-blue-500">
 
1
  import React, { useState } from 'react';
2
+ import PasswordInput from './ui/password';
3
  import { useNavigate, Link } from 'react-router-dom';
4
  import { useAuth } from '../services/AuthContext';
5
  import loginBg from '../../public/images/salesbuddy_logo.jpg';
 
49
 
50
  <h6>Please provide your credentials:</h6>
51
  <input className="textbox" type="text" placeholder="User" onChange={(e) => setUsername(e.target.value)} />
52
+ <PasswordInput onChange={(e) => setPassword(e.target.value)} />
53
  <button onClick={handleSubmit}>Sign In</button>
54
  <div style={{margin:"auto"}}>
55
  <Link to="/register" className="text-blue-600 hover:text-blue-500">
frontend/src/components/Opportunities.jsx CHANGED
@@ -1,5 +1,6 @@
1
  import { useEffect, useState } from 'react';
2
  import Upload from './Upload';
 
3
  const storedToken = localStorage.getItem('token');
4
 
5
 
@@ -51,6 +52,7 @@ const Opportunities = () => {
51
  <div className="flex-1 overflow-auto p-6">
52
  <h2 style={{ 'fontSize': 'revert' }}>Opportunities</h2>
53
  <table className="border-collapse border border-slate-400" style={{fontSize:"12px"}}>
 
54
  {opportunities.map((opportunity, id) => (
55
  <tbody key={id}>
56
  <tr>
@@ -64,6 +66,7 @@ const Opportunities = () => {
64
  </div>
65
  <div className="border-t p-4 bg-white dark:bg-gray-800">
66
  <div className="flex items-center space-x-2">
 
67
  <Upload token={token} />
68
  <button onClick={handleLogout} className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-400">Logout</button>
69
  </div>
 
1
  import { useEffect, useState } from 'react';
2
  import Upload from './Upload';
3
+ import Chat from './Chat';
4
  const storedToken = localStorage.getItem('token');
5
 
6
 
 
52
  <div className="flex-1 overflow-auto p-6">
53
  <h2 style={{ 'fontSize': 'revert' }}>Opportunities</h2>
54
  <table className="border-collapse border border-slate-400" style={{fontSize:"12px"}}>
55
+ <thead><tr>{Object.keys(opportunities[0] || []).map((e, index) => <td key={'thead-r-'+index}>{e}</td>)}</tr></thead>
56
  {opportunities.map((opportunity, id) => (
57
  <tbody key={id}>
58
  <tr>
 
66
  </div>
67
  <div className="border-t p-4 bg-white dark:bg-gray-800">
68
  <div className="flex items-center space-x-2">
69
+ <Chat />
70
  <Upload token={token} />
71
  <button onClick={handleLogout} className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 disabled:bg-gray-400">Logout</button>
72
  </div>
frontend/src/components/ui/password.jsx ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import React, { useState } from 'react';
2
+ import { Eye, EyeOff } from 'lucide-react';
3
+
4
+ const PasswordInput = ({onChange}) => {
5
+ const [showPassword, setShowPassword] = useState(false);
6
+ const [password, setPassword] = useState('');
7
+
8
+ const togglePasswordVisibility = () => {
9
+ setShowPassword(!showPassword);
10
+ };
11
+
12
+ const changeEvent = (e) => {
13
+ setPassword(e.target.value);
14
+ onChange(e);
15
+ }
16
+
17
+ return (
18
+ <div className="relative w-full max-w-sm">
19
+ <input
20
+ type={showPassword ? 'text' : 'password'}
21
+ value={password}
22
+ onChange={changeEvent}
23
+ className="w-full px-3 py-2 border rounded-md pr-10 text-sm"
24
+ placeholder="Enter password"
25
+ />
26
+ <button
27
+ type="button"
28
+ style={{ // Explicit styles to override any external CSS
29
+ width: '20px',
30
+ height: '20px',
31
+ padding: '0',
32
+ display: 'flex',
33
+ alignItems: 'center',
34
+ justifyContent: 'center',
35
+ background: 'transparent',
36
+ border: 'none',
37
+ position: 'absolute',
38
+ right: '8px',
39
+ top: '10%',
40
+ transform: 'translateY(-50%)',
41
+ cursor: 'pointer'
42
+ }}
43
+ onClick={togglePasswordVisibility}
44
+ aria-label={showPassword ? "Hide password" : "Show password"}
45
+ >
46
+ {showPassword ? (
47
+ <Eye
48
+ className="text-gray-500"
49
+ size={16} // Explicit size for the icon
50
+ />
51
+ ) : (
52
+ <EyeOff
53
+ className="text-gray-500"
54
+ size={16} // Explicit size for the icon
55
+ />
56
+ )}
57
+ </button>
58
+ </div>
59
+ );
60
+ };
61
+
62
+ export default PasswordInput;
frontend/src/index.css CHANGED
@@ -174,4 +174,25 @@
174
  background-color: black !important;
175
  }
176
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  }
 
174
  background-color: black !important;
175
  }
176
 
177
+ table {
178
+ margin-top: 1rem;
179
+ border-collapse: collapse !important;
180
+ width: 100%;
181
+ }
182
+
183
+ thead {
184
+ font-weight: bold !important;
185
+ }
186
+
187
+ th {
188
+ border: 1px solid #ddd;
189
+ padding: 8px;
190
+ background-color: #f5f5f5;
191
+ }
192
+
193
+ td {
194
+ border: 1px solid #ddd;
195
+ padding: 8px;
196
+ }
197
+
198
  }
frontend/tsconfig.node.json CHANGED
@@ -6,5 +6,7 @@
6
  "moduleResolution": "bundler",
7
  "allowSyntheticDefaultImports": true
8
  },
9
- "include": ["vite.config.ts"]
10
- }
 
 
 
6
  "moduleResolution": "bundler",
7
  "allowSyntheticDefaultImports": true
8
  },
9
+ "include": [
10
+ "vite.config.js"
11
+ ]
12
+ }
frontend/{vite.config.ts → vite.config.js} RENAMED
@@ -1,5 +1,5 @@
1
  import path from 'path';
2
- import react from '@vitejs/plugin-react-swc';
3
  import { defineConfig } from 'vite';
4
 
5
  export default defineConfig({
 
1
  import path from 'path';
2
+ import react from '@vitejs/plugin-react';
3
  import { defineConfig } from 'vite';
4
 
5
  export default defineConfig({
requirements.old.txt ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ absl-py==2.1.0
2
+ aiohappyeyeballs==2.4.3
3
+ aiohttp==3.10.10
4
+ aiosignal==1.3.1
5
+ annotated-types==0.7.0
6
+ anyio==4.6.2.post1
7
+ appdirs==1.4.4
8
+ attrs==24.2.0
9
+ bcrypt==4.0.1
10
+ boto3==1.35.57
11
+ botocore==1.35.57
12
+ certifi==2024.8.30
13
+ charset-normalizer==3.4.0
14
+ click==8.1.7
15
+ comtypes==1.2.0
16
+ dataclasses-json==0.6.7
17
+ datasets==2.14.5
18
+ Deprecated==1.2.14
19
+ dill==0.3.7
20
+ distro==1.9.0
21
+ dnspython==2.7.0
22
+ docx2txt==0.8
23
+ ecdsa==0.19.0
24
+ email_validator==2.2.0
25
+ fastapi==0.115.4
26
+ filelock==3.16.1
27
+ fpdf==1.7.2
28
+ frozenlist==1.5.0
29
+ fsspec==2023.6.0
30
+ googleapis-common-protos==1.65.0
31
+ grpcio==1.67.1
32
+ grpcio-tools==1.62.3
33
+ h11==0.14.0
34
+ h2==4.1.0
35
+ hpack==4.0.0
36
+ httpcore==0.17.3
37
+ httptools==0.6.4
38
+ httpx==0.24.1
39
+ huggingface-hub==0.26.2
40
+ hyperframe==6.0.1
41
+ idna==3.10
42
+ importlib_metadata==8.4.0
43
+ Jinja2==3.1.4
44
+ jiter==0.5.0
45
+ jmespath==1.0.1
46
+ joblib==1.4.2
47
+ jsonpatch==1.33
48
+ jsonpointer==3.0.0
49
+ langchain==0.3.0
50
+ langchain-community==0.3.0
51
+ langchain-core==0.3.1
52
+ langchain-openai==0.2.0
53
+ langchain-qdrant==0.1.4
54
+ langchain-text-splitters==0.3.0
55
+ langgraph==0.2.34
56
+ langgraph-checkpoint==2.0.2
57
+ langsmith==0.1.142
58
+ llvmlite==0.43.0
59
+ MarkupSafe==3.0.2
60
+ marshmallow==3.22.0
61
+ more-itertools==10.5.0
62
+ motor==3.6.0
63
+ mpmath==1.3.0
64
+ msgpack==1.1.0
65
+ multidict==6.1.0
66
+ multiprocess==0.70.15
67
+ mypy-extensions==1.0.0
68
+ nest-asyncio==1.6.0
69
+ networkx==3.4.2
70
+ nltk==3.9.1
71
+ numba==0.60.0
72
+ numpy==1.26.4
73
+ openai==1.54.3
74
+ openai-whisper==20240930
75
+ opentelemetry-api==1.27.0
76
+ opentelemetry-exporter-otlp==1.27.0
77
+ opentelemetry-exporter-otlp-proto-common==1.27.0
78
+ opentelemetry-exporter-otlp-proto-grpc==1.27.0
79
+ opentelemetry-exporter-otlp-proto-http==1.27.0
80
+ opentelemetry-instrumentation==0.48b0
81
+ opentelemetry-proto==1.27.0
82
+ opentelemetry-sdk==1.27.0
83
+ opentelemetry-semantic-conventions==0.48b0
84
+ orjson==3.10.11
85
+ packaging==24.2
86
+ pandas==2.1.4
87
+ passlib==1.7.4
88
+ pillow==11.0.0
89
+ portalocker==2.10.1
90
+ propcache==0.2.0
91
+ protobuf==4.25.5
92
+ pyarrow==18.0.0
93
+ pyasn1==0.6.1
94
+ pydantic==2.7.4
95
+ pydantic-settings==2.6.1
96
+ pydantic_core==2.18.4
97
+ pymongo==4.9.2
98
+ PyMuPDF==1.24.10
99
+ PyMuPDFb==1.24.10
100
+ pysbd==0.3.4
101
+ python-dateutil==2.9.0.post0
102
+ python-dotenv==1.0.1
103
+ python-jose==3.3.0
104
+ python-multipart==0.0.17
105
+ pyttsx3==2.90
106
+ pytz==2024.2
107
+ PyYAML==6.0.2
108
+ qdrant-client==1.12.1
109
+ ragas==0.2.1
110
+ regex==2024.11.6
111
+ requests==2.32.3
112
+ requests-toolbelt==1.0.0
113
+ rouge_score==0.1.2
114
+ rsa==4.9
115
+ s3transfer==0.10.3
116
+ safetensors==0.4.5
117
+ scikit-learn==1.5.2
118
+ scipy==1.14.1
119
+ sentence-transformers==2.3.0
120
+ sentencepiece==0.2.0
121
+ setuptools==75.3.0
122
+ six==1.16.0
123
+ sniffio==1.3.1
124
+ SQLAlchemy==2.0.36
125
+ starlette==0.41.2
126
+ sympy==1.13.1
127
+ tabulate==0.9.0
128
+ tavily-python==0.5.0
129
+ tenacity==8.5.0
130
+ threadpoolctl==3.5.0
131
+ tiktoken==0.8.0
132
+ tokenizers==0.20.3
133
+ torch==2.5.1
134
+ tqdm==4.67.0
135
+ transformers==4.46.2
136
+ typing-inspect==0.9.0
137
+ typing_extensions==4.12.2
138
+ tzdata==2024.2
139
+ urllib3==2.2.3
140
+ uvicorn==0.32.0
141
+ uvloop==0.21.0
142
+ watchfiles==0.24.0
143
+ websockets==13.1
144
+ wheel==0.44.0
145
+ wrapt==1.16.0
146
+ xxhash==3.5.0
147
+ yarl==1.17.1
148
+ zipp==3.20.2
requirements.txt CHANGED
@@ -9,7 +9,6 @@ attrs==24.2.0
9
  bcrypt==4.0.1
10
  boto3==1.35.57
11
  botocore==1.35.57
12
- bson==0.5.10
13
  certifi==2024.8.30
14
  charset-normalizer==3.4.0
15
  click==8.1.7
@@ -60,7 +59,7 @@ llvmlite==0.43.0
60
  MarkupSafe==3.0.2
61
  marshmallow==3.22.0
62
  more-itertools==10.5.0
63
- motor==3.6.0
64
  mpmath==1.3.0
65
  msgpack==1.1.0
66
  multidict==6.1.0
@@ -95,163 +94,9 @@ pyasn1==0.6.1
95
  pydantic==2.7.4
96
  pydantic-settings==2.6.1
97
  pydantic_core==2.18.4
98
- pymongo==4.9.2
99
  PyMuPDF==1.24.10
100
  PyMuPDFb==1.24.10
101
- pyobjc==10.3.1
102
- pyobjc-core==10.3.1
103
- pyobjc-framework-Accessibility==10.3.1
104
- pyobjc-framework-Accounts==10.3.1
105
- pyobjc-framework-AddressBook==10.3.1
106
- pyobjc-framework-AdServices==10.3.1
107
- pyobjc-framework-AdSupport==10.3.1
108
- pyobjc-framework-AppleScriptKit==10.3.1
109
- pyobjc-framework-AppleScriptObjC==10.3.1
110
- pyobjc-framework-ApplicationServices==10.3.1
111
- pyobjc-framework-AppTrackingTransparency==10.3.1
112
- pyobjc-framework-AudioVideoBridging==10.3.1
113
- pyobjc-framework-AuthenticationServices==10.3.1
114
- pyobjc-framework-AutomaticAssessmentConfiguration==10.3.1
115
- pyobjc-framework-Automator==10.3.1
116
- pyobjc-framework-AVFoundation==10.3.1
117
- pyobjc-framework-AVKit==10.3.1
118
- pyobjc-framework-AVRouting==10.3.1
119
- pyobjc-framework-BackgroundAssets==10.3.1
120
- pyobjc-framework-BrowserEngineKit==10.3.1
121
- pyobjc-framework-BusinessChat==10.3.1
122
- pyobjc-framework-CalendarStore==10.3.1
123
- pyobjc-framework-CallKit==10.3.1
124
- pyobjc-framework-CFNetwork==10.3.1
125
- pyobjc-framework-Cinematic==10.3.1
126
- pyobjc-framework-ClassKit==10.3.1
127
- pyobjc-framework-CloudKit==10.3.1
128
- pyobjc-framework-Cocoa==10.3.1
129
- pyobjc-framework-Collaboration==10.3.1
130
- pyobjc-framework-ColorSync==10.3.1
131
- pyobjc-framework-Contacts==10.3.1
132
- pyobjc-framework-ContactsUI==10.3.1
133
- pyobjc-framework-CoreAudio==10.3.1
134
- pyobjc-framework-CoreAudioKit==10.3.1
135
- pyobjc-framework-CoreBluetooth==10.3.1
136
- pyobjc-framework-CoreData==10.3.1
137
- pyobjc-framework-CoreHaptics==10.3.1
138
- pyobjc-framework-CoreLocation==10.3.1
139
- pyobjc-framework-CoreMedia==10.3.1
140
- pyobjc-framework-CoreMediaIO==10.3.1
141
- pyobjc-framework-CoreMIDI==10.3.1
142
- pyobjc-framework-CoreML==10.3.1
143
- pyobjc-framework-CoreMotion==10.3.1
144
- pyobjc-framework-CoreServices==10.3.1
145
- pyobjc-framework-CoreSpotlight==10.3.1
146
- pyobjc-framework-CoreText==10.3.1
147
- pyobjc-framework-CoreWLAN==10.3.1
148
- pyobjc-framework-CryptoTokenKit==10.3.1
149
- pyobjc-framework-DataDetection==10.3.1
150
- pyobjc-framework-DeviceCheck==10.3.1
151
- pyobjc-framework-DictionaryServices==10.3.1
152
- pyobjc-framework-DiscRecording==10.3.1
153
- pyobjc-framework-DiscRecordingUI==10.3.1
154
- pyobjc-framework-DiskArbitration==10.3.1
155
- pyobjc-framework-DVDPlayback==10.3.1
156
- pyobjc-framework-EventKit==10.3.1
157
- pyobjc-framework-ExceptionHandling==10.3.1
158
- pyobjc-framework-ExecutionPolicy==10.3.1
159
- pyobjc-framework-ExtensionKit==10.3.1
160
- pyobjc-framework-ExternalAccessory==10.3.1
161
- pyobjc-framework-FileProvider==10.3.1
162
- pyobjc-framework-FileProviderUI==10.3.1
163
- pyobjc-framework-FinderSync==10.3.1
164
- pyobjc-framework-FSEvents==10.3.1
165
- pyobjc-framework-GameCenter==10.3.1
166
- pyobjc-framework-GameController==10.3.1
167
- pyobjc-framework-GameKit==10.3.1
168
- pyobjc-framework-GameplayKit==10.3.1
169
- pyobjc-framework-HealthKit==10.3.1
170
- pyobjc-framework-ImageCaptureCore==10.3.1
171
- pyobjc-framework-InputMethodKit==10.3.1
172
- pyobjc-framework-InstallerPlugins==10.3.1
173
- pyobjc-framework-InstantMessage==10.3.1
174
- pyobjc-framework-Intents==10.3.1
175
- pyobjc-framework-IntentsUI==10.3.1
176
- pyobjc-framework-IOBluetooth==10.3.1
177
- pyobjc-framework-IOBluetoothUI==10.3.1
178
- pyobjc-framework-IOSurface==10.3.1
179
- pyobjc-framework-iTunesLibrary==10.3.1
180
- pyobjc-framework-KernelManagement==10.3.1
181
- pyobjc-framework-LatentSemanticMapping==10.3.1
182
- pyobjc-framework-LaunchServices==10.3.1
183
- pyobjc-framework-libdispatch==10.3.1
184
- pyobjc-framework-libxpc==10.3.1
185
- pyobjc-framework-LinkPresentation==10.3.1
186
- pyobjc-framework-LocalAuthentication==10.3.1
187
- pyobjc-framework-LocalAuthenticationEmbeddedUI==10.3.1
188
- pyobjc-framework-MailKit==10.3.1
189
- pyobjc-framework-MapKit==10.3.1
190
- pyobjc-framework-MediaAccessibility==10.3.1
191
- pyobjc-framework-MediaLibrary==10.3.1
192
- pyobjc-framework-MediaPlayer==10.3.1
193
- pyobjc-framework-MediaToolbox==10.3.1
194
- pyobjc-framework-Metal==10.3.1
195
- pyobjc-framework-MetalFX==10.3.1
196
- pyobjc-framework-MetalKit==10.3.1
197
- pyobjc-framework-MetalPerformanceShaders==10.3.1
198
- pyobjc-framework-MetalPerformanceShadersGraph==10.3.1
199
- pyobjc-framework-MetricKit==10.3.1
200
- pyobjc-framework-MLCompute==10.3.1
201
- pyobjc-framework-ModelIO==10.3.1
202
- pyobjc-framework-MultipeerConnectivity==10.3.1
203
- pyobjc-framework-NaturalLanguage==10.3.1
204
- pyobjc-framework-NetFS==10.3.1
205
- pyobjc-framework-Network==10.3.1
206
- pyobjc-framework-NetworkExtension==10.3.1
207
- pyobjc-framework-NotificationCenter==10.3.1
208
- pyobjc-framework-OpenDirectory==10.3.1
209
- pyobjc-framework-OSAKit==10.3.1
210
- pyobjc-framework-OSLog==10.3.1
211
- pyobjc-framework-PassKit==10.3.1
212
- pyobjc-framework-PencilKit==10.3.1
213
- pyobjc-framework-PHASE==10.3.1
214
- pyobjc-framework-Photos==10.3.1
215
- pyobjc-framework-PhotosUI==10.3.1
216
- pyobjc-framework-PreferencePanes==10.3.1
217
- pyobjc-framework-PushKit==10.3.1
218
- pyobjc-framework-Quartz==10.3.1
219
- pyobjc-framework-QuickLookThumbnailing==10.3.1
220
- pyobjc-framework-ReplayKit==10.3.1
221
- pyobjc-framework-SafariServices==10.3.1
222
- pyobjc-framework-SafetyKit==10.3.1
223
- pyobjc-framework-SceneKit==10.3.1
224
- pyobjc-framework-ScreenCaptureKit==10.3.1
225
- pyobjc-framework-ScreenSaver==10.3.1
226
- pyobjc-framework-ScreenTime==10.3.1
227
- pyobjc-framework-ScriptingBridge==10.3.1
228
- pyobjc-framework-SearchKit==10.3.1
229
- pyobjc-framework-Security==10.3.1
230
- pyobjc-framework-SecurityFoundation==10.3.1
231
- pyobjc-framework-SecurityInterface==10.3.1
232
- pyobjc-framework-SensitiveContentAnalysis==10.3.1
233
- pyobjc-framework-ServiceManagement==10.3.1
234
- pyobjc-framework-SharedWithYou==10.3.1
235
- pyobjc-framework-SharedWithYouCore==10.3.1
236
- pyobjc-framework-ShazamKit==10.3.1
237
- pyobjc-framework-Social==10.3.1
238
- pyobjc-framework-SoundAnalysis==10.3.1
239
- pyobjc-framework-Speech==10.3.1
240
- pyobjc-framework-SpriteKit==10.3.1
241
- pyobjc-framework-StoreKit==10.3.1
242
- pyobjc-framework-Symbols==10.3.1
243
- pyobjc-framework-SyncServices==10.3.1
244
- pyobjc-framework-SystemConfiguration==10.3.1
245
- pyobjc-framework-SystemExtensions==10.3.1
246
- pyobjc-framework-ThreadNetwork==10.3.1
247
- pyobjc-framework-UniformTypeIdentifiers==10.3.1
248
- pyobjc-framework-UserNotifications==10.3.1
249
- pyobjc-framework-UserNotificationsUI==10.3.1
250
- pyobjc-framework-VideoSubscriberAccount==10.3.1
251
- pyobjc-framework-VideoToolbox==10.3.1
252
- pyobjc-framework-Virtualization==10.3.1
253
- pyobjc-framework-Vision==10.3.1
254
- pyobjc-framework-WebKit==10.3.1
255
  pysbd==0.3.4
256
  python-dateutil==2.9.0.post0
257
  python-dotenv==1.0.1
 
9
  bcrypt==4.0.1
10
  boto3==1.35.57
11
  botocore==1.35.57
 
12
  certifi==2024.8.30
13
  charset-normalizer==3.4.0
14
  click==8.1.7
 
59
  MarkupSafe==3.0.2
60
  marshmallow==3.22.0
61
  more-itertools==10.5.0
62
+ motor==3.3.1
63
  mpmath==1.3.0
64
  msgpack==1.1.0
65
  multidict==6.1.0
 
94
  pydantic==2.7.4
95
  pydantic-settings==2.6.1
96
  pydantic_core==2.18.4
97
+ pymongo==4.5.0
98
  PyMuPDF==1.24.10
99
  PyMuPDFb==1.24.10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  pysbd==0.3.4
101
  python-dateutil==2.9.0.post0
102
  python-dotenv==1.0.1