diff --git a/App.js b/App.js
new file mode 100644
index 000000000..93571776d
--- /dev/null
+++ b/App.js
@@ -0,0 +1,28 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+import styles from "./App.module.css";
+import Table from "./Assignment/Table";
+import { api } from "./Assignment/constants";
+
+const colDefs = [
+ { headerName: "S.No.", field: "s.no" },
+ {
+ headerName: "Percentage funded",
+ field: "percentage.funded",
+ },
+ {
+ headerName: "Amount pledged",
+ field: "amt.pledged",
+ },
+];
+
+const App = () => {
+ return (
+
+ );
+};
+
+const root = ReactDOM.createRoot(document.getElementById("root"));
+root.render();
diff --git a/App.module.css b/App.module.css
new file mode 100644
index 000000000..544e3200b
--- /dev/null
+++ b/App.module.css
@@ -0,0 +1,7 @@
+
+
+.app {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
\ No newline at end of file
diff --git a/Assignment/Components/Header.js b/Assignment/Components/Header.js
new file mode 100644
index 000000000..da9c906ff
--- /dev/null
+++ b/Assignment/Components/Header.js
@@ -0,0 +1,27 @@
+import React from "react";
+import PropTypes from "prop-types";
+import styles from "./Header.module.css";
+
+const Header = ({ colDefs }) => {
+ return (
+
+
+ {colDefs.map((def) => (
+
+ {def.headerName}
+ |
+ ))}
+
+
+ );
+};
+
+Header.propTypes = {
+ colDefs: PropTypes.arrayOf(
+ PropTypes.shape({
+ headerName: PropTypes.string.isRequired,
+ })
+ ).isRequired,
+};
+
+export default React.memo(Header);
diff --git a/Assignment/Components/Header.module.css b/Assignment/Components/Header.module.css
new file mode 100644
index 000000000..40b4f4887
--- /dev/null
+++ b/Assignment/Components/Header.module.css
@@ -0,0 +1,3 @@
+.th {
+ border: 1px solid;
+}
\ No newline at end of file
diff --git a/Assignment/Table.js b/Assignment/Table.js
new file mode 100644
index 000000000..b035d37b9
--- /dev/null
+++ b/Assignment/Table.js
@@ -0,0 +1,118 @@
+import React, { useMemo, useState } from "react";
+import PropTypes from "prop-types";
+import styles from "./Table.module.css";
+import { useFetch } from "./hooks/useFetch";
+import Header from "./Components/Header";
+import { NEXT, PREV } from "./constants";
+
+const Table = ({ colDefs, api, rowsPerPage, title }) => {
+ const totalButtons = 5;
+ const { data, error, loading } = useFetch(api);
+ const [currentPage, setCurrentPage] = useState(0);
+ const _ = useMemo(() => new Array(totalButtons).fill(0), []);
+
+ if (loading) {
+ return Loading...
;
+ }
+ if (error) {
+ return something went wrong please try again...
;
+ }
+ if (!data) {
+ return No data available
;
+ }
+
+ const renderData = data.slice(
+ currentPage * rowsPerPage,
+ (currentPage + 1) * rowsPerPage
+ );
+
+ const isNextDisabled = (currentPage + 1) * rowsPerPage >= data.length;
+ const isPrevDisabled = currentPage === 0;
+ const totalPages = Math.floor(data.length / rowsPerPage);
+
+ const nextPage = () => {
+ if (!isNextDisabled) {
+ setCurrentPage(currentPage + 1);
+ }
+ };
+
+ const prevPage = () => {
+ if (!isPrevDisabled) {
+ setCurrentPage(currentPage - 1);
+ }
+ };
+
+ return (
+
+
{title}
+
+
+
+
+ {renderData.map((item) => (
+
+ {colDefs.map((col, index) => (
+
+ {item[col.field]}
+ |
+ ))}
+
+ ))}
+
+
+
+
+
+
+ {_.map((_, index) => {
+ let iterator;
+ if (currentPage < 3) {
+ iterator = -1 * currentPage;
+ } else if (currentPage + 1 === totalPages) {
+ iterator = -1 * totalButtons + totalPages - currentPage + 1;
+ } else if (currentPage === totalPages) {
+ iterator = -1 * totalButtons + 1;
+ } else {
+ iterator = -1 * Math.floor(totalButtons / 2);
+ }
+ if (index + currentPage + iterator > totalPages) {
+ return null;
+ }
+ return (
+
+ );
+ })}
+
+
+
+
+ );
+};
+
+Table.propTypes = {
+ colDefs: PropTypes.arrayOf(
+ PropTypes.shape({
+ field: PropTypes.string.isRequired,
+ headerName: PropTypes.string.isRequired,
+ })
+ ).isRequired,
+ api: PropTypes.string.isRequired,
+ rowsPerPage: PropTypes.number.isRequired,
+ title: PropTypes.string.isRequired,
+};
+
+export default React.memo(Table);
diff --git a/Assignment/Table.module.css b/Assignment/Table.module.css
new file mode 100644
index 000000000..2dc63bacf
--- /dev/null
+++ b/Assignment/Table.module.css
@@ -0,0 +1,26 @@
+.table {
+ border-collapse: collapse;
+ border: 1px solid;
+ margin-bottom: 10px;
+}
+
+.tableContainer {
+ min-height: 135px;
+}
+
+.buttonContainer{
+ display: flex;
+ justify-content: space-around;
+}
+
+.td {
+ border: 1px solid;
+}
+
+.header {
+ text-align: center;
+}
+
+.currentPage {
+ background-color: aquamarine;
+}
diff --git a/Assignment/constants.js b/Assignment/constants.js
new file mode 100644
index 000000000..74a2f954f
--- /dev/null
+++ b/Assignment/constants.js
@@ -0,0 +1,6 @@
+export const api =
+ "https://raw.githubusercontent.com/saaslabsco/frontend-assignment/refs/heads/master/frontend-assignment.json";
+
+
+export const PREV = "Prev";
+export const NEXT = "Next";
diff --git a/Assignment/hooks/useFetch.js b/Assignment/hooks/useFetch.js
new file mode 100644
index 000000000..bd0ef1844
--- /dev/null
+++ b/Assignment/hooks/useFetch.js
@@ -0,0 +1,26 @@
+import { useState, useEffect } from "react";
+
+export const useFetch = (api) => {
+ const [data, setData] = useState(null);
+ const [error, setError] = useState(false);
+ const [loading, setLoading] = useState(false);
+
+ useEffect(() => {
+ const getData = async () => {
+ try {
+ setLoading(true);
+ const jsonResponse = await fetch(api);
+ const result = await jsonResponse.json();
+ setData(result);
+ } catch (e) {
+ setError(true);
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ getData();
+ }, [api]);
+
+ return { data, error, loading };
+};
diff --git a/Readme.md b/Readme.md
index dfae955b0..eccc6c1b7 100644
--- a/Readme.md
+++ b/Readme.md
@@ -1,51 +1,5 @@
-# Frontend Assignment
+# how to run the project?
+# run "npm install"
-## Assignment
-
-You are required to fetch the details of the highly-rated kickstarter projects by implementing an AJAX call to their APIs.
-
-Use the web API (link : https://raw.githubusercontent.com/saaslabsco/frontend-assignment/refs/heads/master/frontend-assignment.json) ) to fetch the details of specific projects.
-
-## Minimum Requirements
-
-1. Create a table and list the following three attributes for all the projects:
- * S.No.
- * Percentage funded
- * Amount pledged
-
-1. Ensure that the UI is aesthetically pleasing to gain extra points.
-1. Implement pagination with maximum 5 records per page.
-1. UX should remain like you would see on an ecommerce website (Amazon, Flipkart, etc.) and edge cases should not break.
-1. Take care of last page.
-
-### Expected Output format
-
-| **S.No.** | **Percentage funded** | **Amount pledged** |
-|-----------|-----------------------|--------------------|
-| 0 | 186 | 15283 |
-
-
-## Good to have
-
-1. Unit tests.
-1. Accessibility.
-
-
-## Steps for submission
-
-1. Fork this repo.
-1. Do changes to the above assignment.
-1. Email the assignment back to us with:
- 1. Link of the open source repo.
- 1. Link of the assignment hosted online. (You can use any free tools to host this assignment, eg. vercel, netlify or heroku). It should be accessible online for atleast 7 days.
-
-
-## Frameworks Allowed
-1. React/Vanilla JS for JavaScript
-1. No framework for CSS. Only Raw CSS is allowed.
-
-## Note
-
-1. Result on platforms like codesandbox, replit are not accepted.
-1. Private unaccessible links will lead to rejection.
\ No newline at end of file
+# run "npm start"
\ No newline at end of file
diff --git a/frontend-assignment.json b/frontend-assignment.json
deleted file mode 100644
index b2a0722b0..000000000
--- a/frontend-assignment.json
+++ /dev/null
@@ -1,1618 +0,0 @@
-[
- {
- "s.no": 0,
- "amt.pledged": 15823,
- "blurb": "'Catalysts, Explorers & Secret Keepers: Women of Science Fiction' is a take-home exhibit & anthology by the Museum of Science Fiction.",
- "by": "Museum of Science Fiction",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-01T23:59:00-04:00",
- "location": "Washington, DC",
- "percentage.funded": 186,
- "num.backers": "219382",
- "state": "DC",
- "title": "Catalysts, Explorers & Secret Keepers: Women of SF",
- "type": "Town",
- "url": "/projects/1608905146/catalysts-explorers-and-secret-keepers-women-of-sf?ref=discovery"
- },
- {
- "s.no": 1,
- "amt.pledged": 6859,
- "blurb": "A unique handmade picture book for kids & art lovers about a nervous monster who finds his courage with the help of a brave little girl",
- "by": "Tyrone Wells & Broken Eagle, LLC",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-25T01:13:33-05:00",
- "location": "Portland, OR",
- "percentage.funded": 8,
- "num.backers": "154926",
- "state": "OR",
- "title": "The Whatamagump (a hand-crafted story picture book)",
- "type": "Town",
- "url": "/projects/thewhatamagump/the-whatamagump-a-hand-crafted-story-picture-book?ref=discovery"
- },
- {
- "s.no": 2,
- "amt.pledged": 17906,
- "blurb": "A horror comedy about a repairman who was in the wrong place at the wrong time thanks to mad scientists and monsters.",
- "by": "Tessa Stone",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-23T23:00:00-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 102,
- "num.backers": "105857",
- "state": "CA",
- "title": "Not Drunk Enough Volume 1!",
- "type": "Town",
- "url": "/projects/1890925998/not-drunk-enough-volume-1?ref=discovery"
- },
- {
- "s.no": 3,
- "amt.pledged": 67081,
- "blurb": "The Johnny Wander autobio omnibus you've all been asking for! Over 400 pages of comics and extras over the years!",
- "by": "Johnny Wander",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-01T23:50:00-04:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 191,
- "num.backers": "91585",
- "state": "NY",
- "title": "Our Cats Are More Famous Than Us: A Johnny Wander Omnibus",
- "type": "County",
- "url": "/projects/746734715/our-cats-are-more-famous-than-us-a-johnny-wander-o?ref=discovery"
- },
- {
- "s.no": 4,
- "amt.pledged": 32772,
- "blurb": "The vision for this project is the establishment of a women-owned craft brewery in Rwanda.",
- "by": "Beau's All Natural Brewing Company",
- "country": "RW",
- "currency": "cad",
- "end.time": "2016-11-18T23:05:48-05:00",
- "location": "Kigali, Rwanda",
- "percentage.funded": 34,
- "num.backers": "87142",
- "state": "Kigali Province",
- "title": "The Rwanda Craft Brewery Project",
- "type": "Town",
- "url": "/projects/beaus/the-rwanda-craft-brewery-project?ref=discovery"
- },
- {
- "s.no": 5,
- "amt.pledged": 2065,
- "blurb": "In Shiraz, traditional and modern family recipes tell a story of inherited love through delicious Persian comfort food",
- "by": "Shireen Rahimi",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-28T00:00:00-05:00",
- "location": "Miami, FL",
- "percentage.funded": 114,
- "num.backers": "78471",
- "state": "FL",
- "title": "Shiraz the Cookbook",
- "type": "Town",
- "url": "/projects/844448164/shiraz-the-cookbook?ref=discovery"
- },
- {
- "s.no": 6,
- "amt.pledged": 577844,
- "blurb": "Polygons is the origami-like measuring spoon that lays flat and folds to 4 different sizes to fit your cooking and baking needs ",
- "by": "Polygons Design",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-20T11:57:34-05:00",
- "location": "Wilmington, DE",
- "percentage.funded": 5778,
- "num.backers": "74405",
- "state": "DE",
- "title": "Polygons | The Flat 4-in-1 Measuring Spoon",
- "type": "Town",
- "url": "/projects/stillalive/polygons-the-flat-4-in-1-measuring-spoon?ref=discovery"
- },
- {
- "s.no": 7,
- "amt.pledged": 4952,
- "blurb": "This hardcover coffee table book showcases all the whimsical illustrations from professional book illustrator Lee White.",
- "by": "Lee White",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-28T15:00:00-05:00",
- "location": "Portland, OR",
- "percentage.funded": 42,
- "num.backers": "73986",
- "state": "OR",
- "title": "Illumination: The Art of Lee White",
- "type": "Town",
- "url": "/projects/987803560/illumination-the-art-of-lee-white?ref=discovery"
- },
- {
- "s.no": 8,
- "amt.pledged": 45959,
- "blurb": "A heartfelt film exploring families and relationships between Korean and African American communities set during the LA Riots",
- "by": "Justin Chon",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-09T19:27:32-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 153,
- "num.backers": "73206",
- "state": "CA",
- "title": "GOOK - A Korean American LA Riots Film",
- "type": "Town",
- "url": "/projects/2084768431/gook-a-korean-american-la-riots-film?ref=discovery"
- },
- {
- "s.no": 9,
- "amt.pledged": 214035,
- "blurb": "A Smartphone Mount That Helps You Capture The Moment With Facial Tracking, Automated Videos and Pictures, Timelapse and Panoramas",
- "by": "Stacked",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-10-30T06:21:30-04:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 611,
- "num.backers": "70122",
- "state": "CA",
- "title": "Picbot - An Automated Motorized Picture And Video Bot",
- "type": "Town",
- "url": "/projects/1597931194/picbot-an-automated-motorized-picture-and-video-bo?ref=discovery"
- },
- {
- "s.no": 10,
- "amt.pledged": 41025,
- "blurb": "Who's watching when a fracked oil pipeline sparks the Standing Rock Sioux Nation to lead the biggest indigenous protest in 100 years?",
- "by": "Raviv Ullman",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-22T23:30:00-05:00",
- "location": "Cannon Ball, ND",
- "percentage.funded": 54,
- "num.backers": "69320",
- "state": "ND",
- "title": "Standing Ground - A Documentary Film",
- "type": "Town",
- "url": "/projects/345639715/standing-ground-a-documentary-film?ref=discovery"
- },
- {
- "s.no": 11,
- "amt.pledged": 45396,
- "blurb": "Master your time with a hybrid paper-digital planning system powered by augmented reality. ",
- "by": "Evopaper",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-26T02:55:00-05:00",
- "location": "San Francisco, CA",
- "percentage.funded": 129,
- "num.backers": "68929",
- "state": "CA",
- "title": "Slice Planner: First Notebook Connected to Digital Calendars",
- "type": "Town",
- "url": "/projects/sliceplanner/slice-planner-first-notebook-connected-to-digital?ref=discovery"
- },
- {
- "s.no": 12,
- "amt.pledged": 4621,
- "blurb": "Thrills! Chills! The daring show you cannot miss! Step right up and dare to witness a new spin on classic horror...",
- "by": "ThunderCrab Studios",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-16T00:00:46-05:00",
- "location": "Columbus, OH",
- "percentage.funded": 30,
- "num.backers": "67226",
- "state": "OH",
- "title": "The Mechanical Dancer - an animated short film",
- "type": "Town",
- "url": "/projects/23022585/the-mechanical-dancer-an-animated-short-film?ref=discovery"
- },
- {
- "s.no": 13,
- "amt.pledged": 30170,
- "blurb": "A collection of landmark American films directed by women, digitally restored from archive film elements, loaded with bonus content.",
- "by": "Kino Lorber",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-18T16:22:53-05:00",
- "location": "New York, NY",
- "percentage.funded": 68,
- "num.backers": "66673",
- "state": "NY",
- "title": "PIONEERS: FIRST WOMEN FILMMAKERS",
- "type": "Town",
- "url": "/projects/kinolorber/pioneers-first-women-filmmakers?ref=discovery"
- },
- {
- "s.no": 14,
- "amt.pledged": 13138,
- "blurb": "A graphic novel about two magical ladies in love.",
- "by": "Pat Shand",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-02T20:00:00-04:00",
- "location": "New York, NY",
- "percentage.funded": 65,
- "num.backers": "64867",
- "state": "NY",
- "title": "Destiny, NY",
- "type": "Town",
- "url": "/projects/248241887/destiny-ny-a-graphic-novel?ref=discovery"
- },
- {
- "s.no": 15,
- "amt.pledged": 1751,
- "blurb": "In this dance film, a teenage girl must convince herself and her mother she has what it takes to make it as a professional ballerina.",
- "by": "Tati & Anthony Vogt",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-25T08:25:18-05:00",
- "location": "Phoenix, AZ",
- "percentage.funded": 11,
- "num.backers": "63758",
- "state": "AZ",
- "title": "On Pointe",
- "type": "Town",
- "url": "/projects/onpointefilm/on-pointe?ref=discovery"
- },
- {
- "s.no": 16,
- "amt.pledged": 37857,
- "blurb": "This ain't cherry chapstick. It's lip balm... for men. Handmade by the fellas that started it.",
- "by": "Chad Lieske",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-10T10:03:09-05:00",
- "location": "Venice, Los Angeles, CA",
- "percentage.funded": 135,
- "num.backers": "63416",
- "state": "CA",
- "title": "Lucky Bastard Co. Original Handmade Gentlemen's Lip Balm",
- "type": "Suburb",
- "url": "/projects/1433655996/lucky-bastard-co-original-handmade-gentlemens-lip?ref=discovery"
- },
- {
- "s.no": 17,
- "amt.pledged": 30191,
- "blurb": "Ready, set, fold ! A new way to do papercraft in instant. Using colorful high quality, super solid and water drop resistant paper.",
- "by": "DT WORKSHOP",
- "country": "FR",
- "currency": "eur",
- "end.time": "2016-11-02T18:59:00-04:00",
- "location": "Paris, France",
- "percentage.funded": 150,
- "num.backers": "62642",
- "state": "Ile-de-France",
- "title": "Introducing 3 DIY papercraft kits no need glue or scissors",
- "type": "Town",
- "url": "/projects/dtworkshop/introducing-3-diy-papercraft-kits-without-glue-or?ref=discovery"
- },
- {
- "s.no": 18,
- "amt.pledged": 110431,
- "blurb": "One of the Most Successful Shoes on Kickstarter introduces its Newest & Best Collection for MEN & WOMEN. Handmade in Italy.",
- "by": "Kabaccha Shoes",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-30T22:00:00-05:00",
- "location": "Miami Beach, FL",
- "percentage.funded": 441,
- "num.backers": "61290",
- "state": "FL",
- "title": "Beautiful Italian Shoes for Men & Women",
- "type": "Town",
- "url": "/projects/1798878014/beautiful-italian-shoes-for-men-and-women?ref=discovery"
- },
- {
- "s.no": 19,
- "amt.pledged": 10018,
- "blurb": "Map T-shirts and map posters showing detailed cities all over the world – now with over 230 locations.",
- "by": "Alex Szabo-Haslam",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-11-09T08:56:57-05:00",
- "location": "Sheffield, UK",
- "percentage.funded": 1001,
- "num.backers": "48270",
- "state": "England",
- "title": "Citee: map T-shirts and map posters",
- "type": "Town",
- "url": "/projects/szabohaslam/citee-map-t-shirts-and-map-posters?ref=discovery"
- },
- {
- "s.no": 20,
- "amt.pledged": 192915,
- "blurb": "Vue is the world's first pair of smart glasses that are designed for everyday use. Offered in prescription, plano, and sunglasses.",
- "by": "Vue",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-09T20:00:00-05:00",
- "location": "San Francisco, CA",
- "percentage.funded": 385,
- "num.backers": "46520",
- "state": "CA",
- "title": "Vue: Your Everyday Smart Glasses",
- "type": "Town",
- "url": "/projects/1093823090/vue-your-everyday-smart-glasses?ref=discovery"
- },
- {
- "s.no": 21,
- "amt.pledged": 2111,
- "blurb": "When a naive wish comes true, five misfits must battle real-life movie monsters. A comedy-horror fundraising for a feature film!",
- "by": "Cartridge Thunder",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-26T11:41:44-05:00",
- "location": "Chicago, IL",
- "percentage.funded": 2,
- "num.backers": "44949",
- "state": "IL",
- "title": "Journey to Burger Town",
- "type": "Town",
- "url": "/projects/cartridgethunder/journey-to-burger-town?ref=discovery"
- },
- {
- "s.no": 22,
- "amt.pledged": 7728,
- "blurb": "Deep-space oil paintings & fine art prints, featuring breathtaking galaxies, nebulae, and black holes. Art for awesome nerdy people.",
- "by": "Cathrin Machin",
- "country": "AU",
- "currency": "aud",
- "end.time": "2016-11-27T22:18:49-05:00",
- "location": "Sydney, AU",
- "percentage.funded": 193,
- "num.backers": "44162",
- "state": "NSW",
- "title": "Beautifully Nerdy Deep Space Paintings & Prints - FQTQ",
- "type": "Town",
- "url": "/projects/cathrin/beautifully-nerdy-deep-space-paintings-and-prints?ref=discovery"
- },
- {
- "s.no": 23,
- "amt.pledged": 11590,
- "blurb": "Photography book documenting the locations of forty-two reggae record covers photographed in London between 1967 and 1987.",
- "by": "Alex Bartsch",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-12-06T16:00:00-05:00",
- "location": "London, UK",
- "percentage.funded": 77,
- "num.backers": "42713",
- "state": "England",
- "title": "Covers: Retracing Reggae Record Sleeves in London",
- "type": "Town",
- "url": "/projects/1060504029/covers-retracing-reggae-record-sleeves-in-london?ref=discovery"
- },
- {
- "s.no": 24,
- "amt.pledged": 12856,
- "blurb": "A guidebook of curious and creative activities to cultivate joy, wonder, and discovery in you and your garden.",
- "by": "Gayla Trail of You Grow Girl",
- "country": "CA",
- "currency": "cad",
- "end.time": "2016-11-03T22:00:00-04:00",
- "location": "Toronto, Canada",
- "percentage.funded": 64,
- "num.backers": "41733",
- "state": "ON",
- "title": "Grow Curious: A Gardener's Creative Activity Book",
- "type": "Town",
- "url": "/projects/yougrowgirl/grow-curious-a-gardeners-creative-activity-book?ref=discovery"
- },
- {
- "s.no": 25,
- "amt.pledged": 21625,
- "blurb": "Let's enable movement while upholding cultural beliefs, because all girls deserve to play. #MuslimsPlayStuff",
- "by": "ASIYA™ Modest Activewear",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-17T11:05:44-05:00",
- "location": "Minneapolis, MN",
- "percentage.funded": 86,
- "num.backers": "39560",
- "state": "MN",
- "title": "ASIYA™: Activewear Designed to Enable Muslim Athletes",
- "type": "Town",
- "url": "/projects/1913748268/asiyatm-activewear-designed-to-enable-muslim-athle?ref=discovery"
- },
- {
- "s.no": 26,
- "amt.pledged": 50706,
- "blurb": "The story of an international anti-cultwhose radical search for personal liberation incurred the wrath of British authorities.",
- "by": "Unclean Pictures",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-03T23:00:00-04:00",
- "location": "New York, NY",
- "percentage.funded": 101,
- "num.backers": "36781",
- "state": "NY",
- "title": "A MESSAGE FROM THE TEMPLE",
- "type": "Town",
- "url": "/projects/uncleanpictures/a-message-from-the-temple?ref=discovery"
- },
- {
- "s.no": 27,
- "amt.pledged": 9851,
- "blurb": "Gang tattoos are digitally removed from portraits of ex-gang members. Powerful and emotionally charged interviews follow.",
- "by": "Steven Burton",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-12T13:11:32-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 39,
- "num.backers": "36276",
- "state": "CA",
- "title": "Skin deep, ex-gang members looking beyond the tattoos",
- "type": "Town",
- "url": "/projects/1657996647/skin-deep-ex-gang-members-looking-beyond-the-tatto?ref=discovery"
- },
- {
- "s.no": 28,
- "amt.pledged": 70642,
- "blurb": "Fire, blood & Vikings! Stories from a time when kingdoms were forged in battle & the old ways still survived.",
- "by": "Ben Templesmith",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-02T09:58:00-04:00",
- "location": "Seattle, WA",
- "percentage.funded": 743,
- "num.backers": "35384",
- "state": "WA",
- "title": "BLOOD SONGS",
- "type": "Town",
- "url": "/projects/templesmith/blood-songs?ref=discovery"
- },
- {
- "s.no": 29,
- "amt.pledged": 123660,
- "blurb": "A Small, Portable Hardware Password Keeper to Keep Your Passwords Safe Wherever You Are",
- "by": "Stephan Electronics",
- "country": "CH",
- "currency": "chf",
- "end.time": "2016-11-07T10:16:51-05:00",
- "location": "Lausanne, Switzerland",
- "percentage.funded": 247,
- "num.backers": "34565",
- "state": "Canton of Vaud",
- "title": "Mooltipass Mini - Your Passwords On The Go!",
- "type": "Town",
- "url": "/projects/limpkin/mooltipass-mini-your-passwords-on-the-go?ref=discovery"
- },
- {
- "s.no": 30,
- "amt.pledged": 8544,
- "blurb": "The perfect bra at the click of a button.",
- "by": "Founder Danai L. Pointer",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-26T22:00:00-05:00",
- "location": "New York, NY",
- "percentage.funded": 42,
- "num.backers": "34397",
- "state": "NY",
- "title": "TruNude™",
- "type": "Town",
- "url": "/projects/875623672/trunudetm?ref=discovery"
- },
- {
- "s.no": 31,
- "amt.pledged": 26107,
- "blurb": "Art print and coloring book of a massive 6-foot-wide hand-drawn school loaded with clever gags, secret surprises and pink donuts",
- "by": "scott teplin",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-04T21:00:00-04:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 274,
- "num.backers": "33741",
- "state": "NY",
- "title": "BIG SCHOOL: Huge, maniacal drawing for print & coloring book",
- "type": "County",
- "url": "/projects/teplin/big-school-huge-maniacal-drawing-for-print-and-col?ref=discovery"
- },
- {
- "s.no": 32,
- "amt.pledged": 11330,
- "blurb": "Deluxe Mac&Cheese Kits that are as good as homemade. Our recipe creates an authentic bechamel-cheese sauce & includes a crouton topping",
- "by": "Chris McMurray",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-20T16:55:44-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 566,
- "num.backers": "31774",
- "state": "NY",
- "title": "Mac & Son - Mac & Cheese made better",
- "type": "County",
- "url": "/projects/1588077822/mac-and-son-mac-and-cheese-made-better?ref=discovery"
- },
- {
- "s.no": 33,
- "amt.pledged": 5908,
- "blurb": "A photography book filled with amazing pictures showcasing the diversity in colors and the life of street vendors in Hanoi.",
- "by": "Loes Heerink",
- "country": "VN",
- "currency": "eur",
- "end.time": "2016-11-14T09:33:39-05:00",
- "location": "Hanoi, Viet Nam",
- "percentage.funded": 159,
- "num.backers": "31497",
- "state": "Ha Noi",
- "title": "Unique photo book highlighting the beauty of street vendors",
- "type": "Town",
- "url": "/projects/125851434/vendors?ref=discovery"
- },
- {
- "s.no": 34,
- "amt.pledged": 21390,
- "blurb": "A colourful illustrated guide to the mythical creatures from Celtic myth, believed to inhabit the dramatic landscapes of Wales",
- "by": "Collette June Ellis",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-11-06T10:59:53-05:00",
- "location": "Wales, UK",
- "percentage.funded": 1069,
- "num.backers": "31178",
- "state": "England",
- "title": "An Illustrated Guide to Welsh Monsters & Mythical Beasts",
- "type": "Town",
- "url": "/projects/collettejellis/an-illustrated-guide-to-welsh-monsters-and-mythica?ref=discovery"
- },
- {
- "s.no": 35,
- "amt.pledged": 194009,
- "blurb": "Next level competitive miniature Board Game for 1-4 players from creator of Neuroshima Hex and Cry Havoc.",
- "by": "Awaken Realms",
- "country": "PL",
- "currency": "gbp",
- "end.time": "2016-11-14T12:12:22-05:00",
- "location": "Wroclaw, Poland",
- "percentage.funded": 485,
- "num.backers": "30546",
- "state": "Lower Silesia",
- "title": "The Edge: Dawnfall",
- "type": "Town",
- "url": "/projects/awakenrealms/the-edge-dawnfall?ref=discovery"
- },
- {
- "s.no": 36,
- "amt.pledged": 35313,
- "blurb": "We need your help to Prove Love Is Real and make a FREE Chuck Tingle Adventure Game for all True Buckaroos Who Kiss.",
- "by": "Zoë Quinn",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-16T11:40:11-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 50,
- "num.backers": "28818",
- "state": "CA",
- "title": "Kickstarted in the Butt: A Chuck Tingle Digital Adventure",
- "type": "Town",
- "url": "/projects/703752115/kickstarted-in-the-butt-a-chuck-tingle-digital-adv?ref=discovery"
- },
- {
- "s.no": 37,
- "amt.pledged": 52349,
- "blurb": "Andy Irons, 3-time world champion surfer who lived at the extremes of emotion, chased success only to be faced with challenges on shore",
- "by": "Teton Gravity Research",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-12T12:54:52-05:00",
- "location": "Jackson, WY",
- "percentage.funded": 34,
- "num.backers": "28274",
- "state": "WY",
- "title": "ANDY: The Untold Story of Andy Irons",
- "type": "Town",
- "url": "/projects/tetongravity/the-untold-story-of-andy-irons?ref=discovery"
- },
- {
- "s.no": 38,
- "amt.pledged": 14442,
- "blurb": "Tired of getting your news from sources funded by mega-corporations? Newsbud—100% people-funded media. Where media integrity matters.",
- "by": "Sibel Edmonds",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-27T02:04:46-05:00",
- "location": "Bend, OR",
- "percentage.funded": 11,
- "num.backers": "27060",
- "state": "OR",
- "title": "Support a 100% People-Funded Media—Newsbud, Phase 2",
- "type": "Town",
- "url": "/projects/141490519/support-a-100-people-funded-medianewsbud-phase-2?ref=discovery"
- },
- {
- "s.no": 39,
- "amt.pledged": 334324,
- "blurb": "Join us on our journey to preserve an American icon #KeepThemRuby",
- "by": "Smithsonian Institution",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-16T23:59:00-05:00",
- "location": "Washington, DC",
- "percentage.funded": 111,
- "num.backers": "26457",
- "state": "DC",
- "title": "Conserve Dorothy's RUBY SLIPPERS",
- "type": "Town",
- "url": "/projects/smithsonian/conserve-dorothys-ruby-slippers?ref=discovery"
- },
- {
- "s.no": 40,
- "amt.pledged": 43926,
- "blurb": "comp is a redesign of the classic composition notebook––made for the 21st century. ",
- "by": "Aron Fay",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-23T18:00:00-05:00",
- "location": "Manhattan, NY",
- "percentage.funded": 55,
- "num.backers": "26359",
- "state": "NY",
- "title": "comp",
- "type": "County",
- "url": "/projects/comp/comp?ref=discovery"
- },
- {
- "s.no": 41,
- "amt.pledged": 8445,
- "blurb": "We are two best friends/sisters whose dream is to share our buttery, smooth, melt-in-your-mouth caramels with you!",
- "by": "Alysia and Tammy Lok",
- "country": "CA",
- "currency": "cad",
- "end.time": "2016-11-25T09:30:49-05:00",
- "location": "Edmonton, Canada",
- "percentage.funded": 64,
- "num.backers": "25681",
- "state": "AB",
- "title": "Caramia Caramels",
- "type": "Town",
- "url": "/projects/1746625989/caramia-caramels?ref=discovery"
- },
- {
- "s.no": 42,
- "amt.pledged": 20537,
- "blurb": "I've been living on the road, writing the songs, and now I'm ready to head in to the studio- with your help! Let's make this album!",
- "by": "Chelsea Berry",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-10-30T15:38:36-04:00",
- "location": "Gloucester, MA",
- "percentage.funded": 114,
- "num.backers": "24883",
- "state": "MA",
- "title": "You and Chelsea Berry making a new album!",
- "type": "Town",
- "url": "/projects/chelseaberry/you-and-chelsea-berry-making-a-new-album?ref=discovery"
- },
- {
- "s.no": 43,
- "amt.pledged": 19852,
- "blurb": "Localizing and publishing Osamu Tezuka’s dark anthology works. Prepare yourself! And a special reintroduction to: The Crater !!!",
- "by": "digitalmanga",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-26T13:59:52-05:00",
- "location": "Gardena, CA",
- "percentage.funded": 79,
- "num.backers": "24346",
- "state": "CA",
- "title": "Re-Launch of Tezuka's - Under the Air (Classic Manga)",
- "type": "Town",
- "url": "/projects/digitalmanga/re-launch-of-tezukas-under-the-air-classic-manga?ref=discovery"
- },
- {
- "s.no": 44,
- "amt.pledged": 20225,
- "blurb": "A 36 card Lenormand divination deck of surreal symbolism, and the final companion deck to The Wooden Tarot and Earthbound Oracle.",
- "by": "Andy Swartz",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-10-31T19:00:00-04:00",
- "location": "Atlanta, GA",
- "percentage.funded": 518,
- "num.backers": "24150",
- "state": "GA",
- "title": "The Seeker's Lenormand Deck",
- "type": "Town",
- "url": "/projects/skullgarden/the-seekers-lenormand-deck?ref=discovery"
- },
- {
- "s.no": 45,
- "amt.pledged": 16297,
- "blurb": "Villains are bad tempered guys, what if we try to change that by giving them some love?",
- "by": "Nacho Diaz",
- "country": "ES",
- "currency": "eur",
- "end.time": "2016-11-09T13:03:47-05:00",
- "location": "Barcelona, Spain",
- "percentage.funded": 325,
- "num.backers": "23999",
- "state": "Catalonia",
- "title": "Villains Need Love - Art Book",
- "type": "Town",
- "url": "/projects/naolito/villains-need-love-art-book?ref=discovery"
- },
- {
- "s.no": 46,
- "amt.pledged": 7152,
- "blurb": "Planned to make an album. Didn't plan to have a coma. Had a coma. Now I'm back to making an album with your help. Let's do this!",
- "by": "Julia Weldon",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-24T08:28:09-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 47,
- "num.backers": "23626",
- "state": "NY",
- "title": "Julia Weldon: Alive! and Making a New Album",
- "type": "County",
- "url": "/projects/2146098307/julia-weldon-alive-and-making-a-new-album?ref=discovery"
- },
- {
- "s.no": 47,
- "amt.pledged": 14322,
- "blurb": "When an aged mortal man and immortal vampire fall in love, painful realities about death—and the deathless—interfere.",
- "by": "IronSpike",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-23T16:00:30-05:00",
- "location": "Chicago, IL",
- "percentage.funded": 179,
- "num.backers": "23331",
- "state": "IL",
- "title": "Letters for Lucardo: An Erotic Graphic Novel",
- "type": "Town",
- "url": "/projects/ironspike/letters-for-lucardo-an-erotic-graphic-novel?ref=discovery"
- },
- {
- "s.no": 48,
- "amt.pledged": 40070,
- "blurb": "A picture book adaptation of the classical On The Origin Of Species. Great for children and grownups!",
- "by": "Sabina Radeva",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-11-09T09:41:26-05:00",
- "location": "Oxford, UK",
- "percentage.funded": 2108,
- "num.backers": "22844",
- "state": "England",
- "title": "Darwin’s On the Origin of Species: A Picture Book Adaptation",
- "type": "Town",
- "url": "/projects/1128391174/darwins-on-the-origin-of-species-a-picture-book-ad?ref=discovery"
- },
- {
- "s.no": 49,
- "amt.pledged": 36662,
- "blurb": "Once again, show us your love and support. Make a generous donation for the Season 8 of the Invisible Dog!",
- "by": "Lucien Zayan",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-09T18:30:00-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 146,
- "num.backers": "22361",
- "state": "NY",
- "title": "THE INVISIBLE DOG - SEASON 8",
- "type": "County",
- "url": "/projects/183275255/the-invisible-dog-season-8?ref=discovery"
- },
- {
- "s.no": 50,
- "amt.pledged": 4111,
- "blurb": "Help make room in the Kill Rock Stars office by purchasing CDs, LPs, and cassettes at a serious discount!",
- "by": "kill rock stars",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-24T14:13:33-05:00",
- "location": "Portland, OR",
- "percentage.funded": 411,
- "num.backers": "22322",
- "state": "OR",
- "title": "Help Kill Rock Stars make room in the office for 2017!",
- "type": "Town",
- "url": "/projects/killrockstars/help-kill-rock-stars-make-room-in-the-office-for-2?ref=discovery"
- },
- {
- "s.no": 51,
- "amt.pledged": 38678,
- "blurb": "Build a language, build a world. Who were the Isolation, and how were they lost? In this game, your language is the story.",
- "by": "Thorny Games",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-09T02:00:00-05:00",
- "location": "San Francisco, CA",
- "percentage.funded": 1289,
- "num.backers": "22195",
- "state": "CA",
- "title": "Dialect: A Game about Language and How it Dies",
- "type": "Town",
- "url": "/projects/347698129/dialect-a-game-about-language-and-how-it-dies?ref=discovery"
- },
- {
- "s.no": 52,
- "amt.pledged": 5103,
- "blurb": "Your favorite giraffestronaut and robot are back, and this time they're forming a rescue party to search for a missing Mars rover.",
- "by": "Andrew Rader",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-01T02:59:00-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 51,
- "num.backers": "21975",
- "state": "CA",
- "title": "Mars Rover Rescue",
- "type": "Town",
- "url": "/projects/1734237858/mars-rover-rescue?ref=discovery"
- },
- {
- "s.no": 53,
- "amt.pledged": 10658,
- "blurb": "Help Copper Canyon Press publish the definitive collection of W.S. Merwin’s poetry.",
- "by": "Copper Canyon Press",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-01T20:00:00-05:00",
- "location": "Seattle, WA",
- "percentage.funded": 21,
- "num.backers": "21858",
- "state": "WA",
- "title": "The Essential W.S. Merwin",
- "type": "Town",
- "url": "/projects/896286441/the-essential-ws-merwin?ref=discovery"
- },
- {
- "s.no": 54,
- "amt.pledged": 5811,
- "blurb": "Make your holidays a little stranger with these 4 King in Yellow inspired Christmas cards beautifully illustrated by Heather Hudson.",
- "by": "Studio WonderCabinet",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-15T23:00:00-05:00",
- "location": "Seattle, WA",
- "percentage.funded": 290,
- "num.backers": "Cambridge, MA",
- "state": "WA",
- "title": "The King in Yellow Christmas Cards",
- "type": "Town",
- "url": "/projects/1464564021/the-king-in-yellow-christmas-cards?ref=discovery"
- },
- {
- "s.no": 55,
- "amt.pledged": 5184,
- "blurb": "JazzNESs: A NES Classic Jazz Tributeis a jazz cover CD which encompasses Jazz Piano Trio arrangements of NES Classics.",
- "by": "Brian Ibbott",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-22T15:47:33-05:00",
- "location": "Arvada, CO",
- "percentage.funded": 60,
- "num.backers": "21625",
- "state": "CO",
- "title": "JazzNESs: A Nintendo Classic Jazz Tribute",
- "type": "Town",
- "url": "/projects/coverville/jazzness-a-nintendo-classic-jazz-tribute?ref=discovery"
- },
- {
- "s.no": 56,
- "amt.pledged": 7580,
- "blurb": "My Name Is Stardust was inspired by what Neil DeGrasse Tyson called “the most astounding fact”- that we are literally made of stardust.",
- "by": "Douglas Harris",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-17T08:01:11-05:00",
- "location": "Salt Lake City, UT",
- "percentage.funded": 59,
- "num.backers": "21455",
- "state": "UT",
- "title": "My Name Is Stardust: Children's Book About Science",
- "type": "Town",
- "url": "/projects/doughded/childrens-book-my-name-is-stardust?ref=discovery"
- },
- {
- "s.no": 57,
- "amt.pledged": 218565,
- "blurb": "Carcel is a fashion label from Copenhagen produced by women in prison and made from 100% natural materials.",
- "by": "Carcel",
- "country": "DK",
- "currency": "dkk",
- "end.time": "2016-11-24T05:10:23-05:00",
- "location": "Copenhagen, Denmark",
- "percentage.funded": 145,
- "num.backers": "21412",
- "state": "Hovedstaden",
- "title": "Danish Designer Wear - Made by Women in Prison",
- "type": "Town",
- "url": "/projects/1944171683/danish-designer-wear-made-by-women-in-prison?ref=discovery"
- },
- {
- "s.no": 58,
- "amt.pledged": 4522,
- "blurb": "Immortal Prosperity is a premium, highly-detailed coloring book featuring dragons and phoenixes. It is designed for people of all ages.",
- "by": "Art The Culture",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-25T18:55:24-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 116,
- "num.backers": "20915",
- "state": "NY",
- "title": "Immortal Prosperity: First Dragon & Phoenix Coloring Book",
- "type": "County",
- "url": "/projects/2066577066/immortal-prosperity-first-dragon-and-phoenix-color?ref=discovery"
- },
- {
- "s.no": 59,
- "amt.pledged": 6354,
- "blurb": "The Printed Walk is a letterpress-printed chronicle of an artist's 2017 thru-hike of the Appalachian Trail.",
- "by": "Lindsay Schmittle",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-04T12:48:48-05:00",
- "location": "Landenberg, PA",
- "percentage.funded": 44,
- "num.backers": "20787",
- "state": "PA",
- "title": "The Printed Walk: Georgia to Maine",
- "type": "Town",
- "url": "/projects/185016739/the-printed-walk-georgia-to-maine?ref=discovery"
- },
- {
- "s.no": 60,
- "amt.pledged": 15014,
- "blurb": "A story of a girl that marches to the beat of her own imagination.",
- "by": "Katie Newell",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-01T15:06:16-04:00",
- "location": "Grand Rapids, MI",
- "percentage.funded": 333,
- "num.backers": "New York, NY",
- "state": "MI",
- "title": "I'd Rather Be A Dragon",
- "type": "Town",
- "url": "/projects/1226138705/id-rather-be-a-dragon?ref=discovery"
- },
- {
- "s.no": 61,
- "amt.pledged": 10897,
- "blurb": "Playing cards that offer beer information and casual tasting guidance for the many conversations that happen over beer.",
- "by": "Dave Shea",
- "country": "CA",
- "currency": "cad",
- "end.time": "2016-11-18T17:00:00-05:00",
- "location": "Vancouver, Canada",
- "percentage.funded": 27,
- "num.backers": "20042",
- "state": "BC",
- "title": "The Palate Deck: Playing Cards for Beer Tasting",
- "type": "Town",
- "url": "/projects/mezzoblue/the-palate-deck-playing-cards-for-beer-tasting?ref=discovery"
- },
- {
- "s.no": 62,
- "amt.pledged": 272841,
- "blurb": "A 45 min sandbox adventure for 1-4 players w/ limited action selection, grid movement, press-your-luck & Item-Holding Meeples!",
- "by": "Gamelyn Games",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-27T01:59:00-05:00",
- "location": "Phoenix, AZ",
- "percentage.funded": 1818,
- "num.backers": "19829",
- "state": "AZ",
- "title": "Tiny Epic Quest - Introducing ITEMeeples™",
- "type": "Town",
- "url": "/projects/coe/tiny-epic-quest-introducing-itemeeplestm?ref=discovery"
- },
- {
- "s.no": 63,
- "amt.pledged": 32475,
- "blurb": "Geeky inside, gorgeous outside. These bike lights, speaker, lantern and head torch all use the same power bank as a universal battery.",
- "by": "Knog",
- "country": "AU",
- "currency": "aud",
- "end.time": "2016-11-26T07:42:38-05:00",
- "location": "Melbourne, AU",
- "percentage.funded": 43,
- "num.backers": "19611",
- "state": "VIC",
- "title": "PWR: an ecosystem of outdoor products using one power source",
- "type": "Town",
- "url": "/projects/1951570531/pwr-an-ecosystem-of-outdoor-products-using-one-pow?ref=discovery"
- },
- {
- "s.no": 64,
- "amt.pledged": 9884,
- "blurb": "The definitive documentary about the legendary Native Tongue Posse",
- "by": "Omar Akil",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-18T16:29:31-05:00",
- "location": "New York, NY",
- "percentage.funded": 20,
- "num.backers": "19541",
- "state": "NY",
- "title": "The Native Tongue Posse Documentary",
- "type": "Town",
- "url": "/projects/589799990/the-native-tongue-posse-documentary?ref=discovery"
- },
- {
- "s.no": 65,
- "amt.pledged": 26817,
- "blurb": "Our design philosophy embraces simplicity, enabling us to build a safe, high performance, and cost effective Hyperloop pod.",
- "by": "Waterloop",
- "country": "CA",
- "currency": "cad",
- "end.time": "2016-11-18T19:39:52-05:00",
- "location": "Waterloo, Canada",
- "percentage.funded": 134,
- "num.backers": "19349",
- "state": "ON",
- "title": "Waterloop: The Canadian SpaceX Hyperloop Competition Team",
- "type": "Town",
- "url": "/projects/1629380361/waterloop-the-canadian-spacex-hyperloop-competitio?ref=discovery"
- },
- {
- "s.no": 66,
- "amt.pledged": 933349,
- "blurb": "Sound waves convert the beer’s carbonation into densely compacted, uniform Micro-Foam™ bubbles unlocking that fresh-from-the-tap taste.",
- "by": "Fizzics Home Beer Draft System",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-04T09:01:25-04:00",
- "location": "San Francisco, CA",
- "percentage.funded": 1866,
- "num.backers": "18604",
- "state": "CA",
- "title": "Fizzics Waytap | Untap the full taste of beer with science",
- "type": "Town",
- "url": "/projects/161302347/fizzics-waytap-untap-the-full-taste-of-beer-with-s?ref=discovery"
- },
- {
- "s.no": 67,
- "amt.pledged": 45469,
- "blurb": "Inspired by a true robbery.",
- "by": "LudiCreations",
- "country": "DE",
- "currency": "usd",
- "end.time": "2016-10-30T23:55:00-04:00",
- "location": "Dusseldorf, Germany",
- "percentage.funded": 4546,
- "num.backers": "18558",
- "state": "North Rhine-Westphalia",
- "title": "Steal This Game",
- "type": "Town",
- "url": "/projects/ludicreations/steal-this-game?ref=discovery"
- },
- {
- "s.no": 68,
- "amt.pledged": 16653,
- "blurb": "Jailed for comics?! The true story of the only US artist convicted of obscenity, directed by cult filmmaker Frank Henenlotter.",
- "by": "Anthony Sneed",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-17T21:00:00-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 41,
- "num.backers": "18220",
- "state": "NY",
- "title": "The Trial of Mike Diana",
- "type": "Zip",
- "url": "/projects/1300283850/the-trial-of-mike-diana?ref=discovery"
- },
- {
- "s.no": 69,
- "amt.pledged": 13447,
- "blurb": "Pseudopod the weekly short horror fiction podcast is celebrating its 10th Halloween and is raising funds to pay their narrators.",
- "by": "Escape Artists Inc.",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-22T22:00:00-05:00",
- "location": "Atlanta, GA",
- "percentage.funded": 43,
- "num.backers": "18209",
- "state": "GA",
- "title": "Pseudopod: Year 10",
- "type": "Town",
- "url": "/projects/1013714773/pseudopod-year-10?ref=discovery"
- },
- {
- "s.no": 70,
- "amt.pledged": 238114,
- "blurb": "The first smart coffee instrument with a built-in scale and an app enables you to brew coffee with pour-over, immersion and cold drip.",
- "by": "Anze Miklavec",
- "country": "SI",
- "currency": "usd",
- "end.time": "2016-12-17T08:00:50-05:00",
- "location": "Ljubljana, Slovenia",
- "percentage.funded": 476,
- "num.backers": "18126",
- "state": "Ljubljana",
- "title": "GINA: Smart coffee instrument / by GOAT STORY",
- "type": "Town",
- "url": "/projects/goat-mug/gina-smart-coffee-instrument-by-goat-story?ref=discovery"
- },
- {
- "s.no": 71,
- "amt.pledged": 21227,
- "blurb": "Pocket-size weekly planner full of tiny jokes, activities and nagging to (maybe???) help you keep your s*** together in the new year.",
- "by": "Adam J. Kurtz",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-17T07:35:14-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 816,
- "num.backers": "17765",
- "state": "NY",
- "title": "Unsolicited Advice: 2017 Weekly Planner",
- "type": "County",
- "url": "/projects/adamjk/unsolicited-advice-2017-weekly-planner?ref=discovery"
- },
- {
- "s.no": 72,
- "amt.pledged": 236963,
- "blurb": "Banish messy cables and slow charging forever with ECLIPSE – the new, neater way to charge your daily devices.",
- "by": "Native Union",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-18T12:00:00-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 473,
- "num.backers": "17744",
- "state": "CA",
- "title": "ECLIPSE - Say Goodbye to Messy Cables",
- "type": "Town",
- "url": "/projects/nativeunion/eclipse-say-goodbye-to-messy-cables?ref=discovery"
- },
- {
- "s.no": 73,
- "amt.pledged": 206691,
- "blurb": "A casual card game for grownups who feel like they're pretending.",
- "by": "Jason Anarchy",
- "country": "CA",
- "currency": "cad",
- "end.time": "2016-10-31T10:06:02-04:00",
- "location": "Toronto, Canada",
- "percentage.funded": 3444,
- "num.backers": "17739",
- "state": "ON",
- "title": "Pretending to Grownup",
- "type": "Town",
- "url": "/projects/drinkingquest/pretending-to-grownup?ref=discovery"
- },
- {
- "s.no": 74,
- "amt.pledged": 1731,
- "blurb": "A new kind of interactive publication that encourages girls to be girls; independent, strong, smart, and proud of who they are.",
- "by": "Bright Lite",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-26T13:44:49-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 17,
- "num.backers": "17733",
- "state": "CA",
- "title": "Bright Lite Magazine: For Girls, By Girls",
- "type": "Town",
- "url": "/projects/71736074/bright-lite-magazine-for-girls-by-girls?ref=discovery"
- },
- {
- "s.no": 75,
- "amt.pledged": 368580,
- "blurb": "Font Awesome makes it easy to add vector icons and social logos to your website. And Pro gives 1,000+ more icons and SVG support!",
- "by": "Dave Gandy",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-01T12:01:00-05:00",
- "location": "Cambridge, MA",
- "percentage.funded": 1228,
- "num.backers": "17713",
- "state": "MA",
- "title": "Font Awesome 5",
- "type": "Town",
- "url": "/projects/232193852/font-awesome-5?ref=discovery"
- },
- {
- "s.no": 76,
- "amt.pledged": 12091,
- "blurb": "Bowie's world debuts of Hunky Dory & Ziggy Stardust were at Friars Aylesbury. We are creating a stunning statue in the Market Square.",
- "by": "David Stopps for Friars Aylesbury",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-12-06T06:38:11-05:00",
- "location": "Aylesbury, UK",
- "percentage.funded": 12,
- "num.backers": "17614",
- "state": "England",
- "title": "David Bowie Statue - Aylesbury Market Square UK",
- "type": "Town",
- "url": "/projects/1980358464/david-bowie-statue-aylesbury-market-square-uk?ref=discovery"
- },
- {
- "s.no": 77,
- "amt.pledged": 6344,
- "blurb": "A photography book exploring a family's journey through the hallucinatory wake of Hurricane Sandy’s devastation.",
- "by": "Michael Marcelle",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-27T08:20:56-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 31,
- "num.backers": "17218",
- "state": "NY",
- "title": "Kokomo, A Photography Book",
- "type": "County",
- "url": "/projects/1869229839/kokomo-a-photography-book?ref=discovery"
- },
- {
- "s.no": 78,
- "amt.pledged": 83860,
- "blurb": "Meet the stylus that works like the pencil you grew up with. Flip has the features of an active stylus without Bluetooth or batteries!",
- "by": "Lynktec",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-14T08:57:37-05:00",
- "location": "Chicago, IL",
- "percentage.funded": 1118,
- "num.backers": "17184",
- "state": "IL",
- "title": "Flip! The World’s Most Intuitive Smart Stylus",
- "type": "Town",
- "url": "/projects/lynktec/flip-the-worlds-most-intuitive-smart-stylus?ref=discovery"
- },
- {
- "s.no": 79,
- "amt.pledged": 70593,
- "blurb": "An oversized archival art book collecting the unforgettable-yet-forgotten work of Herbert Crowley, and telling his remarkable story.",
- "by": "Beehive Books",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-11T23:59:00-05:00",
- "location": "Philadelphia, PA",
- "percentage.funded": 141,
- "num.backers": "17029",
- "state": "PA",
- "title": "The Temple of Silence: Forgotten Worlds of Herbert Crowley",
- "type": "Town",
- "url": "/projects/beehivebooks/the-temple-of-silence-forgotten-worlds-of-herbert?ref=discovery"
- },
- {
- "s.no": 80,
- "amt.pledged": 92350,
- "blurb": "Root is more than just a robot that drives on walls. It turns paper or whiteboards into an intuitive and interactive coding experience.",
- "by": "Scansorial",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-29T22:00:00-05:00",
- "location": "Cambridge, MA",
- "percentage.funded": 36,
- "num.backers": "16936",
- "state": "MA",
- "title": "Root - A robot to teach coding",
- "type": "Town",
- "url": "/projects/1509453982/root-a-robot-to-teach-coding?ref=discovery"
- },
- {
- "s.no": 81,
- "amt.pledged": 24940,
- "blurb": "The world's fastest and most affordable gel manicure kits! DIY gel nails (with a cute macaron lamp) when you want, where you want!",
- "by": "Christina Kao",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-22T00:00:00-05:00",
- "location": "Birmingham, AL",
- "percentage.funded": 249,
- "num.backers": "16850",
- "state": "AL",
- "title": "LE MINI MACARON | Best 15Min Gel Nail Kit | The Perfect Gift",
- "type": "Town",
- "url": "/projects/1643301879/le-mini-macaron-best-15min-gel-nail-kit-the-perfec?ref=discovery"
- },
- {
- "s.no": 82,
- "amt.pledged": 61377,
- "blurb": "A Fluid Smart-Home and Apps controller, Bixi senses your in-air gestures and commands the smart devices for a touch-free use!",
- "by": "Bixi",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-03T11:35:07-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 245,
- "num.backers": "16732",
- "state": "CA",
- "title": "Bixi: Control Any Smart Device by Simply Waving Your Hand!",
- "type": "Town",
- "url": "/projects/1860920533/bixi-control-any-smart-device-by-simply-waving-you?ref=discovery"
- },
- {
- "s.no": 83,
- "amt.pledged": 91680,
- "blurb": "The multi-award winning dark fantasy RPG from France, between Ravenloft, Game of Thrones and Call of Cthulhu.",
- "by": "Jim Searcy",
- "country": "FR",
- "currency": "usd",
- "end.time": "2016-11-18T04:00:00-05:00",
- "location": "Paris, France",
- "percentage.funded": 458,
- "num.backers": "16538",
- "state": "Ile-de-France",
- "title": "Shadows of Esteren - A Medieval Horror RPG: Dearg",
- "type": "Town",
- "url": "/projects/1176616619/shadows-of-esteren-a-medieval-horror-rpg-dearg?ref=discovery"
- },
- {
- "s.no": 84,
- "amt.pledged": 27997,
- "blurb": "3D printed solar system of your personal date, custom made with NASA's data. pendant / keyring ideal for Astronomy & Science lovers.",
- "by": "govy",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-15T06:00:00-05:00",
- "location": "New York, NY",
- "percentage.funded": 27997,
- "num.backers": "16537",
- "state": "NY",
- "title": "SpaceTime Coordinates Memento ~ your personal place in space",
- "type": "Town",
- "url": "/projects/govy/spacetime-coordinates-memento?ref=discovery"
- },
- {
- "s.no": 85,
- "amt.pledged": 296979,
- "blurb": "Life's hard when you're a Lich. Join Steve and his friends during their everyday lives down in the dungeon. (Hardcover, 400 pages)",
- "by": "Acceptable Comics",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-10-31T23:59:00-04:00",
- "location": "Bristol, RI",
- "percentage.funded": 1649,
- "num.backers": "16459",
- "state": "RI",
- "title": "Steve Lichman - Volume 2",
- "type": "Town",
- "url": "/projects/stevelichman/steve-lichman-volume-2?ref=discovery"
- },
- {
- "s.no": 86,
- "amt.pledged": 5384,
- "blurb": "'Gaelic Americana' singer-songwriter Kyle Carey is making a new album! Will you join her on the journey?",
- "by": "Kyle Carey",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-30T13:24:51-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 19,
- "num.backers": "16408",
- "state": "NY",
- "title": "The Art of Forgetting' - Kyle Carey's New Album",
- "type": "County",
- "url": "/projects/kylecarey/the-art-of-forgetting-kyle-careys-new-album?ref=discovery"
- },
- {
- "s.no": 87,
- "amt.pledged": 104316,
- "blurb": "Caitlin Moran makes an indecent proposal to Della to save RAISED BY WOLVES & give the world more 'Ripley-from-Alien'-style parenting.",
- "by": "Caitlin Moran and Caroline Moran",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-11-20T18:00:00-05:00",
- "location": "Wolverhampton, UK",
- "percentage.funded": 32,
- "num.backers": "16335",
- "state": "England",
- "title": "Save The Wolves!",
- "type": "Town",
- "url": "/projects/raisedbywolves/save-the-wolves?ref=discovery"
- },
- {
- "s.no": 88,
- "amt.pledged": 21541,
- "blurb": "An authentic Jewish delicatessen open seven days a week, where traditional recipes are made expertly in house with great love and care.",
- "by": "Monty's Deli",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-11-13T04:34:05-05:00",
- "location": "London, UK",
- "percentage.funded": 43,
- "num.backers": "16180",
- "state": "England",
- "title": "Monty's Deli - A real Jewish deli",
- "type": "Town",
- "url": "/projects/1061292574/montys-deli-a-real-jewish-deli?ref=discovery"
- },
- {
- "s.no": 89,
- "amt.pledged": 12959,
- "blurb": "A highly-produced storytelling podcast about Apple and the community around it. 8 brand new episodes, coming Summer 2017.",
- "by": "Mark Bramhill",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-17T20:00:00-05:00",
- "location": "Houston, TX",
- "percentage.funded": 129,
- "num.backers": "16038",
- "state": "TX",
- "title": "Welcome to Macintosh: Season 3",
- "type": "Town",
- "url": "/projects/bramhill/welcome-to-macintosh-season-3?ref=discovery"
- },
- {
- "s.no": 90,
- "amt.pledged": 198896,
- "blurb": "Your alarm clock is now a personal assistant. By learning about your agenda and hobbies, Bonjour helps make the most of each day.",
- "by": "BONJOUR",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-05T10:59:46-05:00",
- "location": "Los Angeles, CA",
- "percentage.funded": 397,
- "num.backers": "15998",
- "state": "CA",
- "title": "Bonjour | Smart Alarm Clock with Artificial Intelligence",
- "type": "Town",
- "url": "/projects/1450781303/bonjour-smart-alarm-clock-with-artificial-intellig?ref=discovery"
- },
- {
- "s.no": 91,
- "amt.pledged": 55522,
- "blurb": "A 10-minute social deduction game for 4-8 monsters. Featuring gorgeous, thematic art and 12 roles with unique abilities!",
- "by": "Blue Beard Entertainment",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-11T20:00:00-05:00",
- "location": "St. Louis, MO",
- "percentage.funded": 694,
- "num.backers": "15824",
- "state": "MO",
- "title": "Dracula’s Feast: A monstrous game of secrets and deduction",
- "type": "Town",
- "url": "/projects/peterchayward/draculas-feast-a-monstrous-game-of-secrets-and-ded?ref=discovery"
- },
- {
- "s.no": 92,
- "amt.pledged": 11621,
- "blurb": "A new documentary exploring the growing privatization of public schools, and the impact on America's most vulnerable children.",
- "by": "Sarah Mondale",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-18T21:16:05-05:00",
- "location": "Suffern, NY",
- "percentage.funded": 36,
- "num.backers": "15802",
- "state": "NY",
- "title": "BACKPACK FULL OF CASH: a new film, narrated by Matt Damon",
- "type": "Town",
- "url": "/projects/1974989045/backpack-full-of-cash-a-new-film-narrated-by-matt?ref=discovery"
- },
- {
- "s.no": 93,
- "amt.pledged": 7542,
- "blurb": "The Real Story of Ruth the Tooth is an adventurous children's book that is a special kind of 3D and comes with a read along record.",
- "by": "Tripper Dungan",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-10-31T19:06:38-04:00",
- "location": "Portland, OR",
- "percentage.funded": 91,
- "num.backers": "15736",
- "state": "OR",
- "title": "The Real Story of Ruth the Tooth, 3D Book and Record",
- "type": "Town",
- "url": "/projects/tripperdungan/the-real-story-of-ruth-the-tooth-3d-book-and-recor?ref=discovery"
- },
- {
- "s.no": 94,
- "amt.pledged": 41168,
- "blurb": "Strange Matter Coffee is opening a scratch bakery featuring craft doughnuts with vegan and gluten free options!",
- "by": "Cara Nader",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-10-30T11:25:38-04:00",
- "location": "Lansing, MI",
- "percentage.funded": 102,
- "num.backers": "15623",
- "state": "MI",
- "title": "Doughnuts with love by Strange Matter Coffee",
- "type": "Town",
- "url": "/projects/1174317590/doughnuts-with-love-by-strange-matter-coffee?ref=discovery"
- },
- {
- "s.no": 95,
- "amt.pledged": 180642,
- "blurb": "Knit with ultrasoft, naturally insulating llama fiber, the Libre is engineered for the city, the summit, and everything in between.",
- "by": "Cotopaxi",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-16T15:27:10-05:00",
- "location": "Salt Lake City, UT",
- "percentage.funded": 903,
- "num.backers": "15352",
- "state": "UT",
- "title": "The Libre Sweater: Insulator. Outer layer. Epic enabler.",
- "type": "Town",
- "url": "/projects/cotopaxi/the-libre-sweater-insulator-outer-layer-epic-enabl?ref=discovery"
- },
- {
- "s.no": 96,
- "amt.pledged": 439909,
- "blurb": "An Android Nougat-powered device exclusive on Kickstarter for $99. Engineered to be a 4K TV set-top box, gaming console, and PC in one.",
- "by": "Jide Tech",
- "country": "CN",
- "currency": "usd",
- "end.time": "2016-11-19T10:57:37-05:00",
- "location": "Beijing, China",
- "percentage.funded": 175,
- "num.backers": "15251",
- "state": "Beijing",
- "title": "Remix IO - A 4K, Nougat-powered, All-in-One device",
- "type": "Town",
- "url": "/projects/jidetech/remix-io-a-4k-nougat-powered-all-in-one-device?ref=discovery"
- },
- {
- "s.no": 97,
- "amt.pledged": 318367,
- "blurb": "Build it. Code it. Fly it. The First Modular Drone Transforms into Whatever You Want",
- "by": "Makeblock",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-14T08:00:00-05:00",
- "location": "San Francisco, CA",
- "percentage.funded": 318,
- "num.backers": "15129",
- "state": "CA",
- "title": "Airblock: The Modular and Programmable Starter Drone",
- "type": "Town",
- "url": "/projects/1818505613/airblock-the-modular-and-programmable-starter-dron?ref=discovery"
- },
- {
- "s.no": 98,
- "amt.pledged": 1416,
- "blurb": "The premier of Triangle Theory, a dance about triangles in three parts, at Roulette Intermedium November 28-30, 2016.",
- "by": "Kyli Kleven",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-11-13T23:59:00-05:00",
- "location": "Brooklyn, NY",
- "percentage.funded": 31,
- "num.backers": "15029",
- "state": "NY",
- "title": "Triangle Theory",
- "type": "County",
- "url": "/projects/872122110/triangle-theory?ref=discovery"
- },
- {
- "s.no": 99,
- "amt.pledged": 130010,
- "blurb": "Help us publish the first exact copy of Fortunato Depero’s 1927 iconic work of avant-garde graphic design and book-making.",
- "by": "Designers & Books",
- "country": "US",
- "currency": "usd",
- "end.time": "2016-12-01T23:59:00-05:00",
- "location": "Manhattan, NY",
- "percentage.funded": 52,
- "num.backers": "14964",
- "state": "NY",
- "title": "The Bolted Book Facsimile: An Exact Copy of Depero Futurista",
- "type": "County",
- "url": "/projects/1204158310/the-bolted-book-facsimile-an-exact-copy-of-depero?ref=discovery"
- },
- {
- "s.no": 100,
- "amt.pledged": 10573,
- "blurb": "Helios is a modular touch screen wall light that turns walls into a canvas for illumination, using your hand as the brush.",
- "by": "Dyena",
- "country": "GB",
- "currency": "gbp",
- "end.time": "2016-12-17T09:44:39-05:00",
- "location": "Southampton, UK",
- "percentage.funded": 10,
- "num.backers": "14952",
- "state": "England",
- "title": "Helios Touch Modular Lighting",
- "type": "Town",
- "url": "/projects/1987956413/helios-touch-modular-lighting?ref=discovery"
- }
-]
\ No newline at end of file
diff --git a/index.css b/index.css
new file mode 100644
index 000000000..e69de29bb
diff --git a/index.html b/index.html
new file mode 100644
index 000000000..995c57c51
--- /dev/null
+++ b/index.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+ SaaS labs
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 000000000..c892e1bc2
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,3255 @@
+{
+ "name": "saas-labs",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "saas-labs",
+ "version": "1.0.0",
+ "license": "ISC",
+ "dependencies": {
+ "prop-types": "^15.8.1",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0"
+ },
+ "devDependencies": {
+ "parcel": "^2.10.2",
+ "process": "^0.11.10"
+ }
+ },
+ "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,
+ "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/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,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@lezer/common": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.3.tgz",
+ "integrity": "sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==",
+ "dev": true
+ },
+ "node_modules/@lezer/lr": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz",
+ "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==",
+ "dev": true,
+ "dependencies": {
+ "@lezer/common": "^1.0.0"
+ }
+ },
+ "node_modules/@lmdb/lmdb-darwin-arm64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz",
+ "integrity": "sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-darwin-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz",
+ "integrity": "sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-arm": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz",
+ "integrity": "sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-arm64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz",
+ "integrity": "sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-linux-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz",
+ "integrity": "sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@lmdb/lmdb-win32-x64": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz",
+ "integrity": "sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@mischnic/json-sourcemap": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz",
+ "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==",
+ "dev": true,
+ "dependencies": {
+ "@lezer/common": "^1.0.0",
+ "@lezer/lr": "^1.0.0",
+ "json5": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
+ "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
+ "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
+ "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
+ "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
+ "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
+ "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@parcel/bundler-default": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.13.3.tgz",
+ "integrity": "sha512-mOuWeth0bZzRv1b9Lrvydis/hAzJyePy0gwa0tix3/zyYBvw0JY+xkXVR4qKyD/blc1Ra2qOlfI2uD3ucnsdXA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/graph": "3.3.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/cache": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.13.3.tgz",
+ "integrity": "sha512-Vz5+K5uCt9mcuQAMDo0JdbPYDmVdB8Nvu/A2vTEK2rqZPxvoOTczKeMBA4JqzKqGURHPRLaJCvuR8nDG+jhK9A==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/fs": "2.13.3",
+ "@parcel/logger": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "lmdb": "2.8.5"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@parcel/codeframe": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.13.3.tgz",
+ "integrity": "sha512-L/PQf+PT0xM8k9nc0B+PxxOYO2phQYnbuifu9o4pFRiqVmCtHztP+XMIvRJ2gOEXy3pgAImSPFVJ3xGxMFky4g==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/compressor-raw": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.13.3.tgz",
+ "integrity": "sha512-C6vjDlgTLjYc358i7LA/dqcL0XDQZ1IHXFw6hBaHHOfxPKW2T4bzUI6RURyToEK9Q1X7+ggDKqgdLxwp4veCFg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/config-default": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.13.3.tgz",
+ "integrity": "sha512-WUsx83ic8DgLwwnL1Bua4lRgQqYjxiTT+DBxESGk1paNm1juWzyfPXEQDLXwiCTcWMQGiXQFQ8OuSISauVQ8dQ==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/bundler-default": "2.13.3",
+ "@parcel/compressor-raw": "2.13.3",
+ "@parcel/namer-default": "2.13.3",
+ "@parcel/optimizer-css": "2.13.3",
+ "@parcel/optimizer-htmlnano": "2.13.3",
+ "@parcel/optimizer-image": "2.13.3",
+ "@parcel/optimizer-svgo": "2.13.3",
+ "@parcel/optimizer-swc": "2.13.3",
+ "@parcel/packager-css": "2.13.3",
+ "@parcel/packager-html": "2.13.3",
+ "@parcel/packager-js": "2.13.3",
+ "@parcel/packager-raw": "2.13.3",
+ "@parcel/packager-svg": "2.13.3",
+ "@parcel/packager-wasm": "2.13.3",
+ "@parcel/reporter-dev-server": "2.13.3",
+ "@parcel/resolver-default": "2.13.3",
+ "@parcel/runtime-browser-hmr": "2.13.3",
+ "@parcel/runtime-js": "2.13.3",
+ "@parcel/runtime-react-refresh": "2.13.3",
+ "@parcel/runtime-service-worker": "2.13.3",
+ "@parcel/transformer-babel": "2.13.3",
+ "@parcel/transformer-css": "2.13.3",
+ "@parcel/transformer-html": "2.13.3",
+ "@parcel/transformer-image": "2.13.3",
+ "@parcel/transformer-js": "2.13.3",
+ "@parcel/transformer-json": "2.13.3",
+ "@parcel/transformer-postcss": "2.13.3",
+ "@parcel/transformer-posthtml": "2.13.3",
+ "@parcel/transformer-raw": "2.13.3",
+ "@parcel/transformer-react-refresh-wrap": "2.13.3",
+ "@parcel/transformer-svg": "2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@parcel/core": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.13.3.tgz",
+ "integrity": "sha512-SRZFtqGiaKHlZ2YAvf+NHvBFWS3GnkBvJMfOJM7kxJRK3M1bhbwJa/GgSdzqro5UVf9Bfj6E+pkdrRQIOZ7jMQ==",
+ "dev": true,
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.0",
+ "@parcel/cache": "2.13.3",
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/events": "2.13.3",
+ "@parcel/feature-flags": "2.13.3",
+ "@parcel/fs": "2.13.3",
+ "@parcel/graph": "3.3.3",
+ "@parcel/logger": "2.13.3",
+ "@parcel/package-manager": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/profiler": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/types": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "@parcel/workers": "2.13.3",
+ "base-x": "^3.0.8",
+ "browserslist": "^4.6.6",
+ "clone": "^2.1.1",
+ "dotenv": "^16.4.5",
+ "dotenv-expand": "^11.0.6",
+ "json5": "^2.2.0",
+ "msgpackr": "^1.9.9",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/diagnostic": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.13.3.tgz",
+ "integrity": "sha512-C70KXLBaXLJvr7XCEVu8m6TqNdw1gQLxqg5BQ8roR62R4vWWDnOq8PEksxDi4Y8Z/FF4i3Sapv6tRx9iBNxDEg==",
+ "dev": true,
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/events": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.13.3.tgz",
+ "integrity": "sha512-ZkSHTTbD/E+53AjUzhAWTnMLnxLEU5yRw0H614CaruGh+GjgOIKyukGeToF5Gf/lvZ159VrJCGE0Z5EpgHVkuQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/feature-flags": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/feature-flags/-/feature-flags-2.13.3.tgz",
+ "integrity": "sha512-UZm14QpamDFoUut9YtCZSpG1HxPs07lUwUCpsAYL0PpxASD3oWJQxIJGfDZPa2272DarXDG9adTKrNXvkHZblw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/fs": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.13.3.tgz",
+ "integrity": "sha512-+MPWAt0zr+TCDSlj1LvkORTjfB/BSffsE99A9AvScKytDSYYpY2s0t4vtV9unSh0FHMS2aBCZNJ4t7KL+DcPIg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/feature-flags": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/types-internal": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "@parcel/watcher": "^2.0.7",
+ "@parcel/workers": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@parcel/graph": {
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.3.3.tgz",
+ "integrity": "sha512-pxs4GauEdvCN8nRd6wG3st6LvpHske3GfqGwUSR0P0X0pBPI1/NicvXz6xzp3rgb9gPWfbKXeI/2IOTfIxxVfg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/feature-flags": "2.13.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/logger": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.13.3.tgz",
+ "integrity": "sha512-8YF/ZhsQgd7ohQ2vEqcMD1Ag9JlJULROWRPGgGYLGD+twuxAiSdiFBpN3f+j4gQN4PYaLaIS/SwUFx11J243fQ==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/events": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/markdown-ansi": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.13.3.tgz",
+ "integrity": "sha512-B4rUdlNUulJs2xOQuDbN7Hq5a9roq8IZUcJ1vQ8PAv+zMGb7KCfqIIr/BSCDYGhayfAGBVWW8x55Kvrl1zrDYw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/namer-default": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.13.3.tgz",
+ "integrity": "sha512-A2a5A5fuyNcjSGOS0hPcdQmOE2kszZnLIXof7UMGNkNkeC62KAG8WcFZH5RNOY3LT5H773hq51zmc2Y2gE5Rnw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/node-resolver-core": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.4.3.tgz",
+ "integrity": "sha512-IEnMks49egEic1ITBp59VQyHzkSQUXqpU9hOHwqN3KoSTdZ6rEgrXcS3pa6tdXay4NYGlcZ88kFCE8i/xYoVCg==",
+ "dev": true,
+ "dependencies": {
+ "@mischnic/json-sourcemap": "^0.1.0",
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/fs": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-css": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.13.3.tgz",
+ "integrity": "sha512-A8o9IVCv919vhv69SkLmyW2WjJR5WZgcMqV6L1uiGF8i8z18myrMhrp2JuSHx29PRT9uNyzNC4Xrd4StYjIhJg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.13.3",
+ "browserslist": "^4.6.6",
+ "lightningcss": "^1.22.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-htmlnano": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.13.3.tgz",
+ "integrity": "sha512-K4Uvg0Sy2pECP7pdvvbud++F0pfcbNkq+IxTrgqBX5HJnLEmRZwgdvZEKF43oMEolclMnURMQRGjRplRaPdbXg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "htmlnano": "^2.0.0",
+ "nullthrows": "^1.1.1",
+ "posthtml": "^0.16.5"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-image": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.13.3.tgz",
+ "integrity": "sha512-wlDUICA29J4UnqkKrWiyt68g1e85qfYhp4zJFcFJL0LX1qqh1QwsLUz3YJ+KlruoqPxJSFEC8ncBEKiVCsqhEQ==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "@parcel/workers": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@parcel/optimizer-svgo": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.13.3.tgz",
+ "integrity": "sha512-piIKxQKzhZK54dJR6yqIcq+urZmpsfgUpLCZT3cnWlX4ux5+S2iN66qqZBs0zVn+a58LcWcoP4Z9ieiJmpiu2w==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/optimizer-swc": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.13.3.tgz",
+ "integrity": "sha512-zNSq6oWqLlW8ksPIDjM0VgrK6ZAJbPQCDvs1V+p0oX3CzEe85lT5VkRpnfrN1+/vvEJNGL8e60efHKpI+rXGTA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.13.3",
+ "@swc/core": "^1.7.26",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/package-manager": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.13.3.tgz",
+ "integrity": "sha512-FLNI5OrZxymGf/Yln0E/kjnGn5sdkQAxW7pQVdtuM+5VeN75yibJRjsSGv88PvJ+KvpD2ANgiIJo1RufmoPcww==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/fs": "2.13.3",
+ "@parcel/logger": "2.13.3",
+ "@parcel/node-resolver-core": "3.4.3",
+ "@parcel/types": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "@parcel/workers": "2.13.3",
+ "@swc/core": "^1.7.26",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@parcel/packager-css": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.13.3.tgz",
+ "integrity": "sha512-ghDqRMtrUwaDERzFm9le0uz2PTeqqsjsW0ihQSZPSAptElRl9o5BR+XtMPv3r7Ui0evo+w35gD55oQCJ28vCig==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.13.3",
+ "lightningcss": "^1.22.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-html": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.13.3.tgz",
+ "integrity": "sha512-jDLnKSA/EzVEZ3/aegXO3QJ/Ij732AgBBkIQfeC8tUoxwVz5b3HiPBAjVjcUSfZs7mdBSHO+ELWC3UD+HbsIrQ==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/types": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "nullthrows": "^1.1.1",
+ "posthtml": "^0.16.5"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-js": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.13.3.tgz",
+ "integrity": "sha512-0pMHHf2zOn7EOJe88QJw5h/wcV1bFfj6cXVcE55Wa8GX3V+SdCgolnlvNuBcRQ1Tlx0Xkpo+9hMFVIQbNQY6zw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/types": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "globals": "^13.2.0",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-raw": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.13.3.tgz",
+ "integrity": "sha512-AWu4UB+akBdskzvT3KGVHIdacU9f7cI678DQQ1jKQuc9yZz5D0VFt3ocFBOmvDfEQDF0uH3jjtJR7fnuvX7Biw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-svg": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.13.3.tgz",
+ "integrity": "sha512-tKGRiFq/4jh5u2xpTstNQ7gu+RuZWzlWqpw5NaFmcKe6VQe5CMcS499xTFoREAGnRvevSeIgC38X1a+VOo+/AA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/types": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "posthtml": "^0.16.4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/packager-wasm": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.13.3.tgz",
+ "integrity": "sha512-SZB56/b230vFrSehVXaUAWjJmWYc89gzb8OTLkBm7uvtFtov2J1R8Ig9TTJwinyXE3h84MCFP/YpQElSfoLkJw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3"
+ },
+ "engines": {
+ "node": ">=16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/plugin": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.13.3.tgz",
+ "integrity": "sha512-cterKHHcwg6q11Gpif/aqvHo056TR+yDVJ3fSdiG2xr5KD1VZ2B3hmofWERNNwjMcnR1h9Xq40B7jCKUhOyNFA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/types": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/profiler": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.13.3.tgz",
+ "integrity": "sha512-ok6BwWSLvyHe5TuSXjSacYnDStFgP5Y30tA9mbtWSm0INDsYf+m5DqzpYPx8U54OaywWMK8w3MXUClosJX3aPA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/events": "2.13.3",
+ "@parcel/types-internal": "2.13.3",
+ "chrome-trace-event": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-cli": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.13.3.tgz",
+ "integrity": "sha512-EA5tKt/6bXYNMEavSs35qHlFdx6cZmRazlZxPBgxPePQYoouNAPMNLUOEQozaPhz9f5fvNDN7EHOFaAWcdO2LA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/types": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "chalk": "^4.1.2",
+ "term-size": "^2.2.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-dev-server": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.13.3.tgz",
+ "integrity": "sha512-ZNeFp6AOIQFv7mZIv2P5O188dnZHNg0ymeDVcakfZomwhpSva2dFNS3AnvWo4eyWBlUxkmQO8BtaxeWTs7jAuA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/reporter-tracer": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.13.3.tgz",
+ "integrity": "sha512-aBsVPI8jLZTDkFYrI69GxnsdvZKEYerkPsu935LcX9rfUYssOnmmUP+3oI+8fbg+qNjJuk9BgoQ4hCp9FOphMQ==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "chrome-trace-event": "^1.0.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/resolver-default": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.13.3.tgz",
+ "integrity": "sha512-urBZuRALWT9pFMeWQ8JirchLmsQEyI9lrJptiwLbJWrwvmlwSUGkcstmPwoNRf/aAQjICB7ser/247Vny0pFxA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/node-resolver-core": "3.4.3",
+ "@parcel/plugin": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-browser-hmr": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.13.3.tgz",
+ "integrity": "sha512-EAcPojQFUNUGUrDk66cu3ySPO0NXRVS5CKPd4QrxPCVVbGzde4koKu8krC/TaGsoyUqhie8HMnS70qBP0GFfcQ==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-js": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.13.3.tgz",
+ "integrity": "sha512-62OucNAnxb2Q0uyTFWW/0Hvv2DJ4b5H6neh/YFu2/wmxaZ37xTpEuEcG2do7KW54xE5DeLP+RliHLwi4NvR3ww==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-react-refresh": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.13.3.tgz",
+ "integrity": "sha512-PYZ1klpJVwqE3WuifILjtF1dugtesHEuJcXYZI85T6UoRSD5ctS1nAIpZzT14Ga1lRt/jd+eAmhWL1l3m/Vk1Q==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "react-error-overlay": "6.0.9",
+ "react-refresh": ">=0.9 <=0.14"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/runtime-service-worker": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.13.3.tgz",
+ "integrity": "sha512-BjMhPuT7Us1+YIo31exPRwomPiL+jrZZS5UUAwlEW2XGHDceEotzRM94LwxeFliCScT4IOokGoxixm19qRuzWg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/rust": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.13.3.tgz",
+ "integrity": "sha512-dLq85xDAtzr3P5200cvxk+8WXSWauYbxuev9LCPdwfhlaWo/JEj6cu9seVdWlkagjGwkoV1kXC+GGntgUXOLAQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/source-map": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz",
+ "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==",
+ "dev": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3"
+ },
+ "engines": {
+ "node": "^12.18.3 || >=14"
+ }
+ },
+ "node_modules/@parcel/transformer-babel": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.13.3.tgz",
+ "integrity": "sha512-ikzK9f5WTFrdQsPitQgjCPH6HmVU8AQPRemIJ2BndYhtodn5PQut5cnSvTrqax8RjYvheEKCQk/Zb/uR7qgS3g==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.13.3",
+ "browserslist": "^4.6.6",
+ "json5": "^2.2.0",
+ "nullthrows": "^1.1.1",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-css": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.13.3.tgz",
+ "integrity": "sha512-zbrNURGph6JeVADbGydyZ7lcu/izj41kDxQ9xw4RPRW/3rofQiTU0OTREi+uBWiMENQySXVivEdzHA9cA+aLAA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.13.3",
+ "browserslist": "^4.6.6",
+ "lightningcss": "^1.22.1",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-html": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.13.3.tgz",
+ "integrity": "sha512-Yf74FkL9RCCB4+hxQRVMNQThH9+fZ5w0NLiQPpWUOcgDEEyxTi4FWPQgEBsKl/XK2ehdydbQB9fBgPQLuQxwPg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "nullthrows": "^1.1.1",
+ "posthtml": "^0.16.5",
+ "posthtml-parser": "^0.12.1",
+ "posthtml-render": "^3.0.0",
+ "semver": "^7.5.2",
+ "srcset": "4"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-html/node_modules/srcset": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz",
+ "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@parcel/transformer-image": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.13.3.tgz",
+ "integrity": "sha512-wL1CXyeFAqbp2wcEq/JD3a/tbAyVIDMTC6laQxlIwnVV7dsENhK1qRuJZuoBdixESeUpFQSmmQvDIhcfT/cUUg==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "@parcel/workers": "2.13.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@parcel/transformer-js": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.13.3.tgz",
+ "integrity": "sha512-KqfNGn1IHzDoN2aPqt4nDksgb50Xzcny777C7A7hjlQ3cmkjyJrixYjzzsPaPSGJ+kJpknh3KE8unkQ9mhFvRQ==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "@parcel/utils": "2.13.3",
+ "@parcel/workers": "2.13.3",
+ "@swc/helpers": "^0.5.0",
+ "browserslist": "^4.6.6",
+ "nullthrows": "^1.1.1",
+ "regenerator-runtime": "^0.14.1",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@parcel/transformer-json": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.13.3.tgz",
+ "integrity": "sha512-rrq0ab6J0w9ePtsxi0kAvpCmrUYXXAx1Z5PATZakv89rSYbHBKEdXxyCoKFui/UPVCUEGVs5r0iOFepdHpIyeA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "json5": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-postcss": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.13.3.tgz",
+ "integrity": "sha512-AIiWpU0QSFBrPcYIqAnhqB8RGE6yHFznnxztfg1t2zMSOnK3xoU6xqYKv8H/MduShGGrC3qVOeDfM8MUwzL3cw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "clone": "^2.1.1",
+ "nullthrows": "^1.1.1",
+ "postcss-value-parser": "^4.2.0",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-posthtml": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.13.3.tgz",
+ "integrity": "sha512-5GSLyccpHASwFAu3uJ83gDIBSvfsGdVmhJvy0Vxe+K1Fklk2ibhvvtUHMhB7mg6SPHC+R9jsNc3ZqY04ZLeGjw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "nullthrows": "^1.1.1",
+ "posthtml": "^0.16.5",
+ "posthtml-parser": "^0.12.1",
+ "posthtml-render": "^3.0.0",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-raw": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.13.3.tgz",
+ "integrity": "sha512-BFsAbdQF0l8/Pdb7dSLJeYcd8jgwvAUbHgMink2MNXJuRUvDl19Gns8jVokU+uraFHulJMBj40+K/RTd33in4g==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-react-refresh-wrap": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.13.3.tgz",
+ "integrity": "sha512-mOof4cRyxsZRdg8kkWaFtaX98mHpxUhcGPU+nF9RQVa9q737ItxrorsPNR9hpZAyE2TtFNflNW7RoYsgvlLw8w==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/plugin": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "react-refresh": ">=0.9 <=0.14"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/transformer-svg": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.13.3.tgz",
+ "integrity": "sha512-9jm7ZF4KHIrGLWlw/SFUz5KKJ20nxHvjFAmzde34R9Wu+F1BOjLZxae7w4ZRwvIc+UVOUcBBQFmhSVwVDZg6Dw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/plugin": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "nullthrows": "^1.1.1",
+ "posthtml": "^0.16.5",
+ "posthtml-parser": "^0.12.1",
+ "posthtml-render": "^3.0.0",
+ "semver": "^7.5.2"
+ },
+ "engines": {
+ "node": ">= 16.0.0",
+ "parcel": "^2.13.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/types": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.13.3.tgz",
+ "integrity": "sha512-+RpFHxx8fy8/dpuehHUw/ja9PRExC3wJoIlIIF42E7SLu2SvlTHtKm6EfICZzxCXNEBzjoDbamCRcN0nmTPlhw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/types-internal": "2.13.3",
+ "@parcel/workers": "2.13.3"
+ }
+ },
+ "node_modules/@parcel/types-internal": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/types-internal/-/types-internal-2.13.3.tgz",
+ "integrity": "sha512-Lhx0n+9RCp+Ipktf/I+CLm3zE9Iq9NtDd8b2Vr5lVWyoT8AbzBKIHIpTbhLS4kjZ80L3I6o93OYjqAaIjsqoZw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/feature-flags": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "utility-types": "^3.10.0"
+ }
+ },
+ "node_modules/@parcel/utils": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.13.3.tgz",
+ "integrity": "sha512-yxY9xw2wOUlJaScOXYZmMGoZ4Ck4Kqj+p6Koe5kLkkWM1j98Q0Dj2tf/mNvZi4yrdnlm+dclCwNRnuE8Q9D+pw==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/codeframe": "2.13.3",
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/logger": "2.13.3",
+ "@parcel/markdown-ansi": "2.13.3",
+ "@parcel/rust": "2.13.3",
+ "@parcel/source-map": "^2.1.1",
+ "chalk": "^4.1.2",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
+ "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3",
+ "is-glob": "^4.0.3",
+ "micromatch": "^4.0.5",
+ "node-addon-api": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "@parcel/watcher-android-arm64": "2.5.0",
+ "@parcel/watcher-darwin-arm64": "2.5.0",
+ "@parcel/watcher-darwin-x64": "2.5.0",
+ "@parcel/watcher-freebsd-x64": "2.5.0",
+ "@parcel/watcher-linux-arm-glibc": "2.5.0",
+ "@parcel/watcher-linux-arm-musl": "2.5.0",
+ "@parcel/watcher-linux-arm64-glibc": "2.5.0",
+ "@parcel/watcher-linux-arm64-musl": "2.5.0",
+ "@parcel/watcher-linux-x64-glibc": "2.5.0",
+ "@parcel/watcher-linux-x64-musl": "2.5.0",
+ "@parcel/watcher-win32-arm64": "2.5.0",
+ "@parcel/watcher-win32-ia32": "2.5.0",
+ "@parcel/watcher-win32-x64": "2.5.0"
+ }
+ },
+ "node_modules/@parcel/watcher-android-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
+ "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
+ "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-darwin-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
+ "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-freebsd-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
+ "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
+ "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
+ "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
+ "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-arm64-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
+ "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-glibc": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
+ "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-linux-x64-musl": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
+ "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-arm64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
+ "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-ia32": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
+ "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/watcher-win32-x64": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
+ "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/@parcel/workers": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.13.3.tgz",
+ "integrity": "sha512-oAHmdniWTRwwwsKbcF4t3VjOtKN+/W17Wj5laiYB+HLkfsjGTfIQPj3sdXmrlBAGpI4omIcvR70PHHXnfdTfwA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/logger": "2.13.3",
+ "@parcel/profiler": "2.13.3",
+ "@parcel/types-internal": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "nullthrows": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "peerDependencies": {
+ "@parcel/core": "^2.13.3"
+ }
+ },
+ "node_modules/@swc/core": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.10.7.tgz",
+ "integrity": "sha512-py91kjI1jV5D5W/Q+PurBdGsdU5TFbrzamP7zSCqLdMcHkKi3rQEM5jkQcZr0MXXSJTaayLxS3MWYTBIkzPDrg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.3",
+ "@swc/types": "^0.1.17"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/swc"
+ },
+ "optionalDependencies": {
+ "@swc/core-darwin-arm64": "1.10.7",
+ "@swc/core-darwin-x64": "1.10.7",
+ "@swc/core-linux-arm-gnueabihf": "1.10.7",
+ "@swc/core-linux-arm64-gnu": "1.10.7",
+ "@swc/core-linux-arm64-musl": "1.10.7",
+ "@swc/core-linux-x64-gnu": "1.10.7",
+ "@swc/core-linux-x64-musl": "1.10.7",
+ "@swc/core-win32-arm64-msvc": "1.10.7",
+ "@swc/core-win32-ia32-msvc": "1.10.7",
+ "@swc/core-win32-x64-msvc": "1.10.7"
+ },
+ "peerDependencies": {
+ "@swc/helpers": "*"
+ },
+ "peerDependenciesMeta": {
+ "@swc/helpers": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@swc/core-darwin-arm64": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.7.tgz",
+ "integrity": "sha512-SI0OFg987P6hcyT0Dbng3YRISPS9uhLX1dzW4qRrfqQdb0i75lPJ2YWe9CN47HBazrIA5COuTzrD2Dc0TcVsSQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-darwin-x64": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.10.7.tgz",
+ "integrity": "sha512-RFIAmWVicD/l3RzxgHW0R/G1ya/6nyMspE2cAeDcTbjHi0I5qgdhBWd6ieXOaqwEwiCd0Mot1g2VZrLGoBLsjQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm-gnueabihf": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.7.tgz",
+ "integrity": "sha512-QP8vz7yELWfop5mM5foN6KkLylVO7ZUgWSF2cA0owwIaziactB2hCPZY5QU690coJouk9KmdFsPWDnaCFUP8tg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-gnu": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.7.tgz",
+ "integrity": "sha512-NgUDBGQcOeLNR+EOpmUvSDIP/F7i/OVOKxst4wOvT5FTxhnkWrW+StJGKj+DcUVSK5eWOYboSXr1y+Hlywwokw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-arm64-musl": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.7.tgz",
+ "integrity": "sha512-gp5Un3EbeSThBIh6oac5ZArV/CsSmTKj5jNuuUAuEsML3VF9vqPO+25VuxCvsRf/z3py+xOWRaN2HY/rjMeZog==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-gnu": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.7.tgz",
+ "integrity": "sha512-k/OxLLMl/edYqbZyUNg6/bqEHTXJT15l9WGqsl/2QaIGwWGvles8YjruQYQ9d4h/thSXLT9gd8bExU2D0N+bUA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-linux-x64-musl": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.7.tgz",
+ "integrity": "sha512-XeDoURdWt/ybYmXLCEE8aSiTOzEn0o3Dx5l9hgt0IZEmTts7HgHHVeRgzGXbR4yDo0MfRuX5nE1dYpTmCz0uyA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-arm64-msvc": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.7.tgz",
+ "integrity": "sha512-nYAbi/uLS+CU0wFtBx8TquJw2uIMKBnl04LBmiVoFrsIhqSl+0MklaA9FVMGA35NcxSJfcm92Prl2W2LfSnTqQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-ia32-msvc": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.7.tgz",
+ "integrity": "sha512-+aGAbsDsIxeLxw0IzyQLtvtAcI1ctlXVvVcXZMNXIXtTURM876yNrufRo4ngoXB3jnb1MLjIIjgXfFs/eZTUSw==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/core-win32-x64-msvc": {
+ "version": "1.10.7",
+ "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.7.tgz",
+ "integrity": "sha512-TBf4clpDBjF/UUnkKrT0/th76/zwvudk5wwobiTFqDywMApHip5O0VpBgZ+4raY2TM8k5+ujoy7bfHb22zu17Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@swc/counter": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
+ "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
+ "dev": true
+ },
+ "node_modules/@swc/helpers": {
+ "version": "0.5.15",
+ "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz",
+ "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^2.8.0"
+ }
+ },
+ "node_modules/@swc/types": {
+ "version": "0.1.17",
+ "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.17.tgz",
+ "integrity": "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==",
+ "dev": true,
+ "dependencies": {
+ "@swc/counter": "^0.1.3"
+ }
+ },
+ "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,
+ "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
+ },
+ "node_modules/base-x": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.10.tgz",
+ "integrity": "sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.24.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
+ "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
+ "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"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001688",
+ "electron-to-chromium": "^1.5.73",
+ "node-releases": "^2.0.19",
+ "update-browserslist-db": "^1.1.1"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001692",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz",
+ "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==",
+ "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"
+ }
+ ]
+ },
+ "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,
+ "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/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "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,
+ "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
+ },
+ "node_modules/commander": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+ "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
+ "dev": true,
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/cosmiconfig": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
+ "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+ "dev": true,
+ "dependencies": {
+ "env-paths": "^2.2.1",
+ "import-fresh": "^3.3.0",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ },
+ "peerDependencies": {
+ "typescript": ">=4.9.5"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+ "dev": true,
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/dom-serializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.2",
+ "entities": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
+ "node_modules/domhandler": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.3.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+ "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+ "dev": true,
+ "dependencies": {
+ "dom-serializer": "^2.0.0",
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.4.7",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz",
+ "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/dotenv-expand": {
+ "version": "11.0.7",
+ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz",
+ "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==",
+ "dev": true,
+ "dependencies": {
+ "dotenv": "^16.4.5"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://dotenvx.com"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.5.83",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.83.tgz",
+ "integrity": "sha512-LcUDPqSt+V0QmI47XLzZrz5OqILSMGsPFkDYus22rIbgorSvBYEFqq854ltTmUdHkY92FSdAAvsh4jWEULMdfQ==",
+ "dev": true
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/env-paths": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+ "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/get-port": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz",
+ "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/htmlnano": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz",
+ "integrity": "sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==",
+ "dev": true,
+ "dependencies": {
+ "cosmiconfig": "^9.0.0",
+ "posthtml": "^0.16.5",
+ "timsort": "^0.3.0"
+ },
+ "peerDependencies": {
+ "cssnano": "^7.0.0",
+ "postcss": "^8.3.11",
+ "purgecss": "^6.0.0",
+ "relateurl": "^0.2.7",
+ "srcset": "5.0.1",
+ "svgo": "^3.0.2",
+ "terser": "^5.10.0",
+ "uncss": "^0.17.3"
+ },
+ "peerDependenciesMeta": {
+ "cssnano": {
+ "optional": true
+ },
+ "postcss": {
+ "optional": true
+ },
+ "purgecss": {
+ "optional": true
+ },
+ "relateurl": {
+ "optional": true
+ },
+ "srcset": {
+ "optional": true
+ },
+ "svgo": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "uncss": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/htmlparser2": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz",
+ "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==",
+ "dev": true,
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.3.0",
+ "domhandler": "^5.0.3",
+ "domutils": "^3.1.0",
+ "entities": "^4.5.0"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true
+ },
+ "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,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-json": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
+ "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==",
+ "dev": true
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "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,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lightningcss": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.1.tgz",
+ "integrity": "sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==",
+ "dev": true,
+ "dependencies": {
+ "detect-libc": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-darwin-arm64": "1.29.1",
+ "lightningcss-darwin-x64": "1.29.1",
+ "lightningcss-freebsd-x64": "1.29.1",
+ "lightningcss-linux-arm-gnueabihf": "1.29.1",
+ "lightningcss-linux-arm64-gnu": "1.29.1",
+ "lightningcss-linux-arm64-musl": "1.29.1",
+ "lightningcss-linux-x64-gnu": "1.29.1",
+ "lightningcss-linux-x64-musl": "1.29.1",
+ "lightningcss-win32-arm64-msvc": "1.29.1",
+ "lightningcss-win32-x64-msvc": "1.29.1"
+ }
+ },
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.1.tgz",
+ "integrity": "sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.1.tgz",
+ "integrity": "sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.1.tgz",
+ "integrity": "sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.1.tgz",
+ "integrity": "sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.1.tgz",
+ "integrity": "sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.1.tgz",
+ "integrity": "sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.1.tgz",
+ "integrity": "sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.1.tgz",
+ "integrity": "sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.1.tgz",
+ "integrity": "sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.29.1",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.1.tgz",
+ "integrity": "sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
+ "node_modules/lmdb": {
+ "version": "2.8.5",
+ "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz",
+ "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==",
+ "dev": true,
+ "hasInstallScript": true,
+ "dependencies": {
+ "msgpackr": "^1.9.5",
+ "node-addon-api": "^6.1.0",
+ "node-gyp-build-optional-packages": "5.1.1",
+ "ordered-binary": "^1.4.1",
+ "weak-lru-cache": "^1.2.2"
+ },
+ "bin": {
+ "download-lmdb-prebuilds": "bin/download-prebuilds.js"
+ },
+ "optionalDependencies": {
+ "@lmdb/lmdb-darwin-arm64": "2.8.5",
+ "@lmdb/lmdb-darwin-x64": "2.8.5",
+ "@lmdb/lmdb-linux-arm": "2.8.5",
+ "@lmdb/lmdb-linux-arm64": "2.8.5",
+ "@lmdb/lmdb-linux-x64": "2.8.5",
+ "@lmdb/lmdb-win32-x64": "2.8.5"
+ }
+ },
+ "node_modules/lmdb/node_modules/node-addon-api": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+ "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
+ "dev": true
+ },
+ "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==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.3",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/msgpackr": {
+ "version": "1.11.2",
+ "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.2.tgz",
+ "integrity": "sha512-F9UngXRlPyWCDEASDpTf6c9uNhGPTqnTeLVt7bN+bU1eajoR/8V9ys2BRaV5C/e5ihE6sJ9uPIKaYt6bFuO32g==",
+ "dev": true,
+ "optionalDependencies": {
+ "msgpackr-extract": "^3.0.2"
+ }
+ },
+ "node_modules/msgpackr-extract": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
+ "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "dependencies": {
+ "node-gyp-build-optional-packages": "5.2.2"
+ },
+ "bin": {
+ "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
+ },
+ "optionalDependencies": {
+ "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
+ "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
+ }
+ },
+ "node_modules/msgpackr-extract/node_modules/detect-libc": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
+ "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
+ "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "detect-libc": "^2.0.1"
+ },
+ "bin": {
+ "node-gyp-build-optional-packages": "bin.js",
+ "node-gyp-build-optional-packages-optional": "optional.js",
+ "node-gyp-build-optional-packages-test": "build-test.js"
+ }
+ },
+ "node_modules/node-addon-api": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+ "dev": true
+ },
+ "node_modules/node-gyp-build-optional-packages": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz",
+ "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==",
+ "dev": true,
+ "dependencies": {
+ "detect-libc": "^2.0.1"
+ },
+ "bin": {
+ "node-gyp-build-optional-packages": "bin.js",
+ "node-gyp-build-optional-packages-optional": "optional.js",
+ "node-gyp-build-optional-packages-test": "build-test.js"
+ }
+ },
+ "node_modules/node-gyp-build-optional-packages/node_modules/detect-libc": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
+ "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+ "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
+ "dev": true
+ },
+ "node_modules/nullthrows": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
+ "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==",
+ "dev": true
+ },
+ "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==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ordered-binary": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz",
+ "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==",
+ "dev": true
+ },
+ "node_modules/parcel": {
+ "version": "2.13.3",
+ "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.13.3.tgz",
+ "integrity": "sha512-8GrC8C7J8mwRpAlk7EJ7lwdFTbCN+dcXH2gy5AsEs9pLfzo9wvxOTx6W0fzSlvCOvZOita+8GdfYlGfEt0tRgA==",
+ "dev": true,
+ "dependencies": {
+ "@parcel/config-default": "2.13.3",
+ "@parcel/core": "2.13.3",
+ "@parcel/diagnostic": "2.13.3",
+ "@parcel/events": "2.13.3",
+ "@parcel/feature-flags": "2.13.3",
+ "@parcel/fs": "2.13.3",
+ "@parcel/logger": "2.13.3",
+ "@parcel/package-manager": "2.13.3",
+ "@parcel/reporter-cli": "2.13.3",
+ "@parcel/reporter-dev-server": "2.13.3",
+ "@parcel/reporter-tracer": "2.13.3",
+ "@parcel/utils": "2.13.3",
+ "chalk": "^4.1.2",
+ "commander": "^12.1.0",
+ "get-port": "^4.2.0"
+ },
+ "bin": {
+ "parcel": "lib/bin.js"
+ },
+ "engines": {
+ "node": ">= 16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "dev": true
+ },
+ "node_modules/posthtml": {
+ "version": "0.16.6",
+ "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz",
+ "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==",
+ "dev": true,
+ "dependencies": {
+ "posthtml-parser": "^0.11.0",
+ "posthtml-render": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/posthtml-parser": {
+ "version": "0.12.1",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.12.1.tgz",
+ "integrity": "sha512-rYFmsDLfYm+4Ts2Oh4DCDSZPtdC1BLnRXAobypVzX9alj28KGl65dIFtgDY9zB57D0TC4Qxqrawuq/2et1P0GA==",
+ "dev": true,
+ "dependencies": {
+ "htmlparser2": "^9.0.0"
+ },
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/posthtml-render": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
+ "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
+ "dev": true,
+ "dependencies": {
+ "is-json": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/posthtml/node_modules/dom-serializer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/posthtml/node_modules/dom-serializer/node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/posthtml/node_modules/domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/posthtml/node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/posthtml/node_modules/entities": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
+ "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/posthtml/node_modules/htmlparser2": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
+ "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
+ "dev": true,
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.2",
+ "domutils": "^2.8.0",
+ "entities": "^3.0.1"
+ }
+ },
+ "node_modules/posthtml/node_modules/posthtml-parser": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
+ "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
+ "dev": true,
+ "dependencies": {
+ "htmlparser2": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.6.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==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "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==",
+ "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==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "scheduler": "^0.23.2"
+ },
+ "peerDependencies": {
+ "react": "^18.3.1"
+ }
+ },
+ "node_modules/react-error-overlay": {
+ "version": "6.0.9",
+ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
+ "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==",
+ "dev": true
+ },
+ "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=="
+ },
+ "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,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
+ "dev": true
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/scheduler": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
+ "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+ "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/srcset": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz",
+ "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==",
+ "dev": true,
+ "optional": true,
+ "peer": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "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,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/term-size": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
+ "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/timsort": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
+ "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==",
+ "dev": true
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz",
+ "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==",
+ "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"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.2.0",
+ "picocolors": "^1.1.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/utility-types": {
+ "version": "3.11.0",
+ "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz",
+ "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/weak-lru-cache": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz",
+ "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==",
+ "dev": true
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 000000000..1bb0a6a1b
--- /dev/null
+++ b/package.json
@@ -0,0 +1,23 @@
+{
+ "name": "saas-labs",
+ "version": "1.0.0",
+ "description": "This is saas labs assignment",
+ "scripts": {
+ "start": "parcel index.html",
+ "build": "parcel build index.html"
+ },
+ "author": "prikshit8",
+ "license": "ISC",
+ "devDependencies": {
+ "parcel": "^2.10.2",
+ "process": "^0.11.10"
+ },
+ "dependencies": {
+ "prop-types": "^15.8.1",
+ "react": "^18.2.0",
+ "react-dom": "^18.2.0"
+ },
+ "browsersList": [
+ "last 2 version"
+ ]
+}