diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index dc3bc09..0000000 --- a/.browserslistrc +++ /dev/null @@ -1,4 +0,0 @@ -> 1% -last 2 versions -not dead -not ie 11 diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 7053c49..0000000 --- a/.editorconfig +++ /dev/null @@ -1,5 +0,0 @@ -[*.{js,jsx,ts,tsx,vue}] -indent_style = space -indent_size = 2 -trim_trailing_whitespace = true -insert_final_newline = true diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 5f3949b..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,14 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - }, - extends: [ - 'plugin:vue/vue3-essential', - 'eslint:recommended', - '@vue/eslint-config-typescript', - ], - rules: { - 'vue/multi-word-component-names': 'off', - }, -} diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..c1d2ba2 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,48 @@ +# Define standard eol format + +# Web Files +*.html text eol=lf +*.md text eol=lf +*.css text eol=lf +*.js text eol=lf + +# Jekyll related files +*.yml text eol=lf + +# Git related files +.gittattributes text eol=lf +.gitignore text eol=lf +.gitkeep text eol=lf + +# Ruby files +*.rb text eol=lf +Gemfile text eol=lf +Gemfile.lock text eol=lf + +# Github specific fies +LICENCE text eol=lf + +# Docker specific files +Dockerfile text eol=lf + +# VSCode files +*.json text eol=lf + +# General multimedia files +*.jpg binary +*.jpeg binary +*.gif binary +*.png binary +*.t3x binary +*.t3d binary +*.exe binary +*.data binary +*.ttf binary +*.eof binary +*.eot binary +*.swf binary +*.mov binary +*.mp4 binary +*.mp3 binary +*.ogg binary +*.flv binary diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml deleted file mode 100644 index 82fd334..0000000 --- a/.github/workflows/deploy.yml +++ /dev/null @@ -1,62 +0,0 @@ -# https://vitejs.dev/guide/static-deploy.html - -name: Build and deploy Vite website to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ['master'] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow one concurrent deployment -concurrency: - group: 'pages' - cancel-in-progress: true - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4 - - name: Set up Node - uses: actions/setup-node@v4 - with: - node-version: 20 - cache: 'npm' - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - name: Install dependencies and build Scapy - run: npm install - - name: Build - run: npm run build - - name: Setup Pages - uses: actions/configure-pages@v5 - - name: Upload artifact - uses: actions/upload-pages-artifact@v3 - with: - # Upload dist repository - path: './dist' - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore index ab12cda..9ea1cb2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,10 @@ -.DS_Store -node_modules -/dist - -# wheel -*.whl - -# local env files -.env.local -.env.*.local +# project +_site +.sass-cache +.vagrant +Gemfile.lock -# Log files -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* - -# Editor directories and files -.idea -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -.vscode/* -!.vscode/extensions.json +# general +.DS_Store +Thumbs.db +ehthumbs.db diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..32a9e34 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "awesome-scapy"] + path = awesome-scapy + url = https://github.com/secdev/awesome-scapy.git diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index 2599e24..0000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - // See https://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. - // Extension identifier format: ${publisher}.${name}. Example: vscode.csharp - - // List of extensions which should be recommended for users of this workspace. - "recommendations": [ - "Vue.volar" - ], - // List of extensions recommended by VS Code that should not be recommended for users of this workspace. - "unwantedRecommendations": [ - "octref.vetur" - ] -} \ No newline at end of file diff --git a/404.html b/404.html new file mode 100644 index 0000000..cd5d2c5 --- /dev/null +++ b/404.html @@ -0,0 +1,13 @@ +--- +layout: default +title: 404 - Page not found +permalink: /404.html +--- + +
+

Whoops, this page doesn't exist.

+

Move along. (404 error)

