From 21df1a1b70d7c38676058c49073d5b1d7c32895f Mon Sep 17 00:00:00 2001 From: Bao Nguyen Date: Fri, 18 Oct 2024 16:17:15 -0400 Subject: [PATCH 01/11] init commit --- README.md | 59 +++++++++++++++++++++++++++++----------- milestones/milestone1.md | 24 ++++++++-------- planning/user_stories.md | 17 +++++++++--- 3 files changed, 68 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 0e1211217..927083449 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# [your app name here] +# Cameo Clone CodePath WEB103 Final Project -Designed and developed by: [your names here] +Designed and developed by: Sheng-Kai Wen, Bao Ngoc Nguyen, Christian Michael Dela Cruz πŸ”— Link to deployed app: @@ -10,39 +10,66 @@ Designed and developed by: [your names here] ### Description and Purpose -[text goes here] +The project aims to create an interactive website for users to purchased videos from their favorite celebrities, content creators, etc. The platform will serve for 3 main types of users: normal users, celebrities, and administrations. Normal users can sign up and log in to the website to see all of the interative videos that their favorite content creators have. Celebrities can upload their video through the website, make their own introduction, and chose which video they would have as private videos, so only subscribed users are permitted to watch the videos. Normal users are allowed to leave comments and reviews for the videos. Admin roles can manage all users and celebrities, and change the account type from user to celebrity if the person is a real celebrity. Admin also manage a healthy and fair space on Cameo Clone so that all users and celebrities can have a good time using the app! + +Our platform allows you to order personalized video messages from your favorite celebrities, offering a unique and heartfelt way to connect with those you care about. ### Inspiration -[text goes here] +As the year ends, it's the perfect time to express gratitude and celebrate special moments with loved ones. Our platform allows you to order personalized video messages from your favorite celebrities, offering a unique and heartfelt way to connect with those you care about. Whether it's for a birthday, holiday, or just to make someone's day, these customized messages create lasting memories, making every occasion more meaningful and unforgettable. With an easy-to-use interface and a wide selection of celebrities, you can give a truly thoughtful gift that speaks from the heart. ## Tech Stack -Frontend: +Frontend: React, Javascript -Backend: +Backend: NodeJS, Express, Railway ## Features -### [Name of Feature 1] +### Authentication + +[ ] User can sign in or Sign up through the webpage authentication stage. If the user forgot their password, they can request a renew password email through their email address. + +### Admin: + +[ ] Approve (edit the user state) the creation of a celebrity account. +[ ] Delete and flag content that violates the code of conduct + +### User Profile Pages (Purchased Customer) + +[ ] Purchased account to view purchased content +[ ] Add a review or comments on the page +[ ] Delete/Edit the review or comments that they made + +### User Profile Pages (Non-Purchased Customer) + +[ ] View default videos that celebrities allow +[ ] Read through comments that purchased users have -[short description goes here] +### Celebrity -[gif goes here] +[ ] Add (POST) videos onto the main page and add the title and introduction +[ ] Delete (DELETE) videos that they post +[ ] Edit (PUT) videos and edit the title and introduction +[ ] Add/Edit the price of the account -### [Name of Feature 2] +### Purchase request -[short description goes here] +[ ] Form to fill in the form to submit an order +[ ] Update or cancel the order before the celebrity accepts the request. -[gif goes here] +## [ADDITIONAL FEATURES GO HERE - ADD ALL FEATURES HERE IN THE FORMAT ABOVE; you will check these off and add gifs as you complete them] -### [Name of Feature 3] +### Filter -[short description goes here] +[ ] Celebrity’s category +[ ] Video types (Birthday, Roast, Pep talk, and etc) +[ ] Price range -[gif goes here] +### Sorting -### [ADDITIONAL FEATURES GO HERE - ADD ALL FEATURES HERE IN THE FORMAT ABOVE; you will check these off and add gifs as you complete them] +[ ] User’s reviews +[ ] Price ## Installation Instructions diff --git a/milestones/milestone1.md b/milestones/milestone1.md index a8f086378..4325150d2 100644 --- a/milestones/milestone1.md +++ b/milestones/milestone1.md @@ -6,26 +6,26 @@ This document should be completed and submitted during **Unit 5** of this course This unit, be sure to complete all tasks listed below. To complete a task, place an `x` between the brackets. -- [ ] Read and understand all required features - - [ ] Understand you **must** implement **all** baseline features and **two** custom features -- [ ] In `readme.md`: update app name -- [ ] In `readme.md`: add all group members' names -- [ ] In `readme.md`: complete the **Description and Purpose** section -- [ ] In `readme.md`: complete the **Inspiration** section -- [ ] In `readme.md`: list all features you intend to include in your app (in future units, you will check off features as you complete them and add GIFs demonstrating the features) -- [ ] In `planning/user_stories.md`: add all user stories -- [ ] In this document, complete the **Reflection** section below +- [x] Read and understand all required features + - [x] Understand you **must** implement **all** baseline features and **two** custom features +- [x] In `readme.md`: update app name +- [x] In `readme.md`: add all group members' names +- [x] In `readme.md`: complete the **Description and Purpose** section +- [x] In `readme.md`: complete the **Inspiration** section +- [x] In `readme.md`: list all features you intend to include in your app (in future units, you will check off features as you complete them and add GIFs demonstrating the features) +- [x] In `planning/user_stories.md`: add all user stories +- [x] In this document, complete the **Reflection** section below ## Reflection ### 1. What went well during this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +We came up with the project idea smoothly, and we scheduled the meeting time well. All of us had a great time during the discussion and collaboration. ### 2. What were some challenges your group faced in this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +We spent a bunch of time deciding which features we should include in our project, so that the project is doable but with some sort of complexity. ### 3. What additional support will you need in upcoming units as you continue to work on your final project? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +We would need to learn ways to authenticate users when they sign in to our webpage, and we hope that CodePath can provide us some tutorial or guidance of how to do this. We also what to improve our documentations that we wrote, so we would also want the TF and the Instructors to look over our work. diff --git a/planning/user_stories.md b/planning/user_stories.md index 1e55ecbcd..5634fe768 100644 --- a/planning/user_stories.md +++ b/planning/user_stories.md @@ -4,10 +4,19 @@ Reference the Writing User Stories final project guide in the course portal for ## Outline User Roles -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ Include at least at least 1, but no more than 3, user roles.] +User role 1: Normal User +User role 2: Administration +User role 3: Celebrity ## Draft User Stories -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ Include at least at least 10 user stories in this format:] - -1. As a [user role], I want to [what], so that [why]. +1. As an admin, I want to approve the talent account so that there is no fake celebrity account on the page. +2. As an admin, I want to reserve the right to delete celebrity videos so that no inappropriate videos exist on the website. +3. As a celebrity, I want to decide which sample videos can display on my profile page, so that more people will purchase my video. +4. As a celebrity, I want to be able to decide the price of my video by myself so that I can control the amount of money I make. +5. As a celebrity, I want to be able to decide whether I want to accept the order or not. +6. As a celebrity, I want to be able to add/edit/delete videos so that I can control of what videos the users can view. +7. As a customer, I want to order a video from the celebrity I love, so that I can keep it or share it with my friends. +8. As a customer, I want to see the reviews of celebrities, so that I won’t get a low quality video. +9. As a customer, I want to be able to leave comments on the purchase I made, so that I can express my feelings to the celebrity I love. +10. As a customer that did not purchased, I want to view the default videos that my favorite celebrities make so that I know if I want to purchase the videos. From fe16df2412671f17f61fb7dff27b56113596f8a5 Mon Sep 17 00:00:00 2001 From: Bao Nguyen Date: Fri, 18 Oct 2024 16:18:53 -0400 Subject: [PATCH 02/11] Refactor the sentences --- README.md | 2 +- planning/user_stories.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 927083449..22ee3b209 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ Backend: NodeJS, Express, Railway [ ] Form to fill in the form to submit an order [ ] Update or cancel the order before the celebrity accepts the request. -## [ADDITIONAL FEATURES GO HERE - ADD ALL FEATURES HERE IN THE FORMAT ABOVE; you will check these off and add gifs as you complete them] +## Additional features ### Filter diff --git a/planning/user_stories.md b/planning/user_stories.md index 5634fe768..d8c9b7099 100644 --- a/planning/user_stories.md +++ b/planning/user_stories.md @@ -5,7 +5,9 @@ Reference the Writing User Stories final project guide in the course portal for ## Outline User Roles User role 1: Normal User + User role 2: Administration + User role 3: Celebrity ## Draft User Stories From c3c510304173ccb7e9c8eeae0a2e51ed8e0640e6 Mon Sep 17 00:00:00 2001 From: Bao Nguyen Date: Fri, 18 Oct 2024 16:19:44 -0400 Subject: [PATCH 03/11] Refactor the sentences --- README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/README.md b/README.md index 22ee3b209..6fceb5770 100644 --- a/README.md +++ b/README.md @@ -33,29 +33,37 @@ Backend: NodeJS, Express, Railway ### Admin: [ ] Approve (edit the user state) the creation of a celebrity account. + [ ] Delete and flag content that violates the code of conduct ### User Profile Pages (Purchased Customer) [ ] Purchased account to view purchased content + [ ] Add a review or comments on the page + [ ] Delete/Edit the review or comments that they made ### User Profile Pages (Non-Purchased Customer) [ ] View default videos that celebrities allow + [ ] Read through comments that purchased users have ### Celebrity [ ] Add (POST) videos onto the main page and add the title and introduction + [ ] Delete (DELETE) videos that they post + [ ] Edit (PUT) videos and edit the title and introduction + [ ] Add/Edit the price of the account ### Purchase request [ ] Form to fill in the form to submit an order + [ ] Update or cancel the order before the celebrity accepts the request. ## Additional features @@ -63,12 +71,15 @@ Backend: NodeJS, Express, Railway ### Filter [ ] Celebrity’s category + [ ] Video types (Birthday, Roast, Pep talk, and etc) + [ ] Price range ### Sorting [ ] User’s reviews + [ ] Price ## Installation Instructions From 440d3a271ce300dd3e431c76b3809c4d0ee54df5 Mon Sep 17 00:00:00 2001 From: Bao Nguyen <138281742+Baozzz04@users.noreply.github.com> Date: Sat, 26 Oct 2024 12:47:00 -0400 Subject: [PATCH 04/11] Update wireframes.md --- planning/wireframes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/planning/wireframes.md b/planning/wireframes.md index fbcd15a0c..a1f8805de 100644 --- a/planning/wireframes.md +++ b/planning/wireframes.md @@ -8,6 +8,8 @@ Reference the Creating an Entity Relationship Diagram final project guide in the ## Wireframe 1: [page title] +![Screenshot 2024-10-26 at 12 46 45](https://github.com/user-attachments/assets/6945efdf-7efe-4cde-b9af-9f788909013d) + [πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ include wireframe 1] ## Wireframe 2: [page title] From f0a92c6978d583028dcfec921de83ca0b60d8580 Mon Sep 17 00:00:00 2001 From: Bao Nguyen <138281742+Baozzz04@users.noreply.github.com> Date: Sat, 26 Oct 2024 12:52:12 -0400 Subject: [PATCH 05/11] Update wireframes.md --- planning/wireframes.md | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/planning/wireframes.md b/planning/wireframes.md index a1f8805de..a4f273c75 100644 --- a/planning/wireframes.md +++ b/planning/wireframes.md @@ -4,20 +4,32 @@ Reference the Creating an Entity Relationship Diagram final project guide in the ## List of Pages -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ List the pages you expect to have in your app, with a ⭐ next to pages you have wireframed] +## Wireframe 1: Login Page ⭐ -## Wireframe 1: [page title] +![Screenshot 2024-10-26 at 12 48 58](https://github.com/user-attachments/assets/a2ed8172-43e8-47ed-9928-18df763ed763) -![Screenshot 2024-10-26 at 12 46 45](https://github.com/user-attachments/assets/6945efdf-7efe-4cde-b9af-9f788909013d) +## Wireframe 2: Forgot Password Page ⭐ -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ include wireframe 1] +![Screenshot 2024-10-26 at 12 49 14](https://github.com/user-attachments/assets/4fc6d129-615f-4afe-84e0-5250af5d7e4a) -## Wireframe 2: [page title] +## Wireframe 3: Main Page ⭐ -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ include wireframe 2] +![Screenshot 2024-10-26 at 12 49 50](https://github.com/user-attachments/assets/e16a3dce-ebc7-4a45-a162-36dbceba20b0) -## Wireframe 3: [page title] +## Wireframe 4: Detail Page ⭐ + +![Screenshot 2024-10-26 at 12 50 33](https://github.com/user-attachments/assets/7d77daaa-f554-433b-808a-8e4555c36b07) + +## Wireframe 5: Purchased Video Page ⭐ + +![Screenshot 2024-10-26 at 12 51 02](https://github.com/user-attachments/assets/2fc4a8a9-2e6a-4b93-9fc4-6c0b13ffaeed) + +## Wireframe 6: Celebrity Sign Up Page ⭐ + +![Screenshot 2024-10-26 at 12 51 31](https://github.com/user-attachments/assets/9ce07971-ee53-4efc-a00f-0fae9d5084d7) + +## Wireframe 7: Celebrity Mode Page ⭐ + +![Screenshot 2024-10-26 at 12 51 48](https://github.com/user-attachments/assets/4314d2dc-1ea3-4475-9ea6-bacda79ac012) -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ include wireframe 3] -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ include more wireframes as desired] From 60549bb44fa8947c0407cb77f7d2c2278c72c303 Mon Sep 17 00:00:00 2001 From: uri <364850+cmpdc@users.noreply.github.com> Date: Mon, 28 Oct 2024 20:23:39 -0400 Subject: [PATCH 06/11] Update milestone2.md --- milestones/milestone2.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/milestones/milestone2.md b/milestones/milestone2.md index 7d7687f1e..bb580e854 100644 --- a/milestones/milestone2.md +++ b/milestones/milestone2.md @@ -6,22 +6,24 @@ This document should be completed and submitted during **Unit 6** of this course This unit, be sure to complete all tasks listed below. To complete a task, place an `x` between the brackets. -- [ ] In `planning/wireframes.md`: add wireframes for at least three pages in your web app -- [ ] In `planning/entity_relationship_diagram.md`: add the entity relationship diagram you developed for your database -- [ ] Prepare your three-minute pitch presentation, to be presented during Unit 7 (the next unit) - - [ ] You do **not** need to submit any materials in advance of your pitch -- [ ] In this document, complete the **Reflection** section below +- [x] In `planning/wireframes.md`: add wireframes for at least three pages in your web app +- [x] In `planning/entity_relationship_diagram.md`: add the entity relationship diagram you developed for your database +- [x] Prepare your three-minute pitch presentation, to be presented during Unit 7 (the next unit) + - [x] You do **not** need to submit any materials in advance of your pitch +- [x] In this document, complete the **Reflection** section below ## Reflection ### 1. What went well during this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +Despite the challenges we faced, there were several aspects of this unit that went particularly well. Most notably, our team showed strong communication and collaboration, making the best of the time we could coordinate. Everyone was proactive in sharing ideas and responsibilities, which allowed us to make steady progress even when we could not all meet together. Additionally, we were able to quickly outline the key components of our entity diagram and wireframes, establishing a clear vision for our project early on. This initial alignment helped us remain focused on our goals and created a strong foundation for the upcoming stages of our work. Our adaptability and shared commitment to the project have made this experience productive and rewarding, setting us up for success as we move forward. ### 2. What were some challenges your group faced in this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +One of the main challenges our group faced in this unit was finding the time to fully engage in the design process for our project, which included creating an entity diagram, wireframes, and developing a compelling pitch. With each of us juggling multiple courses and other academic commitments, coordinating schedules to work on the project together proved difficult. The time constraint not only impacted our ability to collaborate effectively but also limited our availability for brainstorming sessions, where we could have collectively explored more creative or comprehensive solutions. While we were all motivated to make meaningful progress, balancing these competing priorities required us to be particularly strategic in how we divided tasks and communicated updates, ensuring that each member could contribute effectively despite our busy schedules. ### 3. What additional support will you need in upcoming units as you continue to work on your final project? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +As we continue to work on our final project, additional support in the form of structured time or even a potential extension would be immensely helpful. Given the challenge of balancing this project with other coursework, having dedicated time within our schedules, or a slight extension on deadlines, would allow us to fully commit to each step in the process, from refining our entity diagram to polishing our wireframes and pitch. Such support would enable us to maintain quality in our work without compromising our efforts in other classes. + +Perhaps guidance on effective time management or project checkpoints could also support us in tracking our progress, ensuring we can meet each requirement of the project without added stress. From 4bedf9844f74ccb4ca0f5891316451f920bdedc0 Mon Sep 17 00:00:00 2001 From: shigenogoro Date: Tue, 29 Oct 2024 15:15:42 -0400 Subject: [PATCH 07/11] Add ER Diagram with Notes --- planning/ER_diagram.png | Bin 0 -> 41281 bytes planning/entity_relationship_diagram.md | 11 +++++++++++ 2 files changed, 11 insertions(+) create mode 100644 planning/ER_diagram.png diff --git a/planning/ER_diagram.png b/planning/ER_diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..40016b553cd831b48940f7a7ace4454d5125f2c8 GIT binary patch literal 41281 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 E57e^kegFUf literal 0 HcmV?d00001 diff --git a/planning/entity_relationship_diagram.md b/planning/entity_relationship_diagram.md index 12c25f62c..2e4c279b3 100644 --- a/planning/entity_relationship_diagram.md +++ b/planning/entity_relationship_diagram.md @@ -5,10 +5,21 @@ Reference the Creating an Entity Relationship Diagram final project guide in the ## Create the List of Tables [πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ List each table in your diagram] +1. users +2. orders ## Add the Entity Relationship Diagram [πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ Include an image or images of the diagram below. You may also wish to use the following markdown syntax to outline each table, as per your preference.] +![alt text](ER_diagram.png) + +Note: +- In the users table, we represent the role of the user by interger. (1: customer, 2: celebrity, 3: admin). +- Only the celebrity account will store the information of "description, profile_video_url, completed_orders, and avg_rating". +- In the completed_orders field, it will store an array of orders_id for accessing the review and rating from the customer, and also public videos. + +- In the orders table, the requested by field will store the customer's user_id, and the filmed_by field will store the celebrity's user_id. +- The order_status uses integer to represent the current status of the order. | Column Name | Type | Description | |-------------|------|-------------| From fd7e22775db3314f49ccf7c480cc32af01017992 Mon Sep 17 00:00:00 2001 From: shigenogoro Date: Tue, 29 Oct 2024 15:18:45 -0400 Subject: [PATCH 08/11] remove example from entity_relationship_diagram.md --- planning/entity_relationship_diagram.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/planning/entity_relationship_diagram.md b/planning/entity_relationship_diagram.md index 2e4c279b3..f60858fa7 100644 --- a/planning/entity_relationship_diagram.md +++ b/planning/entity_relationship_diagram.md @@ -19,10 +19,4 @@ Note: - In the completed_orders field, it will store an array of orders_id for accessing the review and rating from the customer, and also public videos. - In the orders table, the requested by field will store the customer's user_id, and the filmed_by field will store the celebrity's user_id. -- The order_status uses integer to represent the current status of the order. - -| Column Name | Type | Description | -|-------------|------|-------------| -| id | integer | primary key | -| name | text | name of the shoe model | -| ... | ... | ... | +- The order_status uses integer to represent the current status of the order. \ No newline at end of file From 314c871745b0e9556e8a4052e88df1084c910f14 Mon Sep 17 00:00:00 2001 From: shigenogoro Date: Tue, 29 Oct 2024 15:41:37 -0400 Subject: [PATCH 09/11] Add img_url field to the Diagram --- planning/ER_diagram.png | Bin 41281 -> 43368 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/planning/ER_diagram.png b/planning/ER_diagram.png index 40016b553cd831b48940f7a7ace4454d5125f2c8..41f7fac816b77ccbb3b4f8353ed318d90cb8e2e0 100644 GIT binary patch literal 43368 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 literal 41281 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 E57e^kegFUf From 088dd4a217805baa75db7f50c4dcd17c5591bc8e Mon Sep 17 00:00:00 2001 From: shigenogoro Date: Tue, 5 Nov 2024 15:51:21 -0500 Subject: [PATCH 10/11] init frontend --- frontend/.gitignore | 24 + frontend/README.md | 8 + frontend/eslint.config.js | 38 + frontend/index.html | 13 + frontend/package-lock.json | 4301 +++++++++++++++++++++++++++++++++ frontend/package.json | 28 + frontend/public/vite.svg | 1 + frontend/src/App.css | 42 + frontend/src/App.jsx | 35 + frontend/src/assets/react.svg | 1 + frontend/src/index.css | 68 + frontend/src/main.jsx | 10 + frontend/vite.config.js | 7 + 13 files changed, 4576 insertions(+) create mode 100644 frontend/.gitignore create mode 100644 frontend/README.md create mode 100644 frontend/eslint.config.js create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/public/vite.svg create mode 100644 frontend/src/App.css create mode 100644 frontend/src/App.jsx create mode 100644 frontend/src/assets/react.svg create mode 100644 frontend/src/index.css create mode 100644 frontend/src/main.jsx create mode 100644 frontend/vite.config.js diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 000000000..a547bf36d --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 000000000..f768e33fc --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js new file mode 100644 index 000000000..238d2e4e6 --- /dev/null +++ b/frontend/eslint.config.js @@ -0,0 +1,38 @@ +import js from '@eslint/js' +import globals from 'globals' +import react from 'eslint-plugin-react' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' + +export default [ + { ignores: ['dist'] }, + { + files: ['**/*.{js,jsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + settings: { react: { version: '18.3' } }, + plugins: { + react, + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...js.configs.recommended.rules, + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + ...reactHooks.configs.recommended.rules, + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +] diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 000000000..0c589eccd --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 000000000..2330c3f40 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,4301 @@ +{ + "name": "frontend", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "frontend", + "version": "0.0.0", + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.13.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.3", + "eslint": "^9.13.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "globals": "^15.11.0", + "vite": "^5.4.10" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", + "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", + "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.26.2", + "@babel/types": "^7.26.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", + "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.25.9", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", + "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", + "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.25.9", + "@babel/generator": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/template": "^7.25.9", + "@babel/types": "^7.25.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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/@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/@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, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "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": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "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/@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, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "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/@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/@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": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "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", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "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": ">=12" + } + }, + "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": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "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": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "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, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", + "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.4", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", + "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", + "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", + "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", + "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", + "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", + "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", + "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", + "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", + "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", + "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", + "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", + "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", + "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", + "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", + "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", + "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", + "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", + "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", + "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", + "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", + "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "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, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.13", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz", + "integrity": "sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.3.12", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.12.tgz", + "integrity": "sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.3.tgz", + "integrity": "sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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, + "license": "Python-2.0" + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT" + }, + "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/browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "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": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001677", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001677.tgz", + "integrity": "sha512-fmfjsOlJUpMWu+mAAtZZZHz7UEwsUxIIvu1TJfO1HqFQvB/B+ii0xr9B5HpbZY/mC4XZ8SvjHJqtAY6pDPQEog==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "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" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "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, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "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, + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.51", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.51.tgz", + "integrity": "sha512-kKeWV57KSS8jH4alKt/jKnvHPmJgBxXzGUSbMd4eQF+iOsVPl7bz2KUmu6eo80eMP8wVioTfTyTzdMgM15WXNg==", + "dev": true, + "license": "ISC" + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", + "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.3", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.14.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz", + "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.18.0", + "@eslint/core": "^0.7.0", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.14.0", + "@eslint/plugin-kit": "^0.2.0", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.0", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.37.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", + "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.1.0", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0.tgz", + "integrity": "sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.14.tgz", + "integrity": "sha512-aXvzCTK7ZBv1e7fahFuR3Z/fyQQSIQ711yPgYRj+Oj64tyTgO4iQIDmYXDBqvSWQ/FA4OSCsXOStlF+noU0/NA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "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" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "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, + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true, + "license": "ISC" + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.12.0.tgz", + "integrity": "sha512-1+gLErljJFhbOVyaetcwJiJ4+eLe45S2E7P5UiZ9xGfeq3ATQf5DOv9G7MH3gGbKQLkzmNh2DxfZwLdw+j6oTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "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" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "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, + "license": "ISC" + }, + "node_modules/iterator.prototype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", + "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "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, + "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, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "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" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", + "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", + "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.24.4", + "@rollup/rollup-android-arm64": "4.24.4", + "@rollup/rollup-darwin-arm64": "4.24.4", + "@rollup/rollup-darwin-x64": "4.24.4", + "@rollup/rollup-freebsd-arm64": "4.24.4", + "@rollup/rollup-freebsd-x64": "4.24.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", + "@rollup/rollup-linux-arm-musleabihf": "4.24.4", + "@rollup/rollup-linux-arm64-gnu": "4.24.4", + "@rollup/rollup-linux-arm64-musl": "4.24.4", + "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", + "@rollup/rollup-linux-riscv64-gnu": "4.24.4", + "@rollup/rollup-linux-s390x-gnu": "4.24.4", + "@rollup/rollup-linux-x64-gnu": "4.24.4", + "@rollup/rollup-linux-x64-musl": "4.24.4", + "@rollup/rollup-win32-arm64-msvc": "4.24.4", + "@rollup/rollup-win32-ia32-msvc": "4.24.4", + "@rollup/rollup-win32-x64-msvc": "4.24.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map-js": { + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "license": "MIT" + }, + "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": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "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.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "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, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "5.4.10", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", + "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "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" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dev": true, + "license": "MIT", + "dependencies": { + "function.prototype.name": "^1.1.6", + "has-tostringtag": "^1.0.2", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 000000000..59e6967fc --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,28 @@ +{ + "name": "frontend", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "react": "^18.3.1", + "react-dom": "^18.3.1" + }, + "devDependencies": { + "@eslint/js": "^9.13.0", + "@types/react": "^18.3.12", + "@types/react-dom": "^18.3.1", + "@vitejs/plugin-react": "^4.3.3", + "eslint": "^9.13.0", + "eslint-plugin-react": "^7.37.2", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.14", + "globals": "^15.11.0", + "vite": "^5.4.10" + } +} diff --git a/frontend/public/vite.svg b/frontend/public/vite.svg new file mode 100644 index 000000000..e7b8dfb1b --- /dev/null +++ b/frontend/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/App.css b/frontend/src/App.css new file mode 100644 index 000000000..b9d355df2 --- /dev/null +++ b/frontend/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/frontend/src/App.jsx b/frontend/src/App.jsx new file mode 100644 index 000000000..f67355ae0 --- /dev/null +++ b/frontend/src/App.jsx @@ -0,0 +1,35 @@ +import { useState } from 'react' +import reactLogo from './assets/react.svg' +import viteLogo from '/vite.svg' +import './App.css' + +function App() { + const [count, setCount] = useState(0) + + return ( + <> + +

