├── .editorconfig
├── .eslintignore
├── .eslintrc
├── .github
└── workflows
│ └── npm-publish.yml
├── .gitignore
├── .npmignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── README.md
├── docs
├── icon12.png
├── index.md
└── slider.gif
├── example
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
└── src
│ ├── App.tsx
│ ├── app.css
│ ├── index.html
│ └── index.tsx
├── global.d.ts
├── jestconfig.json
├── package.json
├── push.sh
├── rollup.config.js
├── src
├── Verify
│ ├── index.md
│ ├── index.tsx
│ ├── style.scss
│ └── tool.ts
└── index.ts
├── tests
├── __snapshots__
│ └── common.test.tsx.snap
└── common.test.tsx
└── tsconfig.json
/.editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | end_of_line = lf
8 | charset = utf-8
9 | trim_trailing_whitespace = true
10 | insert_final_newline = true
11 |
12 | [*.md]
13 | trim_trailing_whitespace = false
14 |
15 | [Makefile]
16 | indent_style = tab
17 |
--------------------------------------------------------------------------------
/.eslintignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | dist
3 | rollup.config.js
4 | global.d.ts
--------------------------------------------------------------------------------
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 | "extends": [
4 | "prettier",
5 | "plugin:prettier/recommended",
6 | "eslint:recommended",
7 | "plugin:react/recommended",
8 | "plugin:@typescript-eslint/eslint-recommended",
9 | "plugin:@typescript-eslint/recommended"
10 | ],
11 | "parser": "@typescript-eslint/parser",
12 | "plugins": ["@typescript-eslint", "prettier", "react", "react-hooks"],
13 | "rules": {
14 | "react-hooks/rules-of-hooks": "error",
15 | "react-hooks/exhaustive-deps": "warn",
16 | "@typescript-eslint/no-non-null-assertion": "off",
17 | "@typescript-eslint/ban-ts-comment": "off",
18 | "@typescript-eslint/no-explicit-any": "off"
19 | },
20 | "settings": {
21 | "react": {
22 | "version": "detect"
23 | }
24 | },
25 | "env": {
26 | "browser": true,
27 | "node": true
28 | },
29 | "globals": {
30 | "JSX": true
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/.github/workflows/npm-publish.yml:
--------------------------------------------------------------------------------
1 | # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2 | # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
3 |
4 | name: Node.js Package
5 |
6 | on:
7 | pull_request:
8 | branches:
9 | - main
10 | push:
11 | branches:
12 | - main
13 |
14 | jobs:
15 | build:
16 | runs-on: ubuntu-latest
17 | steps:
18 | - uses: actions/checkout@v2
19 | - uses: actions/setup-node@v2
20 | with:
21 | node-version: 14
22 | - run: yarn
23 | - run: yarn build
24 |
25 | publish-npm:
26 | needs: build
27 | runs-on: ubuntu-latest
28 | steps:
29 | - uses: actions/checkout@v2
30 | - uses: actions/setup-node@v2
31 | with:
32 | node-version: 14
33 | registry-url: https://registry.npmjs.com/
34 | - run: npm publish --access public
35 | env:
36 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /npm-debug.log*
6 | /yarn-error.log
7 | /yarn.lock
8 | /package-lock.json
9 | /dist
10 | /lib
11 | /es
12 |
13 | # production
14 | # /dist
15 | /docs-dist
16 |
17 | # misc
18 | .DS_Store
19 |
20 | .env.local
21 | *.tgz
22 |
23 | # ide
24 | /.vscode
25 | /.idea
26 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .github/
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | registry = "https://registry.npmjs.com/"
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | **/*.svg
2 | **/*.ejs
3 | **/*.html
4 | package.json
5 | .umi
6 | .umi-production
7 | .umi-test
8 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "trailingComma": "all",
4 | "printWidth": 80,
5 | "overrides": [
6 | {
7 | "files": ".prettierrc",
8 | "options": { "parser": "json" }
9 | }
10 | ]
11 | }
12 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [](http://npm-stat.com/charts.html?package=react-puzzle-captcha)  
2 |
3 | ## Hello react-puzzle-captcha!
4 |
5 | It is a sliding verification code component implemented by react.js, through which we can easily control the entire life cycle of verification (when refreshing, when the verification succeeds, and when the verification fails, the callback), and has certain configuration capabilities.
6 |
7 | 
8 |
9 | ## Getting Started
10 |
11 | Install dependencies,
12 |
13 | ```bash
14 | $ npm i react-puzzle-captcha
15 |
16 | $ import 'react-puzzle-captcha/dist/react-puzzle-captcha.css';
17 | ```
18 |
19 | ## Use
20 |
21 | ```tsx
22 | import React, { useState } from 'react';
23 | import { Verify } from 'react-puzzle-captcha';
24 | import 'react-puzzle-captcha/dist/react-puzzle-captcha.css';
25 |
26 | export default () => {
27 | const [visible, setVisible] = useState(false);
28 | const show = () => {
29 | setVisible(true);
30 | };
31 | const hide = () => {
32 | setVisible(false);
33 | };
34 | const style = {
35 | display: 'inline-block',
36 | marginRight: '20px',
37 | marginBottom: '20px',
38 | width: '100px',
39 | padding: '5px 20px',
40 | color: '#fff',
41 | textAlign: 'center',
42 | cursor: 'pointer',
43 | background: '#1991FA',
44 | };
45 | return (
46 | <>
47 |
48 | Show
49 |
50 |
51 | Hide
52 |
53 | alert('success')}
58 | onFail={() => alert('fail')}
59 | onRefresh={() => alert('refresh')}
60 | />
61 | >
62 | );
63 | };
64 | ```
65 |
66 | ## More Production
67 |
68 | | name | Description |
69 | | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
70 | | [react-country-state-city](https://github.com/venkatmcajj/react-country-state-city) | React-country-state-city allows you to create a responsive country, state, city dropdown with search options. And also provide the option to create a language select dropdown to list all Languages. |
71 | | [react-sidemenubar](https://github.com/venkatmcajj/react-sidemenubar) | React-sidemenubar allows you to create a responsive sidebar with easy to customize. |
72 | | [react-matrix-tree](https://github.com/venkatmcajj/react-matrix-tree) | React-matrix-tree allows you to create tree view with different types of matrix. |
73 | | [react-jquery-data-table](https://github.com/venkatmcajj/react-jquery-data-table) | With DataTableReact, your ultimate solution for integrating jQuery DataTable-like functionality into React components! and effortlessly enhance your React applications with dynamic and responsive data tables. |
74 |
75 | ## Demo
76 |
77 | [A demo is worth a thousand words](https://venkatmcajj.github.io/react-puzzle-captacha/example)
78 |
79 | [Few More Examples](https://github.com/venkatmcajj/react-puzzle-captcha/blob/master/src/Verify/index.md)
80 |
81 | ## Contribute
82 |
83 | Show your ❤️ and support by giving a ⭐. Any suggestions are welcome! venkatmcajj@gmail.com
84 |
85 | ## License
86 |
87 | Licensed under MIT
88 |
--------------------------------------------------------------------------------
/docs/icon12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/venkatmcajj/react-puzzle-captcha/1b501b9c30533372e8a6985af5c367f1a74dfc24/docs/icon12.png
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | ## Hello react-puzzle-captcha!
2 |
3 | It is a sliding verification code component implemented by react.js, through which we can easily control the entire life cycle of verification (when refreshing, when the verification succeeds, and when the verification fails, the callback), and has certain configuration capabilities.
4 |
5 | 
6 |
7 | ## More Production
8 |
9 | | name | Description |
10 | | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
11 | | [react-country-state-city](https://github.com/venkatmcajj/react-country-state-city) | React-country-state-city allows you to create a responsive country, state, city dropdown with search options. And also provide the option to create a language select dropdown to list all Languages. |
12 | | [react-sidemenubar](https://github.com/venkatmcajj/react-sidemenubar) | React-sidemenubar allows you to create a responsive sidebar with easy to customize. |
13 | | [react-matrix-tree](https://github.com/venkatmcajj/react-matrix-tree) | React-matrix-tree allows you to create tree view with different types of matrix. |
14 |
15 | | [react-jquery-data-table](https://github.com/venkatmcajj/react-jquery-data-table) | With DataTableReact, your ultimate solution for integrating jQuery DataTable-like functionality into React components! and effortlessly enhance your React applications with dynamic and responsive data tables. |
16 |
17 | ## Contribute
18 |
19 | Show your ❤️ and support by giving a ⭐. Any suggestions are welcome! venkatmcajj@gmail.com
20 |
21 |
24 |
25 | ## License
26 |
27 | Licensed under MIT
28 |
--------------------------------------------------------------------------------
/docs/slider.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/venkatmcajj/react-puzzle-captcha/1b501b9c30533372e8a6985af5c367f1a74dfc24/docs/slider.gif
--------------------------------------------------------------------------------
/example/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | yarn.lock
3 | .parcel-cache
4 | dist
5 | yarn-error.log
--------------------------------------------------------------------------------
/example/README.md:
--------------------------------------------------------------------------------
1 | # How to start example page?
2 |
3 | Then in the example directory, run all dependencies:
4 |
5 | ### `yarn install`
6 |
7 | or
8 |
9 | ### `npm install`
10 |
11 | Then use the command:
12 |
13 | ### `yarn start`
14 |
15 | or
16 |
17 | ### `npm start`
18 |
19 | Open [http://localhost:1234](http://localhost:1234) to view it in the browser.
20 |
--------------------------------------------------------------------------------
/example/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "version": "0.1.0",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "example",
9 | "version": "0.1.0",
10 | "devDependencies": {
11 | "@types/react": "^18.0.37",
12 | "@types/react-dom": "^18.0.11",
13 | "assert": "^2.0.0",
14 | "bootstrap": "^5.2.3",
15 | "browserify-zlib": "^0.2.0",
16 | "buffer": "^5.7.1",
17 | "https-browserify": "^1.0.0",
18 | "os-browserify": "^0.3.0",
19 | "parcel": "^2.8.3",
20 | "path-browserify": "^1.0.1",
21 | "process": "^0.11.10",
22 | "punycode": "^1.4.1",
23 | "querystring-es3": "^0.2.1",
24 | "react": "^18.2.0",
25 | "react-country-state-city": "^1.0.5",
26 | "react-dom": "^18.2.0",
27 | "react-icons": "^4.8.0",
28 | "react-puzzle-captcha": "^1.0.1",
29 | "react-router-dom": "^6.11.1",
30 | "stream-browserify": "^3.0.0",
31 | "stream-http": "^3.2.0",
32 | "tty-browserify": "^0.0.1",
33 | "url": "^0.11.0",
34 | "util": "^0.12.5"
35 | }
36 | },
37 | "node_modules/@babel/code-frame": {
38 | "version": "7.24.7",
39 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
40 | "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
41 | "dev": true,
42 | "dependencies": {
43 | "@babel/highlight": "^7.24.7",
44 | "picocolors": "^1.0.0"
45 | },
46 | "engines": {
47 | "node": ">=6.9.0"
48 | }
49 | },
50 | "node_modules/@babel/helper-validator-identifier": {
51 | "version": "7.24.7",
52 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
53 | "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
54 | "dev": true,
55 | "engines": {
56 | "node": ">=6.9.0"
57 | }
58 | },
59 | "node_modules/@babel/highlight": {
60 | "version": "7.24.7",
61 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
62 | "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
63 | "dev": true,
64 | "dependencies": {
65 | "@babel/helper-validator-identifier": "^7.24.7",
66 | "chalk": "^2.4.2",
67 | "js-tokens": "^4.0.0",
68 | "picocolors": "^1.0.0"
69 | },
70 | "engines": {
71 | "node": ">=6.9.0"
72 | }
73 | },
74 | "node_modules/@babel/highlight/node_modules/ansi-styles": {
75 | "version": "3.2.1",
76 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
77 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
78 | "dev": true,
79 | "dependencies": {
80 | "color-convert": "^1.9.0"
81 | },
82 | "engines": {
83 | "node": ">=4"
84 | }
85 | },
86 | "node_modules/@babel/highlight/node_modules/chalk": {
87 | "version": "2.4.2",
88 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
89 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
90 | "dev": true,
91 | "dependencies": {
92 | "ansi-styles": "^3.2.1",
93 | "escape-string-regexp": "^1.0.5",
94 | "supports-color": "^5.3.0"
95 | },
96 | "engines": {
97 | "node": ">=4"
98 | }
99 | },
100 | "node_modules/@babel/highlight/node_modules/color-convert": {
101 | "version": "1.9.3",
102 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
103 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
104 | "dev": true,
105 | "dependencies": {
106 | "color-name": "1.1.3"
107 | }
108 | },
109 | "node_modules/@babel/highlight/node_modules/color-name": {
110 | "version": "1.1.3",
111 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
112 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
113 | "dev": true
114 | },
115 | "node_modules/@babel/highlight/node_modules/has-flag": {
116 | "version": "3.0.0",
117 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
118 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
119 | "dev": true,
120 | "engines": {
121 | "node": ">=4"
122 | }
123 | },
124 | "node_modules/@babel/highlight/node_modules/supports-color": {
125 | "version": "5.5.0",
126 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
127 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
128 | "dev": true,
129 | "dependencies": {
130 | "has-flag": "^3.0.0"
131 | },
132 | "engines": {
133 | "node": ">=4"
134 | }
135 | },
136 | "node_modules/@babel/runtime": {
137 | "version": "7.24.7",
138 | "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz",
139 | "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==",
140 | "dev": true,
141 | "dependencies": {
142 | "regenerator-runtime": "^0.14.0"
143 | },
144 | "engines": {
145 | "node": ">=6.9.0"
146 | }
147 | },
148 | "node_modules/@babel/runtime/node_modules/regenerator-runtime": {
149 | "version": "0.14.1",
150 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
151 | "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
152 | "dev": true
153 | },
154 | "node_modules/@lezer/common": {
155 | "version": "1.2.1",
156 | "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz",
157 | "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==",
158 | "dev": true
159 | },
160 | "node_modules/@lezer/lr": {
161 | "version": "1.4.1",
162 | "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.1.tgz",
163 | "integrity": "sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==",
164 | "dev": true,
165 | "dependencies": {
166 | "@lezer/common": "^1.0.0"
167 | }
168 | },
169 | "node_modules/@lmdb/lmdb-darwin-arm64": {
170 | "version": "2.8.5",
171 | "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-2.8.5.tgz",
172 | "integrity": "sha512-KPDeVScZgA1oq0CiPBcOa3kHIqU+pTOwRFDIhxvmf8CTNvqdZQYp5cCKW0bUk69VygB2PuTiINFWbY78aR2pQw==",
173 | "cpu": [
174 | "arm64"
175 | ],
176 | "dev": true,
177 | "optional": true,
178 | "os": [
179 | "darwin"
180 | ]
181 | },
182 | "node_modules/@lmdb/lmdb-darwin-x64": {
183 | "version": "2.8.5",
184 | "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-2.8.5.tgz",
185 | "integrity": "sha512-w/sLhN4T7MW1nB3R/U8WK5BgQLz904wh+/SmA2jD8NnF7BLLoUgflCNxOeSPOWp8geP6nP/+VjWzZVip7rZ1ug==",
186 | "cpu": [
187 | "x64"
188 | ],
189 | "dev": true,
190 | "optional": true,
191 | "os": [
192 | "darwin"
193 | ]
194 | },
195 | "node_modules/@lmdb/lmdb-linux-arm": {
196 | "version": "2.8.5",
197 | "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-2.8.5.tgz",
198 | "integrity": "sha512-c0TGMbm2M55pwTDIfkDLB6BpIsgxV4PjYck2HiOX+cy/JWiBXz32lYbarPqejKs9Flm7YVAKSILUducU9g2RVg==",
199 | "cpu": [
200 | "arm"
201 | ],
202 | "dev": true,
203 | "optional": true,
204 | "os": [
205 | "linux"
206 | ]
207 | },
208 | "node_modules/@lmdb/lmdb-linux-arm64": {
209 | "version": "2.8.5",
210 | "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-2.8.5.tgz",
211 | "integrity": "sha512-vtbZRHH5UDlL01TT5jB576Zox3+hdyogvpcbvVJlmU5PdL3c5V7cj1EODdh1CHPksRl+cws/58ugEHi8bcj4Ww==",
212 | "cpu": [
213 | "arm64"
214 | ],
215 | "dev": true,
216 | "optional": true,
217 | "os": [
218 | "linux"
219 | ]
220 | },
221 | "node_modules/@lmdb/lmdb-linux-x64": {
222 | "version": "2.8.5",
223 | "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-2.8.5.tgz",
224 | "integrity": "sha512-Xkc8IUx9aEhP0zvgeKy7IQ3ReX2N8N1L0WPcQwnZweWmOuKfwpS3GRIYqLtK5za/w3E60zhFfNdS+3pBZPytqQ==",
225 | "cpu": [
226 | "x64"
227 | ],
228 | "dev": true,
229 | "optional": true,
230 | "os": [
231 | "linux"
232 | ]
233 | },
234 | "node_modules/@lmdb/lmdb-win32-x64": {
235 | "version": "2.8.5",
236 | "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-2.8.5.tgz",
237 | "integrity": "sha512-4wvrf5BgnR8RpogHhtpCPJMKBmvyZPhhUtEwMJbXh0ni2BucpfF07jlmyM11zRqQ2XIq6PbC2j7W7UCCcm1rRQ==",
238 | "cpu": [
239 | "x64"
240 | ],
241 | "dev": true,
242 | "optional": true,
243 | "os": [
244 | "win32"
245 | ]
246 | },
247 | "node_modules/@mischnic/json-sourcemap": {
248 | "version": "0.1.1",
249 | "resolved": "https://registry.npmjs.org/@mischnic/json-sourcemap/-/json-sourcemap-0.1.1.tgz",
250 | "integrity": "sha512-iA7+tyVqfrATAIsIRWQG+a7ZLLD0VaOCKV2Wd/v4mqIU3J9c4jx9p7S0nw1XH3gJCKNBOOwACOPYYSUu9pgT+w==",
251 | "dev": true,
252 | "dependencies": {
253 | "@lezer/common": "^1.0.0",
254 | "@lezer/lr": "^1.0.0",
255 | "json5": "^2.2.1"
256 | },
257 | "engines": {
258 | "node": ">=12.0.0"
259 | }
260 | },
261 | "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
262 | "version": "3.0.3",
263 | "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
264 | "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
265 | "cpu": [
266 | "arm64"
267 | ],
268 | "dev": true,
269 | "optional": true,
270 | "os": [
271 | "darwin"
272 | ]
273 | },
274 | "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
275 | "version": "3.0.3",
276 | "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
277 | "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
278 | "cpu": [
279 | "x64"
280 | ],
281 | "dev": true,
282 | "optional": true,
283 | "os": [
284 | "darwin"
285 | ]
286 | },
287 | "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
288 | "version": "3.0.3",
289 | "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
290 | "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
291 | "cpu": [
292 | "arm"
293 | ],
294 | "dev": true,
295 | "optional": true,
296 | "os": [
297 | "linux"
298 | ]
299 | },
300 | "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
301 | "version": "3.0.3",
302 | "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
303 | "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
304 | "cpu": [
305 | "arm64"
306 | ],
307 | "dev": true,
308 | "optional": true,
309 | "os": [
310 | "linux"
311 | ]
312 | },
313 | "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
314 | "version": "3.0.3",
315 | "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
316 | "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
317 | "cpu": [
318 | "x64"
319 | ],
320 | "dev": true,
321 | "optional": true,
322 | "os": [
323 | "linux"
324 | ]
325 | },
326 | "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
327 | "version": "3.0.3",
328 | "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
329 | "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
330 | "cpu": [
331 | "x64"
332 | ],
333 | "dev": true,
334 | "optional": true,
335 | "os": [
336 | "win32"
337 | ]
338 | },
339 | "node_modules/@parcel/bundler-default": {
340 | "version": "2.12.0",
341 | "resolved": "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.12.0.tgz",
342 | "integrity": "sha512-3ybN74oYNMKyjD6V20c9Gerdbh7teeNvVMwIoHIQMzuIFT6IGX53PyOLlOKRLbjxMc0TMimQQxIt2eQqxR5LsA==",
343 | "dev": true,
344 | "dependencies": {
345 | "@parcel/diagnostic": "2.12.0",
346 | "@parcel/graph": "3.2.0",
347 | "@parcel/plugin": "2.12.0",
348 | "@parcel/rust": "2.12.0",
349 | "@parcel/utils": "2.12.0",
350 | "nullthrows": "^1.1.1"
351 | },
352 | "engines": {
353 | "node": ">= 12.0.0",
354 | "parcel": "^2.12.0"
355 | },
356 | "funding": {
357 | "type": "opencollective",
358 | "url": "https://opencollective.com/parcel"
359 | }
360 | },
361 | "node_modules/@parcel/cache": {
362 | "version": "2.12.0",
363 | "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.12.0.tgz",
364 | "integrity": "sha512-FX5ZpTEkxvq/yvWklRHDESVRz+c7sLTXgFuzz6uEnBcXV38j6dMSikflNpHA6q/L4GKkCqRywm9R6XQwhwIMyw==",
365 | "dev": true,
366 | "dependencies": {
367 | "@parcel/fs": "2.12.0",
368 | "@parcel/logger": "2.12.0",
369 | "@parcel/utils": "2.12.0",
370 | "lmdb": "2.8.5"
371 | },
372 | "engines": {
373 | "node": ">= 12.0.0"
374 | },
375 | "funding": {
376 | "type": "opencollective",
377 | "url": "https://opencollective.com/parcel"
378 | },
379 | "peerDependencies": {
380 | "@parcel/core": "^2.12.0"
381 | }
382 | },
383 | "node_modules/@parcel/codeframe": {
384 | "version": "2.12.0",
385 | "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.12.0.tgz",
386 | "integrity": "sha512-v2VmneILFiHZJTxPiR7GEF1wey1/IXPdZMcUlNXBiPZyWDfcuNgGGVQkx/xW561rULLIvDPharOMdxz5oHOKQg==",
387 | "dev": true,
388 | "dependencies": {
389 | "chalk": "^4.1.0"
390 | },
391 | "engines": {
392 | "node": ">= 12.0.0"
393 | },
394 | "funding": {
395 | "type": "opencollective",
396 | "url": "https://opencollective.com/parcel"
397 | }
398 | },
399 | "node_modules/@parcel/compressor-raw": {
400 | "version": "2.12.0",
401 | "resolved": "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.12.0.tgz",
402 | "integrity": "sha512-h41Q3X7ZAQ9wbQ2csP8QGrwepasLZdXiuEdpUryDce6rF9ZiHoJ97MRpdLxOhOPyASTw/xDgE1xyaPQr0Q3f5A==",
403 | "dev": true,
404 | "dependencies": {
405 | "@parcel/plugin": "2.12.0"
406 | },
407 | "engines": {
408 | "node": ">= 12.0.0",
409 | "parcel": "^2.12.0"
410 | },
411 | "funding": {
412 | "type": "opencollective",
413 | "url": "https://opencollective.com/parcel"
414 | }
415 | },
416 | "node_modules/@parcel/config-default": {
417 | "version": "2.12.0",
418 | "resolved": "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.12.0.tgz",
419 | "integrity": "sha512-dPNe2n9eEsKRc1soWIY0yToMUPirPIa2QhxcCB3Z5RjpDGIXm0pds+BaiqY6uGLEEzsjhRO0ujd4v2Rmm0vuFg==",
420 | "dev": true,
421 | "dependencies": {
422 | "@parcel/bundler-default": "2.12.0",
423 | "@parcel/compressor-raw": "2.12.0",
424 | "@parcel/namer-default": "2.12.0",
425 | "@parcel/optimizer-css": "2.12.0",
426 | "@parcel/optimizer-htmlnano": "2.12.0",
427 | "@parcel/optimizer-image": "2.12.0",
428 | "@parcel/optimizer-svgo": "2.12.0",
429 | "@parcel/optimizer-swc": "2.12.0",
430 | "@parcel/packager-css": "2.12.0",
431 | "@parcel/packager-html": "2.12.0",
432 | "@parcel/packager-js": "2.12.0",
433 | "@parcel/packager-raw": "2.12.0",
434 | "@parcel/packager-svg": "2.12.0",
435 | "@parcel/packager-wasm": "2.12.0",
436 | "@parcel/reporter-dev-server": "2.12.0",
437 | "@parcel/resolver-default": "2.12.0",
438 | "@parcel/runtime-browser-hmr": "2.12.0",
439 | "@parcel/runtime-js": "2.12.0",
440 | "@parcel/runtime-react-refresh": "2.12.0",
441 | "@parcel/runtime-service-worker": "2.12.0",
442 | "@parcel/transformer-babel": "2.12.0",
443 | "@parcel/transformer-css": "2.12.0",
444 | "@parcel/transformer-html": "2.12.0",
445 | "@parcel/transformer-image": "2.12.0",
446 | "@parcel/transformer-js": "2.12.0",
447 | "@parcel/transformer-json": "2.12.0",
448 | "@parcel/transformer-postcss": "2.12.0",
449 | "@parcel/transformer-posthtml": "2.12.0",
450 | "@parcel/transformer-raw": "2.12.0",
451 | "@parcel/transformer-react-refresh-wrap": "2.12.0",
452 | "@parcel/transformer-svg": "2.12.0"
453 | },
454 | "funding": {
455 | "type": "opencollective",
456 | "url": "https://opencollective.com/parcel"
457 | },
458 | "peerDependencies": {
459 | "@parcel/core": "^2.12.0"
460 | }
461 | },
462 | "node_modules/@parcel/core": {
463 | "version": "2.12.0",
464 | "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.12.0.tgz",
465 | "integrity": "sha512-s+6pwEj+GfKf7vqGUzN9iSEPueUssCCQrCBUlcAfKrJe0a22hTUCjewpB0I7lNrCIULt8dkndD+sMdOrXsRl6Q==",
466 | "dev": true,
467 | "dependencies": {
468 | "@mischnic/json-sourcemap": "^0.1.0",
469 | "@parcel/cache": "2.12.0",
470 | "@parcel/diagnostic": "2.12.0",
471 | "@parcel/events": "2.12.0",
472 | "@parcel/fs": "2.12.0",
473 | "@parcel/graph": "3.2.0",
474 | "@parcel/logger": "2.12.0",
475 | "@parcel/package-manager": "2.12.0",
476 | "@parcel/plugin": "2.12.0",
477 | "@parcel/profiler": "2.12.0",
478 | "@parcel/rust": "2.12.0",
479 | "@parcel/source-map": "^2.1.1",
480 | "@parcel/types": "2.12.0",
481 | "@parcel/utils": "2.12.0",
482 | "@parcel/workers": "2.12.0",
483 | "abortcontroller-polyfill": "^1.1.9",
484 | "base-x": "^3.0.8",
485 | "browserslist": "^4.6.6",
486 | "clone": "^2.1.1",
487 | "dotenv": "^7.0.0",
488 | "dotenv-expand": "^5.1.0",
489 | "json5": "^2.2.0",
490 | "msgpackr": "^1.9.9",
491 | "nullthrows": "^1.1.1",
492 | "semver": "^7.5.2"
493 | },
494 | "engines": {
495 | "node": ">= 12.0.0"
496 | },
497 | "funding": {
498 | "type": "opencollective",
499 | "url": "https://opencollective.com/parcel"
500 | }
501 | },
502 | "node_modules/@parcel/diagnostic": {
503 | "version": "2.12.0",
504 | "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.12.0.tgz",
505 | "integrity": "sha512-8f1NOsSFK+F4AwFCKynyIu9Kr/uWHC+SywAv4oS6Bv3Acig0gtwUjugk0C9UaB8ztBZiW5TQZhw+uPZn9T/lJA==",
506 | "dev": true,
507 | "dependencies": {
508 | "@mischnic/json-sourcemap": "^0.1.0",
509 | "nullthrows": "^1.1.1"
510 | },
511 | "engines": {
512 | "node": ">= 12.0.0"
513 | },
514 | "funding": {
515 | "type": "opencollective",
516 | "url": "https://opencollective.com/parcel"
517 | }
518 | },
519 | "node_modules/@parcel/events": {
520 | "version": "2.12.0",
521 | "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.12.0.tgz",
522 | "integrity": "sha512-nmAAEIKLjW1kB2cUbCYSmZOGbnGj8wCzhqnK727zCCWaA25ogzAtt657GPOeFyqW77KyosU728Tl63Fc8hphIA==",
523 | "dev": true,
524 | "engines": {
525 | "node": ">= 12.0.0"
526 | },
527 | "funding": {
528 | "type": "opencollective",
529 | "url": "https://opencollective.com/parcel"
530 | }
531 | },
532 | "node_modules/@parcel/fs": {
533 | "version": "2.12.0",
534 | "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.12.0.tgz",
535 | "integrity": "sha512-NnFkuvou1YBtPOhTdZr44WN7I60cGyly2wpHzqRl62yhObyi1KvW0SjwOMa0QGNcBOIzp4G0CapoZ93hD0RG5Q==",
536 | "dev": true,
537 | "dependencies": {
538 | "@parcel/rust": "2.12.0",
539 | "@parcel/types": "2.12.0",
540 | "@parcel/utils": "2.12.0",
541 | "@parcel/watcher": "^2.0.7",
542 | "@parcel/workers": "2.12.0"
543 | },
544 | "engines": {
545 | "node": ">= 12.0.0"
546 | },
547 | "funding": {
548 | "type": "opencollective",
549 | "url": "https://opencollective.com/parcel"
550 | },
551 | "peerDependencies": {
552 | "@parcel/core": "^2.12.0"
553 | }
554 | },
555 | "node_modules/@parcel/graph": {
556 | "version": "3.2.0",
557 | "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-3.2.0.tgz",
558 | "integrity": "sha512-xlrmCPqy58D4Fg5umV7bpwDx5Vyt7MlnQPxW68vae5+BA4GSWetfZt+Cs5dtotMG2oCHzZxhIPt7YZ7NRyQzLA==",
559 | "dev": true,
560 | "dependencies": {
561 | "nullthrows": "^1.1.1"
562 | },
563 | "engines": {
564 | "node": ">= 12.0.0"
565 | },
566 | "funding": {
567 | "type": "opencollective",
568 | "url": "https://opencollective.com/parcel"
569 | }
570 | },
571 | "node_modules/@parcel/logger": {
572 | "version": "2.12.0",
573 | "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.12.0.tgz",
574 | "integrity": "sha512-cJ7Paqa7/9VJ7C+KwgJlwMqTQBOjjn71FbKk0G07hydUEBISU2aDfmc/52o60ErL9l+vXB26zTrIBanbxS8rVg==",
575 | "dev": true,
576 | "dependencies": {
577 | "@parcel/diagnostic": "2.12.0",
578 | "@parcel/events": "2.12.0"
579 | },
580 | "engines": {
581 | "node": ">= 12.0.0"
582 | },
583 | "funding": {
584 | "type": "opencollective",
585 | "url": "https://opencollective.com/parcel"
586 | }
587 | },
588 | "node_modules/@parcel/markdown-ansi": {
589 | "version": "2.12.0",
590 | "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.12.0.tgz",
591 | "integrity": "sha512-WZz3rzL8k0H3WR4qTHX6Ic8DlEs17keO9gtD4MNGyMNQbqQEvQ61lWJaIH0nAtgEetu0SOITiVqdZrb8zx/M7w==",
592 | "dev": true,
593 | "dependencies": {
594 | "chalk": "^4.1.0"
595 | },
596 | "engines": {
597 | "node": ">= 12.0.0"
598 | },
599 | "funding": {
600 | "type": "opencollective",
601 | "url": "https://opencollective.com/parcel"
602 | }
603 | },
604 | "node_modules/@parcel/namer-default": {
605 | "version": "2.12.0",
606 | "resolved": "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.12.0.tgz",
607 | "integrity": "sha512-9DNKPDHWgMnMtqqZIMiEj/R9PNWW16lpnlHjwK3ciRlMPgjPJ8+UNc255teZODhX0T17GOzPdGbU/O/xbxVPzA==",
608 | "dev": true,
609 | "dependencies": {
610 | "@parcel/diagnostic": "2.12.0",
611 | "@parcel/plugin": "2.12.0",
612 | "nullthrows": "^1.1.1"
613 | },
614 | "engines": {
615 | "node": ">= 12.0.0",
616 | "parcel": "^2.12.0"
617 | },
618 | "funding": {
619 | "type": "opencollective",
620 | "url": "https://opencollective.com/parcel"
621 | }
622 | },
623 | "node_modules/@parcel/node-resolver-core": {
624 | "version": "3.3.0",
625 | "resolved": "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-3.3.0.tgz",
626 | "integrity": "sha512-rhPW9DYPEIqQBSlYzz3S0AjXxjN6Ub2yS6tzzsW/4S3Gpsgk/uEq4ZfxPvoPf/6TgZndVxmKwpmxaKtGMmf3cA==",
627 | "dev": true,
628 | "dependencies": {
629 | "@mischnic/json-sourcemap": "^0.1.0",
630 | "@parcel/diagnostic": "2.12.0",
631 | "@parcel/fs": "2.12.0",
632 | "@parcel/rust": "2.12.0",
633 | "@parcel/utils": "2.12.0",
634 | "nullthrows": "^1.1.1",
635 | "semver": "^7.5.2"
636 | },
637 | "engines": {
638 | "node": ">= 12.0.0"
639 | },
640 | "funding": {
641 | "type": "opencollective",
642 | "url": "https://opencollective.com/parcel"
643 | }
644 | },
645 | "node_modules/@parcel/optimizer-css": {
646 | "version": "2.12.0",
647 | "resolved": "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.12.0.tgz",
648 | "integrity": "sha512-ifbcC97fRzpruTjaa8axIFeX4MjjSIlQfem3EJug3L2AVqQUXnM1XO8L0NaXGNLTW2qnh1ZjIJ7vXT/QhsphsA==",
649 | "dev": true,
650 | "dependencies": {
651 | "@parcel/diagnostic": "2.12.0",
652 | "@parcel/plugin": "2.12.0",
653 | "@parcel/source-map": "^2.1.1",
654 | "@parcel/utils": "2.12.0",
655 | "browserslist": "^4.6.6",
656 | "lightningcss": "^1.22.1",
657 | "nullthrows": "^1.1.1"
658 | },
659 | "engines": {
660 | "node": ">= 12.0.0",
661 | "parcel": "^2.12.0"
662 | },
663 | "funding": {
664 | "type": "opencollective",
665 | "url": "https://opencollective.com/parcel"
666 | }
667 | },
668 | "node_modules/@parcel/optimizer-htmlnano": {
669 | "version": "2.12.0",
670 | "resolved": "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.12.0.tgz",
671 | "integrity": "sha512-MfPMeCrT8FYiOrpFHVR+NcZQlXAptK2r4nGJjfT+ndPBhEEZp4yyL7n1y7HfX9geg5altc4WTb4Gug7rCoW8VQ==",
672 | "dev": true,
673 | "dependencies": {
674 | "@parcel/plugin": "2.12.0",
675 | "htmlnano": "^2.0.0",
676 | "nullthrows": "^1.1.1",
677 | "posthtml": "^0.16.5",
678 | "svgo": "^2.4.0"
679 | },
680 | "engines": {
681 | "node": ">= 12.0.0",
682 | "parcel": "^2.12.0"
683 | },
684 | "funding": {
685 | "type": "opencollective",
686 | "url": "https://opencollective.com/parcel"
687 | }
688 | },
689 | "node_modules/@parcel/optimizer-htmlnano/node_modules/css-select": {
690 | "version": "4.3.0",
691 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
692 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
693 | "dev": true,
694 | "dependencies": {
695 | "boolbase": "^1.0.0",
696 | "css-what": "^6.0.1",
697 | "domhandler": "^4.3.1",
698 | "domutils": "^2.8.0",
699 | "nth-check": "^2.0.1"
700 | },
701 | "funding": {
702 | "url": "https://github.com/sponsors/fb55"
703 | }
704 | },
705 | "node_modules/@parcel/optimizer-htmlnano/node_modules/css-tree": {
706 | "version": "1.1.3",
707 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
708 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
709 | "dev": true,
710 | "dependencies": {
711 | "mdn-data": "2.0.14",
712 | "source-map": "^0.6.1"
713 | },
714 | "engines": {
715 | "node": ">=8.0.0"
716 | }
717 | },
718 | "node_modules/@parcel/optimizer-htmlnano/node_modules/csso": {
719 | "version": "4.2.0",
720 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
721 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
722 | "dev": true,
723 | "dependencies": {
724 | "css-tree": "^1.1.2"
725 | },
726 | "engines": {
727 | "node": ">=8.0.0"
728 | }
729 | },
730 | "node_modules/@parcel/optimizer-htmlnano/node_modules/mdn-data": {
731 | "version": "2.0.14",
732 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
733 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
734 | "dev": true
735 | },
736 | "node_modules/@parcel/optimizer-htmlnano/node_modules/svgo": {
737 | "version": "2.8.0",
738 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
739 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
740 | "dev": true,
741 | "dependencies": {
742 | "@trysound/sax": "0.2.0",
743 | "commander": "^7.2.0",
744 | "css-select": "^4.1.3",
745 | "css-tree": "^1.1.3",
746 | "csso": "^4.2.0",
747 | "picocolors": "^1.0.0",
748 | "stable": "^0.1.8"
749 | },
750 | "bin": {
751 | "svgo": "bin/svgo"
752 | },
753 | "engines": {
754 | "node": ">=10.13.0"
755 | }
756 | },
757 | "node_modules/@parcel/optimizer-image": {
758 | "version": "2.12.0",
759 | "resolved": "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.12.0.tgz",
760 | "integrity": "sha512-bo1O7raeAIbRU5nmNVtx8divLW9Xqn0c57GVNGeAK4mygnQoqHqRZ0mR9uboh64pxv6ijXZHPhKvU9HEpjPjBQ==",
761 | "dev": true,
762 | "dependencies": {
763 | "@parcel/diagnostic": "2.12.0",
764 | "@parcel/plugin": "2.12.0",
765 | "@parcel/rust": "2.12.0",
766 | "@parcel/utils": "2.12.0",
767 | "@parcel/workers": "2.12.0"
768 | },
769 | "engines": {
770 | "node": ">= 12.0.0",
771 | "parcel": "^2.12.0"
772 | },
773 | "funding": {
774 | "type": "opencollective",
775 | "url": "https://opencollective.com/parcel"
776 | },
777 | "peerDependencies": {
778 | "@parcel/core": "^2.12.0"
779 | }
780 | },
781 | "node_modules/@parcel/optimizer-svgo": {
782 | "version": "2.12.0",
783 | "resolved": "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.12.0.tgz",
784 | "integrity": "sha512-Kyli+ZZXnoonnbeRQdoWwee9Bk2jm/49xvnfb+2OO8NN0d41lblBoRhOyFiScRnJrw7eVl1Xrz7NTkXCIO7XFQ==",
785 | "dev": true,
786 | "dependencies": {
787 | "@parcel/diagnostic": "2.12.0",
788 | "@parcel/plugin": "2.12.0",
789 | "@parcel/utils": "2.12.0",
790 | "svgo": "^2.4.0"
791 | },
792 | "engines": {
793 | "node": ">= 12.0.0",
794 | "parcel": "^2.12.0"
795 | },
796 | "funding": {
797 | "type": "opencollective",
798 | "url": "https://opencollective.com/parcel"
799 | }
800 | },
801 | "node_modules/@parcel/optimizer-svgo/node_modules/css-select": {
802 | "version": "4.3.0",
803 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
804 | "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
805 | "dev": true,
806 | "dependencies": {
807 | "boolbase": "^1.0.0",
808 | "css-what": "^6.0.1",
809 | "domhandler": "^4.3.1",
810 | "domutils": "^2.8.0",
811 | "nth-check": "^2.0.1"
812 | },
813 | "funding": {
814 | "url": "https://github.com/sponsors/fb55"
815 | }
816 | },
817 | "node_modules/@parcel/optimizer-svgo/node_modules/css-tree": {
818 | "version": "1.1.3",
819 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
820 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
821 | "dev": true,
822 | "dependencies": {
823 | "mdn-data": "2.0.14",
824 | "source-map": "^0.6.1"
825 | },
826 | "engines": {
827 | "node": ">=8.0.0"
828 | }
829 | },
830 | "node_modules/@parcel/optimizer-svgo/node_modules/csso": {
831 | "version": "4.2.0",
832 | "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
833 | "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
834 | "dev": true,
835 | "dependencies": {
836 | "css-tree": "^1.1.2"
837 | },
838 | "engines": {
839 | "node": ">=8.0.0"
840 | }
841 | },
842 | "node_modules/@parcel/optimizer-svgo/node_modules/mdn-data": {
843 | "version": "2.0.14",
844 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
845 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
846 | "dev": true
847 | },
848 | "node_modules/@parcel/optimizer-svgo/node_modules/svgo": {
849 | "version": "2.8.0",
850 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
851 | "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
852 | "dev": true,
853 | "dependencies": {
854 | "@trysound/sax": "0.2.0",
855 | "commander": "^7.2.0",
856 | "css-select": "^4.1.3",
857 | "css-tree": "^1.1.3",
858 | "csso": "^4.2.0",
859 | "picocolors": "^1.0.0",
860 | "stable": "^0.1.8"
861 | },
862 | "bin": {
863 | "svgo": "bin/svgo"
864 | },
865 | "engines": {
866 | "node": ">=10.13.0"
867 | }
868 | },
869 | "node_modules/@parcel/optimizer-swc": {
870 | "version": "2.12.0",
871 | "resolved": "https://registry.npmjs.org/@parcel/optimizer-swc/-/optimizer-swc-2.12.0.tgz",
872 | "integrity": "sha512-iBi6LZB3lm6WmbXfzi8J3DCVPmn4FN2lw7DGXxUXu7MouDPVWfTsM6U/5TkSHJRNRogZ2gqy5q9g34NPxHbJcw==",
873 | "dev": true,
874 | "dependencies": {
875 | "@parcel/diagnostic": "2.12.0",
876 | "@parcel/plugin": "2.12.0",
877 | "@parcel/source-map": "^2.1.1",
878 | "@parcel/utils": "2.12.0",
879 | "@swc/core": "^1.3.36",
880 | "nullthrows": "^1.1.1"
881 | },
882 | "engines": {
883 | "node": ">= 12.0.0",
884 | "parcel": "^2.12.0"
885 | },
886 | "funding": {
887 | "type": "opencollective",
888 | "url": "https://opencollective.com/parcel"
889 | }
890 | },
891 | "node_modules/@parcel/package-manager": {
892 | "version": "2.12.0",
893 | "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.12.0.tgz",
894 | "integrity": "sha512-0nvAezcjPx9FT+hIL+LS1jb0aohwLZXct7jAh7i0MLMtehOi0z1Sau+QpgMlA9rfEZZ1LIeFdnZZwqSy7Ccspw==",
895 | "dev": true,
896 | "dependencies": {
897 | "@parcel/diagnostic": "2.12.0",
898 | "@parcel/fs": "2.12.0",
899 | "@parcel/logger": "2.12.0",
900 | "@parcel/node-resolver-core": "3.3.0",
901 | "@parcel/types": "2.12.0",
902 | "@parcel/utils": "2.12.0",
903 | "@parcel/workers": "2.12.0",
904 | "@swc/core": "^1.3.36",
905 | "semver": "^7.5.2"
906 | },
907 | "engines": {
908 | "node": ">= 12.0.0"
909 | },
910 | "funding": {
911 | "type": "opencollective",
912 | "url": "https://opencollective.com/parcel"
913 | },
914 | "peerDependencies": {
915 | "@parcel/core": "^2.12.0"
916 | }
917 | },
918 | "node_modules/@parcel/packager-css": {
919 | "version": "2.12.0",
920 | "resolved": "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.12.0.tgz",
921 | "integrity": "sha512-j3a/ODciaNKD19IYdWJT+TP+tnhhn5koBGBWWtrKSu0UxWpnezIGZetit3eE+Y9+NTePalMkvpIlit2eDhvfJA==",
922 | "dev": true,
923 | "dependencies": {
924 | "@parcel/diagnostic": "2.12.0",
925 | "@parcel/plugin": "2.12.0",
926 | "@parcel/source-map": "^2.1.1",
927 | "@parcel/utils": "2.12.0",
928 | "lightningcss": "^1.22.1",
929 | "nullthrows": "^1.1.1"
930 | },
931 | "engines": {
932 | "node": ">= 12.0.0",
933 | "parcel": "^2.12.0"
934 | },
935 | "funding": {
936 | "type": "opencollective",
937 | "url": "https://opencollective.com/parcel"
938 | }
939 | },
940 | "node_modules/@parcel/packager-html": {
941 | "version": "2.12.0",
942 | "resolved": "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.12.0.tgz",
943 | "integrity": "sha512-PpvGB9hFFe+19NXGz2ApvPrkA9GwEqaDAninT+3pJD57OVBaxB8U+HN4a5LICKxjUppPPqmrLb6YPbD65IX4RA==",
944 | "dev": true,
945 | "dependencies": {
946 | "@parcel/plugin": "2.12.0",
947 | "@parcel/types": "2.12.0",
948 | "@parcel/utils": "2.12.0",
949 | "nullthrows": "^1.1.1",
950 | "posthtml": "^0.16.5"
951 | },
952 | "engines": {
953 | "node": ">= 12.0.0",
954 | "parcel": "^2.12.0"
955 | },
956 | "funding": {
957 | "type": "opencollective",
958 | "url": "https://opencollective.com/parcel"
959 | }
960 | },
961 | "node_modules/@parcel/packager-js": {
962 | "version": "2.12.0",
963 | "resolved": "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.12.0.tgz",
964 | "integrity": "sha512-viMF+FszITRRr8+2iJyk+4ruGiL27Y6AF7hQ3xbJfzqnmbOhGFtLTQwuwhOLqN/mWR2VKdgbLpZSarWaO3yAMg==",
965 | "dev": true,
966 | "dependencies": {
967 | "@parcel/diagnostic": "2.12.0",
968 | "@parcel/plugin": "2.12.0",
969 | "@parcel/rust": "2.12.0",
970 | "@parcel/source-map": "^2.1.1",
971 | "@parcel/types": "2.12.0",
972 | "@parcel/utils": "2.12.0",
973 | "globals": "^13.2.0",
974 | "nullthrows": "^1.1.1"
975 | },
976 | "engines": {
977 | "node": ">= 12.0.0",
978 | "parcel": "^2.12.0"
979 | },
980 | "funding": {
981 | "type": "opencollective",
982 | "url": "https://opencollective.com/parcel"
983 | }
984 | },
985 | "node_modules/@parcel/packager-raw": {
986 | "version": "2.12.0",
987 | "resolved": "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.12.0.tgz",
988 | "integrity": "sha512-tJZqFbHqP24aq1F+OojFbQIc09P/u8HAW5xfndCrFnXpW4wTgM3p03P0xfw3gnNq+TtxHJ8c3UFE5LnXNNKhYA==",
989 | "dev": true,
990 | "dependencies": {
991 | "@parcel/plugin": "2.12.0"
992 | },
993 | "engines": {
994 | "node": ">= 12.0.0",
995 | "parcel": "^2.12.0"
996 | },
997 | "funding": {
998 | "type": "opencollective",
999 | "url": "https://opencollective.com/parcel"
1000 | }
1001 | },
1002 | "node_modules/@parcel/packager-svg": {
1003 | "version": "2.12.0",
1004 | "resolved": "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.12.0.tgz",
1005 | "integrity": "sha512-ldaGiacGb2lLqcXas97k8JiZRbAnNREmcvoY2W2dvW4loVuDT9B9fU777mbV6zODpcgcHWsLL3lYbJ5Lt3y9cg==",
1006 | "dev": true,
1007 | "dependencies": {
1008 | "@parcel/plugin": "2.12.0",
1009 | "@parcel/types": "2.12.0",
1010 | "@parcel/utils": "2.12.0",
1011 | "posthtml": "^0.16.4"
1012 | },
1013 | "engines": {
1014 | "node": ">= 12.0.0",
1015 | "parcel": "^2.12.0"
1016 | },
1017 | "funding": {
1018 | "type": "opencollective",
1019 | "url": "https://opencollective.com/parcel"
1020 | }
1021 | },
1022 | "node_modules/@parcel/packager-wasm": {
1023 | "version": "2.12.0",
1024 | "resolved": "https://registry.npmjs.org/@parcel/packager-wasm/-/packager-wasm-2.12.0.tgz",
1025 | "integrity": "sha512-fYqZzIqO9fGYveeImzF8ll6KRo2LrOXfD+2Y5U3BiX/wp9wv17dz50QLDQm9hmTcKGWxK4yWqKQh+Evp/fae7A==",
1026 | "dev": true,
1027 | "dependencies": {
1028 | "@parcel/plugin": "2.12.0"
1029 | },
1030 | "engines": {
1031 | "node": ">=12.0.0",
1032 | "parcel": "^2.12.0"
1033 | },
1034 | "funding": {
1035 | "type": "opencollective",
1036 | "url": "https://opencollective.com/parcel"
1037 | }
1038 | },
1039 | "node_modules/@parcel/plugin": {
1040 | "version": "2.12.0",
1041 | "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.12.0.tgz",
1042 | "integrity": "sha512-nc/uRA8DiMoe4neBbzV6kDndh/58a4wQuGKw5oEoIwBCHUvE2W8ZFSu7ollSXUGRzfacTt4NdY8TwS73ScWZ+g==",
1043 | "dev": true,
1044 | "dependencies": {
1045 | "@parcel/types": "2.12.0"
1046 | },
1047 | "engines": {
1048 | "node": ">= 12.0.0"
1049 | },
1050 | "funding": {
1051 | "type": "opencollective",
1052 | "url": "https://opencollective.com/parcel"
1053 | }
1054 | },
1055 | "node_modules/@parcel/profiler": {
1056 | "version": "2.12.0",
1057 | "resolved": "https://registry.npmjs.org/@parcel/profiler/-/profiler-2.12.0.tgz",
1058 | "integrity": "sha512-q53fvl5LDcFYzMUtSusUBZSjQrKjMlLEBgKeQHFwkimwR1mgoseaDBDuNz0XvmzDzF1UelJ02TUKCGacU8W2qA==",
1059 | "dev": true,
1060 | "dependencies": {
1061 | "@parcel/diagnostic": "2.12.0",
1062 | "@parcel/events": "2.12.0",
1063 | "chrome-trace-event": "^1.0.2"
1064 | },
1065 | "engines": {
1066 | "node": ">= 12.0.0"
1067 | },
1068 | "funding": {
1069 | "type": "opencollective",
1070 | "url": "https://opencollective.com/parcel"
1071 | }
1072 | },
1073 | "node_modules/@parcel/reporter-cli": {
1074 | "version": "2.12.0",
1075 | "resolved": "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.12.0.tgz",
1076 | "integrity": "sha512-TqKsH4GVOLPSCanZ6tcTPj+rdVHERnt5y4bwTM82cajM21bCX1Ruwp8xOKU+03091oV2pv5ieB18pJyRF7IpIw==",
1077 | "dev": true,
1078 | "dependencies": {
1079 | "@parcel/plugin": "2.12.0",
1080 | "@parcel/types": "2.12.0",
1081 | "@parcel/utils": "2.12.0",
1082 | "chalk": "^4.1.0",
1083 | "term-size": "^2.2.1"
1084 | },
1085 | "engines": {
1086 | "node": ">= 12.0.0",
1087 | "parcel": "^2.12.0"
1088 | },
1089 | "funding": {
1090 | "type": "opencollective",
1091 | "url": "https://opencollective.com/parcel"
1092 | }
1093 | },
1094 | "node_modules/@parcel/reporter-dev-server": {
1095 | "version": "2.12.0",
1096 | "resolved": "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.12.0.tgz",
1097 | "integrity": "sha512-tIcDqRvAPAttRlTV28dHcbWT5K2r/MBFks7nM4nrEDHWtnrCwimkDmZTc1kD8QOCCjGVwRHcQybpHvxfwol6GA==",
1098 | "dev": true,
1099 | "dependencies": {
1100 | "@parcel/plugin": "2.12.0",
1101 | "@parcel/utils": "2.12.0"
1102 | },
1103 | "engines": {
1104 | "node": ">= 12.0.0",
1105 | "parcel": "^2.12.0"
1106 | },
1107 | "funding": {
1108 | "type": "opencollective",
1109 | "url": "https://opencollective.com/parcel"
1110 | }
1111 | },
1112 | "node_modules/@parcel/reporter-tracer": {
1113 | "version": "2.12.0",
1114 | "resolved": "https://registry.npmjs.org/@parcel/reporter-tracer/-/reporter-tracer-2.12.0.tgz",
1115 | "integrity": "sha512-g8rlu9GxB8Ut/F8WGx4zidIPQ4pcYFjU9bZO+fyRIPrSUFH2bKijCnbZcr4ntqzDGx74hwD6cCG4DBoleq2UlQ==",
1116 | "dev": true,
1117 | "dependencies": {
1118 | "@parcel/plugin": "2.12.0",
1119 | "@parcel/utils": "2.12.0",
1120 | "chrome-trace-event": "^1.0.3",
1121 | "nullthrows": "^1.1.1"
1122 | },
1123 | "engines": {
1124 | "node": ">= 12.0.0",
1125 | "parcel": "^2.12.0"
1126 | },
1127 | "funding": {
1128 | "type": "opencollective",
1129 | "url": "https://opencollective.com/parcel"
1130 | }
1131 | },
1132 | "node_modules/@parcel/resolver-default": {
1133 | "version": "2.12.0",
1134 | "resolved": "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.12.0.tgz",
1135 | "integrity": "sha512-uuhbajTax37TwCxu7V98JtRLiT6hzE4VYSu5B7Qkauy14/WFt2dz6GOUXPgVsED569/hkxebPx3KCMtZW6cHHA==",
1136 | "dev": true,
1137 | "dependencies": {
1138 | "@parcel/node-resolver-core": "3.3.0",
1139 | "@parcel/plugin": "2.12.0"
1140 | },
1141 | "engines": {
1142 | "node": ">= 12.0.0",
1143 | "parcel": "^2.12.0"
1144 | },
1145 | "funding": {
1146 | "type": "opencollective",
1147 | "url": "https://opencollective.com/parcel"
1148 | }
1149 | },
1150 | "node_modules/@parcel/runtime-browser-hmr": {
1151 | "version": "2.12.0",
1152 | "resolved": "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.12.0.tgz",
1153 | "integrity": "sha512-4ZLp2FWyD32r0GlTulO3+jxgsA3oO1P1b5oO2IWuWilfhcJH5LTiazpL5YdusUjtNn9PGN6QLAWfxmzRIfM+Ow==",
1154 | "dev": true,
1155 | "dependencies": {
1156 | "@parcel/plugin": "2.12.0",
1157 | "@parcel/utils": "2.12.0"
1158 | },
1159 | "engines": {
1160 | "node": ">= 12.0.0",
1161 | "parcel": "^2.12.0"
1162 | },
1163 | "funding": {
1164 | "type": "opencollective",
1165 | "url": "https://opencollective.com/parcel"
1166 | }
1167 | },
1168 | "node_modules/@parcel/runtime-js": {
1169 | "version": "2.12.0",
1170 | "resolved": "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.12.0.tgz",
1171 | "integrity": "sha512-sBerP32Z1crX5PfLNGDSXSdqzlllM++GVnVQVeM7DgMKS8JIFG3VLi28YkX+dYYGtPypm01JoIHCkvwiZEcQJg==",
1172 | "dev": true,
1173 | "dependencies": {
1174 | "@parcel/diagnostic": "2.12.0",
1175 | "@parcel/plugin": "2.12.0",
1176 | "@parcel/utils": "2.12.0",
1177 | "nullthrows": "^1.1.1"
1178 | },
1179 | "engines": {
1180 | "node": ">= 12.0.0",
1181 | "parcel": "^2.12.0"
1182 | },
1183 | "funding": {
1184 | "type": "opencollective",
1185 | "url": "https://opencollective.com/parcel"
1186 | }
1187 | },
1188 | "node_modules/@parcel/runtime-react-refresh": {
1189 | "version": "2.12.0",
1190 | "resolved": "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.12.0.tgz",
1191 | "integrity": "sha512-SCHkcczJIDFTFdLTzrHTkQ0aTrX3xH6jrA4UsCBL6ji61+w+ohy4jEEe9qCgJVXhnJfGLE43HNXek+0MStX+Mw==",
1192 | "dev": true,
1193 | "dependencies": {
1194 | "@parcel/plugin": "2.12.0",
1195 | "@parcel/utils": "2.12.0",
1196 | "react-error-overlay": "6.0.9",
1197 | "react-refresh": "^0.9.0"
1198 | },
1199 | "engines": {
1200 | "node": ">= 12.0.0",
1201 | "parcel": "^2.12.0"
1202 | },
1203 | "funding": {
1204 | "type": "opencollective",
1205 | "url": "https://opencollective.com/parcel"
1206 | }
1207 | },
1208 | "node_modules/@parcel/runtime-service-worker": {
1209 | "version": "2.12.0",
1210 | "resolved": "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.12.0.tgz",
1211 | "integrity": "sha512-BXuMBsfiwpIEnssn+jqfC3jkgbS8oxeo3C7xhSQsuSv+AF2FwY3O3AO1c1RBskEW3XrBLNINOJujroNw80VTKA==",
1212 | "dev": true,
1213 | "dependencies": {
1214 | "@parcel/plugin": "2.12.0",
1215 | "@parcel/utils": "2.12.0",
1216 | "nullthrows": "^1.1.1"
1217 | },
1218 | "engines": {
1219 | "node": ">= 12.0.0",
1220 | "parcel": "^2.12.0"
1221 | },
1222 | "funding": {
1223 | "type": "opencollective",
1224 | "url": "https://opencollective.com/parcel"
1225 | }
1226 | },
1227 | "node_modules/@parcel/rust": {
1228 | "version": "2.12.0",
1229 | "resolved": "https://registry.npmjs.org/@parcel/rust/-/rust-2.12.0.tgz",
1230 | "integrity": "sha512-005cldMdFZFDPOjbDVEXcINQ3wT4vrxvSavRWI3Az0e3E18exO/x/mW9f648KtXugOXMAqCEqhFHcXECL9nmMw==",
1231 | "dev": true,
1232 | "engines": {
1233 | "node": ">= 12.0.0"
1234 | },
1235 | "funding": {
1236 | "type": "opencollective",
1237 | "url": "https://opencollective.com/parcel"
1238 | }
1239 | },
1240 | "node_modules/@parcel/source-map": {
1241 | "version": "2.1.1",
1242 | "resolved": "https://registry.npmjs.org/@parcel/source-map/-/source-map-2.1.1.tgz",
1243 | "integrity": "sha512-Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==",
1244 | "dev": true,
1245 | "dependencies": {
1246 | "detect-libc": "^1.0.3"
1247 | },
1248 | "engines": {
1249 | "node": "^12.18.3 || >=14"
1250 | }
1251 | },
1252 | "node_modules/@parcel/transformer-babel": {
1253 | "version": "2.12.0",
1254 | "resolved": "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.12.0.tgz",
1255 | "integrity": "sha512-zQaBfOnf/l8rPxYGnsk/ufh/0EuqvmnxafjBIpKZ//j6rGylw5JCqXSb1QvvAqRYruKeccxGv7+HrxpqKU6V4A==",
1256 | "dev": true,
1257 | "dependencies": {
1258 | "@parcel/diagnostic": "2.12.0",
1259 | "@parcel/plugin": "2.12.0",
1260 | "@parcel/source-map": "^2.1.1",
1261 | "@parcel/utils": "2.12.0",
1262 | "browserslist": "^4.6.6",
1263 | "json5": "^2.2.0",
1264 | "nullthrows": "^1.1.1",
1265 | "semver": "^7.5.2"
1266 | },
1267 | "engines": {
1268 | "node": ">= 12.0.0",
1269 | "parcel": "^2.12.0"
1270 | },
1271 | "funding": {
1272 | "type": "opencollective",
1273 | "url": "https://opencollective.com/parcel"
1274 | }
1275 | },
1276 | "node_modules/@parcel/transformer-css": {
1277 | "version": "2.12.0",
1278 | "resolved": "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.12.0.tgz",
1279 | "integrity": "sha512-vXhOqoAlQGATYyQ433Z1DXKmiKmzOAUmKysbYH3FD+LKEKLMEl/pA14goqp00TW+A/EjtSKKyeMyHlMIIUqj4Q==",
1280 | "dev": true,
1281 | "dependencies": {
1282 | "@parcel/diagnostic": "2.12.0",
1283 | "@parcel/plugin": "2.12.0",
1284 | "@parcel/source-map": "^2.1.1",
1285 | "@parcel/utils": "2.12.0",
1286 | "browserslist": "^4.6.6",
1287 | "lightningcss": "^1.22.1",
1288 | "nullthrows": "^1.1.1"
1289 | },
1290 | "engines": {
1291 | "node": ">= 12.0.0",
1292 | "parcel": "^2.12.0"
1293 | },
1294 | "funding": {
1295 | "type": "opencollective",
1296 | "url": "https://opencollective.com/parcel"
1297 | }
1298 | },
1299 | "node_modules/@parcel/transformer-html": {
1300 | "version": "2.12.0",
1301 | "resolved": "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.12.0.tgz",
1302 | "integrity": "sha512-5jW4dFFBlYBvIQk4nrH62rfA/G/KzVzEDa6S+Nne0xXhglLjkm64Ci9b/d4tKZfuGWUbpm2ASAq8skti/nfpXw==",
1303 | "dev": true,
1304 | "dependencies": {
1305 | "@parcel/diagnostic": "2.12.0",
1306 | "@parcel/plugin": "2.12.0",
1307 | "@parcel/rust": "2.12.0",
1308 | "nullthrows": "^1.1.1",
1309 | "posthtml": "^0.16.5",
1310 | "posthtml-parser": "^0.10.1",
1311 | "posthtml-render": "^3.0.0",
1312 | "semver": "^7.5.2",
1313 | "srcset": "4"
1314 | },
1315 | "engines": {
1316 | "node": ">= 12.0.0",
1317 | "parcel": "^2.12.0"
1318 | },
1319 | "funding": {
1320 | "type": "opencollective",
1321 | "url": "https://opencollective.com/parcel"
1322 | }
1323 | },
1324 | "node_modules/@parcel/transformer-html/node_modules/srcset": {
1325 | "version": "4.0.0",
1326 | "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz",
1327 | "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==",
1328 | "dev": true,
1329 | "engines": {
1330 | "node": ">=12"
1331 | },
1332 | "funding": {
1333 | "url": "https://github.com/sponsors/sindresorhus"
1334 | }
1335 | },
1336 | "node_modules/@parcel/transformer-image": {
1337 | "version": "2.12.0",
1338 | "resolved": "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.12.0.tgz",
1339 | "integrity": "sha512-8hXrGm2IRII49R7lZ0RpmNk27EhcsH+uNKsvxuMpXPuEnWgC/ha/IrjaI29xCng1uGur74bJF43NUSQhR4aTdw==",
1340 | "dev": true,
1341 | "dependencies": {
1342 | "@parcel/plugin": "2.12.0",
1343 | "@parcel/utils": "2.12.0",
1344 | "@parcel/workers": "2.12.0",
1345 | "nullthrows": "^1.1.1"
1346 | },
1347 | "engines": {
1348 | "node": ">= 12.0.0",
1349 | "parcel": "^2.12.0"
1350 | },
1351 | "peerDependencies": {
1352 | "@parcel/core": "^2.12.0"
1353 | }
1354 | },
1355 | "node_modules/@parcel/transformer-js": {
1356 | "version": "2.12.0",
1357 | "resolved": "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.12.0.tgz",
1358 | "integrity": "sha512-OSZpOu+FGDbC/xivu24v092D9w6EGytB3vidwbdiJ2FaPgfV7rxS0WIUjH4I0OcvHAcitArRXL0a3+HrNTdQQw==",
1359 | "dev": true,
1360 | "dependencies": {
1361 | "@parcel/diagnostic": "2.12.0",
1362 | "@parcel/plugin": "2.12.0",
1363 | "@parcel/rust": "2.12.0",
1364 | "@parcel/source-map": "^2.1.1",
1365 | "@parcel/utils": "2.12.0",
1366 | "@parcel/workers": "2.12.0",
1367 | "@swc/helpers": "^0.5.0",
1368 | "browserslist": "^4.6.6",
1369 | "nullthrows": "^1.1.1",
1370 | "regenerator-runtime": "^0.13.7",
1371 | "semver": "^7.5.2"
1372 | },
1373 | "engines": {
1374 | "node": ">= 12.0.0",
1375 | "parcel": "^2.12.0"
1376 | },
1377 | "funding": {
1378 | "type": "opencollective",
1379 | "url": "https://opencollective.com/parcel"
1380 | },
1381 | "peerDependencies": {
1382 | "@parcel/core": "^2.12.0"
1383 | }
1384 | },
1385 | "node_modules/@parcel/transformer-json": {
1386 | "version": "2.12.0",
1387 | "resolved": "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.12.0.tgz",
1388 | "integrity": "sha512-Utv64GLRCQILK5r0KFs4o7I41ixMPllwOLOhkdjJKvf1hZmN6WqfOmB1YLbWS/y5Zb/iB52DU2pWZm96vLFQZQ==",
1389 | "dev": true,
1390 | "dependencies": {
1391 | "@parcel/plugin": "2.12.0",
1392 | "json5": "^2.2.0"
1393 | },
1394 | "engines": {
1395 | "node": ">= 12.0.0",
1396 | "parcel": "^2.12.0"
1397 | },
1398 | "funding": {
1399 | "type": "opencollective",
1400 | "url": "https://opencollective.com/parcel"
1401 | }
1402 | },
1403 | "node_modules/@parcel/transformer-postcss": {
1404 | "version": "2.12.0",
1405 | "resolved": "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.12.0.tgz",
1406 | "integrity": "sha512-FZqn+oUtiLfPOn67EZxPpBkfdFiTnF4iwiXPqvst3XI8H+iC+yNgzmtJkunOOuylpYY6NOU5jT8d7saqWSDv2Q==",
1407 | "dev": true,
1408 | "dependencies": {
1409 | "@parcel/diagnostic": "2.12.0",
1410 | "@parcel/plugin": "2.12.0",
1411 | "@parcel/rust": "2.12.0",
1412 | "@parcel/utils": "2.12.0",
1413 | "clone": "^2.1.1",
1414 | "nullthrows": "^1.1.1",
1415 | "postcss-value-parser": "^4.2.0",
1416 | "semver": "^7.5.2"
1417 | },
1418 | "engines": {
1419 | "node": ">= 12.0.0",
1420 | "parcel": "^2.12.0"
1421 | },
1422 | "funding": {
1423 | "type": "opencollective",
1424 | "url": "https://opencollective.com/parcel"
1425 | }
1426 | },
1427 | "node_modules/@parcel/transformer-posthtml": {
1428 | "version": "2.12.0",
1429 | "resolved": "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.12.0.tgz",
1430 | "integrity": "sha512-z6Z7rav/pcaWdeD+2sDUcd0mmNZRUvtHaUGa50Y2mr+poxrKilpsnFMSiWBT+oOqPt7j71jzDvrdnAF4XkCljg==",
1431 | "dev": true,
1432 | "dependencies": {
1433 | "@parcel/plugin": "2.12.0",
1434 | "@parcel/utils": "2.12.0",
1435 | "nullthrows": "^1.1.1",
1436 | "posthtml": "^0.16.5",
1437 | "posthtml-parser": "^0.10.1",
1438 | "posthtml-render": "^3.0.0",
1439 | "semver": "^7.5.2"
1440 | },
1441 | "engines": {
1442 | "node": ">= 12.0.0",
1443 | "parcel": "^2.12.0"
1444 | },
1445 | "funding": {
1446 | "type": "opencollective",
1447 | "url": "https://opencollective.com/parcel"
1448 | }
1449 | },
1450 | "node_modules/@parcel/transformer-raw": {
1451 | "version": "2.12.0",
1452 | "resolved": "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.12.0.tgz",
1453 | "integrity": "sha512-Ht1fQvXxix0NncdnmnXZsa6hra20RXYh1VqhBYZLsDfkvGGFnXIgO03Jqn4Z8MkKoa0tiNbDhpKIeTjyclbBxQ==",
1454 | "dev": true,
1455 | "dependencies": {
1456 | "@parcel/plugin": "2.12.0"
1457 | },
1458 | "engines": {
1459 | "node": ">= 12.0.0",
1460 | "parcel": "^2.12.0"
1461 | },
1462 | "funding": {
1463 | "type": "opencollective",
1464 | "url": "https://opencollective.com/parcel"
1465 | }
1466 | },
1467 | "node_modules/@parcel/transformer-react-refresh-wrap": {
1468 | "version": "2.12.0",
1469 | "resolved": "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.12.0.tgz",
1470 | "integrity": "sha512-GE8gmP2AZtkpBIV5vSCVhewgOFRhqwdM5Q9jNPOY5PKcM3/Ff0qCqDiTzzGLhk0/VMBrdjssrfZkVx6S/lHdJw==",
1471 | "dev": true,
1472 | "dependencies": {
1473 | "@parcel/plugin": "2.12.0",
1474 | "@parcel/utils": "2.12.0",
1475 | "react-refresh": "^0.9.0"
1476 | },
1477 | "engines": {
1478 | "node": ">= 12.0.0",
1479 | "parcel": "^2.12.0"
1480 | },
1481 | "funding": {
1482 | "type": "opencollective",
1483 | "url": "https://opencollective.com/parcel"
1484 | }
1485 | },
1486 | "node_modules/@parcel/transformer-svg": {
1487 | "version": "2.12.0",
1488 | "resolved": "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.12.0.tgz",
1489 | "integrity": "sha512-cZJqGRJ4JNdYcb+vj94J7PdOuTnwyy45dM9xqbIMH+HSiiIkfrMsdEwYft0GTyFTdsnf+hdHn3tau7Qa5hhX+A==",
1490 | "dev": true,
1491 | "dependencies": {
1492 | "@parcel/diagnostic": "2.12.0",
1493 | "@parcel/plugin": "2.12.0",
1494 | "@parcel/rust": "2.12.0",
1495 | "nullthrows": "^1.1.1",
1496 | "posthtml": "^0.16.5",
1497 | "posthtml-parser": "^0.10.1",
1498 | "posthtml-render": "^3.0.0",
1499 | "semver": "^7.5.2"
1500 | },
1501 | "engines": {
1502 | "node": ">= 12.0.0",
1503 | "parcel": "^2.12.0"
1504 | },
1505 | "funding": {
1506 | "type": "opencollective",
1507 | "url": "https://opencollective.com/parcel"
1508 | }
1509 | },
1510 | "node_modules/@parcel/types": {
1511 | "version": "2.12.0",
1512 | "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.12.0.tgz",
1513 | "integrity": "sha512-8zAFiYNCwNTQcglIObyNwKfRYQK5ELlL13GuBOrSMxueUiI5ylgsGbTS1N7J3dAGZixHO8KhHGv5a71FILn9rQ==",
1514 | "dev": true,
1515 | "dependencies": {
1516 | "@parcel/cache": "2.12.0",
1517 | "@parcel/diagnostic": "2.12.0",
1518 | "@parcel/fs": "2.12.0",
1519 | "@parcel/package-manager": "2.12.0",
1520 | "@parcel/source-map": "^2.1.1",
1521 | "@parcel/workers": "2.12.0",
1522 | "utility-types": "^3.10.0"
1523 | }
1524 | },
1525 | "node_modules/@parcel/utils": {
1526 | "version": "2.12.0",
1527 | "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.12.0.tgz",
1528 | "integrity": "sha512-z1JhLuZ8QmDaYoEIuUCVZlhcFrS7LMfHrb2OCRui5SQFntRWBH2fNM6H/fXXUkT9SkxcuFP2DUA6/m4+Gkz72g==",
1529 | "dev": true,
1530 | "dependencies": {
1531 | "@parcel/codeframe": "2.12.0",
1532 | "@parcel/diagnostic": "2.12.0",
1533 | "@parcel/logger": "2.12.0",
1534 | "@parcel/markdown-ansi": "2.12.0",
1535 | "@parcel/rust": "2.12.0",
1536 | "@parcel/source-map": "^2.1.1",
1537 | "chalk": "^4.1.0",
1538 | "nullthrows": "^1.1.1"
1539 | },
1540 | "engines": {
1541 | "node": ">= 12.0.0"
1542 | },
1543 | "funding": {
1544 | "type": "opencollective",
1545 | "url": "https://opencollective.com/parcel"
1546 | }
1547 | },
1548 | "node_modules/@parcel/watcher": {
1549 | "version": "2.4.1",
1550 | "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz",
1551 | "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==",
1552 | "dev": true,
1553 | "dependencies": {
1554 | "detect-libc": "^1.0.3",
1555 | "is-glob": "^4.0.3",
1556 | "micromatch": "^4.0.5",
1557 | "node-addon-api": "^7.0.0"
1558 | },
1559 | "engines": {
1560 | "node": ">= 10.0.0"
1561 | },
1562 | "funding": {
1563 | "type": "opencollective",
1564 | "url": "https://opencollective.com/parcel"
1565 | },
1566 | "optionalDependencies": {
1567 | "@parcel/watcher-android-arm64": "2.4.1",
1568 | "@parcel/watcher-darwin-arm64": "2.4.1",
1569 | "@parcel/watcher-darwin-x64": "2.4.1",
1570 | "@parcel/watcher-freebsd-x64": "2.4.1",
1571 | "@parcel/watcher-linux-arm-glibc": "2.4.1",
1572 | "@parcel/watcher-linux-arm64-glibc": "2.4.1",
1573 | "@parcel/watcher-linux-arm64-musl": "2.4.1",
1574 | "@parcel/watcher-linux-x64-glibc": "2.4.1",
1575 | "@parcel/watcher-linux-x64-musl": "2.4.1",
1576 | "@parcel/watcher-win32-arm64": "2.4.1",
1577 | "@parcel/watcher-win32-ia32": "2.4.1",
1578 | "@parcel/watcher-win32-x64": "2.4.1"
1579 | }
1580 | },
1581 | "node_modules/@parcel/watcher-android-arm64": {
1582 | "version": "2.4.1",
1583 | "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz",
1584 | "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==",
1585 | "cpu": [
1586 | "arm64"
1587 | ],
1588 | "dev": true,
1589 | "optional": true,
1590 | "os": [
1591 | "android"
1592 | ],
1593 | "engines": {
1594 | "node": ">= 10.0.0"
1595 | },
1596 | "funding": {
1597 | "type": "opencollective",
1598 | "url": "https://opencollective.com/parcel"
1599 | }
1600 | },
1601 | "node_modules/@parcel/watcher-darwin-arm64": {
1602 | "version": "2.4.1",
1603 | "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz",
1604 | "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==",
1605 | "cpu": [
1606 | "arm64"
1607 | ],
1608 | "dev": true,
1609 | "optional": true,
1610 | "os": [
1611 | "darwin"
1612 | ],
1613 | "engines": {
1614 | "node": ">= 10.0.0"
1615 | },
1616 | "funding": {
1617 | "type": "opencollective",
1618 | "url": "https://opencollective.com/parcel"
1619 | }
1620 | },
1621 | "node_modules/@parcel/watcher-darwin-x64": {
1622 | "version": "2.4.1",
1623 | "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz",
1624 | "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==",
1625 | "cpu": [
1626 | "x64"
1627 | ],
1628 | "dev": true,
1629 | "optional": true,
1630 | "os": [
1631 | "darwin"
1632 | ],
1633 | "engines": {
1634 | "node": ">= 10.0.0"
1635 | },
1636 | "funding": {
1637 | "type": "opencollective",
1638 | "url": "https://opencollective.com/parcel"
1639 | }
1640 | },
1641 | "node_modules/@parcel/watcher-freebsd-x64": {
1642 | "version": "2.4.1",
1643 | "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz",
1644 | "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==",
1645 | "cpu": [
1646 | "x64"
1647 | ],
1648 | "dev": true,
1649 | "optional": true,
1650 | "os": [
1651 | "freebsd"
1652 | ],
1653 | "engines": {
1654 | "node": ">= 10.0.0"
1655 | },
1656 | "funding": {
1657 | "type": "opencollective",
1658 | "url": "https://opencollective.com/parcel"
1659 | }
1660 | },
1661 | "node_modules/@parcel/watcher-linux-arm-glibc": {
1662 | "version": "2.4.1",
1663 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz",
1664 | "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==",
1665 | "cpu": [
1666 | "arm"
1667 | ],
1668 | "dev": true,
1669 | "optional": true,
1670 | "os": [
1671 | "linux"
1672 | ],
1673 | "engines": {
1674 | "node": ">= 10.0.0"
1675 | },
1676 | "funding": {
1677 | "type": "opencollective",
1678 | "url": "https://opencollective.com/parcel"
1679 | }
1680 | },
1681 | "node_modules/@parcel/watcher-linux-arm64-glibc": {
1682 | "version": "2.4.1",
1683 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz",
1684 | "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==",
1685 | "cpu": [
1686 | "arm64"
1687 | ],
1688 | "dev": true,
1689 | "optional": true,
1690 | "os": [
1691 | "linux"
1692 | ],
1693 | "engines": {
1694 | "node": ">= 10.0.0"
1695 | },
1696 | "funding": {
1697 | "type": "opencollective",
1698 | "url": "https://opencollective.com/parcel"
1699 | }
1700 | },
1701 | "node_modules/@parcel/watcher-linux-arm64-musl": {
1702 | "version": "2.4.1",
1703 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz",
1704 | "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==",
1705 | "cpu": [
1706 | "arm64"
1707 | ],
1708 | "dev": true,
1709 | "optional": true,
1710 | "os": [
1711 | "linux"
1712 | ],
1713 | "engines": {
1714 | "node": ">= 10.0.0"
1715 | },
1716 | "funding": {
1717 | "type": "opencollective",
1718 | "url": "https://opencollective.com/parcel"
1719 | }
1720 | },
1721 | "node_modules/@parcel/watcher-linux-x64-glibc": {
1722 | "version": "2.4.1",
1723 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz",
1724 | "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==",
1725 | "cpu": [
1726 | "x64"
1727 | ],
1728 | "dev": true,
1729 | "optional": true,
1730 | "os": [
1731 | "linux"
1732 | ],
1733 | "engines": {
1734 | "node": ">= 10.0.0"
1735 | },
1736 | "funding": {
1737 | "type": "opencollective",
1738 | "url": "https://opencollective.com/parcel"
1739 | }
1740 | },
1741 | "node_modules/@parcel/watcher-linux-x64-musl": {
1742 | "version": "2.4.1",
1743 | "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz",
1744 | "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==",
1745 | "cpu": [
1746 | "x64"
1747 | ],
1748 | "dev": true,
1749 | "optional": true,
1750 | "os": [
1751 | "linux"
1752 | ],
1753 | "engines": {
1754 | "node": ">= 10.0.0"
1755 | },
1756 | "funding": {
1757 | "type": "opencollective",
1758 | "url": "https://opencollective.com/parcel"
1759 | }
1760 | },
1761 | "node_modules/@parcel/watcher-win32-arm64": {
1762 | "version": "2.4.1",
1763 | "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz",
1764 | "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==",
1765 | "cpu": [
1766 | "arm64"
1767 | ],
1768 | "dev": true,
1769 | "optional": true,
1770 | "os": [
1771 | "win32"
1772 | ],
1773 | "engines": {
1774 | "node": ">= 10.0.0"
1775 | },
1776 | "funding": {
1777 | "type": "opencollective",
1778 | "url": "https://opencollective.com/parcel"
1779 | }
1780 | },
1781 | "node_modules/@parcel/watcher-win32-ia32": {
1782 | "version": "2.4.1",
1783 | "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz",
1784 | "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==",
1785 | "cpu": [
1786 | "ia32"
1787 | ],
1788 | "dev": true,
1789 | "optional": true,
1790 | "os": [
1791 | "win32"
1792 | ],
1793 | "engines": {
1794 | "node": ">= 10.0.0"
1795 | },
1796 | "funding": {
1797 | "type": "opencollective",
1798 | "url": "https://opencollective.com/parcel"
1799 | }
1800 | },
1801 | "node_modules/@parcel/watcher-win32-x64": {
1802 | "version": "2.4.1",
1803 | "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz",
1804 | "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==",
1805 | "cpu": [
1806 | "x64"
1807 | ],
1808 | "dev": true,
1809 | "optional": true,
1810 | "os": [
1811 | "win32"
1812 | ],
1813 | "engines": {
1814 | "node": ">= 10.0.0"
1815 | },
1816 | "funding": {
1817 | "type": "opencollective",
1818 | "url": "https://opencollective.com/parcel"
1819 | }
1820 | },
1821 | "node_modules/@parcel/workers": {
1822 | "version": "2.12.0",
1823 | "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.12.0.tgz",
1824 | "integrity": "sha512-zv5We5Jmb+ZWXlU6A+AufyjY4oZckkxsZ8J4dvyWL0W8IQvGO1JB4FGeryyttzQv3RM3OxcN/BpTGPiDG6keBw==",
1825 | "dev": true,
1826 | "dependencies": {
1827 | "@parcel/diagnostic": "2.12.0",
1828 | "@parcel/logger": "2.12.0",
1829 | "@parcel/profiler": "2.12.0",
1830 | "@parcel/types": "2.12.0",
1831 | "@parcel/utils": "2.12.0",
1832 | "nullthrows": "^1.1.1"
1833 | },
1834 | "engines": {
1835 | "node": ">= 12.0.0"
1836 | },
1837 | "funding": {
1838 | "type": "opencollective",
1839 | "url": "https://opencollective.com/parcel"
1840 | },
1841 | "peerDependencies": {
1842 | "@parcel/core": "^2.12.0"
1843 | }
1844 | },
1845 | "node_modules/@popperjs/core": {
1846 | "version": "2.11.8",
1847 | "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
1848 | "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
1849 | "dev": true,
1850 | "peer": true,
1851 | "funding": {
1852 | "type": "opencollective",
1853 | "url": "https://opencollective.com/popperjs"
1854 | }
1855 | },
1856 | "node_modules/@remix-run/router": {
1857 | "version": "1.16.1",
1858 | "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.16.1.tgz",
1859 | "integrity": "sha512-es2g3dq6Nb07iFxGk5GuHN20RwBZOsuDQN7izWIisUcv9r+d2C5jQxqmgkdebXgReWfiyUabcki6Fg77mSNrig==",
1860 | "dev": true,
1861 | "engines": {
1862 | "node": ">=14.0.0"
1863 | }
1864 | },
1865 | "node_modules/@swc/core": {
1866 | "version": "1.5.27",
1867 | "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.5.27.tgz",
1868 | "integrity": "sha512-HmSSCBoUSRDFAd8aEB+WILkCofIp1c2OU6ZJWu1aCt6pijwQSkA4y51CTBcdvyy/+zX1W3cic7alfdhmQxxeEQ==",
1869 | "dev": true,
1870 | "hasInstallScript": true,
1871 | "dependencies": {
1872 | "@swc/counter": "^0.1.3",
1873 | "@swc/types": "^0.1.8"
1874 | },
1875 | "engines": {
1876 | "node": ">=10"
1877 | },
1878 | "funding": {
1879 | "type": "opencollective",
1880 | "url": "https://opencollective.com/swc"
1881 | },
1882 | "optionalDependencies": {
1883 | "@swc/core-darwin-arm64": "1.5.27",
1884 | "@swc/core-darwin-x64": "1.5.27",
1885 | "@swc/core-linux-arm-gnueabihf": "1.5.27",
1886 | "@swc/core-linux-arm64-gnu": "1.5.27",
1887 | "@swc/core-linux-arm64-musl": "1.5.27",
1888 | "@swc/core-linux-x64-gnu": "1.5.27",
1889 | "@swc/core-linux-x64-musl": "1.5.27",
1890 | "@swc/core-win32-arm64-msvc": "1.5.27",
1891 | "@swc/core-win32-ia32-msvc": "1.5.27",
1892 | "@swc/core-win32-x64-msvc": "1.5.27"
1893 | },
1894 | "peerDependencies": {
1895 | "@swc/helpers": "*"
1896 | },
1897 | "peerDependenciesMeta": {
1898 | "@swc/helpers": {
1899 | "optional": true
1900 | }
1901 | }
1902 | },
1903 | "node_modules/@swc/core-darwin-arm64": {
1904 | "version": "1.5.27",
1905 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.5.27.tgz",
1906 | "integrity": "sha512-jyoygXBcUcwUya2BI7Uvl0jwcm4kd0RBDGGkWgcFAZmwucSuLT3EsbpWhOwlL3ACT4rpnRlvh+k8nJlq3+w2Aw==",
1907 | "cpu": [
1908 | "arm64"
1909 | ],
1910 | "dev": true,
1911 | "optional": true,
1912 | "os": [
1913 | "darwin"
1914 | ],
1915 | "engines": {
1916 | "node": ">=10"
1917 | }
1918 | },
1919 | "node_modules/@swc/core-darwin-x64": {
1920 | "version": "1.5.27",
1921 | "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.5.27.tgz",
1922 | "integrity": "sha512-eOC583D6b3MS9oODCcZUvAV7ajunjENAPVQL7aZaW+piERW+o4koZAiPlzFdMAUMj7UeVg+UN9sBBbTbJgruIA==",
1923 | "cpu": [
1924 | "x64"
1925 | ],
1926 | "dev": true,
1927 | "optional": true,
1928 | "os": [
1929 | "darwin"
1930 | ],
1931 | "engines": {
1932 | "node": ">=10"
1933 | }
1934 | },
1935 | "node_modules/@swc/core-linux-arm-gnueabihf": {
1936 | "version": "1.5.27",
1937 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.5.27.tgz",
1938 | "integrity": "sha512-bMvX0yF7WYzn1K+s0JWJhvyA3OeZHVrdjka8eZ4LSeuLfC0ggJefo+klyeuN2szn/LYP6/3oByyrWNY8RSHB4w==",
1939 | "cpu": [
1940 | "arm"
1941 | ],
1942 | "dev": true,
1943 | "optional": true,
1944 | "os": [
1945 | "linux"
1946 | ],
1947 | "engines": {
1948 | "node": ">=10"
1949 | }
1950 | },
1951 | "node_modules/@swc/core-linux-arm64-gnu": {
1952 | "version": "1.5.27",
1953 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.5.27.tgz",
1954 | "integrity": "sha512-KlkOcSPxrCqZTm4XrT/LT1o9gmyM2T6bw/hL6IwTYRBJg+sej4rc9iSfVRFZBfNuG3EVkFQSXxik+0yVOXR93Q==",
1955 | "cpu": [
1956 | "arm64"
1957 | ],
1958 | "dev": true,
1959 | "optional": true,
1960 | "os": [
1961 | "linux"
1962 | ],
1963 | "engines": {
1964 | "node": ">=10"
1965 | }
1966 | },
1967 | "node_modules/@swc/core-linux-arm64-musl": {
1968 | "version": "1.5.27",
1969 | "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.5.27.tgz",
1970 | "integrity": "sha512-EwdTt5qykxFXJu7kS+0X0Mp/IlwO8KJ6LVNak2+N8bt1J1q/nCdg1tRDOYQ1Z/MVa1Tm+lJ664Qs1y2NY2SDTw==",
1971 | "cpu": [
1972 | "arm64"
1973 | ],
1974 | "dev": true,
1975 | "optional": true,
1976 | "os": [
1977 | "linux"
1978 | ],
1979 | "engines": {
1980 | "node": ">=10"
1981 | }
1982 | },
1983 | "node_modules/@swc/core-linux-x64-gnu": {
1984 | "version": "1.5.27",
1985 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.5.27.tgz",
1986 | "integrity": "sha512-RsBbxbiSNWLJ2jbAdITtv30J4eZw4O/JJ5zxYgWI54TdY7YrVsqIdzuX+ldximt+CYvO9irHm/mSr/IJY2YXrw==",
1987 | "cpu": [
1988 | "x64"
1989 | ],
1990 | "dev": true,
1991 | "optional": true,
1992 | "os": [
1993 | "linux"
1994 | ],
1995 | "engines": {
1996 | "node": ">=10"
1997 | }
1998 | },
1999 | "node_modules/@swc/core-linux-x64-musl": {
2000 | "version": "1.5.27",
2001 | "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.5.27.tgz",
2002 | "integrity": "sha512-XpRx0Kpy6JEi1WSMqUfR3k8hXLqNOkVqFcUfzvfQ4QNBX5Ek7ywh7WAxlPhCrFp+wAfNAqqUyRY1xZpLvRU51A==",
2003 | "cpu": [
2004 | "x64"
2005 | ],
2006 | "dev": true,
2007 | "optional": true,
2008 | "os": [
2009 | "linux"
2010 | ],
2011 | "engines": {
2012 | "node": ">=10"
2013 | }
2014 | },
2015 | "node_modules/@swc/core-win32-arm64-msvc": {
2016 | "version": "1.5.27",
2017 | "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.5.27.tgz",
2018 | "integrity": "sha512-pwSTUIokyIp+Ha1pur34qdYjxqL1QzhP/HM8anzsFs4yvV2LSI7c3qc4GWPNv2eQ9WiFXyo29uCEIRN6qig7wg==",
2019 | "cpu": [
2020 | "arm64"
2021 | ],
2022 | "dev": true,
2023 | "optional": true,
2024 | "os": [
2025 | "win32"
2026 | ],
2027 | "engines": {
2028 | "node": ">=10"
2029 | }
2030 | },
2031 | "node_modules/@swc/core-win32-ia32-msvc": {
2032 | "version": "1.5.27",
2033 | "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.5.27.tgz",
2034 | "integrity": "sha512-S0S6vqFscvmxPolwmpZvTRfTbYR+eGcyc0ge4x/+HcnBCm+m84rcGxmp3bBb1edNFaIV+X47BlGvvh85cJ4rkQ==",
2035 | "cpu": [
2036 | "ia32"
2037 | ],
2038 | "dev": true,
2039 | "optional": true,
2040 | "os": [
2041 | "win32"
2042 | ],
2043 | "engines": {
2044 | "node": ">=10"
2045 | }
2046 | },
2047 | "node_modules/@swc/core-win32-x64-msvc": {
2048 | "version": "1.5.27",
2049 | "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.5.27.tgz",
2050 | "integrity": "sha512-aem+BcNW42JPbvV6L3Jl3LLj6G80aYADzYenToYisy0Aop0XZAxL/0FbhV+xWORNFtIUKynNtaa1CK7w0UxehQ==",
2051 | "cpu": [
2052 | "x64"
2053 | ],
2054 | "dev": true,
2055 | "optional": true,
2056 | "os": [
2057 | "win32"
2058 | ],
2059 | "engines": {
2060 | "node": ">=10"
2061 | }
2062 | },
2063 | "node_modules/@swc/counter": {
2064 | "version": "0.1.3",
2065 | "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
2066 | "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
2067 | "dev": true
2068 | },
2069 | "node_modules/@swc/helpers": {
2070 | "version": "0.5.11",
2071 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.11.tgz",
2072 | "integrity": "sha512-YNlnKRWF2sVojTpIyzwou9XoTNbzbzONwRhOoniEioF1AtaitTvVZblaQRrAzChWQ1bLYyYSWzM18y4WwgzJ+A==",
2073 | "dev": true,
2074 | "dependencies": {
2075 | "tslib": "^2.4.0"
2076 | }
2077 | },
2078 | "node_modules/@swc/types": {
2079 | "version": "0.1.8",
2080 | "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.8.tgz",
2081 | "integrity": "sha512-RNFA3+7OJFNYY78x0FYwi1Ow+iF1eF5WvmfY1nXPOEH4R2p/D4Cr1vzje7dNAI2aLFqpv8Wyz4oKSWqIZArpQA==",
2082 | "dev": true,
2083 | "dependencies": {
2084 | "@swc/counter": "^0.1.3"
2085 | }
2086 | },
2087 | "node_modules/@trysound/sax": {
2088 | "version": "0.2.0",
2089 | "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
2090 | "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
2091 | "dev": true,
2092 | "engines": {
2093 | "node": ">=10.13.0"
2094 | }
2095 | },
2096 | "node_modules/@types/prop-types": {
2097 | "version": "15.7.12",
2098 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz",
2099 | "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==",
2100 | "dev": true
2101 | },
2102 | "node_modules/@types/react": {
2103 | "version": "18.3.3",
2104 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz",
2105 | "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==",
2106 | "dev": true,
2107 | "dependencies": {
2108 | "@types/prop-types": "*",
2109 | "csstype": "^3.0.2"
2110 | }
2111 | },
2112 | "node_modules/@types/react-dom": {
2113 | "version": "18.3.0",
2114 | "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz",
2115 | "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==",
2116 | "dev": true,
2117 | "dependencies": {
2118 | "@types/react": "*"
2119 | }
2120 | },
2121 | "node_modules/abortcontroller-polyfill": {
2122 | "version": "1.7.5",
2123 | "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz",
2124 | "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==",
2125 | "dev": true
2126 | },
2127 | "node_modules/ansi-styles": {
2128 | "version": "4.3.0",
2129 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2130 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2131 | "dev": true,
2132 | "dependencies": {
2133 | "color-convert": "^2.0.1"
2134 | },
2135 | "engines": {
2136 | "node": ">=8"
2137 | },
2138 | "funding": {
2139 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
2140 | }
2141 | },
2142 | "node_modules/argparse": {
2143 | "version": "2.0.1",
2144 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
2145 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
2146 | "dev": true
2147 | },
2148 | "node_modules/assert": {
2149 | "version": "2.1.0",
2150 | "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz",
2151 | "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==",
2152 | "dev": true,
2153 | "dependencies": {
2154 | "call-bind": "^1.0.2",
2155 | "is-nan": "^1.3.2",
2156 | "object-is": "^1.1.5",
2157 | "object.assign": "^4.1.4",
2158 | "util": "^0.12.5"
2159 | }
2160 | },
2161 | "node_modules/available-typed-arrays": {
2162 | "version": "1.0.7",
2163 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
2164 | "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
2165 | "dev": true,
2166 | "dependencies": {
2167 | "possible-typed-array-names": "^1.0.0"
2168 | },
2169 | "engines": {
2170 | "node": ">= 0.4"
2171 | },
2172 | "funding": {
2173 | "url": "https://github.com/sponsors/ljharb"
2174 | }
2175 | },
2176 | "node_modules/base-x": {
2177 | "version": "3.0.9",
2178 | "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz",
2179 | "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==",
2180 | "dev": true,
2181 | "dependencies": {
2182 | "safe-buffer": "^5.0.1"
2183 | }
2184 | },
2185 | "node_modules/base64-js": {
2186 | "version": "1.5.1",
2187 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
2188 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
2189 | "dev": true,
2190 | "funding": [
2191 | {
2192 | "type": "github",
2193 | "url": "https://github.com/sponsors/feross"
2194 | },
2195 | {
2196 | "type": "patreon",
2197 | "url": "https://www.patreon.com/feross"
2198 | },
2199 | {
2200 | "type": "consulting",
2201 | "url": "https://feross.org/support"
2202 | }
2203 | ]
2204 | },
2205 | "node_modules/boolbase": {
2206 | "version": "1.0.0",
2207 | "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
2208 | "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
2209 | "dev": true
2210 | },
2211 | "node_modules/bootstrap": {
2212 | "version": "5.3.3",
2213 | "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.3.tgz",
2214 | "integrity": "sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg==",
2215 | "dev": true,
2216 | "funding": [
2217 | {
2218 | "type": "github",
2219 | "url": "https://github.com/sponsors/twbs"
2220 | },
2221 | {
2222 | "type": "opencollective",
2223 | "url": "https://opencollective.com/bootstrap"
2224 | }
2225 | ],
2226 | "peerDependencies": {
2227 | "@popperjs/core": "^2.11.8"
2228 | }
2229 | },
2230 | "node_modules/braces": {
2231 | "version": "3.0.3",
2232 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
2233 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
2234 | "dev": true,
2235 | "dependencies": {
2236 | "fill-range": "^7.1.1"
2237 | },
2238 | "engines": {
2239 | "node": ">=8"
2240 | }
2241 | },
2242 | "node_modules/browserify-zlib": {
2243 | "version": "0.2.0",
2244 | "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
2245 | "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
2246 | "dev": true,
2247 | "dependencies": {
2248 | "pako": "~1.0.5"
2249 | }
2250 | },
2251 | "node_modules/browserslist": {
2252 | "version": "4.23.1",
2253 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz",
2254 | "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==",
2255 | "dev": true,
2256 | "funding": [
2257 | {
2258 | "type": "opencollective",
2259 | "url": "https://opencollective.com/browserslist"
2260 | },
2261 | {
2262 | "type": "tidelift",
2263 | "url": "https://tidelift.com/funding/github/npm/browserslist"
2264 | },
2265 | {
2266 | "type": "github",
2267 | "url": "https://github.com/sponsors/ai"
2268 | }
2269 | ],
2270 | "dependencies": {
2271 | "caniuse-lite": "^1.0.30001629",
2272 | "electron-to-chromium": "^1.4.796",
2273 | "node-releases": "^2.0.14",
2274 | "update-browserslist-db": "^1.0.16"
2275 | },
2276 | "bin": {
2277 | "browserslist": "cli.js"
2278 | },
2279 | "engines": {
2280 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
2281 | }
2282 | },
2283 | "node_modules/buffer": {
2284 | "version": "5.7.1",
2285 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
2286 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
2287 | "dev": true,
2288 | "funding": [
2289 | {
2290 | "type": "github",
2291 | "url": "https://github.com/sponsors/feross"
2292 | },
2293 | {
2294 | "type": "patreon",
2295 | "url": "https://www.patreon.com/feross"
2296 | },
2297 | {
2298 | "type": "consulting",
2299 | "url": "https://feross.org/support"
2300 | }
2301 | ],
2302 | "dependencies": {
2303 | "base64-js": "^1.3.1",
2304 | "ieee754": "^1.1.13"
2305 | }
2306 | },
2307 | "node_modules/builtin-status-codes": {
2308 | "version": "3.0.0",
2309 | "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
2310 | "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
2311 | "dev": true
2312 | },
2313 | "node_modules/call-bind": {
2314 | "version": "1.0.7",
2315 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
2316 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
2317 | "dev": true,
2318 | "dependencies": {
2319 | "es-define-property": "^1.0.0",
2320 | "es-errors": "^1.3.0",
2321 | "function-bind": "^1.1.2",
2322 | "get-intrinsic": "^1.2.4",
2323 | "set-function-length": "^1.2.1"
2324 | },
2325 | "engines": {
2326 | "node": ">= 0.4"
2327 | },
2328 | "funding": {
2329 | "url": "https://github.com/sponsors/ljharb"
2330 | }
2331 | },
2332 | "node_modules/callsites": {
2333 | "version": "3.1.0",
2334 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
2335 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
2336 | "dev": true,
2337 | "engines": {
2338 | "node": ">=6"
2339 | }
2340 | },
2341 | "node_modules/caniuse-lite": {
2342 | "version": "1.0.30001632",
2343 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001632.tgz",
2344 | "integrity": "sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg==",
2345 | "dev": true,
2346 | "funding": [
2347 | {
2348 | "type": "opencollective",
2349 | "url": "https://opencollective.com/browserslist"
2350 | },
2351 | {
2352 | "type": "tidelift",
2353 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
2354 | },
2355 | {
2356 | "type": "github",
2357 | "url": "https://github.com/sponsors/ai"
2358 | }
2359 | ]
2360 | },
2361 | "node_modules/chalk": {
2362 | "version": "4.1.2",
2363 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
2364 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
2365 | "dev": true,
2366 | "dependencies": {
2367 | "ansi-styles": "^4.1.0",
2368 | "supports-color": "^7.1.0"
2369 | },
2370 | "engines": {
2371 | "node": ">=10"
2372 | },
2373 | "funding": {
2374 | "url": "https://github.com/chalk/chalk?sponsor=1"
2375 | }
2376 | },
2377 | "node_modules/chrome-trace-event": {
2378 | "version": "1.0.4",
2379 | "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
2380 | "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
2381 | "dev": true,
2382 | "engines": {
2383 | "node": ">=6.0"
2384 | }
2385 | },
2386 | "node_modules/clone": {
2387 | "version": "2.1.2",
2388 | "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
2389 | "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==",
2390 | "dev": true,
2391 | "engines": {
2392 | "node": ">=0.8"
2393 | }
2394 | },
2395 | "node_modules/color-convert": {
2396 | "version": "2.0.1",
2397 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2398 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2399 | "dev": true,
2400 | "dependencies": {
2401 | "color-name": "~1.1.4"
2402 | },
2403 | "engines": {
2404 | "node": ">=7.0.0"
2405 | }
2406 | },
2407 | "node_modules/color-name": {
2408 | "version": "1.1.4",
2409 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2410 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2411 | "dev": true
2412 | },
2413 | "node_modules/commander": {
2414 | "version": "7.2.0",
2415 | "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
2416 | "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
2417 | "dev": true,
2418 | "engines": {
2419 | "node": ">= 10"
2420 | }
2421 | },
2422 | "node_modules/cosmiconfig": {
2423 | "version": "9.0.0",
2424 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
2425 | "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
2426 | "dev": true,
2427 | "dependencies": {
2428 | "env-paths": "^2.2.1",
2429 | "import-fresh": "^3.3.0",
2430 | "js-yaml": "^4.1.0",
2431 | "parse-json": "^5.2.0"
2432 | },
2433 | "engines": {
2434 | "node": ">=14"
2435 | },
2436 | "funding": {
2437 | "url": "https://github.com/sponsors/d-fischer"
2438 | },
2439 | "peerDependencies": {
2440 | "typescript": ">=4.9.5"
2441 | },
2442 | "peerDependenciesMeta": {
2443 | "typescript": {
2444 | "optional": true
2445 | }
2446 | }
2447 | },
2448 | "node_modules/css-select": {
2449 | "version": "5.1.0",
2450 | "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
2451 | "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
2452 | "dev": true,
2453 | "optional": true,
2454 | "peer": true,
2455 | "dependencies": {
2456 | "boolbase": "^1.0.0",
2457 | "css-what": "^6.1.0",
2458 | "domhandler": "^5.0.2",
2459 | "domutils": "^3.0.1",
2460 | "nth-check": "^2.0.1"
2461 | },
2462 | "funding": {
2463 | "url": "https://github.com/sponsors/fb55"
2464 | }
2465 | },
2466 | "node_modules/css-select/node_modules/dom-serializer": {
2467 | "version": "2.0.0",
2468 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
2469 | "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
2470 | "dev": true,
2471 | "optional": true,
2472 | "peer": true,
2473 | "dependencies": {
2474 | "domelementtype": "^2.3.0",
2475 | "domhandler": "^5.0.2",
2476 | "entities": "^4.2.0"
2477 | },
2478 | "funding": {
2479 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
2480 | }
2481 | },
2482 | "node_modules/css-select/node_modules/domhandler": {
2483 | "version": "5.0.3",
2484 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
2485 | "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
2486 | "dev": true,
2487 | "optional": true,
2488 | "peer": true,
2489 | "dependencies": {
2490 | "domelementtype": "^2.3.0"
2491 | },
2492 | "engines": {
2493 | "node": ">= 4"
2494 | },
2495 | "funding": {
2496 | "url": "https://github.com/fb55/domhandler?sponsor=1"
2497 | }
2498 | },
2499 | "node_modules/css-select/node_modules/domutils": {
2500 | "version": "3.1.0",
2501 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
2502 | "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
2503 | "dev": true,
2504 | "optional": true,
2505 | "peer": true,
2506 | "dependencies": {
2507 | "dom-serializer": "^2.0.0",
2508 | "domelementtype": "^2.3.0",
2509 | "domhandler": "^5.0.3"
2510 | },
2511 | "funding": {
2512 | "url": "https://github.com/fb55/domutils?sponsor=1"
2513 | }
2514 | },
2515 | "node_modules/css-select/node_modules/entities": {
2516 | "version": "4.5.0",
2517 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
2518 | "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
2519 | "dev": true,
2520 | "optional": true,
2521 | "peer": true,
2522 | "engines": {
2523 | "node": ">=0.12"
2524 | },
2525 | "funding": {
2526 | "url": "https://github.com/fb55/entities?sponsor=1"
2527 | }
2528 | },
2529 | "node_modules/css-tree": {
2530 | "version": "2.3.1",
2531 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
2532 | "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
2533 | "dev": true,
2534 | "optional": true,
2535 | "peer": true,
2536 | "dependencies": {
2537 | "mdn-data": "2.0.30",
2538 | "source-map-js": "^1.0.1"
2539 | },
2540 | "engines": {
2541 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
2542 | }
2543 | },
2544 | "node_modules/css-what": {
2545 | "version": "6.1.0",
2546 | "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
2547 | "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
2548 | "dev": true,
2549 | "engines": {
2550 | "node": ">= 6"
2551 | },
2552 | "funding": {
2553 | "url": "https://github.com/sponsors/fb55"
2554 | }
2555 | },
2556 | "node_modules/csso": {
2557 | "version": "5.0.5",
2558 | "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
2559 | "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
2560 | "dev": true,
2561 | "optional": true,
2562 | "peer": true,
2563 | "dependencies": {
2564 | "css-tree": "~2.2.0"
2565 | },
2566 | "engines": {
2567 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
2568 | "npm": ">=7.0.0"
2569 | }
2570 | },
2571 | "node_modules/csso/node_modules/css-tree": {
2572 | "version": "2.2.1",
2573 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
2574 | "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
2575 | "dev": true,
2576 | "optional": true,
2577 | "peer": true,
2578 | "dependencies": {
2579 | "mdn-data": "2.0.28",
2580 | "source-map-js": "^1.0.1"
2581 | },
2582 | "engines": {
2583 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
2584 | "npm": ">=7.0.0"
2585 | }
2586 | },
2587 | "node_modules/csso/node_modules/mdn-data": {
2588 | "version": "2.0.28",
2589 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
2590 | "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
2591 | "dev": true,
2592 | "optional": true,
2593 | "peer": true
2594 | },
2595 | "node_modules/csstype": {
2596 | "version": "3.1.3",
2597 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
2598 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
2599 | "dev": true
2600 | },
2601 | "node_modules/define-data-property": {
2602 | "version": "1.1.4",
2603 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
2604 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
2605 | "dev": true,
2606 | "dependencies": {
2607 | "es-define-property": "^1.0.0",
2608 | "es-errors": "^1.3.0",
2609 | "gopd": "^1.0.1"
2610 | },
2611 | "engines": {
2612 | "node": ">= 0.4"
2613 | },
2614 | "funding": {
2615 | "url": "https://github.com/sponsors/ljharb"
2616 | }
2617 | },
2618 | "node_modules/define-properties": {
2619 | "version": "1.2.1",
2620 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
2621 | "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
2622 | "dev": true,
2623 | "dependencies": {
2624 | "define-data-property": "^1.0.1",
2625 | "has-property-descriptors": "^1.0.0",
2626 | "object-keys": "^1.1.1"
2627 | },
2628 | "engines": {
2629 | "node": ">= 0.4"
2630 | },
2631 | "funding": {
2632 | "url": "https://github.com/sponsors/ljharb"
2633 | }
2634 | },
2635 | "node_modules/detect-libc": {
2636 | "version": "1.0.3",
2637 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
2638 | "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
2639 | "dev": true,
2640 | "bin": {
2641 | "detect-libc": "bin/detect-libc.js"
2642 | },
2643 | "engines": {
2644 | "node": ">=0.10"
2645 | }
2646 | },
2647 | "node_modules/dom-serializer": {
2648 | "version": "1.4.1",
2649 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
2650 | "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
2651 | "dev": true,
2652 | "dependencies": {
2653 | "domelementtype": "^2.0.1",
2654 | "domhandler": "^4.2.0",
2655 | "entities": "^2.0.0"
2656 | },
2657 | "funding": {
2658 | "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
2659 | }
2660 | },
2661 | "node_modules/dom-serializer/node_modules/entities": {
2662 | "version": "2.2.0",
2663 | "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
2664 | "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
2665 | "dev": true,
2666 | "funding": {
2667 | "url": "https://github.com/fb55/entities?sponsor=1"
2668 | }
2669 | },
2670 | "node_modules/domelementtype": {
2671 | "version": "2.3.0",
2672 | "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
2673 | "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
2674 | "dev": true,
2675 | "funding": [
2676 | {
2677 | "type": "github",
2678 | "url": "https://github.com/sponsors/fb55"
2679 | }
2680 | ]
2681 | },
2682 | "node_modules/domhandler": {
2683 | "version": "4.3.1",
2684 | "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
2685 | "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
2686 | "dev": true,
2687 | "dependencies": {
2688 | "domelementtype": "^2.2.0"
2689 | },
2690 | "engines": {
2691 | "node": ">= 4"
2692 | },
2693 | "funding": {
2694 | "url": "https://github.com/fb55/domhandler?sponsor=1"
2695 | }
2696 | },
2697 | "node_modules/domutils": {
2698 | "version": "2.8.0",
2699 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
2700 | "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
2701 | "dev": true,
2702 | "dependencies": {
2703 | "dom-serializer": "^1.0.1",
2704 | "domelementtype": "^2.2.0",
2705 | "domhandler": "^4.2.0"
2706 | },
2707 | "funding": {
2708 | "url": "https://github.com/fb55/domutils?sponsor=1"
2709 | }
2710 | },
2711 | "node_modules/dotenv": {
2712 | "version": "7.0.0",
2713 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz",
2714 | "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==",
2715 | "dev": true,
2716 | "engines": {
2717 | "node": ">=6"
2718 | }
2719 | },
2720 | "node_modules/dotenv-expand": {
2721 | "version": "5.1.0",
2722 | "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
2723 | "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
2724 | "dev": true
2725 | },
2726 | "node_modules/electron-to-chromium": {
2727 | "version": "1.4.796",
2728 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.796.tgz",
2729 | "integrity": "sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==",
2730 | "dev": true
2731 | },
2732 | "node_modules/entities": {
2733 | "version": "3.0.1",
2734 | "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
2735 | "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
2736 | "dev": true,
2737 | "engines": {
2738 | "node": ">=0.12"
2739 | },
2740 | "funding": {
2741 | "url": "https://github.com/fb55/entities?sponsor=1"
2742 | }
2743 | },
2744 | "node_modules/env-paths": {
2745 | "version": "2.2.1",
2746 | "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
2747 | "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
2748 | "dev": true,
2749 | "engines": {
2750 | "node": ">=6"
2751 | }
2752 | },
2753 | "node_modules/error-ex": {
2754 | "version": "1.3.2",
2755 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
2756 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
2757 | "dev": true,
2758 | "dependencies": {
2759 | "is-arrayish": "^0.2.1"
2760 | }
2761 | },
2762 | "node_modules/es-define-property": {
2763 | "version": "1.0.0",
2764 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
2765 | "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
2766 | "dev": true,
2767 | "dependencies": {
2768 | "get-intrinsic": "^1.2.4"
2769 | },
2770 | "engines": {
2771 | "node": ">= 0.4"
2772 | }
2773 | },
2774 | "node_modules/es-errors": {
2775 | "version": "1.3.0",
2776 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
2777 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
2778 | "dev": true,
2779 | "engines": {
2780 | "node": ">= 0.4"
2781 | }
2782 | },
2783 | "node_modules/escalade": {
2784 | "version": "3.1.2",
2785 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
2786 | "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
2787 | "dev": true,
2788 | "engines": {
2789 | "node": ">=6"
2790 | }
2791 | },
2792 | "node_modules/escape-string-regexp": {
2793 | "version": "1.0.5",
2794 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
2795 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
2796 | "dev": true,
2797 | "engines": {
2798 | "node": ">=0.8.0"
2799 | }
2800 | },
2801 | "node_modules/fill-range": {
2802 | "version": "7.1.1",
2803 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
2804 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
2805 | "dev": true,
2806 | "dependencies": {
2807 | "to-regex-range": "^5.0.1"
2808 | },
2809 | "engines": {
2810 | "node": ">=8"
2811 | }
2812 | },
2813 | "node_modules/for-each": {
2814 | "version": "0.3.3",
2815 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
2816 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
2817 | "dev": true,
2818 | "dependencies": {
2819 | "is-callable": "^1.1.3"
2820 | }
2821 | },
2822 | "node_modules/function-bind": {
2823 | "version": "1.1.2",
2824 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
2825 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
2826 | "dev": true,
2827 | "funding": {
2828 | "url": "https://github.com/sponsors/ljharb"
2829 | }
2830 | },
2831 | "node_modules/get-intrinsic": {
2832 | "version": "1.2.4",
2833 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
2834 | "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
2835 | "dev": true,
2836 | "dependencies": {
2837 | "es-errors": "^1.3.0",
2838 | "function-bind": "^1.1.2",
2839 | "has-proto": "^1.0.1",
2840 | "has-symbols": "^1.0.3",
2841 | "hasown": "^2.0.0"
2842 | },
2843 | "engines": {
2844 | "node": ">= 0.4"
2845 | },
2846 | "funding": {
2847 | "url": "https://github.com/sponsors/ljharb"
2848 | }
2849 | },
2850 | "node_modules/get-port": {
2851 | "version": "4.2.0",
2852 | "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz",
2853 | "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw==",
2854 | "dev": true,
2855 | "engines": {
2856 | "node": ">=6"
2857 | }
2858 | },
2859 | "node_modules/globals": {
2860 | "version": "13.24.0",
2861 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
2862 | "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
2863 | "dev": true,
2864 | "dependencies": {
2865 | "type-fest": "^0.20.2"
2866 | },
2867 | "engines": {
2868 | "node": ">=8"
2869 | },
2870 | "funding": {
2871 | "url": "https://github.com/sponsors/sindresorhus"
2872 | }
2873 | },
2874 | "node_modules/gopd": {
2875 | "version": "1.0.1",
2876 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
2877 | "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
2878 | "dev": true,
2879 | "dependencies": {
2880 | "get-intrinsic": "^1.1.3"
2881 | },
2882 | "funding": {
2883 | "url": "https://github.com/sponsors/ljharb"
2884 | }
2885 | },
2886 | "node_modules/has-flag": {
2887 | "version": "4.0.0",
2888 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2889 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2890 | "dev": true,
2891 | "engines": {
2892 | "node": ">=8"
2893 | }
2894 | },
2895 | "node_modules/has-property-descriptors": {
2896 | "version": "1.0.2",
2897 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
2898 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
2899 | "dev": true,
2900 | "dependencies": {
2901 | "es-define-property": "^1.0.0"
2902 | },
2903 | "funding": {
2904 | "url": "https://github.com/sponsors/ljharb"
2905 | }
2906 | },
2907 | "node_modules/has-proto": {
2908 | "version": "1.0.3",
2909 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
2910 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
2911 | "dev": true,
2912 | "engines": {
2913 | "node": ">= 0.4"
2914 | },
2915 | "funding": {
2916 | "url": "https://github.com/sponsors/ljharb"
2917 | }
2918 | },
2919 | "node_modules/has-symbols": {
2920 | "version": "1.0.3",
2921 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
2922 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
2923 | "dev": true,
2924 | "engines": {
2925 | "node": ">= 0.4"
2926 | },
2927 | "funding": {
2928 | "url": "https://github.com/sponsors/ljharb"
2929 | }
2930 | },
2931 | "node_modules/has-tostringtag": {
2932 | "version": "1.0.2",
2933 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
2934 | "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
2935 | "dev": true,
2936 | "dependencies": {
2937 | "has-symbols": "^1.0.3"
2938 | },
2939 | "engines": {
2940 | "node": ">= 0.4"
2941 | },
2942 | "funding": {
2943 | "url": "https://github.com/sponsors/ljharb"
2944 | }
2945 | },
2946 | "node_modules/hasown": {
2947 | "version": "2.0.2",
2948 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
2949 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
2950 | "dev": true,
2951 | "dependencies": {
2952 | "function-bind": "^1.1.2"
2953 | },
2954 | "engines": {
2955 | "node": ">= 0.4"
2956 | }
2957 | },
2958 | "node_modules/htmlnano": {
2959 | "version": "2.1.1",
2960 | "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-2.1.1.tgz",
2961 | "integrity": "sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==",
2962 | "dev": true,
2963 | "dependencies": {
2964 | "cosmiconfig": "^9.0.0",
2965 | "posthtml": "^0.16.5",
2966 | "timsort": "^0.3.0"
2967 | },
2968 | "peerDependencies": {
2969 | "cssnano": "^7.0.0",
2970 | "postcss": "^8.3.11",
2971 | "purgecss": "^6.0.0",
2972 | "relateurl": "^0.2.7",
2973 | "srcset": "5.0.1",
2974 | "svgo": "^3.0.2",
2975 | "terser": "^5.10.0",
2976 | "uncss": "^0.17.3"
2977 | },
2978 | "peerDependenciesMeta": {
2979 | "cssnano": {
2980 | "optional": true
2981 | },
2982 | "postcss": {
2983 | "optional": true
2984 | },
2985 | "purgecss": {
2986 | "optional": true
2987 | },
2988 | "relateurl": {
2989 | "optional": true
2990 | },
2991 | "srcset": {
2992 | "optional": true
2993 | },
2994 | "svgo": {
2995 | "optional": true
2996 | },
2997 | "terser": {
2998 | "optional": true
2999 | },
3000 | "uncss": {
3001 | "optional": true
3002 | }
3003 | }
3004 | },
3005 | "node_modules/htmlparser2": {
3006 | "version": "7.2.0",
3007 | "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
3008 | "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
3009 | "dev": true,
3010 | "funding": [
3011 | "https://github.com/fb55/htmlparser2?sponsor=1",
3012 | {
3013 | "type": "github",
3014 | "url": "https://github.com/sponsors/fb55"
3015 | }
3016 | ],
3017 | "dependencies": {
3018 | "domelementtype": "^2.0.1",
3019 | "domhandler": "^4.2.2",
3020 | "domutils": "^2.8.0",
3021 | "entities": "^3.0.1"
3022 | }
3023 | },
3024 | "node_modules/https-browserify": {
3025 | "version": "1.0.0",
3026 | "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
3027 | "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
3028 | "dev": true
3029 | },
3030 | "node_modules/ieee754": {
3031 | "version": "1.2.1",
3032 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
3033 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
3034 | "dev": true,
3035 | "funding": [
3036 | {
3037 | "type": "github",
3038 | "url": "https://github.com/sponsors/feross"
3039 | },
3040 | {
3041 | "type": "patreon",
3042 | "url": "https://www.patreon.com/feross"
3043 | },
3044 | {
3045 | "type": "consulting",
3046 | "url": "https://feross.org/support"
3047 | }
3048 | ]
3049 | },
3050 | "node_modules/import-fresh": {
3051 | "version": "3.3.0",
3052 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
3053 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
3054 | "dev": true,
3055 | "dependencies": {
3056 | "parent-module": "^1.0.0",
3057 | "resolve-from": "^4.0.0"
3058 | },
3059 | "engines": {
3060 | "node": ">=6"
3061 | },
3062 | "funding": {
3063 | "url": "https://github.com/sponsors/sindresorhus"
3064 | }
3065 | },
3066 | "node_modules/inherits": {
3067 | "version": "2.0.4",
3068 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
3069 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
3070 | "dev": true
3071 | },
3072 | "node_modules/is-arguments": {
3073 | "version": "1.1.1",
3074 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
3075 | "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
3076 | "dev": true,
3077 | "dependencies": {
3078 | "call-bind": "^1.0.2",
3079 | "has-tostringtag": "^1.0.0"
3080 | },
3081 | "engines": {
3082 | "node": ">= 0.4"
3083 | },
3084 | "funding": {
3085 | "url": "https://github.com/sponsors/ljharb"
3086 | }
3087 | },
3088 | "node_modules/is-arrayish": {
3089 | "version": "0.2.1",
3090 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
3091 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
3092 | "dev": true
3093 | },
3094 | "node_modules/is-callable": {
3095 | "version": "1.2.7",
3096 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
3097 | "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
3098 | "dev": true,
3099 | "engines": {
3100 | "node": ">= 0.4"
3101 | },
3102 | "funding": {
3103 | "url": "https://github.com/sponsors/ljharb"
3104 | }
3105 | },
3106 | "node_modules/is-extglob": {
3107 | "version": "2.1.1",
3108 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
3109 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
3110 | "dev": true,
3111 | "engines": {
3112 | "node": ">=0.10.0"
3113 | }
3114 | },
3115 | "node_modules/is-generator-function": {
3116 | "version": "1.0.10",
3117 | "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
3118 | "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
3119 | "dev": true,
3120 | "dependencies": {
3121 | "has-tostringtag": "^1.0.0"
3122 | },
3123 | "engines": {
3124 | "node": ">= 0.4"
3125 | },
3126 | "funding": {
3127 | "url": "https://github.com/sponsors/ljharb"
3128 | }
3129 | },
3130 | "node_modules/is-glob": {
3131 | "version": "4.0.3",
3132 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
3133 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
3134 | "dev": true,
3135 | "dependencies": {
3136 | "is-extglob": "^2.1.1"
3137 | },
3138 | "engines": {
3139 | "node": ">=0.10.0"
3140 | }
3141 | },
3142 | "node_modules/is-json": {
3143 | "version": "2.0.1",
3144 | "resolved": "https://registry.npmjs.org/is-json/-/is-json-2.0.1.tgz",
3145 | "integrity": "sha512-6BEnpVn1rcf3ngfmViLM6vjUjGErbdrL4rwlv+u1NO1XO8kqT4YGL8+19Q+Z/bas8tY90BTWMk2+fW1g6hQjbA==",
3146 | "dev": true
3147 | },
3148 | "node_modules/is-nan": {
3149 | "version": "1.3.2",
3150 | "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
3151 | "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==",
3152 | "dev": true,
3153 | "dependencies": {
3154 | "call-bind": "^1.0.0",
3155 | "define-properties": "^1.1.3"
3156 | },
3157 | "engines": {
3158 | "node": ">= 0.4"
3159 | },
3160 | "funding": {
3161 | "url": "https://github.com/sponsors/ljharb"
3162 | }
3163 | },
3164 | "node_modules/is-number": {
3165 | "version": "7.0.0",
3166 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
3167 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
3168 | "dev": true,
3169 | "engines": {
3170 | "node": ">=0.12.0"
3171 | }
3172 | },
3173 | "node_modules/is-typed-array": {
3174 | "version": "1.1.13",
3175 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
3176 | "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
3177 | "dev": true,
3178 | "dependencies": {
3179 | "which-typed-array": "^1.1.14"
3180 | },
3181 | "engines": {
3182 | "node": ">= 0.4"
3183 | },
3184 | "funding": {
3185 | "url": "https://github.com/sponsors/ljharb"
3186 | }
3187 | },
3188 | "node_modules/js-tokens": {
3189 | "version": "4.0.0",
3190 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
3191 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
3192 | "dev": true
3193 | },
3194 | "node_modules/js-yaml": {
3195 | "version": "4.1.0",
3196 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
3197 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
3198 | "dev": true,
3199 | "dependencies": {
3200 | "argparse": "^2.0.1"
3201 | },
3202 | "bin": {
3203 | "js-yaml": "bin/js-yaml.js"
3204 | }
3205 | },
3206 | "node_modules/json-parse-even-better-errors": {
3207 | "version": "2.3.1",
3208 | "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
3209 | "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
3210 | "dev": true
3211 | },
3212 | "node_modules/json5": {
3213 | "version": "2.2.3",
3214 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
3215 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
3216 | "dev": true,
3217 | "bin": {
3218 | "json5": "lib/cli.js"
3219 | },
3220 | "engines": {
3221 | "node": ">=6"
3222 | }
3223 | },
3224 | "node_modules/lightningcss": {
3225 | "version": "1.25.1",
3226 | "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.25.1.tgz",
3227 | "integrity": "sha512-V0RMVZzK1+rCHpymRv4URK2lNhIRyO8g7U7zOFwVAhJuat74HtkjIQpQRKNCwFEYkRGpafOpmXXLoaoBcyVtBg==",
3228 | "dev": true,
3229 | "dependencies": {
3230 | "detect-libc": "^1.0.3"
3231 | },
3232 | "engines": {
3233 | "node": ">= 12.0.0"
3234 | },
3235 | "funding": {
3236 | "type": "opencollective",
3237 | "url": "https://opencollective.com/parcel"
3238 | },
3239 | "optionalDependencies": {
3240 | "lightningcss-darwin-arm64": "1.25.1",
3241 | "lightningcss-darwin-x64": "1.25.1",
3242 | "lightningcss-freebsd-x64": "1.25.1",
3243 | "lightningcss-linux-arm-gnueabihf": "1.25.1",
3244 | "lightningcss-linux-arm64-gnu": "1.25.1",
3245 | "lightningcss-linux-arm64-musl": "1.25.1",
3246 | "lightningcss-linux-x64-gnu": "1.25.1",
3247 | "lightningcss-linux-x64-musl": "1.25.1",
3248 | "lightningcss-win32-x64-msvc": "1.25.1"
3249 | }
3250 | },
3251 | "node_modules/lightningcss-darwin-arm64": {
3252 | "version": "1.25.1",
3253 | "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.25.1.tgz",
3254 | "integrity": "sha512-G4Dcvv85bs5NLENcu/s1f7ehzE3D5ThnlWSDwE190tWXRQCQaqwcuHe+MGSVI/slm0XrxnaayXY+cNl3cSricw==",
3255 | "cpu": [
3256 | "arm64"
3257 | ],
3258 | "dev": true,
3259 | "optional": true,
3260 | "os": [
3261 | "darwin"
3262 | ],
3263 | "engines": {
3264 | "node": ">= 12.0.0"
3265 | },
3266 | "funding": {
3267 | "type": "opencollective",
3268 | "url": "https://opencollective.com/parcel"
3269 | }
3270 | },
3271 | "node_modules/lightningcss-darwin-x64": {
3272 | "version": "1.25.1",
3273 | "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.25.1.tgz",
3274 | "integrity": "sha512-dYWuCzzfqRueDSmto6YU5SoGHvZTMU1Em9xvhcdROpmtOQLorurUZz8+xFxZ51lCO2LnYbfdjZ/gCqWEkwixNg==",
3275 | "cpu": [
3276 | "x64"
3277 | ],
3278 | "dev": true,
3279 | "optional": true,
3280 | "os": [
3281 | "darwin"
3282 | ],
3283 | "engines": {
3284 | "node": ">= 12.0.0"
3285 | },
3286 | "funding": {
3287 | "type": "opencollective",
3288 | "url": "https://opencollective.com/parcel"
3289 | }
3290 | },
3291 | "node_modules/lightningcss-freebsd-x64": {
3292 | "version": "1.25.1",
3293 | "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.25.1.tgz",
3294 | "integrity": "sha512-hXoy2s9A3KVNAIoKz+Fp6bNeY+h9c3tkcx1J3+pS48CqAt+5bI/R/YY4hxGL57fWAIquRjGKW50arltD6iRt/w==",
3295 | "cpu": [
3296 | "x64"
3297 | ],
3298 | "dev": true,
3299 | "optional": true,
3300 | "os": [
3301 | "freebsd"
3302 | ],
3303 | "engines": {
3304 | "node": ">= 12.0.0"
3305 | },
3306 | "funding": {
3307 | "type": "opencollective",
3308 | "url": "https://opencollective.com/parcel"
3309 | }
3310 | },
3311 | "node_modules/lightningcss-linux-arm-gnueabihf": {
3312 | "version": "1.25.1",
3313 | "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.25.1.tgz",
3314 | "integrity": "sha512-tWyMgHFlHlp1e5iW3EpqvH5MvsgoN7ZkylBbG2R2LWxnvH3FuWCJOhtGcYx9Ks0Kv0eZOBud789odkYLhyf1ng==",
3315 | "cpu": [
3316 | "arm"
3317 | ],
3318 | "dev": true,
3319 | "optional": true,
3320 | "os": [
3321 | "linux"
3322 | ],
3323 | "engines": {
3324 | "node": ">= 12.0.0"
3325 | },
3326 | "funding": {
3327 | "type": "opencollective",
3328 | "url": "https://opencollective.com/parcel"
3329 | }
3330 | },
3331 | "node_modules/lightningcss-linux-arm64-gnu": {
3332 | "version": "1.25.1",
3333 | "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.25.1.tgz",
3334 | "integrity": "sha512-Xjxsx286OT9/XSnVLIsFEDyDipqe4BcLeB4pXQ/FEA5+2uWCCuAEarUNQumRucnj7k6ftkAHUEph5r821KBccQ==",
3335 | "cpu": [
3336 | "arm64"
3337 | ],
3338 | "dev": true,
3339 | "optional": true,
3340 | "os": [
3341 | "linux"
3342 | ],
3343 | "engines": {
3344 | "node": ">= 12.0.0"
3345 | },
3346 | "funding": {
3347 | "type": "opencollective",
3348 | "url": "https://opencollective.com/parcel"
3349 | }
3350 | },
3351 | "node_modules/lightningcss-linux-arm64-musl": {
3352 | "version": "1.25.1",
3353 | "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.25.1.tgz",
3354 | "integrity": "sha512-IhxVFJoTW8wq6yLvxdPvyHv4NjzcpN1B7gjxrY3uaykQNXPHNIpChLB52+wfH+yS58zm1PL4LemUp8u9Cfp6Bw==",
3355 | "cpu": [
3356 | "arm64"
3357 | ],
3358 | "dev": true,
3359 | "optional": true,
3360 | "os": [
3361 | "linux"
3362 | ],
3363 | "engines": {
3364 | "node": ">= 12.0.0"
3365 | },
3366 | "funding": {
3367 | "type": "opencollective",
3368 | "url": "https://opencollective.com/parcel"
3369 | }
3370 | },
3371 | "node_modules/lightningcss-linux-x64-gnu": {
3372 | "version": "1.25.1",
3373 | "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.25.1.tgz",
3374 | "integrity": "sha512-RXIaru79KrREPEd6WLXfKfIp4QzoppZvD3x7vuTKkDA64PwTzKJ2jaC43RZHRt8BmyIkRRlmywNhTRMbmkPYpA==",
3375 | "cpu": [
3376 | "x64"
3377 | ],
3378 | "dev": true,
3379 | "optional": true,
3380 | "os": [
3381 | "linux"
3382 | ],
3383 | "engines": {
3384 | "node": ">= 12.0.0"
3385 | },
3386 | "funding": {
3387 | "type": "opencollective",
3388 | "url": "https://opencollective.com/parcel"
3389 | }
3390 | },
3391 | "node_modules/lightningcss-linux-x64-musl": {
3392 | "version": "1.25.1",
3393 | "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.25.1.tgz",
3394 | "integrity": "sha512-TdcNqFsAENEEFr8fJWg0Y4fZ/nwuqTRsIr7W7t2wmDUlA8eSXVepeeONYcb+gtTj1RaXn/WgNLB45SFkz+XBZA==",
3395 | "cpu": [
3396 | "x64"
3397 | ],
3398 | "dev": true,
3399 | "optional": true,
3400 | "os": [
3401 | "linux"
3402 | ],
3403 | "engines": {
3404 | "node": ">= 12.0.0"
3405 | },
3406 | "funding": {
3407 | "type": "opencollective",
3408 | "url": "https://opencollective.com/parcel"
3409 | }
3410 | },
3411 | "node_modules/lightningcss-win32-x64-msvc": {
3412 | "version": "1.25.1",
3413 | "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.25.1.tgz",
3414 | "integrity": "sha512-9KZZkmmy9oGDSrnyHuxP6iMhbsgChUiu/NSgOx+U1I/wTngBStDf2i2aGRCHvFqj19HqqBEI4WuGVQBa2V6e0A==",
3415 | "cpu": [
3416 | "x64"
3417 | ],
3418 | "dev": true,
3419 | "optional": true,
3420 | "os": [
3421 | "win32"
3422 | ],
3423 | "engines": {
3424 | "node": ">= 12.0.0"
3425 | },
3426 | "funding": {
3427 | "type": "opencollective",
3428 | "url": "https://opencollective.com/parcel"
3429 | }
3430 | },
3431 | "node_modules/lines-and-columns": {
3432 | "version": "1.2.4",
3433 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
3434 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
3435 | "dev": true
3436 | },
3437 | "node_modules/lmdb": {
3438 | "version": "2.8.5",
3439 | "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz",
3440 | "integrity": "sha512-9bMdFfc80S+vSldBmG3HOuLVHnxRdNTlpzR6QDnzqCQtCzGUEAGTzBKYMeIM+I/sU4oZfgbcbS7X7F65/z/oxQ==",
3441 | "dev": true,
3442 | "hasInstallScript": true,
3443 | "dependencies": {
3444 | "msgpackr": "^1.9.5",
3445 | "node-addon-api": "^6.1.0",
3446 | "node-gyp-build-optional-packages": "5.1.1",
3447 | "ordered-binary": "^1.4.1",
3448 | "weak-lru-cache": "^1.2.2"
3449 | },
3450 | "bin": {
3451 | "download-lmdb-prebuilds": "bin/download-prebuilds.js"
3452 | },
3453 | "optionalDependencies": {
3454 | "@lmdb/lmdb-darwin-arm64": "2.8.5",
3455 | "@lmdb/lmdb-darwin-x64": "2.8.5",
3456 | "@lmdb/lmdb-linux-arm": "2.8.5",
3457 | "@lmdb/lmdb-linux-arm64": "2.8.5",
3458 | "@lmdb/lmdb-linux-x64": "2.8.5",
3459 | "@lmdb/lmdb-win32-x64": "2.8.5"
3460 | }
3461 | },
3462 | "node_modules/lmdb/node_modules/node-addon-api": {
3463 | "version": "6.1.0",
3464 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
3465 | "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
3466 | "dev": true
3467 | },
3468 | "node_modules/loose-envify": {
3469 | "version": "1.4.0",
3470 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
3471 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
3472 | "dev": true,
3473 | "dependencies": {
3474 | "js-tokens": "^3.0.0 || ^4.0.0"
3475 | },
3476 | "bin": {
3477 | "loose-envify": "cli.js"
3478 | }
3479 | },
3480 | "node_modules/mdn-data": {
3481 | "version": "2.0.30",
3482 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
3483 | "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
3484 | "dev": true,
3485 | "optional": true,
3486 | "peer": true
3487 | },
3488 | "node_modules/micromatch": {
3489 | "version": "4.0.7",
3490 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
3491 | "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
3492 | "dev": true,
3493 | "dependencies": {
3494 | "braces": "^3.0.3",
3495 | "picomatch": "^2.3.1"
3496 | },
3497 | "engines": {
3498 | "node": ">=8.6"
3499 | }
3500 | },
3501 | "node_modules/msgpackr": {
3502 | "version": "1.10.2",
3503 | "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.10.2.tgz",
3504 | "integrity": "sha512-L60rsPynBvNE+8BWipKKZ9jHcSGbtyJYIwjRq0VrIvQ08cRjntGXJYW/tmciZ2IHWIY8WEW32Qa2xbh5+SKBZA==",
3505 | "dev": true,
3506 | "optionalDependencies": {
3507 | "msgpackr-extract": "^3.0.2"
3508 | }
3509 | },
3510 | "node_modules/msgpackr-extract": {
3511 | "version": "3.0.3",
3512 | "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
3513 | "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
3514 | "dev": true,
3515 | "hasInstallScript": true,
3516 | "optional": true,
3517 | "dependencies": {
3518 | "node-gyp-build-optional-packages": "5.2.2"
3519 | },
3520 | "bin": {
3521 | "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
3522 | },
3523 | "optionalDependencies": {
3524 | "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
3525 | "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
3526 | "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
3527 | "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
3528 | "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
3529 | "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
3530 | }
3531 | },
3532 | "node_modules/msgpackr-extract/node_modules/detect-libc": {
3533 | "version": "2.0.3",
3534 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
3535 | "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
3536 | "dev": true,
3537 | "optional": true,
3538 | "engines": {
3539 | "node": ">=8"
3540 | }
3541 | },
3542 | "node_modules/msgpackr-extract/node_modules/node-gyp-build-optional-packages": {
3543 | "version": "5.2.2",
3544 | "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
3545 | "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
3546 | "dev": true,
3547 | "optional": true,
3548 | "dependencies": {
3549 | "detect-libc": "^2.0.1"
3550 | },
3551 | "bin": {
3552 | "node-gyp-build-optional-packages": "bin.js",
3553 | "node-gyp-build-optional-packages-optional": "optional.js",
3554 | "node-gyp-build-optional-packages-test": "build-test.js"
3555 | }
3556 | },
3557 | "node_modules/node-addon-api": {
3558 | "version": "7.1.0",
3559 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz",
3560 | "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==",
3561 | "dev": true,
3562 | "engines": {
3563 | "node": "^16 || ^18 || >= 20"
3564 | }
3565 | },
3566 | "node_modules/node-gyp-build-optional-packages": {
3567 | "version": "5.1.1",
3568 | "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.1.1.tgz",
3569 | "integrity": "sha512-+P72GAjVAbTxjjwUmwjVrqrdZROD4nf8KgpBoDxqXXTiYZZt/ud60dE5yvCSr9lRO8e8yv6kgJIC0K0PfZFVQw==",
3570 | "dev": true,
3571 | "dependencies": {
3572 | "detect-libc": "^2.0.1"
3573 | },
3574 | "bin": {
3575 | "node-gyp-build-optional-packages": "bin.js",
3576 | "node-gyp-build-optional-packages-optional": "optional.js",
3577 | "node-gyp-build-optional-packages-test": "build-test.js"
3578 | }
3579 | },
3580 | "node_modules/node-gyp-build-optional-packages/node_modules/detect-libc": {
3581 | "version": "2.0.3",
3582 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz",
3583 | "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
3584 | "dev": true,
3585 | "engines": {
3586 | "node": ">=8"
3587 | }
3588 | },
3589 | "node_modules/node-releases": {
3590 | "version": "2.0.14",
3591 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
3592 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
3593 | "dev": true
3594 | },
3595 | "node_modules/nth-check": {
3596 | "version": "2.1.1",
3597 | "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
3598 | "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
3599 | "dev": true,
3600 | "dependencies": {
3601 | "boolbase": "^1.0.0"
3602 | },
3603 | "funding": {
3604 | "url": "https://github.com/fb55/nth-check?sponsor=1"
3605 | }
3606 | },
3607 | "node_modules/nullthrows": {
3608 | "version": "1.1.1",
3609 | "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz",
3610 | "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==",
3611 | "dev": true
3612 | },
3613 | "node_modules/object-inspect": {
3614 | "version": "1.13.1",
3615 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
3616 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
3617 | "dev": true,
3618 | "funding": {
3619 | "url": "https://github.com/sponsors/ljharb"
3620 | }
3621 | },
3622 | "node_modules/object-is": {
3623 | "version": "1.1.6",
3624 | "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
3625 | "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
3626 | "dev": true,
3627 | "dependencies": {
3628 | "call-bind": "^1.0.7",
3629 | "define-properties": "^1.2.1"
3630 | },
3631 | "engines": {
3632 | "node": ">= 0.4"
3633 | },
3634 | "funding": {
3635 | "url": "https://github.com/sponsors/ljharb"
3636 | }
3637 | },
3638 | "node_modules/object-keys": {
3639 | "version": "1.1.1",
3640 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
3641 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
3642 | "dev": true,
3643 | "engines": {
3644 | "node": ">= 0.4"
3645 | }
3646 | },
3647 | "node_modules/object.assign": {
3648 | "version": "4.1.5",
3649 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
3650 | "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
3651 | "dev": true,
3652 | "dependencies": {
3653 | "call-bind": "^1.0.5",
3654 | "define-properties": "^1.2.1",
3655 | "has-symbols": "^1.0.3",
3656 | "object-keys": "^1.1.1"
3657 | },
3658 | "engines": {
3659 | "node": ">= 0.4"
3660 | },
3661 | "funding": {
3662 | "url": "https://github.com/sponsors/ljharb"
3663 | }
3664 | },
3665 | "node_modules/ordered-binary": {
3666 | "version": "1.5.1",
3667 | "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.1.tgz",
3668 | "integrity": "sha512-5VyHfHY3cd0iza71JepYG50My+YUbrFtGoUz2ooEydPyPM7Aai/JW098juLr+RG6+rDJuzNNTsEQu2DZa1A41A==",
3669 | "dev": true
3670 | },
3671 | "node_modules/os-browserify": {
3672 | "version": "0.3.0",
3673 | "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
3674 | "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
3675 | "dev": true
3676 | },
3677 | "node_modules/pako": {
3678 | "version": "1.0.11",
3679 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
3680 | "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
3681 | "dev": true
3682 | },
3683 | "node_modules/parcel": {
3684 | "version": "2.12.0",
3685 | "resolved": "https://registry.npmjs.org/parcel/-/parcel-2.12.0.tgz",
3686 | "integrity": "sha512-W+gxAq7aQ9dJIg/XLKGcRT0cvnStFAQHPaI0pvD0U2l6IVLueUAm3nwN7lkY62zZNmlvNx6jNtE4wlbS+CyqSg==",
3687 | "dev": true,
3688 | "dependencies": {
3689 | "@parcel/config-default": "2.12.0",
3690 | "@parcel/core": "2.12.0",
3691 | "@parcel/diagnostic": "2.12.0",
3692 | "@parcel/events": "2.12.0",
3693 | "@parcel/fs": "2.12.0",
3694 | "@parcel/logger": "2.12.0",
3695 | "@parcel/package-manager": "2.12.0",
3696 | "@parcel/reporter-cli": "2.12.0",
3697 | "@parcel/reporter-dev-server": "2.12.0",
3698 | "@parcel/reporter-tracer": "2.12.0",
3699 | "@parcel/utils": "2.12.0",
3700 | "chalk": "^4.1.0",
3701 | "commander": "^7.0.0",
3702 | "get-port": "^4.2.0"
3703 | },
3704 | "bin": {
3705 | "parcel": "lib/bin.js"
3706 | },
3707 | "engines": {
3708 | "node": ">= 12.0.0"
3709 | },
3710 | "funding": {
3711 | "type": "opencollective",
3712 | "url": "https://opencollective.com/parcel"
3713 | }
3714 | },
3715 | "node_modules/parent-module": {
3716 | "version": "1.0.1",
3717 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
3718 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
3719 | "dev": true,
3720 | "dependencies": {
3721 | "callsites": "^3.0.0"
3722 | },
3723 | "engines": {
3724 | "node": ">=6"
3725 | }
3726 | },
3727 | "node_modules/parse-json": {
3728 | "version": "5.2.0",
3729 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
3730 | "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
3731 | "dev": true,
3732 | "dependencies": {
3733 | "@babel/code-frame": "^7.0.0",
3734 | "error-ex": "^1.3.1",
3735 | "json-parse-even-better-errors": "^2.3.0",
3736 | "lines-and-columns": "^1.1.6"
3737 | },
3738 | "engines": {
3739 | "node": ">=8"
3740 | },
3741 | "funding": {
3742 | "url": "https://github.com/sponsors/sindresorhus"
3743 | }
3744 | },
3745 | "node_modules/path-browserify": {
3746 | "version": "1.0.1",
3747 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
3748 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
3749 | "dev": true
3750 | },
3751 | "node_modules/picocolors": {
3752 | "version": "1.0.1",
3753 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
3754 | "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
3755 | "dev": true
3756 | },
3757 | "node_modules/picomatch": {
3758 | "version": "2.3.1",
3759 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
3760 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
3761 | "dev": true,
3762 | "engines": {
3763 | "node": ">=8.6"
3764 | },
3765 | "funding": {
3766 | "url": "https://github.com/sponsors/jonschlinkert"
3767 | }
3768 | },
3769 | "node_modules/possible-typed-array-names": {
3770 | "version": "1.0.0",
3771 | "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
3772 | "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
3773 | "dev": true,
3774 | "engines": {
3775 | "node": ">= 0.4"
3776 | }
3777 | },
3778 | "node_modules/postcss-value-parser": {
3779 | "version": "4.2.0",
3780 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
3781 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
3782 | "dev": true
3783 | },
3784 | "node_modules/posthtml": {
3785 | "version": "0.16.6",
3786 | "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.16.6.tgz",
3787 | "integrity": "sha512-JcEmHlyLK/o0uGAlj65vgg+7LIms0xKXe60lcDOTU7oVX/3LuEuLwrQpW3VJ7de5TaFKiW4kWkaIpJL42FEgxQ==",
3788 | "dev": true,
3789 | "dependencies": {
3790 | "posthtml-parser": "^0.11.0",
3791 | "posthtml-render": "^3.0.0"
3792 | },
3793 | "engines": {
3794 | "node": ">=12.0.0"
3795 | }
3796 | },
3797 | "node_modules/posthtml-parser": {
3798 | "version": "0.10.2",
3799 | "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.10.2.tgz",
3800 | "integrity": "sha512-PId6zZ/2lyJi9LiKfe+i2xv57oEjJgWbsHGGANwos5AvdQp98i6AtamAl8gzSVFGfQ43Glb5D614cvZf012VKg==",
3801 | "dev": true,
3802 | "dependencies": {
3803 | "htmlparser2": "^7.1.1"
3804 | },
3805 | "engines": {
3806 | "node": ">=12"
3807 | }
3808 | },
3809 | "node_modules/posthtml-render": {
3810 | "version": "3.0.0",
3811 | "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-3.0.0.tgz",
3812 | "integrity": "sha512-z+16RoxK3fUPgwaIgH9NGnK1HKY9XIDpydky5eQGgAFVXTCSezalv9U2jQuNV+Z9qV1fDWNzldcw4eK0SSbqKA==",
3813 | "dev": true,
3814 | "dependencies": {
3815 | "is-json": "^2.0.1"
3816 | },
3817 | "engines": {
3818 | "node": ">=12"
3819 | }
3820 | },
3821 | "node_modules/posthtml/node_modules/posthtml-parser": {
3822 | "version": "0.11.0",
3823 | "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.11.0.tgz",
3824 | "integrity": "sha512-QecJtfLekJbWVo/dMAA+OSwY79wpRmbqS5TeXvXSX+f0c6pW4/SE6inzZ2qkU7oAMCPqIDkZDvd/bQsSFUnKyw==",
3825 | "dev": true,
3826 | "dependencies": {
3827 | "htmlparser2": "^7.1.1"
3828 | },
3829 | "engines": {
3830 | "node": ">=12"
3831 | }
3832 | },
3833 | "node_modules/process": {
3834 | "version": "0.11.10",
3835 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
3836 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
3837 | "dev": true,
3838 | "engines": {
3839 | "node": ">= 0.6.0"
3840 | }
3841 | },
3842 | "node_modules/punycode": {
3843 | "version": "1.4.1",
3844 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
3845 | "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
3846 | "dev": true
3847 | },
3848 | "node_modules/qs": {
3849 | "version": "6.12.1",
3850 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz",
3851 | "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==",
3852 | "dev": true,
3853 | "dependencies": {
3854 | "side-channel": "^1.0.6"
3855 | },
3856 | "engines": {
3857 | "node": ">=0.6"
3858 | },
3859 | "funding": {
3860 | "url": "https://github.com/sponsors/ljharb"
3861 | }
3862 | },
3863 | "node_modules/querystring-es3": {
3864 | "version": "0.2.1",
3865 | "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
3866 | "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
3867 | "dev": true,
3868 | "engines": {
3869 | "node": ">=0.4.x"
3870 | }
3871 | },
3872 | "node_modules/react": {
3873 | "version": "18.3.1",
3874 | "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
3875 | "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==",
3876 | "dev": true,
3877 | "dependencies": {
3878 | "loose-envify": "^1.1.0"
3879 | },
3880 | "engines": {
3881 | "node": ">=0.10.0"
3882 | }
3883 | },
3884 | "node_modules/react-country-state-city": {
3885 | "version": "1.1.2",
3886 | "resolved": "https://registry.npmjs.org/react-country-state-city/-/react-country-state-city-1.1.2.tgz",
3887 | "integrity": "sha512-va1NUAeyIiFlb9v8m3277KY0/sw6hzZ5MEjfiz2KXb9lplwr5iiPdtSVui63KOcvQyd7JIlULof6bP4kwrxrAQ==",
3888 | "dev": true,
3889 | "peerDependencies": {
3890 | "react": ">=16"
3891 | }
3892 | },
3893 | "node_modules/react-dom": {
3894 | "version": "18.3.1",
3895 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz",
3896 | "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==",
3897 | "dev": true,
3898 | "dependencies": {
3899 | "loose-envify": "^1.1.0",
3900 | "scheduler": "^0.23.2"
3901 | },
3902 | "peerDependencies": {
3903 | "react": "^18.3.1"
3904 | }
3905 | },
3906 | "node_modules/react-error-overlay": {
3907 | "version": "6.0.9",
3908 | "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz",
3909 | "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==",
3910 | "dev": true
3911 | },
3912 | "node_modules/react-icons": {
3913 | "version": "4.12.0",
3914 | "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.12.0.tgz",
3915 | "integrity": "sha512-IBaDuHiShdZqmfc/TwHu6+d6k2ltNCf3AszxNmjJc1KUfXdEeRJOKyNvLmAHaarhzGmTSVygNdyu8/opXv2gaw==",
3916 | "dev": true,
3917 | "peerDependencies": {
3918 | "react": "*"
3919 | }
3920 | },
3921 | "node_modules/react-puzzle-captcha": {
3922 | "version": "1.0.1",
3923 | "resolved": "https://registry.npmjs.org/react-puzzle-captcha/-/react-puzzle-captcha-1.0.1.tgz",
3924 | "integrity": "sha512-ymVkbvCMGjRBR3xnF2sKqWhWBP2K8HiFuY1tDI92Vf8/bdiyDZBBuxnzBcdVZaVe5sQIEns05P3s9US0D/CxCA==",
3925 | "dev": true,
3926 | "dependencies": {
3927 | "@babel/runtime": "^7.15.4"
3928 | },
3929 | "peerDependencies": {
3930 | "react": "^18.2.0"
3931 | }
3932 | },
3933 | "node_modules/react-refresh": {
3934 | "version": "0.9.0",
3935 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz",
3936 | "integrity": "sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ==",
3937 | "dev": true,
3938 | "engines": {
3939 | "node": ">=0.10.0"
3940 | }
3941 | },
3942 | "node_modules/react-router": {
3943 | "version": "6.23.1",
3944 | "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.23.1.tgz",
3945 | "integrity": "sha512-fzcOaRF69uvqbbM7OhvQyBTFDVrrGlsFdS3AL+1KfIBtGETibHzi3FkoTRyiDJnWNc2VxrfvR+657ROHjaNjqQ==",
3946 | "dev": true,
3947 | "dependencies": {
3948 | "@remix-run/router": "1.16.1"
3949 | },
3950 | "engines": {
3951 | "node": ">=14.0.0"
3952 | },
3953 | "peerDependencies": {
3954 | "react": ">=16.8"
3955 | }
3956 | },
3957 | "node_modules/react-router-dom": {
3958 | "version": "6.23.1",
3959 | "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.23.1.tgz",
3960 | "integrity": "sha512-utP+K+aSTtEdbWpC+4gxhdlPFwuEfDKq8ZrPFU65bbRJY+l706qjR7yaidBpo3MSeA/fzwbXWbKBI6ftOnP3OQ==",
3961 | "dev": true,
3962 | "dependencies": {
3963 | "@remix-run/router": "1.16.1",
3964 | "react-router": "6.23.1"
3965 | },
3966 | "engines": {
3967 | "node": ">=14.0.0"
3968 | },
3969 | "peerDependencies": {
3970 | "react": ">=16.8",
3971 | "react-dom": ">=16.8"
3972 | }
3973 | },
3974 | "node_modules/readable-stream": {
3975 | "version": "3.6.2",
3976 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
3977 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
3978 | "dev": true,
3979 | "dependencies": {
3980 | "inherits": "^2.0.3",
3981 | "string_decoder": "^1.1.1",
3982 | "util-deprecate": "^1.0.1"
3983 | },
3984 | "engines": {
3985 | "node": ">= 6"
3986 | }
3987 | },
3988 | "node_modules/regenerator-runtime": {
3989 | "version": "0.13.11",
3990 | "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
3991 | "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==",
3992 | "dev": true
3993 | },
3994 | "node_modules/resolve-from": {
3995 | "version": "4.0.0",
3996 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
3997 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
3998 | "dev": true,
3999 | "engines": {
4000 | "node": ">=4"
4001 | }
4002 | },
4003 | "node_modules/safe-buffer": {
4004 | "version": "5.2.1",
4005 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
4006 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
4007 | "dev": true,
4008 | "funding": [
4009 | {
4010 | "type": "github",
4011 | "url": "https://github.com/sponsors/feross"
4012 | },
4013 | {
4014 | "type": "patreon",
4015 | "url": "https://www.patreon.com/feross"
4016 | },
4017 | {
4018 | "type": "consulting",
4019 | "url": "https://feross.org/support"
4020 | }
4021 | ]
4022 | },
4023 | "node_modules/scheduler": {
4024 | "version": "0.23.2",
4025 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz",
4026 | "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==",
4027 | "dev": true,
4028 | "dependencies": {
4029 | "loose-envify": "^1.1.0"
4030 | }
4031 | },
4032 | "node_modules/semver": {
4033 | "version": "7.6.2",
4034 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
4035 | "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
4036 | "dev": true,
4037 | "bin": {
4038 | "semver": "bin/semver.js"
4039 | },
4040 | "engines": {
4041 | "node": ">=10"
4042 | }
4043 | },
4044 | "node_modules/set-function-length": {
4045 | "version": "1.2.2",
4046 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
4047 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
4048 | "dev": true,
4049 | "dependencies": {
4050 | "define-data-property": "^1.1.4",
4051 | "es-errors": "^1.3.0",
4052 | "function-bind": "^1.1.2",
4053 | "get-intrinsic": "^1.2.4",
4054 | "gopd": "^1.0.1",
4055 | "has-property-descriptors": "^1.0.2"
4056 | },
4057 | "engines": {
4058 | "node": ">= 0.4"
4059 | }
4060 | },
4061 | "node_modules/side-channel": {
4062 | "version": "1.0.6",
4063 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
4064 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
4065 | "dev": true,
4066 | "dependencies": {
4067 | "call-bind": "^1.0.7",
4068 | "es-errors": "^1.3.0",
4069 | "get-intrinsic": "^1.2.4",
4070 | "object-inspect": "^1.13.1"
4071 | },
4072 | "engines": {
4073 | "node": ">= 0.4"
4074 | },
4075 | "funding": {
4076 | "url": "https://github.com/sponsors/ljharb"
4077 | }
4078 | },
4079 | "node_modules/source-map": {
4080 | "version": "0.6.1",
4081 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
4082 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
4083 | "dev": true,
4084 | "engines": {
4085 | "node": ">=0.10.0"
4086 | }
4087 | },
4088 | "node_modules/source-map-js": {
4089 | "version": "1.2.0",
4090 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
4091 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
4092 | "dev": true,
4093 | "optional": true,
4094 | "peer": true,
4095 | "engines": {
4096 | "node": ">=0.10.0"
4097 | }
4098 | },
4099 | "node_modules/srcset": {
4100 | "version": "5.0.1",
4101 | "resolved": "https://registry.npmjs.org/srcset/-/srcset-5.0.1.tgz",
4102 | "integrity": "sha512-/P1UYbGfJVlxZag7aABNRrulEXAwCSDo7fklafOQrantuPTDmYgijJMks2zusPCVzgW9+4P69mq7w6pYuZpgxw==",
4103 | "dev": true,
4104 | "optional": true,
4105 | "peer": true,
4106 | "engines": {
4107 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
4108 | },
4109 | "funding": {
4110 | "url": "https://github.com/sponsors/sindresorhus"
4111 | }
4112 | },
4113 | "node_modules/stable": {
4114 | "version": "0.1.8",
4115 | "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
4116 | "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
4117 | "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility",
4118 | "dev": true
4119 | },
4120 | "node_modules/stream-browserify": {
4121 | "version": "3.0.0",
4122 | "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
4123 | "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
4124 | "dev": true,
4125 | "dependencies": {
4126 | "inherits": "~2.0.4",
4127 | "readable-stream": "^3.5.0"
4128 | }
4129 | },
4130 | "node_modules/stream-http": {
4131 | "version": "3.2.0",
4132 | "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz",
4133 | "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==",
4134 | "dev": true,
4135 | "dependencies": {
4136 | "builtin-status-codes": "^3.0.0",
4137 | "inherits": "^2.0.4",
4138 | "readable-stream": "^3.6.0",
4139 | "xtend": "^4.0.2"
4140 | }
4141 | },
4142 | "node_modules/string_decoder": {
4143 | "version": "1.3.0",
4144 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
4145 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
4146 | "dev": true,
4147 | "dependencies": {
4148 | "safe-buffer": "~5.2.0"
4149 | }
4150 | },
4151 | "node_modules/supports-color": {
4152 | "version": "7.2.0",
4153 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
4154 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
4155 | "dev": true,
4156 | "dependencies": {
4157 | "has-flag": "^4.0.0"
4158 | },
4159 | "engines": {
4160 | "node": ">=8"
4161 | }
4162 | },
4163 | "node_modules/svgo": {
4164 | "version": "3.3.2",
4165 | "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz",
4166 | "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==",
4167 | "dev": true,
4168 | "optional": true,
4169 | "peer": true,
4170 | "dependencies": {
4171 | "@trysound/sax": "0.2.0",
4172 | "commander": "^7.2.0",
4173 | "css-select": "^5.1.0",
4174 | "css-tree": "^2.3.1",
4175 | "css-what": "^6.1.0",
4176 | "csso": "^5.0.5",
4177 | "picocolors": "^1.0.0"
4178 | },
4179 | "bin": {
4180 | "svgo": "bin/svgo"
4181 | },
4182 | "engines": {
4183 | "node": ">=14.0.0"
4184 | },
4185 | "funding": {
4186 | "type": "opencollective",
4187 | "url": "https://opencollective.com/svgo"
4188 | }
4189 | },
4190 | "node_modules/term-size": {
4191 | "version": "2.2.1",
4192 | "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
4193 | "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
4194 | "dev": true,
4195 | "engines": {
4196 | "node": ">=8"
4197 | },
4198 | "funding": {
4199 | "url": "https://github.com/sponsors/sindresorhus"
4200 | }
4201 | },
4202 | "node_modules/timsort": {
4203 | "version": "0.3.0",
4204 | "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
4205 | "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==",
4206 | "dev": true
4207 | },
4208 | "node_modules/to-regex-range": {
4209 | "version": "5.0.1",
4210 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
4211 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
4212 | "dev": true,
4213 | "dependencies": {
4214 | "is-number": "^7.0.0"
4215 | },
4216 | "engines": {
4217 | "node": ">=8.0"
4218 | }
4219 | },
4220 | "node_modules/tslib": {
4221 | "version": "2.6.3",
4222 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz",
4223 | "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==",
4224 | "dev": true
4225 | },
4226 | "node_modules/tty-browserify": {
4227 | "version": "0.0.1",
4228 | "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
4229 | "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
4230 | "dev": true
4231 | },
4232 | "node_modules/type-fest": {
4233 | "version": "0.20.2",
4234 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
4235 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
4236 | "dev": true,
4237 | "engines": {
4238 | "node": ">=10"
4239 | },
4240 | "funding": {
4241 | "url": "https://github.com/sponsors/sindresorhus"
4242 | }
4243 | },
4244 | "node_modules/update-browserslist-db": {
4245 | "version": "1.0.16",
4246 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
4247 | "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
4248 | "dev": true,
4249 | "funding": [
4250 | {
4251 | "type": "opencollective",
4252 | "url": "https://opencollective.com/browserslist"
4253 | },
4254 | {
4255 | "type": "tidelift",
4256 | "url": "https://tidelift.com/funding/github/npm/browserslist"
4257 | },
4258 | {
4259 | "type": "github",
4260 | "url": "https://github.com/sponsors/ai"
4261 | }
4262 | ],
4263 | "dependencies": {
4264 | "escalade": "^3.1.2",
4265 | "picocolors": "^1.0.1"
4266 | },
4267 | "bin": {
4268 | "update-browserslist-db": "cli.js"
4269 | },
4270 | "peerDependencies": {
4271 | "browserslist": ">= 4.21.0"
4272 | }
4273 | },
4274 | "node_modules/url": {
4275 | "version": "0.11.3",
4276 | "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz",
4277 | "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==",
4278 | "dev": true,
4279 | "dependencies": {
4280 | "punycode": "^1.4.1",
4281 | "qs": "^6.11.2"
4282 | }
4283 | },
4284 | "node_modules/util": {
4285 | "version": "0.12.5",
4286 | "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
4287 | "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
4288 | "dev": true,
4289 | "dependencies": {
4290 | "inherits": "^2.0.3",
4291 | "is-arguments": "^1.0.4",
4292 | "is-generator-function": "^1.0.7",
4293 | "is-typed-array": "^1.1.3",
4294 | "which-typed-array": "^1.1.2"
4295 | }
4296 | },
4297 | "node_modules/util-deprecate": {
4298 | "version": "1.0.2",
4299 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
4300 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
4301 | "dev": true
4302 | },
4303 | "node_modules/utility-types": {
4304 | "version": "3.11.0",
4305 | "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz",
4306 | "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==",
4307 | "dev": true,
4308 | "engines": {
4309 | "node": ">= 4"
4310 | }
4311 | },
4312 | "node_modules/weak-lru-cache": {
4313 | "version": "1.2.2",
4314 | "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz",
4315 | "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==",
4316 | "dev": true
4317 | },
4318 | "node_modules/which-typed-array": {
4319 | "version": "1.1.15",
4320 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
4321 | "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
4322 | "dev": true,
4323 | "dependencies": {
4324 | "available-typed-arrays": "^1.0.7",
4325 | "call-bind": "^1.0.7",
4326 | "for-each": "^0.3.3",
4327 | "gopd": "^1.0.1",
4328 | "has-tostringtag": "^1.0.2"
4329 | },
4330 | "engines": {
4331 | "node": ">= 0.4"
4332 | },
4333 | "funding": {
4334 | "url": "https://github.com/sponsors/ljharb"
4335 | }
4336 | },
4337 | "node_modules/xtend": {
4338 | "version": "4.0.2",
4339 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
4340 | "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
4341 | "dev": true,
4342 | "engines": {
4343 | "node": ">=0.4"
4344 | }
4345 | }
4346 | }
4347 | }
4348 |
--------------------------------------------------------------------------------
/example/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "example",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "start": "parcel src/index.html"
7 | },
8 | "devDependencies": {
9 | "@types/react": "^18.0.37",
10 | "@types/react-dom": "^18.0.11",
11 | "assert": "^2.0.0",
12 | "bootstrap": "^5.2.3",
13 | "browserify-zlib": "^0.2.0",
14 | "buffer": "^5.7.1",
15 | "https-browserify": "^1.0.0",
16 | "os-browserify": "^0.3.0",
17 | "parcel": "^2.8.3",
18 | "path-browserify": "^1.0.1",
19 | "process": "^0.11.10",
20 | "punycode": "^1.4.1",
21 | "querystring-es3": "^0.2.1",
22 | "react": "^18.2.0",
23 | "react-country-state-city": "^1.0.5",
24 | "react-dom": "^18.2.0",
25 | "react-icons": "^4.8.0",
26 | "react-puzzle-captcha": "^1.0.1",
27 | "react-router-dom": "^6.11.1",
28 | "stream-browserify": "^3.0.0",
29 | "stream-http": "^3.2.0",
30 | "tty-browserify": "^0.0.1",
31 | "url": "^0.11.0",
32 | "util": "^0.12.5"
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/example/src/App.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import './app.css';
3 | import { Verify } from 'react-puzzle-captcha';
4 | import 'react-puzzle-captcha/dist/react-puzzle-captcha.css';
5 | import 'bootstrap/dist/css/bootstrap.min.css';
6 | export default function App() {
7 | const [visible, setVisible] = useState(false);
8 | const show = () => {
9 | setVisible(true);
10 | };
11 | const hide = () => {
12 | setVisible(false);
13 | };
14 | return (
15 |
16 |
17 | {!visible ? (
18 |
19 | Show
20 |
21 | ) : (
22 |
23 | Hide
24 |
25 | )}
26 |
27 |
{
32 | alert('success');
33 | hide();
34 | }}
35 | onFail={() => {
36 | alert('fail');
37 | }}
38 | onRefresh={() => {
39 | alert('refresh');
40 | }}
41 | />
42 |
43 | );
44 | }
45 |
--------------------------------------------------------------------------------
/example/src/app.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | margin: 0;
4 | padding: 0;
5 | height: 100%;
6 | }
7 | * {
8 | box-sizing: border-box;
9 | }
10 |
--------------------------------------------------------------------------------
/example/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | React-puzzle-captcha
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/example/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom/client';
3 | import App from './App';
4 | import { HashRouter, Routes, Route } from 'react-router-dom';
5 | const root = ReactDOM.createRoot(
6 | document.getElementById('root') as HTMLElement,
7 | );
8 | root.render(
9 |
10 |
11 | } />
12 |
13 | ,
14 | );
15 |
--------------------------------------------------------------------------------
/global.d.ts:
--------------------------------------------------------------------------------
1 | declare module "*.scss";
--------------------------------------------------------------------------------
/jestconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "transform": {
3 | "^.+\\.(t|j)sx?$": "ts-jest"
4 | },
5 | "testRegex": "(/tests/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
6 | "moduleFileExtensions": ["scss", "ts", "tsx", "js", "jsx", "json", "node"],
7 | "testEnvironment": "jsdom",
8 | "moduleNameMapper": {
9 | "\\.(css|scss)$": "identity-obj-proxy"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-puzzle-captcha",
3 | "version": "1.0.2",
4 | "author": "Venkatesh",
5 | "description": "Puzzle Slider - Slide verification component based on react",
6 | "keywords": [
7 | "puzzle-captcha",
8 | "react-puzzle-captcha",
9 | "component",
10 | "components",
11 | "design",
12 | "framework",
13 | "frontend",
14 | "react",
15 | "react-component",
16 | "ui",
17 | "slider",
18 | "puzzle-captcha",
19 | "captcha",
20 | "puzzle"
21 | ],
22 | "scripts": {
23 | "build": "rollup -c",
24 | "build:esm": "tsc",
25 | "build:cjs": "tsc --module commonjs --outDir dist/cjs",
26 | "lint": "eslint \"{**/*,*}.{js,ts,jsx,tsx}\"",
27 | "prettier": "prettier --write \"{src,tests,example/src}/**/*.{js,ts,jsx,tsx}\"",
28 | "test": "jest --config jestconfig.json",
29 | "prepare": "npm run build",
30 | "prepublishOnly": "npm test && npm run prettier && npm run lint"
31 | },
32 | "contributors": [
33 | "venkatmcajj"
34 | ],
35 | "files": [
36 | "dist",
37 | "lib",
38 | "es"
39 | ],
40 | "main": "dist/cjs/index.js",
41 | "module": "dist/esm/index.js",
42 | "browser": "dist/umd/index.js",
43 | "types": "dist/esm/index.d.ts",
44 | "browserslist": [
45 | "last 2 version",
46 | "Firefox ESR",
47 | "> 1%",
48 | "ie >= 9"
49 | ],
50 | "gitHooks": {
51 | "pre-commit": "lint-staged"
52 | },
53 | "lint-staged": {
54 | "*.{js,jsx,less,md,json}": [
55 | "prettier --write"
56 | ],
57 | "*.ts?(x)": [
58 | "prettier --parser=typescript --write"
59 | ]
60 | },
61 | "homepage": "https://github.com/venkatmcajj/react-puzzle-captcha",
62 | "bugs": {
63 | "url": "https://github.com/venkatmcajj/react-puzzle-captcha/issues"
64 | },
65 | "repository": {
66 | "type": "git",
67 | "url": "git+https://github.com:venkatmcajj/react-puzzle-captcha.git"
68 | },
69 | "dependencies": {
70 | "@babel/runtime": "^7.15.4"
71 | },
72 | "peerDependencies": {
73 | "react": "^18.2.0"
74 | },
75 | "resolutions": {
76 | "@types/react": "^18.2.0"
77 | },
78 | "devDependencies": {
79 | "@rollup/plugin-commonjs": "^24.1.0",
80 | "@rollup/plugin-json": "^6.0.0",
81 | "@rollup/plugin-node-resolve": "^15.0.2",
82 | "@rollup/plugin-terser": "^0.4.1",
83 | "@testing-library/react": "^14.0.0",
84 | "@types/jest": "^29.5.3",
85 | "@types/react": "^18.0.37",
86 | "@types/react-test-renderer": "^18.0.0",
87 | "@typescript-eslint/eslint-plugin": "^5.59.0",
88 | "@typescript-eslint/parser": "^5.59.0",
89 | "css-loader": "^6.7.3",
90 | "eslint": "^8.38.0",
91 | "eslint-config-prettier": "^8.8.0",
92 | "eslint-plugin-prettier": "^4.2.1",
93 | "eslint-plugin-react": "^7.32.2",
94 | "eslint-plugin-react-hooks": "^4.6.0",
95 | "identity-obj-proxy": "^3.0.0",
96 | "jest": "^29.5.0",
97 | "jest-canvas-mock": "^2.5.0",
98 | "jest-environment-jsdom": "^29.5.0",
99 | "jest-fetch-mock": "^3.0.3",
100 | "node-sass": "^8.0.0",
101 | "prettier": "^2.8.7",
102 | "react": "^18.2.0",
103 | "react-dom": "^18.2.0",
104 | "react-test-renderer": "^18.2.0",
105 | "rollup": "^3.21.6",
106 | "rollup-plugin-peer-deps-external": "^2.2.4",
107 | "rollup-plugin-postcss": "^4.0.2",
108 | "rollup-plugin-sass": "^1.12.19",
109 | "rollup-plugin-typescript2": "^0.34.1",
110 | "style-loader": "^3.3.2",
111 | "ts-jest": "^29.1.0",
112 | "typescript": "^5.0.4"
113 | },
114 | "license": "MIT",
115 | "publishConfig": {
116 | "registry": "https://registry.npmjs.com"
117 | }
118 | }
119 |
--------------------------------------------------------------------------------
/push.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | yarn build
3 | git add .
4 | git commit -m $1
5 | git push
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | const typescript = require("rollup-plugin-typescript2");
2 | const pkg = require("./package.json");
3 | const terser = require("@rollup/plugin-terser");
4 | const json = require("@rollup/plugin-json");
5 | const peerDepsExternal = require("rollup-plugin-peer-deps-external");
6 | const resolve = require("@rollup/plugin-node-resolve");
7 | const commonjs = require("@rollup/plugin-commonjs");
8 | const sass = require("rollup-plugin-sass");
9 | module.exports = {
10 | input: "src/index.ts",
11 | output: [
12 | {
13 | file: pkg.main,
14 | format: "cjs",
15 | sourcemap: true
16 | },
17 | {
18 | file: pkg.module,
19 | format: "esm",
20 | sourcemap: true
21 | },
22 | {
23 | file: pkg.browser,
24 | format: "umd",
25 | sourcemap: true,
26 | name: 'ReactPuzzleCaptcha'
27 | }
28 | ],
29 | plugins: [
30 | peerDepsExternal(),
31 | resolve(),
32 | commonjs(),
33 | typescript({ useTsconfigDeclarationDir: true }),
34 | sass({ output: './dist/react-puzzle-captcha.css' }),
35 | json(),
36 | terser()
37 | ]
38 | };
--------------------------------------------------------------------------------
/src/Verify/index.md:
--------------------------------------------------------------------------------
1 | ### Basic use:
2 |
3 | ```tsx
4 | import React from 'react';
5 | import { Verify } from 'react-puzzle-captcha';
6 |
7 | export default () => {
8 | return ;
9 | };
10 | ```
11 |
12 | ### set width and height:
13 |
14 | ```tsx
15 | import React from 'react';
16 | import { Verify } from 'react-puzzle-captcha';
17 |
18 | export default () => {
19 | return ;
20 | };
21 | ```
22 |
23 | ### Set slider side length and radius:
24 |
25 | ```tsx
26 | import React from 'react';
27 | import { Verify } from 'react-puzzle-captcha';
28 |
29 | export default () => {
30 | return ;
31 | };
32 | ```
33 |
34 | ### Set success, failure, callback when refreshing:
35 |
36 | ```tsx
37 | import React from 'react';
38 | import { Verify } from 'react-puzzle-captcha';
39 |
40 | export default () => {
41 | return (
42 | alert('success')}
46 | onFail={() => alert('fail')}
47 | onRefresh={() => alert('refresh')}
48 | />
49 | );
50 | };
51 | ```
52 |
53 | ### User-Defined Validation Logic:
54 |
55 | The component exposes `onCustomverify` method, and accepts `verify` object as input parameter, we can control `spliced` and `verified` attributes to control whether the verification is successful, that is, the return value of the function must contain `spliced` and `verified` two Boolean property object
56 |
57 | ```tsx
58 | import React from 'react';
59 | import { Verify } from 'react-puzzle-captcha';
60 |
61 | export default () => {
62 | const handleCustomverify = (verify) => {
63 | console.log(verify, Math.abs(left - destX) < 5);
64 | const { destX, left, spliced, verified } = verify;
65 | return {
66 | spliced: Math.abs(left - destX) < 5,
67 | verified,
68 | };
69 | };
70 | return (
71 | alert('success')}
76 | onFail={() => alert('fail')}
77 | onRefresh={() => alert('refresh')}
78 | />
79 | );
80 | };
81 | ```
82 |
83 | ### Dynamically set show/hide:
84 |
85 | ```tsx
86 | import React, { useState } from 'react';
87 | import { Verify } from 'react-puzzle-captcha';
88 |
89 | export default () => {
90 | const [visible, setVisible] = useState(false);
91 | const show = () => {
92 | setVisible(true);
93 | };
94 | const hide = () => {
95 | setVisible(false);
96 | };
97 | const style = {
98 | display: 'inline-block',
99 | marginRight: '20px',
100 | marginBottom: '20px',
101 | width: '100px',
102 | padding: '5px 20px',
103 | color: '#fff',
104 | textAlign: 'center',
105 | cursor: 'pointer',
106 | background: '#1991FA',
107 | };
108 | return (
109 | <>
110 |
111 | Show
112 |
113 |
114 | Hide
115 |
116 | alert('success')}
121 | onFail={() => alert('fail')}
122 | onRefresh={() => alert('refresh')}
123 | />
124 | >
125 | );
126 | };
127 | ```
128 |
129 |
130 |
--------------------------------------------------------------------------------
/src/Verify/index.tsx:
--------------------------------------------------------------------------------
1 | import React, { useRef, useState, useEffect, ReactNode, memo } from 'react';
2 | import { getRandomNumberByRange, sum, square } from './tool';
3 |
4 | interface verifyType {
5 | spliced: boolean;
6 | verified: boolean; // Simply verify the drag trajectory, when it is zero, it means that there is no fluctuation up and down the Y axis, which may be non-human operation
7 | left: number; // Move position of the slider
8 | destX: number; // The target position of the slider
9 | }
10 |
11 | interface IverifyProp {
12 | /**
13 | * @description canvaswidth
14 | * @default 320
15 | */
16 | width?: number;
17 | /**
18 | * @description canvasheight
19 | * @default 160
20 | */
21 | height?: number;
22 | /**
23 | * @description slider side length
24 | * @default 42
25 | */
26 | l?: number;
27 | /**
28 | * @description slider radius
29 | * @default 9
30 | */
31 | r?: number;
32 | /**
33 | * @description Is it visible
34 | * @default true
35 | */
36 | visible?: boolean;
37 | /**
38 | * @description slider text
39 | * @default Swipe right to fill the puzzle
40 | */
41 | text?: string | ReactNode;
42 | /**
43 | * @description refresh button icon, It is the url address of the icon
44 | * @default -
45 | */
46 | refreshIcon?: string;
47 | /**
48 | * @description The url address used to get random pictures
49 | * @default https://picsum.photos/${id}/${width}/${height}, specific referencehttps://picsum.photos/, Just implement a similar interface
50 | */
51 | imgUrl?: string;
52 | /**
53 | * @description Callback when dragging the slider, The parameter is the dragging distance of the current slider
54 | * @default (l: number):void => {}
55 | */
56 | onDraw?: (l: number) => void;
57 | /**
58 | * @description User's custom validation logic
59 | * @default (arg: verifyType) => verifyType
60 | */
61 | onCustomverify?: (arg: verifyType) => verifyType;
62 | /**
63 | * @description Verification successful callback
64 | * @default ():void => {}
65 | */
66 | onSuccess?: VoidFunction;
67 | /**
68 | * @description Validation failure callback
69 | * @default ():void => {}
70 | */
71 | onFail?: VoidFunction;
72 | /**
73 | * @description Callback on refresh
74 | * @default ():void => {}
75 | */
76 | onRefresh?: VoidFunction;
77 | }
78 | const Verify = ({
79 | width = 320,
80 | height = 160,
81 | l = 42,
82 | r = 9,
83 | imgUrl,
84 | text,
85 | refreshIcon = 'https://raw.githubusercontent.com/venkatmcajj/react-puzzle-captcha/master/docs/icon12.png',
86 | visible = true,
87 | onDraw,
88 | onCustomverify,
89 | onSuccess,
90 | onFail,
91 | onRefresh,
92 | }: IverifyProp) => {
93 | const [isLoading, setLoading] = useState(false);
94 | const [sliderLeft, setSliderLeft] = useState(0);
95 | const [sliderClass, setSliderClass] = useState('sliderContainer');
96 | const [textTip, setTextTip] = useState(text);
97 | const canvasRef = useRef(null);
98 | const blockRef = useRef(null);
99 | const imgRef = useRef(null);
100 | const isMouseDownRef = useRef(false);
101 | const trailRef = useRef([]);
102 | const originXRef = useRef(0);
103 | const originYRef = useRef(0);
104 | const xRef = useRef(0);
105 | const yRef = useRef(0);
106 | const PI = Math.PI;
107 | const L = l + r * 2 + 3; // The actual side length of the slider
108 |
109 | const drawPath = (
110 | ctx: any,
111 | x: number,
112 | y: number,
113 | operation: 'fill' | 'clip',
114 | ) => {
115 | ctx.beginPath();
116 | ctx.moveTo(x, y);
117 | ctx.arc(x + l / 2, y - r + 2, r, 0.72 * PI, 2.26 * PI);
118 | ctx.lineTo(x + l, y);
119 | ctx.arc(x + l + r - 2, y + l / 2, r, 1.21 * PI, 2.78 * PI);
120 | ctx.lineTo(x + l, y + l);
121 | ctx.lineTo(x, y + l);
122 | ctx.arc(x + r - 2, y + l / 2, r + 0.4, 2.76 * PI, 1.24 * PI, true);
123 | ctx.lineTo(x, y);
124 | ctx.lineWidth = 2;
125 | ctx.fillStyle = 'rgba(255, 255, 255, 0.7)';
126 | ctx.strokeStyle = 'rgba(255, 255, 255, 0.7)';
127 | ctx.stroke();
128 | ctx.globalCompositeOperation = 'destination-over';
129 | operation === 'fill' ? ctx.fill() : ctx.clip();
130 | };
131 |
132 | const getRandomImgSrc = () => {
133 | return (
134 | imgUrl ||
135 | `https://picsum.photos/id/${getRandomNumberByRange(
136 | 0,
137 | 1084,
138 | )}/${width}/${height}`
139 | );
140 | };
141 |
142 | const createImg = (onload: VoidFunction) => {
143 | const img = new Image();
144 | img.crossOrigin = 'Anonymous';
145 | img.onload = onload;
146 | img.onerror = () => {
147 | (img as any).setSrc(getRandomImgSrc()); // Reload other images when image loading fails
148 | };
149 |
150 | (img as any).setSrc = (src: string) => {
151 | const isIE = window.navigator.userAgent.indexOf('Trident') > -1;
152 | if (isIE) {
153 | // IE browser cannot cross domain through img.crossOrigin, use ajax to get image blob and then convert it to dataURL for display
154 | const xhr = new XMLHttpRequest();
155 | xhr.onloadend = function (e: any) {
156 | const file = new FileReader(); // FileReader only supports IE10+
157 | file.readAsDataURL(e.target.response);
158 | file.onloadend = function (e) {
159 | img.src = e?.target?.result as string;
160 | };
161 | };
162 | xhr.open('GET', src);
163 | xhr.responseType = 'blob';
164 | xhr.send();
165 | } else img.src = src;
166 | };
167 |
168 | (img as any).setSrc(getRandomImgSrc());
169 | return img;
170 | };
171 |
172 | const draw = (img: HTMLImageElement) => {
173 | const canvasCtx = canvasRef.current.getContext('2d');
174 | const blockCtx = blockRef.current.getContext('2d');
175 | // Create puzzle shapes at random positions
176 | xRef.current = getRandomNumberByRange(L + 10, width - (L + 10));
177 | yRef.current = getRandomNumberByRange(10 + r * 2, height - (L + 10));
178 | drawPath(canvasCtx, xRef.current, yRef.current, 'fill');
179 | drawPath(blockCtx, xRef.current, yRef.current, 'clip');
180 |
181 | // draw into picture
182 | canvasCtx.drawImage(img, 0, 0, width, height);
183 | blockCtx.drawImage(img, 0, 0, width, height);
184 |
185 | // Extract the slider and bring it to the far left
186 | const y1 = yRef.current - r * 2 - 1;
187 | const ImageData = blockCtx.getImageData(xRef.current - 3, y1, L, L);
188 | blockRef.current.width = L;
189 | blockCtx.putImageData(ImageData, 0, y1);
190 | };
191 |
192 | const initImg = () => {
193 | const img = createImg(() => {
194 | setLoading(false);
195 | draw(img);
196 | });
197 | imgRef.current = img;
198 | };
199 |
200 | const reset = () => {
201 | const canvasCtx = canvasRef.current.getContext('2d');
202 | const blockCtx = blockRef.current.getContext('2d');
203 | // reset style
204 | setSliderLeft(0);
205 | setSliderClass('sliderContainer');
206 | blockRef.current.width = width;
207 | blockRef.current.style.left = 0 + 'px';
208 |
209 | // clear canvas
210 | canvasCtx.clearRect(0, 0, width, height);
211 | blockCtx.clearRect(0, 0, width, height);
212 |
213 | // reload image
214 | setLoading(true);
215 | imgRef.current.setSrc(getRandomImgSrc());
216 | };
217 |
218 | const handleRefresh = () => {
219 | reset();
220 | typeof onRefresh === 'function' && onRefresh();
221 | };
222 |
223 | const verify = () => {
224 | const arr = trailRef.current; // The moving distance of the y-axis when dragging
225 | const average = arr.reduce(sum) / arr.length;
226 | const deviations = arr.map((x) => x - average);
227 | const stddev = Math.sqrt(deviations.map(square).reduce(sum) / arr.length);
228 | const left = parseInt(blockRef.current.style.left);
229 | return {
230 | spliced: Math.abs(left - xRef.current) < 10,
231 | verified: stddev !== 0, // Simply verify the drag trajectory, when it is zero, it means that there is no fluctuation up and down the Y axis, which may be non-human operation
232 | left,
233 | destX: xRef.current,
234 | };
235 | };
236 |
237 | const handleDragStart = function (e: any) {
238 | originXRef.current = e.clientX || e.touches[0].clientX;
239 | originYRef.current = e.clientY || e.touches[0].clientY;
240 | isMouseDownRef.current = true;
241 | };
242 |
243 | const handleDragMove = (e: any) => {
244 | if (!isMouseDownRef.current) return false;
245 | e.preventDefault();
246 | const eventX = e.clientX || e.touches[0].clientX;
247 | const eventY = e.clientY || e.touches[0].clientY;
248 | const moveX = eventX - originXRef.current;
249 | const moveY = eventY - originYRef.current;
250 | if (moveX < 0 || moveX + 38 >= width) return false;
251 | setSliderLeft(moveX);
252 | const blockLeft = ((width - 40 - 20) / (width - 40)) * moveX;
253 | blockRef.current.style.left = blockLeft + 'px';
254 |
255 | setSliderClass('sliderContainer sliderContainer_active');
256 | trailRef.current.push(moveY);
257 | onDraw && onDraw(blockLeft);
258 | return true;
259 | };
260 |
261 | const handleDragEnd = (e: any) => {
262 | if (!isMouseDownRef.current) return false;
263 | isMouseDownRef.current = false;
264 | const eventX = e.clientX || e.changedTouches[0].clientX;
265 | if (eventX === originXRef.current) return false;
266 | setSliderClass('sliderContainer');
267 | const { spliced, verified } = onCustomverify
268 | ? onCustomverify(verify())
269 | : verify();
270 | if (spliced) {
271 | if (verified) {
272 | setSliderClass('sliderContainer sliderContainer_success');
273 | typeof onSuccess === 'function' && onSuccess();
274 | } else {
275 | setSliderClass('sliderContainer sliderContainer_fail');
276 | setTextTip('Please try again');
277 | reset();
278 | }
279 | } else {
280 | setSliderClass('sliderContainer sliderContainer_fail');
281 | typeof onFail === 'function' && onFail();
282 | setTimeout(() => {
283 | reset();
284 | }, 1000);
285 | }
286 | return true;
287 | };
288 |
289 | useEffect(() => {
290 | if (visible) {
291 | imgRef.current ? reset() : initImg();
292 | }
293 | // eslint-disable-next-line react-hooks/exhaustive-deps
294 | }, [visible]);
295 |
296 | return (
297 |
309 |
310 |
311 |
319 |
320 |
327 |
337 |
{textTip}
338 |
339 |
344 |
352 |
353 |
Loading...
354 |
355 |
356 | );
357 | };
358 |
359 | export default memo(Verify);
360 |
--------------------------------------------------------------------------------
/src/Verify/style.scss:
--------------------------------------------------------------------------------
1 | .verifyWrap {
2 | position: relative;
3 |
4 | .block {
5 | position: absolute;
6 | left: 0;
7 | top: 0;
8 | cursor: pointer;
9 | cursor: grab;
10 |
11 | &:active {
12 | cursor: grabbing;
13 | }
14 | }
15 |
16 | .sliderContainer {
17 | position: relative;
18 | text-align: center;
19 | width: 310px;
20 | height: 40px;
21 | line-height: 40px;
22 | margin-top: 15px;
23 | background: #f7f9fa;
24 | color: #45494c;
25 | border: 1px solid #e4e7eb;
26 | }
27 |
28 | .sliderContainer_active .slider {
29 | height: 38px;
30 | top: -1px;
31 | border: 1px solid #486cd6;
32 | }
33 |
34 | .sliderContainer_active .sliderMask {
35 | height: 38px;
36 | border-width: 1px;
37 | }
38 |
39 | .sliderContainer_success .slider {
40 | height: 38px;
41 | top: -1px;
42 | border: 1px solid #0db87f;
43 | background-color: #0ca14a !important;
44 | }
45 |
46 | .sliderContainer_success .sliderMask {
47 | height: 38px;
48 | border: 1px solid #0db87f;
49 | background-color: #d2f4ef;
50 | }
51 |
52 | .sliderContainer_success .sliderIcon {
53 | background-position: 0 -26px !important;
54 | }
55 |
56 | .sliderContainer_fail .slider {
57 | height: 38px;
58 | top: -1px;
59 | border: 1px solid #f57a7a;
60 | background-color: #f57a7a !important;
61 | }
62 |
63 | .sliderContainer_fail .sliderMask {
64 | height: 38px;
65 | border: 1px solid #f57a7a;
66 | background-color: #fce1e1;
67 | }
68 |
69 | .sliderContainer_fail .sliderIcon {
70 | top: 14px;
71 | background-position: 0 -82px !important;
72 | }
73 |
74 | .sliderContainer_active .sliderText,
75 | .sliderContainer_success .sliderText,
76 | .sliderContainer_fail .sliderText {
77 | display: none;
78 | }
79 |
80 | .sliderMask {
81 | position: absolute;
82 | left: 0;
83 | top: 0;
84 | height: 40px;
85 | border: 0 solid #486cd6;
86 | background: #d1e9fe;
87 | }
88 |
89 | .slider {
90 | position: absolute;
91 | top: 0;
92 | left: 0;
93 | width: 40px;
94 | height: 40px;
95 | background: #fff;
96 | box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
97 | transition: background 0.2s linear;
98 | cursor: pointer;
99 | cursor: grab;
100 |
101 | &:active {
102 | cursor: grabbing;
103 | }
104 |
105 | &:hover {
106 | background: #486cd6;
107 | }
108 | }
109 |
110 | .sliderIcon {
111 | font-size: 18px;
112 | color: #000;
113 | }
114 |
115 | .slider:hover .sliderIcon {
116 | color: #fff;
117 | }
118 |
119 | .refreshIcon {
120 | position: absolute;
121 | right: 5px;
122 | top: 5px;
123 | width: 30px;
124 | height: 30px;
125 | cursor: pointer;
126 | background-size: 32px;
127 | }
128 |
129 | .loadingContainer {
130 | position: absolute;
131 | left: 0;
132 | top: 0;
133 | width: 310px;
134 | height: 155px;
135 | display: flex;
136 | flex-direction: column;
137 | justify-content: center;
138 | align-items: center;
139 | font-size: 14px;
140 | color: #45494c;
141 | z-index: 2;
142 | background: #edf0f2;
143 | }
144 |
145 | .loadingIcon {
146 | width: 32px;
147 | height: 32px;
148 | margin-bottom: 10px;
149 | background: url(https://raw.githubusercontent.com/venkatmcajj/react-puzzle-captcha/master/docs/icon12.png);
150 | background-size: 32px;
151 | animation: loading-icon-rotate 0.8s linear infinite;
152 | }
153 |
154 | @keyframes loading-icon-rotate {
155 | from {
156 | transform: rotate(0);
157 | }
158 |
159 | to {
160 | transform: rotate(360deg);
161 | }
162 | }
163 | }
--------------------------------------------------------------------------------
/src/Verify/tool.ts:
--------------------------------------------------------------------------------
1 | function getRandomNumberByRange(start: number, end: number) {
2 | return Math.round(Math.random() * (end - start) + start);
3 | }
4 |
5 | function sum(x: number, y: number) {
6 | return x + y;
7 | }
8 |
9 | function square(x: number) {
10 | return x * x;
11 | }
12 |
13 | export { getRandomNumberByRange, sum, square };
14 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import './Verify/style.scss';
2 | import Verify from './Verify';
3 |
4 | export { Verify };
5 |
--------------------------------------------------------------------------------
/tests/__snapshots__/common.test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`Common render should render correctly without crash 1`] = `
4 |
18 |
21 |
25 |
32 |
33 |
71 |
80 |
90 |
93 |
94 | Loading...
95 |
96 |
97 |
98 | `;
99 |
--------------------------------------------------------------------------------
/tests/common.test.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import 'jest-canvas-mock';
3 | import renderer from 'react-test-renderer';
4 | import { Verify } from '../src';
5 | import fetchmock from 'jest-fetch-mock';
6 | fetchmock.dontMock();
7 | describe('Common render', () => {
8 | it('should render correctly without crash', () => {
9 | const tree = renderer.create().toJSON();
10 | expect(tree).toMatchSnapshot();
11 | });
12 | });
13 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "include": ["src"],
3 | "exclude": ["dist", "node_modules"],
4 | "compilerOptions": {
5 | "module": "esnext",
6 | "lib": ["dom", "esnext"],
7 | "importHelpers": true,
8 | "declaration": true,
9 | "sourceMap": true,
10 | "rootDir": "./src",
11 | "outDir": "./dist/esm",
12 | "strict": true,
13 | "noImplicitReturns": true,
14 | "noFallthroughCasesInSwitch": true,
15 | "noUnusedLocals": true,
16 | "noUnusedParameters": true,
17 | "moduleResolution": "node",
18 | "jsx": "react",
19 | "esModuleInterop": true,
20 | "resolveJsonModule": true,
21 | "skipLibCheck": true,
22 | "forceConsistentCasingInFileNames": true
23 | }
24 | }
25 |
--------------------------------------------------------------------------------