+
+ + +
diff --git a/CNAME b/CNAME new file mode 100644 index 0000000..f898b88 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +scapy.net diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..45c8cf1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM jekyll/jekyll + +COPY Gemfile . +COPY Gemfile.lock . + +RUN bundle install --quiet --clean + +CMD ["jekyll", "serve"] diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..0ccdb74 --- /dev/null +++ b/Gemfile @@ -0,0 +1,7 @@ +source 'https://rubygems.org' + +gem "github-pages", group: :jekyll_plugins + +# enable tzinfo-data for local build +# gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] +gem 'jekyll-paginate' diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 10fabd9..0000000 --- a/LICENSE +++ /dev/null @@ -1,395 +0,0 @@ -Attribution 4.0 International - -======================================================================= - -Creative Commons Corporation ("Creative Commons") is not a law firm and -does not provide legal services or legal advice. Distribution of -Creative Commons public licenses does not create a lawyer-client or -other relationship. Creative Commons makes its licenses and related -information available on an "as-is" basis. Creative Commons gives no -warranties regarding its licenses, any material licensed under their -terms and conditions, or any related information. Creative Commons -disclaims all liability for damages resulting from their use to the -fullest extent possible. - -Using Creative Commons Public Licenses - -Creative Commons public licenses provide a standard set of terms and -conditions that creators and other rights holders may use to share -original works of authorship and other material subject to copyright -and certain other rights specified in the public license below. The -following considerations are for informational purposes only, are not -exhaustive, and do not form part of our licenses. - - Considerations for licensors: Our public licenses are - intended for use by those authorized to give the public - permission to use material in ways otherwise restricted by - copyright and certain other rights. Our licenses are - irrevocable. Licensors should read and understand the terms - and conditions of the license they choose before applying it. - Licensors should also secure all rights necessary before - applying our licenses so that the public can reuse the - material as expected. Licensors should clearly mark any - material not subject to the license. This includes other CC- - licensed material, or material used under an exception or - limitation to copyright. More considerations for licensors: - wiki.creativecommons.org/Considerations_for_licensors - - Considerations for the public: By using one of our public - licenses, a licensor grants the public permission to use the - licensed material under specified terms and conditions. If - the licensor's permission is not necessary for any reason--for - example, because of any applicable exception or limitation to - copyright--then that use is not regulated by the license. Our - licenses grant only permissions under copyright and certain - other rights that a licensor has authority to grant. Use of - the licensed material may still be restricted for other - reasons, including because others have copyright or other - rights in the material. A licensor may make special requests, - such as asking that all changes be marked or described. - Although not required by our licenses, you are encouraged to - respect those requests where reasonable. More considerations - for the public: - wiki.creativecommons.org/Considerations_for_licensees - -======================================================================= - -Creative Commons Attribution 4.0 International Public License - -By exercising the Licensed Rights (defined below), You accept and agree -to be bound by the terms and conditions of this Creative Commons -Attribution 4.0 International Public License ("Public License"). To the -extent this Public License may be interpreted as a contract, You are -granted the Licensed Rights in consideration of Your acceptance of -these terms and conditions, and the Licensor grants You such rights in -consideration of benefits the Licensor receives from making the -Licensed Material available under these terms and conditions. - - -Section 1 -- Definitions. - - a. Adapted Material means material subject to Copyright and Similar - Rights that is derived from or based upon the Licensed Material - and in which the Licensed Material is translated, altered, - arranged, transformed, or otherwise modified in a manner requiring - permission under the Copyright and Similar Rights held by the - Licensor. For purposes of this Public License, where the Licensed - Material is a musical work, performance, or sound recording, - Adapted Material is always produced where the Licensed Material is - synched in timed relation with a moving image. - - b. Adapter's License means the license You apply to Your Copyright - and Similar Rights in Your contributions to Adapted Material in - accordance with the terms and conditions of this Public License. - - c. Copyright and Similar Rights means copyright and/or similar rights - closely related to copyright including, without limitation, - performance, broadcast, sound recording, and Sui Generis Database - Rights, without regard to how the rights are labeled or - categorized. For purposes of this Public License, the rights - specified in Section 2(b)(1)-(2) are not Copyright and Similar - Rights. - - d. Effective Technological Measures means those measures that, in the - absence of proper authority, may not be circumvented under laws - fulfilling obligations under Article 11 of the WIPO Copyright - Treaty adopted on December 20, 1996, and/or similar international - agreements. - - e. Exceptions and Limitations means fair use, fair dealing, and/or - any other exception or limitation to Copyright and Similar Rights - that applies to Your use of the Licensed Material. - - f. Licensed Material means the artistic or literary work, database, - or other material to which the Licensor applied this Public - License. - - g. Licensed Rights means the rights granted to You subject to the - terms and conditions of this Public License, which are limited to - all Copyright and Similar Rights that apply to Your use of the - Licensed Material and that the Licensor has authority to license. - - h. Licensor means the individual(s) or entity(ies) granting rights - under this Public License. - - i. Share means to provide material to the public by any means or - process that requires permission under the Licensed Rights, such - as reproduction, public display, public performance, distribution, - dissemination, communication, or importation, and to make material - available to the public including in ways that members of the - public may access the material from a place and at a time - individually chosen by them. - - j. Sui Generis Database Rights means rights other than copyright - resulting from Directive 96/9/EC of the European Parliament and of - the Council of 11 March 1996 on the legal protection of databases, - as amended and/or succeeded, as well as other essentially - equivalent rights anywhere in the world. - - k. You means the individual or entity exercising the Licensed Rights - under this Public License. Your has a corresponding meaning. - - -Section 2 -- Scope. - - a. License grant. - - 1. Subject to the terms and conditions of this Public License, - the Licensor hereby grants You a worldwide, royalty-free, - non-sublicensable, non-exclusive, irrevocable license to - exercise the Licensed Rights in the Licensed Material to: - - a. reproduce and Share the Licensed Material, in whole or - in part; and - - b. produce, reproduce, and Share Adapted Material. - - 2. Exceptions and Limitations. For the avoidance of doubt, where - Exceptions and Limitations apply to Your use, this Public - License does not apply, and You do not need to comply with - its terms and conditions. - - 3. Term. The term of this Public License is specified in Section - 6(a). - - 4. Media and formats; technical modifications allowed. The - Licensor authorizes You to exercise the Licensed Rights in - all media and formats whether now known or hereafter created, - and to make technical modifications necessary to do so. The - Licensor waives and/or agrees not to assert any right or - authority to forbid You from making technical modifications - necessary to exercise the Licensed Rights, including - technical modifications necessary to circumvent Effective - Technological Measures. For purposes of this Public License, - simply making modifications authorized by this Section 2(a) - (4) never produces Adapted Material. - - 5. Downstream recipients. - - a. Offer from the Licensor -- Licensed Material. Every - recipient of the Licensed Material automatically - receives an offer from the Licensor to exercise the - Licensed Rights under the terms and conditions of this - Public License. - - b. No downstream restrictions. You may not offer or impose - any additional or different terms or conditions on, or - apply any Effective Technological Measures to, the - Licensed Material if doing so restricts exercise of the - Licensed Rights by any recipient of the Licensed - Material. - - 6. No endorsement. Nothing in this Public License constitutes or - may be construed as permission to assert or imply that You - are, or that Your use of the Licensed Material is, connected - with, or sponsored, endorsed, or granted official status by, - the Licensor or others designated to receive attribution as - provided in Section 3(a)(1)(A)(i). - - b. Other rights. - - 1. Moral rights, such as the right of integrity, are not - licensed under this Public License, nor are publicity, - privacy, and/or other similar personality rights; however, to - the extent possible, the Licensor waives and/or agrees not to - assert any such rights held by the Licensor to the limited - extent necessary to allow You to exercise the Licensed - Rights, but not otherwise. - - 2. Patent and trademark rights are not licensed under this - Public License. - - 3. To the extent possible, the Licensor waives any right to - collect royalties from You for the exercise of the Licensed - Rights, whether directly or through a collecting society - under any voluntary or waivable statutory or compulsory - licensing scheme. In all other cases the Licensor expressly - reserves any right to collect such royalties. - - -Section 3 -- License Conditions. - -Your exercise of the Licensed Rights is expressly made subject to the -following conditions. - - a. Attribution. - - 1. If You Share the Licensed Material (including in modified - form), You must: - - a. retain the following if it is supplied by the Licensor - with the Licensed Material: - - i. identification of the creator(s) of the Licensed - Material and any others designated to receive - attribution, in any reasonable manner requested by - the Licensor (including by pseudonym if - designated); - - ii. a copyright notice; - - iii. a notice that refers to this Public License; - - iv. a notice that refers to the disclaimer of - warranties; - - v. a URI or hyperlink to the Licensed Material to the - extent reasonably practicable; - - b. indicate if You modified the Licensed Material and - retain an indication of any previous modifications; and - - c. indicate the Licensed Material is licensed under this - Public License, and include the text of, or the URI or - hyperlink to, this Public License. - - 2. You may satisfy the conditions in Section 3(a)(1) in any - reasonable manner based on the medium, means, and context in - which You Share the Licensed Material. For example, it may be - reasonable to satisfy the conditions by providing a URI or - hyperlink to a resource that includes the required - information. - - 3. If requested by the Licensor, You must remove any of the - information required by Section 3(a)(1)(A) to the extent - reasonably practicable. - - 4. If You Share Adapted Material You produce, the Adapter's - License You apply must not prevent recipients of the Adapted - Material from complying with this Public License. - - -Section 4 -- Sui Generis Database Rights. - -Where the Licensed Rights include Sui Generis Database Rights that -apply to Your use of the Licensed Material: - - a. for the avoidance of doubt, Section 2(a)(1) grants You the right - to extract, reuse, reproduce, and Share all or a substantial - portion of the contents of the database; - - b. if You include all or a substantial portion of the database - contents in a database in which You have Sui Generis Database - Rights, then the database in which You have Sui Generis Database - Rights (but not its individual contents) is Adapted Material; and - - c. You must comply with the conditions in Section 3(a) if You Share - all or a substantial portion of the contents of the database. - -For the avoidance of doubt, this Section 4 supplements and does not -replace Your obligations under this Public License where the Licensed -Rights include other Copyright and Similar Rights. - - -Section 5 -- Disclaimer of Warranties and Limitation of Liability. - - a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE - EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS - AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF - ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, - IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, - WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR - PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, - ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT - KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT - ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. - - b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE - TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, - NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, - INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, - COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR - USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN - ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR - DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR - IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. - - c. The disclaimer of warranties and limitation of liability provided - above shall be interpreted in a manner that, to the extent - possible, most closely approximates an absolute disclaimer and - waiver of all liability. - - -Section 6 -- Term and Termination. - - a. This Public License applies for the term of the Copyright and - Similar Rights licensed here. However, if You fail to comply with - this Public License, then Your rights under this Public License - terminate automatically. - - b. Where Your right to use the Licensed Material has terminated under - Section 6(a), it reinstates: - - 1. automatically as of the date the violation is cured, provided - it is cured within 30 days of Your discovery of the - violation; or - - 2. upon express reinstatement by the Licensor. - - For the avoidance of doubt, this Section 6(b) does not affect any - right the Licensor may have to seek remedies for Your violations - of this Public License. - - c. For the avoidance of doubt, the Licensor may also offer the - Licensed Material under separate terms or conditions or stop - distributing the Licensed Material at any time; however, doing so - will not terminate this Public License. - - d. Sections 1, 5, 6, 7, and 8 survive termination of this Public - License. - - -Section 7 -- Other Terms and Conditions. - - a. The Licensor shall not be bound by any additional or different - terms or conditions communicated by You unless expressly agreed. - - b. Any arrangements, understandings, or agreements regarding the - Licensed Material not stated herein are separate from and - independent of the terms and conditions of this Public License. - - -Section 8 -- Interpretation. - - a. For the avoidance of doubt, this Public License does not, and - shall not be interpreted to, reduce, limit, restrict, or impose - conditions on any use of the Licensed Material that could lawfully - be made without permission under this Public License. - - b. To the extent possible, if any provision of this Public License is - deemed unenforceable, it shall be automatically reformed to the - minimum extent necessary to make it enforceable. If the provision - cannot be reformed, it shall be severed from this Public License - without affecting the enforceability of the remaining terms and - conditions. - - c. No term or condition of this Public License will be waived and no - failure to comply consented to unless expressly agreed to by the - Licensor. - - d. Nothing in this Public License constitutes or may be interpreted - as a limitation upon, or waiver of, any privileges and immunities - that apply to the Licensor or You, including from the legal - processes of any jurisdiction or authority. - - -======================================================================= - -Creative Commons is not a party to its public licenses. -Notwithstanding, Creative Commons may elect to apply one of its public -licenses to material it publishes and in those instances will be -considered the “Licensor.” The text of the Creative Commons public -licenses is dedicated to the public domain under the CC0 Public Domain -Dedication. Except for the limited purpose of indicating that material -is shared under a Creative Commons public license or as otherwise -permitted by the Creative Commons policies published at -creativecommons.org/policies, Creative Commons does not authorize the -use of the trademark "Creative Commons" or any other trademark or logo -of Creative Commons without its prior written consent including, -without limitation, in connection with any unauthorized modifications -to any of its public licenses or any other arrangements, -understandings, or agreements concerning use of licensed material. For -the avoidance of doubt, this paragraph does not form part of the public -licenses. - -Creative Commons may be contacted at creativecommons.org. diff --git a/README.md b/README.md index 7e4400a..1fe4c94 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,28 @@ -# Scapy.net +# Scapy.net - OLD -This repo hosts the source code behind the `scapy.net` website. +***Old scapy.net website. Don't look it's ugly*** -## Website +The website is using github pages with the "Beatiful Jekyll" theme. -The website is written in [Vue.js 3](https://vuejs.org/), using the [Vuetify](https://vuetifyjs.com/) framework, and built & published using Github Actions. +#### Build locally -### Develop +**Dependencies:** +```sh +$ sudo apt install ruby-bundler ruby-dev +$ bundle install +``` -```bash -$ npm install -$ npm run dev +**Serve:** +```sh +$ bundle exec jekyll serve ``` -## public +#### awesome-scapy submodule + +Located [here](https://github.com/secdev/awesome-scapy) -The website also serves as a hosting platform for some external files, such as talks or conferences related to Scapy. +**Update:** + +```sh +$ git submodule update --remote --merge +``` diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..0a039c8 --- /dev/null +++ b/_config.yml @@ -0,0 +1,63 @@ +# --- General options --- # + +remote_theme: daattali/beautiful-jekyll + +url: "https://secdev.github.io" +baseurl: "" + +title: Scapy +description: Scapy - the Python-based interactive packet manipulation program & library. + +# Beautiful-Jekyll is MIT so nothing prevents us from doing this. +# What kind of OSS is this, I contributed quite a lot to this project +remove-ads: true + +# --- Navigation bar options --- # + +navbar-links: + Home: index + Downloads: download/ + Documentation: http://scapy.readthedocs.io/ + Awesome Scapy: awesome-scapy/ + +avatar: "./assets/img/logo.png" +round-avatar: false + +# --- Footer options --- # + +author: Philippe Biondi and the Scapy community. +url-pretty: "scapy.net" + +social-network-links: + github: secdev + +# Output options (more information on Jekyll's site) +timezone: "Europe/Paris" +markdown: kramdown +highlighter: rouge +permalink: /:year-:month-:day-:title/ +paginate: 5 + +kramdown: + input: GFM + +defaults: + - + scope: + path: "" # all files + values: + layout: "page" + show-avatar: true + +# Exclude these files from production site +exclude: + - CHANGELOG.md + - CNAME + - Dockerfile + - Gemfile + - Gemfile.lock + - LICENSE + - README.md + - Vagrantfile + - awesome-scapy/LICENSE.md + diff --git a/assets/img/404.png b/assets/img/404.png new file mode 100755 index 0000000..7317e17 Binary files /dev/null and b/assets/img/404.png differ diff --git a/assets/img/conda.svg b/assets/img/conda.svg new file mode 100644 index 0000000..e9e95ca --- /dev/null +++ b/assets/img/conda.svg @@ -0,0 +1 @@ + image/svg+xml \ No newline at end of file diff --git a/assets/img/github.svg b/assets/img/github.svg new file mode 100644 index 0000000..5d9b8ab --- /dev/null +++ b/assets/img/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/logo.png b/assets/img/logo.png new file mode 100755 index 0000000..ae0edd7 Binary files /dev/null and b/assets/img/logo.png differ diff --git a/assets/img/pypi.svg b/assets/img/pypi.svg new file mode 100644 index 0000000..e53853c --- /dev/null +++ b/assets/img/pypi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/img/tux.svg b/assets/img/tux.svg new file mode 100644 index 0000000..d8aa36d --- /dev/null +++ b/assets/img/tux.svg @@ -0,0 +1 @@ + image/svg+xml \ No newline at end of file diff --git a/assets/img/ubuntu.svg b/assets/img/ubuntu.svg new file mode 100644 index 0000000..130218a --- /dev/null +++ b/assets/img/ubuntu.svg @@ -0,0 +1 @@ +image/svg+xml \ No newline at end of file diff --git a/awesome-scapy b/awesome-scapy new file mode 160000 index 0000000..34adeb2 --- /dev/null +++ b/awesome-scapy @@ -0,0 +1 @@ +Subproject commit 34adeb23305c3b0f80c57ab446f9a0a60ee72ab3 diff --git a/public/talks/scapy_Aachen.pdf b/conf/scapy_Aachen.pdf similarity index 100% rename from public/talks/scapy_Aachen.pdf rename to conf/scapy_Aachen.pdf diff --git a/public/talks/scapy_T2.pdf b/conf/scapy_T2.pdf similarity index 100% rename from public/talks/scapy_T2.pdf rename to conf/scapy_T2.pdf diff --git a/public/talks/scapy_csw05.pdf b/conf/scapy_csw05.pdf similarity index 100% rename from public/talks/scapy_csw05.pdf rename to conf/scapy_csw05.pdf diff --git a/public/talks/scapy_hack.lu.pdf b/conf/scapy_hack.lu.pdf similarity index 100% rename from public/talks/scapy_hack.lu.pdf rename to conf/scapy_hack.lu.pdf diff --git a/public/talks/scapy_lsm2003.pdf b/conf/scapy_lsm2003.pdf similarity index 100% rename from public/talks/scapy_lsm2003.pdf rename to conf/scapy_lsm2003.pdf diff --git a/public/talks/scapy_pacsec05.handout.pdf b/conf/scapy_pacsec05.handout.pdf similarity index 100% rename from public/talks/scapy_pacsec05.handout.pdf rename to conf/scapy_pacsec05.handout.pdf diff --git a/public/talks/scapy_pacsec05.pdf b/conf/scapy_pacsec05.pdf similarity index 100% rename from public/talks/scapy_pacsec05.pdf rename to conf/scapy_pacsec05.pdf diff --git a/public/talks/troopers2019/.gitignore b/conf/troopers2019/.gitignore similarity index 100% rename from public/talks/troopers2019/.gitignore rename to conf/troopers2019/.gitignore diff --git a/public/talks/troopers2019/.travis.yml b/conf/troopers2019/.travis.yml similarity index 100% rename from public/talks/troopers2019/.travis.yml rename to conf/troopers2019/.travis.yml diff --git a/public/talks/troopers2019/CONTRIBUTING.md b/conf/troopers2019/CONTRIBUTING.md similarity index 100% rename from public/talks/troopers2019/CONTRIBUTING.md rename to conf/troopers2019/CONTRIBUTING.md diff --git a/public/talks/troopers2019/Gruntfile.js b/conf/troopers2019/Gruntfile.js similarity index 100% rename from public/talks/troopers2019/Gruntfile.js rename to conf/troopers2019/Gruntfile.js diff --git a/public/talks/troopers2019/LICENSE b/conf/troopers2019/LICENSE similarity index 100% rename from public/talks/troopers2019/LICENSE rename to conf/troopers2019/LICENSE diff --git a/public/talks/troopers2019/README.md b/conf/troopers2019/README.md similarity index 100% rename from public/talks/troopers2019/README.md rename to conf/troopers2019/README.md diff --git a/public/talks/troopers2019/animations/.gitignore b/conf/troopers2019/animations/.gitignore similarity index 100% rename from public/talks/troopers2019/animations/.gitignore rename to conf/troopers2019/animations/.gitignore diff --git a/public/talks/troopers2019/animations/animation-cansend.svg b/conf/troopers2019/animations/animation-cansend.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-cansend.svg rename to conf/troopers2019/animations/animation-cansend.svg diff --git a/public/talks/troopers2019/animations/animation-cansend.webm b/conf/troopers2019/animations/animation-cansend.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-cansend.webm rename to conf/troopers2019/animations/animation-cansend.webm diff --git a/public/talks/troopers2019/animations/animation-isotp-mitm.svg b/conf/troopers2019/animations/animation-isotp-mitm.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-isotp-mitm.svg rename to conf/troopers2019/animations/animation-isotp-mitm.svg diff --git a/public/talks/troopers2019/animations/animation-isotp-mitm.webm b/conf/troopers2019/animations/animation-isotp-mitm.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-isotp-mitm.webm rename to conf/troopers2019/animations/animation-isotp-mitm.webm diff --git a/public/talks/troopers2019/animations/animation-isotp-sniff.svg b/conf/troopers2019/animations/animation-isotp-sniff.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-isotp-sniff.svg rename to conf/troopers2019/animations/animation-isotp-sniff.svg diff --git a/public/talks/troopers2019/animations/animation-isotp-sniff.webm b/conf/troopers2019/animations/animation-isotp-sniff.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-isotp-sniff.webm rename to conf/troopers2019/animations/animation-isotp-sniff.webm diff --git a/public/talks/troopers2019/animations/animation-rdcandump.svg b/conf/troopers2019/animations/animation-rdcandump.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-rdcandump.svg rename to conf/troopers2019/animations/animation-rdcandump.svg diff --git a/public/talks/troopers2019/animations/animation-rdcandump.webm b/conf/troopers2019/animations/animation-rdcandump.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-rdcandump.webm rename to conf/troopers2019/animations/animation-rdcandump.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-can.svg b/conf/troopers2019/animations/animation-scapy-can.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-can.svg rename to conf/troopers2019/animations/animation-scapy-can.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-can.webm b/conf/troopers2019/animations/animation-scapy-can.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-can.webm rename to conf/troopers2019/animations/animation-scapy-can.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-canframe.svg b/conf/troopers2019/animations/animation-scapy-canframe.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-canframe.svg rename to conf/troopers2019/animations/animation-scapy-canframe.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-canframe.webm b/conf/troopers2019/animations/animation-scapy-canframe.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-canframe.webm rename to conf/troopers2019/animations/animation-scapy-canframe.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-cansockets-mitm.svg b/conf/troopers2019/animations/animation-scapy-cansockets-mitm.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-cansockets-mitm.svg rename to conf/troopers2019/animations/animation-scapy-cansockets-mitm.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-cansockets-mitm.webm b/conf/troopers2019/animations/animation-scapy-cansockets-mitm.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-cansockets-mitm.webm rename to conf/troopers2019/animations/animation-scapy-cansockets-mitm.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-cansockets-mitm2.svg b/conf/troopers2019/animations/animation-scapy-cansockets-mitm2.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-cansockets-mitm2.svg rename to conf/troopers2019/animations/animation-scapy-cansockets-mitm2.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-cansockets-mitm2.webm b/conf/troopers2019/animations/animation-scapy-cansockets-mitm2.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-cansockets-mitm2.webm rename to conf/troopers2019/animations/animation-scapy-cansockets-mitm2.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-cansockets-sniff.svg b/conf/troopers2019/animations/animation-scapy-cansockets-sniff.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-cansockets-sniff.svg rename to conf/troopers2019/animations/animation-scapy-cansockets-sniff.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-cansockets-sniff.webm b/conf/troopers2019/animations/animation-scapy-cansockets-sniff.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-cansockets-sniff.webm rename to conf/troopers2019/animations/animation-scapy-cansockets-sniff.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-gmlan.svg b/conf/troopers2019/animations/animation-scapy-gmlan.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-gmlan.svg rename to conf/troopers2019/animations/animation-scapy-gmlan.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-gmlan.webm b/conf/troopers2019/animations/animation-scapy-gmlan.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-gmlan.webm rename to conf/troopers2019/animations/animation-scapy-gmlan.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-native-cansocket.svg b/conf/troopers2019/animations/animation-scapy-native-cansocket.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-native-cansocket.svg rename to conf/troopers2019/animations/animation-scapy-native-cansocket.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-native-cansocket.webm b/conf/troopers2019/animations/animation-scapy-native-cansocket.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-native-cansocket.webm rename to conf/troopers2019/animations/animation-scapy-native-cansocket.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-obd.svg b/conf/troopers2019/animations/animation-scapy-obd.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-obd.svg rename to conf/troopers2019/animations/animation-scapy-obd.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-obd.webm b/conf/troopers2019/animations/animation-scapy-obd.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-obd.webm rename to conf/troopers2019/animations/animation-scapy-obd.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-python-can-cansocket.svg b/conf/troopers2019/animations/animation-scapy-python-can-cansocket.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-python-can-cansocket.svg rename to conf/troopers2019/animations/animation-scapy-python-can-cansocket.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-python-can-cansocket.webm b/conf/troopers2019/animations/animation-scapy-python-can-cansocket.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-python-can-cansocket.webm rename to conf/troopers2019/animations/animation-scapy-python-can-cansocket.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-rdcandump.svg b/conf/troopers2019/animations/animation-scapy-rdcandump.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-rdcandump.svg rename to conf/troopers2019/animations/animation-scapy-rdcandump.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-rdcandump.webm b/conf/troopers2019/animations/animation-scapy-rdcandump.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-rdcandump.webm rename to conf/troopers2019/animations/animation-scapy-rdcandump.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-rdpcap.svg b/conf/troopers2019/animations/animation-scapy-rdpcap.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-rdpcap.svg rename to conf/troopers2019/animations/animation-scapy-rdpcap.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-rdpcap.webm b/conf/troopers2019/animations/animation-scapy-rdpcap.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-rdpcap.webm rename to conf/troopers2019/animations/animation-scapy-rdpcap.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-uds.svg b/conf/troopers2019/animations/animation-scapy-uds.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-uds.svg rename to conf/troopers2019/animations/animation-scapy-uds.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-uds.webm b/conf/troopers2019/animations/animation-scapy-uds.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-uds.webm rename to conf/troopers2019/animations/animation-scapy-uds.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-uds2.svg b/conf/troopers2019/animations/animation-scapy-uds2.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-uds2.svg rename to conf/troopers2019/animations/animation-scapy-uds2.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-uds2.webm b/conf/troopers2019/animations/animation-scapy-uds2.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-uds2.webm rename to conf/troopers2019/animations/animation-scapy-uds2.webm diff --git a/public/talks/troopers2019/animations/animation-scapy-uds3.svg b/conf/troopers2019/animations/animation-scapy-uds3.svg similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-uds3.svg rename to conf/troopers2019/animations/animation-scapy-uds3.svg diff --git a/public/talks/troopers2019/animations/animation-scapy-uds3.webm b/conf/troopers2019/animations/animation-scapy-uds3.webm similarity index 100% rename from public/talks/troopers2019/animations/animation-scapy-uds3.webm rename to conf/troopers2019/animations/animation-scapy-uds3.webm diff --git a/public/talks/troopers2019/bower.json b/conf/troopers2019/bower.json similarity index 100% rename from public/talks/troopers2019/bower.json rename to conf/troopers2019/bower.json diff --git a/public/talks/troopers2019/css/print/paper.css b/conf/troopers2019/css/print/paper.css similarity index 100% rename from public/talks/troopers2019/css/print/paper.css rename to conf/troopers2019/css/print/paper.css diff --git a/public/talks/troopers2019/css/print/pdf.css b/conf/troopers2019/css/print/pdf.css similarity index 100% rename from public/talks/troopers2019/css/print/pdf.css rename to conf/troopers2019/css/print/pdf.css diff --git a/public/talks/troopers2019/css/reveal.css b/conf/troopers2019/css/reveal.css similarity index 100% rename from public/talks/troopers2019/css/reveal.css rename to conf/troopers2019/css/reveal.css diff --git a/public/talks/troopers2019/css/reveal.scss b/conf/troopers2019/css/reveal.scss similarity index 100% rename from public/talks/troopers2019/css/reveal.scss rename to conf/troopers2019/css/reveal.scss diff --git a/public/talks/troopers2019/css/theme/README.md b/conf/troopers2019/css/theme/README.md similarity index 100% rename from public/talks/troopers2019/css/theme/README.md rename to conf/troopers2019/css/theme/README.md diff --git a/public/talks/troopers2019/css/theme/beige.css b/conf/troopers2019/css/theme/beige.css similarity index 100% rename from public/talks/troopers2019/css/theme/beige.css rename to conf/troopers2019/css/theme/beige.css diff --git a/public/talks/troopers2019/css/theme/black.css b/conf/troopers2019/css/theme/black.css similarity index 100% rename from public/talks/troopers2019/css/theme/black.css rename to conf/troopers2019/css/theme/black.css diff --git a/public/talks/troopers2019/css/theme/blood.css b/conf/troopers2019/css/theme/blood.css similarity index 100% rename from public/talks/troopers2019/css/theme/blood.css rename to conf/troopers2019/css/theme/blood.css diff --git a/public/talks/troopers2019/css/theme/carsec.css b/conf/troopers2019/css/theme/carsec.css similarity index 100% rename from public/talks/troopers2019/css/theme/carsec.css rename to conf/troopers2019/css/theme/carsec.css diff --git a/public/talks/troopers2019/css/theme/league.css b/conf/troopers2019/css/theme/league.css similarity index 100% rename from public/talks/troopers2019/css/theme/league.css rename to conf/troopers2019/css/theme/league.css diff --git a/public/talks/troopers2019/css/theme/moon.css b/conf/troopers2019/css/theme/moon.css similarity index 100% rename from public/talks/troopers2019/css/theme/moon.css rename to conf/troopers2019/css/theme/moon.css diff --git a/public/talks/troopers2019/css/theme/night.css b/conf/troopers2019/css/theme/night.css similarity index 100% rename from public/talks/troopers2019/css/theme/night.css rename to conf/troopers2019/css/theme/night.css diff --git a/public/talks/troopers2019/css/theme/serif.css b/conf/troopers2019/css/theme/serif.css similarity index 100% rename from public/talks/troopers2019/css/theme/serif.css rename to conf/troopers2019/css/theme/serif.css diff --git a/public/talks/troopers2019/css/theme/simple.css b/conf/troopers2019/css/theme/simple.css similarity index 100% rename from public/talks/troopers2019/css/theme/simple.css rename to conf/troopers2019/css/theme/simple.css diff --git a/public/talks/troopers2019/css/theme/sky.css b/conf/troopers2019/css/theme/sky.css similarity index 100% rename from public/talks/troopers2019/css/theme/sky.css rename to conf/troopers2019/css/theme/sky.css diff --git a/public/talks/troopers2019/css/theme/solarized.css b/conf/troopers2019/css/theme/solarized.css similarity index 100% rename from public/talks/troopers2019/css/theme/solarized.css rename to conf/troopers2019/css/theme/solarized.css diff --git a/public/talks/troopers2019/css/theme/source/beige.scss b/conf/troopers2019/css/theme/source/beige.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/beige.scss rename to conf/troopers2019/css/theme/source/beige.scss diff --git a/public/talks/troopers2019/css/theme/source/black.scss b/conf/troopers2019/css/theme/source/black.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/black.scss rename to conf/troopers2019/css/theme/source/black.scss diff --git a/public/talks/troopers2019/css/theme/source/blood.scss b/conf/troopers2019/css/theme/source/blood.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/blood.scss rename to conf/troopers2019/css/theme/source/blood.scss diff --git a/public/talks/troopers2019/css/theme/source/league.scss b/conf/troopers2019/css/theme/source/league.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/league.scss rename to conf/troopers2019/css/theme/source/league.scss diff --git a/public/talks/troopers2019/css/theme/source/moon.scss b/conf/troopers2019/css/theme/source/moon.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/moon.scss rename to conf/troopers2019/css/theme/source/moon.scss diff --git a/public/talks/troopers2019/css/theme/source/night.scss b/conf/troopers2019/css/theme/source/night.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/night.scss rename to conf/troopers2019/css/theme/source/night.scss diff --git a/public/talks/troopers2019/css/theme/source/serif.scss b/conf/troopers2019/css/theme/source/serif.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/serif.scss rename to conf/troopers2019/css/theme/source/serif.scss diff --git a/public/talks/troopers2019/css/theme/source/simple.scss b/conf/troopers2019/css/theme/source/simple.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/simple.scss rename to conf/troopers2019/css/theme/source/simple.scss diff --git a/public/talks/troopers2019/css/theme/source/sky.scss b/conf/troopers2019/css/theme/source/sky.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/sky.scss rename to conf/troopers2019/css/theme/source/sky.scss diff --git a/public/talks/troopers2019/css/theme/source/solarized.scss b/conf/troopers2019/css/theme/source/solarized.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/solarized.scss rename to conf/troopers2019/css/theme/source/solarized.scss diff --git a/public/talks/troopers2019/css/theme/source/white.scss b/conf/troopers2019/css/theme/source/white.scss similarity index 100% rename from public/talks/troopers2019/css/theme/source/white.scss rename to conf/troopers2019/css/theme/source/white.scss diff --git a/public/talks/troopers2019/css/theme/template/mixins.scss b/conf/troopers2019/css/theme/template/mixins.scss similarity index 100% rename from public/talks/troopers2019/css/theme/template/mixins.scss rename to conf/troopers2019/css/theme/template/mixins.scss diff --git a/public/talks/troopers2019/css/theme/template/settings.scss b/conf/troopers2019/css/theme/template/settings.scss similarity index 100% rename from public/talks/troopers2019/css/theme/template/settings.scss rename to conf/troopers2019/css/theme/template/settings.scss diff --git a/public/talks/troopers2019/css/theme/template/theme.scss b/conf/troopers2019/css/theme/template/theme.scss similarity index 100% rename from public/talks/troopers2019/css/theme/template/theme.scss rename to conf/troopers2019/css/theme/template/theme.scss diff --git a/public/talks/troopers2019/css/theme/white.css b/conf/troopers2019/css/theme/white.css similarity index 100% rename from public/talks/troopers2019/css/theme/white.css rename to conf/troopers2019/css/theme/white.css diff --git a/public/talks/troopers2019/demo.html b/conf/troopers2019/demo.html similarity index 100% rename from public/talks/troopers2019/demo.html rename to conf/troopers2019/demo.html diff --git a/public/talks/troopers2019/images/can-bus.png b/conf/troopers2019/images/can-bus.png similarity index 100% rename from public/talks/troopers2019/images/can-bus.png rename to conf/troopers2019/images/can-bus.png diff --git a/public/talks/troopers2019/images/commits_by_year.png b/conf/troopers2019/images/commits_by_year.png similarity index 100% rename from public/talks/troopers2019/images/commits_by_year.png rename to conf/troopers2019/images/commits_by_year.png diff --git a/public/talks/troopers2019/images/isotp_flow.svg b/conf/troopers2019/images/isotp_flow.svg similarity index 100% rename from public/talks/troopers2019/images/isotp_flow.svg rename to conf/troopers2019/images/isotp_flow.svg diff --git a/public/talks/troopers2019/images/overview.png b/conf/troopers2019/images/overview.png similarity index 100% rename from public/talks/troopers2019/images/overview.png rename to conf/troopers2019/images/overview.png diff --git a/public/talks/troopers2019/images/scapy_logo.png b/conf/troopers2019/images/scapy_logo.png similarity index 100% rename from public/talks/troopers2019/images/scapy_logo.png rename to conf/troopers2019/images/scapy_logo.png diff --git a/public/talks/troopers2019/index.html b/conf/troopers2019/index.html similarity index 100% rename from public/talks/troopers2019/index.html rename to conf/troopers2019/index.html diff --git a/public/talks/troopers2019/js/reveal.js b/conf/troopers2019/js/reveal.js similarity index 100% rename from public/talks/troopers2019/js/reveal.js rename to conf/troopers2019/js/reveal.js diff --git a/public/talks/troopers2019/lib/css/zenburn.css b/conf/troopers2019/lib/css/zenburn.css similarity index 100% rename from public/talks/troopers2019/lib/css/zenburn.css rename to conf/troopers2019/lib/css/zenburn.css diff --git a/public/talks/troopers2019/lib/font/league-gothic/LICENSE b/conf/troopers2019/lib/font/league-gothic/LICENSE similarity index 100% rename from public/talks/troopers2019/lib/font/league-gothic/LICENSE rename to conf/troopers2019/lib/font/league-gothic/LICENSE diff --git a/public/talks/troopers2019/lib/font/league-gothic/league-gothic.css b/conf/troopers2019/lib/font/league-gothic/league-gothic.css similarity index 100% rename from public/talks/troopers2019/lib/font/league-gothic/league-gothic.css rename to conf/troopers2019/lib/font/league-gothic/league-gothic.css diff --git a/public/talks/troopers2019/lib/font/league-gothic/league-gothic.eot b/conf/troopers2019/lib/font/league-gothic/league-gothic.eot old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/league-gothic/league-gothic.eot rename to conf/troopers2019/lib/font/league-gothic/league-gothic.eot diff --git a/public/talks/troopers2019/lib/font/league-gothic/league-gothic.ttf b/conf/troopers2019/lib/font/league-gothic/league-gothic.ttf old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/league-gothic/league-gothic.ttf rename to conf/troopers2019/lib/font/league-gothic/league-gothic.ttf diff --git a/public/talks/troopers2019/lib/font/league-gothic/league-gothic.woff b/conf/troopers2019/lib/font/league-gothic/league-gothic.woff old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/league-gothic/league-gothic.woff rename to conf/troopers2019/lib/font/league-gothic/league-gothic.woff diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/LICENSE b/conf/troopers2019/lib/font/source-sans-pro/LICENSE similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/LICENSE rename to conf/troopers2019/lib/font/source-sans-pro/LICENSE diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.eot b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.eot old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.eot rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.eot diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.ttf b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.ttf old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.ttf rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.ttf diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.woff b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.woff old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.woff rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-italic.woff diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.eot b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.eot old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.eot rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.eot diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.ttf b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.ttf old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.ttf rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.ttf diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.woff b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.woff old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.woff rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-regular.woff diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.eot b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.eot old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.eot rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.eot diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.ttf b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.ttf old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.ttf rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.ttf diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.woff b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.woff old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.woff rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibold.woff diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff diff --git a/public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro.css b/conf/troopers2019/lib/font/source-sans-pro/source-sans-pro.css similarity index 100% rename from public/talks/troopers2019/lib/font/source-sans-pro/source-sans-pro.css rename to conf/troopers2019/lib/font/source-sans-pro/source-sans-pro.css diff --git a/public/talks/troopers2019/lib/js/classList.js b/conf/troopers2019/lib/js/classList.js similarity index 100% rename from public/talks/troopers2019/lib/js/classList.js rename to conf/troopers2019/lib/js/classList.js diff --git a/public/talks/troopers2019/lib/js/head.min.js b/conf/troopers2019/lib/js/head.min.js similarity index 100% rename from public/talks/troopers2019/lib/js/head.min.js rename to conf/troopers2019/lib/js/head.min.js diff --git a/public/talks/troopers2019/lib/js/html5shiv.js b/conf/troopers2019/lib/js/html5shiv.js similarity index 100% rename from public/talks/troopers2019/lib/js/html5shiv.js rename to conf/troopers2019/lib/js/html5shiv.js diff --git a/public/talks/troopers2019/package.json b/conf/troopers2019/package.json similarity index 100% rename from public/talks/troopers2019/package.json rename to conf/troopers2019/package.json diff --git a/public/talks/troopers2019/plugin/highlight/highlight.js b/conf/troopers2019/plugin/highlight/highlight.js similarity index 100% rename from public/talks/troopers2019/plugin/highlight/highlight.js rename to conf/troopers2019/plugin/highlight/highlight.js diff --git a/public/talks/troopers2019/plugin/markdown/example.html b/conf/troopers2019/plugin/markdown/example.html similarity index 100% rename from public/talks/troopers2019/plugin/markdown/example.html rename to conf/troopers2019/plugin/markdown/example.html diff --git a/public/talks/troopers2019/plugin/markdown/example.md b/conf/troopers2019/plugin/markdown/example.md similarity index 100% rename from public/talks/troopers2019/plugin/markdown/example.md rename to conf/troopers2019/plugin/markdown/example.md diff --git a/public/talks/troopers2019/plugin/markdown/markdown.js b/conf/troopers2019/plugin/markdown/markdown.js old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/plugin/markdown/markdown.js rename to conf/troopers2019/plugin/markdown/markdown.js diff --git a/public/talks/troopers2019/plugin/markdown/marked.js b/conf/troopers2019/plugin/markdown/marked.js similarity index 100% rename from public/talks/troopers2019/plugin/markdown/marked.js rename to conf/troopers2019/plugin/markdown/marked.js diff --git a/public/talks/troopers2019/plugin/math/math.js b/conf/troopers2019/plugin/math/math.js old mode 100644 new mode 100755 similarity index 100% rename from public/talks/troopers2019/plugin/math/math.js rename to conf/troopers2019/plugin/math/math.js diff --git a/public/talks/troopers2019/plugin/multiplex/client.js b/conf/troopers2019/plugin/multiplex/client.js similarity index 100% rename from public/talks/troopers2019/plugin/multiplex/client.js rename to conf/troopers2019/plugin/multiplex/client.js diff --git a/public/talks/troopers2019/plugin/multiplex/index.js b/conf/troopers2019/plugin/multiplex/index.js similarity index 100% rename from public/talks/troopers2019/plugin/multiplex/index.js rename to conf/troopers2019/plugin/multiplex/index.js diff --git a/public/talks/troopers2019/plugin/multiplex/master.js b/conf/troopers2019/plugin/multiplex/master.js similarity index 100% rename from public/talks/troopers2019/plugin/multiplex/master.js rename to conf/troopers2019/plugin/multiplex/master.js diff --git a/public/talks/troopers2019/plugin/multiplex/package.json b/conf/troopers2019/plugin/multiplex/package.json similarity index 86% rename from public/talks/troopers2019/plugin/multiplex/package.json rename to conf/troopers2019/plugin/multiplex/package.json index b570254..bbed77a 100644 --- a/public/talks/troopers2019/plugin/multiplex/package.json +++ b/conf/troopers2019/plugin/multiplex/package.json @@ -10,10 +10,10 @@ "node": "~4.1.1" }, "dependencies": { - "express": "~5.1.0", + "express": "~4.13.3", "grunt-cli": "~0.1.13", "mustache": "~2.2.1", - "socket.io": "~4.8.1" + "socket.io": "~1.3.7" }, "license": "MIT" } diff --git a/public/talks/troopers2019/plugin/notes-server/client.js b/conf/troopers2019/plugin/notes-server/client.js similarity index 100% rename from public/talks/troopers2019/plugin/notes-server/client.js rename to conf/troopers2019/plugin/notes-server/client.js diff --git a/public/talks/troopers2019/plugin/notes-server/index.js b/conf/troopers2019/plugin/notes-server/index.js similarity index 100% rename from public/talks/troopers2019/plugin/notes-server/index.js rename to conf/troopers2019/plugin/notes-server/index.js diff --git a/public/talks/troopers2019/plugin/notes-server/notes.html b/conf/troopers2019/plugin/notes-server/notes.html similarity index 100% rename from public/talks/troopers2019/plugin/notes-server/notes.html rename to conf/troopers2019/plugin/notes-server/notes.html diff --git a/public/talks/troopers2019/plugin/notes/notes.html b/conf/troopers2019/plugin/notes/notes.html similarity index 100% rename from public/talks/troopers2019/plugin/notes/notes.html rename to conf/troopers2019/plugin/notes/notes.html diff --git a/public/talks/troopers2019/plugin/notes/notes.js b/conf/troopers2019/plugin/notes/notes.js similarity index 100% rename from public/talks/troopers2019/plugin/notes/notes.js rename to conf/troopers2019/plugin/notes/notes.js diff --git a/public/talks/troopers2019/plugin/print-pdf/print-pdf.js b/conf/troopers2019/plugin/print-pdf/print-pdf.js similarity index 100% rename from public/talks/troopers2019/plugin/print-pdf/print-pdf.js rename to conf/troopers2019/plugin/print-pdf/print-pdf.js diff --git a/public/talks/troopers2019/plugin/search/search.js b/conf/troopers2019/plugin/search/search.js similarity index 100% rename from public/talks/troopers2019/plugin/search/search.js rename to conf/troopers2019/plugin/search/search.js diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/danielbd.woff b/conf/troopers2019/plugin/sequence-diagrams/danielbd.woff similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/danielbd.woff rename to conf/troopers2019/plugin/sequence-diagrams/danielbd.woff diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/danielbd.woff2 b/conf/troopers2019/plugin/sequence-diagrams/danielbd.woff2 similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/danielbd.woff2 rename to conf/troopers2019/plugin/sequence-diagrams/danielbd.woff2 diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.css b/conf/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.css similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.css rename to conf/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.css diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.js b/conf/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.js similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.js rename to conf/troopers2019/plugin/sequence-diagrams/sequence-diagram-min.js diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/sequence-diagrams-plugin.js b/conf/troopers2019/plugin/sequence-diagrams/sequence-diagrams-plugin.js similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/sequence-diagrams-plugin.js rename to conf/troopers2019/plugin/sequence-diagrams/sequence-diagrams-plugin.js diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/snap.svg-min.js b/conf/troopers2019/plugin/sequence-diagrams/snap.svg-min.js similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/snap.svg-min.js rename to conf/troopers2019/plugin/sequence-diagrams/snap.svg-min.js diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/underscore-min.js b/conf/troopers2019/plugin/sequence-diagrams/underscore-min.js similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/underscore-min.js rename to conf/troopers2019/plugin/sequence-diagrams/underscore-min.js diff --git a/public/talks/troopers2019/plugin/sequence-diagrams/webfont.js b/conf/troopers2019/plugin/sequence-diagrams/webfont.js similarity index 100% rename from public/talks/troopers2019/plugin/sequence-diagrams/webfont.js rename to conf/troopers2019/plugin/sequence-diagrams/webfont.js diff --git a/public/talks/troopers2019/plugin/zoom-js/zoom.js b/conf/troopers2019/plugin/zoom-js/zoom.js similarity index 100% rename from public/talks/troopers2019/plugin/zoom-js/zoom.js rename to conf/troopers2019/plugin/zoom-js/zoom.js diff --git a/public/talks/troopers2019/presentation.md b/conf/troopers2019/presentation.md similarity index 99% rename from public/talks/troopers2019/presentation.md rename to conf/troopers2019/presentation.md index 4b29ac2..0366b4d 100644 --- a/public/talks/troopers2019/presentation.md +++ b/conf/troopers2019/presentation.md @@ -20,7 +20,7 @@ Philippe Biondi - phil@secdev.org Maintainers of Scapy ```text Guillaume Valadon (@guedou) - guillaume@valadon.net -Gabriel Potter - 10530980+gpotter2@users.noreply.github.com +Gabriel Potter - gabriel@potter.fr Pierre Lalet (@pi3rre) - pierre@droids-corp.org ``` diff --git a/public/talks/troopers2019/svg2webm/CanvasRecorder.js b/conf/troopers2019/svg2webm/CanvasRecorder.js similarity index 100% rename from public/talks/troopers2019/svg2webm/CanvasRecorder.js rename to conf/troopers2019/svg2webm/CanvasRecorder.js diff --git a/conf/troopers2019/svg2webm/animations b/conf/troopers2019/svg2webm/animations new file mode 120000 index 0000000..b3b3a31 --- /dev/null +++ b/conf/troopers2019/svg2webm/animations @@ -0,0 +1 @@ +../animations/ \ No newline at end of file diff --git a/public/talks/troopers2019/svg2webm/index.html b/conf/troopers2019/svg2webm/index.html similarity index 100% rename from public/talks/troopers2019/svg2webm/index.html rename to conf/troopers2019/svg2webm/index.html diff --git a/public/talks/troopers2019/svg2webm/main.js b/conf/troopers2019/svg2webm/main.js similarity index 100% rename from public/talks/troopers2019/svg2webm/main.js rename to conf/troopers2019/svg2webm/main.js diff --git a/public/talks/troopers2019/svg2webm/package.json b/conf/troopers2019/svg2webm/package.json similarity index 91% rename from public/talks/troopers2019/svg2webm/package.json rename to conf/troopers2019/svg2webm/package.json index 0dc5837..1cc34b1 100644 --- a/public/talks/troopers2019/svg2webm/package.json +++ b/conf/troopers2019/svg2webm/package.json @@ -4,7 +4,7 @@ "description": "Converts animated SVGs created with termtosvg to webm", "main": "main.js", "dependencies": { - "electron": "^37.1.0" + "electron": "^9.1.0" }, "scripts": { "start": "electron ." diff --git a/public/talks/troopers2019/test/examples/assets/image1.png b/conf/troopers2019/test/examples/assets/image1.png similarity index 100% rename from public/talks/troopers2019/test/examples/assets/image1.png rename to conf/troopers2019/test/examples/assets/image1.png diff --git a/public/talks/troopers2019/test/examples/assets/image2.png b/conf/troopers2019/test/examples/assets/image2.png similarity index 100% rename from public/talks/troopers2019/test/examples/assets/image2.png rename to conf/troopers2019/test/examples/assets/image2.png diff --git a/public/talks/troopers2019/test/examples/barebones.html b/conf/troopers2019/test/examples/barebones.html similarity index 100% rename from public/talks/troopers2019/test/examples/barebones.html rename to conf/troopers2019/test/examples/barebones.html diff --git a/public/talks/troopers2019/test/examples/embedded-media.html b/conf/troopers2019/test/examples/embedded-media.html similarity index 100% rename from public/talks/troopers2019/test/examples/embedded-media.html rename to conf/troopers2019/test/examples/embedded-media.html diff --git a/public/talks/troopers2019/test/examples/math.html b/conf/troopers2019/test/examples/math.html similarity index 100% rename from public/talks/troopers2019/test/examples/math.html rename to conf/troopers2019/test/examples/math.html diff --git a/public/talks/troopers2019/test/examples/slide-backgrounds.html b/conf/troopers2019/test/examples/slide-backgrounds.html similarity index 100% rename from public/talks/troopers2019/test/examples/slide-backgrounds.html rename to conf/troopers2019/test/examples/slide-backgrounds.html diff --git a/public/talks/troopers2019/test/examples/slide-transitions.html b/conf/troopers2019/test/examples/slide-transitions.html similarity index 100% rename from public/talks/troopers2019/test/examples/slide-transitions.html rename to conf/troopers2019/test/examples/slide-transitions.html diff --git a/public/talks/troopers2019/test/qunit-2.5.0.css b/conf/troopers2019/test/qunit-2.5.0.css similarity index 100% rename from public/talks/troopers2019/test/qunit-2.5.0.css rename to conf/troopers2019/test/qunit-2.5.0.css diff --git a/public/talks/troopers2019/test/qunit-2.5.0.js b/conf/troopers2019/test/qunit-2.5.0.js similarity index 100% rename from public/talks/troopers2019/test/qunit-2.5.0.js rename to conf/troopers2019/test/qunit-2.5.0.js diff --git a/public/talks/troopers2019/test/simple.md b/conf/troopers2019/test/simple.md similarity index 100% rename from public/talks/troopers2019/test/simple.md rename to conf/troopers2019/test/simple.md diff --git a/public/talks/troopers2019/test/test-markdown-element-attributes.html b/conf/troopers2019/test/test-markdown-element-attributes.html similarity index 100% rename from public/talks/troopers2019/test/test-markdown-element-attributes.html rename to conf/troopers2019/test/test-markdown-element-attributes.html diff --git a/public/talks/troopers2019/test/test-markdown-element-attributes.js b/conf/troopers2019/test/test-markdown-element-attributes.js similarity index 100% rename from public/talks/troopers2019/test/test-markdown-element-attributes.js rename to conf/troopers2019/test/test-markdown-element-attributes.js diff --git a/public/talks/troopers2019/test/test-markdown-external.html b/conf/troopers2019/test/test-markdown-external.html similarity index 100% rename from public/talks/troopers2019/test/test-markdown-external.html rename to conf/troopers2019/test/test-markdown-external.html diff --git a/public/talks/troopers2019/test/test-markdown-external.js b/conf/troopers2019/test/test-markdown-external.js similarity index 100% rename from public/talks/troopers2019/test/test-markdown-external.js rename to conf/troopers2019/test/test-markdown-external.js diff --git a/public/talks/troopers2019/test/test-markdown-options.html b/conf/troopers2019/test/test-markdown-options.html similarity index 100% rename from public/talks/troopers2019/test/test-markdown-options.html rename to conf/troopers2019/test/test-markdown-options.html diff --git a/public/talks/troopers2019/test/test-markdown-options.js b/conf/troopers2019/test/test-markdown-options.js similarity index 100% rename from public/talks/troopers2019/test/test-markdown-options.js rename to conf/troopers2019/test/test-markdown-options.js diff --git a/public/talks/troopers2019/test/test-markdown-slide-attributes.html b/conf/troopers2019/test/test-markdown-slide-attributes.html similarity index 100% rename from public/talks/troopers2019/test/test-markdown-slide-attributes.html rename to conf/troopers2019/test/test-markdown-slide-attributes.html diff --git a/public/talks/troopers2019/test/test-markdown-slide-attributes.js b/conf/troopers2019/test/test-markdown-slide-attributes.js similarity index 100% rename from public/talks/troopers2019/test/test-markdown-slide-attributes.js rename to conf/troopers2019/test/test-markdown-slide-attributes.js diff --git a/public/talks/troopers2019/test/test-markdown.html b/conf/troopers2019/test/test-markdown.html similarity index 100% rename from public/talks/troopers2019/test/test-markdown.html rename to conf/troopers2019/test/test-markdown.html diff --git a/public/talks/troopers2019/test/test-markdown.js b/conf/troopers2019/test/test-markdown.js similarity index 100% rename from public/talks/troopers2019/test/test-markdown.js rename to conf/troopers2019/test/test-markdown.js diff --git a/public/talks/troopers2019/test/test-pdf.html b/conf/troopers2019/test/test-pdf.html similarity index 100% rename from public/talks/troopers2019/test/test-pdf.html rename to conf/troopers2019/test/test-pdf.html diff --git a/public/talks/troopers2019/test/test-pdf.js b/conf/troopers2019/test/test-pdf.js similarity index 100% rename from public/talks/troopers2019/test/test-pdf.js rename to conf/troopers2019/test/test-pdf.js diff --git a/public/talks/troopers2019/test/test.html b/conf/troopers2019/test/test.html similarity index 100% rename from public/talks/troopers2019/test/test.html rename to conf/troopers2019/test/test.html diff --git a/public/talks/troopers2019/test/test.js b/conf/troopers2019/test/test.js similarity index 100% rename from public/talks/troopers2019/test/test.js rename to conf/troopers2019/test/test.js diff --git a/public/talks/troopers2022/images/2022-06-26-092316_1899x1067_scrot.png b/conf/troopers2022/images/2022-06-26-092316_1899x1067_scrot.png similarity index 100% rename from public/talks/troopers2022/images/2022-06-26-092316_1899x1067_scrot.png rename to conf/troopers2022/images/2022-06-26-092316_1899x1067_scrot.png diff --git a/public/talks/troopers2022/images/2022-06-26-093347_1525x848_scrot.png b/conf/troopers2022/images/2022-06-26-093347_1525x848_scrot.png similarity index 100% rename from public/talks/troopers2022/images/2022-06-26-093347_1525x848_scrot.png rename to conf/troopers2022/images/2022-06-26-093347_1525x848_scrot.png diff --git a/public/talks/troopers2022/images/CAN-bus-frame-with-stuff-bit-and-correct-CRC.png b/conf/troopers2022/images/CAN-bus-frame-with-stuff-bit-and-correct-CRC.png similarity index 100% rename from public/talks/troopers2022/images/CAN-bus-frame-with-stuff-bit-and-correct-CRC.png rename to conf/troopers2022/images/CAN-bus-frame-with-stuff-bit-and-correct-CRC.png diff --git a/public/talks/troopers2022/images/Conditions for diagnostic session state 0x82.png b/conf/troopers2022/images/Conditions for diagnostic session state 0x82.png similarity index 100% rename from public/talks/troopers2022/images/Conditions for diagnostic session state 0x82.png rename to conf/troopers2022/images/Conditions for diagnostic session state 0x82.png diff --git a/public/talks/troopers2022/images/EXIST-Logos.png b/conf/troopers2022/images/EXIST-Logos.png similarity index 100% rename from public/talks/troopers2022/images/EXIST-Logos.png rename to conf/troopers2022/images/EXIST-Logos.png diff --git a/public/talks/troopers2022/images/RDBI extended diagnostic state.png b/conf/troopers2022/images/RDBI extended diagnostic state.png similarity index 100% rename from public/talks/troopers2022/images/RDBI extended diagnostic state.png rename to conf/troopers2022/images/RDBI extended diagnostic state.png diff --git a/public/talks/troopers2022/images/Screenshot of the DSC conditions function for the presentation.png b/conf/troopers2022/images/Screenshot of the DSC conditions function for the presentation.png similarity index 100% rename from public/talks/troopers2022/images/Screenshot of the DSC conditions function for the presentation.png rename to conf/troopers2022/images/Screenshot of the DSC conditions function for the presentation.png diff --git a/public/talks/troopers2022/images/big_graph.png b/conf/troopers2022/images/big_graph.png similarity index 100% rename from public/talks/troopers2022/images/big_graph.png rename to conf/troopers2022/images/big_graph.png diff --git a/public/talks/troopers2022/images/commits_per_year.png b/conf/troopers2022/images/commits_per_year.png similarity index 100% rename from public/talks/troopers2022/images/commits_per_year.png rename to conf/troopers2022/images/commits_per_year.png diff --git a/public/talks/troopers2022/images/cooked-spaghetti-noodles.jpg b/conf/troopers2022/images/cooked-spaghetti-noodles.jpg similarity index 100% rename from public/talks/troopers2022/images/cooked-spaghetti-noodles.jpg rename to conf/troopers2022/images/cooked-spaghetti-noodles.jpg diff --git a/public/talks/troopers2022/images/diag_stack.svg b/conf/troopers2022/images/diag_stack.svg similarity index 100% rename from public/talks/troopers2022/images/diag_stack.svg rename to conf/troopers2022/images/diag_stack.svg diff --git a/public/talks/troopers2022/images/dissecto.png b/conf/troopers2022/images/dissecto.png similarity index 100% rename from public/talks/troopers2022/images/dissecto.png rename to conf/troopers2022/images/dissecto.png diff --git a/public/talks/troopers2022/images/graph1.png b/conf/troopers2022/images/graph1.png similarity index 100% rename from public/talks/troopers2022/images/graph1.png rename to conf/troopers2022/images/graph1.png diff --git a/public/talks/troopers2022/images/graph2.png b/conf/troopers2022/images/graph2.png similarity index 100% rename from public/talks/troopers2022/images/graph2.png rename to conf/troopers2022/images/graph2.png diff --git a/public/talks/troopers2022/images/graph3.png b/conf/troopers2022/images/graph3.png similarity index 100% rename from public/talks/troopers2022/images/graph3.png rename to conf/troopers2022/images/graph3.png diff --git a/public/talks/troopers2022/images/hsfz_ws.png b/conf/troopers2022/images/hsfz_ws.png similarity index 100% rename from public/talks/troopers2022/images/hsfz_ws.png rename to conf/troopers2022/images/hsfz_ws.png diff --git a/public/talks/troopers2022/images/img3.png b/conf/troopers2022/images/img3.png similarity index 100% rename from public/talks/troopers2022/images/img3.png rename to conf/troopers2022/images/img3.png diff --git a/public/talks/troopers2022/images/isotp-candump-1.png b/conf/troopers2022/images/isotp-candump-1.png similarity index 100% rename from public/talks/troopers2022/images/isotp-candump-1.png rename to conf/troopers2022/images/isotp-candump-1.png diff --git a/public/talks/troopers2022/images/isotp-candump-2.png b/conf/troopers2022/images/isotp-candump-2.png similarity index 100% rename from public/talks/troopers2022/images/isotp-candump-2.png rename to conf/troopers2022/images/isotp-candump-2.png diff --git a/public/talks/troopers2022/images/isotp-frame-types.png b/conf/troopers2022/images/isotp-frame-types.png similarity index 100% rename from public/talks/troopers2022/images/isotp-frame-types.png rename to conf/troopers2022/images/isotp-frame-types.png diff --git a/public/talks/troopers2022/images/isotpcomm.svg b/conf/troopers2022/images/isotpcomm.svg similarity index 100% rename from public/talks/troopers2022/images/isotpcomm.svg rename to conf/troopers2022/images/isotpcomm.svg diff --git a/public/talks/troopers2022/images/obd_results.png b/conf/troopers2022/images/obd_results.png similarity index 100% rename from public/talks/troopers2022/images/obd_results.png rename to conf/troopers2022/images/obd_results.png diff --git a/public/talks/troopers2022/images/req_resp.svg b/conf/troopers2022/images/req_resp.svg similarity index 100% rename from public/talks/troopers2022/images/req_resp.svg rename to conf/troopers2022/images/req_resp.svg diff --git a/public/talks/troopers2022/images/scan_result_timing.png b/conf/troopers2022/images/scan_result_timing.png similarity index 100% rename from public/talks/troopers2022/images/scan_result_timing.png rename to conf/troopers2022/images/scan_result_timing.png diff --git a/public/talks/troopers2022/images/scan_results1.png b/conf/troopers2022/images/scan_results1.png similarity index 100% rename from public/talks/troopers2022/images/scan_results1.png rename to conf/troopers2022/images/scan_results1.png diff --git a/public/talks/troopers2022/images/scan_results2.png b/conf/troopers2022/images/scan_results2.png similarity index 100% rename from public/talks/troopers2022/images/scan_results2.png rename to conf/troopers2022/images/scan_results2.png diff --git a/public/talks/troopers2022/images/scapy_logo.png b/conf/troopers2022/images/scapy_logo.png similarity index 100% rename from public/talks/troopers2022/images/scapy_logo.png rename to conf/troopers2022/images/scapy_logo.png diff --git a/public/talks/troopers2022/images/small_graph.png b/conf/troopers2022/images/small_graph.png similarity index 100% rename from public/talks/troopers2022/images/small_graph.png rename to conf/troopers2022/images/small_graph.png diff --git a/public/talks/troopers2022/images/uds_req.pdf b/conf/troopers2022/images/uds_req.pdf similarity index 100% rename from public/talks/troopers2022/images/uds_req.pdf rename to conf/troopers2022/images/uds_req.pdf diff --git a/public/talks/troopers2022/images/uds_req.png b/conf/troopers2022/images/uds_req.png similarity index 100% rename from public/talks/troopers2022/images/uds_req.png rename to conf/troopers2022/images/uds_req.png diff --git a/public/talks/troopers2022/images/uds_req.svg b/conf/troopers2022/images/uds_req.svg similarity index 100% rename from public/talks/troopers2022/images/uds_req.svg rename to conf/troopers2022/images/uds_req.svg diff --git a/public/talks/troopers2022/images/uds_resp.pdf b/conf/troopers2022/images/uds_resp.pdf similarity index 100% rename from public/talks/troopers2022/images/uds_resp.pdf rename to conf/troopers2022/images/uds_resp.pdf diff --git a/public/talks/troopers2022/images/uds_resp.png b/conf/troopers2022/images/uds_resp.png similarity index 100% rename from public/talks/troopers2022/images/uds_resp.png rename to conf/troopers2022/images/uds_resp.png diff --git a/public/talks/troopers2022/images/uds_resp.svg b/conf/troopers2022/images/uds_resp.svg similarity index 100% rename from public/talks/troopers2022/images/uds_resp.svg rename to conf/troopers2022/images/uds_resp.svg diff --git a/public/talks/troopers2022/images/udscomm1.png b/conf/troopers2022/images/udscomm1.png similarity index 100% rename from public/talks/troopers2022/images/udscomm1.png rename to conf/troopers2022/images/udscomm1.png diff --git a/public/talks/troopers2022/images/udscomm1.svg b/conf/troopers2022/images/udscomm1.svg similarity index 100% rename from public/talks/troopers2022/images/udscomm1.svg rename to conf/troopers2022/images/udscomm1.svg diff --git a/public/talks/troopers2022/images/update-process.png b/conf/troopers2022/images/update-process.png similarity index 100% rename from public/talks/troopers2022/images/update-process.png rename to conf/troopers2022/images/update-process.png diff --git a/public/talks/troopers2022/main.slides.html b/conf/troopers2022/main.slides.html similarity index 99% rename from public/talks/troopers2022/main.slides.html rename to conf/troopers2022/main.slides.html index aea4ee5..51b8019 100644 --- a/public/talks/troopers2022/main.slides.html +++ b/conf/troopers2022/main.slides.html @@ -14719,7 +14719,7 @@