Vite + React

+
+ +

+ Edit src/App.jsx and save to test HMR +

+
+

+ Click on the Vite and React logos to learn more +

+ + ) +} + +export default App diff --git a/frontend/src/assets/react.svg b/frontend/src/assets/react.svg new file mode 100644 index 000000000..6c87de9bb --- /dev/null +++ b/frontend/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/index.css b/frontend/src/index.css new file mode 100644 index 000000000..6119ad9a8 --- /dev/null +++ b/frontend/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/frontend/src/main.jsx b/frontend/src/main.jsx new file mode 100644 index 000000000..b9a1a6dea --- /dev/null +++ b/frontend/src/main.jsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + , +) diff --git a/frontend/vite.config.js b/frontend/vite.config.js new file mode 100644 index 000000000..8b0f57b91 --- /dev/null +++ b/frontend/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From 54a5e171f14850dc6ff3dbcddf44b15ac45480b6 Mon Sep 17 00:00:00 2001 From: shigenogoro Date: Wed, 6 Nov 2024 01:39:11 -0500 Subject: [PATCH 11/11] reflection without Q3 --- frontend/.gitignore | 2 ++ milestones/milestone3.md | 10 ++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/frontend/.gitignore b/frontend/.gitignore index a547bf36d..9ebce3947 100644 --- a/frontend/.gitignore +++ b/frontend/.gitignore @@ -22,3 +22,5 @@ dist-ssr *.njsproj *.sln *.sw? + +node_modules \ No newline at end of file diff --git a/milestones/milestone3.md b/milestones/milestone3.md index 74f5aa99a..d45a5dca8 100644 --- a/milestones/milestone3.md +++ b/milestones/milestone3.md @@ -21,11 +21,11 @@ You will need to reference the GitHub Project Management guide in the course por ### 1. What went well during this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +We learned how to use the project feature (Kanban) on GitHub. It help us to visualize our tasks and keep track of the progress. Originally, we planned to use Jira for project management. However, with the project feature, we can directly manage our progress on GitHub, and create pull request upon the task is completed. All the history of development can be tracked. ### 2. What were some challenges your group faced in this unit? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +Because of the midterm and assignments in this week, both of us can't really focus on the sprint this week. Therefore, the progress might be a little bit delayed, but we will do more in the following weeks. ### Did you finish all of your tasks in your sprint plan for this week? If you did not finish all of the planned tasks, how would you prioritize the remaining tasks on your list? @@ -33,8 +33,10 @@ You will need to reference the GitHub Project Management guide in the course por ### Which features and user stories would you consider β€œat risk”? How will you change your plan if those items remain β€œat risk”? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +Currently, we haven't see any feature that would be considered "at risk". ### 5. What additional support will you need in upcoming units as you continue to work on your final project? -[πŸ‘‰πŸΎπŸ‘‰πŸΎπŸ‘‰πŸΎ your answer here] +Balancing our final project with other coursework has been challenging, and we feel that additional support would greatly enhance our ability to succeed. Options like structured project time or a deadline extension would provide the flexibility needed to engage deeply with each phase. + +Additionally, incorporating project checkpoints or time management guidance could help us monitor our progress effectively, ensuring we meet all requirements with reduced stress.