diff --git a/backend/Dockerfile b/backend/Dockerfile index b55cf35a9bed57cda70a6b29e3bdae8c88e11731..db19eaa996a46a1ee431bdeb65cd12de335a9676 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3 +FROM python:3.12 WORKDIR /app diff --git a/backend/app/crud.py b/backend/app/crud.py index 416ec5078a9c43eae3512e2e8152b8e5aecc94de..57d3c04439f71427113109accc186d84b9205319 100644 --- a/backend/app/crud.py +++ b/backend/app/crud.py @@ -2,6 +2,7 @@ import datetime from sqlalchemy.orm import Session import secrets +from utils import datetime_aware import models import schemas from hashing import Hasher @@ -24,8 +25,8 @@ def get_user_by_email_and_password(db: Session, email: str, password: str): return user_db -def get_users(db: Session, skip: int = 0, limit: int = 100): - return db.query(models.User).offset(skip).limit(limit).all() +def get_users(db: Session, skip: int = 0): + return db.query(models.User).offset(skip).all() def create_user(db: Session, user: schemas.UserCreate): @@ -67,6 +68,14 @@ def create_contact(db: Session, user, contact): return user +def create_user_survey_weekly(db: Session, user_id: int, survey: schemas.SurveyCreate): + db_user_survey_weekly = models.UserSurveyWeekly(user_id=user_id, **survey.dict()) + db.add(db_user_survey_weekly) + db.commit() + db.refresh(db_user_survey_weekly) + return db_user_survey_weekly + + def get_contact_sessions(db: Session, user_id: int, contact_id: int): return ( db.query(models.Session) @@ -87,8 +96,9 @@ def create_session(db: Session, user: schemas.User): def create_session_with_users( db: Session, users: list[schemas.User], - start_time: datetime.datetime | None = None, - end_time: datetime.datetime | None = None, + start_time: datetime.datetime | None = datetime_aware(), + end_time: datetime.datetime | None = datetime_aware() + + datetime.timedelta(hours=12), ): db_session = models.Session( is_active=True, users=users, start_time=start_time, end_time=end_time @@ -100,24 +110,36 @@ def create_session_with_users( def get_session(db: Session, session_id: int): - return db.query(models.Session).filter(models.Session.id == session_id).first() + session = db.query(models.Session).filter(models.Session.id == session_id).first() + return session -def get_sessions(db: Session, user: schemas.User, skip: int = 0, limit: int = 100): - return ( + +def get_sessions(db: Session, user: schemas.User, skip: int = 0): + sessions = ( db.query(models.Session) .filter(models.Session.users.any(models.User.id == user.id)) .filter(models.Session.is_active or user.type < 2) # .filter(models.Session.end_time >= datetime.datetime.now()) # .filter(models.Session.start_time <= datetime.datetime.now()) .offset(skip) - .limit(limit) .all() ) + return sessions + -def get_all_sessions(db: Session, skip: int = 0, limit: int = 100): - return db.query(models.Session).offset(skip).limit(limit).all() +def get_all_sessions(db: Session, skip: int = 0): + sessions = db.query(models.Session).offset(skip).all() + + for session in sessions: + session.length = ( + db.query(models.Message) + .filter(models.Message.session_id == session.id) + .count() + ) + + return sessions def delete_session(db: Session, session_id: int): @@ -148,12 +170,11 @@ def get_message(db: Session, message_id: int): return db.query(models.Message).filter(models.Message.id == message_id).first() -def get_messages(db: Session, session_id: int, skip: int = 0, limit: int = 100): +def get_messages(db: Session, session_id: int, skip: int = 0): return ( db.query(models.Message) .filter(models.Message.session_id == session_id) .offset(skip) - .limit(limit) .all() ) @@ -206,6 +227,14 @@ def create_message_feedback( return db_message_feedback +def create_study(db: Session, study: schemas.StudyCreate): + db_study = models.Study(**study.dict()) + db.add(db_study) + db.commit() + db.refresh(db_study) + return db_study + + def create_test_typing(db: Session, test: schemas.TestTypingCreate, user: schemas.User): db_test = models.TestTyping(user_id=user.id) db.add(db_test) @@ -240,8 +269,8 @@ def get_survey(db: Session, survey_id: int): ) -def get_surveys(db: Session, skip: int = 0, limit: int = 100): - return db.query(models.SurveySurvey).offset(skip).limit(limit).all() +def get_surveys(db: Session, skip: int = 0): + return db.query(models.SurveySurvey).offset(skip).all() def delete_survey(db: Session, survey_id: int): @@ -293,8 +322,8 @@ def get_survey_group(db: Session, survey_group_id: int) -> schemas.SurveyGroup: ) -def get_survey_groups(db: Session, skip: int = 0, limit: int = 100): - return db.query(models.SurveyGroup).offset(skip).limit(limit).all() +def get_survey_groups(db: Session, skip: int = 0): + return db.query(models.SurveyGroup).offset(skip).all() def delete_survey_group(db: Session, survey_group_id: int): @@ -346,8 +375,8 @@ def get_survey_question(db: Session, survey_question_id: int): ) -def get_survey_questions(db: Session, skip: int = 0, limit: int = 100): - return db.query(models.SurveyQuestion).offset(skip).limit(limit).all() +def get_survey_questions(db: Session, skip: int = 0): + return db.query(models.SurveyQuestion).offset(skip).all() def delete_survey_question(db: Session, survey_question_id: int): @@ -365,11 +394,10 @@ def create_survey_response(db: Session, survey_response: schemas.SurveyResponseC return db_survey_response -def get_survey_responses(db: Session, survey_id: int, skip: int = 0, limit: int = 100): +def get_survey_responses(db: Session, survey_id: int, skip: int = 0): return ( db.query(models.SurveyResponse) .filter(models.SurveyResponse.survey_id == survey_id) .offset(skip) - .limit(limit) .all() ) diff --git a/backend/app/database.py b/backend/app/database.py index 3d9710478e771b2f3bfec6b64527c4a9f4ded6d9..79b9f0f0f87f3657c1f8da1d5dca84d9c813704a 100644 --- a/backend/app/database.py +++ b/backend/app/database.py @@ -16,4 +16,5 @@ def get_db(): try: yield db finally: - db.close() \ No newline at end of file + db.close() + diff --git a/backend/app/main.py b/backend/app/main.py index a474e0ee09c95f98a2674ff37f61536e11cb573f..8b578828de724fb4154e16cc7539fae291a2129d 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -15,9 +15,12 @@ from fastapi import ( from sqlalchemy.orm import Session from fastapi.middleware.cors import CORSMiddleware from fastapi.websockets import WebSocket +from fastapi.responses import StreamingResponse from contextlib import asynccontextmanager import json from jose import jwt +from io import StringIO +import csv import schemas import crud @@ -66,6 +69,7 @@ v1Router = APIRouter(prefix="/v1") authRouter = APIRouter(prefix="/auth", tags=["auth"]) usersRouter = APIRouter(prefix="/users", tags=["users"]) sessionsRouter = APIRouter(prefix="/sessions", tags=["sessions"]) +studyRouter = APIRouter(prefix="/studies", tags=["studies"]) websocketRouter = APIRouter(prefix="/ws", tags=["websocket"]) webhookRouter = APIRouter(prefix="/webhooks", tags=["webhook"]) surveyRouter = APIRouter(prefix="/surveys", tags=["surveys"]) @@ -110,13 +114,14 @@ def register( email: Annotated[str, Form()], password: Annotated[str, Form()], nickname: Annotated[str, Form()], + tutor: Annotated[bool, Form()], db: Session = Depends(get_db), ): db_user = crud.get_user_by_email(db, email=email) if db_user: raise HTTPException(status_code=400, detail="User already registered") - user_data = schemas.UserCreate(email=email, password=password, nickname=nickname) + user_data = schemas.UserCreate(email=email, password=password, nickname=nickname, type=models.UserType.TUTOR.value if tutor else models.UserType.STUDENT.value) user = crud.create_user(db=db, user=user_data) @@ -167,11 +172,10 @@ def read_user( @usersRouter.get("", response_model=list[schemas.User]) def read_users( skip: int = 0, - limit: int = 100, db: Session = Depends(get_db), current_user: schemas.User = Depends(get_jwt_user), ): - return crud.get_users(db, skip=skip, limit=limit) + return crud.get_users(db, skip=skip) @usersRouter.delete("/{user_id}", status_code=status.HTTP_204_NO_CONTENT) @@ -377,6 +381,27 @@ def get_contacts( return db_user.contacts + db_user.contact_of +@usersRouter.post("/{user_id}/surveys/weekly", status_code=status.HTTP_201_CREATED) +def create_weekly_survey( + user_id: int, + survey: schemas.UserSurveyWeeklyCreate, + db: Session = Depends(get_db), + current_user: schemas.User = Depends(get_jwt_user), +): + if ( + not check_user_level(current_user, models.UserType.ADMIN) + and current_user.id != user_id + ): + raise HTTPException( + status_code=401, + detail="You do not have permission to create a survey for this user", + ) + db_user = crud.get_user(db, user_id) + if db_user is None: + raise HTTPException(status_code=404, detail="User not found") + + return crud.create_user_survey_weekly(db, user_id, survey).id + @sessionsRouter.post("", response_model=schemas.Session) def create_session( db: Session = Depends(get_db), @@ -387,7 +412,10 @@ def create_session( # status_code=401, detail="You do not have permission to create a session" # ) - return crud.create_session(db, current_user) + rep = crud.create_session(db, current_user) + rep.length = 0 + + return rep @sessionsRouter.get("/{session_id}", response_model=schemas.Session) @@ -443,6 +471,34 @@ def update_session( crud.update_session(db, session, session_id) +@sessionsRouter.get("/{session_id}/download/messages") +def download_session( + session_id: int, + db: Session = Depends(get_db), + current_user: schemas.User = Depends(get_jwt_user), +): + db_session = crud.get_session(db, session_id) + if db_session is None: + raise HTTPException(status_code=404, detail="Session not found") + + if not check_user_level(current_user, models.UserType.ADMIN): + raise HTTPException( + status_code=401, detail="You do not have permission to download this session" + ) + + data = crud.get_messages(db, session_id) + + output = StringIO() + writer = csv.writer(output) + + writer.writerow(models.Message.__table__.columns.keys()) + for row in data: + writer.writerow(row.raw()) + + output.seek(0) + + return StreamingResponse(output, media_type="text/csv", headers={"Content-Disposition": f"attachment; filename={session_id}-messages.csv"}) + @sessionsRouter.post( "/{session_id}/users/{user_id}", status_code=status.HTTP_201_CREATED @@ -502,14 +558,13 @@ def remove_user_from_session( @sessionsRouter.get("", response_model=list[schemas.Session]) def read_sessions( skip: int = 0, - limit: int = 100, db: Session = Depends(get_db), current_user: schemas.User = Depends(get_jwt_user), ): if check_user_level(current_user, models.UserType.ADMIN): - return crud.get_all_sessions(db, skip=skip, limit=limit) + return crud.get_all_sessions(db, skip=skip) - return crud.get_sessions(db, current_user, skip=skip, limit=limit) + return crud.get_sessions(db, current_user, skip=skip) @sessionsRouter.post("/{session_id}/satisfy", status_code=status.HTTP_204_NO_CONTENT) @@ -539,7 +594,6 @@ def create_session_satisfy( def read_messages( session_id: int, skip: int = 0, - limit: int = 100, db: Session = Depends(get_db), current_user: schemas.User = Depends(get_jwt_user), ): @@ -556,7 +610,7 @@ def read_messages( detail="You do not have permission to view messages in this session", ) - return crud.get_messages(db, session_id, skip=skip, limit=limit) + return crud.get_messages(db, session_id, skip=skip) async def send_websoket_message(session_id: int, message: schemas.Message, action: str): @@ -714,6 +768,17 @@ def propagate_presence( return +@studyRouter.post("/", status_code=status.HTTP_201_CREATED) +def study_create( + study: schemas.StudyCreate, + db: Session = Depends(get_db), + current_user: schemas.User = Depends(get_jwt_user), +): + if not check_user_level(current_user, models.UserType.ADMIN): + raise HTTPException( + status_code=401, detail="You do not have permission to create a study" + ) + return crud.create_study(db, study).id @websocketRouter.websocket("/sessions/{session_id}") async def websocket_session( @@ -1065,10 +1130,10 @@ def get_survey_responses( return crud.get_survey_responses(db, survey_id) - v1Router.include_router(authRouter) v1Router.include_router(usersRouter) v1Router.include_router(sessionsRouter) +v1Router.include_router(studyRouter) v1Router.include_router(websocketRouter) v1Router.include_router(webhookRouter) v1Router.include_router(surveyRouter) diff --git a/backend/app/models.py b/backend/app/models.py index e5a1a147b1e1007e5214fc07b17436b8b0d7e5b9..9bead73f94d484e49f1b6e803bda34d507dea4c5 100644 --- a/backend/app/models.py +++ b/backend/app/models.py @@ -13,6 +13,7 @@ from enum import Enum from database import Base import datetime +from utils import datetime_aware class UserType(Enum): @@ -43,9 +44,11 @@ class User(Base): ui_language = Column(String, default="fr") home_language = Column(String, default="en") target_language = Column(String, default="fr") - birthdate = Column(Integer, default=None) + birthdate = Column(DateTime, default=None) gender = Column(String, default=None) calcom_link = Column(String, default="") + study_id = Column(Integer, ForeignKey("studies.id"), default=None) + last_survey = Column(DateTime, default=None) sessions = relationship( "Session", secondary="user_sessions", back_populates="users" @@ -68,15 +71,28 @@ class User(Base): ) +class UserSurveyWeekly(Base): + __tablename__ = "users_survey_weekly" + + id = Column(Integer, primary_key=True, index=True) + created_at = Column(DateTime, default=datetime_aware) + user_id = Column(Integer, ForeignKey("users.id")) + q1 = Column(Float) + q2 = Column(Float) + q3 = Column(Float) + q4 = Column(Float) + + class Session(Base): __tablename__ = "sessions" id = Column(Integer, primary_key=True, index=True) - created_at = Column(DateTime, default=datetime.datetime.now) + created_at = Column(DateTime, default=datetime_aware) is_active = Column(Boolean, default=True) - start_time = Column(DateTime, default=datetime.datetime.now) + start_time = Column(DateTime, default=datetime_aware) end_time = Column( - DateTime, default=lambda: datetime.datetime.now() + datetime.timedelta(hours=12) + DateTime, + default=lambda: datetime_aware() + datetime.timedelta(hours=12), ) language = Column(String, default="fr") @@ -89,7 +105,7 @@ class SessionSatisfy(Base): id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, ForeignKey("users.id")) session_id = Column(Integer, ForeignKey("sessions.id")) - created_at = Column(DateTime, default=datetime.datetime.now) + created_at = Column(DateTime, default=datetime_aware) usefullness = Column(Integer) easiness = Column(Integer) remarks = Column(String) @@ -110,7 +126,19 @@ class Message(Base): content = Column(String) user_id = Column(Integer, ForeignKey("users.id")) session_id = Column(Integer, ForeignKey("sessions.id")) - created_at = Column(DateTime, default=datetime.datetime.now) + created_at = Column(DateTime, default=datetime_aware) + + feedbacks = relationship("MessageFeedback", backref="message") + + def raw(self): + return [ + self.id, + self.message_id, + self.content, + self.user_id, + self.session_id, + self.created_at, + ] feedbacks = relationship("MessageFeedback", backref="message") @@ -132,7 +160,7 @@ class MessageFeedback(Base): start = Column(Integer) end = Column(Integer) content = Column(String, default="") - date = Column(DateTime, default=datetime.datetime.now) + date = Column(DateTime, default=datetime_aware) class TestTyping(Base): @@ -140,7 +168,7 @@ class TestTyping(Base): id = Column(Integer, primary_key=True, index=True) user_id = Column(Integer, ForeignKey("users.id"), index=True) - created_at = Column(DateTime, default=datetime.datetime.now) + created_at = Column(DateTime, default=datetime_aware) entries = relationship("TestTypingEntry", backref="typing") @@ -213,10 +241,20 @@ class SurveyResponse(Base): id = Column(Integer, primary_key=True, index=True) uuid = Column(String) sid = Column(String) - created_at = Column(DateTime, default=datetime.datetime.now) + created_at = Column(DateTime, default=datetime_aware) survey_id = Column(Integer, ForeignKey("survey_surveys.id")) group_id = Column(Integer, ForeignKey("survey_groups.id")) question_id = Column(Integer, ForeignKey("survey_questions.id")) selected_id = Column(Integer) response_time = Column(Float) text = Column(String) + + +class Study(Base): + __tablename__ = "studies" + id = Column(Integer, primary_key=True, index=True) + title = Column(String) + description = Column(String) + start_date = Column(DateTime) + end_date = Column(DateTime) + chat_duration = Column(Integer) diff --git a/backend/app/schemas.py b/backend/app/schemas.py index 7c4a8b60eb8ee09aaa93e1ea7622ec4f2142d31c..721a36b533e115ad7ae87f7526279e689c6766ca 100644 --- a/backend/app/schemas.py +++ b/backend/app/schemas.py @@ -1,7 +1,6 @@ -from pydantic import BaseModel +from pydantic import BaseModel, NaiveDatetime from models import UserType -import datetime class User(BaseModel): @@ -14,9 +13,11 @@ class User(BaseModel): ui_language: str | None home_language: str | None target_language: str | None - birthdate: datetime.datetime | None + birthdate: NaiveDatetime | None gender: str | None = None calcom_link: str | None + study_id: int | None = None + last_survey: NaiveDatetime | None = None class Config: from_attributes = True @@ -32,9 +33,11 @@ class UserCreate(BaseModel): ui_language: str | None = None home_language: str | None = None target_language: str | None = None - birthdate: datetime.datetime | None = None + birthdate: NaiveDatetime | None = None gender: str | None = None calcom_link: str | None = None + study_id: int | None = None + last_survey: NaiveDatetime | None = None class UserUpdate(BaseModel): @@ -47,9 +50,11 @@ class UserUpdate(BaseModel): ui_language: str | None = None home_language: str | None = None target_language: str | None = None - birthdate: datetime.datetime | None = None + birthdate: NaiveDatetime | None = None gender: str | None = None calcom_link: str | None = None + study_id: int | None = None + last_survey: NaiveDatetime | None = None class Config: from_attributes = True @@ -62,14 +67,22 @@ class ContactCreate(BaseModel): from_attributes = True +class UserSurveyWeeklyCreate(BaseModel): + q1: float | None = None + q2: float | None = None + q3: float | None = None + q4: float | None = None + + class Session(BaseModel): id: int - created_at: datetime.datetime + created_at: NaiveDatetime is_active: bool users: list[User] - start_time: datetime.datetime - end_time: datetime.datetime + start_time: NaiveDatetime + end_time: NaiveDatetime language: str + length: int | None = None class Config: from_attributes = True @@ -95,7 +108,7 @@ class MessageFeedback(BaseModel): start: int end: int content: str - date: datetime.datetime + date: NaiveDatetime class Config: from_attributes = True @@ -123,7 +136,7 @@ class Message(BaseModel): content: str user_id: int session_id: int - created_at: datetime.datetime + created_at: NaiveDatetime feedbacks: list[MessageFeedback] class Config: @@ -177,7 +190,7 @@ class TestVocabularyCreate(BaseModel): class CalComWebhook(BaseModel): triggerEvent: str - createdAt: datetime.datetime + createdAt: NaiveDatetime payload: dict @@ -256,10 +269,27 @@ class SurveyResponse(BaseModel): id: int uuid: str sid: str - created_at: datetime.datetime + created_at: NaiveDatetime survey_id: int group_id: int question_id: int selected_id: int response_time: float text: str | None = None + + +class Study(BaseModel): + id: int + title: str + description: str + start_date: NaiveDatetime + end_date: NaiveDatetime + chat_duration: int + + +class StudyCreate(BaseModel): + title: str + description: str + start_date: NaiveDatetime + end_date: NaiveDatetime + chat_duration: int = 30 * 60 diff --git a/backend/app/utils.py b/backend/app/utils.py index 799857646ea7f95d53aebff888a3dc7409a0a2ef..95b76652da50e7f938614a3228ece2dcc50947d2 100644 --- a/backend/app/utils.py +++ b/backend/app/utils.py @@ -1,6 +1,11 @@ -import schemas +import datetime -def check_user_level(user: schemas.User, required_level: schemas.UserType): + +def check_user_level(user, required_level): if user.type > required_level.value: return False - return True \ No newline at end of file + return True + + +def datetime_aware(): + return datetime.datetime.now().astimezone(datetime.timezone.utc) diff --git a/backend/requirements.txt b/backend/requirements.txt index 99c9046f1f9bb317d75f03f786b37b62d754e976..b1a43b0a21db07ac0c0fdc136c874c25c90706a7 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -5,4 +5,3 @@ sqlalchemy>=2.0.0,<2.1.0 passlib>=1.7.0,<1.8.0 python-jose>=3.3.0,<3.4.0 python-multipart>=0.0.0,<0.1.0 -#crypt==4.0.1 diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 0a8f0b7da81c1b465735bf2621b2c6f7970bb5f4..492f32af54127140c2abab5e252e68b28c56c4eb 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -24,6 +24,7 @@ USER svelteuser WORKDIR /app COPY --chown=svelteuser:svelteuser --from=build /app/build /app/package.json /app/package-lock.json ./ +COPY --chown=svelteuser:svelteuser --from=build /app/node_modules /app/node_modules EXPOSE 8080 diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 240f04474e8e326b7e881cf5ba246dd33fbb296d..10e0d52638b6598c07ef938cdc0dfb2609cbe8d2 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,7 +8,10 @@ "name": "frontend", "version": "0.0.1", "dependencies": { + "dayjs": "^1.11.13", "emoji-picker-element": "^1.21.3", + "linkify-html": "^4.1.3", + "linkifyjs": "^4.1.3", "sanitize-html": "^2.13.0", "svelte-gravatar": "^1.0.3", "svelte-i18n": "^4.0.0", @@ -50,20 +53,12 @@ "vite": "^5.0.3" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -75,6 +70,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -84,13 +80,14 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -100,13 +97,14 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -116,13 +114,14 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -132,13 +131,14 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -148,13 +148,14 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -164,13 +165,14 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -180,13 +182,14 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -196,13 +199,14 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -212,13 +216,14 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -228,13 +233,14 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -244,13 +250,14 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -260,13 +267,14 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -276,13 +284,14 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -292,13 +301,14 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -308,13 +318,14 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -324,13 +335,14 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -340,13 +352,14 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -356,13 +369,14 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -372,13 +386,14 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -388,13 +403,14 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -404,13 +420,14 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -420,13 +437,14 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -436,13 +454,14 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -456,6 +475,7 @@ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, + "license": "MIT", "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -467,10 +487,11 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, + "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -480,6 +501,7 @@ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -503,6 +525,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -513,6 +536,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -525,37 +549,42 @@ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, + "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.6.tgz", + "integrity": "sha512-Vkvsw6EcpMHjvZZdMkSY+djMGFbt7CRssW99Ne8tar2WLnZ/l3dbxeTShbLQj+/s35h+Qb4cmnob+EzwtjrXGQ==", + "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.1" + "@floating-ui/utils": "^0.2.6" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.9.tgz", + "integrity": "sha512-zB1PcI350t4tkm3rvUhSRKa9sT7vH5CrAbQxW+VaPYJXKAO0gsg4CTueL+6Ajp7XzAQC8CW4Jj1Wgqc0sB6oUQ==", + "license": "MIT", "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.6" } }, "node_modules/@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.6.tgz", + "integrity": "sha512-0KI3zGxIUs1KDR/pjQPdJH4Z8nGBm0yJ5WRoRfdw1Kzeh45jkIfA0rmD0kBF6fKHH+xaH7g8y4jIXyAV5MGK3g==", + "license": "MIT" }, "node_modules/@formatjs/ecma402-abstract": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.2.tgz", - "integrity": "sha512-+QoPW4csYALsQIl8GbN14igZzDbuwzcpWrku9nyMXlaqAlwRBgl5V+p0vWMGFqHOw37czNXaP/lEk4wbLgcmtA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-2.0.0.tgz", + "integrity": "sha512-rRqXOqdFmk7RYvj4khklyqzcfQl9vEL/usogncBHRZfZBDOwMGuSRNFl02fu5KGHXdbinju+YXyuR+Nk8xlr/g==", "dev": true, + "license": "MIT", "dependencies": { "@formatjs/intl-localematcher": "0.5.4", "tslib": "^2.4.0" @@ -566,28 +595,31 @@ "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.6.tgz", - "integrity": "sha512-etVau26po9+eewJKYoiBKP6743I1br0/Ie00Pb/S/PtmYfmjTcOn2YCh2yNkSZI12h6Rg+BOgQYborXk46BvkA==", + "version": "2.7.8", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.8.tgz", + "integrity": "sha512-nBZJYmhpcSX0WeJ5SDYUkZ42AgR3xiyhNCsQweFx3cz/ULJjym8bHAzWKvG5e2+1XO98dBYC0fWeeAECAVSwLA==", "dev": true, + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", - "@formatjs/icu-skeleton-parser": "1.8.0", + "@formatjs/ecma402-abstract": "2.0.0", + "@formatjs/icu-skeleton-parser": "1.8.2", "tslib": "^2.4.0" } }, "node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.0.tgz", - "integrity": "sha512-QWLAYvM0n8hv7Nq5BEs4LKIjevpVpbGLAJgOaYzg9wABEoX1j0JO1q2/jVkO6CVlq0dbsxZCngS5aXbysYueqA==", + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.8.2.tgz", + "integrity": "sha512-k4ERKgw7aKGWJZgTarIcNEmvyTVD9FYh0mTrrBMHZ1b8hUu6iOJ4SzsZlo3UNAvHYa+PnvntIwRPt1/vy4nA9Q==", "dev": true, + "license": "MIT", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", + "@formatjs/ecma402-abstract": "2.0.0", "tslib": "^2.4.0" } }, @@ -596,6 +628,7 @@ "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.4.tgz", "integrity": "sha512-zTwEpWOzZ2CiKcB93BLngUX59hQkuZjT2+SAQEscSm52peDW/getsawMcWF1rGRpMCX6D7nSJA3CzJ8gn13N/g==", "dev": true, + "license": "MIT", "dependencies": { "tslib": "^2.4.0" } @@ -604,7 +637,9 @@ "version": "0.11.14", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -619,6 +654,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -629,6 +665,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -641,6 +678,7 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -650,16 +688,19 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -677,6 +718,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -689,6 +731,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -703,6 +746,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -716,6 +760,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -724,19 +769,22 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -747,6 +795,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -760,6 +809,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -769,6 +819,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -782,32 +833,35 @@ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" } }, "node_modules/@polka/url": { - "version": "1.0.0-next.24", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", - "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==", - "dev": true + "version": "1.0.0-next.25", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz", + "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==", + "dev": true, + "license": "MIT" }, "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.7", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.7.tgz", - "integrity": "sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==", + "version": "26.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-26.0.1.tgz", + "integrity": "sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "commondir": "^1.0.1", "estree-walker": "^2.0.2", - "glob": "^8.0.3", + "glob": "^10.4.1", "is-reference": "1.2.1", "magic-string": "^0.30.3" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0 || 14 >= 14.17" }, "peerDependencies": { "rollup": "^2.68.0||^3.0.0||^4.0.0" @@ -818,57 +872,12 @@ } } }, - "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/@rollup/plugin-commonjs/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/@rollup/plugin-json": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.1.0" }, @@ -889,6 +898,7 @@ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", "dev": true, + "license": "MIT", "dependencies": { "@rollup/pluginutils": "^5.0.1", "@types/resolve": "1.20.2", @@ -914,6 +924,7 @@ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", @@ -931,232 +942,258 @@ } } }, - "node_modules/@rollup/pluginutils/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.1.tgz", - "integrity": "sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.20.0.tgz", + "integrity": "sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.1.tgz", - "integrity": "sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.20.0.tgz", + "integrity": "sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.1.tgz", - "integrity": "sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.20.0.tgz", + "integrity": "sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.1.tgz", - "integrity": "sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.20.0.tgz", + "integrity": "sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.1.tgz", - "integrity": "sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.20.0.tgz", + "integrity": "sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.20.0.tgz", + "integrity": "sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.1.tgz", - "integrity": "sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.20.0.tgz", + "integrity": "sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.1.tgz", - "integrity": "sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.20.0.tgz", + "integrity": "sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.1.tgz", - "integrity": "sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.20.0.tgz", + "integrity": "sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==", "cpu": [ - "ppc64le" + "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.1.tgz", - "integrity": "sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.20.0.tgz", + "integrity": "sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.1.tgz", - "integrity": "sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.20.0.tgz", + "integrity": "sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.1.tgz", - "integrity": "sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.20.0.tgz", + "integrity": "sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.1.tgz", - "integrity": "sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.20.0.tgz", + "integrity": "sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.1.tgz", - "integrity": "sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.20.0.tgz", + "integrity": "sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.1.tgz", - "integrity": "sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.20.0.tgz", + "integrity": "sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.1.tgz", - "integrity": "sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==", + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.20.0.tgz", + "integrity": "sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@steeze-ui/heroicons": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@steeze-ui/heroicons/-/heroicons-2.3.0.tgz", - "integrity": "sha512-tVOamjAd9ZzXgDwVKwbA3K+o86Z1ks/IMvqdgoCf9hKeGINVUIlAlGhM3wdpSmt7brIoBLgR70wlnsXGytZk9g==", - "dev": true + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@steeze-ui/heroicons/-/heroicons-2.4.0.tgz", + "integrity": "sha512-gxOytXYV/lQiGxkZQC+CP5IWCa+d/vscRKn4JfZXgF8MZEzg9wfl1tTi/GOr3Eg93YkhlhNDwTIGWjhMaEwmvw==", + "dev": true, + "license": "MIT" }, "node_modules/@sveltejs/adapter-auto": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.1.1.tgz", - "integrity": "sha512-6LeZft2Fo/4HfmLBi5CucMYmgRxgcETweQl/yQoZo/895K3S9YWYN4Sfm/IhwlIpbJp3QNvhKmwCHbsqQNYQpw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-3.2.2.tgz", + "integrity": "sha512-Mso5xPCA8zgcKrv+QioVlqMZkyUQ5MjDJiEPuG/Z7cV/5tmwV7LmcVWk5tZ+H0NCOV1x12AsoSpt/CwFwuVXMA==", "dev": true, + "license": "MIT", "dependencies": { - "import-meta-resolve": "^4.0.0" + "import-meta-resolve": "^4.1.0" }, "peerDependencies": { "@sveltejs/kit": "^2.0.0" } }, "node_modules/@sveltejs/adapter-node": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.0.1.tgz", - "integrity": "sha512-eYdmxdUWMW+dad1JfMsWBPY2vjXz9eE+52A2AQnXPScPJlIxIVk5mmbaEEzrZivLfO2wEcLTZ5vdC03W69x+iA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-node/-/adapter-node-5.2.0.tgz", + "integrity": "sha512-HVZoei2078XSyPmvdTHE03VXDUD0ytTvMuMHMQP0j6zX4nPDpCcKrgvU7baEblMeCCMdM/shQvstFxOJPQKlUQ==", "dev": true, + "license": "MIT", "dependencies": { - "@rollup/plugin-commonjs": "^25.0.7", + "@rollup/plugin-commonjs": "^26.0.1", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^15.2.3", "rollup": "^4.9.5" @@ -1166,26 +1203,28 @@ } }, "node_modules/@sveltejs/adapter-static": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.1.tgz", - "integrity": "sha512-6lMvf7xYEJ+oGeR5L8DFJJrowkefTK6ZgA4JiMqoClMkKq0s6yvsd3FZfCFvX1fQ0tpCD7fkuRVHsnUVgsHyNg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.2.tgz", + "integrity": "sha512-/EBFydZDwfwFfFEuF1vzUseBoRziwKP7AoHAwv+Ot3M084sE/HTVBHf9mCmXfdM9ijprY5YEugZjleflncX5fQ==", "dev": true, + "license": "MIT", "peerDependencies": { "@sveltejs/kit": "^2.0.0" } }, "node_modules/@sveltejs/kit": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.2.tgz", - "integrity": "sha512-1Pm2lsBYURQsjnLyZa+jw75eVD4gYHxGRwPyFe4DAmB3FjTVR8vRNWGeuDLGFcKMh/B1ij6FTUrc9GrerogCng==", + "version": "2.5.20", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.5.20.tgz", + "integrity": "sha512-47rJ5BoYwURE/Rp7FNMLp3NzdbWC9DQ/PmKd0mebxT2D/PrPxZxcLImcD3zsWdX2iS6oJk8ITJbO/N2lWnnUqA==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "@types/cookie": "^0.6.0", "cookie": "^0.6.0", - "devalue": "^4.3.2", + "devalue": "^5.0.0", "esm-env": "^1.0.0", - "import-meta-resolve": "^4.0.0", + "import-meta-resolve": "^4.1.0", "kleur": "^4.1.5", "magic-string": "^0.30.5", "mrmime": "^2.0.0", @@ -1207,17 +1246,18 @@ } }, "node_modules/@sveltejs/vite-plugin-svelte": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.0.2.tgz", - "integrity": "sha512-MpmF/cju2HqUls50WyTHQBZUV3ovV/Uk8k66AN2gwHogNAG8wnW8xtZDhzNBsFJJuvmq1qnzA5kE7YfMJNFv2Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-3.1.1.tgz", + "integrity": "sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==", "dev": true, + "license": "MIT", "dependencies": { - "@sveltejs/vite-plugin-svelte-inspector": "^2.0.0", + "@sveltejs/vite-plugin-svelte-inspector": "^2.1.0", "debug": "^4.3.4", "deepmerge": "^4.3.1", "kleur": "^4.1.5", - "magic-string": "^0.30.5", - "svelte-hmr": "^0.15.3", + "magic-string": "^0.30.10", + "svelte-hmr": "^0.16.0", "vitefu": "^0.2.5" }, "engines": { @@ -1229,10 +1269,11 @@ } }, "node_modules/@sveltejs/vite-plugin-svelte-inspector": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.0.0.tgz", - "integrity": "sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-2.1.0.tgz", + "integrity": "sha512-9QX28IymvBlSCqsCll5t0kQVxipsfhFFL+L2t3nTWfXnddYwxBuAEtTtlaVQpRz9c37BhJjltSeY4AJSC03SSg==", "dev": true, + "license": "MIT", "dependencies": { "debug": "^4.3.4" }, @@ -1250,6 +1291,7 @@ "resolved": "https://registry.npmjs.org/@sveltekit-i18n/base/-/base-1.3.7.tgz", "integrity": "sha512-kg1kql1/ro/lIudwFiWrv949Q07gmweln87tflUZR51MNdXXzK4fiJQv5Mw50K/CdQ5BOk/dJ0WOH2vOtBI6yw==", "dev": true, + "license": "MIT", "peerDependencies": { "svelte": ">=3.49.0" } @@ -1258,19 +1300,22 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/@sveltekit-i18n/parser-default/-/parser-default-1.1.1.tgz", "integrity": "sha512-/gtzLlqm/sox7EoPKD56BxGZktK/syGc79EbJAPWY5KVitQD9SM0TP8yJCqDxTVPk7Lk0WJhrBGUE2Nn0f5M1w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/eslint": { - "version": "8.56.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", - "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", + "version": "8.56.11", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz", + "integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==", "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -1279,58 +1324,56 @@ "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "license": "MIT" }, "node_modules/@types/js-cookie": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/@types/js-cookie/-/js-cookie-3.0.6.tgz", "integrity": "sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/pug": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.10.tgz", "integrity": "sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/resolve": { "version": "1.20.2", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz", - "integrity": "sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.1.0", - "@typescript-eslint/type-utils": "7.1.0", - "@typescript-eslint/utils": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0", - "debug": "^4.3.4", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1347,19 +1390,20 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.1.0.tgz", - "integrity": "sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.1.0", - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/typescript-estree": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1375,16 +1419,17 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz", - "integrity": "sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1392,18 +1437,19 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz", - "integrity": "sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.1.0", - "@typescript-eslint/utils": "7.1.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1419,12 +1465,13 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.1.0.tgz", - "integrity": "sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, + "license": "MIT", "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1432,22 +1479,23 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz", - "integrity": "sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/visitor-keys": "7.1.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1460,21 +1508,19 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.1.0.tgz", - "integrity": "sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.1.0", - "@typescript-eslint/types": "7.1.0", - "@typescript-eslint/typescript-estree": "7.1.0", - "semver": "^7.5.4" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1485,16 +1531,17 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz", - "integrity": "sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.1.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || >=20.0.0" }, "funding": { "type": "opencollective", @@ -1505,21 +1552,24 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@zerodevx/svelte-toast": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@zerodevx/svelte-toast/-/svelte-toast-0.9.5.tgz", "integrity": "sha512-JLeB/oRdJfT+dz9A5bgd3Z7TuQnBQbeUtXrGIrNWMGqWbabpepBF2KxtWVhL2qtxpRqhae2f6NAOzH7xs4jUSw==", "dev": true, + "license": "ISC", "peerDependencies": { "svelte": "^3.57.0 || ^4.0.0" } }, "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -1532,6 +1582,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -1541,6 +1592,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1557,6 +1609,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1566,6 +1619,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -1580,13 +1634,15 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1599,18 +1655,21 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "license": "Apache-2.0", "dependencies": { "dequal": "^2.0.3" } @@ -1620,6 +1679,7 @@ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1628,12 +1688,13 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/autoprefixer": { - "version": "10.4.18", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.18.tgz", - "integrity": "sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -1649,12 +1710,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001591", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -1668,21 +1730,23 @@ } }, "node_modules/axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz", + "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==", "dev": true, + "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.4", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "node_modules/axios-jwt": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/axios-jwt/-/axios-jwt-4.0.2.tgz", - "integrity": "sha512-FBv2MfZndn9H07ybSYv/8Heiz50xg81ZWa2UGaiBImXH3rSeQjrg7TmknuzypmbHc85Jb/rcrRjvY7H3wFPTxA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/axios-jwt/-/axios-jwt-4.0.3.tgz", + "integrity": "sha512-8y2lXSG3v/AKgrwT2fjwN0+GRjOVoHJk/dlbAoaUOI9+Ym9xbptkPZd7HS+QdPynzdcDykeiJjQUoruInF+shQ==", "dev": true, + "license": "MIT", "dependencies": { "jwt-decode": "3.1.2", "ms": "^3.0.0-canary.1" @@ -1701,38 +1765,36 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==", - "dev": true - }, - "node_modules/axios-jwt/node_modules/ms": { - "version": "3.0.0-canary.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-3.0.0-canary.1.tgz", - "integrity": "sha512-kh8ARjh8rMN7Du2igDRO9QJnqCb2xYTJxyQYK7vJJS4TvLLmsbyhiKpSW+t+y26gyOyMd0riphX0GeWKU3ky5g==", "dev": true, - "engines": { - "node": ">=12.13" - } + "license": "MIT" }, "node_modules/axobject-query": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", - "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", - "dependencies": { - "dequal": "^2.0.3" + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" } }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/brace-expansion": { @@ -1740,6 +1802,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -1758,9 +1821,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -1776,11 +1839,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -1790,12 +1854,13 @@ } }, "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz", + "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==", "dev": true, + "license": "MIT", "engines": { - "node": "*" + "node": ">=8.0.0" } }, "node_modules/builtin-modules": { @@ -1803,6 +1868,7 @@ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -1815,6 +1881,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1824,14 +1891,15 @@ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001597", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", - "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==", + "version": "1.0.30001650", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001650.tgz", + "integrity": "sha512-fgEc7hP/LB7iicdXHUI9VsBsMZmUmlVJeQP2qqQW+3lkqVhbmjEU8zp+h5stWeilX+G7uXuIUIIlWlDw9jdt8g==", "dev": true, "funding": [ { @@ -1846,13 +1914,15 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -1868,6 +1938,7 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", "engines": { "node": "*" } @@ -1877,6 +1948,7 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1901,6 +1973,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -1913,6 +1986,7 @@ "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.4.tgz", "integrity": "sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==", "dev": true, + "license": "ISC", "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.64", @@ -1928,6 +2002,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15", "@types/estree": "^1.0.1", @@ -1936,11 +2011,21 @@ "periscopic": "^3.1.0" } }, + "node_modules/code-red/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -1952,13 +2037,15 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, + "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -1971,6 +2058,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -1979,19 +2067,22 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/cookie": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -2001,6 +2092,7 @@ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, + "license": "MIT", "dependencies": { "is-what": "^3.14.1" }, @@ -2013,6 +2105,7 @@ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2026,6 +2119,7 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "license": "BSD-3-Clause", "engines": { "node": "*" } @@ -2035,6 +2129,7 @@ "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "fastparse": "^1.1.2" @@ -2044,6 +2139,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", "dependencies": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" @@ -2052,11 +2148,18 @@ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, + "node_modules/css-tree/node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -2069,6 +2172,7 @@ "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", "dev": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -2078,6 +2182,7 @@ "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", "dev": true, + "license": "ISC", "dependencies": { "es5-ext": "^0.10.64", "type": "^2.7.2" @@ -2087,10 +2192,11 @@ } }, "node_modules/daisyui": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.10.1.tgz", - "integrity": "sha512-Ds0Z0Fv+Xf6ZEqV4Q5JIOeKfg83xxnww0Lzid0V94vPtlQ0yYmucEa33zSctsX2VEgBALtmk5zVEqd59pnUbuQ==", + "version": "4.12.10", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.10.tgz", + "integrity": "sha512-jp1RAuzbHhGdXmn957Z2XsTZStXGHzFfF0FgIOZj3Wv9sH7OZgLfXTRZNfKVYxltGUOBsG1kbWAdF5SrqjebvA==", "dev": true, + "license": "MIT", "dependencies": { "css-selector-tokenizer": "^0.8", "culori": "^3", @@ -2105,11 +2211,18 @@ "url": "https://opencollective.com/daisyui" } }, + "node_modules/dayjs": { + "version": "1.11.13", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "license": "MIT" + }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, + "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -2122,16 +2235,25 @@ } } }, + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -2141,6 +2263,7 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -2149,6 +2272,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -2158,27 +2282,31 @@ "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/devalue": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.2.tgz", - "integrity": "sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==", - "dev": true + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.0.0.tgz", + "integrity": "sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==", + "dev": true, + "license": "MIT" }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -2190,13 +2318,15 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, + "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -2263,24 +2393,40 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.704", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.704.tgz", - "integrity": "sha512-OK01+86Qvby1V6cTiowVbhp25aX4DLZnwar+NocAOXdzKAByd+jq5156bmo4kHwevWMknznW18Y/Svfk2dU91A==", - "dev": true + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.5.tgz", + "integrity": "sha512-QR7/A7ZkMS8tZuoftC/jfqNkZLQO779SSW3YuZHP4eXpj3EffGLFcB/Xu9AAZQzLccTiCV+EmUo3ha4mQ9wnlA==", + "dev": true, + "license": "ISC" }, "node_modules/emoji-picker-element": { - "version": "1.21.3", - "resolved": "https://registry.npmjs.org/emoji-picker-element/-/emoji-picker-element-1.21.3.tgz", - "integrity": "sha512-o1wQmPX0+8dmp/v4BfHVSMD2x32ZmCQd5LMHpHTw1M9ltDW99P+IIPbveI7nPxwGw74TW9E6jds6Kitf14UCOg==" + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/emoji-picker-element/-/emoji-picker-element-1.22.2.tgz", + "integrity": "sha512-josHZStpNbbkUvLMXpJoiOtVTJTutni9bv2c1dg7BLvLUd9rXVmfxlmIN6tJPJzh7HhLY70xU7xZ7wW87Lh2yw==", + "license": "Apache-2.0" }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/entities": { "version": "4.5.0", @@ -2299,6 +2445,7 @@ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "prr": "~1.0.1" @@ -2313,6 +2460,7 @@ "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "dev": true, "hasInstallScript": true, + "license": "ISC", "dependencies": { "es6-iterator": "^2.0.3", "es6-symbol": "^3.1.3", @@ -2328,6 +2476,7 @@ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", "dev": true, + "license": "MIT", "dependencies": { "d": "1", "es5-ext": "^0.10.35", @@ -2338,13 +2487,15 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/es6-symbol": { "version": "3.1.4", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", "dev": true, + "license": "ISC", "dependencies": { "d": "^1.0.2", "ext": "^1.7.0" @@ -2358,6 +2509,7 @@ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dev": true, + "license": "ISC", "dependencies": { "d": "1", "es5-ext": "^0.10.46", @@ -2366,11 +2518,12 @@ } }, "node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -2378,29 +2531,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" } }, "node_modules/escalade": { @@ -2408,6 +2561,7 @@ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2416,6 +2570,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -2428,6 +2583,7 @@ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -2479,10 +2635,14 @@ } }, "node_modules/eslint-compat-utils": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz", - "integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz", + "integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==", "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.4" + }, "engines": { "node": ">=12" }, @@ -2495,6 +2655,7 @@ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, + "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -2503,23 +2664,23 @@ } }, "node_modules/eslint-plugin-svelte": { - "version": "2.35.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.35.1.tgz", - "integrity": "sha512-IF8TpLnROSGy98Z3NrsKXWDSCbNY2ReHDcrYTuXZMbfX7VmESISR78TWgO9zdg4Dht1X8coub5jKwHzP0ExRug==", + "version": "2.43.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-2.43.0.tgz", + "integrity": "sha512-REkxQWvg2pp7QVLxQNa+dJ97xUqRe7Y2JJbSWkHSuszu0VcblZtXkPBPckkivk99y5CdLw4slqfPylL2d/X4jQ==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@jridgewell/sourcemap-codec": "^1.4.14", - "debug": "^4.3.1", - "eslint-compat-utils": "^0.1.2", + "@eslint-community/eslint-utils": "^4.4.0", + "@jridgewell/sourcemap-codec": "^1.4.15", + "eslint-compat-utils": "^0.5.1", "esutils": "^2.0.3", - "known-css-properties": "^0.29.0", - "postcss": "^8.4.5", + "known-css-properties": "^0.34.0", + "postcss": "^8.4.38", "postcss-load-config": "^3.1.4", "postcss-safe-parser": "^6.0.0", - "postcss-selector-parser": "^6.0.11", - "semver": "^7.5.3", - "svelte-eslint-parser": ">=0.33.0 <1.0.0" + "postcss-selector-parser": "^6.1.0", + "semver": "^7.6.2", + "svelte-eslint-parser": "^0.41.0" }, "engines": { "node": "^14.17.0 || >=16.0.0" @@ -2528,8 +2689,8 @@ "url": "https://github.com/sponsors/ota-meshi" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0-0", - "svelte": "^3.37.0 || ^4.0.0" + "eslint": "^7.0.0 || ^8.0.0-0 || ^9.0.0-0", + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0-next.191" }, "peerDependenciesMeta": { "svelte": { @@ -2542,6 +2703,7 @@ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2558,6 +2720,7 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, + "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2570,6 +2733,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2580,6 +2744,7 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2591,13 +2756,15 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz", "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/esniff": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", "dev": true, + "license": "ISC", "dependencies": { "d": "^1.0.1", "es5-ext": "^0.10.62", @@ -2613,6 +2780,7 @@ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -2626,10 +2794,11 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2642,6 +2811,7 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2654,23 +2824,24 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } }, "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dependencies": { - "@types/estree": "^1.0.0" - } + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } @@ -2680,6 +2851,7 @@ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", "dev": true, + "license": "MIT", "dependencies": { "d": "1", "es5-ext": "~0.10.14" @@ -2690,6 +2862,7 @@ "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", "dev": true, + "license": "ISC", "dependencies": { "type": "^2.7.2" } @@ -2698,13 +2871,15 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2721,6 +2896,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2732,25 +2908,29 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -2760,6 +2940,7 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, + "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -2785,6 +2966,7 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2801,6 +2983,7 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, + "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -2814,7 +2997,8 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/follow-redirects": { "version": "1.15.6", @@ -2827,6 +3011,7 @@ "url": "https://github.com/sponsors/RubenVerborgh" } ], + "license": "MIT", "engines": { "node": ">=4.0" }, @@ -2837,10 +3022,11 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -2857,6 +3043,7 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, + "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -2871,6 +3058,7 @@ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true, + "license": "MIT", "engines": { "node": "*" }, @@ -2883,7 +3071,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -2891,6 +3080,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2904,25 +3094,27 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -2933,6 +3125,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -2940,33 +3133,12 @@ "node": ">=10.13.0" } }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/globals": { "version": "13.24.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2981,13 +3153,15 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -3007,25 +3181,29 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3035,6 +3213,7 @@ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -3066,6 +3245,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -3079,6 +3259,7 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } @@ -3088,6 +3269,7 @@ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, + "license": "MIT", "optional": true, "bin": { "image-size": "bin/image-size.js" @@ -3101,6 +3283,7 @@ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3113,10 +3296,11 @@ } }, "node_modules/import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "dev": true, + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -3127,6 +3311,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -3135,7 +3320,9 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3145,17 +3332,19 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/intl-messageformat": { - "version": "10.5.11", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.11.tgz", - "integrity": "sha512-eYq5fkFBVxc7GIFDzpFQkDOZgNayNTQn4Oufe8jw6YY6OHVw70/4pA3FyCsQ0Gb2DnvEJEMmN2tOaXUGByM+kg==", + "version": "10.5.14", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.14.tgz", + "integrity": "sha512-IjC6sI0X7YRjjyVH9aUgdftcmZK7WXdHeil4KwbjDnRWjnVitKpAx3rr6t6di1joFp5188VqKcobOPA6mCLG/w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@formatjs/ecma402-abstract": "1.18.2", + "@formatjs/ecma402-abstract": "2.0.0", "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.7.6", + "@formatjs/icu-messageformat-parser": "2.7.8", "tslib": "^2.4.0" } }, @@ -3164,6 +3353,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3174,13 +3364,15 @@ "node_modules/is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "license": "MIT" }, "node_modules/is-builtin-module": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, + "license": "MIT", "dependencies": { "builtin-modules": "^3.3.0" }, @@ -3192,12 +3384,16 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3208,6 +3404,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3217,6 +3414,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3226,6 +3424,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3237,7 +3436,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-number": { "version": "7.0.0", @@ -3254,6 +3454,7 @@ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3271,12 +3472,15 @@ "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/is-reference": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", - "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "license": "MIT", "dependencies": { "@types/estree": "*" } @@ -3285,25 +3489,25 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -3312,10 +3516,11 @@ } }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -3325,6 +3530,7 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -3336,25 +3542,29 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jwt-decode": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", "dev": true, + "license": "MIT", "engines": { "node": ">=18" } @@ -3364,6 +3574,7 @@ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dev": true, + "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -3373,21 +3584,24 @@ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/known-css-properties": { - "version": "0.29.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", - "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", - "dev": true + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.34.0.tgz", + "integrity": "sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==", + "dev": true, + "license": "MIT" }, "node_modules/less": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "copy-anything": "^2.0.1", "parse-node-version": "^1.0.1", @@ -3414,6 +3628,7 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3427,6 +3642,7 @@ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -3435,18 +3651,36 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/linkify-html": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkify-html/-/linkify-html-4.1.3.tgz", + "integrity": "sha512-Ejb8X/pOxB4IVqG1U37tnF85UW3JtX+eHudH3zlZ2pODz2e/J7zQ/vj+VDWffwhTecJqdRehhluwrRmKoJz+iQ==", + "license": "MIT", + "peerDependencies": { + "linkifyjs": "^4.0.0" + } + }, + "node_modules/linkifyjs": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-4.1.3.tgz", + "integrity": "sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg==", + "license": "MIT" }, "node_modules/locate-character": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", - "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==" + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT" }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -3461,38 +3695,33 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "ISC" }, "node_modules/lru-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", "dev": true, + "license": "MIT", "dependencies": { "es5-ext": "~0.10.2" } }, "node_modules/magic-string": { - "version": "0.30.8", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", - "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/make-dir": { @@ -3500,6 +3729,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "pify": "^4.0.1", @@ -3514,6 +3744,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, + "license": "ISC", "optional": true, "bin": { "semver": "bin/semver" @@ -3523,31 +3754,31 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "license": "BSD-3-Clause", "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", "is-buffer": "~1.1.6" } }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==" - }, "node_modules/memoizee": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", - "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "version": "0.4.17", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.17.tgz", + "integrity": "sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==", "dev": true, + "license": "ISC", "dependencies": { - "d": "^1.0.1", - "es5-ext": "^0.10.53", + "d": "^1.0.2", + "es5-ext": "^0.10.64", "es6-weak-map": "^2.0.3", "event-emitter": "^0.3.5", "is-promise": "^2.2.2", "lru-queue": "^0.1.0", "next-tick": "^1.1.0", "timers-ext": "^0.1.7" + }, + "engines": { + "node": ">=0.12" } }, "node_modules/merge2": { @@ -3555,17 +3786,19 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -3577,6 +3810,7 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, + "license": "MIT", "optional": true, "bin": { "mime": "cli.js" @@ -3590,6 +3824,7 @@ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.6" } @@ -3599,6 +3834,7 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, + "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -3611,15 +3847,17 @@ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3635,15 +3873,17 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -3653,6 +3893,7 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, + "license": "MIT", "dependencies": { "minimist": "^1.2.6" }, @@ -3665,6 +3906,7 @@ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -3674,21 +3916,27 @@ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "version": "3.0.0-canary.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-3.0.0-canary.1.tgz", + "integrity": "sha512-kh8ARjh8rMN7Du2igDRO9QJnqCb2xYTJxyQYK7vJJS4TvLLmsbyhiKpSW+t+y26gyOyMd0riphX0GeWKU3ky5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.13" + } }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -3705,6 +3953,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -3716,13 +3965,15 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/needle": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, + "license": "MIT", "optional": true, "dependencies": { "iconv-lite": "^0.6.3", @@ -3739,19 +3990,22 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3761,6 +4015,7 @@ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3770,6 +4025,7 @@ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3779,6 +4035,7 @@ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -3788,22 +4045,24 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, + "license": "MIT", "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -3814,6 +4073,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3829,6 +4089,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3839,11 +4100,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -3856,6 +4125,7 @@ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -3871,6 +4141,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3880,6 +4151,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3889,6 +4161,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3897,38 +4170,32 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3937,22 +4204,43 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^3.0.0", "is-reference": "^3.0.0" } }, + "node_modules/periscopic/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/periscopic/node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3965,6 +4253,7 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=6" @@ -3975,14 +4264,15 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -3997,10 +4287,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -4011,6 +4302,7 @@ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -4028,6 +4320,7 @@ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dev": true, + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, @@ -4047,6 +4340,7 @@ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", "dev": true, + "license": "MIT", "dependencies": { "lilconfig": "^2.0.5", "yaml": "^1.10.2" @@ -4072,20 +4366,27 @@ } }, "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.2.14" } @@ -4095,6 +4396,7 @@ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz", "integrity": "sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12.0" }, @@ -4125,6 +4427,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "engines": { "node": ">=12.0" }, @@ -4133,10 +4436,11 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", + "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", "dev": true, + "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -4149,22 +4453,25 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, + "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -4176,10 +4483,11 @@ } }, "node_modules/prettier-plugin-svelte": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.2.2.tgz", - "integrity": "sha512-ZzzE/wMuf48/1+Lf2Ffko0uDa6pyCfgHV6+uAhtg2U0AAXGrhCSW88vEJNAkAxW5qyrFY1y1zZ4J8TgHrjW++Q==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.2.6.tgz", + "integrity": "sha512-Y1XWLw7vXUQQZmgv1JAEiLcErqUniAF2wO7QJsw8BVMvpLET2dI5WpEIEJx1r11iHVdSMzQxivyfrH9On9t2IQ==", "dev": true, + "license": "MIT", "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" @@ -4189,13 +4497,15 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/punycode": { @@ -4203,6 +4513,7 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -4225,13 +4536,15 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -4241,6 +4554,7 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4250,6 +4564,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -4262,6 +4577,7 @@ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, + "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", "path-parse": "^1.0.7", @@ -4279,6 +4595,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -4288,6 +4605,7 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4297,7 +4615,9 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -4308,46 +4628,94 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/rollup": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.1.tgz", - "integrity": "sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==", + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, + "license": "MIT", "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.1", - "@rollup/rollup-android-arm64": "4.14.1", - "@rollup/rollup-darwin-arm64": "4.14.1", - "@rollup/rollup-darwin-x64": "4.14.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.1", - "@rollup/rollup-linux-arm64-gnu": "4.14.1", - "@rollup/rollup-linux-arm64-musl": "4.14.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.1", - "@rollup/rollup-linux-riscv64-gnu": "4.14.1", - "@rollup/rollup-linux-s390x-gnu": "4.14.1", - "@rollup/rollup-linux-x64-gnu": "4.14.1", - "@rollup/rollup-linux-x64-musl": "4.14.1", - "@rollup/rollup-win32-arm64-msvc": "4.14.1", - "@rollup/rollup-win32-ia32-msvc": "4.14.1", - "@rollup/rollup-win32-x64-msvc": "4.14.1", - "fsevents": "~2.3.2" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "funding": [ + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/rollup": { + "version": "4.20.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.20.0.tgz", + "integrity": "sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.20.0", + "@rollup/rollup-android-arm64": "4.20.0", + "@rollup/rollup-darwin-arm64": "4.20.0", + "@rollup/rollup-darwin-x64": "4.20.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.20.0", + "@rollup/rollup-linux-arm-musleabihf": "4.20.0", + "@rollup/rollup-linux-arm64-gnu": "4.20.0", + "@rollup/rollup-linux-arm64-musl": "4.20.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.20.0", + "@rollup/rollup-linux-riscv64-gnu": "4.20.0", + "@rollup/rollup-linux-s390x-gnu": "4.20.0", + "@rollup/rollup-linux-x64-gnu": "4.20.0", + "@rollup/rollup-linux-x64-musl": "4.20.0", + "@rollup/rollup-win32-arm64-msvc": "4.20.0", + "@rollup/rollup-win32-ia32-msvc": "4.20.0", + "@rollup/rollup-win32-x64-msvc": "4.20.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ { "type": "github", "url": "https://github.com/sponsors/feross" @@ -4361,6 +4729,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -4370,6 +4739,7 @@ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", "dev": true, + "license": "MIT", "dependencies": { "mri": "^1.1.0" }, @@ -4382,6 +4752,7 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true, + "license": "MIT", "optional": true }, "node_modules/sander": { @@ -4389,6 +4760,7 @@ "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", "dev": true, + "license": "MIT", "dependencies": { "es6-promise": "^3.1.2", "graceful-fs": "^4.1.3", @@ -4396,11 +4768,59 @@ "rimraf": "^2.5.2" } }, + "node_modules/sander/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/sander/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sander/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/sander/node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -4423,20 +4843,19 @@ } }, "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", "dev": true, + "license": "ISC", "optional": true }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4445,16 +4864,18 @@ } }, "node_modules/set-cookie-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", - "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==", - "dev": true + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz", + "integrity": "sha512-lXLOiqpkUumhRdFF3k1osNXCy9akgx/dyPZ5p8qAg9seJzXr5ZrlqZuWIMuY6ejOsVLE6flJ5/h3lsn57fQ/PQ==", + "dev": true, + "license": "MIT" }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4467,6 +4888,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4476,6 +4898,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -4488,6 +4911,7 @@ "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", "dev": true, + "license": "MIT", "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", @@ -4502,18 +4926,20 @@ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/sorcery": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", - "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.1.tgz", + "integrity": "sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.14", - "buffer-crc32": "^0.2.5", + "buffer-crc32": "^1.0.0", "minimist": "^1.2.0", "sander": "^0.5.0" }, @@ -4526,15 +4952,17 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "optional": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -4544,6 +4972,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4562,6 +4991,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4575,13 +5005,15 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4594,6 +5026,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4609,6 +5042,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4622,6 +5056,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4634,6 +5069,7 @@ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, + "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -4646,6 +5082,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -4658,6 +5095,7 @@ "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -4675,33 +5113,12 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4714,6 +5131,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -4722,9 +5140,10 @@ } }, "node_modules/svelte": { - "version": "4.2.12", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.12.tgz", - "integrity": "sha512-d8+wsh5TfPwqVzbm4/HCXC783/KPHV60NvwitJnyTA5lWn1elhXMNWhXGCJ7PwPa8qFUnyJNIyuIRt2mT0WMug==", + "version": "4.2.19", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.19.tgz", + "integrity": "sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==", + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", @@ -4746,15 +5165,14 @@ } }, "node_modules/svelte-check": { - "version": "3.6.6", - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.6.6.tgz", - "integrity": "sha512-b9q9rOHOMYF3U8XllK7LmXTq1LeWQ98waGfEJzrFutViadkNl1tgdEtxIQ8yuPx+VQ4l7YrknYol+0lfZocaZw==", + "version": "3.8.5", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.8.5.tgz", + "integrity": "sha512-3OGGgr9+bJ/+1nbPgsvulkLC48xBsqsgtc8Wam281H4G9F5v3mYGa2bHRsPuwHC5brKl4AxJH95QF73kmfihGQ==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.17", "chokidar": "^3.4.1", - "fast-glob": "^3.2.7", - "import-fresh": "^3.2.1", "picocolors": "^1.0.0", "sade": "^1.7.4", "svelte-preprocess": "^5.1.3", @@ -4768,16 +5186,17 @@ } }, "node_modules/svelte-eslint-parser": { - "version": "0.33.1", - "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.33.1.tgz", - "integrity": "sha512-vo7xPGTlKBGdLH8T5L64FipvTrqv3OQRx9d2z5X05KKZDlF4rQk8KViZO4flKERY+5BiVdOh7zZ7JGJWo5P0uA==", + "version": "0.41.0", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-0.41.0.tgz", + "integrity": "sha512-L6f4hOL+AbgfBIB52Z310pg1d2QjRqm7wy3kI1W6hhdhX5bvu7+f0R6w4ykp5HoDdzq+vGhIJmsisaiJDGmVfA==", "dev": true, + "license": "MIT", "dependencies": { - "eslint-scope": "^7.0.0", - "eslint-visitor-keys": "^3.0.0", - "espree": "^9.0.0", - "postcss": "^8.4.29", - "postcss-scss": "^4.0.8" + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "postcss": "^8.4.39", + "postcss-scss": "^4.0.9" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4786,7 +5205,7 @@ "url": "https://github.com/sponsors/ota-meshi" }, "peerDependencies": { - "svelte": "^3.37.0 || ^4.0.0" + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0-next.191" }, "peerDependenciesMeta": { "svelte": { @@ -4798,6 +5217,7 @@ "version": "1.5.8", "resolved": "https://registry.npmjs.org/svelte-floating-ui/-/svelte-floating-ui-1.5.8.tgz", "integrity": "sha512-dVvJhZ2bT+kQDHlE4Lep8t+sgEc0XD96fXLzAi2DDI2bsaegBbClxXVNMma0C2WsG+n9GJSYx292dTvA8CYRtw==", + "license": "MIT", "dependencies": { "@floating-ui/core": "^1.5.0", "@floating-ui/dom": "^1.5.3" @@ -4807,6 +5227,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/svelte-gravatar/-/svelte-gravatar-1.0.3.tgz", "integrity": "sha512-CNxIV2lAuiqwdaPrGAM/BFj5U1dNNQXzeyh+HVi/48BODFXoDy0L1CMqYyvM+aKiF4ideZUBwT0S9/C1BeL5oA==", + "license": "MIT", "dependencies": { "md5": "^2.2.1", "svelte": "^3.16.0", @@ -4820,17 +5241,19 @@ "version": "3.59.2", "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.59.2.tgz", "integrity": "sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==", + "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/svelte-hero-icons": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/svelte-hero-icons/-/svelte-hero-icons-5.1.0.tgz", - "integrity": "sha512-8Z5+jpwFktz5aO325EAGo7nf4ailOKO8w+8Se1aHPVw/DiILuLMbxV6/xOfqpWPux2u7apMsBnMh4cWLbBN/xw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/svelte-hero-icons/-/svelte-hero-icons-5.2.0.tgz", + "integrity": "sha512-KpdMTL0bOnkxciEmDXvyVF/R5nrZ1x1uHCSt9gMrrbEd3g5HSIaaDChOutTOfeI+cZ3EJbb+OcBH/lBzJr1aEw==", "dev": true, + "license": "MIT", "dependencies": { - "@steeze-ui/heroicons": "^2.3.0" + "@steeze-ui/heroicons": "^2.4.0" }, "engines": { "node": ">=18.0.0" @@ -4840,10 +5263,11 @@ } }, "node_modules/svelte-hmr": { - "version": "0.15.3", - "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz", - "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.16.0.tgz", + "integrity": "sha512-Gyc7cOS3VJzLlfj7wKS0ZnzDVdv3Pn2IuVeJPk9m2skfhcu5bq3wtIZyQGggr7/Iim5rH5cncyQft/kRLupcnA==", "dev": true, + "license": "ISC", "engines": { "node": "^12.20 || ^14.13.1 || >= 16" }, @@ -4856,6 +5280,7 @@ "resolved": "https://registry.npmjs.org/svelte-i18n/-/svelte-i18n-4.0.0.tgz", "integrity": "sha512-4vivjKZADUMRIhTs38JuBNy3unbnh9AFRxWFLxq62P4NHic+/BaIZZlAsvqsCdnp7IdJf5EoSiH6TNdItcjA6g==", "dev": true, + "license": "MIT", "dependencies": { "cli-color": "^2.0.3", "deepmerge": "^4.2.2", @@ -4875,476 +5300,475 @@ "svelte": "^3 || ^4" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" + "node_modules/svelte-material-icons": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/svelte-material-icons/-/svelte-material-icons-3.0.5.tgz", + "integrity": "sha512-UbhAa+Btd5y6e6DMljVccP+cbJ8lvesltMippiCOvfIUtYe2TsQqM+P6osfrVsZHV47b1tY6AmqCuSpMKnwMOQ==", + "license": "ISC", + "peerDependencies": { + "svelte": "^3.0.0 || ^4.0.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": [ - "arm" - ], + "node_modules/svelte-preprocess": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.4.tgz", + "integrity": "sha512-IvnbQ6D6Ao3Gg6ftiM5tdbR6aAETwjhHV+UKGf5bHGYR69RQvF1ho0JKPcbUON4vy4R7zom13jPjgdOWCQ5hDA==", "dev": true, - "optional": true, - "os": [ - "android" - ], + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@types/pug": "^2.0.6", + "detect-indent": "^6.1.0", + "magic-string": "^0.30.5", + "sorcery": "^0.11.0", + "strip-indent": "^3.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 16.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.10.2", + "coffeescript": "^2.5.1", + "less": "^3.11.3 || ^4.0.0", + "postcss": "^7 || ^8", + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", + "pug": "^3.0.0", + "sass": "^1.26.8", + "stylus": "^0.55.0", + "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0", + "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "coffeescript": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "postcss-load-config": { + "optional": true + }, + "pug": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "typescript": { + "optional": true + } } }, - "node_modules/svelte-i18n/node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" + "node_modules/svelte-select": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/svelte-select/-/svelte-select-5.8.3.tgz", + "integrity": "sha512-nQsvflWmTCOZjssdrNptzfD1Ok45hHVMTL5IHay5DINk7dfu5Er+8KsVJnZMJdSircqtR0YlT4YkCFlxOUhVPA==", + "license": "ISC", + "dependencies": { + "svelte-floating-ui": "1.5.8" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/svelte-i18n/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/svelte-i18n/node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/svelte-i18n/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } + "node_modules/svelte-waypoint": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/svelte-waypoint/-/svelte-waypoint-0.1.4.tgz", + "integrity": "sha512-UEqoXZjJeKj2sWlAIsBOFjxjMn+KP8aFCc/zjdmZi1cCOE59z6T2C+I6ZaAf8EmNQqNzfZVB/Lci4Ci9spzXAw==", + "license": "MIT" }, - "node_modules/svelte-i18n/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" + "node_modules/svelte/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "node_modules/svelte/node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": [ - "arm64" - ], + "node_modules/sveltekit-i18n": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/sveltekit-i18n/-/sveltekit-i18n-2.4.2.tgz", + "integrity": "sha512-hjRWn4V4DBL8JQKJoJa3MRvn6d32Zo+rWkoSP5bsQ/XIAguPdQUZJ8LMe6Nc1rST8WEVdu9+vZI3aFdKYGR3+Q==", "dev": true, - "optional": true, - "os": [ - "linux" + "license": "MIT", + "workspaces": [ + "./examples/*/" ], - "engines": { - "node": ">=12" + "dependencies": { + "@sveltekit-i18n/base": "~1.3.0", + "@sveltekit-i18n/parser-default": "~1.1.0" + }, + "peerDependencies": { + "svelte": ">=3.49.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": [ - "ia32" - ], + "node_modules/tailwindcss": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.7.tgz", + "integrity": "sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, "engines": { - "node": ">=12" + "node": ">=14.0.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": [ - "loong64" - ], + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, - "optional": true, - "os": [ - "linux" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, "engines": { - "node": ">=12" + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": [ - "mips64el" - ], + "node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": [ - "ppc64" - ], + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.5.0.tgz", + "integrity": "sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">=12" + "node": ">= 14" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": [ - "riscv64" - ], + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } + "license": "MIT" }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": [ - "s390x" - ], + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": [ - "x64" - ], + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, "engines": { - "node": ">=12" + "node": ">=0.8" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", - "cpu": [ - "x64" - ], + "node_modules/timers-ext": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.8.tgz", + "integrity": "sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.64", + "next-tick": "^1.1.0" + }, "engines": { - "node": ">=12" + "node": ">=0.12" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", - "cpu": [ - "x64" - ], + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "license": "MIT", + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, "engines": { - "node": ">=12" + "node": ">=8.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", - "cpu": [ - "x64" - ], + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", - "cpu": [ - "arm64" - ], + "node_modules/ts-api-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "MIT", "engines": { - "node": ">=12" + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", - "cpu": [ - "ia32" - ], + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "Apache-2.0" + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, "engines": { - "node": ">=12" + "node": ">= 0.8.0" } }, - "node_modules/svelte-i18n/node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", - "cpu": [ - "x64" - ], + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/svelte-i18n/node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, - "hasInstallScript": true, + "license": "Apache-2.0", "bin": { - "esbuild": "bin/esbuild" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" + "node": ">=14.17" } }, - "node_modules/svelte-i18n/node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/svelte-material-icons": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/svelte-material-icons/-/svelte-material-icons-3.0.5.tgz", - "integrity": "sha512-UbhAa+Btd5y6e6DMljVccP+cbJ8lvesltMippiCOvfIUtYe2TsQqM+P6osfrVsZHV47b1tY6AmqCuSpMKnwMOQ==", + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, "peerDependencies": { - "svelte": "^3.0.0 || ^4.0.0" + "browserslist": ">= 4.21.0" } }, - "node_modules/svelte-preprocess": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.3.tgz", - "integrity": "sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==", + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "hasInstallScript": true, + "license": "BSD-2-Clause", "dependencies": { - "@types/pug": "^2.0.6", - "detect-indent": "^6.1.0", - "magic-string": "^0.30.5", - "sorcery": "^0.11.0", - "strip-indent": "^3.0.0" + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", + "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" }, "engines": { - "node": ">= 16.0.0", - "pnpm": "^8.0.0" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" }, "peerDependencies": { - "@babel/core": "^7.10.2", - "coffeescript": "^2.5.1", - "less": "^3.11.3 || ^4.0.0", - "postcss": "^7 || ^8", - "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", - "pug": "^3.0.0", - "sass": "^1.26.8", - "stylus": "^0.55.0", - "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0", - "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" }, "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "coffeescript": { + "@types/node": { "optional": true }, "less": { "optional": true }, - "postcss": { - "optional": true - }, - "postcss-load-config": { + "lightningcss": { "optional": true }, - "pug": { + "sass": { "optional": true }, - "sass": { + "sass-embedded": { "optional": true }, "stylus": { @@ -5353,370 +5777,439 @@ "sugarss": { "optional": true }, - "typescript": { + "terser": { "optional": true } } }, - "node_modules/svelte-select": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/svelte-select/-/svelte-select-5.8.3.tgz", - "integrity": "sha512-nQsvflWmTCOZjssdrNptzfD1Ok45hHVMTL5IHay5DINk7dfu5Er+8KsVJnZMJdSircqtR0YlT4YkCFlxOUhVPA==", - "dependencies": { - "svelte-floating-ui": "1.5.8" + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" } }, - "node_modules/svelte-waypoint": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/svelte-waypoint/-/svelte-waypoint-0.1.4.tgz", - "integrity": "sha512-UEqoXZjJeKj2sWlAIsBOFjxjMn+KP8aFCc/zjdmZi1cCOE59z6T2C+I6ZaAf8EmNQqNzfZVB/Lci4Ci9spzXAw==" + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/sveltekit-i18n": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/sveltekit-i18n/-/sveltekit-i18n-2.4.2.tgz", - "integrity": "sha512-hjRWn4V4DBL8JQKJoJa3MRvn6d32Zo+rWkoSP5bsQ/XIAguPdQUZJ8LMe6Nc1rST8WEVdu9+vZI3aFdKYGR3+Q==", + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], "dev": true, - "workspaces": [ - "./examples/*/" + "license": "MIT", + "optional": true, + "os": [ + "android" ], - "dependencies": { - "@sveltekit-i18n/base": "~1.3.0", - "@sveltekit-i18n/parser-default": "~1.1.0" - }, - "peerDependencies": { - "svelte": ">=3.49.0" + "engines": { + "node": ">=12" } }, - "node_modules/tailwindcss": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", - "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.19.1", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=14.0.0" + "node": ">=12" } }, - "node_modules/tailwindcss/node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" ], - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=12" } }, - "node_modules/tailwindcss/node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" + "node": ">=12" } }, - "node_modules/tailwindcss/node_modules/yaml": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", - "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], "dev": true, - "bin": { - "yaml": "bin.mjs" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">= 14" + "node": ">=12" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], "dev": true, - "dependencies": { - "any-promise": "^1.0.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.8" + "node": ">=12" } }, - "node_modules/timers-ext": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", - "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], "dev": true, - "dependencies": { - "es5-ext": "~0.10.46", - "next-tick": "1" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/tiny-glob": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", - "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], "dev": true, "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8.0" + "node": ">=12" } }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=12" } }, - "node_modules/ts-api-utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", - "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" + "node": ">=12" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dev": true - }, - "node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">= 0.8.0" + "node": ">=12" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.17" + "node": ">=12" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" + "engines": { + "node": ">=12" } }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "punycode": "^2.1.0" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/vite": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.8.tgz", - "integrity": "sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==", + "node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, - "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.38", - "rollup": "^4.13.0" - }, + "hasInstallScript": true, + "license": "MIT", "bin": { - "vite": "bin/vite.js" + "esbuild": "bin/esbuild" }, "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" + "node": ">=12" }, "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, "node_modules/vitefu": { @@ -5724,6 +6217,7 @@ "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz", "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==", "dev": true, + "license": "MIT", "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" }, @@ -5738,6 +6232,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -5748,11 +6243,22 @@ "node": ">= 8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -5771,6 +6277,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5787,13 +6294,15 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5808,6 +6317,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -5820,6 +6330,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -5832,6 +6343,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -5846,19 +6358,15 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, + "license": "ISC", "engines": { "node": ">= 6" } @@ -5868,6 +6376,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/frontend/package.json b/frontend/package.json index 5548b0f003d7d324068776f5e0ee41fcd3ecce70..d51f1c91ecf4c9b2fdca7d704cf123b5295d19a0 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -46,7 +46,10 @@ }, "type": "module", "dependencies": { + "dayjs": "^1.11.13", "emoji-picker-element": "^1.21.3", + "linkify-html": "^4.1.3", + "linkifyjs": "^4.1.3", "sanitize-html": "^2.13.0", "svelte-gravatar": "^1.0.3", "svelte-i18n": "^4.0.0", diff --git a/frontend/src/lang/fr.json b/frontend/src/lang/fr.json index 8bffa15425debaf920cab01d5b9e6560506949a1..80642565ae413a791ab8a6eb181d5488ec9c1028 100644 --- a/frontend/src/lang/fr.json +++ b/frontend/src/lang/fr.json @@ -9,7 +9,10 @@ "tutorSelection": "Tuteur", "language": "Langue", "availability": "Disponibilités", - "admin": "Administration" + "admin": { + "users": "Utilisateurs", + "sessions": "Sessions" + } }, "chatbox": { "placeholder": "Écrivez votre message ici...", @@ -74,7 +77,8 @@ "test": "Tests", "timeslots": "Tuteur", "start": "Commencer", - "continue": "Continuer" + "continue": "Continuer", + "availabilities": "Disponibilitées" }, "error": { "emptyFields": "Veuillez remplir tous les champs", @@ -111,6 +115,32 @@ }, "ok": "J'accepte de participer à l'étude telle que décrite ci-dessus." }, + "consentTutor": { + "title": "Document d’information et consentement éclairé", + "intro": "Vous êtes invité·e à participer à une étude scientifique. L'objectif de cette étude est de comprendre comment les tuteurs et les apprenants de langue étrangère interagissent lors de sessions de tutorat en ligne. Les données collectées seront utilisées pour améliorer les outils de tutorat en ligne et pour mieux comprendre les processus cognitifs de part et d'autre.", + "participation": "Qu'implique votre participation ?", + "participationD": "Si vous acceptez de participer, vous serez invité·e à participer à des sessions de tutorat en ligne avec un tuteur de langue étrangère. Vous serez également invité à remplir des questionnaires avant et après les sessions de tutorat. Les sessions de tutorat seront enregistrées pour analyse ultérieure.</p><p>Nous vous demandons de prévoir de réaliser un minimum de <strong>8 sessions d'une heure</strong> de tutorat (donc 8 heures au total), au cours d'une période de 1 à 3 mois. Vous pouvez bien sûr en réaliser plus si vous le souhaitez. Vous pouvez cependant arrêter de participer à l'étude à tout moment.", + "privacy": "Comment seront traitées et conservées vos données ?", + "privacyD": "Les données collectées (par exemple, les transcriptions des conversations, les résultats de tests, les mesures de frappe, les informations sur les participants comme l'age ou le genre) seront traitées de manière confidentielle et anonyme. Elles seront conservées après leur anonymisation intégrale et ne pourront être utilisées qu'à des fins scientifiques ou pédagogiques. Elles pourront éventuellement être partagées avec d'autres chercheurs ou enseignants, mais toujours dans ce cadre strictement de recherche ou d'enseignement.", + "rights": "Quels sont vos droits ? Participation volontaire et retrait éventuel", + "rightsD": "Votre participation à cette étude est volontaire. Vous pouvez à tout moment décider de ne plus participer à l'étude sans avoir à vous justifier. Vous pouvez également demander à ce que vos données soient supprimées à tout moment. Si vous avez des questions ou des préoccupations concernant cette étude, vous pouvez contacter le responsable de l'étude, Serge Bibauw, à l'adresse suivante :", + "studyData": { + "title": "Informations sur l'étude", + "study": "Titre de l'étude", + "studyD": "Étude longitudinale du tutorat en langue étrangère", + "project": "Projet de recherche", + "projectD": "AI Tutoring in Language Learning (FNRS CDR 2024-2026)", + "person": "Responsable de l'étude", + "personD": "Serge Bibauw", + "university": "Université", + "universityD": "Université catholique de Louvain (UCLouvain)", + "address": "Adresse", + "addressD": "Place Cardinal Mercier 14, 1348 Louvain-la-Neuve", + "email": "E-mail", + "emailD": "serge.bibauw@uclouvain.be" + }, + "ok": "J'accepte de participer à l'étude telle que décrite ci-dessus." + }, "welcome": "Bienvenue sur LanguageLab ! Avant de commencer, veuillez remplir les informations suivantes. Cela nous permettra de mieux vous connaitre et d'adapter l'expérience à vos besoins.", "homeLanguage": "Langue première", "homeLanguage.note": "Langue maternelle ou langue principale du foyer", @@ -163,6 +193,9 @@ "admin": "Admin", "tutor": "Tuteur", "student": "Étudiant", + "admins": "Admin(s)", + "tutors": "Tuteur(s)", + "students": "Étudiant(s)", "0": "Admin", "1": "Tuteur", "2": "Étudiant" @@ -184,6 +217,36 @@ "q1": "À quel point cette application est-elle utile ?", "q2": "À quel point cette application est-elle facile à utiliser ?", "q3": "Remarques éventuelles" + }, + "weekly": { + "title": "Questionnaire hebdomadaire", + "description": "Au cours des 7 derniers jours...", + "questions": [ + "Combien d'heures de <span class='font-bold'>cours</span> de {TARGET_LANGUAGE} avez vous suivies ?", + "Combien d'heures avez-vous <span class='font-bold'>regardé des vidéos</span> en {TARGET_LANGUAGE} (films, séries, Youtube...) ou <span class='font-bold'>écouté des contenus</span> en {TARGET_LANGUAGE} (podcasts, radio, cours universitaires...) ?", + "Combien d'heures avez-vous <span class='font-bold'>lu des textes</span> en {TARGET_LANGUAGE} (livre, journal, BD, sites web...) ?", + "Combien d'heures avez-vous <span class='font-bold'>parlé</span> en {TARGET_LANGUAGE} (discussions avec amis, famille, collègues...) ?" + ], + "answers": { + "placeholder": "", + "0": "Aucune", + "05": "30 minutes ou moins", + "1": "1 heure", + "2": "2 heures", + "3": "3 heures", + "4": "4 heures", + "5": "5 heures", + "6": "6 heures", + "7": "7 heures", + "8": "8 heures", + "9": "9 heures", + "10": "10 heures ou plus" + }, + "errors": { + "null": "Veuillez répondre à toutes les questions", + "submit": "Erreur lors de l'envoi du questionnaire" + }, + "success": "Questionnaire envoyé, merci !" } } }, @@ -232,11 +295,18 @@ }, "language": { "fr": "Français", - "en": "Anglais" + "en": "Anglais", + "fra": "Français", + "eng": "Anglais" }, "bool": { "true": "Oui", "false": "Non" + }, + "words": { + "date": "Date", + "messages": "Messages", + "actions": "Actions" } }, "inputs": { diff --git a/frontend/src/lib/api/auth.ts b/frontend/src/lib/api/auth.ts index 4a59d59cf3cea56324fb4f759a8092984b041b1d..5d3ba02dbac044a628f5b471498b113b0651f6b6 100644 --- a/frontend/src/lib/api/auth.ts +++ b/frontend/src/lib/api/auth.ts @@ -34,7 +34,8 @@ export async function loginAPI(email: string, password: string): Promise<string> export async function registerAPI( email: string, password: string, - nickname: string + nickname: string, + tutor: boolean = false ): Promise<string> { return axiosPublicInstance .post( @@ -43,7 +44,8 @@ export async function registerAPI( email, username: email, password, - nickname + nickname, + tutor }, { headers: { diff --git a/frontend/src/lib/api/users.ts b/frontend/src/lib/api/users.ts index 61de74e9b22b54f74773db244f37f419c82862e3..b5d3ced3e99aa115de2c78f361502e56786d0b04 100644 --- a/frontend/src/lib/api/users.ts +++ b/frontend/src/lib/api/users.ts @@ -145,3 +145,23 @@ export async function createTestTypingAPI( return response.data; } + +export async function createWeeklySurveyAPI( + user_id: number, + q1: number, + q2: number, + q3: number, + q4: number +): Promise<number | null> { + const response = await axiosInstance.post(`/users/${user_id}/surveys/weekly`, { + q1, + q2, + q3, + q4 + }); + if (response.status !== 201) { + toastAlert('Failed to create weekly survey'); + return null; + } + return response.data; +} diff --git a/frontend/src/lib/components/header.svelte b/frontend/src/lib/components/header.svelte index 2fb790361613b733e6e4eef132a0bd9e2bb0dcd9..3f320e1f3a04e434c6237bd64a4ec145a2505603 100644 --- a/frontend/src/lib/components/header.svelte +++ b/frontend/src/lib/components/header.svelte @@ -95,13 +95,17 @@ <summary class="p-3"> <Icon src={Cog6Tooth} class="h-5 w-5" /> </summary> - <ul class="menu menu-sm dropdown-content absolute right-0"> + <ul class="menu menu-sm dropdown-content absolute right-0 z-10"> <li> <a data-sveltekit-reload href="/admin"> - {$t('header.admin')} + {$t('header.admin.users')} + </a> + </li> + <li> + <a data-sveltekit-reload href="/admin/sessions"> + {$t('header.admin.sessions')} </a> </li> - <li><a>Submenu 2</a></li> </ul> </details> </li> diff --git a/frontend/src/lib/components/sessions/message.svelte b/frontend/src/lib/components/sessions/message.svelte index 98c690426cf06e145bde411bc0c24dc2e30f24f5..5092629419fa7c22086cddb19e652bb11ea0138c 100644 --- a/frontend/src/lib/components/sessions/message.svelte +++ b/frontend/src/lib/components/sessions/message.svelte @@ -8,8 +8,9 @@ import { onMount } from 'svelte'; import SpellCheck from '$lib/components/icons/spellCheck.svelte'; import ChatBubble from '../icons/chatBubble.svelte'; - import { get } from 'svelte/store'; import type Feedback from '$lib/types/feedback'; + import linkifyHtml from 'linkify-html'; + import { sanitize } from '$lib/utils/sanitize'; export let message: Message; @@ -175,7 +176,7 @@ > <div contenteditable={isEdit} bind:this={contentDiv} class:bg-blue-900={isEdit}> {#each parts as part} - {#if part.feedback} + {#if part.feedback && !isEdit} {#if part.feedback.content} <span class="tooltip tooltip-accent" data-tip={part.feedback.content} ><!-- @@ -194,7 +195,7 @@ > {/if} {:else} - {part.text} + {@html linkifyHtml(sanitize(part.text), { className: 'underline' })} {/if} {/each} </div> diff --git a/frontend/src/lib/components/sessions/writebox.svelte b/frontend/src/lib/components/sessions/writebox.svelte index 0dc329d07e959a3c9174a8ef3fa8929282c6a165..4061378688db62a55a59e92ab705de674e4fc56e 100644 --- a/frontend/src/lib/components/sessions/writebox.svelte +++ b/frontend/src/lib/components/sessions/writebox.svelte @@ -25,8 +25,8 @@ let disabled = us == null || session.users.find((u) => us.id === u.id) === undefined || - new Date() > session.end_time || - new Date() < session.start_time; + new Date().getTime() > session.end_time.getTime() + 3600000 || + new Date().getTime() < session.start_time.getTime() - 3600000; async function sendMessage() { message = message.trim(); diff --git a/frontend/src/lib/components/users/userItem.svelte b/frontend/src/lib/components/users/userItem.svelte new file mode 100644 index 0000000000000000000000000000000000000000..6d03ae14c1b85d789a15193e7791bc067dd418c4 --- /dev/null +++ b/frontend/src/lib/components/users/userItem.svelte @@ -0,0 +1,102 @@ +<script lang="ts"> + import { t } from '$lib/services/i18n'; + import type User from '$lib/types/user'; + import { toastAlert, toastSuccess } from '$lib/utils/toasts'; + import { Icon, PencilSquare, Trash } from 'svelte-hero-icons'; + + export let user: User; + + let nickname = user.nickname; + let email = user.email; + let type = user.type.toString(); + let is_active = user.is_active; + + let inEdit = false; + + async function onEdit() { + if (!inEdit) { + nickname = user.nickname; + email = user.email; + type = user.type.toString(); + is_active = user.is_active; + inEdit = true; + return; + } + + if ( + nickname === user.nickname && + email === user.email && + type === user.type.toString() && + is_active === user.is_active + ) { + inEdit = false; + return; + } + + const res = await user.patch({ + nickname, + email, + type: parseInt(type), + is_active + }); + + if (res) { + inEdit = false; + toastSuccess('Successfully updated user'); + return; + } + + toastAlert('Failed to update user'); + } +</script> + +<tr> + <td>{user.id}</td> + <td> + {#if inEdit} + <input type="text" class="input" bind:value={nickname} /> + {:else} + {user.nickname} + {/if} + </td> + <td> + {#if inEdit} + <input type="email" class="input" bind:value={email} /> + {:else} + {user.email} + {/if} + </td> + <td> + {#if inEdit} + <select class="select select-sm select-bordered" bind:value={type}> + <option value="2">{$t('users.type.student')}</option> + <option value="1">{$t('users.type.tutor')}</option> + <option value="0">{$t('users.type.admin')}</option> + </select> + {:else if user.type === 0} + {$t('users.type.admin')} + {:else if user.type === 1} + {$t('users.type.tutor')} + {:else} + {$t('users.type.student')} + {/if} + </td> + <td> + {#if inEdit} + <input type="checkbox" class="checkbox" bind:checked={is_active} /> + {:else if user.is_active} + <span>{$t('utils.bool.true')}</span> + {:else} + <span>{$t('utils.bool.false')}</span> + {/if} + </td> + <td class="py-3 px-6 flex justify-center"> + <button on:click={onEdit}> + <Icon src={PencilSquare} class="w-5" /> + </button> + <Icon + src={Trash} + class="w-5 hover:cursor-not-allowed stroke-gray-400 hover:text-secondaryHover" + /> + </td></tr +> diff --git a/frontend/src/lib/components/users/weeklySurvey.svelte b/frontend/src/lib/components/users/weeklySurvey.svelte new file mode 100644 index 0000000000000000000000000000000000000000..76790f854fb6e5355d45e659e0992fea374280cb --- /dev/null +++ b/frontend/src/lib/components/users/weeklySurvey.svelte @@ -0,0 +1,79 @@ +<script lang="ts"> + import { createWeeklySurveyAPI } from '$lib/api/users'; + import config from '$lib/config'; + import { t } from '$lib/services/i18n'; + import { user } from '$lib/types/user'; + import { formatToUTCDate } from '$lib/utils/date'; + import { toastAlert, toastSuccess } from '$lib/utils/toasts'; + + let open = + !$user?.is_tutor && + !$user?.is_admin && + (!$user?.last_survey || + $user.last_survey.getTime() + config.WEEKLY_SURVEY_INTERVAL < Date.now()); + + async function send() { + if (!$user) return; + + const data = Array.from({ length: 4 }, (_, i) => { + const value = (document.getElementById('questions-' + i) as HTMLSelectElement).value; + return value === '-1' ? null : parseFloat(value); + }); + + const res = await createWeeklySurveyAPI($user.id, data[0]!, data[1]!, data[2]!, data[3]!); + + if (!res) { + toastAlert($t('session.modal.weekly.errors.submit')); + } + + await $user.patch({ last_survey: formatToUTCDate(new Date()) }); + + open = false; + + toastSuccess($t('session.modal.weekly.success')); + } +</script> + +<dialog + class="modal bg-black bg-opacity-50" + {open} + on:close={() => (open = false)} + on:keydown={(e) => e.key === 'Escape' && (open = false)} + tabindex="0" + aria-modal="true" +> + <div class="modal-box max-w-[800px]"> + <h2 class="text-xl font-bold mb-4">{$t('session.modal.weekly.title')}</h2> + <p>{@html $t('session.modal.weekly.description')}</p> + {#each new Array(4) as _, i} + <label class="form-control w-full"> + <div class="label"> + <span class="label-text" + >{@html $t('session.modal.weekly.questions.' + i).replaceAll( + '{TARGET_LANGUAGE}', + $t('utils.language.' + $user?.target_language).toLowerCase() + )}</span + > + </div> + <select id={'questions-' + i} class="select select-bordered"> + <option value="-1" hidden selected + >{$t('session.modal.weekly.answers.placeholder')}</option + > + <option value="0">{$t('session.modal.weekly.answers.0')}</option> + <option value="0.5">{$t('session.modal.weekly.answers.05')}</option> + <option value="1">{$t('session.modal.weekly.answers.1')}</option> + <option value="2">{$t('session.modal.weekly.answers.2')}</option> + <option value="3">{$t('session.modal.weekly.answers.3')}</option> + <option value="4">{$t('session.modal.weekly.answers.4')}</option> + <option value="5">{$t('session.modal.weekly.answers.5')}</option> + <option value="6">{$t('session.modal.weekly.answers.6')}</option> + <option value="7">{$t('session.modal.weekly.answers.7')}</option> + <option value="8">{$t('session.modal.weekly.answers.8')}</option> + <option value="9">{$t('session.modal.weekly.answers.9')}</option> + <option value="10">{$t('session.modal.weekly.answers.10')}</option> + </select> + </label> + {/each} + <button class="btn btn-primary w-full mt-10" on:click={send}>{$t('button.submit')}</button> + </div> +</dialog> diff --git a/frontend/src/lib/config.ts b/frontend/src/lib/config.ts index 86c8f76119f629bc96a3b00ab5ad2f191e69e385..10b3cf95a5b512c8e378e20cc4c96d3534b14573 100644 --- a/frontend/src/lib/config.ts +++ b/frontend/src/lib/config.ts @@ -3,6 +3,8 @@ export default { API_PROXY: import.meta.env.VITE_API_PROXY || 'https://languagelab.sipr.ucl.ac.be:8000', APP_URL: import.meta.env.VITE_APP_URL || 'https://languagelab.sipr.ucl.ac.be', WS_URL: import.meta.env.VITE_WS_URL || 'wss://languagelab.sipr.ucl.ac.be/api/v1/ws', + // 1 week - 2 hours + WEEKLY_SURVEY_INTERVAL: (7 * 24 - 2) * 60 * 60 * 1000, LEARNING_LANGUAGES: { fra: 'French - fran\u00e7ais' }, diff --git a/frontend/src/lib/types/message.ts b/frontend/src/lib/types/message.ts index 6f518cb61950efb98f44a1fdcd32804f3da50a85..2da26f4ae82e2bb80776e1b97e41d0a1ac45cd4e 100644 --- a/frontend/src/lib/types/message.ts +++ b/frontend/src/lib/types/message.ts @@ -4,7 +4,6 @@ import { updateMessageAPI, createMessageFeedbackAPI } from '$lib/api/sessions'; import { toastAlert } from '$lib/utils/toasts'; import { get, writable, type Writable } from 'svelte/store'; import Feedback from './feedback'; -import { parse } from 'svelte/compiler'; import { parseToLocalDate } from '$lib/utils/date'; export default class Message { @@ -78,12 +77,14 @@ export default class Message { this._versions.update((v) => [...v, { content: content, date: new Date() }]); this._content = content; this._edited = true; + this.feedbacks.set([]); return true; } async localUpdate(content: string, force: boolean = false): Promise<boolean> { this._content = content; + this.feedbacks.set([]); if (!force) this._edited = true; return true; @@ -182,6 +183,7 @@ export default class Message { prev._content = m.content; prev._id = m.id; prev._edited = true; + prev.feedbacks.set(get(m.feedbacks)); } } diff --git a/frontend/src/lib/types/session.ts b/frontend/src/lib/types/session.ts index 19c2d1ec9062a6425df82c9d608e528e34d5b291..2fbdbb65211ae4376f927c328b393e6a3272ccb6 100644 --- a/frontend/src/lib/types/session.ts +++ b/frontend/src/lib/types/session.ts @@ -38,6 +38,7 @@ export default class Session { private _lastTyping: Writable<Date | null> = writable(null); private _onlineUsers: Writable<Set<number>> = writable(new Set()); private _onlineTimers: Map<number, number> = new Map(); + private _length: number; private constructor( id: number, @@ -47,7 +48,8 @@ export default class Session { created_at: Date, start_time: Date, end_time: Date, - language: string + language: string, + length: number ) { this._id = id; this._token = token; @@ -58,6 +60,7 @@ export default class Session { this._start_time = start_time; this._end_time = end_time; this._language = language; + this._length = length; } get id(): number { @@ -108,6 +111,10 @@ export default class Session { return this._onlineUsers; } + get length(): number { + return this._length; + } + usersList(maxLength = 30): string { const users = this._users .filter((u) => u.id != get(user)?.id) @@ -375,7 +382,8 @@ export default class Session { parseToLocalDate(json.created_at), parseToLocalDate(json.start_time), parseToLocalDate(json.end_time), - json.language + json.language, + json.length ); session._users = User.parseAll(json.users); diff --git a/frontend/src/lib/types/user.ts b/frontend/src/lib/types/user.ts index 55259c1570babc0e6c0f20d0fdb8d084489da38e..cb287f7600d5ef855c6b17ee202089069fb6a46b 100644 --- a/frontend/src/lib/types/user.ts +++ b/frontend/src/lib/types/user.ts @@ -1,4 +1,5 @@ import { createUserAPI, getUsersAPI, patchUserAPI } from '$lib/api/users'; +import { parseToLocalDate } from '$lib/utils/date'; import { toastAlert } from '$lib/utils/toasts'; import { get, writable } from 'svelte/store'; @@ -27,9 +28,11 @@ export default class User { private _ui_language: string | null; private _home_language: string | null; private _target_language: string | null; - private _birthdate: number | null; + private _birthdate: Date | null; private _gender: string | null; private _calcom_link: string | null; + private _study_id: number | null; + private _last_survey: Date | null; private constructor( id: number, @@ -41,9 +44,11 @@ export default class User { ui_language: string | null, home_language: string | null, target_language: string | null, - birthdate: number | null, + birthdate: Date | null, gender: string | null, - calcom_link: string | null + calcom_link: string | null, + study_id: number | null, + last_survey: Date | null ) { this._id = id; this._email = email; @@ -57,6 +62,8 @@ export default class User { this._birthdate = birthdate; this._gender = gender; this._calcom_link = calcom_link; + this._study_id = study_id; + this._last_survey = last_survey; } get id(): number { @@ -103,7 +110,7 @@ export default class User { return this._target_language; } - get birthdate(): number | null { + get birthdate(): Date | null { return this._birthdate; } @@ -115,6 +122,14 @@ export default class User { return this._calcom_link; } + get study_id(): number | null { + return this._study_id; + } + + get last_survey(): Date | null { + return this._last_survey; + } + equals<T>(obj: T): boolean { if (obj === null || obj === undefined) return false; if (!(obj instanceof User)) return false; @@ -147,10 +162,32 @@ export default class User { target_language: this.target_language, birthdate: this.birthdate, gender: this.gender, - calcom_link: this.calcom_link + calcom_link: this.calcom_link, + study_id: this.study_id, + last_survey: this.last_survey }); } + async patch(data: any): Promise<boolean> { + const res = await patchUserAPI(this.id, data); + if (res) { + if (data.email) this._email = data.email; + if (data.nickname) this._nickname = data.nickname; + if (data.type) this._type = data.type; + if (data.availability) this._availability = BigInt(data.availability); + if (data.is_active) this._is_active = data.is_active; + if (data.ui_language) this._ui_language = data.ui_language; + if (data.home_language) this._home_language = data.home_language; + if (data.target_language) this._target_language = data.target_language; + if (data.birthdate) this._birthdate = data.birthdate; + if (data.gender) this._gender = data.gender; + if (data.calcum_link) this._calcom_link = data.calcom_link; + if (data.study_id) this._study_id = data.study_id; + if (data.last_survey) this._last_survey = data.last_survey; + } + return res; + } + static find(user_id: number): User | undefined { return get(users).find((user) => user.id === user_id); } @@ -177,6 +214,8 @@ export default class User { null, null, null, + null, + null, null ); users.add(user); @@ -217,7 +256,9 @@ export default class User { json.target_language, json.birthdate, json.gender, - json.calcom_link + json.calcom_link, + json.study_id, + json.last_survey === null ? null : parseToLocalDate(json.last_survey) ); users.update((us) => { diff --git a/frontend/src/lib/utils/date.ts b/frontend/src/lib/utils/date.ts index 665f18c919f03397c6ebb3139079cd82eb8578e5..c8de2aa14b74b6fdfdabaa5bba3e601591e5edeb 100644 --- a/frontend/src/lib/utils/date.ts +++ b/frontend/src/lib/utils/date.ts @@ -100,27 +100,9 @@ export function displayDuration(start: Date, end: Date): string | null { } export function parseToLocalDate(dateStr: string): Date { - const isDST = isInDST(new Date(dateStr + 'Z')); - - const offset = isDST ? '+02:00' : '+01:00'; - - return new Date(dateStr + offset); + return new Date(dateStr + 'Z'); } -function isInDST(date: Date): boolean { - const year = date.getUTCFullYear(); - - // Calculate the last Sunday in March - const startOfDST = new Date(Date.UTC(year, 2, 31)); - const startDay = startOfDST.getUTCDay(); - const lastSundayMarch = 31 - startDay; - const startOfDSTDate = new Date(Date.UTC(year, 2, lastSundayMarch, 1)); - - // Calculate the last Sunday in October - const endOfDST = new Date(Date.UTC(year, 9, 31)); - const endDay = endOfDST.getUTCDay(); - const lastSundayOctober = 31 - endDay; - const endOfDSTDate = new Date(Date.UTC(year, 9, lastSundayOctober, 1)); - - return date >= startOfDSTDate && date < endOfDSTDate; +export function formatToUTCDate(date: Date): string { + return date.toISOString().split('Z')[0]; } diff --git a/frontend/src/routes/+layout.server.ts b/frontend/src/routes/+layout.server.ts index 073588193a9d322187faea35cc861826b59656b0..a621bd9cee4de615e70a753670322e7e8aed3daa 100644 --- a/frontend/src/routes/+layout.server.ts +++ b/frontend/src/routes/+layout.server.ts @@ -1,6 +1,6 @@ import { type ServerLoad, redirect } from '@sveltejs/kit'; -const publicly_allowed = ['/login', '/register', '/tests/vocabulary', '/surveys']; +const publicly_allowed = ['/login', '/register', '/tests', '/surveys', '/tutor/register']; const isPublic = (path: string) => { for (const allowed of publicly_allowed) { diff --git a/frontend/src/routes/admin/+page.svelte b/frontend/src/routes/admin/+page.svelte index fd23936694480497267d29ec8a37515121c79856..e3a114a93ded997e4e4d428edd024247aab0cb2a 100644 --- a/frontend/src/routes/admin/+page.svelte +++ b/frontend/src/routes/admin/+page.svelte @@ -1,10 +1,9 @@ <script lang="ts"> import { onMount } from 'svelte'; - import Header from '$lib/components/header.svelte'; import User, { users } from '$lib/types/user'; import { getUsersAPI } from '$lib/api/users'; import { t } from '$lib/services/i18n'; - import { Icon, Trash } from 'svelte-hero-icons'; + import UserItem from '$lib/components/users/userItem.svelte'; let ready = false; @@ -57,27 +56,7 @@ </thead> <tbody> {#each $users as user (user.id)} - <tr> - <td>{user.id}</td> - <td>{user.nickname}</td> - <td>{user.email}</td> - <td> - {#if user.type === 0} - {$t('users.type.admin')} - {:else if user.type === 1} - {$t('users.type.tutor')} - {:else} - {$t('users.type.student')} - {/if} - </td> - <td>{$t('utils.bool.' + user.is_active)}</td> - <td class="py-3 px-6 flex justify-center"> - <Icon - src={Trash} - class="w-5 hover:cursor-not-allowed stroke-gray-400 hover:text-secondaryHover" - /> - </td></tr - > + <UserItem {user} /> {/each} </tbody> <tfoot class=""> diff --git a/frontend/src/routes/admin/sessions/+page.svelte b/frontend/src/routes/admin/sessions/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..36fe14165f20a05b97f0cc4e665fe69bfbfdc2ac --- /dev/null +++ b/frontend/src/routes/admin/sessions/+page.svelte @@ -0,0 +1,63 @@ +<script lang="ts"> + import { getSessionsAPI } from '$lib/api/sessions'; + import Session from '$lib/types/session'; + import { onMount } from 'svelte'; + import { t } from '$lib/services/i18n'; + import { displayTime } from '$lib/utils/date'; + import { ArrowDownTray, ArrowRightStartOnRectangle, Icon } from 'svelte-hero-icons'; + import config from '$lib/config'; + + let sessions: Session[] = []; + + onMount(async () => { + sessions = Session.parseAll(await getSessionsAPI()); + }); +</script> + +<table class="table"> + <thead> + <tr> + <th>#</th> + <th>{$t('utils.words.date')}</th> + <th>{$t('users.type.tutors')}</th> + <th>{$t('users.type.students')}</th> + <th># {$t('utils.words.messages')}</th> + <th>{$t('utils.words.actions')}</th> + </tr> + </thead> + <tbody> + {#each sessions as session} + <tr> + <td>{session.id}</td> + <td>{displayTime(session.start_time)}</td> + <td> + {session.users + .filter((u) => u.is_tutor || u.is_admin) + .map((u) => u.nickname) + .join(', ')} + </td> + <td> + {session.users + .filter((u) => !u.is_tutor && !u.is_admin) + .map((u) => u.nickname) + .join(', ')} + </td> + <td> + {session.length} + </td> + <td> + <a class="button" title="Join" href={`/session?id=${session.id}`}> + <Icon src={ArrowRightStartOnRectangle} size="24" /> + </a> + <a + class="button" + title="Download" + href={`${config.API_URL}/sessions/${session.id}/download/messages`} + > + <Icon src={ArrowDownTray} size="24" /> + </a> + </td> + </tr> + {/each} + </tbody> +</table> diff --git a/frontend/src/routes/register/+page.svelte b/frontend/src/routes/register/+page.svelte index 3d4abb878f2c71ddc7a0ac998caaf19a7e2dda17..64437b5a6124369c43d7180baeaccec91f75c117 100644 --- a/frontend/src/routes/register/+page.svelte +++ b/frontend/src/routes/register/+page.svelte @@ -17,19 +17,14 @@ import { Icon, Envelope, Key, UserCircle } from 'svelte-hero-icons'; import Typingtest from '$lib/components/tests/typingtest.svelte'; import AvailableTutors from '$lib/components/users/availableTutors.svelte'; + import { browser } from '$app/environment'; + import { formatToUTCDate } from '$lib/utils/date'; let current_step = 0; $: message = ''; - //let checker: HTMLDivElement; - onMount(async () => { - /*checker.innerHTML = - '<label for="humanCheck" class="cursor-pointer label">' + - $t('register.humans') + - '<input type="checkbox" id="humanCheck" class="checkbox" required></label>';*/ - const u = get(user); if (u == null) { @@ -63,6 +58,12 @@ let target_language: string; let birthdate: string; let gender: string; + let study_id: number | null = (() => { + if (!browser) return null; + let study_id_str = new URLSearchParams(window.location.search).get('study'); + if (!study_id_str) return null; + return parseInt(study_id_str) || null; + })(); let timeslots = 0n; $: filteredUsers = $users.filter((user) => { @@ -77,10 +78,6 @@ message = $t('register.error.emptyFields'); return; } - /*if (checker.querySelector('input')?.checked === false) { - message = $t('register.error.humanity'); - return; - }*/ if (password.length < 8) { message = $t('register.error.passwordRules'); return; @@ -111,7 +108,8 @@ return; } - document.location.href = '/register'; + if (study_id === null) document.location.href = '/register'; + else document.location.href = `/register?study=${study_id}`; message = 'OK'; } @@ -134,7 +132,8 @@ home_language, target_language, birthdate, - gender + gender, + study_id }); if (!res) { @@ -390,7 +389,7 @@ id="birthyear" name="birthyear" required - bind:value={birthdate} + on:change={(e) => (birthdate = formatToUTCDate(new Date(e.target.value, 1, 1)))} > <option disabled selected value="">{$t('register.birthyear')}</option> {#each Array.from({ length: 82 }, (_, i) => i + 1931).reverse() as year} diff --git a/frontend/src/routes/session/+page.svelte b/frontend/src/routes/session/+page.svelte index cdc89480fbce27ada5f3afd4156218ab923e6651..9791e4807987da8efc14689b66312dcd7599edbf 100644 --- a/frontend/src/routes/session/+page.svelte +++ b/frontend/src/routes/session/+page.svelte @@ -7,6 +7,8 @@ import { onMount } from 'svelte'; import { user } from '$lib/types/user'; import Gravatar from 'svelte-gravatar'; + import WeeklySurvey from '$lib/components/users/weeklySurvey.svelte'; + import config from '$lib/config.js'; export let data; let session: Session | null = null; @@ -61,3 +63,7 @@ <div class=""></div> </div> {/if} + +{#if $user} + <WeeklySurvey /> +{/if} diff --git a/frontend/src/routes/tests/[id]/+layout.server.ts b/frontend/src/routes/tests/[id]/+layout.server.ts index 073588193a9d322187faea35cc861826b59656b0..0c0a1405302c40587c0e1cf82529670ef4c82254 100644 --- a/frontend/src/routes/tests/[id]/+layout.server.ts +++ b/frontend/src/routes/tests/[id]/+layout.server.ts @@ -1,6 +1,6 @@ import { type ServerLoad, redirect } from '@sveltejs/kit'; -const publicly_allowed = ['/login', '/register', '/tests/vocabulary', '/surveys']; +const publicly_allowed = ['/login', '/register', '/tests', '/surveys']; const isPublic = (path: string) => { for (const allowed of publicly_allowed) { diff --git a/frontend/src/routes/tests/[id]/+page.svelte b/frontend/src/routes/tests/[id]/+page.svelte index e21b403f5b886f885cd2dacd633fd6e1b89ce214..db36adc2cfcbb7e736eb6ba60debd71ca451031e 100644 --- a/frontend/src/routes/tests/[id]/+page.svelte +++ b/frontend/src/routes/tests/[id]/+page.svelte @@ -33,6 +33,7 @@ let type = currentQuestion.question.split(':')[0]; let value = currentQuestion.question.split(':').slice(1).join(':'); let gaps = type === 'gap' ? gapParts(currentQuestion.question) : null; + let soundPlayer: HTMLAudioElement; function setGroupId(id: number) { currentGroupId = id; @@ -47,6 +48,7 @@ type = currentQuestion.question.split(':')[0]; value = currentQuestion.question.split(':').slice(1).join(':'); gaps = type === 'gap' ? gapParts(currentQuestion.question) : null; + if (soundPlayer) soundPlayer.load(); } async function selectOption(option: string) { @@ -186,7 +188,7 @@ {:else if type == 'image'} <img src={value} alt="Question" /> {:else if type == 'audio'} - <audio controls autoplay class="rounded-lg mx-auto"> + <audio bind:this={soundPlayer} controls autoplay class="rounded-lg mx-auto"> <source src={value} type="audio/mpeg" /> Your browser does not support the audio element. </audio> diff --git a/frontend/src/routes/tutor/+layout.server.ts b/frontend/src/routes/tutor/+layout.server.ts index b5386de7e7701fac315f6328d041650e00dde3ce..a03ab77e6b293c8c5432ec77e535dda144160890 100644 --- a/frontend/src/routes/tutor/+layout.server.ts +++ b/frontend/src/routes/tutor/+layout.server.ts @@ -1,7 +1,10 @@ import { type ServerLoad, error, redirect } from '@sveltejs/kit'; -export const load: ServerLoad = async ({ locals }) => { +export const load: ServerLoad = async ({ locals, url }) => { if (locals.user == null || locals.user == undefined) { + if (url.pathname.startsWith('/tutor/register')) { + return {}; + } redirect(307, '/login'); } diff --git a/frontend/src/routes/tutor/register/+page.svelte b/frontend/src/routes/tutor/register/+page.svelte new file mode 100644 index 0000000000000000000000000000000000000000..1f841a115f66af68425e76a3c506eeeffc7de2be --- /dev/null +++ b/frontend/src/routes/tutor/register/+page.svelte @@ -0,0 +1,506 @@ +<script lang="ts"> + import { loginAPI, registerAPI } from '$lib/api/auth'; + import config from '$lib/config'; + import { locale, t } from '$lib/services/i18n'; + import { user } from '$lib/types/user'; + import { toastAlert, toastWarning } from '$lib/utils/toasts'; + import { onMount } from 'svelte'; + import { get } from 'svelte/store'; + import Timeslots from '$lib/components/users/timeslots.svelte'; + import User, { users } from '$lib/types/user'; + import { + getUsersAPI, + patchUserAPI, + createUserContactAPI, + getUserContactsAPI + } from '$lib/api/users'; + import { Icon, Envelope, Key, UserCircle, Calendar, QuestionMarkCircle } from 'svelte-hero-icons'; + import Typingtest from '$lib/components/tests/typingtest.svelte'; + + let current_step = 0; + + $: message = ''; + + onMount(async () => { + const u = get(user); + + if (u == null) { + current_step = 1; + return; + } + User.parseAll(await getUsersAPI()); + + if (!u.home_language || !u.target_language || !u.birthdate || !u.gender) { + current_step = 3; + return; + } + + const contacts = User.parseAll(await getUserContactsAPI(u.id)); + + if (contacts.length == 0) { + current_step = 4; + return; + } + + current_step = 5; + }); + + let nickname = ''; + let email = ''; + let password = ''; + let confirmPassword = ''; + + let ui_language: string = $locale; + let home_language: string; + let birthdate: string; + let gender: string; + let calcom_link = ''; + + let timeslots = 0n; + $: filteredUsers = $users.filter((user) => { + if (user.availability === 0n) return false; + if (timeslots === 0n) return true; + + return user.availability & timeslots; + }); + + async function onRegister() { + if (nickname == '' || email == '' || password == '' || confirmPassword == '') { + message = $t('register.error.emptyFields'); + return; + } + if (password.length < 8) { + message = $t('register.error.passwordRules'); + return; + } + if (password != confirmPassword) { + message = $t('register.error.differentPasswords'); + return; + } + const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; + if (!emailRegex.test(email)) { + message = $t('register.error.emailRules'); + return; + } + message = ''; + + const registerRes = await registerAPI(email, password, nickname, true); + + if (registerRes !== 'OK') { + message = registerRes; + return; + } + + const loginRes = await loginAPI(email, password); + + if (loginRes !== 'OK') { + toastAlert('Failed to login: ' + loginRes); + document.location.href = '/login'; + return; + } + + document.location.href = '/tutor/register'; + + message = 'OK'; + } + + async function onData() { + const user_id = get(user)?.id; + + if (!user_id) { + toastAlert('Failed to get current user ID'); + return; + } + + if (!ui_language || !home_language || !birthdate || !gender) { + message = $t('register.error.emptyFields'); + return; + } + + const res = await patchUserAPI(user_id, { + ui_language, + home_language, + birthdate, + gender + }); + + if (!res) { + message = $t('register.error.metadata'); + return; + } + + current_step++; + } + + async function onAvailabilities() { + if (!calcom_link || !calcom_link.startsWith('https://cal.com/')) { + toastWarning($t('timeslots.calcomWarning')); + return; + } + + const res = $user?.setAvailability(timeslots, calcom_link); + + if (!res) return; + + current_step++; + } + + async function onTyping() { + current_step++; + } +</script> + +<div class="header mx-auto my-5"> + <ul class="steps text-xs"> + <li class="step" class:step-primary={current_step >= 1}> + {$t('register.tab.consent')} + </li> + <li class="step" class:step-primary={current_step >= 2}> + {$t('register.tab.signup')} + </li> + <li class="step" class:step-primary={current_step >= 3}> + {$t('register.tab.information')} + </li> + <li class="step" class:step-primary={current_step >= 4}> + {$t('register.tab.availabilities')} + </li> + <li class="step" class:step-primary={current_step >= 5} data-content="?"> + {$t('register.tab.continue')} + </li> + <li class="step" class:step-primary={current_step >= 6} data-content=""> + {$t('register.tab.test')} + </li> + <li class="step" class:step-primary={current_step >= 7} data-content="★"> + {$t('register.tab.start')} + </li> + </ul> +</div> + +<div class="max-w-screen-md mx-auto p-5"> + {#if message} + <div class="alert alert-error text-content text-base-100 py-2 mb-4"> + {message} + </div> + {/if} + {#if current_step == 1} + <div class="join join-vertical w-full"> + <div class="join-item"> + <h2 class="text-xl font-bold text-center">{$t('register.consentTutor.title')}</h2> + <p class="m-5">{@html $t('register.consentTutor.intro')}</p> + </div> + <div class="collapse collapse-arrow join-item border border-base-300"> + <input type="radio" name="consent-accordion" checked="checked" /> + <div class="collapse-title font-medium">{$t('register.consentTutor.participation')}</div> + <div class="collapse-content"> + <p>{@html $t('register.consentTutor.participationD')}</p> + </div> + </div> + <div class="collapse collapse-arrow join-item border border-base-300"> + <input type="radio" name="consent-accordion" /> + <div class="collapse-title font-medium">{$t('register.consentTutor.privacy')}</div> + <div class="collapse-content"><p>{@html $t('register.consentTutor.privacyD')}</p></div> + </div> + <div class="collapse collapse-arrow join-item border border-base-300"> + <input type="radio" name="consent-accordion" /> + <div class="collapse-title font-medium">{$t('register.consentTutor.rights')}</div> + <div class="collapse-content"> + <p> + {$t('register.consentTutor.rightsD')} + <a + class="link link-primary" + href="mailto:{$t('register.consentTutor.studyData.emailD')}" + >{$t('register.consentTutor.studyData.emailD')}</a + >. + </p> + </div> + </div> + <div class="collapse collapse-arrow join-item border border-base-300"> + <input type="radio" name="consent-accordion" /> + <div class="collapse-title font-medium">{$t('register.consentTutor.studyData.title')}</div> + <div class="collapse-content"> + <dl class="text-sm"> + <div class="sm:grid sm:grid-cols-3 sm:gap-4 mb-1"> + <dt class="font-medium">{$t('register.consentTutor.studyData.study')}</dt> + <dd class="text-gray-700 sm:col-span-2"> + {$t('register.consentTutor.studyData.studyD')} + </dd> + </div> + <div class="sm:grid sm:grid-cols-3 sm:gap-4 mb-1"> + <dt class="font-medium">{$t('register.consentTutor.studyData.project')}</dt> + <dd class="text-gray-700 sm:col-span-2"> + {$t('register.consentTutor.studyData.projectD')} + </dd> + </div> + <div class="sm:grid sm:grid-cols-3 sm:gap-4 mb-1"> + <dt class="font-medium">{$t('register.consentTutor.studyData.university')}</dt> + <dd class="text-gray-700 sm:col-span-2"> + {$t('register.consentTutor.studyData.universityD')} + </dd> + </div> + <div class="sm:grid sm:grid-cols-3 sm:gap-4 mb-1"> + <dt class="font-medium">{$t('register.consentTutor.studyData.address')}</dt> + <dd class="text-gray-700 sm:col-span-2"> + {$t('register.consentTutor.studyData.addressD')} + </dd> + </div> + <div class="sm:grid sm:grid-cols-3 sm:gap-4 mb-1"> + <dt class="font-medium">{$t('register.consentTutor.studyData.person')}</dt> + <dd class="text-gray-700 sm:col-span-2"> + {$t('register.consentTutor.studyData.personD')} + </dd> + </div> + <div class="sm:grid sm:grid-cols-3 sm:gap-4 mb-1"> + <dt class="font-medium">{$t('register.consentTutor.studyData.email')}</dt> + <dd class="text-gray-700 sm:col-span-2"> + <a href="mailto:{$t('register.consentTutor.studyData.emailD')}" class="link" + >{$t('register.consentTutor.studyData.emailD')}</a + > + </dd> + </div> + </dl> + </div> + </div> + </div> + <div class="form-control"> + <button class="button mt-4" on:click={() => current_step++}> + {$t('register.consentTutor.ok')} + </button> + </div> + {:else if current_step == 2} + <div class="space-y-2"> + <label for="email" class="form-control"> + <div class="label"> + <span class="label-text">{$t('register.email')}</span> + <span class="label-text-alt">{$t('register.email.note')}</span> + </div> + <div class="input flex items-center"> + <Icon src={Envelope} class="w-4 mr-2 opacity-70" solid /> + <input + type="text" + class="grow" + bind:value={email} + placeholder={$t('register.email.ph')} + /> + </div> + </label> + <label for="nickname" class="form-control"> + <div class="label"> + <span class="label-text">{$t('register.nickname')}</span> + <span class="label-text-alt">{$t('register.nickname.note')}</span> + </div> + <div class="input flex items-center"> + <Icon src={UserCircle} class="w-4 mr-2 opacity-70" solid /> + <input + type="text" + class="grow" + bind:value={nickname} + placeholder={$t('register.nickname.ph')} + /> + </div> + </label> + <label for="password" class="form-control"> + <div class="label"> + <span class="label-text">{$t('register.password')}</span> + <span class="label-text-alt">{$t('register.password.note')}</span> + </div> + <div class="input flex items-center"> + <Icon src={Key} class="w-4 mr-2 opacity-70" solid /> + <input + type="password" + class="grow" + bind:value={password} + placeholder={$t('register.password')} + /> + </div> + </label> + <label for="confirmPassword" class="form-control"> + <div class="input flex items-center"> + <Icon src={Key} class="w-4 mr-2 opacity-70" solid /> + <input + type="password" + class="grow" + bind:value={confirmPassword} + placeholder={$t('register.confirmPassword')} + /> + </div> + </label> + <div class="form-control"> + <button class="button mt-2" on:click={onRegister}>{$t('register.signup')}</button> + </div> + </div> + {:else if current_step == 3} + <div class="space-y-2"> + <div class="p-5 text-sm text-prose"> + {@html $t('register.welcome')} + </div> + <div class="form-control"> + <label for="homeLanguage" class="label"> + <span class="label-text">{$t('register.homeLanguage')}</span> + <span class="label-text-alt">{$t('register.homeLanguage.note')}</span> + </label> + <select + class="select select-bordered" + id="homeLanguage" + name="homeLanguage" + required + bind:value={home_language} + > + <option disabled selected value="">{$t('register.homeLanguage')}</option> + {#each Object.entries(config.PRIMARY_LANGUAGE) as [code, name]} + <option value={code}>{name}</option> + {/each} + </select> + </div> + <div class="form-control"> + <label for="birthyear" class="label"> + <span class="label-text">{$t('register.birthyear')}</span> + </label> + <select + class="select select-bordered" + id="birthyear" + name="birthyear" + required + bind:value={birthdate} + > + <option disabled selected value="">{$t('register.birthyear')}</option> + {#each Array.from({ length: 82 }, (_, i) => i + 1931).reverse() as year} + <option value={year}>{year}</option> + {/each} + </select> + </div> + <div class="form-control space-y-1"> + <label for="gender" class="label"> + <span class="label-text">{$t('register.gender')}</span> + <span class="label-text-alt">{$t('register.gender.note')}</span> + </label> + <div class="label justify-normal gap-2 py-0"> + <input + type="radio" + class="radio" + id="male" + name="gender" + value="male" + on:change={() => (gender = 'male')} + /> + <label for="male" class="label-text cursor-pointer"> + {$t('register.genders.male')} + </label> + </div> + <div class="label justify-normal gap-2 py-0"> + <input + type="radio" + class="radio" + id="female" + name="gender" + value="female" + on:change={() => (gender = 'female')} + /> + <label for="female" class="label-text cursor-pointer"> + {$t('register.genders.female')} + </label> + </div> + <div class="label justify-normal gap-2 py-0"> + <input + type="radio" + class="radio" + id="other" + name="gender" + value="other" + on:change={() => (gender = 'other')} + /> + <label for="other" class="label-text cursor-pointer"> + {$t('register.genders.other')} + </label> + </div> + <div class="label justify-normal gap-2 py-0"> + <input + type="radio" + class="radio" + id="na" + name="gender" + value="na" + on:change={() => (gender = 'na')} + /> + <label for="na" class="label-text cursor-pointer"> + {$t('register.genders.na')} + </label> + </div> + </div> + <div class="form-control"> + <button class="button mt-4" on:click={onData}>{$t('button.submit')}</button> + </div> + </div> + {:else if current_step == 4} + <!--{#if get(user)}--> + <h2 class="my-4 text-xl">{$t('timeslots.setAvailabilities')}</h2> + <Timeslots bind:timeslots /> + <div class="form-control mt-4"> + <label class="label" for="calcom"> + <span class="label-text"> + {$t('timeslots.calcom')} + <a + href="https://forge.uclouvain.be/sbibauw/languagelab/-/blob/93897d67f63ec81ebbe13b10035e4cd5a3a09071/docs/cal.com.md" + target="_blank" + > + <Icon + src={QuestionMarkCircle} + class="w-5 h-5 cursor-pointer inline" + title="Documentation" + solid + /> + </a> + </span> + </label> + <div class="input flex items-center"> + <Icon src={Calendar} class="w-5 h-5 mr-2 opacity-70" solid /> + <input + type="text" + id="calcom" + class="grow" + placeholder="https://cal.com/username/tutoring" + bind:value={calcom_link} + /> + </div> + </div> + <div class="form-control"> + <button class="button mt-4" on:click={onAvailabilities}>{$t('button.submit')}</button> + </div> + {:else if current_step == 5} + <div class="text-center"> + <p class="text-center"> + {@html $t('register.continue')} + </p> + <button class="button mt-4 w-full" on:click={() => (current_step = 6)}> + {$t('register.continueButton')} + </button> + <button class="button mt-4 w-full" on:click={() => (document.location.href = '/')}> + {$t('register.startFastButton')} + </button> + </div> + {:else if current_step == 6} + <Typingtest onFinish={onTyping} /> + {:else if current_step == 7} + <div class="text-center"> + <p class="text-center"> + {@html $t('register.start')} + </p> + <button class="button mt-4 m-auto" on:click={() => (document.location.href = '/')}> + {$t('register.startButton')} + </button> + </div> + {/if} +</div> + +<style lang="postcss"> + /* input:not([type='radio']) { + @apply w-full; + } */ + + .label-text-alt { + @apply opacity-50 ml-8; + } + + .steps { + @apply text-base-300; + } +</style> diff --git a/frontend/src/routes/tutor/timeslots/+page.svelte b/frontend/src/routes/tutor/timeslots/+page.svelte index 22bf6cdabb7a53b8bc4e0ebfdcbd163f9818b1ce..0b0f3d2b1ee71d4bf036a343bf9f328eca386c83 100644 --- a/frontend/src/routes/tutor/timeslots/+page.svelte +++ b/frontend/src/routes/tutor/timeslots/+page.svelte @@ -4,7 +4,7 @@ import Timeslots from '$lib/components/users/timeslots.svelte'; import { user } from '$lib/types/user'; import { toastWarning } from '$lib/utils/toasts'; - import { Icon, Calendar } from 'svelte-hero-icons'; + import { Icon, Calendar, QuestionMarkCircle } from 'svelte-hero-icons'; $: lastTimeslots = 0n; $: timeslots = 0n; @@ -48,6 +48,17 @@ <label class="label" for="calcom"> <span class="label-text"> {$t('timeslots.calcom')} + <a + href="https://forge.uclouvain.be/sbibauw/languagelab/-/blob/93897d67f63ec81ebbe13b10035e4cd5a3a09071/docs/cal.com.md" + target="_blank" + > + <Icon + src={QuestionMarkCircle} + class="w-5 h-5 cursor-pointer inline" + title="Documentation" + solid + /> + </a> </span> </label> <div class="input flex items-center"> diff --git a/frontend/static/surveys/items/1/1.jpeg b/frontend/static/surveys/items/1/1.jpeg deleted file mode 100644 index d842248a0a53c19c823f28d9d88a3da7533993bd..0000000000000000000000000000000000000000 Binary files a/frontend/static/surveys/items/1/1.jpeg and /dev/null differ diff --git a/frontend/static/surveys/items/1/3.jpeg b/frontend/static/surveys/items/1/3.jpeg deleted file mode 100644 index be5d8120babe49e4ed1a5285129a42f7845a4c26..0000000000000000000000000000000000000000 Binary files a/frontend/static/surveys/items/1/3.jpeg and /dev/null differ diff --git a/frontend/static/surveys/items/1/4.jpeg b/frontend/static/surveys/items/1/4.jpeg deleted file mode 100644 index e6dc4345d30bf624cf4525fb5bc38d315283ed55..0000000000000000000000000000000000000000 Binary files a/frontend/static/surveys/items/1/4.jpeg and /dev/null differ diff --git a/frontend/static/surveys/items/101/1.jpeg b/frontend/static/surveys/items/101/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4e8a6e05ea4737de157a485ca14f1f21e01edeef Binary files /dev/null and b/frontend/static/surveys/items/101/1.jpeg differ diff --git a/frontend/static/surveys/items/101/2.jpeg b/frontend/static/surveys/items/101/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..234790289edca2db2163588a006ef986f46f179b Binary files /dev/null and b/frontend/static/surveys/items/101/2.jpeg differ diff --git a/frontend/static/surveys/items/101/3.jpeg b/frontend/static/surveys/items/101/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a5f9eb3fcb26dcca09df42d678551333e209a626 Binary files /dev/null and b/frontend/static/surveys/items/101/3.jpeg differ diff --git a/frontend/static/surveys/items/101/4.jpeg b/frontend/static/surveys/items/101/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f2c929b9a60307fe969b7fbb77db4d61c6bc1c94 Binary files /dev/null and b/frontend/static/surveys/items/101/4.jpeg differ diff --git a/frontend/static/surveys/items/101/q.mp3 b/frontend/static/surveys/items/101/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..db7aedc6a0c868b8a337f5208e7049c404af8a9d Binary files /dev/null and b/frontend/static/surveys/items/101/q.mp3 differ diff --git a/frontend/static/surveys/items/102/1.jpeg b/frontend/static/surveys/items/102/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..80cba5d940386d6dab1aa08ffa54f34d03e6478a Binary files /dev/null and b/frontend/static/surveys/items/102/1.jpeg differ diff --git a/frontend/static/surveys/items/102/2.jpeg b/frontend/static/surveys/items/102/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f322aad63530ff07abde45a740360a368a58a51b Binary files /dev/null and b/frontend/static/surveys/items/102/2.jpeg differ diff --git a/frontend/static/surveys/items/102/3.jpeg b/frontend/static/surveys/items/102/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f1d4ec8749d075ff57896f9501a70098add8b943 Binary files /dev/null and b/frontend/static/surveys/items/102/3.jpeg differ diff --git a/frontend/static/surveys/items/102/4.jpeg b/frontend/static/surveys/items/102/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a1401a8e73b890407bfe051a79b88565757052e4 Binary files /dev/null and b/frontend/static/surveys/items/102/4.jpeg differ diff --git a/frontend/static/surveys/items/102/q.mp3 b/frontend/static/surveys/items/102/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..97683a744fa7a421233378ea93a4a6438a605296 Binary files /dev/null and b/frontend/static/surveys/items/102/q.mp3 differ diff --git a/frontend/static/surveys/items/103/1.jpeg b/frontend/static/surveys/items/103/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..465b654dbd5a384a64db130540c377a4f405c7ad Binary files /dev/null and b/frontend/static/surveys/items/103/1.jpeg differ diff --git a/frontend/static/surveys/items/1/2.jpeg b/frontend/static/surveys/items/103/2.jpeg similarity index 100% rename from frontend/static/surveys/items/1/2.jpeg rename to frontend/static/surveys/items/103/2.jpeg diff --git a/frontend/static/surveys/items/103/3.jpeg b/frontend/static/surveys/items/103/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d7577f6f5e829798a352a455ec30338d00ff85aa Binary files /dev/null and b/frontend/static/surveys/items/103/3.jpeg differ diff --git a/frontend/static/surveys/items/103/4.jpeg b/frontend/static/surveys/items/103/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1f04b7976f0129da199b208855031cc87d6bdeb9 Binary files /dev/null and b/frontend/static/surveys/items/103/4.jpeg differ diff --git a/frontend/static/surveys/items/1/q.mp3 b/frontend/static/surveys/items/103/q.mp3 old mode 100644 new mode 100755 similarity index 100% rename from frontend/static/surveys/items/1/q.mp3 rename to frontend/static/surveys/items/103/q.mp3 diff --git a/frontend/static/surveys/items/104/1.jpeg b/frontend/static/surveys/items/104/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..afdc99961c531fe54d4d150804b4cd05005cd85a Binary files /dev/null and b/frontend/static/surveys/items/104/1.jpeg differ diff --git a/frontend/static/surveys/items/104/2.jpeg b/frontend/static/surveys/items/104/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ea453076324707e57943408d912cb4787064e1c3 Binary files /dev/null and b/frontend/static/surveys/items/104/2.jpeg differ diff --git a/frontend/static/surveys/items/104/3.jpeg b/frontend/static/surveys/items/104/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2e01ce7ba7df5a5b6d37443c4f7210c1aeee2846 Binary files /dev/null and b/frontend/static/surveys/items/104/3.jpeg differ diff --git a/frontend/static/surveys/items/104/4.jpeg b/frontend/static/surveys/items/104/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ee6044d3783f5c49659a49c208b6a7d76c9251c5 Binary files /dev/null and b/frontend/static/surveys/items/104/4.jpeg differ diff --git a/frontend/static/surveys/items/104/q.mp3 b/frontend/static/surveys/items/104/q.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..9fe638f0d7a50b706bdc1f4d27e45ed403018643 Binary files /dev/null and b/frontend/static/surveys/items/104/q.mp3 differ diff --git a/frontend/static/surveys/items/105/1.jpeg b/frontend/static/surveys/items/105/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..12632c78c57ac9f3cb0065e37e115e304f10be3c Binary files /dev/null and b/frontend/static/surveys/items/105/1.jpeg differ diff --git a/frontend/static/surveys/items/105/2.jpeg b/frontend/static/surveys/items/105/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..db43d55ae491f7aba9319baddd3c6ed929447ca8 Binary files /dev/null and b/frontend/static/surveys/items/105/2.jpeg differ diff --git a/frontend/static/surveys/items/105/3.jpeg b/frontend/static/surveys/items/105/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9f932c2ee2d3e1b975ce3bdaf986d81acaa5eeaa Binary files /dev/null and b/frontend/static/surveys/items/105/3.jpeg differ diff --git a/frontend/static/surveys/items/105/4.jpeg b/frontend/static/surveys/items/105/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a55fd098ec28017e60b7431bbcb02548d169ade5 Binary files /dev/null and b/frontend/static/surveys/items/105/4.jpeg differ diff --git a/frontend/static/surveys/items/105/q.mp3 b/frontend/static/surveys/items/105/q.mp3 new file mode 100755 index 0000000000000000000000000000000000000000..87a6cdc2aa6aa83a47cf37b563de4a74e222f5c1 Binary files /dev/null and b/frontend/static/surveys/items/105/q.mp3 differ diff --git a/frontend/static/surveys/items/106/1.jpeg b/frontend/static/surveys/items/106/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8b76344a6d5dd5fc237d0bccda1f56044daa4858 Binary files /dev/null and b/frontend/static/surveys/items/106/1.jpeg differ diff --git a/frontend/static/surveys/items/106/2.jpeg b/frontend/static/surveys/items/106/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a0e3011430eeb808246f35b815afd6c011d91d7a Binary files /dev/null and b/frontend/static/surveys/items/106/2.jpeg differ diff --git a/frontend/static/surveys/items/106/3.jpeg b/frontend/static/surveys/items/106/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cf286ea9e50fd55466256b84efd0bf2d832514a9 Binary files /dev/null and b/frontend/static/surveys/items/106/3.jpeg differ diff --git a/frontend/static/surveys/items/106/4.jpeg b/frontend/static/surveys/items/106/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c04515a1972581680fd3b0acb35ed0c89182ef7d Binary files /dev/null and b/frontend/static/surveys/items/106/4.jpeg differ diff --git a/frontend/static/surveys/items/106/q.mp3 b/frontend/static/surveys/items/106/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c8066a2b574daadec44feb7b4e19943aa45326f1 Binary files /dev/null and b/frontend/static/surveys/items/106/q.mp3 differ diff --git a/frontend/static/surveys/items/107/1.jpeg b/frontend/static/surveys/items/107/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..44fd836854dbff8e3e6d7572078fc5f4d9b9ac4a Binary files /dev/null and b/frontend/static/surveys/items/107/1.jpeg differ diff --git a/frontend/static/surveys/items/107/2.jpeg b/frontend/static/surveys/items/107/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e983ee323b93dfad16dbd0e04325ae747b95e2c0 Binary files /dev/null and b/frontend/static/surveys/items/107/2.jpeg differ diff --git a/frontend/static/surveys/items/107/3.jpeg b/frontend/static/surveys/items/107/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e5723256232f3c1e7377954cd4c9b9a69273451a Binary files /dev/null and b/frontend/static/surveys/items/107/3.jpeg differ diff --git a/frontend/static/surveys/items/107/4.jpeg b/frontend/static/surveys/items/107/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..08fa32a5d29b1115251530124a967ac7cc1bf00a Binary files /dev/null and b/frontend/static/surveys/items/107/4.jpeg differ diff --git a/frontend/static/surveys/items/107/q.mp3 b/frontend/static/surveys/items/107/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9aa86e4d9a7b9ec43a7d7d04f339cd4b5481a17e Binary files /dev/null and b/frontend/static/surveys/items/107/q.mp3 differ diff --git a/frontend/static/surveys/items/108/1.jpeg b/frontend/static/surveys/items/108/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dd9ed936b4b056be34fcbee42f728bbcca0f26d0 Binary files /dev/null and b/frontend/static/surveys/items/108/1.jpeg differ diff --git a/frontend/static/surveys/items/108/2.jpeg b/frontend/static/surveys/items/108/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f7ef812583f8c63a5e4368d1edc3708bf79251bb Binary files /dev/null and b/frontend/static/surveys/items/108/2.jpeg differ diff --git a/frontend/static/surveys/items/108/3.jpeg b/frontend/static/surveys/items/108/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..26e29074e5ceb9af4c5013be4333e9104254c99d Binary files /dev/null and b/frontend/static/surveys/items/108/3.jpeg differ diff --git a/frontend/static/surveys/items/108/4.jpeg b/frontend/static/surveys/items/108/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d9d045114a213e8945f5e23311b63af4f076fe83 Binary files /dev/null and b/frontend/static/surveys/items/108/4.jpeg differ diff --git a/frontend/static/surveys/items/108/q.mp3 b/frontend/static/surveys/items/108/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8bfac52acc9906e0e4d69e3255e86052c68d550c Binary files /dev/null and b/frontend/static/surveys/items/108/q.mp3 differ diff --git a/frontend/static/surveys/items/109/1.jpeg b/frontend/static/surveys/items/109/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4a707b82ad369a78d9c1f84c33b6772b5b780a33 Binary files /dev/null and b/frontend/static/surveys/items/109/1.jpeg differ diff --git a/frontend/static/surveys/items/109/2.jpeg b/frontend/static/surveys/items/109/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b162c61609a3cdde6001b1643c72b4040bd04a5c Binary files /dev/null and b/frontend/static/surveys/items/109/2.jpeg differ diff --git a/frontend/static/surveys/items/109/3.jpeg b/frontend/static/surveys/items/109/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5afce485e186dc53b04ea387c13e1be6526f6035 Binary files /dev/null and b/frontend/static/surveys/items/109/3.jpeg differ diff --git a/frontend/static/surveys/items/109/4.jpeg b/frontend/static/surveys/items/109/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6591063cc2d64c01cf50b8d318e5d8ce641244e3 Binary files /dev/null and b/frontend/static/surveys/items/109/4.jpeg differ diff --git a/frontend/static/surveys/items/109/q.mp3 b/frontend/static/surveys/items/109/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5ddfb8197a6c000c9db5baea983ccbab1df18881 Binary files /dev/null and b/frontend/static/surveys/items/109/q.mp3 differ diff --git a/frontend/static/surveys/items/110/1.jpeg b/frontend/static/surveys/items/110/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e1d42105b593e914c3033c4684c6fba9463fc025 Binary files /dev/null and b/frontend/static/surveys/items/110/1.jpeg differ diff --git a/frontend/static/surveys/items/110/2.jpeg b/frontend/static/surveys/items/110/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d29cd8cdccfb3f4de15dc7d3846ba22342e219bd Binary files /dev/null and b/frontend/static/surveys/items/110/2.jpeg differ diff --git a/frontend/static/surveys/items/110/3.jpeg b/frontend/static/surveys/items/110/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..64d86a09407b1d673fe4670de28667034110c614 Binary files /dev/null and b/frontend/static/surveys/items/110/3.jpeg differ diff --git a/frontend/static/surveys/items/110/4.jpeg b/frontend/static/surveys/items/110/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..38d1147325df4f7fa19b9df2a105d0eec5231f0a Binary files /dev/null and b/frontend/static/surveys/items/110/4.jpeg differ diff --git a/frontend/static/surveys/items/110/q.mp3 b/frontend/static/surveys/items/110/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b763024fda963da91f32ef023e3bdb0394351321 Binary files /dev/null and b/frontend/static/surveys/items/110/q.mp3 differ diff --git a/frontend/static/surveys/items/111/1.jpeg b/frontend/static/surveys/items/111/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7a8bbc0be8f592f75e91b3bd91273a2205241a6c Binary files /dev/null and b/frontend/static/surveys/items/111/1.jpeg differ diff --git a/frontend/static/surveys/items/111/2.jpeg b/frontend/static/surveys/items/111/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..95bd5cd10c7acbab41ebe8c0d59770708a2e8318 Binary files /dev/null and b/frontend/static/surveys/items/111/2.jpeg differ diff --git a/frontend/static/surveys/items/111/3.jpeg b/frontend/static/surveys/items/111/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e02b8ef18aaf7e8da062b585fe02c01f5deab16f Binary files /dev/null and b/frontend/static/surveys/items/111/3.jpeg differ diff --git a/frontend/static/surveys/items/111/4.jpeg b/frontend/static/surveys/items/111/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..436d5305b5476b8130a980c4474af755da4197a5 Binary files /dev/null and b/frontend/static/surveys/items/111/4.jpeg differ diff --git a/frontend/static/surveys/items/111/q.mp3 b/frontend/static/surveys/items/111/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1c8dc5b6c05a929f2b281490680760d3706ae61d Binary files /dev/null and b/frontend/static/surveys/items/111/q.mp3 differ diff --git a/frontend/static/surveys/items/112/1.jpeg b/frontend/static/surveys/items/112/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..72bc8e9383877dfaf1bacf908a0784ed31102c79 Binary files /dev/null and b/frontend/static/surveys/items/112/1.jpeg differ diff --git a/frontend/static/surveys/items/112/2.jpeg b/frontend/static/surveys/items/112/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3c94eb028d635d265a385c95f4800ada198db3e3 Binary files /dev/null and b/frontend/static/surveys/items/112/2.jpeg differ diff --git a/frontend/static/surveys/items/112/3.jpeg b/frontend/static/surveys/items/112/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bdbf7c42e833cc33d8dfe56b7d0e368f96347b6a Binary files /dev/null and b/frontend/static/surveys/items/112/3.jpeg differ diff --git a/frontend/static/surveys/items/112/4.jpeg b/frontend/static/surveys/items/112/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e0e5fd4a1d4b7285436c1ebae5d1ded12d42b331 Binary files /dev/null and b/frontend/static/surveys/items/112/4.jpeg differ diff --git a/frontend/static/surveys/items/112/q.mp3 b/frontend/static/surveys/items/112/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fe886c0e5c17506ed115c0419a85d83e0aef634c Binary files /dev/null and b/frontend/static/surveys/items/112/q.mp3 differ diff --git a/frontend/static/surveys/items/113/1.jpeg b/frontend/static/surveys/items/113/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f61c338b5a1a0455a7dd9f0287c19880def73a1e Binary files /dev/null and b/frontend/static/surveys/items/113/1.jpeg differ diff --git a/frontend/static/surveys/items/113/2.jpeg b/frontend/static/surveys/items/113/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c1d6ff4cb340303134ad862011b04f4134c38198 Binary files /dev/null and b/frontend/static/surveys/items/113/2.jpeg differ diff --git a/frontend/static/surveys/items/113/3.jpeg b/frontend/static/surveys/items/113/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f2027e296b55464e76beeb80e4d434e4d866214f Binary files /dev/null and b/frontend/static/surveys/items/113/3.jpeg differ diff --git a/frontend/static/surveys/items/113/4.jpeg b/frontend/static/surveys/items/113/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..635177d7e0140e23c831af0c385880dea6e324d8 Binary files /dev/null and b/frontend/static/surveys/items/113/4.jpeg differ diff --git a/frontend/static/surveys/items/113/q.mp3 b/frontend/static/surveys/items/113/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9ace54a9426c72907d65a9b0b0394943f2883766 Binary files /dev/null and b/frontend/static/surveys/items/113/q.mp3 differ diff --git a/frontend/static/surveys/items/114/1.jpeg b/frontend/static/surveys/items/114/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ea02a800b6ee6e44a40200591c5a0134345b6819 Binary files /dev/null and b/frontend/static/surveys/items/114/1.jpeg differ diff --git a/frontend/static/surveys/items/114/2.jpeg b/frontend/static/surveys/items/114/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d6bc95ad94da12c69cd2d1fe6d1bd63106a8b56e Binary files /dev/null and b/frontend/static/surveys/items/114/2.jpeg differ diff --git a/frontend/static/surveys/items/114/3.jpeg b/frontend/static/surveys/items/114/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4d841b14a18191ef61b646537b1253c44b954cd8 Binary files /dev/null and b/frontend/static/surveys/items/114/3.jpeg differ diff --git a/frontend/static/surveys/items/114/4.jpeg b/frontend/static/surveys/items/114/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5e9acbf9779a82f44808a8c1ae4e127df8735ed8 Binary files /dev/null and b/frontend/static/surveys/items/114/4.jpeg differ diff --git a/frontend/static/surveys/items/114/q.mp3 b/frontend/static/surveys/items/114/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e20a214bda2c473601a79ff4a24d900e20e14fb2 Binary files /dev/null and b/frontend/static/surveys/items/114/q.mp3 differ diff --git a/frontend/static/surveys/items/115/1.jpeg b/frontend/static/surveys/items/115/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..307f3cb43628d3593ad1f7b2e22ee305f33632a8 Binary files /dev/null and b/frontend/static/surveys/items/115/1.jpeg differ diff --git a/frontend/static/surveys/items/115/2.jpeg b/frontend/static/surveys/items/115/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3858e26178683b209df69759a5e213685609311b Binary files /dev/null and b/frontend/static/surveys/items/115/2.jpeg differ diff --git a/frontend/static/surveys/items/115/3.jpeg b/frontend/static/surveys/items/115/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5ccec588f8dbd974789856ec2832ebc3edf723e6 Binary files /dev/null and b/frontend/static/surveys/items/115/3.jpeg differ diff --git a/frontend/static/surveys/items/115/4.jpeg b/frontend/static/surveys/items/115/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a909f74e6606ea2c5c61b4143f95fd14f4937331 Binary files /dev/null and b/frontend/static/surveys/items/115/4.jpeg differ diff --git a/frontend/static/surveys/items/115/q.mp3 b/frontend/static/surveys/items/115/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..512880a924b1849bf4a4f4dc314e029e621c9eb1 Binary files /dev/null and b/frontend/static/surveys/items/115/q.mp3 differ diff --git a/frontend/static/surveys/items/116/1.jpeg b/frontend/static/surveys/items/116/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c68b700ad052ab392e023a97bf3e3b3daab8da71 Binary files /dev/null and b/frontend/static/surveys/items/116/1.jpeg differ diff --git a/frontend/static/surveys/items/116/2.jpeg b/frontend/static/surveys/items/116/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..81d339ed35bab8616cbb21149052416673652b73 Binary files /dev/null and b/frontend/static/surveys/items/116/2.jpeg differ diff --git a/frontend/static/surveys/items/116/3.jpeg b/frontend/static/surveys/items/116/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..610fe221b67b8ba6784aa9af75a0800a9141eddf Binary files /dev/null and b/frontend/static/surveys/items/116/3.jpeg differ diff --git a/frontend/static/surveys/items/116/4.jpeg b/frontend/static/surveys/items/116/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..acd860dc115611884b32c7bc2b33a175de0d2202 Binary files /dev/null and b/frontend/static/surveys/items/116/4.jpeg differ diff --git a/frontend/static/surveys/items/116/q.mp3 b/frontend/static/surveys/items/116/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c12b0332e2ce44bd9bc05cb838f92298567aa9a5 Binary files /dev/null and b/frontend/static/surveys/items/116/q.mp3 differ diff --git a/frontend/static/surveys/items/117/1.jpeg b/frontend/static/surveys/items/117/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fd097513df95e5e8fa0f56cef1cbc690e1982eed Binary files /dev/null and b/frontend/static/surveys/items/117/1.jpeg differ diff --git a/frontend/static/surveys/items/117/2.jpeg b/frontend/static/surveys/items/117/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c51d328a5d8e4e2d8002b76c8dd71ed2f9bbb26b Binary files /dev/null and b/frontend/static/surveys/items/117/2.jpeg differ diff --git a/frontend/static/surveys/items/117/3.jpeg b/frontend/static/surveys/items/117/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c2b5533d8e1f93ae3fd0816c2d05acf47983e52b Binary files /dev/null and b/frontend/static/surveys/items/117/3.jpeg differ diff --git a/frontend/static/surveys/items/117/4.jpeg b/frontend/static/surveys/items/117/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8599da6b2c3fee969c4142f76197f0d6b8e67e55 Binary files /dev/null and b/frontend/static/surveys/items/117/4.jpeg differ diff --git a/frontend/static/surveys/items/117/q.mp3 b/frontend/static/surveys/items/117/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0d6ad300f4fb373f2f593502731bc30de4d5d90b Binary files /dev/null and b/frontend/static/surveys/items/117/q.mp3 differ diff --git a/frontend/static/surveys/items/118/1.jpeg b/frontend/static/surveys/items/118/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d67c9a9aee71471dbc4233706050d1711e60e903 Binary files /dev/null and b/frontend/static/surveys/items/118/1.jpeg differ diff --git a/frontend/static/surveys/items/118/2.jpeg b/frontend/static/surveys/items/118/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..143f1fe4faf3ce2cbdc5959b14d24045307474f0 Binary files /dev/null and b/frontend/static/surveys/items/118/2.jpeg differ diff --git a/frontend/static/surveys/items/118/3.jpeg b/frontend/static/surveys/items/118/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c881d86f1c95f63efff73665851670861e7fddb9 Binary files /dev/null and b/frontend/static/surveys/items/118/3.jpeg differ diff --git a/frontend/static/surveys/items/118/4.jpeg b/frontend/static/surveys/items/118/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..202ca68984e1fd5c92de8ddc36fa03c5e0a07f6e Binary files /dev/null and b/frontend/static/surveys/items/118/4.jpeg differ diff --git a/frontend/static/surveys/items/118/q.mp3 b/frontend/static/surveys/items/118/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cca17c579f76dd03d207e4f9cfcd533e512c6b33 Binary files /dev/null and b/frontend/static/surveys/items/118/q.mp3 differ diff --git a/frontend/static/surveys/items/119/1.jpeg b/frontend/static/surveys/items/119/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..632e024b51a1b33f77e300189d958614ab994bec Binary files /dev/null and b/frontend/static/surveys/items/119/1.jpeg differ diff --git a/frontend/static/surveys/items/119/2.jpeg b/frontend/static/surveys/items/119/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..50d5c27a5f4ee456b11fe830c964c60d46a3d76a Binary files /dev/null and b/frontend/static/surveys/items/119/2.jpeg differ diff --git a/frontend/static/surveys/items/119/3.jpeg b/frontend/static/surveys/items/119/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a5aec636dad3599bf9fbcd235b6c74b782f9612b Binary files /dev/null and b/frontend/static/surveys/items/119/3.jpeg differ diff --git a/frontend/static/surveys/items/119/4.jpeg b/frontend/static/surveys/items/119/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..18a0346919d9e6f3cc324e7978e47ce26c029b90 Binary files /dev/null and b/frontend/static/surveys/items/119/4.jpeg differ diff --git a/frontend/static/surveys/items/119/q.mp3 b/frontend/static/surveys/items/119/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..2227a9796fa4ea043de4c1902f65996ddc3f5ad6 Binary files /dev/null and b/frontend/static/surveys/items/119/q.mp3 differ diff --git a/frontend/static/surveys/items/120/1.jpeg b/frontend/static/surveys/items/120/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5bd51b3ca731f7351fa9ece04e63040c805f0cc3 Binary files /dev/null and b/frontend/static/surveys/items/120/1.jpeg differ diff --git a/frontend/static/surveys/items/120/2.jpeg b/frontend/static/surveys/items/120/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8071268ef0655823425898b45ce7982a1b3ff09c Binary files /dev/null and b/frontend/static/surveys/items/120/2.jpeg differ diff --git a/frontend/static/surveys/items/120/3.jpeg b/frontend/static/surveys/items/120/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..57cdab768377d6f1884819fdd687bb4f72045d26 Binary files /dev/null and b/frontend/static/surveys/items/120/3.jpeg differ diff --git a/frontend/static/surveys/items/120/4.jpeg b/frontend/static/surveys/items/120/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9f23e7ec9e1789a5baa881c4395e2bd6b38eb601 Binary files /dev/null and b/frontend/static/surveys/items/120/4.jpeg differ diff --git a/frontend/static/surveys/items/120/q.mp3 b/frontend/static/surveys/items/120/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..0e184e95a0aa4d7780d1c5ecc5aa04fe26576c9b Binary files /dev/null and b/frontend/static/surveys/items/120/q.mp3 differ diff --git a/frontend/static/surveys/items/121/1.jpeg b/frontend/static/surveys/items/121/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5677e49121bfc2dc92ab54a85e5d4d42f4cd817a Binary files /dev/null and b/frontend/static/surveys/items/121/1.jpeg differ diff --git a/frontend/static/surveys/items/121/2.jpeg b/frontend/static/surveys/items/121/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..569e3144cfb074e582b657a9720fa1fdbcd15d2e Binary files /dev/null and b/frontend/static/surveys/items/121/2.jpeg differ diff --git a/frontend/static/surveys/items/121/3.jpeg b/frontend/static/surveys/items/121/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3565d872048ff8a55f316346510e4fd86b55dd23 Binary files /dev/null and b/frontend/static/surveys/items/121/3.jpeg differ diff --git a/frontend/static/surveys/items/121/4.jpeg b/frontend/static/surveys/items/121/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3583e73f18673ad47399c608761be6e08196f6eb Binary files /dev/null and b/frontend/static/surveys/items/121/4.jpeg differ diff --git a/frontend/static/surveys/items/121/q.mp3 b/frontend/static/surveys/items/121/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b649ef346f7beac683dcf7526a2041deb5bc5c67 Binary files /dev/null and b/frontend/static/surveys/items/121/q.mp3 differ diff --git a/frontend/static/surveys/items/122/1.jpeg b/frontend/static/surveys/items/122/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..95e216b6329227f7c5a1fd4afeafdbef2a6baa12 Binary files /dev/null and b/frontend/static/surveys/items/122/1.jpeg differ diff --git a/frontend/static/surveys/items/122/2.jpeg b/frontend/static/surveys/items/122/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..83a9c225644b5ba6a4fd6f1e77667d98356b995f Binary files /dev/null and b/frontend/static/surveys/items/122/2.jpeg differ diff --git a/frontend/static/surveys/items/122/3.jpeg b/frontend/static/surveys/items/122/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3e0e71aa23c241e4b7f4e397afcf598def1e8cda Binary files /dev/null and b/frontend/static/surveys/items/122/3.jpeg differ diff --git a/frontend/static/surveys/items/122/4.jpeg b/frontend/static/surveys/items/122/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e0c489a8e593c866ca0abf46b5973260b1134f9d Binary files /dev/null and b/frontend/static/surveys/items/122/4.jpeg differ diff --git a/frontend/static/surveys/items/122/q.mp3 b/frontend/static/surveys/items/122/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7481b7d1614c1ff7a33da51b289b5422dee154e3 Binary files /dev/null and b/frontend/static/surveys/items/122/q.mp3 differ diff --git a/frontend/static/surveys/items/123/1.jpeg b/frontend/static/surveys/items/123/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..929ee5eb472c3d6f14ede14224d5b3412297abb7 Binary files /dev/null and b/frontend/static/surveys/items/123/1.jpeg differ diff --git a/frontend/static/surveys/items/123/2.jpeg b/frontend/static/surveys/items/123/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b91baf517f1f899f6a0199dd866ec66c211384f5 Binary files /dev/null and b/frontend/static/surveys/items/123/2.jpeg differ diff --git a/frontend/static/surveys/items/123/3.jpeg b/frontend/static/surveys/items/123/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fc9ed488ff7c283c9fc54a891e214cc12fe60f77 Binary files /dev/null and b/frontend/static/surveys/items/123/3.jpeg differ diff --git a/frontend/static/surveys/items/123/4.jpeg b/frontend/static/surveys/items/123/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fc88957acf42d5ba55b130bda0cbc0678016af67 Binary files /dev/null and b/frontend/static/surveys/items/123/4.jpeg differ diff --git a/frontend/static/surveys/items/123/q.mp3 b/frontend/static/surveys/items/123/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6a342c1b4202804768cbf04ab187318a5bcd20df Binary files /dev/null and b/frontend/static/surveys/items/123/q.mp3 differ diff --git a/frontend/static/surveys/items/124/1.jpeg b/frontend/static/surveys/items/124/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..151a62f091ca28e71a7b7d2bd403eec696f2f44d Binary files /dev/null and b/frontend/static/surveys/items/124/1.jpeg differ diff --git a/frontend/static/surveys/items/124/2.jpeg b/frontend/static/surveys/items/124/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..06a16388c3d67d03ec8fc94815e87cdb33c7162b Binary files /dev/null and b/frontend/static/surveys/items/124/2.jpeg differ diff --git a/frontend/static/surveys/items/124/3.jpeg b/frontend/static/surveys/items/124/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c4cfa7b2f5d0e3fb5ca1afd12b386c5c1443c732 Binary files /dev/null and b/frontend/static/surveys/items/124/3.jpeg differ diff --git a/frontend/static/surveys/items/124/4.jpeg b/frontend/static/surveys/items/124/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c870f6bbf85ce9aab291da0d94a01f4027bfd74d Binary files /dev/null and b/frontend/static/surveys/items/124/4.jpeg differ diff --git a/frontend/static/surveys/items/124/q.mp3 b/frontend/static/surveys/items/124/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9d03f07d16e3e1641db007f7e26f4c65e700c135 Binary files /dev/null and b/frontend/static/surveys/items/124/q.mp3 differ diff --git a/frontend/static/surveys/items/125/1.jpeg b/frontend/static/surveys/items/125/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..898a3acceb108725441f5eb1c23bfba23d9b9a9f Binary files /dev/null and b/frontend/static/surveys/items/125/1.jpeg differ diff --git a/frontend/static/surveys/items/125/2.jpeg b/frontend/static/surveys/items/125/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ce0c14b41e47a44e3a81fb1c77ef90447ddc2654 Binary files /dev/null and b/frontend/static/surveys/items/125/2.jpeg differ diff --git a/frontend/static/surveys/items/125/3.jpeg b/frontend/static/surveys/items/125/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..70a4b57acfbbd22651b7ab108bc58c96139a2e17 Binary files /dev/null and b/frontend/static/surveys/items/125/3.jpeg differ diff --git a/frontend/static/surveys/items/125/4.jpeg b/frontend/static/surveys/items/125/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..06b5e6e377d2f2716ca9dfdafe998404721d2433 Binary files /dev/null and b/frontend/static/surveys/items/125/4.jpeg differ diff --git a/frontend/static/surveys/items/125/q.mp3 b/frontend/static/surveys/items/125/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d89ea68377ebd793c765cbe40f1fb8810c6a1ed4 Binary files /dev/null and b/frontend/static/surveys/items/125/q.mp3 differ diff --git a/frontend/static/surveys/items/126/1.jpeg b/frontend/static/surveys/items/126/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ecf6ec2f0303cfe2a8b67ab766e1986507ee093f Binary files /dev/null and b/frontend/static/surveys/items/126/1.jpeg differ diff --git a/frontend/static/surveys/items/126/2.jpeg b/frontend/static/surveys/items/126/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8195adf8cc90754a49155bcb2f550f8ba7a81011 Binary files /dev/null and b/frontend/static/surveys/items/126/2.jpeg differ diff --git a/frontend/static/surveys/items/126/3.jpeg b/frontend/static/surveys/items/126/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a1d2408d428cacecd49f9366484a5cea46b69b96 Binary files /dev/null and b/frontend/static/surveys/items/126/3.jpeg differ diff --git a/frontend/static/surveys/items/126/4.jpeg b/frontend/static/surveys/items/126/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a0731ed7bb77f621d99f48dc0f931aaa6d091ccd Binary files /dev/null and b/frontend/static/surveys/items/126/4.jpeg differ diff --git a/frontend/static/surveys/items/126/q.mp3 b/frontend/static/surveys/items/126/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..693d2b9e53cea01d0421e51a22de9f2f6813f194 Binary files /dev/null and b/frontend/static/surveys/items/126/q.mp3 differ diff --git a/frontend/static/surveys/items/127/1.jpeg b/frontend/static/surveys/items/127/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..747bb9a4d5f8bf548c1f87bdacad90c919e3310e Binary files /dev/null and b/frontend/static/surveys/items/127/1.jpeg differ diff --git a/frontend/static/surveys/items/127/2.jpeg b/frontend/static/surveys/items/127/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..aced01dbd05576198cfda65007ef74b409b899ef Binary files /dev/null and b/frontend/static/surveys/items/127/2.jpeg differ diff --git a/frontend/static/surveys/items/127/3.jpeg b/frontend/static/surveys/items/127/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0ef07346906375ee5766e173b8689d5f8dfe0416 Binary files /dev/null and b/frontend/static/surveys/items/127/3.jpeg differ diff --git a/frontend/static/surveys/items/127/4.jpeg b/frontend/static/surveys/items/127/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2cadb01e676d7a11fe55252eb2dc5b48b0bb73fb Binary files /dev/null and b/frontend/static/surveys/items/127/4.jpeg differ diff --git a/frontend/static/surveys/items/127/q.mp3 b/frontend/static/surveys/items/127/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c08d479aed59358c32fec04dec97686ca7a58c21 Binary files /dev/null and b/frontend/static/surveys/items/127/q.mp3 differ diff --git a/frontend/static/surveys/items/128/1.jpeg b/frontend/static/surveys/items/128/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2de271feae8cc4759de9a557f04cb9cf115199f0 Binary files /dev/null and b/frontend/static/surveys/items/128/1.jpeg differ diff --git a/frontend/static/surveys/items/128/2.jpeg b/frontend/static/surveys/items/128/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dc76f850b0aa4fc1f17a8fd3d7666a0538ef96e6 Binary files /dev/null and b/frontend/static/surveys/items/128/2.jpeg differ diff --git a/frontend/static/surveys/items/128/3.jpeg b/frontend/static/surveys/items/128/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..80bf2e7b4503f33cae4d72259d7d6f0c6f172c90 Binary files /dev/null and b/frontend/static/surveys/items/128/3.jpeg differ diff --git a/frontend/static/surveys/items/128/4.jpeg b/frontend/static/surveys/items/128/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4c5a37c74a7c379c6dfcfcef6b4ed923db037a24 Binary files /dev/null and b/frontend/static/surveys/items/128/4.jpeg differ diff --git a/frontend/static/surveys/items/128/q.mp3 b/frontend/static/surveys/items/128/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1c2debde28df690287e2854aec83ca22352bcb1b Binary files /dev/null and b/frontend/static/surveys/items/128/q.mp3 differ diff --git a/frontend/static/surveys/items/129/1.jpeg b/frontend/static/surveys/items/129/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3a7cadf032ecb475d5b6a427775091cc4d387a45 Binary files /dev/null and b/frontend/static/surveys/items/129/1.jpeg differ diff --git a/frontend/static/surveys/items/129/2.jpeg b/frontend/static/surveys/items/129/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a46fa56eccb4ed0995967dc4081d835a06a72f51 Binary files /dev/null and b/frontend/static/surveys/items/129/2.jpeg differ diff --git a/frontend/static/surveys/items/129/3.jpeg b/frontend/static/surveys/items/129/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ae4e0440faeb3c1fbd88e85e537497a3b2e81c00 Binary files /dev/null and b/frontend/static/surveys/items/129/3.jpeg differ diff --git a/frontend/static/surveys/items/129/4.jpeg b/frontend/static/surveys/items/129/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9168be3f4a8c0f1be68916fa894dd9d1641e47a9 Binary files /dev/null and b/frontend/static/surveys/items/129/4.jpeg differ diff --git a/frontend/static/surveys/items/129/q.mp3 b/frontend/static/surveys/items/129/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..56e8ed9c10fc5c4d69e5418ced2ebb51cf8c1863 Binary files /dev/null and b/frontend/static/surveys/items/129/q.mp3 differ diff --git a/frontend/static/surveys/items/130/1.jpeg b/frontend/static/surveys/items/130/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6ce259e5a23abe234e53ea4bbfd8323c4ce9a1cd Binary files /dev/null and b/frontend/static/surveys/items/130/1.jpeg differ diff --git a/frontend/static/surveys/items/130/2.jpeg b/frontend/static/surveys/items/130/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8826f80c93d35d90551dd7059ddd06f33ce9b052 Binary files /dev/null and b/frontend/static/surveys/items/130/2.jpeg differ diff --git a/frontend/static/surveys/items/130/3.jpeg b/frontend/static/surveys/items/130/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f41730030dc3622880a7fa92781b51bcf90b3756 Binary files /dev/null and b/frontend/static/surveys/items/130/3.jpeg differ diff --git a/frontend/static/surveys/items/130/4.jpeg b/frontend/static/surveys/items/130/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..96cc5e01741aecfb601c464cf4778e0702db9510 Binary files /dev/null and b/frontend/static/surveys/items/130/4.jpeg differ diff --git a/frontend/static/surveys/items/130/q.mp3 b/frontend/static/surveys/items/130/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..929f002523d05a2d3b14961d56ca894cf8c2c9fb Binary files /dev/null and b/frontend/static/surveys/items/130/q.mp3 differ diff --git a/frontend/static/surveys/items/131/1.jpeg b/frontend/static/surveys/items/131/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5ff76533b4bfb2d770a48e532e56e36f683c3e92 Binary files /dev/null and b/frontend/static/surveys/items/131/1.jpeg differ diff --git a/frontend/static/surveys/items/131/2.jpeg b/frontend/static/surveys/items/131/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3cd392443718b1607e8013c5026c47fccc044055 Binary files /dev/null and b/frontend/static/surveys/items/131/2.jpeg differ diff --git a/frontend/static/surveys/items/131/3.jpeg b/frontend/static/surveys/items/131/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1f62e91acf6b7bf03116ab2e3f83c0d855418bc6 Binary files /dev/null and b/frontend/static/surveys/items/131/3.jpeg differ diff --git a/frontend/static/surveys/items/131/4.jpeg b/frontend/static/surveys/items/131/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4c14c3a01f430386c6ca2d5192c6bb54f9b0cecb Binary files /dev/null and b/frontend/static/surveys/items/131/4.jpeg differ diff --git a/frontend/static/surveys/items/131/q.mp3 b/frontend/static/surveys/items/131/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..dde379c49a0e4ba32cfdabc41419611e2186dd24 Binary files /dev/null and b/frontend/static/surveys/items/131/q.mp3 differ diff --git a/frontend/static/surveys/items/132/1.jpeg b/frontend/static/surveys/items/132/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..189c26363bec6b74693fb2720a57198141254b7e Binary files /dev/null and b/frontend/static/surveys/items/132/1.jpeg differ diff --git a/frontend/static/surveys/items/132/2.jpeg b/frontend/static/surveys/items/132/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1f0391628a01d5266ee11e4db7245d8ea5173275 Binary files /dev/null and b/frontend/static/surveys/items/132/2.jpeg differ diff --git a/frontend/static/surveys/items/132/3.jpeg b/frontend/static/surveys/items/132/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9cb9bfba1ed4e0e3c5aaa0bf6864dbc45d8f8066 Binary files /dev/null and b/frontend/static/surveys/items/132/3.jpeg differ diff --git a/frontend/static/surveys/items/132/4.jpeg b/frontend/static/surveys/items/132/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..aef0634699ca8755ca9575420031b82eac1036de Binary files /dev/null and b/frontend/static/surveys/items/132/4.jpeg differ diff --git a/frontend/static/surveys/items/132/q.mp3 b/frontend/static/surveys/items/132/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b992a5a348e064dcb9b6c9ae9d86b7ae52b918e6 Binary files /dev/null and b/frontend/static/surveys/items/132/q.mp3 differ diff --git a/frontend/static/surveys/items/133/1.jpeg b/frontend/static/surveys/items/133/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..da164add33679e1b59c3b0be3e697874a49d9136 Binary files /dev/null and b/frontend/static/surveys/items/133/1.jpeg differ diff --git a/frontend/static/surveys/items/133/2.jpeg b/frontend/static/surveys/items/133/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bb62198f657394ed3815b6cdb6322801c62daa6c Binary files /dev/null and b/frontend/static/surveys/items/133/2.jpeg differ diff --git a/frontend/static/surveys/items/133/3.jpeg b/frontend/static/surveys/items/133/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..299deb8b7944d8e690e1e9ce85af2572025b1fec Binary files /dev/null and b/frontend/static/surveys/items/133/3.jpeg differ diff --git a/frontend/static/surveys/items/133/4.jpeg b/frontend/static/surveys/items/133/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..48c561c61acf87a5f770fe2adfe923cf40953159 Binary files /dev/null and b/frontend/static/surveys/items/133/4.jpeg differ diff --git a/frontend/static/surveys/items/133/q.mp3 b/frontend/static/surveys/items/133/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..345643af48c7215d50bf727351708a97906b8616 Binary files /dev/null and b/frontend/static/surveys/items/133/q.mp3 differ diff --git a/frontend/static/surveys/items/134/1.jpeg b/frontend/static/surveys/items/134/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f8de2f1fa43da4ea7e0e34effeadcd44080b0311 Binary files /dev/null and b/frontend/static/surveys/items/134/1.jpeg differ diff --git a/frontend/static/surveys/items/134/2.jpeg b/frontend/static/surveys/items/134/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cacd2ce2b24d9357e5c6ac46a36b1be102e96412 Binary files /dev/null and b/frontend/static/surveys/items/134/2.jpeg differ diff --git a/frontend/static/surveys/items/134/3.jpeg b/frontend/static/surveys/items/134/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b9bd8ddcdf6635dd4ec25d6ccdcb8e3ef4c6c237 Binary files /dev/null and b/frontend/static/surveys/items/134/3.jpeg differ diff --git a/frontend/static/surveys/items/134/4.jpeg b/frontend/static/surveys/items/134/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b527e24cc9c3667374747510476d358c5dfc9b4b Binary files /dev/null and b/frontend/static/surveys/items/134/4.jpeg differ diff --git a/frontend/static/surveys/items/134/q.mp3 b/frontend/static/surveys/items/134/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4f3cb9314c9eeeb5ae887aae76164c70d3641217 Binary files /dev/null and b/frontend/static/surveys/items/134/q.mp3 differ diff --git a/frontend/static/surveys/items/135/1.jpeg b/frontend/static/surveys/items/135/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5033b5bdb3b9e428980ab5e86fc5b86d7d15bfcf Binary files /dev/null and b/frontend/static/surveys/items/135/1.jpeg differ diff --git a/frontend/static/surveys/items/135/2.jpeg b/frontend/static/surveys/items/135/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1727b74d576f19903c90164b761c9ad08c281034 Binary files /dev/null and b/frontend/static/surveys/items/135/2.jpeg differ diff --git a/frontend/static/surveys/items/135/3.jpeg b/frontend/static/surveys/items/135/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1794d792d6a3170b18e38cc39c9603226b7ab7e4 Binary files /dev/null and b/frontend/static/surveys/items/135/3.jpeg differ diff --git a/frontend/static/surveys/items/135/4.jpeg b/frontend/static/surveys/items/135/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..85c890d032deb862eaf916547de4a0c6072d38b4 Binary files /dev/null and b/frontend/static/surveys/items/135/4.jpeg differ diff --git a/frontend/static/surveys/items/135/q.mp3 b/frontend/static/surveys/items/135/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..fceed2d73144a707231b140e8670c75ca4b8d0b2 Binary files /dev/null and b/frontend/static/surveys/items/135/q.mp3 differ diff --git a/frontend/static/surveys/items/136/1.jpeg b/frontend/static/surveys/items/136/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..74bcad4e4037e82f46830dbcdcc70599b38eb32f Binary files /dev/null and b/frontend/static/surveys/items/136/1.jpeg differ diff --git a/frontend/static/surveys/items/136/2.jpeg b/frontend/static/surveys/items/136/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..08dafc31979a2c833392a462f4d4888f3df0fccc Binary files /dev/null and b/frontend/static/surveys/items/136/2.jpeg differ diff --git a/frontend/static/surveys/items/136/3.jpeg b/frontend/static/surveys/items/136/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f295ac74dac40461d0da6d73f5d16942ed0a3050 Binary files /dev/null and b/frontend/static/surveys/items/136/3.jpeg differ diff --git a/frontend/static/surveys/items/136/4.jpeg b/frontend/static/surveys/items/136/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2a858e08ed3c81346bf037bd4a05b069cd8271a0 Binary files /dev/null and b/frontend/static/surveys/items/136/4.jpeg differ diff --git a/frontend/static/surveys/items/136/q.mp3 b/frontend/static/surveys/items/136/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5a7b0eca0540205a40dae17aae8a589cb77dcba5 Binary files /dev/null and b/frontend/static/surveys/items/136/q.mp3 differ diff --git a/frontend/static/surveys/items/137/1.jpeg b/frontend/static/surveys/items/137/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..16638564016410962a884d334078413ac5439146 Binary files /dev/null and b/frontend/static/surveys/items/137/1.jpeg differ diff --git a/frontend/static/surveys/items/137/2.jpeg b/frontend/static/surveys/items/137/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3178737b0f6ec64fa1a729d274584f3307d1b6ed Binary files /dev/null and b/frontend/static/surveys/items/137/2.jpeg differ diff --git a/frontend/static/surveys/items/137/3.jpeg b/frontend/static/surveys/items/137/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9bad3d2674cfa5f7982323378d435a20038c420b Binary files /dev/null and b/frontend/static/surveys/items/137/3.jpeg differ diff --git a/frontend/static/surveys/items/137/4.jpeg b/frontend/static/surveys/items/137/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ca7002005d59d340bb006e7afae82d5182798bb9 Binary files /dev/null and b/frontend/static/surveys/items/137/4.jpeg differ diff --git a/frontend/static/surveys/items/137/q.mp3 b/frontend/static/surveys/items/137/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c4ab8782b0c1eff5c401c0212ea7202e819a4695 Binary files /dev/null and b/frontend/static/surveys/items/137/q.mp3 differ diff --git a/frontend/static/surveys/items/138/1.jpeg b/frontend/static/surveys/items/138/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dc39039d167463fe016dc7646a8d49ae718baeb0 Binary files /dev/null and b/frontend/static/surveys/items/138/1.jpeg differ diff --git a/frontend/static/surveys/items/138/2.jpeg b/frontend/static/surveys/items/138/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ec3d7d47938c55aae5f629718344bfc67c672ce6 Binary files /dev/null and b/frontend/static/surveys/items/138/2.jpeg differ diff --git a/frontend/static/surveys/items/138/3.jpeg b/frontend/static/surveys/items/138/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7bfd48f869cf7e1b44a3a60580a310c79dc97942 Binary files /dev/null and b/frontend/static/surveys/items/138/3.jpeg differ diff --git a/frontend/static/surveys/items/138/4.jpeg b/frontend/static/surveys/items/138/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..da041d252365ad314bf9f94c0713d8514d3107b1 Binary files /dev/null and b/frontend/static/surveys/items/138/4.jpeg differ diff --git a/frontend/static/surveys/items/138/q.mp3 b/frontend/static/surveys/items/138/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cdb4c8a07e45aef22be747eab3dc0d46c8f0e589 Binary files /dev/null and b/frontend/static/surveys/items/138/q.mp3 differ diff --git a/frontend/static/surveys/items/139/1.jpeg b/frontend/static/surveys/items/139/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..453252ff51540fbb95d2b244b286313fbf9188e2 Binary files /dev/null and b/frontend/static/surveys/items/139/1.jpeg differ diff --git a/frontend/static/surveys/items/139/2.jpeg b/frontend/static/surveys/items/139/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fa5c9cd945e08387b233f3aa80ec2b3a9d68deed Binary files /dev/null and b/frontend/static/surveys/items/139/2.jpeg differ diff --git a/frontend/static/surveys/items/139/3.jpeg b/frontend/static/surveys/items/139/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5033b5bdb3b9e428980ab5e86fc5b86d7d15bfcf Binary files /dev/null and b/frontend/static/surveys/items/139/3.jpeg differ diff --git a/frontend/static/surveys/items/139/4.jpeg b/frontend/static/surveys/items/139/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b15c35e6710d4427a939723d63f3c3eacd99307f Binary files /dev/null and b/frontend/static/surveys/items/139/4.jpeg differ diff --git a/frontend/static/surveys/items/139/q.mp3 b/frontend/static/surveys/items/139/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..830eac24445ea3a915c0d8d027f1c4e224899973 Binary files /dev/null and b/frontend/static/surveys/items/139/q.mp3 differ diff --git a/frontend/static/surveys/items/140/1.jpeg b/frontend/static/surveys/items/140/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..50d90767fe8bb2004db4cd92db1d8513a9f29337 Binary files /dev/null and b/frontend/static/surveys/items/140/1.jpeg differ diff --git a/frontend/static/surveys/items/140/2.jpeg b/frontend/static/surveys/items/140/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6c1bf56c195bd2e3c3b8a0617dcff06f7a6a5df3 Binary files /dev/null and b/frontend/static/surveys/items/140/2.jpeg differ diff --git a/frontend/static/surveys/items/140/3.jpeg b/frontend/static/surveys/items/140/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6d76557ac526a8d369480d241f0f95d263a79a13 Binary files /dev/null and b/frontend/static/surveys/items/140/3.jpeg differ diff --git a/frontend/static/surveys/items/140/4.jpeg b/frontend/static/surveys/items/140/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..beb218f95a8ba9aac121e0c1db50a30d34742f43 Binary files /dev/null and b/frontend/static/surveys/items/140/4.jpeg differ diff --git a/frontend/static/surveys/items/140/q.mp3 b/frontend/static/surveys/items/140/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..372b049de1f37d96717d3bdd42573b35ab4f8e93 Binary files /dev/null and b/frontend/static/surveys/items/140/q.mp3 differ diff --git a/frontend/static/surveys/items/141/1.jpeg b/frontend/static/surveys/items/141/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7c44bc89d02015b34badccdac082ce1c21245fde Binary files /dev/null and b/frontend/static/surveys/items/141/1.jpeg differ diff --git a/frontend/static/surveys/items/141/2.jpeg b/frontend/static/surveys/items/141/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..30a2e50e748731f05c6ac9f73b8e2d9858912d74 Binary files /dev/null and b/frontend/static/surveys/items/141/2.jpeg differ diff --git a/frontend/static/surveys/items/141/3.jpeg b/frontend/static/surveys/items/141/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..889bcb6e4973b87029047427f2382fddbd6273b0 Binary files /dev/null and b/frontend/static/surveys/items/141/3.jpeg differ diff --git a/frontend/static/surveys/items/141/4.jpeg b/frontend/static/surveys/items/141/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ff3b1bd6432549d16233e7e0da36ec5b67cc8e28 Binary files /dev/null and b/frontend/static/surveys/items/141/4.jpeg differ diff --git a/frontend/static/surveys/items/141/q.mp3 b/frontend/static/surveys/items/141/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6712599f2464bf54d94ee181d5b602dbece3383c Binary files /dev/null and b/frontend/static/surveys/items/141/q.mp3 differ diff --git a/frontend/static/surveys/items/142/1.jpeg b/frontend/static/surveys/items/142/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2d584f0b145061dfe78a91b3c5788a3caea5e52e Binary files /dev/null and b/frontend/static/surveys/items/142/1.jpeg differ diff --git a/frontend/static/surveys/items/142/2.jpeg b/frontend/static/surveys/items/142/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9f0737ab214a0259532f4254facaae06779f36bc Binary files /dev/null and b/frontend/static/surveys/items/142/2.jpeg differ diff --git a/frontend/static/surveys/items/142/3.jpeg b/frontend/static/surveys/items/142/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..129e622f146904a8ea05ea02eadce01e13b5b2fa Binary files /dev/null and b/frontend/static/surveys/items/142/3.jpeg differ diff --git a/frontend/static/surveys/items/142/4.jpeg b/frontend/static/surveys/items/142/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a8b24921dca1f4974637fc0b9b8ee3a6a9db37cd Binary files /dev/null and b/frontend/static/surveys/items/142/4.jpeg differ diff --git a/frontend/static/surveys/items/142/q.mp3 b/frontend/static/surveys/items/142/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..df198fe87d2a38e3976513447e86f5617d797038 Binary files /dev/null and b/frontend/static/surveys/items/142/q.mp3 differ diff --git a/frontend/static/surveys/items/143/1.jpeg b/frontend/static/surveys/items/143/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1cea2b7775a3365e622e5667971d161c67639d1f Binary files /dev/null and b/frontend/static/surveys/items/143/1.jpeg differ diff --git a/frontend/static/surveys/items/143/2.jpeg b/frontend/static/surveys/items/143/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3b59103793ccc7ce2ff3e128a6d83d649e780b7c Binary files /dev/null and b/frontend/static/surveys/items/143/2.jpeg differ diff --git a/frontend/static/surveys/items/143/3.jpeg b/frontend/static/surveys/items/143/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0b2f2628d9bc9b3f35628d98550d90ea2e7d5973 Binary files /dev/null and b/frontend/static/surveys/items/143/3.jpeg differ diff --git a/frontend/static/surveys/items/143/4.jpeg b/frontend/static/surveys/items/143/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0ad194d96015dbd2ef28788aec501fb27c1d66e9 Binary files /dev/null and b/frontend/static/surveys/items/143/4.jpeg differ diff --git a/frontend/static/surveys/items/143/q.mp3 b/frontend/static/surveys/items/143/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d553741d1d32957eae6ce6650c551ec0e12157b8 Binary files /dev/null and b/frontend/static/surveys/items/143/q.mp3 differ diff --git a/frontend/static/surveys/items/144/1.jpeg b/frontend/static/surveys/items/144/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f1a49d0c2aa251e2bb68df2cc9987f2ccaa9efad Binary files /dev/null and b/frontend/static/surveys/items/144/1.jpeg differ diff --git a/frontend/static/surveys/items/144/2.jpeg b/frontend/static/surveys/items/144/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8687b8e6e94f4ad7f58e6c53d944a7e2b6a22f72 Binary files /dev/null and b/frontend/static/surveys/items/144/2.jpeg differ diff --git a/frontend/static/surveys/items/144/3.jpeg b/frontend/static/surveys/items/144/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3857ce8d270c5bd601d115837291a971b0d88fba Binary files /dev/null and b/frontend/static/surveys/items/144/3.jpeg differ diff --git a/frontend/static/surveys/items/144/4.jpeg b/frontend/static/surveys/items/144/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..03da3aefeeaa236c30535759905aed560dceed61 Binary files /dev/null and b/frontend/static/surveys/items/144/4.jpeg differ diff --git a/frontend/static/surveys/items/144/q.mp3 b/frontend/static/surveys/items/144/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a9c8b27d2bfbcdbbfd787cb0a0749f8e81d6c3c2 Binary files /dev/null and b/frontend/static/surveys/items/144/q.mp3 differ diff --git a/frontend/static/surveys/items/145/1.jpeg b/frontend/static/surveys/items/145/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..354ffe0dad9c541d3242ca13e5833e41ceb7eef7 Binary files /dev/null and b/frontend/static/surveys/items/145/1.jpeg differ diff --git a/frontend/static/surveys/items/145/2.jpeg b/frontend/static/surveys/items/145/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8d8825f94dfc0804f419e37a039e9f0b9b0d1865 Binary files /dev/null and b/frontend/static/surveys/items/145/2.jpeg differ diff --git a/frontend/static/surveys/items/145/3.jpeg b/frontend/static/surveys/items/145/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8263a1d2b28199a30c5c8561303b1e3dfc1d467a Binary files /dev/null and b/frontend/static/surveys/items/145/3.jpeg differ diff --git a/frontend/static/surveys/items/145/4.jpeg b/frontend/static/surveys/items/145/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d52a5334efaa2bdaac781c626f0dace00c11934d Binary files /dev/null and b/frontend/static/surveys/items/145/4.jpeg differ diff --git a/frontend/static/surveys/items/145/q.mp3 b/frontend/static/surveys/items/145/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..cba9f8abbdfdc51adb9930ed7bc3cb6048cae729 Binary files /dev/null and b/frontend/static/surveys/items/145/q.mp3 differ diff --git a/frontend/static/surveys/items/146/1.jpeg b/frontend/static/surveys/items/146/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..774bb1d223309ca762d0b4571e861fbfa8a27472 Binary files /dev/null and b/frontend/static/surveys/items/146/1.jpeg differ diff --git a/frontend/static/surveys/items/146/2.jpeg b/frontend/static/surveys/items/146/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..aaacdf6527787bcf250787a26de97e45129abfa8 Binary files /dev/null and b/frontend/static/surveys/items/146/2.jpeg differ diff --git a/frontend/static/surveys/items/146/3.jpeg b/frontend/static/surveys/items/146/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fb9208ef7c6f0d768dcfc6d46b0752bcfc353b94 Binary files /dev/null and b/frontend/static/surveys/items/146/3.jpeg differ diff --git a/frontend/static/surveys/items/146/4.jpeg b/frontend/static/surveys/items/146/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1ffb0e99da0e9fd1c67c353b8b7ccdf19c6c5926 Binary files /dev/null and b/frontend/static/surveys/items/146/4.jpeg differ diff --git a/frontend/static/surveys/items/146/q.mp3 b/frontend/static/surveys/items/146/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..71c27a6368dd9d1277d0f1a7029f8709f20bdfa5 Binary files /dev/null and b/frontend/static/surveys/items/146/q.mp3 differ diff --git a/frontend/static/surveys/items/147/1.jpeg b/frontend/static/surveys/items/147/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..703a077505b076ed9329b6bfd3c8dd2ae6690ad2 Binary files /dev/null and b/frontend/static/surveys/items/147/1.jpeg differ diff --git a/frontend/static/surveys/items/147/2.jpeg b/frontend/static/surveys/items/147/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1d8aa63b030fd145dedb729abd0de0fcd42b00d1 Binary files /dev/null and b/frontend/static/surveys/items/147/2.jpeg differ diff --git a/frontend/static/surveys/items/147/3.jpeg b/frontend/static/surveys/items/147/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d69abe5c9e6ebf673c684e70a1da936773f98f35 Binary files /dev/null and b/frontend/static/surveys/items/147/3.jpeg differ diff --git a/frontend/static/surveys/items/147/4.jpeg b/frontend/static/surveys/items/147/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ea02f4a963004bac2e6cbb29c1f83541512e6c09 Binary files /dev/null and b/frontend/static/surveys/items/147/4.jpeg differ diff --git a/frontend/static/surveys/items/147/q.mp3 b/frontend/static/surveys/items/147/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..3e956c940c9e7632c749bf6021f9554305ed8e3a Binary files /dev/null and b/frontend/static/surveys/items/147/q.mp3 differ diff --git a/frontend/static/surveys/items/148/1.jpeg b/frontend/static/surveys/items/148/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..de9c516e6dfb5b263d70cab961722d4f2b100c25 Binary files /dev/null and b/frontend/static/surveys/items/148/1.jpeg differ diff --git a/frontend/static/surveys/items/148/2.jpeg b/frontend/static/surveys/items/148/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..62780367be9537bd38d114cdf074c7e78f891c39 Binary files /dev/null and b/frontend/static/surveys/items/148/2.jpeg differ diff --git a/frontend/static/surveys/items/148/3.jpeg b/frontend/static/surveys/items/148/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bb3968cb972d5e3703c5b896ddec0c1761dcc714 Binary files /dev/null and b/frontend/static/surveys/items/148/3.jpeg differ diff --git a/frontend/static/surveys/items/148/4.jpeg b/frontend/static/surveys/items/148/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5ab553ad199d42a8a714c4b5b38b93396f7c6627 Binary files /dev/null and b/frontend/static/surveys/items/148/4.jpeg differ diff --git a/frontend/static/surveys/items/148/q.mp3 b/frontend/static/surveys/items/148/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e00c1f9bd2cc06b54921f668779be96faf029bc6 Binary files /dev/null and b/frontend/static/surveys/items/148/q.mp3 differ diff --git a/frontend/static/surveys/items/149/1.jpeg b/frontend/static/surveys/items/149/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fe60186880a008e3f0176c76eb16e587e574e313 Binary files /dev/null and b/frontend/static/surveys/items/149/1.jpeg differ diff --git a/frontend/static/surveys/items/149/2.jpeg b/frontend/static/surveys/items/149/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..82110da7f7d32b5f5d41bc57dad2bf62597f0b3f Binary files /dev/null and b/frontend/static/surveys/items/149/2.jpeg differ diff --git a/frontend/static/surveys/items/149/3.jpeg b/frontend/static/surveys/items/149/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..854a3a08e7df7294ba76e1673a102fb6daf8f599 Binary files /dev/null and b/frontend/static/surveys/items/149/3.jpeg differ diff --git a/frontend/static/surveys/items/149/4.jpeg b/frontend/static/surveys/items/149/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bea645ca48adb7093f7551202acdde5600c6bec4 Binary files /dev/null and b/frontend/static/surveys/items/149/4.jpeg differ diff --git a/frontend/static/surveys/items/149/q.mp3 b/frontend/static/surveys/items/149/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c37041a47a5897f192c0f988d298629c721c746e Binary files /dev/null and b/frontend/static/surveys/items/149/q.mp3 differ diff --git a/frontend/static/surveys/items/150/1.jpeg b/frontend/static/surveys/items/150/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..353196dc9a529df17eca40f91c4c4f787c4db92c Binary files /dev/null and b/frontend/static/surveys/items/150/1.jpeg differ diff --git a/frontend/static/surveys/items/150/2.jpeg b/frontend/static/surveys/items/150/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..64a5eb6efc041b8af91b951006c59697c1adc80c Binary files /dev/null and b/frontend/static/surveys/items/150/2.jpeg differ diff --git a/frontend/static/surveys/items/150/3.jpeg b/frontend/static/surveys/items/150/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3df8b241ef5f53151adb54695b46d5c09fb26085 Binary files /dev/null and b/frontend/static/surveys/items/150/3.jpeg differ diff --git a/frontend/static/surveys/items/150/4.jpeg b/frontend/static/surveys/items/150/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2ba1866ec7f4273188bd0ec52a60c4a4addebab8 Binary files /dev/null and b/frontend/static/surveys/items/150/4.jpeg differ diff --git a/frontend/static/surveys/items/150/q.mp3 b/frontend/static/surveys/items/150/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d6c631403a4e3b6ce26ffd0b1958a8d610025aa8 Binary files /dev/null and b/frontend/static/surveys/items/150/q.mp3 differ diff --git a/frontend/static/surveys/items/151/1.jpeg b/frontend/static/surveys/items/151/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..048b5aad1d4f042684c2a8ef935784378e42dbce Binary files /dev/null and b/frontend/static/surveys/items/151/1.jpeg differ diff --git a/frontend/static/surveys/items/151/2.jpeg b/frontend/static/surveys/items/151/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bc7ee6df38a4d698dee08cdd26b9e9e7bb2bb2d6 Binary files /dev/null and b/frontend/static/surveys/items/151/2.jpeg differ diff --git a/frontend/static/surveys/items/151/3.jpeg b/frontend/static/surveys/items/151/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..881240209e1473a2ce1f82244fe6375e69683e9b Binary files /dev/null and b/frontend/static/surveys/items/151/3.jpeg differ diff --git a/frontend/static/surveys/items/151/4.jpeg b/frontend/static/surveys/items/151/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a7c9f33b8e1a6a40d7e95c420b5eccb53952e9af Binary files /dev/null and b/frontend/static/surveys/items/151/4.jpeg differ diff --git a/frontend/static/surveys/items/151/q.mp3 b/frontend/static/surveys/items/151/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7b3a15dd6c6cdb837e0365018ebb37cf6c11fc55 Binary files /dev/null and b/frontend/static/surveys/items/151/q.mp3 differ diff --git a/frontend/static/surveys/items/152/1.jpeg b/frontend/static/surveys/items/152/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c9164d9b1f592ab044b75dc6773dc8e75b5dc0eb Binary files /dev/null and b/frontend/static/surveys/items/152/1.jpeg differ diff --git a/frontend/static/surveys/items/152/2.jpeg b/frontend/static/surveys/items/152/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..44766a6f93f3a8dc76d6577bee2c28cb067b00e3 Binary files /dev/null and b/frontend/static/surveys/items/152/2.jpeg differ diff --git a/frontend/static/surveys/items/152/3.jpeg b/frontend/static/surveys/items/152/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8a1f87830ec7e875c5d5c77376dc64d05e15511d Binary files /dev/null and b/frontend/static/surveys/items/152/3.jpeg differ diff --git a/frontend/static/surveys/items/152/4.jpeg b/frontend/static/surveys/items/152/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7f656c9aadd67a67c1dd3e02e181c8a86b1215e6 Binary files /dev/null and b/frontend/static/surveys/items/152/4.jpeg differ diff --git a/frontend/static/surveys/items/152/q.mp3 b/frontend/static/surveys/items/152/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..29f6fc8bf53219a621ce20490970c273c938602d Binary files /dev/null and b/frontend/static/surveys/items/152/q.mp3 differ diff --git a/frontend/static/surveys/items/153/1.jpeg b/frontend/static/surveys/items/153/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..55bb614e8de7a9c1deecf733bfeb075c5ee00b58 Binary files /dev/null and b/frontend/static/surveys/items/153/1.jpeg differ diff --git a/frontend/static/surveys/items/153/2.jpeg b/frontend/static/surveys/items/153/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3b933d0f8951b9d186600c1ed3f883d7ed049a77 Binary files /dev/null and b/frontend/static/surveys/items/153/2.jpeg differ diff --git a/frontend/static/surveys/items/153/3.jpeg b/frontend/static/surveys/items/153/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..157d64f3f78e97d22c872e2b8eed1ca8f91aa725 Binary files /dev/null and b/frontend/static/surveys/items/153/3.jpeg differ diff --git a/frontend/static/surveys/items/153/4.jpeg b/frontend/static/surveys/items/153/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bb1cfad0134541a04f2a908a392b41a87e16c73b Binary files /dev/null and b/frontend/static/surveys/items/153/4.jpeg differ diff --git a/frontend/static/surveys/items/153/q.mp3 b/frontend/static/surveys/items/153/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9bab8fc2f489b048c832125b20ff7c027fd7b8a7 Binary files /dev/null and b/frontend/static/surveys/items/153/q.mp3 differ diff --git a/frontend/static/surveys/items/154/1.jpeg b/frontend/static/surveys/items/154/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..99ad6a315eb02e830a6570a8b4b24cde8c6bd57a Binary files /dev/null and b/frontend/static/surveys/items/154/1.jpeg differ diff --git a/frontend/static/surveys/items/154/2.jpeg b/frontend/static/surveys/items/154/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a1924e5e4449fbdedf0e9bb4674ac9217ba2dcca Binary files /dev/null and b/frontend/static/surveys/items/154/2.jpeg differ diff --git a/frontend/static/surveys/items/154/3.jpeg b/frontend/static/surveys/items/154/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e3b72c1c2211aa541453a4a01a4b0d51bcd9fa07 Binary files /dev/null and b/frontend/static/surveys/items/154/3.jpeg differ diff --git a/frontend/static/surveys/items/154/4.jpeg b/frontend/static/surveys/items/154/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2e7e0afdb73997232631e6b3297cbf1a43e50142 Binary files /dev/null and b/frontend/static/surveys/items/154/4.jpeg differ diff --git a/frontend/static/surveys/items/154/q.mp3 b/frontend/static/surveys/items/154/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..50476488c6b9ccf026448032acdacc1845ff0e1c Binary files /dev/null and b/frontend/static/surveys/items/154/q.mp3 differ diff --git a/frontend/static/surveys/items/155/1.jpeg b/frontend/static/surveys/items/155/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..83e642365d2fe376e4282b9f835143abcbdde9c5 Binary files /dev/null and b/frontend/static/surveys/items/155/1.jpeg differ diff --git a/frontend/static/surveys/items/155/2.jpeg b/frontend/static/surveys/items/155/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5110b785d198f953d13731ede981624856a699bd Binary files /dev/null and b/frontend/static/surveys/items/155/2.jpeg differ diff --git a/frontend/static/surveys/items/155/3.jpeg b/frontend/static/surveys/items/155/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2cb3b5e7bc563f6d63c5f4469b04466169872233 Binary files /dev/null and b/frontend/static/surveys/items/155/3.jpeg differ diff --git a/frontend/static/surveys/items/155/4.jpeg b/frontend/static/surveys/items/155/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9fd507905a5f053c5aa2852b568cba751eeb4ecd Binary files /dev/null and b/frontend/static/surveys/items/155/4.jpeg differ diff --git a/frontend/static/surveys/items/155/q.mp3 b/frontend/static/surveys/items/155/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..69fd54fb18837b6a2c28b9c26ec852e5a9377634 Binary files /dev/null and b/frontend/static/surveys/items/155/q.mp3 differ diff --git a/frontend/static/surveys/items/156/1.jpeg b/frontend/static/surveys/items/156/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2481bbb6c7b26ed6d96345853ef646825ead09f0 Binary files /dev/null and b/frontend/static/surveys/items/156/1.jpeg differ diff --git a/frontend/static/surveys/items/156/2.jpeg b/frontend/static/surveys/items/156/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c6885622543e98cdc531ff5590c1fdecb8f62004 Binary files /dev/null and b/frontend/static/surveys/items/156/2.jpeg differ diff --git a/frontend/static/surveys/items/156/3.jpeg b/frontend/static/surveys/items/156/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6ccb52a541bedcf1f4db7f6ede0ae0b71b41a753 Binary files /dev/null and b/frontend/static/surveys/items/156/3.jpeg differ diff --git a/frontend/static/surveys/items/156/4.jpeg b/frontend/static/surveys/items/156/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e497deaa61b31e61ebf04c2b9109c8e657f00b3e Binary files /dev/null and b/frontend/static/surveys/items/156/4.jpeg differ diff --git a/frontend/static/surveys/items/156/q.mp3 b/frontend/static/surveys/items/156/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..3a63bf564dfc65e165809d9f4489b0d27c3ccb8e Binary files /dev/null and b/frontend/static/surveys/items/156/q.mp3 differ diff --git a/frontend/static/surveys/items/157/1.jpeg b/frontend/static/surveys/items/157/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..881240209e1473a2ce1f82244fe6375e69683e9b Binary files /dev/null and b/frontend/static/surveys/items/157/1.jpeg differ diff --git a/frontend/static/surveys/items/157/2.jpeg b/frontend/static/surveys/items/157/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5360cddbb00af80aeec9884ad2adc4d29223006c Binary files /dev/null and b/frontend/static/surveys/items/157/2.jpeg differ diff --git a/frontend/static/surveys/items/157/3.jpeg b/frontend/static/surveys/items/157/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..5c052f94d124bdb479ffdd5bf1ae7c1d507b6a4e Binary files /dev/null and b/frontend/static/surveys/items/157/3.jpeg differ diff --git a/frontend/static/surveys/items/157/4.jpeg b/frontend/static/surveys/items/157/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..3f0b0271b87bfa88205a864ff25ada60bd889371 Binary files /dev/null and b/frontend/static/surveys/items/157/4.jpeg differ diff --git a/frontend/static/surveys/items/157/q.mp3 b/frontend/static/surveys/items/157/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..71054e8bfffc20ed9c7f3bd012e3aa28df6dd7a7 Binary files /dev/null and b/frontend/static/surveys/items/157/q.mp3 differ diff --git a/frontend/static/surveys/items/158/1.jpeg b/frontend/static/surveys/items/158/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..22f8a83e96cf3a0c3e3c5258b98c7e93622603c2 Binary files /dev/null and b/frontend/static/surveys/items/158/1.jpeg differ diff --git a/frontend/static/surveys/items/158/2.jpeg b/frontend/static/surveys/items/158/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1dd33532f74e9d425ce53bc0821a3f52ccf26dc7 Binary files /dev/null and b/frontend/static/surveys/items/158/2.jpeg differ diff --git a/frontend/static/surveys/items/158/3.jpeg b/frontend/static/surveys/items/158/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a263d350e5b102f1535bb774dd83e784e7ce4af9 Binary files /dev/null and b/frontend/static/surveys/items/158/3.jpeg differ diff --git a/frontend/static/surveys/items/158/4.jpeg b/frontend/static/surveys/items/158/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..956d4546cf16b39bb3060988bc6db68ecbadd8f5 Binary files /dev/null and b/frontend/static/surveys/items/158/4.jpeg differ diff --git a/frontend/static/surveys/items/158/q.mp3 b/frontend/static/surveys/items/158/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..608c491ee6d60faa32d55c3bcbd2f59aee31916b Binary files /dev/null and b/frontend/static/surveys/items/158/q.mp3 differ diff --git a/frontend/static/surveys/items/159/1.jpeg b/frontend/static/surveys/items/159/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a3d367a64f1fcab0a4326a6858b81a17383891d1 Binary files /dev/null and b/frontend/static/surveys/items/159/1.jpeg differ diff --git a/frontend/static/surveys/items/159/2.jpeg b/frontend/static/surveys/items/159/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d78dde836f7a1b33e3d53bc5d8111ee52ef67647 Binary files /dev/null and b/frontend/static/surveys/items/159/2.jpeg differ diff --git a/frontend/static/surveys/items/159/3.jpeg b/frontend/static/surveys/items/159/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ea3a09ec514c6eac1c07e430cb7af0a3a460c946 Binary files /dev/null and b/frontend/static/surveys/items/159/3.jpeg differ diff --git a/frontend/static/surveys/items/159/4.jpeg b/frontend/static/surveys/items/159/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..324375332ed071ce6952de6eebcd0981f9bad276 Binary files /dev/null and b/frontend/static/surveys/items/159/4.jpeg differ diff --git a/frontend/static/surveys/items/159/q.mp3 b/frontend/static/surveys/items/159/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..26a4483505bb877c0d68e337fc0dfbbd7375a31a Binary files /dev/null and b/frontend/static/surveys/items/159/q.mp3 differ diff --git a/frontend/static/surveys/items/160/1.jpeg b/frontend/static/surveys/items/160/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d3023db3b92659601ec96e0b6d904a83c25398f3 Binary files /dev/null and b/frontend/static/surveys/items/160/1.jpeg differ diff --git a/frontend/static/surveys/items/160/2.jpeg b/frontend/static/surveys/items/160/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8e4b978c233b4dd138d71581fa0da08523ba84cd Binary files /dev/null and b/frontend/static/surveys/items/160/2.jpeg differ diff --git a/frontend/static/surveys/items/160/3.jpeg b/frontend/static/surveys/items/160/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b145d9b0c96986d9f13ac5eef899a00359db55d6 Binary files /dev/null and b/frontend/static/surveys/items/160/3.jpeg differ diff --git a/frontend/static/surveys/items/160/4.jpeg b/frontend/static/surveys/items/160/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4b178032a8f6c3c01cbf930d4219a7f03c41dd6f Binary files /dev/null and b/frontend/static/surveys/items/160/4.jpeg differ diff --git a/frontend/static/surveys/items/160/q.mp3 b/frontend/static/surveys/items/160/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..da2bc6809c3ac7f07bc1dc72b2b7ac765d1acfc9 Binary files /dev/null and b/frontend/static/surveys/items/160/q.mp3 differ diff --git a/frontend/static/surveys/items/161/1.jpeg b/frontend/static/surveys/items/161/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bb06f8779aaed53139d52f0a062f1d6c8ad92a4f Binary files /dev/null and b/frontend/static/surveys/items/161/1.jpeg differ diff --git a/frontend/static/surveys/items/161/2.jpeg b/frontend/static/surveys/items/161/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..30878f65603623ee98894e9109d50e53cb68caf4 Binary files /dev/null and b/frontend/static/surveys/items/161/2.jpeg differ diff --git a/frontend/static/surveys/items/161/3.jpeg b/frontend/static/surveys/items/161/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4ac11c3f1cbf9eedb7706af2617872bbe21d8705 Binary files /dev/null and b/frontend/static/surveys/items/161/3.jpeg differ diff --git a/frontend/static/surveys/items/161/4.jpeg b/frontend/static/surveys/items/161/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9694a8660d965c52fa0a7cc89a9b46c17458dde5 Binary files /dev/null and b/frontend/static/surveys/items/161/4.jpeg differ diff --git a/frontend/static/surveys/items/161/q.mp3 b/frontend/static/surveys/items/161/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..daaf2f51381ed0e8b8e0d3cc49077da535e2259f Binary files /dev/null and b/frontend/static/surveys/items/161/q.mp3 differ diff --git a/frontend/static/surveys/items/162/1.jpeg b/frontend/static/surveys/items/162/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..434b338e21c939460144ab6bfbfe4aac414752c0 Binary files /dev/null and b/frontend/static/surveys/items/162/1.jpeg differ diff --git a/frontend/static/surveys/items/162/2.jpeg b/frontend/static/surveys/items/162/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f0ac0255d2f9d35280332ddb6313c9a2c5f28224 Binary files /dev/null and b/frontend/static/surveys/items/162/2.jpeg differ diff --git a/frontend/static/surveys/items/162/3.jpeg b/frontend/static/surveys/items/162/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4f23f5a98d44a90a2d93346f003415e64efb175b Binary files /dev/null and b/frontend/static/surveys/items/162/3.jpeg differ diff --git a/frontend/static/surveys/items/162/4.jpeg b/frontend/static/surveys/items/162/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..279f58aaa2518c43e5c5adb7eedb1bc48bddb9d5 Binary files /dev/null and b/frontend/static/surveys/items/162/4.jpeg differ diff --git a/frontend/static/surveys/items/162/q.mp3 b/frontend/static/surveys/items/162/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9ea3468e6e640f372b1bbd3d09db50ae3f9df19e Binary files /dev/null and b/frontend/static/surveys/items/162/q.mp3 differ diff --git a/frontend/static/surveys/items/163/1.jpeg b/frontend/static/surveys/items/163/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f87a78bf7fc69a5e93168c489d326d3fb350b88a Binary files /dev/null and b/frontend/static/surveys/items/163/1.jpeg differ diff --git a/frontend/static/surveys/items/163/2.jpeg b/frontend/static/surveys/items/163/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8b988cd83da152db8537abd60192ee96da1a72e8 Binary files /dev/null and b/frontend/static/surveys/items/163/2.jpeg differ diff --git a/frontend/static/surveys/items/163/3.jpeg b/frontend/static/surveys/items/163/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8eb7c71fdc427028f60554e7df70c961863a2de9 Binary files /dev/null and b/frontend/static/surveys/items/163/3.jpeg differ diff --git a/frontend/static/surveys/items/163/4.jpeg b/frontend/static/surveys/items/163/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bd6e28717d17447bd68bfb9fc2f154525c2b9d88 Binary files /dev/null and b/frontend/static/surveys/items/163/4.jpeg differ diff --git a/frontend/static/surveys/items/163/q.mp3 b/frontend/static/surveys/items/163/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1a2cf382f8f1617bacf8cad645d5c932df49777a Binary files /dev/null and b/frontend/static/surveys/items/163/q.mp3 differ diff --git a/frontend/static/surveys/items/164/1.jpeg b/frontend/static/surveys/items/164/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e8b1a87b6bf4723c3935fd65e54091047e92007e Binary files /dev/null and b/frontend/static/surveys/items/164/1.jpeg differ diff --git a/frontend/static/surveys/items/164/2.jpeg b/frontend/static/surveys/items/164/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..19bc7b4b762e0b931aa1e6bb9c36a36451bd9ef2 Binary files /dev/null and b/frontend/static/surveys/items/164/2.jpeg differ diff --git a/frontend/static/surveys/items/164/3.jpeg b/frontend/static/surveys/items/164/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..856397cade44203f5c09786a3592711bfa023e27 Binary files /dev/null and b/frontend/static/surveys/items/164/3.jpeg differ diff --git a/frontend/static/surveys/items/164/4.jpeg b/frontend/static/surveys/items/164/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..05912438211ee3cb66882644242ea70f2b9f4270 Binary files /dev/null and b/frontend/static/surveys/items/164/4.jpeg differ diff --git a/frontend/static/surveys/items/164/q.mp3 b/frontend/static/surveys/items/164/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..334e6ba173708f91c9d5551799dcd39b7e1a145e Binary files /dev/null and b/frontend/static/surveys/items/164/q.mp3 differ diff --git a/frontend/static/surveys/items/165/1.jpeg b/frontend/static/surveys/items/165/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..adabb7ac670f823a7a952f3ff3e5825c4f83e1b0 Binary files /dev/null and b/frontend/static/surveys/items/165/1.jpeg differ diff --git a/frontend/static/surveys/items/165/2.jpeg b/frontend/static/surveys/items/165/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0ef883b859432e38ceb04d7fc3a71d34d01dd74d Binary files /dev/null and b/frontend/static/surveys/items/165/2.jpeg differ diff --git a/frontend/static/surveys/items/165/3.jpeg b/frontend/static/surveys/items/165/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..6ec44e93cb131bbb7493486bacbefb7990eb3759 Binary files /dev/null and b/frontend/static/surveys/items/165/3.jpeg differ diff --git a/frontend/static/surveys/items/165/4.jpeg b/frontend/static/surveys/items/165/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c8c5f2fd04af380af39845df3b66cb32753c2811 Binary files /dev/null and b/frontend/static/surveys/items/165/4.jpeg differ diff --git a/frontend/static/surveys/items/165/q.mp3 b/frontend/static/surveys/items/165/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..7f9b12a51c4a871cad6ec364119bbd8e3b02c087 Binary files /dev/null and b/frontend/static/surveys/items/165/q.mp3 differ diff --git a/frontend/static/surveys/items/166/1.jpeg b/frontend/static/surveys/items/166/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8e1703057fb6cd5125df10230717c9e7b22b4758 Binary files /dev/null and b/frontend/static/surveys/items/166/1.jpeg differ diff --git a/frontend/static/surveys/items/166/2.jpeg b/frontend/static/surveys/items/166/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..54795a9bdeb0408496b2e4805d74632f8f3ee58d Binary files /dev/null and b/frontend/static/surveys/items/166/2.jpeg differ diff --git a/frontend/static/surveys/items/166/3.jpeg b/frontend/static/surveys/items/166/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..18a0346919d9e6f3cc324e7978e47ce26c029b90 Binary files /dev/null and b/frontend/static/surveys/items/166/3.jpeg differ diff --git a/frontend/static/surveys/items/166/4.jpeg b/frontend/static/surveys/items/166/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b970853ff9f86527f7bd72c6b9dbb57c67b6b38d Binary files /dev/null and b/frontend/static/surveys/items/166/4.jpeg differ diff --git a/frontend/static/surveys/items/166/q.mp3 b/frontend/static/surveys/items/166/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1d6762c28c309eb6dbbbf9c2932d9cf436db4b1e Binary files /dev/null and b/frontend/static/surveys/items/166/q.mp3 differ diff --git a/frontend/static/surveys/items/167/1.jpeg b/frontend/static/surveys/items/167/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..65dd2be36f26f3452ceec0ac2c1e33d72988ee01 Binary files /dev/null and b/frontend/static/surveys/items/167/1.jpeg differ diff --git a/frontend/static/surveys/items/167/2.jpeg b/frontend/static/surveys/items/167/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..79253c570667c2601f9e99681ee17af790ea3aa6 Binary files /dev/null and b/frontend/static/surveys/items/167/2.jpeg differ diff --git a/frontend/static/surveys/items/167/3.jpeg b/frontend/static/surveys/items/167/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..d89b8f899b5d48e8cb23aebd2604086f800a2b44 Binary files /dev/null and b/frontend/static/surveys/items/167/3.jpeg differ diff --git a/frontend/static/surveys/items/167/4.jpeg b/frontend/static/surveys/items/167/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..512ba166a396182521482f5374e32ac9cd7c0a8d Binary files /dev/null and b/frontend/static/surveys/items/167/4.jpeg differ diff --git a/frontend/static/surveys/items/167/q.mp3 b/frontend/static/surveys/items/167/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e6ebac5d52ab9514745f5009d67b02e35a13b7fc Binary files /dev/null and b/frontend/static/surveys/items/167/q.mp3 differ diff --git a/frontend/static/surveys/items/168/1.jpeg b/frontend/static/surveys/items/168/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c260c6078859cc8ead4ff48fba32818f0bd6d9fb Binary files /dev/null and b/frontend/static/surveys/items/168/1.jpeg differ diff --git a/frontend/static/surveys/items/168/2.jpeg b/frontend/static/surveys/items/168/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c7ad8909e976f4dd8b964460bf467e76dd345bb0 Binary files /dev/null and b/frontend/static/surveys/items/168/2.jpeg differ diff --git a/frontend/static/surveys/items/168/3.jpeg b/frontend/static/surveys/items/168/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4eb41c063d88c6ab40a0e3f89e12a29806fd998e Binary files /dev/null and b/frontend/static/surveys/items/168/3.jpeg differ diff --git a/frontend/static/surveys/items/168/4.jpeg b/frontend/static/surveys/items/168/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..675312ebfa1cb2a5a26f1ddf33fb188820540a41 Binary files /dev/null and b/frontend/static/surveys/items/168/4.jpeg differ diff --git a/frontend/static/surveys/items/168/q.mp3 b/frontend/static/surveys/items/168/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..80eea833cdaab850fc94f3beeabc4f935da5e777 Binary files /dev/null and b/frontend/static/surveys/items/168/q.mp3 differ diff --git a/frontend/static/surveys/items/169/1.jpeg b/frontend/static/surveys/items/169/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f5aee98b315f54bcb322ca408e2d3044621a100f Binary files /dev/null and b/frontend/static/surveys/items/169/1.jpeg differ diff --git a/frontend/static/surveys/items/169/2.jpeg b/frontend/static/surveys/items/169/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9dea2df74b8a6a53306bd50d5991a620023dd2bf Binary files /dev/null and b/frontend/static/surveys/items/169/2.jpeg differ diff --git a/frontend/static/surveys/items/169/3.jpeg b/frontend/static/surveys/items/169/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..740f7789d8fca690a988e2cc63781f9ea932b64c Binary files /dev/null and b/frontend/static/surveys/items/169/3.jpeg differ diff --git a/frontend/static/surveys/items/169/4.jpeg b/frontend/static/surveys/items/169/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..abc3ec094244ab5d780960bcbcaff6af83ad7957 Binary files /dev/null and b/frontend/static/surveys/items/169/4.jpeg differ diff --git a/frontend/static/surveys/items/169/q.mp3 b/frontend/static/surveys/items/169/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..ae29243ef4a15a8e502e2725c53281c69c6bf2b9 Binary files /dev/null and b/frontend/static/surveys/items/169/q.mp3 differ diff --git a/frontend/static/surveys/items/170/1.jpeg b/frontend/static/surveys/items/170/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..99145b44df900163b174a4e8cb0b285ad9f91400 Binary files /dev/null and b/frontend/static/surveys/items/170/1.jpeg differ diff --git a/frontend/static/surveys/items/170/2.jpeg b/frontend/static/surveys/items/170/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dea921337ba1600d03837393bdcb66b5fd430ccc Binary files /dev/null and b/frontend/static/surveys/items/170/2.jpeg differ diff --git a/frontend/static/surveys/items/170/3.jpeg b/frontend/static/surveys/items/170/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..309d1e6c9d23657d2e08e482c137c00760502e7d Binary files /dev/null and b/frontend/static/surveys/items/170/3.jpeg differ diff --git a/frontend/static/surveys/items/170/4.jpeg b/frontend/static/surveys/items/170/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..190eca77fab8b8c766239f85142da09e9a7ee552 Binary files /dev/null and b/frontend/static/surveys/items/170/4.jpeg differ diff --git a/frontend/static/surveys/items/170/q.mp3 b/frontend/static/surveys/items/170/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..91ee54394ba3e253bde5004d7397006d5b0a9762 Binary files /dev/null and b/frontend/static/surveys/items/170/q.mp3 differ diff --git a/frontend/static/surveys/items/171/1.jpeg b/frontend/static/surveys/items/171/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9212d83751babb355415808452f67f9571f3e5bb Binary files /dev/null and b/frontend/static/surveys/items/171/1.jpeg differ diff --git a/frontend/static/surveys/items/171/2.jpeg b/frontend/static/surveys/items/171/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4e1976733b2eedffef0f49d53a88aab0f07bbc88 Binary files /dev/null and b/frontend/static/surveys/items/171/2.jpeg differ diff --git a/frontend/static/surveys/items/171/3.jpeg b/frontend/static/surveys/items/171/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9e09baf3e3c636f659df382f4352c45b386f8423 Binary files /dev/null and b/frontend/static/surveys/items/171/3.jpeg differ diff --git a/frontend/static/surveys/items/171/4.jpeg b/frontend/static/surveys/items/171/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8cf0097e2d2f3c22f9e3c3b85e0e44068dbc4567 Binary files /dev/null and b/frontend/static/surveys/items/171/4.jpeg differ diff --git a/frontend/static/surveys/items/171/q.mp3 b/frontend/static/surveys/items/171/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9dff2dafaf4c170b395f4f5835d8bff85bd8a434 Binary files /dev/null and b/frontend/static/surveys/items/171/q.mp3 differ diff --git a/frontend/static/surveys/items/172/1.jpeg b/frontend/static/surveys/items/172/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..11937d8ee265c2ccd3738b66a3126c328be16a88 Binary files /dev/null and b/frontend/static/surveys/items/172/1.jpeg differ diff --git a/frontend/static/surveys/items/172/2.jpeg b/frontend/static/surveys/items/172/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..0758631913cd32889218f24fb77130d17f54e1e2 Binary files /dev/null and b/frontend/static/surveys/items/172/2.jpeg differ diff --git a/frontend/static/surveys/items/172/3.jpeg b/frontend/static/surveys/items/172/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..bca5b721217c7747161e9beb223eac775633c2dc Binary files /dev/null and b/frontend/static/surveys/items/172/3.jpeg differ diff --git a/frontend/static/surveys/items/172/4.jpeg b/frontend/static/surveys/items/172/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..df29ebbf3310d75cdee93ab20c6b0df1ede43fa3 Binary files /dev/null and b/frontend/static/surveys/items/172/4.jpeg differ diff --git a/frontend/static/surveys/items/172/q.mp3 b/frontend/static/surveys/items/172/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b14b9dfb5e3cbab7e4b58f8e4b96c2c4595071f0 Binary files /dev/null and b/frontend/static/surveys/items/172/q.mp3 differ diff --git a/frontend/static/surveys/items/173/1.jpeg b/frontend/static/surveys/items/173/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..13a1b3a25b3f1fdb5e1db7a0eddfced2e510e3e4 Binary files /dev/null and b/frontend/static/surveys/items/173/1.jpeg differ diff --git a/frontend/static/surveys/items/173/2.jpeg b/frontend/static/surveys/items/173/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..72c299b4ef55c445d41203fe4f68f35c48b8b614 Binary files /dev/null and b/frontend/static/surveys/items/173/2.jpeg differ diff --git a/frontend/static/surveys/items/173/3.jpeg b/frontend/static/surveys/items/173/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..79929e1e9cccbeb9be6f8bbf3a042f6ab766ae68 Binary files /dev/null and b/frontend/static/surveys/items/173/3.jpeg differ diff --git a/frontend/static/surveys/items/173/4.jpeg b/frontend/static/surveys/items/173/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7b739c8f161644017cbd47ad8033cc79d1a87f4a Binary files /dev/null and b/frontend/static/surveys/items/173/4.jpeg differ diff --git a/frontend/static/surveys/items/173/q.mp3 b/frontend/static/surveys/items/173/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..55a2e09f3f4e9a47425c216662c51821b4f9077b Binary files /dev/null and b/frontend/static/surveys/items/173/q.mp3 differ diff --git a/frontend/static/surveys/items/174/1.jpeg b/frontend/static/surveys/items/174/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e6ae64fa878b785b0a9958ef4d08f1c90faca4c5 Binary files /dev/null and b/frontend/static/surveys/items/174/1.jpeg differ diff --git a/frontend/static/surveys/items/174/2.jpeg b/frontend/static/surveys/items/174/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ecccfa29ab9d91eaff0c9a57f8845dcf872de1e1 Binary files /dev/null and b/frontend/static/surveys/items/174/2.jpeg differ diff --git a/frontend/static/surveys/items/174/3.jpeg b/frontend/static/surveys/items/174/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a5cd1580345462fe9678f2222b5636a8f95e1e47 Binary files /dev/null and b/frontend/static/surveys/items/174/3.jpeg differ diff --git a/frontend/static/surveys/items/174/4.jpeg b/frontend/static/surveys/items/174/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..82d2e4e655184c02d72efe845b6737ff7ff96793 Binary files /dev/null and b/frontend/static/surveys/items/174/4.jpeg differ diff --git a/frontend/static/surveys/items/174/q.mp3 b/frontend/static/surveys/items/174/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..6b7da9f784319d17ae4b8f5f57ec43f1ab686ca4 Binary files /dev/null and b/frontend/static/surveys/items/174/q.mp3 differ diff --git a/frontend/static/surveys/items/175/1.jpeg b/frontend/static/surveys/items/175/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..a1c279f062c40148a1eed02ca9a54119ecafd4d4 Binary files /dev/null and b/frontend/static/surveys/items/175/1.jpeg differ diff --git a/frontend/static/surveys/items/175/2.jpeg b/frontend/static/surveys/items/175/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fde1d6a1505908ddad923236d3e32a181648913e Binary files /dev/null and b/frontend/static/surveys/items/175/2.jpeg differ diff --git a/frontend/static/surveys/items/175/3.jpeg b/frontend/static/surveys/items/175/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..425412ecbd4c6d2acf9eb723d02ebb1b1f7f7e6c Binary files /dev/null and b/frontend/static/surveys/items/175/3.jpeg differ diff --git a/frontend/static/surveys/items/175/4.jpeg b/frontend/static/surveys/items/175/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..ceeb0b6e143005ca1ad01de0b85633fefd957586 Binary files /dev/null and b/frontend/static/surveys/items/175/4.jpeg differ diff --git a/frontend/static/surveys/items/175/q.mp3 b/frontend/static/surveys/items/175/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b493587c0116a2f188b69fd33ae0a04dd9a254dc Binary files /dev/null and b/frontend/static/surveys/items/175/q.mp3 differ diff --git a/frontend/static/surveys/items/176/1.jpeg b/frontend/static/surveys/items/176/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..40fae89202d5596180345ac1cf79ba27dee4bd38 Binary files /dev/null and b/frontend/static/surveys/items/176/1.jpeg differ diff --git a/frontend/static/surveys/items/176/2.jpeg b/frontend/static/surveys/items/176/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..94568e55f3640b22725d55ba4987c1e24357814b Binary files /dev/null and b/frontend/static/surveys/items/176/2.jpeg differ diff --git a/frontend/static/surveys/items/176/3.jpeg b/frontend/static/surveys/items/176/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..46e3b9484be36af43c3e9481315665b3e90bbd98 Binary files /dev/null and b/frontend/static/surveys/items/176/3.jpeg differ diff --git a/frontend/static/surveys/items/176/4.jpeg b/frontend/static/surveys/items/176/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..554c1daa4565cd17d1d672d5c1bdab49c406e989 Binary files /dev/null and b/frontend/static/surveys/items/176/4.jpeg differ diff --git a/frontend/static/surveys/items/176/q.mp3 b/frontend/static/surveys/items/176/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..e03d62c1765fbfafe3bdcd579dd4d5bdf4979865 Binary files /dev/null and b/frontend/static/surveys/items/176/q.mp3 differ diff --git a/frontend/static/surveys/items/177/1.jpeg b/frontend/static/surveys/items/177/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8b07b66eb614f23354e756e6c4a10882eb63a7c6 Binary files /dev/null and b/frontend/static/surveys/items/177/1.jpeg differ diff --git a/frontend/static/surveys/items/177/2.jpeg b/frontend/static/surveys/items/177/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..98621101245dd24b4649c933ce43633568180918 Binary files /dev/null and b/frontend/static/surveys/items/177/2.jpeg differ diff --git a/frontend/static/surveys/items/177/3.jpeg b/frontend/static/surveys/items/177/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b732384b319427e61f14b9dcbe97f85de21e79cf Binary files /dev/null and b/frontend/static/surveys/items/177/3.jpeg differ diff --git a/frontend/static/surveys/items/177/4.jpeg b/frontend/static/surveys/items/177/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..dd64bd46520bb3f0bb31ea45e84dbce9ae859a42 Binary files /dev/null and b/frontend/static/surveys/items/177/4.jpeg differ diff --git a/frontend/static/surveys/items/177/q.mp3 b/frontend/static/surveys/items/177/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..1cd34a46ba4d2372ad88b9ee2ea82e978b2a5c0b Binary files /dev/null and b/frontend/static/surveys/items/177/q.mp3 differ diff --git a/frontend/static/surveys/items/178/1.jpeg b/frontend/static/surveys/items/178/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f3518d5d7e2a1b9493f3eee5864c1a994a9b5895 Binary files /dev/null and b/frontend/static/surveys/items/178/1.jpeg differ diff --git a/frontend/static/surveys/items/178/2.jpeg b/frontend/static/surveys/items/178/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b14f96e9c9a81eec4b6348886c4e0fcd34c83a75 Binary files /dev/null and b/frontend/static/surveys/items/178/2.jpeg differ diff --git a/frontend/static/surveys/items/178/3.jpeg b/frontend/static/surveys/items/178/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..170aebcffdaaced8682710a8cdb339862222d981 Binary files /dev/null and b/frontend/static/surveys/items/178/3.jpeg differ diff --git a/frontend/static/surveys/items/178/4.jpeg b/frontend/static/surveys/items/178/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..2d60f1e439f8b365411a0720fa8979ccd2118c40 Binary files /dev/null and b/frontend/static/surveys/items/178/4.jpeg differ diff --git a/frontend/static/surveys/items/178/q.mp3 b/frontend/static/surveys/items/178/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..48903c26489f92f25e447d6380cf049051b1df70 Binary files /dev/null and b/frontend/static/surveys/items/178/q.mp3 differ diff --git a/frontend/static/surveys/items/179/1.jpeg b/frontend/static/surveys/items/179/1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..474bb10ca736e814f3ba0c1eb90d59a50037d54b Binary files /dev/null and b/frontend/static/surveys/items/179/1.jpeg differ diff --git a/frontend/static/surveys/items/179/2.jpeg b/frontend/static/surveys/items/179/2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..880ba4d3d5e5e3cbd37a2d592ba27499cb73f084 Binary files /dev/null and b/frontend/static/surveys/items/179/2.jpeg differ diff --git a/frontend/static/surveys/items/179/3.jpeg b/frontend/static/surveys/items/179/3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fadf97c76228db6d6b80e02687894cb8b2026fb4 Binary files /dev/null and b/frontend/static/surveys/items/179/3.jpeg differ diff --git a/frontend/static/surveys/items/179/4.jpeg b/frontend/static/surveys/items/179/4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..97c41545e70aad0af803eae28959f465b806d4a9 Binary files /dev/null and b/frontend/static/surveys/items/179/4.jpeg differ diff --git a/frontend/static/surveys/items/179/q.mp3 b/frontend/static/surveys/items/179/q.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..aa1d97ba85f1d4a93d5f2b0ff9da5d1107b5c23e Binary files /dev/null and b/frontend/static/surveys/items/179/q.mp3 differ diff --git a/scripts/surveys/groups.csv b/scripts/surveys/groups.csv index ce982f360be8ddc7761428f2559a21a3a40bd725..8d9c8aa400ce381ef2542ff194563104e78397b6 100644 --- a/scripts/surveys/groups.csv +++ b/scripts/surveys/groups.csv @@ -1,4 +1,2 @@ id,title,options -1,Test,1,2 -2,Test2,2 -3,Gap,3 +1,Auditory Picture Vocabulary Test - English,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179 diff --git a/scripts/surveys/items.csv b/scripts/surveys/items.csv index fc2fa05a90b81b3c63c525423a63e9bf297c36ad..2336801a9475521d3d33a143cafdf6c30e41beed 100644 --- a/scripts/surveys/items.csv +++ b/scripts/surveys/items.csv @@ -1,4 +1,80 @@ id,question,correct,option1,option2,option3,option4,option5,option6,option7,option8 -1,,1,,,,,, -2,How old are you?,-1,18-24,25-34,,,,,, -3,I am h<app>y (content) to be <here> (ici).,-1,,,,,,,, +101,,1,,,,,,,, +102,,1,,,,,,,, +103,,1,,,,,,,, +104,,1,,,,,,,, +105,,1,,,,,,,, +106,,1,,,,,,,, +107,,1,,,,,,,, +108,,1,,,,,,,, +109,,1,,,,,,,, +110,,1,,,,,,,, +111,,1,,,,,,,, +112,,1,,,,,,,, +113,,1,,,,,,,, +114,,1,,,,,,,, +115,,1,,,,,,,, +116,,1,,,,,,,, +117,,1,,,,,,,, +118,,1,,,,,,,, +119,,1,,,,,,,, +120,,1,,,,,,,, +121,,1,,,,,,,, +122,,1,,,,,,,, +123,,1,,,,,,,, +124,,1,,,,,,,, +125,,1,,,,,,,, +126,,1,,,,,,,, +127,,1,,,,,,,, +128,,1,,,,,,,, +129,,1,,,,,,,, +130,,1,,,,,,,, +131,,1,,,,,,,, +132,,1,,,,,,,, +133,,1,,,,,,,, +134,,1,,,,,,,, +135,,1,,,,,,,, +136,,1,,,,,,,, +137,,1,,,,,,,, +138,,1,,,,,,,, +139,,1,,,,,,,, +140,,1,,,,,,,, +141,,1,,,,,,,, +142,,1,,,,,,,, +143,,1,,,,,,,, +144,,1,,,,,,,, +145,,1,,,,,,,, +146,,1,,,,,,,, +147,,1,,,,,,,, +148,,1,,,,,,,, +149,,1,,,,,,,, +150,,1,,,,,,,, +151,,1,,,,,,,, +152,,1,,,,,,,, +153,,1,,,,,,,, +154,,1,,,,,,,, +155,,1,,,,,,,, +156,,1,,,,,,,, +157,,1,,,,,,,, +158,,1,,,,,,,, +159,,1,,,,,,,, +160,,1,,,,,,,, +161,,1,,,,,,,, +162,,1,,,,,,,, +163,,1,,,,,,,, +164,,1,,,,,,,, +165,,1,,,,,,,, +166,,1,,,,,,,, +167,,1,,,,,,,, +168,,1,,,,,,,, +169,,1,,,,,,,, +170,,1,,,,,,,, +171,,1,,,,,,,, +172,,1,,,,,,,, +173,,1,,,,,,,, +174,,1,,,,,,,, +175,,1,,,,,,,, +176,,1,,,,,,,, +177,,1,,,,,,,, +178,,1,,,,,,,, +179,,1,,,,,,,, diff --git a/scripts/surveys/surveys.csv b/scripts/surveys/surveys.csv index 6710c9c2ffd48de780ea30ceb6153d87061a166e..90ec174f2f7b6c58a343ac540b4d6ac9ca2ae809 100644 --- a/scripts/surveys/surveys.csv +++ b/scripts/surveys/surveys.csv @@ -1,4 +1,2 @@ id,title,groups -1,Title,1,2 -2,Title,2 -3,TitleGap,3 +1,Title,1