Acknowledgements +
+ + + +
+ + +## Python versions support + +|Scapy version|Python 2.2-2.6|Python 2.7|Python 3.4-3.6|Python 3.7|Python 3.8|Python 3.9|Python 3.10-3.11| +|:----|:----|:----|:----|:----|:----|:----|:----| +|2.3.3|✅|✅|❌|❌|❌|❌|❌| +|2.4.0|❌|✅|✅|❌|❌|❌|❌| +|2.4.2|❌|✅|✅|✅|❌|❌|❌| +|2.4.3-2.4.4|❌|✅|✅|✅|✅|❌|❌| +|2.4.5|❌|✅|✅|✅|✅|✅|❌| +|2.5.0|❌|✅|✅|✅|✅|✅|✅| + +## Alternative methods + +
+
+
+ +
+
+ +
+ +
+
diff --git a/public/favicon.ico b/favicon.ico similarity index 100% rename from public/favicon.ico rename to favicon.ico diff --git a/public/files/UTscapy/UTscapy.css b/files/UTscapy/UTscapy.css similarity index 100% rename from public/files/UTscapy/UTscapy.css rename to files/UTscapy/UTscapy.css diff --git a/public/files/UTscapy/UTscapy.js b/files/UTscapy/UTscapy.js similarity index 100% rename from public/files/UTscapy/UTscapy.js rename to files/UTscapy/UTscapy.js diff --git a/public/files/doc/README.md b/files/doc/README.md similarity index 100% rename from public/files/doc/README.md rename to files/doc/README.md diff --git a/public/files/doc/animation-scapy-install.svg b/files/doc/animation-scapy-install.svg similarity index 100% rename from public/files/doc/animation-scapy-install.svg rename to files/doc/animation-scapy-install.svg diff --git a/public/files/index.html b/files/index.html similarity index 100% rename from public/files/index.html rename to files/index.html diff --git a/public/files/scapy-olsr.py b/files/scapy-olsr.py similarity index 100% rename from public/files/scapy-olsr.py rename to files/scapy-olsr.py diff --git a/public/files/scapydoc.pdf/index.html b/files/scapydoc.pdf/index.html similarity index 100% rename from public/files/scapydoc.pdf/index.html rename to files/scapydoc.pdf/index.html diff --git a/public/html.old/build_your_own_tools.html b/html.old/build_your_own_tools.html similarity index 100% rename from public/html.old/build_your_own_tools.html rename to html.old/build_your_own_tools.html diff --git a/public/html.old/demo.html b/html.old/demo.html similarity index 100% rename from public/html.old/demo.html rename to html.old/demo.html diff --git a/public/html.old/index.html b/html.old/index.html similarity index 100% rename from public/html.old/index.html rename to html.old/index.html diff --git a/index.html b/index.html deleted file mode 100644 index 2d8f2dd..0000000 --- a/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - Scapy - - - -
- - - - diff --git a/index.md b/index.md new file mode 100644 index 0000000..772c226 --- /dev/null +++ b/index.md @@ -0,0 +1,132 @@ +--- +title: Scapy +subtitle: Packet crafting for Python2 and Python3 +--- + +{% raw %} + +{% endraw %} + +Scapy Project +============= + +### What is Scapy? + +Scapy is a powerful interactive packet manipulation program. It is able to +forge or decode packets of a wide number of protocols, send them on the wire, +capture them, match requests and replies, and much more. It can easily handle +most classical tasks like scanning, tracerouting, probing, unit tests, attacks +or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, +arping, tcpdump, tshark, p0f, etc.). It also performs very well at a lot of +other specific tasks that most other tools can't handle, like sending invalid +frames, injecting your own 802.11 frames, combining technics (VLAN hopping+ARP +cache poisoning, VOIP decoding on WEP encrypted channel, ...), etc. + +Scapy runs natively on Linux, Windows, OSX and on most Unixes with libpcap (see [scapy's installation page](http://scapy.readthedocs.io/en/latest/installation.html)). +The same code base now runs natively on both Python 2 and Python 3. + +{% raw %} +
+ + Download Scapy + + + Get started with Scapy + +
+{% endraw %} + +### Shell demo + +```python +$ sudo ./run_scapy -H +Welcome to Scapy (2.4.4.dev221) +>>> p = IP(dst="github.com")/ICMP() +>>> p +> +>>> r = sr1(p) +Begin emission: +Finished sending 1 packets. +.* +Received 2 packets, got 1 answers, remaining 0 packets +>>> r +> +``` + + +## Help, documentation + + +#### Documents + +* [**Official Online HTML documentation**](http://scapy.readthedocs.io/) +* [Scapy's installation page](http://scapy.readthedocs.io/en/latest/installation.html) +* [ThePacketGeek's Building Network Tools with Scapy tutorial](https://thepacketgeek.com/series/building-network-tools-with-scapy/) +* [Security Power Tools](http://www.oreilly.com/catalog/9780596009632/) where Philippe Biondi wrote a complete chapter about Scapy. + +#### Development + +Scapy development uses [Git](https://git-scm.com/) version control system. Scapy reference repository is hosted on [GitHub secdev/scapy](https://github.com/secdev/scapy/). + +It provides the ticket management service used for submitting patches or bugs. + +* [Submit patches](https://github.com/secdev/scapy/pulls/new) +* [Report bugs/wishes here](https://github.com/secdev/scapy/issues/new) +* [Active tickets here](https://github.com/secdev/scapy/issues) +* Head over to [Scapy's GitHub Projects](https://github.com/secdev/scapy/projects) to see what is being worked on. + +#### Slides + +* [Automotive Network Scans with Scapy - Troopers 2022 slides](/conf/troopers2022/main.slides.html) +* [Automotive Penetration Testing with Scapy - Troopers 2019 slides](/conf/troopers2019/index.html) +* [Scapy's PacSec/core05 slides](/conf/scapy_pacsec05.pdf) ([printable version](/conf/scapy_pacsec05.handout.pdf)) +* [Scapy's Hack.lu 2005 slides](/conf/scapy_hack.lu.pdf) +* [Scapy's Summerschool Applied IT Security 2005 slides](/conf/scapy_Aachen.pdf) +* [Scapy's T2'2005 slides](/conf/scapy_T2.pdf) +* [Scapy's CanSecWest/core05 slides](/conf/scapy_csw05.pdf) +* [Scapy's LSM 2003 slides](/conf/scapy_lsm2003.pdf) + +#### Other documents about Scapy : + +* [(french) @p-l- blog posts on scapy](http://pierre.droids-corp.org/blog/html/tags/scapy.html) +* You will also find an article in the French [Linux Magazine #52](https://boutique.ed-diamond.com/numeros-deja-parus/354-misc52.html) + +#### Mailing-list (very low activity) + +Send questions, bug reports, suggestions, ideas, cool usages of Scapy, etc. To avoid spam, you must subscribe to the mailing list to post. + +* To subscribe to the mailing-list, send a mail to scapy.ml-subscribe(at)secdev.org +* To send a mail to the mailing-list: scapy.ml(at)secdev.org + +#### Known bugs + +* May miss packets under heavy load +* BPF filters do not work on PPP interfaces + +### Related projects + +* [UTscapy](http://www.secdev.org/projects/UTscapy/): Unit Testing with scapy (shipped with Scapy 2.X+) +* [Scapytain](http://www.secdev.org/projects/scapytain/): a web application to store, organize and run test campaigns on top of Scapy (low project activity) + +--- + +If you like Scapy, you can [sponsor us on Github](https://github.com/secdev/scapy#sponsor-button-repo) diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 0e8cc9c..0000000 --- a/package-lock.json +++ /dev/null @@ -1,3647 +0,0 @@ -{ - "name": "scapy-website", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "scapy-website", - "version": "1.0.0", - "hasInstallScript": true, - "dependencies": { - "@mdi/js": "^7.3.67", - "core-js": "^3.33.1", - "pyodide": "^0.23.4", - "roboto-fontface": "*", - "vue": "^3.3.6", - "vue-router": "^4.2.5", - "vuetify": "^3.8.11", - "webfontloader": "^1.6.28", - "xterm": "^5.3.0", - "xterm-addon-fit": "^0.8.0" - }, - "devDependencies": { - "@types/node": "^20.8.7", - "@types/webfontloader": "^1.6.36", - "@vitejs/plugin-vue": "^6.0.0", - "@vue/eslint-config-typescript": "^12.0.0", - "eslint": "^8.52.0", - "eslint-plugin-vue": "^9.17.0", - "sass": "^1.69.4", - "typescript": "^5.2.2", - "vite": "^7.0.0", - "vite-plugin-vuetify": "^2.1.1", - "vue-tsc": "^2.1.6" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.7.tgz", - "integrity": "sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==", - "dependencies": { - "@babel/types": "^7.27.7" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.27.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.7.tgz", - "integrity": "sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz", - "integrity": "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.5.tgz", - "integrity": "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz", - "integrity": "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.5.tgz", - "integrity": "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz", - "integrity": "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz", - "integrity": "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz", - "integrity": "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz", - "integrity": "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz", - "integrity": "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz", - "integrity": "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz", - "integrity": "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz", - "integrity": "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz", - "integrity": "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==", - "cpu": [ - "mips64el" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz", - "integrity": "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz", - "integrity": "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz", - "integrity": "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz", - "integrity": "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz", - "integrity": "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz", - "integrity": "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz", - "integrity": "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz", - "integrity": "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz", - "integrity": "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz", - "integrity": "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz", - "integrity": "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz", - "integrity": "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", - "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.52.0.tgz", - "integrity": "sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "optional": true, - "peer": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "optional": true, - "peer": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.3.tgz", - "integrity": "sha512-AiR5uKpFxP3PjO4R19kQGIMwxyRyPuXmKEEy301V1C0+1rVjS94EZQXf1QKZYN8Q0YM+estSPhmx5JwNftv6nw==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", - "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@mdi/js": { - "version": "7.3.67", - "resolved": "https://registry.npmjs.org/@mdi/js/-/js-7.3.67.tgz", - "integrity": "sha512-MnRjknFqpTC6FifhGHjZ0+QYq2bAkZFQqIj8JA2AdPZbBxUvr8QSgB2yPAJ8/ob/XkR41xlg5majDR3c1JP1hw==" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.19", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.19.tgz", - "integrity": "sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==", - "dev": true - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.1.tgz", - "integrity": "sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.1.tgz", - "integrity": "sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.1.tgz", - "integrity": "sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.1.tgz", - "integrity": "sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.1.tgz", - "integrity": "sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.1.tgz", - "integrity": "sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.1.tgz", - "integrity": "sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.1.tgz", - "integrity": "sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.1.tgz", - "integrity": "sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.1.tgz", - "integrity": "sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.1.tgz", - "integrity": "sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==", - "cpu": [ - "loong64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.1.tgz", - "integrity": "sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.1.tgz", - "integrity": "sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.1.tgz", - "integrity": "sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==", - "cpu": [ - "riscv64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.1.tgz", - "integrity": "sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.1.tgz", - "integrity": "sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.1.tgz", - "integrity": "sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.1.tgz", - "integrity": "sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.1.tgz", - "integrity": "sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.1.tgz", - "integrity": "sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "devOptional": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.14", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", - "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.19.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.2.tgz", - "integrity": "sha512-9pLGGwdzOUBDYi0GNjM97FIA+f92fqSke6joWeBjWXllfNxZBs7qeMF7tvtOIsbY45xkWkxrdwUfUf3MnQa9gA==", - "devOptional": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", - "dev": true - }, - "node_modules/@types/webfontloader": { - "version": "1.6.36", - "resolved": "https://registry.npmjs.org/@types/webfontloader/-/webfontloader-1.6.36.tgz", - "integrity": "sha512-zi18nVXGF9m7GFqWCJHZvu1Hxzcsr7B+FFExY9cbuOzq60sqOiaDW1X1BUoDUwQaXxWaiDYXOgFHnlsnSvPasw==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.8.0.tgz", - "integrity": "sha512-GosF4238Tkes2SHPQ1i8f6rMtG6zlKwMEB0abqSJ3Npvos+doIlc/ATG+vX1G9coDF3Ex78zM3heXHLyWEwLUw==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/type-utils": "6.8.0", - "@typescript-eslint/utils": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.8.0.tgz", - "integrity": "sha512-5tNs6Bw0j6BdWuP8Fx+VH4G9fEPDxnVI7yH1IAPkQH5RUtvKwRoqdecAPdQXv4rSOADAaz1LFBZvZG7VbXivSg==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.8.0.tgz", - "integrity": "sha512-xe0HNBVwCph7rak+ZHcFD6A+q50SMsFwcmfdjs9Kz4qDh5hWhaPhFjRs/SODEhroBI5Ruyvyz9LfwUJ624O40g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.8.0.tgz", - "integrity": "sha512-RYOJdlkTJIXW7GSldUIHqc/Hkto8E+fZN96dMIFhuTJcQwdRoGN2rEWA8U6oXbLo0qufH7NPElUb+MceHtz54g==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.8.0", - "@typescript-eslint/utils": "6.8.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.8.0.tgz", - "integrity": "sha512-p5qOxSum7W3k+llc7owEStXlGmSl8FcGvhYt8Vjy7FqEnmkCVlM3P57XQEGj58oqaBWDQXbJDZxwUWMS/EAPNQ==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.8.0.tgz", - "integrity": "sha512-ISgV0lQ8XgW+mvv5My/+iTUdRmGspducmQcDw5JxznasXNnZn3SKNrTRuMsEXv+V/O+Lw9AGcQCfVaOPCAk/Zg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/visitor-keys": "6.8.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.8.0.tgz", - "integrity": "sha512-dKs1itdE2qFG4jr0dlYLQVppqTE+Itt7GmIf/vX6CSvsW+3ov8PbWauVKyyfNngokhIO9sKZeRGCUo1+N7U98Q==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.8.0", - "@typescript-eslint/types": "6.8.0", - "@typescript-eslint/typescript-estree": "6.8.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.8.0.tgz", - "integrity": "sha512-oqAnbA7c+pgOhW2OhGvxm0t1BULX5peQI/rLsNDpGM78EebV3C9IGbX5HNZabuZ6UQrYveCLjKo8Iy/lLlBkkg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.8.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@vitejs/plugin-vue": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.0.tgz", - "integrity": "sha512-iAliE72WsdhjzTOp2DtvKThq1VBC4REhwRcaA+zPAAph6I+OQhUXv+Xu2KS7ElxYtb7Zc/3R30Hwv1DxEo7NXQ==", - "dev": true, - "dependencies": { - "@rolldown/pluginutils": "1.0.0-beta.19" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@volar/language-core": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.5.tgz", - "integrity": "sha512-F4tA0DCO5Q1F5mScHmca0umsi2ufKULAnMOVBfMsZdT4myhVl4WdKRwCaKcfOkIEuyrAVvtq1ESBdZ+rSyLVww==", - "dev": true, - "dependencies": { - "@volar/source-map": "2.4.5" - } - }, - "node_modules/@volar/source-map": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.5.tgz", - "integrity": "sha512-varwD7RaKE2J/Z+Zu6j3mNNJbNT394qIxXwdvz/4ao/vxOfyClZpSDtLKkwWmecinkOVos5+PWkWraelfMLfpw==", - "dev": true - }, - "node_modules/@volar/typescript": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.5.tgz", - "integrity": "sha512-mcT1mHvLljAEtHviVcBuOyAwwMKz1ibXTi5uYtP/pf4XxoAzpdkQ+Br2IC0NPCvLCbjPZmbf3I0udndkfB1CDg==", - "dev": true, - "dependencies": { - "@volar/language-core": "2.4.5", - "path-browserify": "^1.0.1", - "vscode-uri": "^3.0.8" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.17.tgz", - "integrity": "sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==", - "dependencies": { - "@babel/parser": "^7.27.5", - "@vue/shared": "3.5.17", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.17.tgz", - "integrity": "sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==", - "dependencies": { - "@vue/compiler-core": "3.5.17", - "@vue/shared": "3.5.17" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.17.tgz", - "integrity": "sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==", - "dependencies": { - "@babel/parser": "^7.27.5", - "@vue/compiler-core": "3.5.17", - "@vue/compiler-dom": "3.5.17", - "@vue/compiler-ssr": "3.5.17", - "@vue/shared": "3.5.17", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.17", - "postcss": "^8.5.6", - "source-map-js": "^1.2.1" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.17.tgz", - "integrity": "sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==", - "dependencies": { - "@vue/compiler-dom": "3.5.17", - "@vue/shared": "3.5.17" - } - }, - "node_modules/@vue/compiler-vue2": { - "version": "2.7.16", - "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", - "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", - "dev": true, - "dependencies": { - "de-indent": "^1.0.2", - "he": "^1.2.0" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==" - }, - "node_modules/@vue/eslint-config-typescript": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-12.0.0.tgz", - "integrity": "sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "^6.7.0", - "@typescript-eslint/parser": "^6.7.0", - "vue-eslint-parser": "^9.3.1" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0", - "eslint-plugin-vue": "^9.0.0", - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vue/language-core": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.6.tgz", - "integrity": "sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==", - "dev": true, - "dependencies": { - "@volar/language-core": "~2.4.1", - "@vue/compiler-dom": "^3.4.0", - "@vue/compiler-vue2": "^2.7.16", - "@vue/shared": "^3.4.0", - "computeds": "^0.0.1", - "minimatch": "^9.0.3", - "muggle-string": "^0.4.1", - "path-browserify": "^1.0.1" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@vue/language-core/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@vue/language-core/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vue/reactivity": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.17.tgz", - "integrity": "sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==", - "dependencies": { - "@vue/shared": "3.5.17" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.17.tgz", - "integrity": "sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==", - "dependencies": { - "@vue/reactivity": "3.5.17", - "@vue/shared": "3.5.17" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.17.tgz", - "integrity": "sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==", - "dependencies": { - "@vue/reactivity": "3.5.17", - "@vue/runtime-core": "3.5.17", - "@vue/shared": "3.5.17", - "csstype": "^3.1.3" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.17.tgz", - "integrity": "sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==", - "dependencies": { - "@vue/compiler-ssr": "3.5.17", - "@vue/shared": "3.5.17" - }, - "peerDependencies": { - "vue": "3.5.17" - } - }, - "node_modules/@vue/shared": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.17.tgz", - "integrity": "sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==" - }, - "node_modules/@vuetify/loader-shared": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@vuetify/loader-shared/-/loader-shared-2.1.0.tgz", - "integrity": "sha512-dNE6Ceym9ijFsmJKB7YGW0cxs7xbYV8+1LjU6jd4P14xOt/ji4Igtgzt0rJFbxu+ZhAzqz853lhB0z8V9Dy9cQ==", - "devOptional": true, - "dependencies": { - "upath": "^2.0.1" - }, - "peerDependencies": { - "vue": "^3.0.0", - "vuetify": "^3.0.0" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "devOptional": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base-64": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "devOptional": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "optional": true, - "peer": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "devOptional": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true, - "peer": true - }, - "node_modules/computeds": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", - "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/core-js": { - "version": "3.33.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.1.tgz", - "integrity": "sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" - }, - "node_modules/de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", - "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "devOptional": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/esbuild": { - "version": "0.25.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.5.tgz", - "integrity": "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==", - "devOptional": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.5", - "@esbuild/android-arm": "0.25.5", - "@esbuild/android-arm64": "0.25.5", - "@esbuild/android-x64": "0.25.5", - "@esbuild/darwin-arm64": "0.25.5", - "@esbuild/darwin-x64": "0.25.5", - "@esbuild/freebsd-arm64": "0.25.5", - "@esbuild/freebsd-x64": "0.25.5", - "@esbuild/linux-arm": "0.25.5", - "@esbuild/linux-arm64": "0.25.5", - "@esbuild/linux-ia32": "0.25.5", - "@esbuild/linux-loong64": "0.25.5", - "@esbuild/linux-mips64el": "0.25.5", - "@esbuild/linux-ppc64": "0.25.5", - "@esbuild/linux-riscv64": "0.25.5", - "@esbuild/linux-s390x": "0.25.5", - "@esbuild/linux-x64": "0.25.5", - "@esbuild/netbsd-arm64": "0.25.5", - "@esbuild/netbsd-x64": "0.25.5", - "@esbuild/openbsd-arm64": "0.25.5", - "@esbuild/openbsd-x64": "0.25.5", - "@esbuild/sunos-x64": "0.25.5", - "@esbuild/win32-arm64": "0.25.5", - "@esbuild/win32-ia32": "0.25.5", - "@esbuild/win32-x64": "0.25.5" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.52.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.52.0.tgz", - "integrity": "sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.52.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-plugin-vue": { - "version": "9.17.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.17.0.tgz", - "integrity": "sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.1.1", - "postcss-selector-parser": "^6.0.13", - "semver": "^7.5.4", - "vue-eslint-parser": "^9.3.1", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "devOptional": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", - "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", - "devOptional": true - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "devOptional": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "devOptional": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "devOptional": true - }, - "node_modules/muggle-string": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", - "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "optional": true - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "devOptional": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pyodide": { - "version": "0.23.4", - "resolved": "https://registry.npmjs.org/pyodide/-/pyodide-0.23.4.tgz", - "integrity": "sha512-WpQUHaIXQ1xede5BMqPAjBcmopxN22s5hEsYOR8T7/UW/fkNLFUn07SaemUgthbtvedD5JGymMMj4VpD9sGMTg==", - "dependencies": { - "base-64": "^1.0.0", - "node-fetch": "^2.6.1", - "ws": "^8.5.0" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "devOptional": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/roboto-fontface": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/roboto-fontface/-/roboto-fontface-0.10.0.tgz", - "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g==" - }, - "node_modules/rollup": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.1.tgz", - "integrity": "sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==", - "devOptional": true, - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.44.1", - "@rollup/rollup-android-arm64": "4.44.1", - "@rollup/rollup-darwin-arm64": "4.44.1", - "@rollup/rollup-darwin-x64": "4.44.1", - "@rollup/rollup-freebsd-arm64": "4.44.1", - "@rollup/rollup-freebsd-x64": "4.44.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.44.1", - "@rollup/rollup-linux-arm-musleabihf": "4.44.1", - "@rollup/rollup-linux-arm64-gnu": "4.44.1", - "@rollup/rollup-linux-arm64-musl": "4.44.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.44.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-gnu": "4.44.1", - "@rollup/rollup-linux-riscv64-musl": "4.44.1", - "@rollup/rollup-linux-s390x-gnu": "4.44.1", - "@rollup/rollup-linux-x64-gnu": "4.44.1", - "@rollup/rollup-linux-x64-musl": "4.44.1", - "@rollup/rollup-win32-arm64-msvc": "4.44.1", - "@rollup/rollup-win32-ia32-msvc": "4.44.1", - "@rollup/rollup-win32-x64-msvc": "4.44.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/sass": { - "version": "1.89.2", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.89.2.tgz", - "integrity": "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==", - "devOptional": true, - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.22.0.tgz", - "integrity": "sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", - "devOptional": true, - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "devOptional": true, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "devOptional": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/ts-api-utils": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", - "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", - "dev": true, - "engines": { - "node": ">=16.13.0" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", - "devOptional": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "devOptional": true - }, - "node_modules/upath": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", - "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", - "devOptional": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/vite": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.0.tgz", - "integrity": "sha512-ixXJB1YRgDIw2OszKQS9WxGHKwLdCsbQNkpJN171udl6szi/rIySHL6/Os3s2+oE4P/FLD4dxg4mD7Wust+u5g==", - "devOptional": true, - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.6", - "picomatch": "^4.0.2", - "postcss": "^8.5.6", - "rollup": "^4.40.0", - "tinyglobby": "^0.2.14" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-plugin-vuetify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/vite-plugin-vuetify/-/vite-plugin-vuetify-2.1.1.tgz", - "integrity": "sha512-Pb7bKhQH8qPMzURmEGq2aIqCJkruFNsyf1NcrrtnjsOIkqJPMcBbiP0oJoO8/uAmyB5W/1JTbbUEsyXdMM0QHQ==", - "devOptional": true, - "dependencies": { - "@vuetify/loader-shared": "^2.1.0", - "debug": "^4.3.3", - "upath": "^2.0.1" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "vite": ">=5", - "vue": "^3.0.0", - "vuetify": "^3.0.0" - } - }, - "node_modules/vite/node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", - "devOptional": true, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "devOptional": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/vscode-uri": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", - "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", - "dev": true - }, - "node_modules/vue": { - "version": "3.5.17", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.17.tgz", - "integrity": "sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==", - "dependencies": { - "@vue/compiler-dom": "3.5.17", - "@vue/compiler-sfc": "3.5.17", - "@vue/runtime-dom": "3.5.17", - "@vue/server-renderer": "3.5.17", - "@vue/shared": "3.5.17" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/vue-router": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", - "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", - "dependencies": { - "@vue/devtools-api": "^6.5.0" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/vue-tsc": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.1.6.tgz", - "integrity": "sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==", - "dev": true, - "dependencies": { - "@volar/typescript": "~2.4.1", - "@vue/language-core": "2.1.6", - "semver": "^7.5.4" - }, - "bin": { - "vue-tsc": "bin/vue-tsc.js" - }, - "peerDependencies": { - "typescript": ">=5.0.0" - } - }, - "node_modules/vuetify": { - "version": "3.8.11", - "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.8.11.tgz", - "integrity": "sha512-sF5U364CFWq/K3zhC1z90DPHDp1EL6bepKpgzfIfHN6I2BoC1qjbH+hEqozqaGETrIBK7+ShccAzZ8CHL56YZQ==", - "engines": { - "node": "^12.20 || >=14.13" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/johnleider" - }, - "peerDependencies": { - "typescript": ">=4.7", - "vite-plugin-vuetify": ">=2.1.0", - "vue": "^3.5.0", - "webpack-plugin-vuetify": ">=3.1.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - }, - "vite-plugin-vuetify": { - "optional": true - }, - "webpack-plugin-vuetify": { - "optional": true - } - } - }, - "node_modules/webfontloader": { - "version": "1.6.28", - "resolved": "https://registry.npmjs.org/webfontloader/-/webfontloader-1.6.28.tgz", - "integrity": "sha512-Egb0oFEga6f+nSgasH3E0M405Pzn6y3/9tOVanv/DLfa1YBIgcv90L18YyWnvXkRbIM17v5Kv6IT2N6g1x5tvQ==" - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/xterm": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/xterm/-/xterm-5.3.0.tgz", - "integrity": "sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==" - }, - "node_modules/xterm-addon-fit": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/xterm-addon-fit/-/xterm-addon-fit-0.8.0.tgz", - "integrity": "sha512-yj3Np7XlvxxhYF/EJ7p3KHaMt6OdwQ+HDu573Vx1lRXsVxOcnVJs51RgjZOouIZOczTsskaS+CpXspK81/DLqw==", - "peerDependencies": { - "xterm": "^5.0.0" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package.json b/package.json deleted file mode 100644 index 58d4777..0000000 --- a/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "scapy-website", - "version": "1.0.0", - "private": true, - "scripts": { - "dev": "vite", - "build": "vue-tsc --noEmit && vite build", - "preview": "vite preview", - "lint": "eslint . --fix --ignore-path .gitignore", - "postinstall": "pip wheel -w src/assets/ https://github.com/secdev/scapy/archive/refs/heads/master.zip" - }, - "dependencies": { - "@mdi/js": "^7.3.67", - "core-js": "^3.33.1", - "pyodide": "^0.23.4", - "roboto-fontface": "*", - "vue": "^3.3.6", - "vue-router": "^4.2.5", - "vuetify": "^3.8.11", - "webfontloader": "^1.6.28", - "xterm": "^5.3.0", - "xterm-addon-fit": "^0.8.0" - }, - "devDependencies": { - "@types/node": "^20.8.7", - "@types/webfontloader": "^1.6.36", - "@vitejs/plugin-vue": "^6.0.0", - "@vue/eslint-config-typescript": "^12.0.0", - "eslint": "^8.52.0", - "eslint-plugin-vue": "^9.17.0", - "sass": "^1.69.4", - "typescript": "^5.2.2", - "vite": "^7.0.0", - "vite-plugin-vuetify": "^2.1.1", - "vue-tsc": "^2.1.6" - } -} diff --git a/public/ci/npcap-0.96.exe b/public/ci/npcap-0.96.exe deleted file mode 100644 index 14541ed..0000000 Binary files a/public/ci/npcap-0.96.exe and /dev/null differ diff --git a/public/files/README.md b/public/files/README.md deleted file mode 100644 index 056bc61..0000000 --- a/public/files/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# public/files - -This folder contains: - -- `UTscapy`: some files used by UTscapy html render -- `doc`: images used in scapy's README -- `index.html` and `scapydoc.pdf`: redirections to keep legacy URLs working - - http://www.secdev.org/projects/scapy/files/scapydoc.pdf - - http://www.secdev.org/projects/scapy/files diff --git a/public/html.old/README.md b/public/html.old/README.md deleted file mode 100644 index 7acbcd7..0000000 --- a/public/html.old/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# public/html.old - -The old Scapy website as it was on http://www.secdev.org/projects/scapy/ diff --git a/public/robots.txt b/public/robots.txt deleted file mode 100644 index 38ec9d7..0000000 --- a/public/robots.txt +++ /dev/null @@ -1,3 +0,0 @@ -User-agent: * -Disallow: /files/ -Disallow: /html.old/ diff --git a/public/talks/README.md b/public/talks/README.md deleted file mode 100644 index a90072d..0000000 --- a/public/talks/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# public/talks - -A folder used to host conferences related to Scapy diff --git a/public/talks/troopers2019/svg2webm/animations b/public/talks/troopers2019/svg2webm/animations deleted file mode 100644 index b3b3a31..0000000 --- a/public/talks/troopers2019/svg2webm/animations +++ /dev/null @@ -1 +0,0 @@ -../animations/ \ No newline at end of file diff --git a/src/App.vue b/src/App.vue deleted file mode 100644 index 61d0851..0000000 --- a/src/App.vue +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/src/assets/logos/conda.svg b/src/assets/logos/conda.svg deleted file mode 100644 index d402012..0000000 --- a/src/assets/logos/conda.svg +++ /dev/null @@ -1,2 +0,0 @@ - -file_type_conda \ No newline at end of file diff --git a/src/assets/logos/debian.svg b/src/assets/logos/debian.svg deleted file mode 100644 index 58fca1c..0000000 --- a/src/assets/logos/debian.svg +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/logos/github-mark-white.svg b/src/assets/logos/github-mark-white.svg deleted file mode 100644 index d5e6491..0000000 --- a/src/assets/logos/github-mark-white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/assets/logos/linux.svg b/src/assets/logos/linux.svg deleted file mode 100644 index f7b98b2..0000000 --- a/src/assets/logos/linux.svg +++ /dev/null @@ -1,363 +0,0 @@ - - - Tux - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/logos/pypi.svg b/src/assets/logos/pypi.svg deleted file mode 100644 index 1f033e0..0000000 --- a/src/assets/logos/pypi.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/assets/logos/windows.svg b/src/assets/logos/windows.svg deleted file mode 100644 index d0332d4..0000000 --- a/src/assets/logos/windows.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/ScapyS.vue b/src/components/ScapyS.vue deleted file mode 100644 index 65a5c1d..0000000 --- a/src/components/ScapyS.vue +++ /dev/null @@ -1,165 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/SponsorCard.vue b/src/components/SponsorCard.vue deleted file mode 100644 index 7984bc7..0000000 --- a/src/components/SponsorCard.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/components/TerminalFrame.vue b/src/components/TerminalFrame.vue deleted file mode 100644 index be170ff..0000000 --- a/src/components/TerminalFrame.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/XTerm.vue b/src/components/XTerm.vue deleted file mode 100644 index 2ea9caa..0000000 --- a/src/components/XTerm.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/components/XTermScapy.vue b/src/components/XTermScapy.vue deleted file mode 100644 index 5884953..0000000 --- a/src/components/XTermScapy.vue +++ /dev/null @@ -1,410 +0,0 @@ - - - - - - - - - diff --git a/src/layouts/default/AppBar.vue b/src/layouts/default/AppBar.vue deleted file mode 100644 index 1dce0ce..0000000 --- a/src/layouts/default/AppBar.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - diff --git a/src/layouts/default/Default.vue b/src/layouts/default/Default.vue deleted file mode 100644 index 644ed10..0000000 --- a/src/layouts/default/Default.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/layouts/default/View.vue b/src/layouts/default/View.vue deleted file mode 100644 index 8e9e414..0000000 --- a/src/layouts/default/View.vue +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/src/main.ts b/src/main.ts deleted file mode 100644 index f11674d..0000000 --- a/src/main.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * main.ts - * - * Bootstraps Vuetify and other plugins then mounts the App` - */ - -// Components -import App from './App.vue' - -// Composables -import { createApp } from 'vue' - -// Plugins -import { registerPlugins } from '@/plugins' - -const app = createApp(App) - -registerPlugins(app) - -app.mount('#app') diff --git a/src/plugins/index.ts b/src/plugins/index.ts deleted file mode 100644 index a26ebe7..0000000 --- a/src/plugins/index.ts +++ /dev/null @@ -1,20 +0,0 @@ -/** - * plugins/index.ts - * - * Automatically included in `./src/main.ts` - */ - -// Plugins -import { loadFonts } from './webfontloader' -import vuetify from './vuetify' -import router from '../router' - -// Types -import type { App } from 'vue' - -export function registerPlugins (app: App) { - loadFonts() - app - .use(vuetify) - .use(router) -} diff --git a/src/plugins/vuetify.ts b/src/plugins/vuetify.ts deleted file mode 100644 index 04dffca..0000000 --- a/src/plugins/vuetify.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * plugins/vuetify.ts - * - * Framework documentation: https://vuetifyjs.com` - */ - -// Styles -import { aliases, mdi } from 'vuetify/iconsets/mdi-svg' -import 'vuetify/styles' - -// Composables -import { createVuetify } from 'vuetify' - -// https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides -export default createVuetify({ - icons: { - defaultSet: 'mdi', - aliases, - sets: { - mdi, - }, - }, - theme: { - defaultTheme: 'dark', - themes: { - dark: { - colors: { - primary: '#68d665', - secondary: '#BBDEFB', - }, - }, - }, - }, -}) diff --git a/src/plugins/webfontloader.ts b/src/plugins/webfontloader.ts deleted file mode 100644 index 2e9608e..0000000 --- a/src/plugins/webfontloader.ts +++ /dev/null @@ -1,15 +0,0 @@ -/** - * plugins/webfontloader.ts - * - * webfontloader documentation: https://github.com/typekit/webfontloader - */ - -export async function loadFonts () { - const webFontLoader = await import(/* webpackChunkName: "webfontloader" */'webfontloader') - - webFontLoader.load({ - google: { - families: ['Roboto:100,300,400,500,700,900&display=swap'], - }, - }) -} diff --git a/src/router/index.ts b/src/router/index.ts deleted file mode 100644 index 2b7c98e..0000000 --- a/src/router/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -// Composables -import { createRouter, createWebHistory } from 'vue-router' - -const routes = [ - { - path: '/', - component: () => import('@/layouts/default/Default.vue'), - children: [ - { - path: '', - name: 'Home', - // route level code-splitting - // this generates a separate chunk (about.[hash].js) for this route - // which is lazy-loaded when the route is visited. - component: () => import(/* webpackChunkName: "home" */ '@/views/Home.vue'), - }, - ], - }, -] - -const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), - routes, -}) - -export default router diff --git a/src/styles/settings.scss b/src/styles/settings.scss deleted file mode 100644 index ded84f9..0000000 --- a/src/styles/settings.scss +++ /dev/null @@ -1,15 +0,0 @@ -/** - * src/styles/settings.scss - * - * Configures SASS variables and Vuetify overwrites - */ - -// https://next.vuetifyjs.com/features/sass-variables/` -// @use 'vuetify/settings' with ( -// $color-pack: false -// ); - -@use 'vuetify/settings' with ( - // Increase tab-slider-size for accessibility (from 2px) - $tab-slider-size: 3px -) \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue deleted file mode 100644 index 53ad001..0000000 --- a/src/views/Home.vue +++ /dev/null @@ -1,739 +0,0 @@ - - - - - diff --git a/src/views/Try.vue b/src/views/Try.vue deleted file mode 100644 index 1f2de02..0000000 --- a/src/views/Try.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts deleted file mode 100644 index 323c78a..0000000 --- a/src/vite-env.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/// - -declare module '*.vue' { - import type { DefineComponent } from 'vue' - const component: DefineComponent<{}, {}, any> - export default component -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index aa6f0fd..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "baseUrl": ".", - "target": "ESNext", - "useDefineForClassFields": true, - "module": "ESNext", - "moduleResolution": "Node", - "strict": true, - "jsx": "preserve", - "resolveJsonModule": true, - "isolatedModules": true, - "esModuleInterop": true, - "lib": ["ESNext", "DOM"], - "skipLibCheck": true, - "noEmit": true, - "paths": { - "@/*": [ - "src/*" - ] - } - }, - "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], - "references": [{ "path": "./tsconfig.node.json" }], - "exclude": ["node_modules"] -} diff --git a/tsconfig.node.json b/tsconfig.node.json deleted file mode 100644 index 9d31e2a..0000000 --- a/tsconfig.node.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "module": "ESNext", - "moduleResolution": "Node", - "allowSyntheticDefaultImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/vite.config.ts b/vite.config.ts deleted file mode 100644 index e32c4ea..0000000 --- a/vite.config.ts +++ /dev/null @@ -1,55 +0,0 @@ -// Plugins -import vue from '@vitejs/plugin-vue' -import vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' - -// Utilities -import { defineConfig } from 'vite' -import { fileURLToPath, URL } from 'node:url' -import { readdirSync } from 'fs' - -// Most recent Scapy wheel -const scapywhl = "src/assets/" + readdirSync('src/assets').filter(fn => fn.endsWith('.whl'))[0]; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [ - vue({ - template: { transformAssetUrls } - }), - // https://github.com/vuetifyjs/vuetify-loader/tree/next/packages/vite-plugin - vuetify({ - autoImport: true, - styles: { - configFile: 'src/styles/settings.scss', - }, - }), - ], - define: { - 'process.env': { - 'scapywhl': scapywhl, - } - }, - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)), - '~': fileURLToPath(new URL('./node_modules', import.meta.url)) - }, - extensions: [ - '.js', - '.json', - '.jsx', - '.mjs', - '.ts', - '.tsx', - '.vue', - ], - }, - // for scapy pyodide assets - assetsInclude: [scapywhl], - server: { - port: 3000, - watch: { - usePolling: true // support WSL - } - }, -})