diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
deleted file mode 100755
index fbcd8c8f..00000000
--- a/.devcontainer/Dockerfile
+++ /dev/null
@@ -1,33 +0,0 @@
-# Update the arg in docker-compose.yml or devcontainer.json to switch arg versions
-ARG NODE_VERSION=18
-
-# main image
-FROM mcr.microsoft.com/devcontainers/javascript-node:${NODE_VERSION}
-
-# Update the arg in docker-compose.yml or devcontainer.json to switch arg versions
-ARG GO_VERSION=latest
-ARG HUGO_VERSION=latest
-
-# Download necessary tools
-RUN apt-get update && apt-get install -y \
- ca-certificates openssl git curl && \
- rm -rf /var/lib/apt/lists/* && \
- # set architecture
- case $(uname -m) in \
- aarch64) \
- export ARCH=arm64 ;; \
- *) \
- export ARCH=amd64 ;; \
- esac && \
- # install Hugo
- wget -O hugo_extended_${HUGO_VERSION}.tar.gz https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-${ARCH}.tar.gz && \
- tar xf hugo_extended_${HUGO_VERSION}.tar.gz && \
- mv hugo /usr/bin/hugo && \
- rm hugo_extended_${HUGO_VERSION}.tar.gz && \
- # install Go
- wget -O go${GO_VERSION}.linux-${ARCH}.tar.gz https://dl.google.com/go/go${GO_VERSION}.linux-${ARCH}.tar.gz && \
- tar -C /usr/local -xzf go${GO_VERSION}.linux-${ARCH}.tar.gz && \
- rm go${GO_VERSION}.linux-${ARCH}.tar.gz
-
-# Export Go path
-ENV PATH=$PATH:/usr/local/go/bin
\ No newline at end of file
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
deleted file mode 100755
index 3e7f0076..00000000
--- a/.devcontainer/devcontainer.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "name": "Hugo",
- "build": {
- "dockerfile": "Dockerfile",
- "args": {
- "NODE_VERSION": "20",
- "GO_VERSION": "1.21.4",
- "HUGO_VERSION": "0.120.4"
- }
- },
- "customizations": {
- "vscode": {
- "settings": {},
- "extensions": [
- "bradlc.vscode-tailwindcss",
- "budparr.language-hugo-vscode",
- "tamasfe.even-better-toml"
- ]
- }
- },
- "remoteUser": "node",
- "postCreateCommand": "npm install && npm run dev:example",
- "forwardPorts": [1313]
-}
\ No newline at end of file
diff --git a/.editorconfig b/.editorconfig
deleted file mode 100755
index 0a6cf5eb..00000000
--- a/.editorconfig
+++ /dev/null
@@ -1,14 +0,0 @@
-; https://editorconfig.org
-
-root = true
-
-[*]
-charset = utf-8
-end_of_line = lf
-indent_size = 2
-indent_style = space
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml
new file mode 100644
index 00000000..8ebf197f
--- /dev/null
+++ b/.github/workflows/cd.yml
@@ -0,0 +1,36 @@
+name: cd
+
+on: [push, pull_request]
+
+jobs:
+ cd:
+ runs-on: ${{ matrix.os }}
+
+ strategy:
+ matrix:
+ os: [ubuntu-latest]
+ node: [14]
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@master
+
+ - name: Setup node env
+ uses: actions/setup-node@v2.1.2
+
+ with:
+ node-version: ${{ matrix.node }}
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Generate
+ run: yarn generate
+
+ - name: Deploy
+ uses: peaceiris/actions-gh-pages@v3
+ with:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ publish_dir: ./dist
+
+
\ No newline at end of file
diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml
index d8e68419..492c3f9e 100755
--- a/.github/workflows/deployment.yml
+++ b/.github/workflows/deployment.yml
@@ -1,77 +1,41 @@
-# Sample workflow for building and deploying a Hugo site to GitHub Pages
-name: Deploy Snigdha OS
-
+# https://github.com/actions/deploy-pages#usage
+name: Deploy to GitHub Pages
on:
- # Runs on pushes targeting the default branch
+ workflow_dispatch:
push:
- branches: ["master"]
- pull_request:
- branches: ["master"]
-
-# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
-permissions:
- contents: read
- pages: write
- id-token: write
-
-# Environment variables available to all jobs and steps in this workflow
-env:
- HUGO_ENV: production
- HUGO_VERSION: "0.121.2"
- GO_VERSION: "1.20.5"
- NODE_VERSION: "20.0.0"
- TINA_CLIENT_ID: ${{ vars.TINA_CLIENT_ID }}
- TINA_TOKEN: ${{ vars.TINA_TOKEN }}
-
+ branches:
+ - master
jobs:
- # Build job
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v4
- - name: Set up Node.js
- uses: actions/setup-node@v4
+ - uses: actions/checkout@v3
+ - run: corepack enable
+ - uses: actions/setup-node@v3
with:
- node-version: ${{ env.NODE_VERSION }}
-
- - name: Install Hugo
- run: |
- curl -LO "https://github.com/gohugoio/hugo/releases/download/v${{ env.HUGO_VERSION }}/hugo_extended_${{ env.HUGO_VERSION }}_Linux-64bit.tar.gz"
- tar -xvf hugo_extended_${{ env.HUGO_VERSION }}_Linux-64bit.tar.gz
- sudo mv hugo /usr/local/bin/
- rm hugo_extended_${{ env.HUGO_VERSION }}_Linux-64bit.tar.gz
- hugo version
-
- - name: Install Go
- run: |
- curl -LO "https://dl.google.com/go/go${{ env.GO_VERSION }}.linux-amd64.tar.gz"
- sudo tar -C /usr/local -xzf go${{ env.GO_VERSION }}.linux-amd64.tar.gz
- echo "export PATH=$PATH:/usr/local/go/bin" >> $GITHUB_ENV
- rm go${{ env.GO_VERSION }}.linux-amd64.tar.gz
- go version
-
- - name: Setup Project
- run: npm run project-setup
-
- - name: Install npm dependencies
- run: npm install
-
- - name: Publish to GitHub Pages
- run: npm run build
-
+ node-version: "16"
+ # Pick your own package manager and build script
+ - run: npm install
+ - run: npx nuxt build --preset github_pages
- name: Upload artifact
- uses: actions/upload-pages-artifact@v3
+ uses: actions/upload-pages-artifact@v1
with:
- path: ./public
-
+ path: ./.output/public
# Deployment job
deploy:
- environment:
- name: github-pages
- url: ${{ steps.deployment.outputs.page_url }}
- runs-on: ubuntu-latest
+ # Add a dependency to the build job
needs: build
+ # Grant GITHUB_TOKEN the permissions required to make a Pages deployment
+ permissions:
+ pages: write # to deploy to Pages
+ id-token: write # to verify the deployment originates from an appropriate source
+ # Deploy to the github_pages environment
+ environment:
+ name: github_pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ # Specify runner + deployment step
+ runs-on: ubuntu-latest
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v4
+ uses: actions/deploy-pages@v1
diff --git a/.gitignore b/.gitignore
old mode 100755
new mode 100644
index 0c14a968..438cb086
--- a/.gitignore
+++ b/.gitignore
@@ -1,17 +1,8 @@
-Thumbs.db
-.DS_Store
-.dist
-.tmp
-.lock
-.sass-cache
-npm-debug.log
node_modules
-builds
-package-lock.json
-public
-resources
-.hugo_build.lock
-jsconfig.json
-hugo_stats.json
-go.sum
-yarn.lock
\ No newline at end of file
+*.log*
+.nuxt
+.nitro
+.cache
+.output
+.env
+dist
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
deleted file mode 100644
index fb785dcc..00000000
--- a/.gitlab-ci.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-stages:
- - build
-
-variables:
- HUGO_ENV: production
- HUGO_VERSION: "0.121.2"
- GO_VERSION: "1.20.5"
- NODE_VERSION: "18.16.1"
-
-cache:
- paths:
- - node_modules/
-
-default:
- image: node:${NODE_VERSION}
- before_script:
- - echo "USING NODE ${NODE_VERSION}"
- - apt-get update && apt-get install -y curl
- - curl -LO "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz"
- - tar -xvf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
- - mv hugo /usr/local/bin/
- - rm hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
- - echo "HUGO ${HUGO_VERSION} INSTALLED"
- - curl -LO "https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz"
- - tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
- - export PATH=$PATH:/usr/local/go/bin
- - rm go${GO_VERSION}.linux-amd64.tar.gz
- - echo "GO ${GO_VERSION} INSTALLED"
- - npm install
-
-pages:
- stage: build
- script:
- - npm run project-setup
- - npm run build
- artifacts:
- paths:
- - public
diff --git a/.jshintrc b/.jshintrc
deleted file mode 100644
index 873eef93..00000000
--- a/.jshintrc
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- "maxerr": 50,
- "bitwise": true,
- "camelcase": false,
- "curly": true,
- "eqeqeq": true,
- "forin": true,
- "freeze": true,
- "immed": true,
- "indent": 2,
- "latedef": true,
- "newcap": false,
- "noarg": true,
- "noempty": true,
- "nonbsp": true,
- "nonew": true,
- "plusplus": false,
- "undef": true,
- "unused": false,
- "strict": true,
- "maxparams": false,
- "maxdepth": 4,
- "maxstatements": false,
- "maxcomplexity": false,
- "maxlen": 400,
- "browser": true,
- "devel": true,
- "asi": false,
- "boss": false,
- "debug": false,
- "eqnull": false,
- "es3": false,
- "es5": false,
- "esversion": 12,
- "moz": false,
- "evil": true,
- "expr": true,
- "funcscope": false,
- "globalstrict": false,
- "iterator": false,
- "lastsemic": false,
- "laxbreak": false,
- "laxcomma": false,
- "loopfunc": true,
- "multistr": true,
- "noyield": false,
- "notypeof": false,
- "proto": false,
- "scripturl": false,
- "shadow": false,
- "sub": false,
- "supernew": false,
- "validthis": false,
- "globals": {
- "jQuery": false,
- "google": false,
- "$": false
- }
-}
diff --git a/.markdownlint.json b/.markdownlint.json
deleted file mode 100755
index 7d41e3fe..00000000
--- a/.markdownlint.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "MD033": false,
- "MD034": false,
- "MD013": false
-}
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100755
index ee305087..00000000
--- a/.prettierrc
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "plugins": ["prettier-plugin-go-template"],
- "overrides": [
- {
- "files": ["*.html"],
- "options": {
- "parser": "go-template",
- "goTemplateBracketSpacing": true,
- "bracketSameLine": true
- }
- }
- ]
-}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
deleted file mode 100644
index 344f03fd..00000000
--- a/.vscode/extensions.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "recommendations": [
- "bradlc.vscode-tailwindcss",
- "budparr.language-hugo-vscode",
- "tamasfe.even-better-toml"
- ]
-}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..c46570cd
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,4 @@
+{
+ "css.customData": [".vscode/tailwind.json"],
+ "scss.lint.unknownAtRules": "ignore"
+}
\ No newline at end of file
diff --git a/.vscode/tailwind.json b/.vscode/tailwind.json
new file mode 100644
index 00000000..9ccc9985
--- /dev/null
+++ b/.vscode/tailwind.json
@@ -0,0 +1,55 @@
+{
+ "version": 1.1,
+ "atDirectives": [
+ {
+ "name": "@tailwind",
+ "description": "Use the `@tailwind` directive to insert Tailwind's `base`, `components`, `utilities` and `screens` styles into your CSS.",
+ "references": [
+ {
+ "name": "Tailwind Documentation",
+ "url": "https://tailwindcss.com/docs/functions-and-directives#tailwind"
+ }
+ ]
+ },
+ {
+ "name": "@apply",
+ "description": "Use the `@apply` directive to inline any existing utility classes into your own custom CSS. This is useful when you find a common utility pattern in your HTML that you’d like to extract to a new component.",
+ "references": [
+ {
+ "name": "Tailwind Documentation",
+ "url": "https://tailwindcss.com/docs/functions-and-directives#apply"
+ }
+ ]
+ },
+ {
+ "name": "@responsive",
+ "description": "You can generate responsive variants of your own classes by wrapping their definitions in the `@responsive` directive:\n```css\n@responsive {\n .alert {\n background-color: #E53E3E;\n }\n}\n```\n",
+ "references": [
+ {
+ "name": "Tailwind Documentation",
+ "url": "https://tailwindcss.com/docs/functions-and-directives#responsive"
+ }
+ ]
+ },
+ {
+ "name": "@screen",
+ "description": "The `@screen` directive allows you to create media queries that reference your breakpoints by **name** instead of duplicating their values in your own CSS:\n```css\n@screen sm {\n /* ... */\n}\n```\n…gets transformed into this:\n```css\n@media (min-width: 640px) {\n /* ... */\n}\n```\n",
+ "references": [
+ {
+ "name": "Tailwind Documentation",
+ "url": "https://tailwindcss.com/docs/functions-and-directives#screen"
+ }
+ ]
+ },
+ {
+ "name": "@variants",
+ "description": "Generate `hover`, `focus`, `active` and other **variants** of your own utilities by wrapping their definitions in the `@variants` directive:\n```css\n@variants hover, focus {\n .btn-brand {\n background-color: #3182CE;\n }\n}\n```\n",
+ "references": [
+ {
+ "name": "Tailwind Documentation",
+ "url": "https://tailwindcss.com/docs/functions-and-directives#variants"
+ }
+ ]
+ }
+ ]
+ }
\ No newline at end of file
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
deleted file mode 100644
index b745ebfe..00000000
--- a/.vscode/tasks.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- // See https://go.microsoft.com/fwlink/?LinkId=733558
- "version": "2.0.0",
- "tasks": [
- {
- "label": "Development",
- "type": "shell",
- "command": "yarn dev:example",
- "isBackground": true,
- "group": {
- "kind": "test",
- "isDefault": true
- },
- },
- {
- "label": "Build",
- "type": "shell",
- "command": "yarn build:example",
- "group": {
- "kind": "build",
- "isDefault": true
- }
- }
- ]
-}
diff --git a/LICENSE b/LICENSE
index 30343a11..706f96f9 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
-The MIT License (MIT)
+MIT License
-Copyright (c) 2023 - Present, Zeon Studio
+Copyright (c) 2022 Álex Rueda
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.md b/README.md
index 1d15d2ab..fa7c8484 100644
--- a/README.md
+++ b/README.md
@@ -1,206 +1,80 @@
-Version: 2024-04-25
+
+ SNIGDHA OS
+
+
+ This website has been developed with the open source version of Portfolio for Developers Concept V.2 , designed by @darelova and developed by @alexdeploy . Built with Nuxt.js 3.0 .
+
+
-# Privacy Policy
+[](https://app.netlify.com/sites/developer-portfolio-v2/deploys)
-## 1. Privacy Policy
+
-The Snigdha OS Team (hereinafter referred to as "Snigdha OS" or "we") operates the website and its services available on the Internet at https://snigdhaos.org/ including the respective sub-directories (hereinafter referred to as the "website").
+
+
+
+
+
-With this privacy policy, we would like to inform you which data will be processed in which form when you visit the website or use its services. Where the GDPR applies, we hereby also comply with our duty to inform you in accordance with Art. 13 and Art. 14 of the EU-General Data Protection Regulation (GDPR).
+## 🛠 Installation
-## 2. Controller
+1. Clone the project to your local machine.
-The controller for the data processing on our website is the Snigdha OS Team. And the lead maintainer [Eshan Roy](https://eshanized.github.io)
+```sh
+git clone https://github.com/Snigdha-OS/Snigdha-OS.github.io.git
+```
-Email: privacy@snigdhaos.org
+2. Navigate to the project directory
-## 3. Purposes, legal bases and storage period
+```sh
+cd Snigdha-OS.github.io
+```
-### 3.1. General use of the platform
+3. Install the required dependencies
-The web server of our hosting service provider automatically records the accesses to our website. Therefore, when you visit our website, you transmit certain technical data to us, namely:
+```sh
+yarn install
+```
-- IP address,
-- accessed content,
-- information about the transmission,
-- date of access,
-- the amount of data transmitted,
-- the referrer,
-- the web browser/user agent.
+4. Start the development server
-Where the GDPR applies, the processing of the IP address when establishing a connection is based on Art. 6 par. 1 lit. b) GDPR to provide the website you requested.
+```sh
+yarn dev
+```
-Our host also creates so-called log files to maintain system security, in order to guarantee the security and integrity of our IT systems. These purposes also represent the legitimate interest for which the processing is carried out (Art. 6 par. 1 lit. f) GDPR). We store the log files for a period of 91 days and delete them afterwards.
+5. The development server should now be running on http://localhost:3000/
-### 3.2. Registering for a user account
-Some of our services require that you sign up and create a user account(e.g Snigdha OS Cloud). For this purpose we will collect and process your user name, email address and a password. We will send you a validation email to the email address you have provided. Where the GDPR applies, the legal basis for the processing is Art. 6 para. 1 lit. b) GDPR.
+## ✒️ Customization
-When you use our services we will collect certain information from you and associate it with your account, such as:
+The template includes some default content, but you can easily customize it to fit your needs. Here are some of the things you can change:
-- password for the cloud service, the forums, uptime,
-- github username (for issue tracker)
-- IRC nickname,
-- IP address,
-- language preference\*,
-- timezone,
-- geographic coordinates (longitude/latitude),
+* Update the `developer.json` file on root directory, which contains all the text for the project and the portfolio "user" information, including *projects*, *about-me*, *gists* (Ids) and *contact* info.
-\* Your language preference will be asked if we need to translate our website & services. Till now, we don't need your language preferences. If user requests for translation, we will collect your language preference.
+* Update the `nuxt.config.ts` file for meta tags of website and some additional config.
-We generally process your personal data for as long as you have an account with us and delete it afterwards.
+* Update the `public/pwa/manifest.json` file for PWA config.
-## 4. Services of the websites
+* Change the styling and design of the website to match your personal style.
-Our websites offer you a range of services for which we process certain personal data:
+## 🚀 Building and Running for Production
-### 4.1. [Forum](https://forum.snigdhaos.org/)
+1. Generate a full static production build
-You can read in our forums without giving us any personal data. However, if you wish to participate by posting entries, we will ask you to sign up for an account. In this case, we will collect your user name, email address and a captcha question. You are able to select if you wish that other users could see your email address and if other users shall be able to send you mails via the forums mail function. Furthermore, you can set location options as time zone and language preference.
+```sh
+yarn build
+```
-We process your data to provide you with the account, the forums and the respective functions. The captcha question is required to avoid abuse by spammers using automated tools to post their content and links to many sites. We process your location options and language preferences to provide you with the according account settings.
+2. Preview the site as it will appear once deployed.
-When you post comments, we display certain information about your user account next to your post such as user name, registration date, and country of origin (if you add these personal details in your user account).
+```sh
+yarn preview
+```
-Where the GDPR applies, the legal basis for the processing is Art. 6 para. 1 lit. b) GDPR. In case you delete your account, we store your entries based on our legitimate interest of a consistent forums according to Art. 6 para. 1 lit. f) GDPR, but we anonymize the author of your entries.
+## 🤝 Contributions
-### 4.2. [Documentation](https://snigdhaos.org/documentation/)
+If you find any bugs or have any suggestions, you can open an issue .
-You can read in our documentation without giving us any personal data. However, if you wish to participate creating entries, you will need your github account. In this case, we will collect your user name and email address. Furthermore, you can set location options as time zone and language preference.
+## 🧾 License
-We process your data to provide you with the account, the documentation and the respective functions. The captcha question is required to avoid abuse by spammers using automated tools to post their content and links to many sites. We process your location options and language preferences to provide you with the according account settings. When you contribute entries, we display certain information about your user account next to your entries such as user name, registration date, and country of origin (if you add these personal details in your user account).
-
-### 4.3. [Cloud](https://cloud.snigdhaos.org)
-
-This Privacy Policy describes how Snigdha OS Cloud ("we", "us", or "our") collects, uses, and shares information when you use our website and services ("Services"). By using our Services, you agree to the collection and use of information in accordance with this policy.
-
-**Information We Collect**
-
-1. **Personal Information**: When you sign up for an account, we collect personal information such as your name, email address, and payment information. We may also collect additional information you choose to provide, such as profile pictures or contact information.
-
-2. **Usage Information**: We collect information about how you interact with our Services, such as the files you upload, download, or share, your IP address, browser type, and operating system.
-
-3. **Cookies and Similar Technologies**: We use cookies and similar tracking technologies to enhance your experience and collect information about your usage patterns on our website.
-
-**How We Use Your Information**
-
-1. **Providing and Improving Services**: We use the information we collect to provide, maintain, and improve our Services, as well as to develop new features and offerings.
-
-2. **Communication**: We may use your email address to communicate with you about your account, updates to our Services, or promotional offers. You can opt out of promotional emails at any time.
-
-3. **Security**: We use your information to ensure the security of our Services and to protect against unauthorized access or use.
-
-4. **Analytics**: We may use aggregate, non-personally identifiable information for analytics purposes to better understand how users interact with our website and Services.
-
-**Information Sharing and Disclosure**
-
-1. **Third-Party Service Providers**: We may share your information with third-party service providers who assist us in providing and improving our Services. These providers are contractually obligated to use your information only for the purpose of providing the services we request.
-
-2. **Legal Compliance**: We may disclose your information if required to do so by law or in response to a valid legal request, such as a court order or subpoena.
-
-3. **Business Transfers**: In the event of a merger, acquisition, or sale of all or a portion of our assets, your information may be transferred as part of the transaction. We will notify you of any such change in ownership or control of your personal information.
-
-**Data Retention**
-
-We will retain your personal information for as long as necessary to fulfill the purposes outlined in this Privacy Policy, unless a longer retention period is required or permitted by law.
-
-**Your Choices**
-
-You can access, update, or delete your personal information by logging into your account settings. You can also choose to disable cookies in your browser settings, although this may affect your ability to use certain features of our website.
-
-**Children's Privacy**
-
-Our Services are not directed to children under the age of 13, and we do not knowingly collect personal information from children. If we become aware that we have inadvertently collected personal information from a child under the age of 13, we will take steps to delete it as soon as possible.
-
-**Changes to this Policy**
-
-We may update this Privacy Policy from time to time to reflect changes in our practices or legal requirements. We will notify you of any material changes by posting the new Privacy Policy on this page.
-
-**Contact Us**
-
-If you have any questions or concerns about this Privacy Policy or our practices, you can contact us at [privacy@snigdhaos.org](mailto:privacy@snigdhaos.org).
-
-Where the GDPR applies, the legal basis for the processing is Art. 6 para. 1 lit. b) GDPR. In case you delete your account, we store your entries based on our legitimate interest of a consistent wiki according to Art. 6 para. 1 lit. f) GDPR.
-
-## 5. Contact
-
-We offer you the opportunity to contact us via email. We will then process your email address and, if applicable, your name, a subject and the content of your request to answer your enquiry due to our legitimate interests (Art. 6 para. 1 lit. f) GDPR).
-
-We will store your enquiry as long as we have lawful bases for processing the data. Where the GDPR applies, we may store data in accordance unless legal provisions prevent deletion. Where the GDPR applies, we may store data in accordance with Art. 6 para. 1 lit. f) GDPR where it is necessary for the purpose of providing evidence or to comply with legal retention periods in accordance with Art. 6 para. 1 lit. c) GDPR. If the request is made within the framework of an existing or prospective contractual relationship with us, the storage period shall be based on the underlying contractual relationship.
-
-## 6. Donations
-
-You can donate to Snigdha OS as a member project of the Software in the Public Interest, Inc. (SPI) as non-profit corporation using via Click&Pledge or via SPI directly using PayPal or Credit Card payment. For further information, please see the SPI donation website at: https://www.spi-inc.org/donations/. We publish the past donors on the website https://snigdhaos.org/donate/.
-
-This processing is based on your consent (Art. 6 Abs. 1 lit. a) GDPR) until your withdrawal or until we end this publication of past donors. You have the right to withdraw consent at any time, without affecting the lawfulness of processing based on consent before its withdrawal e.g. by sending us an email.
-
-## 7. Storage period
-
-Unless explicitly stated otherwise, we will process and store your personal data for as long as it is required for the respective purpose and delete it thereafter.
-
-## 8. Categories of recipients
-
-We use external service providers if we are unable to provide services ourselves or if it is not reasonable to do so. These external service providers are primarily providers of IT services, such as our hosting service provider **TONMOY INFRASTRUCTURE™**.
-Street: Landstrasse 39,
-City: Sattel,
-Zip code: 6417
-Country calling code: +41
-Country: Switzerland.
-
-## 9. General rights of data subjects
-
-The GDPR guarantees you certain rights, which you can assert against us - if the legal requirements are met.
-
-### 9.1. Art. 15 GDPR - Right of access
-
-You have the right to obtain confirmation from us as to whether personal data relating to you are being processed and, if so, what these data are and the detailed circumstances of the processing.
-
-### 9.2. Art. 16 GDPR - Right of rectification
-
-You have the right to ask us to rectify incorrect personal data concerning you immediately. You also have the right to request the completion of incomplete personal data, including by means of a supplementary declaration, taking into account the purposes of the processing.
-
-### 9.3. Art. 17 GDPR - Right to deletion
-
-You have the right to demand that we delete any personal data relating to you immediately.
-
-### 9.4. Art. 18 GDPR - Right to restriction of processing
-
-You have the right to request us to restrict processing.
-
-### 9.5. Art. 20 GDPR - Right to data portability
-
-You have the right, in the event of processing based on consent or for the fulfilment of a contract, to receive the personal data concerning you which you have provided us with in a structured, common and machine-readable format and to transfer this data to another responsible party without hindrance from us or to have the data transferred directly to the other responsible party, insofar as this is technically feasible.
-
-### 9.6. Art. 77 GDPR in conjunction with Section 19 BDSG - Right to lodge a complaint with a supervisory authority
-
-You have the right to lodge a complaint with a supervisory authority at any time, in particular in the Member State in which you are resident, your place of work or place of the alleged infringement if you consider that the processing of personal data relating to you infringes data protection law.
-
-## 10. In particular right to object and right to withdraw consent
-
-### 10.1. Art. 21 GDPR - Right to object
-
-You have the right to object at any time, for reasons arising from your particular situation, to the processing of personal data concerning you which is necessary on the basis of a legitimate interest on our part or in order to carry out a task in the public interest, or which is carried out in the exercise of official authority.
-
-If you object, we will no longer process your personal data unless we can prove compelling legitimate grounds for processing that override your interests, rights and freedoms, or unless the processing serves to assert, exercise or defend legal claims.
-
-If we process your personal data for direct marketing purposes, you have the right to object to the processing at any time. If you object to processing for direct marketing purposes, we will no longer process your personal data for these purposes.
-
-In order to exercise your right of objection, you can, for example, send us an email to the email address mentioned above.
-
-### 10.2. Withdrawal of consent
-
-If you have given us your informed consent, you have the right to withdraw your consent at any time. In this case, all data processing that we have carried out until your withdrawal remains lawful.
-
-## 11. Obligation to provide data
-
-You have no contractual or legal obligation to provide us with personal data. However, we then might not be able to offer you the requested services.
-
-## 12. The existence of automated decision-making (including profiling)
-
-We will not make you subject to any automated decision-making, including profiling in accordance with Art. 22 para. 1 and 4 GDPR, which has legal effects on you or affects you.
-
-## 13. Internet-specific data processing and cookies
-
-On some sub-directories of our website, cookies are set in your browser. Cookies are small text files that are stored on your hard drive and are assigned to the browser you are using. The provider who sets the cookie can collect certain information through the cookie. The only purpose of the cookies set on our website is to enable you to use the website and its functions safely. The legal basis for the processing is our legitimate interests in the aforementioned purpose according to Art. 6 para. 1 lit. f) GDPR. The cookies are necessary for the services you have requested.
-
-> Forked from Arch Linux Privacy Policy
+This project is licensed under the MIT License. See the LICENSE file for more information.
\ No newline at end of file
diff --git a/amplify.yml b/amplify.yml
deleted file mode 100644
index 76d375a6..00000000
--- a/amplify.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-version: 1
-frontend:
- phases:
- preBuild:
- commands:
- - yum install -y curl
- - curl -LO "https://github.com/gohugoio/hugo/releases/download/v0.121.2/hugo_extended_0.121.2_Linux-64bit.tar.gz"
- - tar -xvf hugo_extended_0.121.2_Linux-64bit.tar.gz
- - mv hugo /usr/local/bin/
- - rm hugo_extended_0.121.2_Linux-64bit.tar.gz
- - echo "HUGO 0.121.2 INSTALLED"
- - curl -LO "https://dl.google.com/go/go1.20.5.linux-amd64.tar.gz"
- - tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz
- - export PATH=$PATH:/usr/local/go/bin
- - rm go1.20.5.linux-amd64.tar.gz
- - echo "GO 1.20.5 INSTALLED"
- - npm install
- build:
- commands:
- - npm run project-setup
- - npm run build
- artifacts:
- # IMPORTANT - Please verify your build output directory
- baseDirectory: /public
- files:
- - "**/*"
- cache:
- paths:
- - node_modules/**/*
diff --git a/app.config.ts b/app.config.ts
new file mode 100644
index 00000000..d42dc1a6
--- /dev/null
+++ b/app.config.ts
@@ -0,0 +1,16 @@
+/*
+* Nuxt 3 Config File
+* https://nuxt.com/docs/getting-started/configuration#app-configuration
+*/
+export default defineAppConfig({
+ title: 'Hello Nuxt',
+ blog:{
+ enabled: true,
+ },
+ theme: {
+ dark: true,
+ colors: {
+ primary: '#ff0000'
+ }
+ }
+ })
\ No newline at end of file
diff --git a/app.vue b/app.vue
new file mode 100644
index 00000000..e16df398
--- /dev/null
+++ b/app.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/README.md b/assets/README.md
new file mode 100644
index 00000000..fc359d5b
--- /dev/null
+++ b/assets/README.md
@@ -0,0 +1,20 @@
+# `assets/` Directory
+
+Nuxt uses **Vite** or **webpack** to build and bundle your application. The main function of these build tools is to process JavaScript files, but they can be extended through plugins (for Vite) or loaders (for webpack) to process other kind of assets, like stylesheets, fonts or SVG. This step transforms the original file mainly for performance or caching purposes (such as stylesheets minification or browser cache invalidation).
+
+By convention, Nuxt uses the `assets/` directory to store these files but there is no auto-scan functionality for this directory, and you can use any other name for it.
+
+In your application's code, you can reference a file located in the `assets/` directory by using the `~/assets/ path`.
+
+## Example
+
+For example, referencing an image file that will be processed if a build tool is configured to handle this file extension:
+
+`app.vue`
+```html
+
+
+
+```
+
+> Nuxt won't serve files in the `assets/` directory at a static URL like `/assets/my-file.png`. If you need a static URL, use the `public/` directory.
\ No newline at end of file
diff --git a/assets/fonts/fira-code/FiraCode-Bold.ttf b/assets/fonts/fira-code/FiraCode-Bold.ttf
new file mode 100644
index 00000000..c0aa0f51
Binary files /dev/null and b/assets/fonts/fira-code/FiraCode-Bold.ttf differ
diff --git a/assets/fonts/fira-code/FiraCode-Light.ttf b/assets/fonts/fira-code/FiraCode-Light.ttf
new file mode 100644
index 00000000..84801e1b
Binary files /dev/null and b/assets/fonts/fira-code/FiraCode-Light.ttf differ
diff --git a/assets/fonts/fira-code/FiraCode-Medium.ttf b/assets/fonts/fira-code/FiraCode-Medium.ttf
new file mode 100644
index 00000000..570b4d14
Binary files /dev/null and b/assets/fonts/fira-code/FiraCode-Medium.ttf differ
diff --git a/assets/fonts/fira-code/FiraCode-Regular.ttf b/assets/fonts/fira-code/FiraCode-Regular.ttf
new file mode 100644
index 00000000..82baafc3
Binary files /dev/null and b/assets/fonts/fira-code/FiraCode-Regular.ttf differ
diff --git a/assets/fonts/fira-code/FiraCode-Retina.ttf b/assets/fonts/fira-code/FiraCode-Retina.ttf
new file mode 100644
index 00000000..c7fb1044
Binary files /dev/null and b/assets/fonts/fira-code/FiraCode-Retina.ttf differ
diff --git a/assets/fonts/fira-code/FiraCode-SemiBold.ttf b/assets/fonts/fira-code/FiraCode-SemiBold.ttf
new file mode 100644
index 00000000..f3a34faf
Binary files /dev/null and b/assets/fonts/fira-code/FiraCode-SemiBold.ttf differ
diff --git a/assets/fonts/fira-code/FiraCode-Variable.ttf b/assets/fonts/fira-code/FiraCode-Variable.ttf
new file mode 100644
index 00000000..f75b2a2e
Binary files /dev/null and b/assets/fonts/fira-code/FiraCode-Variable.ttf differ
diff --git a/assets/images/avatar-sm.png b/assets/images/avatar-sm.png
deleted file mode 100644
index e1699dc1..00000000
Binary files a/assets/images/avatar-sm.png and /dev/null differ
diff --git a/assets/images/avatar.png b/assets/images/avatar.png
deleted file mode 100755
index 387b035c..00000000
Binary files a/assets/images/avatar.png and /dev/null differ
diff --git a/assets/images/book-solid.svg b/assets/images/book-solid.svg
deleted file mode 100644
index 4e19bb8f..00000000
--- a/assets/images/book-solid.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/images/call-to-action.png b/assets/images/call-to-action.png
deleted file mode 100755
index ec2d625c..00000000
Binary files a/assets/images/call-to-action.png and /dev/null differ
diff --git a/assets/images/eshanized-face.png b/assets/images/eshanized-face.png
deleted file mode 100644
index 3cbe2a6d..00000000
Binary files a/assets/images/eshanized-face.png and /dev/null differ
diff --git a/assets/images/eshanized.jpg b/assets/images/eshanized.jpg
deleted file mode 100644
index 131760a1..00000000
Binary files a/assets/images/eshanized.jpg and /dev/null differ
diff --git a/assets/images/favicon.png b/assets/images/favicon.png
deleted file mode 100644
index 6e6befc8..00000000
Binary files a/assets/images/favicon.png and /dev/null differ
diff --git a/assets/images/gallery/01.jpg b/assets/images/gallery/01.jpg
deleted file mode 100644
index 662fc1dc..00000000
Binary files a/assets/images/gallery/01.jpg and /dev/null differ
diff --git a/assets/images/gallery/02.jpg b/assets/images/gallery/02.jpg
deleted file mode 100644
index 22fb37f8..00000000
Binary files a/assets/images/gallery/02.jpg and /dev/null differ
diff --git a/assets/images/gallery/03.jpg b/assets/images/gallery/03.jpg
deleted file mode 100644
index cea735f6..00000000
Binary files a/assets/images/gallery/03.jpg and /dev/null differ
diff --git a/assets/images/gallery/04.jpg b/assets/images/gallery/04.jpg
deleted file mode 100644
index 48d7c32b..00000000
Binary files a/assets/images/gallery/04.jpg and /dev/null differ
diff --git a/assets/images/gallery/05.jpg b/assets/images/gallery/05.jpg
deleted file mode 100644
index 09878097..00000000
Binary files a/assets/images/gallery/05.jpg and /dev/null differ
diff --git a/assets/images/gallery/06.jpg b/assets/images/gallery/06.jpg
deleted file mode 100644
index 662fc1dc..00000000
Binary files a/assets/images/gallery/06.jpg and /dev/null differ
diff --git a/assets/images/image-placeholder.png b/assets/images/image-placeholder.png
deleted file mode 100755
index a61a0c09..00000000
Binary files a/assets/images/image-placeholder.png and /dev/null differ
diff --git a/assets/images/linux-kernel.jpg b/assets/images/linux-kernel.jpg
deleted file mode 100644
index 6acfbd12..00000000
Binary files a/assets/images/linux-kernel.jpg and /dev/null differ
diff --git a/assets/images/logo-dark.svg b/assets/images/logo-dark.svg
deleted file mode 100644
index ea0a71fd..00000000
--- a/assets/images/logo-dark.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
- Snigdha OS Web
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/logo-darkmode.png b/assets/images/logo-darkmode.png
deleted file mode 100644
index c85cca95..00000000
Binary files a/assets/images/logo-darkmode.png and /dev/null differ
diff --git a/assets/images/logo-light.svg b/assets/images/logo-light.svg
deleted file mode 100644
index 180d0104..00000000
--- a/assets/images/logo-light.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
- Snigdha OS Web
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/logo.png b/assets/images/logo.png
deleted file mode 100644
index afee1070..00000000
Binary files a/assets/images/logo.png and /dev/null differ
diff --git a/assets/images/no-search-found.png b/assets/images/no-search-found.png
deleted file mode 100755
index 1e1e6e16..00000000
Binary files a/assets/images/no-search-found.png and /dev/null differ
diff --git a/assets/images/og-image.png b/assets/images/og-image.png
deleted file mode 100644
index e31ac0e2..00000000
Binary files a/assets/images/og-image.png and /dev/null differ
diff --git a/assets/images/service-1.png b/assets/images/service-1.png
deleted file mode 100755
index 5842791a..00000000
Binary files a/assets/images/service-1.png and /dev/null differ
diff --git a/assets/images/service-2.png b/assets/images/service-2.png
deleted file mode 100755
index 2cc116a3..00000000
Binary files a/assets/images/service-2.png and /dev/null differ
diff --git a/assets/images/service-3.png b/assets/images/service-3.png
deleted file mode 100755
index cf690b7a..00000000
Binary files a/assets/images/service-3.png and /dev/null differ
diff --git a/assets/images/snigdha-os-cloud.svg b/assets/images/snigdha-os-cloud.svg
deleted file mode 100644
index f20e1feb..00000000
--- a/assets/images/snigdha-os-cloud.svg
+++ /dev/null
@@ -1,269 +0,0 @@
-
- snigdha-os-cloud
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdha-os-forum.svg b/assets/images/snigdha-os-forum.svg
deleted file mode 100644
index 3e88672c..00000000
--- a/assets/images/snigdha-os-forum.svg
+++ /dev/null
@@ -1,43 +0,0 @@
-
- 58981-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdha-os-tools.svg b/assets/images/snigdha-os-tools.svg
deleted file mode 100644
index a36651c2..00000000
--- a/assets/images/snigdha-os-tools.svg
+++ /dev/null
@@ -1,594 +0,0 @@
-
- 4884420-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdha-os-uptime.svg b/assets/images/snigdha-os-uptime.svg
deleted file mode 100644
index e97493ac..00000000
--- a/assets/images/snigdha-os-uptime.svg
+++ /dev/null
@@ -1,427 +0,0 @@
-
- 481-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-avatar.svg b/assets/images/snigdhaos-avatar.svg
deleted file mode 100644
index ab5a892f..00000000
--- a/assets/images/snigdhaos-avatar.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
- snigdhaos
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-banner-sec.svg b/assets/images/snigdhaos-banner-sec.svg
deleted file mode 100644
index f6cc8316..00000000
--- a/assets/images/snigdhaos-banner-sec.svg
+++ /dev/null
@@ -1,1224 +0,0 @@
-
- 29045-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-banner.svg b/assets/images/snigdhaos-banner.svg
deleted file mode 100644
index 34497dee..00000000
--- a/assets/images/snigdhaos-banner.svg
+++ /dev/null
@@ -1,545 +0,0 @@
-
- Wavy_Edu-02_Single-05-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-cloud-banner.svg b/assets/images/snigdhaos-cloud-banner.svg
deleted file mode 100644
index 84cf18f5..00000000
--- a/assets/images/snigdhaos-cloud-banner.svg
+++ /dev/null
@@ -1,375 +0,0 @@
-
- snigdhaos-cloud-banner
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-cloud-home-second.png b/assets/images/snigdhaos-cloud-home-second.png
deleted file mode 100644
index 57f36aea..00000000
Binary files a/assets/images/snigdhaos-cloud-home-second.png and /dev/null differ
diff --git a/assets/images/snigdhaos-cloud-home.png b/assets/images/snigdhaos-cloud-home.png
deleted file mode 100644
index 2bf3e6cf..00000000
Binary files a/assets/images/snigdhaos-cloud-home.png and /dev/null differ
diff --git a/assets/images/snigdhaos-cloud-service.svg b/assets/images/snigdhaos-cloud-service.svg
deleted file mode 100644
index d72822e9..00000000
--- a/assets/images/snigdhaos-cloud-service.svg
+++ /dev/null
@@ -1,6533 +0,0 @@
-
- 1904
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-cloud.png b/assets/images/snigdhaos-cloud.png
deleted file mode 100644
index 73659dd4..00000000
Binary files a/assets/images/snigdhaos-cloud.png and /dev/null differ
diff --git a/assets/images/snigdhaos-favicon.png b/assets/images/snigdhaos-favicon.png
deleted file mode 100644
index 910da9b2..00000000
Binary files a/assets/images/snigdhaos-favicon.png and /dev/null differ
diff --git a/assets/images/snigdhaos-favicon.svg b/assets/images/snigdhaos-favicon.svg
deleted file mode 100644
index 29e66c05..00000000
--- a/assets/images/snigdhaos-favicon.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
- snigdhaos-favicon
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-forum-banner.svg b/assets/images/snigdhaos-forum-banner.svg
deleted file mode 100644
index 6a68ae0c..00000000
--- a/assets/images/snigdhaos-forum-banner.svg
+++ /dev/null
@@ -1,320 +0,0 @@
-
- snigdhaos-forum-banner
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-forum-home.png b/assets/images/snigdhaos-forum-home.png
deleted file mode 100644
index f7133eb7..00000000
Binary files a/assets/images/snigdhaos-forum-home.png and /dev/null differ
diff --git a/assets/images/snigdhaos-forum-service.svg b/assets/images/snigdhaos-forum-service.svg
deleted file mode 100644
index bd6417d2..00000000
--- a/assets/images/snigdhaos-forum-service.svg
+++ /dev/null
@@ -1,500 +0,0 @@
-
- 2682153-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-forum.png b/assets/images/snigdhaos-forum.png
deleted file mode 100644
index ad2a8fe3..00000000
Binary files a/assets/images/snigdhaos-forum.png and /dev/null differ
diff --git a/assets/images/snigdhaos-hello.svg b/assets/images/snigdhaos-hello.svg
deleted file mode 100644
index b6042586..00000000
--- a/assets/images/snigdhaos-hello.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
- snigdhaos-hello
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-home.svg b/assets/images/snigdhaos-home.svg
deleted file mode 100644
index 8a728b98..00000000
--- a/assets/images/snigdhaos-home.svg
+++ /dev/null
@@ -1,2070 +0,0 @@
-
- 845-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-icon.svg b/assets/images/snigdhaos-icon.svg
deleted file mode 100644
index d7d98625..00000000
--- a/assets/images/snigdhaos-icon.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
- snigdhaos-icon
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-logo.svg b/assets/images/snigdhaos-logo.svg
deleted file mode 100644
index 180d0104..00000000
--- a/assets/images/snigdhaos-logo.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
- Snigdha OS Web
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-showcase.png b/assets/images/snigdhaos-showcase.png
deleted file mode 100644
index 4268c9c6..00000000
Binary files a/assets/images/snigdhaos-showcase.png and /dev/null differ
diff --git a/assets/images/snigdhaos-tools-banner.svg b/assets/images/snigdhaos-tools-banner.svg
deleted file mode 100644
index 428ec8b5..00000000
--- a/assets/images/snigdhaos-tools-banner.svg
+++ /dev/null
@@ -1,42 +0,0 @@
-
- snigdhaos-tools-banner
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-uptime-banner.svg b/assets/images/snigdhaos-uptime-banner.svg
deleted file mode 100644
index 4deb7caa..00000000
--- a/assets/images/snigdhaos-uptime-banner.svg
+++ /dev/null
@@ -1,30 +0,0 @@
-
- 6380326-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-uptime.svg b/assets/images/snigdhaos-uptime.svg
deleted file mode 100644
index 55cc122e..00000000
--- a/assets/images/snigdhaos-uptime.svg
+++ /dev/null
@@ -1,421 +0,0 @@
-
- 481-ai
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/images/snigdhaos-versioning.png b/assets/images/snigdhaos-versioning.png
deleted file mode 100644
index 5f70c338..00000000
Binary files a/assets/images/snigdhaos-versioning.png and /dev/null differ
diff --git a/assets/scss/custom.scss b/assets/scss/custom.scss
deleted file mode 100755
index 96859046..00000000
--- a/assets/scss/custom.scss
+++ /dev/null
@@ -1 +0,0 @@
-// Add your own custom styles here
diff --git a/assets/tailwind.css b/assets/tailwind.css
new file mode 100644
index 00000000..25fad04b
--- /dev/null
+++ b/assets/tailwind.css
@@ -0,0 +1,327 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+h3, h2 {
+ /* @apply font-fira_retina; */
+ font-family: 'Fira Code Retina';
+ font-size: 15px;
+}
+
+html {
+ @apply bg-dark-background;
+ height: stretch;
+ width: stretch;
+ margin: 30px;
+}
+
+body {
+ height: stretch;
+ width: stretch;
+}
+
+main.page {
+ width: 100%;
+ height: 100%;
+ display: flex;
+ flex-direction: column;
+ flex: 1 1 auto;
+ overflow: hidden;
+}
+
+#__nuxt {
+ @apply bg-blue-background flex flex-col justify-between;
+ border-radius: 7px;
+ border: 1px solid #1E2D3D;
+ height: 100%;
+ width: 100%;
+}
+
+#section-content-title {
+ width: 100%;
+ min-height: 35px;
+ border-bottom: 1px solid #1E2D3D;
+ }
+
+#section-content-title:hover {
+ cursor: pointer;
+}
+
+#section-content-title-contact {
+ @apply cursor-pointer;
+ border-bottom: 1px solid #1E2D3D;
+
+ height: 35px;
+}
+
+/* Mobile */
+#mobile-page-title {
+ display: flex;
+ font-size: 14px;
+ height: 70px;
+ color: white;
+ padding: 0 25px;
+ align-items: center;
+}
+
+.section-arrow {
+ margin-right: 10px;
+ transition: 0.1s;
+}
+
+
+/* MOBILE AND TABLET (SM - LG) */
+@media (max-width: 1024px) {
+
+ html {
+ margin: 15px;
+ min-height: 100%;
+ height: stretch;
+ width: stretch;
+ }
+
+ #__nuxt {
+ @apply bg-blue-background flex flex-col;
+ justify-content: space-between;
+ height: auto;
+ min-height: stretch; /* This allows the page view for mobile to be full height when the content is less than the screen height. */
+ width: 100%;
+ width: auto;
+ }
+
+ #page-menu, #nav-logo, #filter-menu {
+ border: 0px;
+ }
+
+ #page-menu {
+ width: 100% !important;
+ }
+
+ #section-content-title {
+ width: 100%;
+ height: 30px;
+ background-color: #1E2D3D;
+ align-items: center;
+ padding: 0 25px;
+ }
+
+ .submenu .title {
+ display:flex;
+ align-items: center;
+ padding: 0 25px;
+ width: 100%;
+ height: 35px;
+ background-color: #1E2D3D;
+ margin-bottom: 3px
+ }
+
+ #left, #contact-menu {
+ border-right: 0px;
+ }
+
+ /* contact */
+ #contact-me #left {
+ padding: 35px 25px;
+ }
+
+ /* footer */
+ footer {
+ height: 50px;
+ min-height: 50px !important;
+ font-size: 14px !important;
+ }
+
+ #social-icons > a {
+ width: 55px !important;
+ }
+
+}
+
+/* LG - XL */
+@media (min-width: 1024px) {
+ #page-menu, #nav-logo, #filter-menu {
+ min-width: 275px !important;
+ max-width: 275px !important;
+ }
+
+ #page-menu, #filter-menu {
+ font-size: 14px;
+ }
+
+ #commented-text {
+ font-size: 14px;
+ }
+
+ #mobile-page-title {
+ display: none;
+ }
+ /* contact */
+ #contact-me #left {
+ padding: 50px 25px 0px 25px;
+ }
+
+ #contact-form {
+ max-width: 220px;
+ width: 100%;
+ }
+
+ main.page {
+ flex-direction: row;
+ }
+}
+
+/* 2XL */
+@media (min-width: 1536px) {
+
+}
+
+/* 2K */
+@media (min-width: 1920px) {
+
+
+ #page-menu, #nav-logo, #filter-menu {
+ min-width: 310px !important;
+ max-width: 310px !important;
+ }
+
+ /* header */
+ #navbar > nav {
+ height: 50px !important;
+ font-size: 14px !important;
+ }
+
+ /* footer */
+ footer {
+ height: 50px;
+ min-height: 50px !important;
+ font-size: 14px !important;
+ }
+
+ #social-icons > a {
+ width: 55px !important;
+ }
+
+ #social-icons > a > svg, footer > a > svg {
+ width: 1.5rem !important; /* 20px */
+ height: 1.5rem !important; /* 20px */
+ }
+
+ /* about */
+ #commented-text {
+ font-size: 16px !important;
+ }
+ #page-menu, #filter-menu {
+ font-size: 16px !important;
+ }
+
+ /* contact */
+ #contact-me #left {
+ padding: 100px 25px 0px 25px !important;
+ }
+
+ .form-content {
+ padding: 100px 100px !important;
+ font-size: 16px !important;
+ }
+}
+
+
+/*
+ * Mobile min view to tablet max view (width: 0 to 1020)
+*/
+@media screen and (max-width: 1020px) {
+
+}
+
+/*
+ * Tablet min view to desktop medium view (width: 1020 to 1920) (height: 0 to 1080)
+*/
+@media screen and (min-width: 1020px) and (max-width: 1920px) and (max-height: 1080px) {
+
+}
+
+/*
+ * Desktop medium view to desktop max view (width: 1920 to infinte) (height: 1080 to infinite)
+*/
+@media screen and (min-width: 1920px) and (min-height: 1080px) {
+
+}
+
+/* Borders */
+
+.border-top {
+ border-top: 1px solid #1E2D3D;
+}
+
+.border-right {
+ border-right: 1px solid #1E2D3D;
+}
+
+.border-bot {
+ border-bottom: 1px solid #1E2D3D;
+}
+
+.border-left {
+ border-left: 1px solid #1E2D3D;
+}
+
+/* Scroll bar */
+
+/* width */
+::-webkit-scrollbar {
+ width: 20px;
+ border-left: 1px solid #1E2D3D;
+ display: none;
+}
+
+/* Track */
+::-webkit-scrollbar-track {
+ background: transparent;
+}
+
+/* Handle */
+::-webkit-scrollbar-thumb {
+ background: #607B96;
+}
+
+/* Handle on hover */
+::-webkit-scrollbar-thumb:hover {
+ background: #7B9BBB;
+}
+
+/* Fonts */
+
+@font-face {
+ font-family: "Fira Code Light";
+ src: url("./fonts/fira-code/FiraCode-Light.ttf") format('truetype');
+}
+
+@font-face {
+ font-family: "Fira Code Regular";
+ src: url("./fonts/fira-code/FiraCode-Regular.ttf") format('truetype');
+}
+
+@font-face {
+ font-family: "Fira Code Retina";
+ src: url("./fonts/fira-code/FiraCode-Retina.ttf") format('truetype');
+}
+
+@font-face {
+ font-family: "Fira Code Medium";
+ src: url("./fonts/fira-code/FiraCode-Medium.ttf") format('truetype');
+}
+
+@font-face {
+ font-family: "Fira Code SemiBold";
+ src: url("./fonts/fira-code/FiraCode-SemiBold.ttf") format('truetype');
+}
+
+@font-face {
+ font-family: "Fira Code Bold";
+ src: url("./fonts/fira-code/FiraCode-Bold.ttf") format('truetype');
+}
+
+@font-face {
+ font-family: "Fira Code Variable";
+ src: url("./fonts/fira-code/FiraCode-Variable.ttf") format('truetype');
+}
\ No newline at end of file
diff --git a/components/AppFooter.vue b/components/AppFooter.vue
new file mode 100644
index 00000000..8558129a
--- /dev/null
+++ b/components/AppFooter.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
diff --git a/components/AppHeader.vue b/components/AppHeader.vue
new file mode 100644
index 00000000..302bf668
--- /dev/null
+++ b/components/AppHeader.vue
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
diff --git a/components/CommentedText.vue b/components/CommentedText.vue
new file mode 100644
index 00000000..a334f679
--- /dev/null
+++ b/components/CommentedText.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/ContactForm.vue b/components/ContactForm.vue
new file mode 100644
index 00000000..716b09af
--- /dev/null
+++ b/components/ContactForm.vue
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/FormContentCode.vue b/components/FormContentCode.vue
new file mode 100644
index 00000000..95b03f6a
--- /dev/null
+++ b/components/FormContentCode.vue
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/GistSnippet.vue b/components/GistSnippet.vue
new file mode 100644
index 00000000..d6b38d98
--- /dev/null
+++ b/components/GistSnippet.vue
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/GithubCorner.vue b/components/GithubCorner.vue
new file mode 100644
index 00000000..316deeac
--- /dev/null
+++ b/components/GithubCorner.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/MobileMenu.vue b/components/MobileMenu.vue
new file mode 100644
index 00000000..4f3264cc
--- /dev/null
+++ b/components/MobileMenu.vue
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/ProjectCard.vue b/components/ProjectCard.vue
new file mode 100644
index 00000000..dbb98240
--- /dev/null
+++ b/components/ProjectCard.vue
@@ -0,0 +1,80 @@
+
+
+
+
+ Project {{ key + 1 }}
+ Project {{ index + 1 }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/README.md b/components/README.md
new file mode 100644
index 00000000..6432efff
--- /dev/null
+++ b/components/README.md
@@ -0,0 +1,24 @@
+# `components/` [Directory](https://nuxt.com/docs/getting-started/views#components)
+
+Most components are reusable pieces of the user interface, like buttons and menus. In Nuxt, you can create these components in the `components/` directory, and they will be automatically available across your application without having to explicitly import them.
+
+*app.vue*
+````html
+
+
+
Welcome to the homepage
+
+ This is an auto-imported component.
+
+
+
+````
+
+*components/AppAlert.vue*
+````html
+
+
+
+
+
+````
\ No newline at end of file
diff --git a/components/SnakeGame.vue b/components/SnakeGame.vue
new file mode 100644
index 00000000..014f8a74
--- /dev/null
+++ b/components/SnakeGame.vue
@@ -0,0 +1,580 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
start-game
+
+
+
+ GAME OVER!
+
+
+
+
+ WELL DONE!
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/config/_default/languages.toml b/config/_default/languages.toml
deleted file mode 100755
index fc8d07fe..00000000
--- a/config/_default/languages.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-################ English language ##################
-[en]
-languageName = "En"
-languageCode = "en-us"
-contentDir = "content/english"
-weight = 1
diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml
deleted file mode 100755
index 5984a86f..00000000
--- a/config/_default/menus.en.toml
+++ /dev/null
@@ -1,70 +0,0 @@
-############# English navigation ##############
-
-# main menu
-[[main]]
-name = "Home"
-pageRef = "/"
-weight = 1
-
-[[main]]
-name = "About"
-pageRef = "/about"
-weight = 2
-
-[[main]]
-name = "Blog"
-pageRef = "/blog"
-weight = 3
-
-[[main]]
-name = "Docs"
-weight = 4
-identifier = "docs"
-url = "https://snigdhaos.org/documentation/"
-target = "_blank"
-
-[[main]]
-name = "Get Started"
-pageRef = "/get-started"
-weight = 5
-
-# footer menu
-[[footer]]
-name = "Cloud"
-weight = 1
-identifier = "cloud"
-url = "https://cloud.snigdhaos.org/"
-target = "_blank"
-
-[[footer]]
-name = "Forum"
-weight = 2
-identifier = "forum"
-url = "https://forum.snigdhaos.org/"
-target = "_blank"
-
-[[footer]]
-name = "Uptime"
-weight = 3
-identifier = "uptime"
-url = "https://uptime.snigdhaos.org/"
-target = "_blank"
-
-[[footer]]
-name = "Tools"
-weight = 4
-identifier = "tools"
-url = "https://tools.snigdhaos.org/"
-target = "_blank"
-
-[[footer]]
-name = "Status"
-weight = 5
-identifier = "status"
-url = "https://snigdha-os.github.io/snigdhaos-status/"
-target = "_blank"
-
-[[footer]]
-name = "Privacy Policy"
-pageRef = "/privacy-policy"
-weight = 6
diff --git a/config/_default/module.toml b/config/_default/module.toml
deleted file mode 100644
index 3b84cf21..00000000
--- a/config/_default/module.toml
+++ /dev/null
@@ -1,93 +0,0 @@
-[hugoVersion]
-extended = true
-min = "0.115.2"
-
-# [[imports]]
-# path = "github.com/zeon-studio/hugoplate"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/search"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/pwa"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/images"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/videos"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/icons/font-awesome"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/icons/themify-icons"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/gzip-caching"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/adsense"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/accordion"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/table-of-contents"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/tab"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/modal"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/gallery-slider"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/preloader"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/social-share"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/cookie-consent"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/custom-script"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/render-link"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/components/valine-comment"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/components/crisp-chat"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/shortcodes/button"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/shortcodes/notice"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/seo-tools/basic-seo"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/seo-tools/site-verifications"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/baidu-analytics"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/matomo-analytics"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/plausible-analytics"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/counter-analytics"
diff --git a/config/_default/params.toml b/config/_default/params.toml
deleted file mode 100755
index d84cb941..00000000
--- a/config/_default/params.toml
+++ /dev/null
@@ -1,101 +0,0 @@
-#################### default parameters ################################
-# favicon module: https://github.com/gethugothemes/hugo-modules/tree/master/images#favicon-implementation
-favicon = "images/snigdhaos-favicon.png"
-# logo module: https://github.com/gethugothemes/hugo-modules/tree/master/images#logo-implementation
-logo = "images/snigdhaos-hello.svg"
-logo_darkmode = "images/snigdhaos-hello.svg"
-# use `px` or `x` with logo_width, example: "100px".
-# Note: logo_width is not work with .svg file
-logo_width = "160px"
-logo_height = "32px"
-# if logo_webp set false, will not generate WEBP version of logo | default is true
-logo_webp = true
-# logo text will only show when logo is missing.
-logo_text = "SNIGDHA OS"
-# navbar fixed to top
-navbar_fixed = true
-# theme-mode
-theme_switcher = true
-theme_default = "system" # available options [light/dark/system]
-# Main Sections
-mainSections = ["blog"]
-# contact form action
-contact_form_action = "#" # contact form works with [https://airform.io/] or [https://formspree.io]
-# google tag manager, see https://developers.google.com/tag-manager/
-google_tag_manager = "" # example: G-XXXXXXXXXX
-google_adsense = "" # example: ca-pub-xxxxxxxxxxxxxxxx
-# custom script on header, example: custom_script= ""
-custom_script = ""
-# copyright
-copyright = "Copright SNIGDHAOS.ORG ❤️ ALL RIGHTS RESERVED."
-
-# Preloader
-# preloader module: https://github.com/gethugothemes/hugo-modules/tree/master/components/preloader
-[preloader]
-enable = false
-preloader = "" # use jpg, png, svg or gif format.
-
-# Navigation button
-[navigation_button]
-enable = true
-label = "GitHub"
-link = "https://github.com/Snigdha-OS"
-
-# search
-# search module: https://github.com/gethugothemes/hugo-modules/tree/master/search
-[search]
-enable = true
-primary_color = "#121212"
-include_sections = ["blog"]
-show_image = true
-show_description = true
-show_tags = true
-show_categories = true
-
-
-# seo meta data for OpenGraph / Twitter Card
-# seo module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/basic-seo
-[metadata]
-keywords = ["Snigdha-OS", "Snigdha"]
-description = "Be silent when it is time to hear"
-author = "eshanized"
-image = "images/snigdhaos-showcase.png"
-
-
-# site verifications
-# verification module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/site-verifications
-[site_verification]
-google = "" # Your verification code
-bing = "" # Your verification code
-baidu = "" # Your verification code
-facebook = "" # Your verification code
-mastodon = "" # Your verification code
-
-# cookies
-# cookies module: https://github.com/gethugothemes/hugo-modules/tree/master/components/cookie-consent
-[cookies]
-enable = true
-expire_days = 30
-content = "Your privacy matters to us. 🌟 We use cookies to provide social media features, and to analyze our traffic. By clicking 'Accept,' you consent to the use of ALL the cookies. Thank you for trusting us with your data privacy journey. ✨"
-button = "Accept"
-
-######################## sidebar widgets #########################
-[widgets]
-sidebar = ["categories", "tags"]
-
-
-# google map
-[google_map]
-enable = false
-map_api_key = "AIzaSyCcABaamniA6OL5YvYSpB3pFMNrXwXnLwU"
-map_latitude = "51.5223477"
-map_longitude = "-0.1622023"
-map_marker = "images/marker.png"
-
-
-# Subscription
-[subscription]
-enable = false
-# mailchimp subsciption
-mailchimp_form_action = "https://gmail.us4.list-manage.com/subscribe/post?u=463ee871f45d2d93748e77cad&id=a0a2c6d074" # replace this url with yours
-mailchimp_form_name = "b_463ee871f45d2d93748e77cad_a0a2c6d074"
diff --git a/content/README.md b/content/README.md
new file mode 100644
index 00000000..a51ea4db
--- /dev/null
+++ b/content/README.md
@@ -0,0 +1,45 @@
+# `content/` [Directory](https://nuxt.com/docs/guide/directory-structure/content)
+
+The Nuxt Content module reads the `content/` directory in your project and parses .md, .yml, .csv and .json files to create a file-based CMS for your application.
+
+1. Render your content with built-in components.
+2. Query your content with a MongoDB-like API.
+3. Use your Vue components in Markdown files with the MDC syntax.
+4. Automatically generate your navigation.
+
+## Installation
+
+Install the `@nuxt/content` module in your project:
+
+````
+yarn add --dev @nuxt/content
+````
+
+Then, add `@nuxt/content` to the `modules` section of `nuxt.config.ts`.
+
+````ts
+export default defineNuxtConfig({
+ modules: [
+ '@nuxt/content'
+ ],
+ content: {
+ // https://content.nuxtjs.org/api/configuration
+ }
+})
+
+````
+
+## Create Content
+
+Place your markdown files inside the `content/` directory in the root directory of your project:
+``content/index.md`
+
+````
+# Hello Content
+````
+
+The module automatically loads and parses them.
+
+## Documentation
+
+Head over to https://content.nuxtjs.org to learn more about the Content module features, such as how to build queries and use Vue components in your Markdown files with the MDC syntax.
\ No newline at end of file
diff --git a/content/english/_index.md b/content/english/_index.md
deleted file mode 100755
index 0c5999de..00000000
--- a/content/english/_index.md
+++ /dev/null
@@ -1,69 +0,0 @@
----
-# Banner
-banner:
- title: "Blazing Fast🚀 Optimal Performance🕛"
- content: "Snigdha OS is an Arch based Linux Distribution (*Known as **Distro** ). It is light-weight, easy to use interface (***DE: Gnome**), clean and minimal, get a wide range of options during installation. It has been developed as minimal and bloatware free OS. Which is known as **Snigdha OS Arctic**. Click on the **Download** button and experience a new and modern linux distribution. "
- image: "/images/snigdhaos-icon.svg"
- button:
- enable: true
- label: "Download"
- link: "https://github.com/Snigdha-OS/"
-
-# Features
-features:
- - title: "SNIGDHA OS CLOUD"
- image: "/images/snigdhaos-cloud-banner.svg"
- content: "Snigdha OS Cloud is a cloud-based file storage service developed by Snigdha OS. It allows users to store files in the cloud and share files and folders with others. Powered by: **TONMOY INFRASTRUCTURE™**"
- bulletpoints:
- - "1 GB* Free Cloud Storage"
- - "Powerful search capabilities"
- - "Prioritizes the security of user data through encryption"
- - "Share files or folders with specific individuals or groups"
- - "Easy to Use Interface"
- # - "**Open-source and free** for personal and commercial use"
- button:
- enable: true
- label: "Go to Cloud"
- link: "https://cloud.snigdhaos.org/"
-
- - title: "SNIGDHA OS FORUM"
- image: "/images/snigdhaos-forum-banner.svg"
- content: "**Snigdha OS Forum** offers a platform for users to engage in discussions, share information, ask questions, and connect with others who share similar interests. Get help from Admins, Mods and Members."
- bulletpoints:
- - "Organizes discussions into threads."
- - "Navigate discussions and find relevant content more easily"
- - "Profile that displays information such as username, bio, avatar, join date, and post count"
- - "Moderation tools to help maintain a healthy community environment"
- - "Features for creating and participating in polls and surveys."
- - "Optimized for mobile devices, allowing users to access and participate in discussions on smartphones and tablets"
- button:
- enable: true
- label: "Go to Forum"
- link: "https://forum.snigdhaos.org/"
-
- - title: "SNIGDHA OS TOOLS"
- image: "/images/snigdhaos-tools-banner.svg"
- content: "Snigdha OS Provides Web Based Tools. Other websites charges an amount after you use certain limit. But Snigdha OS Tools doesn't charge you and usage limit is unlimited."
- bulletpoints:
- - "100% free of cost."
- - "More than 1500 Web Tools."
- - "No signup required."
- - "Unlimited Usage without any condition."
- button:
- enable: true
- label: "Go to Tools"
- link: "https://tools.snigdhaos.org"
-
- - title: "SNIGDHA OS UPTIME"
- image: "/images/snigdhaos-uptime-banner.svg"
- content: "Snigdha OS Uptime helps website owners or administrators track the availability and performance of their websites. It continuously monitors websites from various locations around the world and alert the website owner if there are any issues such as downtime or slow loading times."
- bulletpoints:
- - "100% free of costs"
- - "Unlimited website monitor"
- - "Dedicated status page for monitoring"
- - "Supports custom domain & notification alerts"
- button:
- enable: true
- label: "Go to Uptime"
- link: "https://uptime.snigdhaos.org/"
----
diff --git a/content/english/about/_index.md b/content/english/about/_index.md
deleted file mode 100644
index 775d343a..00000000
--- a/content/english/about/_index.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-title: "SNIGDHA OS WELCOMES YOU, MASTER!"
-meta_title: "About"
-description: "Short Overview or About Snigdha OS"
-image: "/images/snigdhaos-icon.svg"
-draft: false
----
-
-**Snigdha OS** is a lightweight and highly customizable Penetration testing distribution based on **Arch Linux** and **Zen Kernel** known for its simplicity, flexibility, and focus on user-centric design. We aim to provide prioritize ease of use or pre-configured environments, We are trying to provide a minimalist approach, providing users with a bare-bones system upon installation, allowing them to build and configure their operating system to suit their specific needs and preferences.
-
-Key features of **Snigdha OS** include:
-
-🎯 Rolling Release Model: **Snigdha OS** follows a rolling release model [?](https://en.wikipedia.org/wiki/Rolling_release) , which means that instead of releasing fixed, periodic updates, packages are continuously updated to their latest versions. This ensures users have access to the latest software releases without the need for major system upgrades.
-
-🎯 Package Manager: **Snigdha OS** utilizes the Pacman[?](https://wiki.archlinux.org/title/pacman) package manager for package management. Pacman is a powerful command-line tool that allows users to easily install, update, and remove software packages from the Arch repositories as well as from the Arch User Repository (AUR), a community-driven repository of user-contributed packages. **Snigdha OS** also comes with both [Pamac](https://wiki.manjaro.org/index.php/Pamac) & [Octopi](https://tintaescura.com/projects/octopi/).
-
-🎯 Minimalist Installation: **Snigdha OS** installation provides users with a minimal base system, allowing users to customize their system from the ground up. During installation, users have complete control over which components and packages to install, enabling them to create a system tailored to their specific requirements.
-
-🎯 Arch User Repository (AUR): The Arch User Repository is a vast collection of user-contributed packages that are not officially maintained by **Arch Linux** developers. It allows users to easily install software that is not available in the official repositories, expanding the range of available software options. We also provide support for **Chaotic-AUR.**
-
-🎯 Documentation and Community Support: **Snigdha OS** boasts extensive documentation which provides detailed guides, tutorials, and troubleshooting information for users at all levels of expertise. Additionally, the **Snigdha OS** community is known for its active and helpful forums, where users can seek assistance, share knowledge, and collaborate on projects.
-
-Overall, **Snigdha OS** appeals to users who value simplicity, customization, and the ability to fine-tune their system to meet their specific requirements. It's an ideal choice for users who enjoy the process of building and maintaining their Linux environment.
-
-## About the Authors:
- - [ESHANIZED](/authors/eshanized/)
\ No newline at end of file
diff --git a/content/english/authors/_index.md b/content/english/authors/_index.md
deleted file mode 100644
index 62eae442..00000000
--- a/content/english/authors/_index.md
+++ /dev/null
@@ -1,3 +0,0 @@
----
-title: "Authors"
----
diff --git a/content/english/authors/eshanized.md b/content/english/authors/eshanized.md
deleted file mode 100644
index c345df3d..00000000
--- a/content/english/authors/eshanized.md
+++ /dev/null
@@ -1,36 +0,0 @@
----
-title: Eshanized
-email: eshan@snigdhaos.org
-image: "https://github.com/Snigdha-OS/Snigdha-OS.github.io/blob/master/assets/images/eshanized-face.png?raw=True"
-description: this is meta description
-social:
- - name: github
- icon: fa-brands fa-github
- link: https://github.com/eshanized
-
- - name: twitter
- icon: fa-brands fa-twitter
- link: https://twitter.com/eshanized
-
- - name: linkedin
- icon: fa-brands fa-linkedin
- link: https://linkedin.com/in/eshanized
-
- - name: facebook
- icon: fa-brands fa-facebook
- link: https://facebook.com/eshanized
-
- - name: instagram
- icon: fa-brands fa-instagram
- link: https://instagram.com/eshanized
----
-
-{{< notice "About" >}}
-Lead Maintainer & Developer
-{{< /notice >}}
-
-```bash
-#!/bin/bash
-echo -e "BE SILENT WHEN IT IS TIME TO HEAR!"
-```
-To leverage my expertise in computer science and systems programming to contribute to the creation and enhancement of cutting-edge operating systems.I aim to specialize in kernel development, device drivers, and system architecture, mastering the intricacies of operating system internals to optimize performance and reliability.
\ No newline at end of file
diff --git a/content/english/authors/iconized.md b/content/english/authors/iconized.md
deleted file mode 100644
index 088739a3..00000000
--- a/content/english/authors/iconized.md
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title: Iconized
-email: icon@snigdhaos.org
-image: "https://github.com/eshanized/eshanized/blob/main/eshanized_square.png?raw=True"
-description: this is meta description
-social:
- - name: github
- icon: fa-brands fa-github
- link: https://github.com/iconized
----
diff --git a/content/english/blog/_index.md b/content/english/blog/_index.md
deleted file mode 100755
index 1f0c55fc..00000000
--- a/content/english/blog/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Blog"
-meta_title: "Blog"
-description: "Discover Articles Related Snigdha OS & More"
----
diff --git a/content/english/blog/check-package-version-on-snigdha-os.md b/content/english/blog/check-package-version-on-snigdha-os.md
deleted file mode 100755
index 8a64cb85..00000000
--- a/content/english/blog/check-package-version-on-snigdha-os.md
+++ /dev/null
@@ -1,94 +0,0 @@
----
-title: "How to check package version on Snigdha OS?"
-meta_title: "How to check package version on Snigdha OS?"
-description: "How to check package version on Snigdha OS?"
-# date: 2024-04-14T05:00:00Z
-# image: "/images/snigdhaos-versioning.png"
-categories: ["Information"]
-author: "Eshanized"
-tags: ["version"]
-draft: false
----
-
-## What is Package Version?
-A package version refers to a specific release of a software package or library. It is a unique identifier that allows users and systems to distinguish one version of the software from another. Package versions are typically represented using a combination of numbers and possibly letters or other characters, following a specific format.
-
-Here are some common components of a package version:
-
-**Major Version**: This is the primary version number and is incremented when significant, usually backward-incompatible changes are made to the software. For example, moving from version 1 to version 2 indicates a major update with potentially substantial changes.
-
-**Minor Version**: The minor version number is incremented for smaller updates that may include new features or enhancements but do not introduce significant changes that would break compatibility with existing code. For example, going from version 1.0 to 1.1 signifies a minor update.
-
-**Patch Version**: Also known as the maintenance or revision number, the patch version is incremented for releases that primarily address bugs, security vulnerabilities, or other issues without introducing new features. For example, moving from version 1.1.0 to 1.1.1 indicates a patch release.
-
-**Pre-release and Build Metadata**: Some package versions include additional information such as pre-release identifiers (e.g., alpha, beta, rc for release candidates) or build metadata (e.g., a timestamp or commit hash) to provide further context about the version. These components typically appear after the main version number and are separated by hyphens or other delimiters.
-
-{{< notice "Example" >}}
-
-A package version might look like this: `2.1.0-beta.1+20220315`.
-
-In this version:
-- Major version: 2
-- Minor version: 1
-- Patch version: 0
-- Pre-release identifier: beta.1
-- Build metadata: 20220315
-{{< /notice >}}
-
-> Package versions are crucial for software development, deployment, and dependency management. They allow developers to communicate changes effectively, ensure compatibility between different versions of software components, and track which version of a package is installed in a system or project. Various versioning schemes exist, and different projects may follow different conventions, but the underlying purpose remains the same: to provide clear and unambiguous versioning for software packages.
-
-## Checking package version
-To find out an installed package(Eg. Visual Studio Code) version in Snigdha OS, run the following command:
-```bash
-sudo pacman -Q visual-studio-code-bin
-```
-or
-```bash
-q visual-studio-code-bin
-```
-
-{{< notice "Output" >}}
-```bash
-visual-studio-code-bin 1.88.1-1
-```
-{{< /notice >}}
-
-If you want in depth then execute the following in the terminal:
-```bash
-sudo pacman -Qi visual-studio-code-bin
-```
-or
-```bash
-qi visual-studio-code-bin
-```
-
-{{< notice "Output" >}}
-```bash
-Name : visual-studio-code-bin
-Version : 1.88.1-1
-Description : Visual Studio Code (vscode): Editor for building and debugging
- modern web and cloud applications (official binary version)
-Architecture : x86_64
-URL : https://code.visualstudio.com/
-Licenses : custom: commercial
-Groups : None
-Provides : code vscode
-Depends On : libxkbfile gnupg gtk3 libsecret nss gcc-libs libnotify
- libxss glibc lsof shared-mime-info xdg-utils alsa-lib
-Optional Deps : glib2: Needed for move to trash functionality [installed]
- libdbusmenu-glib: Needed for KDE global menu [installed]
- org.freedesktop.secrets: Needed for settings sync [installed]
- icu69: Needed for live share
-Required By : None
-Optional For : None
-Conflicts With : code
-Replaces : None
-Installed Size : 361.31 MiB
-Packager : Garuda Builder
-Build Date : Sat 13 Apr 2024 08:41:36 PM IST
-Install Date : Sun 14 Apr 2024 05:52:35 AM IST
-Install Reason : Explicitly installed
-Install Script : Yes
-Validated By : SHA-256 Sum Signature
-```
-{{< /notice >}}
\ No newline at end of file
diff --git a/content/english/blog/linux-zen-kernel.md b/content/english/blog/linux-zen-kernel.md
deleted file mode 100644
index afa01ad3..00000000
--- a/content/english/blog/linux-zen-kernel.md
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title: "What is Linux Zen Patched Kernel?"
-meta_title: "What is Linux Zen Patched Kernel?"
-description: "What is Linux Zen Patched Kernel?"
-# image: "/images/linux-kernel.jpg"
-categories: ["Information"]
-author: "Iconized"
-tags: ["Information"]
-draft: false
----
-The Linux Zen Kernel is a customized version of the Linux kernel aimed at providing users with enhanced performance, responsiveness, and power management features. It's designed to optimize the kernel for desktop, workstation, and gaming use cases.
-
-Here are some key aspects of the Linux Zen Kernel:
-
-1. **Performance Optimization**: The Zen Kernel is tuned for performance, prioritizing low-latency and fast response times. This is particularly beneficial for tasks that require quick interactions, such as gaming or multimedia editing.
-
-2. **Improved Responsiveness**: One of the main goals of the Zen Kernel is to improve system responsiveness. This means reducing the delay between user input and system response, resulting in a smoother and more fluid user experience.
-
-3. **Power Management**: The Zen Kernel also focuses on efficient power management, which is crucial for laptops and other battery-powered devices. By optimizing power usage, it can extend battery life and improve energy efficiency.
-
-4. **Desktop and Workstation Use**: While the mainline Linux kernel is designed to be versatile and suitable for various use cases, the Zen Kernel specifically targets desktop and workstation environments. This specialization allows developers to fine-tune the kernel for these specific scenarios, optimizing performance and stability.
-
-5. **Gaming Support**: Gaming on Linux has gained popularity over the years, and the Zen Kernel aims to provide an optimized environment for gaming enthusiasts. This includes features like better CPU scheduling, reduced input lag, and support for the latest hardware technologies commonly used in gaming rigs.
-
-6. **Customization Options**: Like other custom kernel variants, the Zen Kernel offers users the flexibility to enable or disable specific features based on their requirements. This allows users to tailor the kernel to their hardware and workload, potentially improving performance even further.
-
-7. **Community-driven Development**: The Zen Kernel project is driven by a community of developers and enthusiasts who collaborate to enhance the kernel's features and performance. This open development model encourages transparency, innovation, and feedback from users.
-
-It's important to note that while the Zen Kernel offers several optimizations compared to the mainline Linux kernel, it may not be suitable for every use case. Users should evaluate their specific requirements and test the Zen Kernel to determine if it provides the desired improvements in performance and responsiveness for their systems. Additionally, as with any custom kernel, users should ensure compatibility with their hardware and software ecosystem before switching to the Zen Kernel.
diff --git a/content/english/blog/penetration-distro.md b/content/english/blog/penetration-distro.md
deleted file mode 100644
index e1b08a76..00000000
--- a/content/english/blog/penetration-distro.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title: "Linux Penetration Distribution?"
-meta_title: "Linux Penetration Distribution?"
-description: "Linux Penetration Distribution?"
-categories: ["Information"]
-author: "Iconized"
-tags: ["Information"]
-draft: false
----
-A Linux penetration testing distribution, often referred to as a "penetration distro" or "pentesting distro," is a specialized Linux distribution designed for cybersecurity professionals, ethical hackers, and security researchers to conduct security assessments, vulnerability assessments, penetration testing, and digital forensics. These distributions come pre-installed with a wide range of tools and utilities specifically tailored for assessing and securing computer systems, networks, and applications.
-
-Some common features and characteristics of Linux penetration testing distributions include:
-
-1. **Pre-installed Tools**: Penetration testing distributions typically include a vast array of pre-installed tools for various purposes such as network scanning, vulnerability assessment, web application testing, password cracking, packet sniffing, and exploitation. These tools cover a broad spectrum of cybersecurity domains to facilitate comprehensive security assessments.
-
-2. **User-Friendly Interfaces**: Many penetration testing distributions feature user-friendly graphical interfaces, making it easier for users who are not necessarily command-line experts to access and utilize the tools effectively. However, they also often provide robust command-line interfaces for advanced users who prefer a more hands-on approach.
-
-3. **Live Environment**: Most penetration testing distributions can be booted directly from a live CD, USB drive, or run within a virtual machine without the need for installation. This allows security professionals to conduct security assessments on target systems without modifying or affecting the host environment.
-
-4. **Documentation and Tutorials**: Penetration testing distributions often come with comprehensive documentation, tutorials, and guides to help users understand how to use the tools effectively and conduct various types of security assessments. This educational aspect is crucial for individuals who are new to cybersecurity or specific testing methodologies.
-
-5. **Community Support**: Many penetration testing distributions are supported by active communities of cybersecurity professionals, ethical hackers, and enthusiasts who contribute to the development, improvement, and support of the distribution. Users can seek help, share knowledge, and collaborate with others in the community to enhance their skills and capabilities.
-
-Examples of popular Linux penetration testing distributions include:
-
-- Kali Linux: Perhaps the most well-known and widely used penetration testing distribution, Kali Linux provides a comprehensive collection of tools for penetration testing, forensics, and reverse engineering.
-- Parrot Security OS: Parrot Security OS is a Debian-based distribution that includes a variety of tools for penetration testing, digital forensics, and privacy protection.
-- BackBox: BackBox is an Ubuntu-based distribution focused on network analysis, ethical hacking, and vulnerability assessment.
-- BlackArch Linux: BlackArch Linux is an Arch Linux-based distribution that offers a vast repository of specialized tools for penetration testing and security research.
-
-These distributions are continuously updated to incorporate new tools, features, and security enhancements to meet the evolving needs of cybersecurity professionals and keep pace with the rapidly changing threat landscape.
diff --git a/content/english/contact/_index.md b/content/english/contact/_index.md
deleted file mode 100644
index bd6b9f6b..00000000
--- a/content/english/contact/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "Contact"
-meta_title: ""
-description: "this is meta description"
-draft: false
----
diff --git a/content/english/pages/elements.md b/content/english/pages/elements.md
deleted file mode 100755
index 269ddbb5..00000000
--- a/content/english/pages/elements.md
+++ /dev/null
@@ -1,239 +0,0 @@
----
-title: "Elements"
-# meta title
-meta_title: ""
-# meta description
-description: "This is meta description"
-# save as draft
-draft: false
----
-
-{{< toc >}}
-
-Here is an example of headings. You can use this heading by the following markdown rules. For example: use `#` for heading 1 and use `######` for heading 6.
-
-# Heading 1
-
-## Heading 2
-
-### Heading 3
-
-#### Heading 4
-
-##### Heading 5
-
-###### Heading 6
-
-
-
-### Emphasis
-
-The emphasis, aka italics, with _asterisks_ or _underscores_.
-
-Strong emphasis, aka bold, with **asterisks** or **underscores**.
-
-The combined emphasis with **asterisks and _underscores_**.
-
-Strike through uses two tildes. ~~Scratch this.~~
-
-
-
-### Button
-
-{{< button label="Button" link="/" style="solid" >}}
-
-
-
-### Link
-
-[I'm an inline-style link](https://www.google.com)
-
-[I'm an inline-style link with title](https://www.google.com "Google's Homepage")
-
-[I'm a reference-style link][Arbitrary case-insensitive reference text]
-
-[I'm a relative reference to a repository file](../blob/master/LICENSE)
-
-[You can use numbers for reference-style link definitions][1]
-
-Or leave it empty and use the [link text itself].
-
-URLs and URLs in angle brackets will automatically get turned into links.
- or and sometimes
-example.com (but not on Github, for example).
-
-Some text to show that the reference links can follow later.
-
-[arbitrary case-insensitive reference text]: https://www.themefisher.com
-[1]: https://gethugothemes.com
-[link text itself]: https://www.getjekyllthemes.com
-
-
-
-### Paragraph
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Quam nihil enim maxime corporis cumque totam aliquid nam sint inventore optio modi neque laborum officiis necessitatibus, facilis placeat pariatur! Voluptatem, sed harum pariatur adipisci voluptates voluptatum cumque, porro sint minima similique magni perferendis fuga! Optio vel ipsum excepturi tempore reiciendis id quidem? Vel in, doloribus debitis nesciunt fugit sequi magnam accusantium modi neque quis, vitae velit, pariatur harum autem a! Velit impedit atque maiores animi possimus asperiores natus repellendus excepturi sint architecto eligendi non, omnis nihil. Facilis, doloremque illum. Fugit optio laborum minus debitis natus illo perspiciatis corporis voluptatum rerum laboriosam.
-
-
-
-### Ordered List
-
-1. List item
-2. List item
-3. List item
-4. List item
-5. List item
-
-
-
-### Unordered List
-
-- List item
-- List item
-- List item
-- List item
-- List item
-
-
-
-### Notice
-
-{{< notice "note" >}}
-This is a simple note.
-{{< /notice >}}
-
-{{< notice "tip" >}}
-This is a simple tip.
-{{< /notice >}}
-
-{{< notice "info" >}}
-This is a simple info.
-{{< /notice >}}
-
-{{< notice "warning" >}}
-This is a simple warning.
-{{< /notice >}}
-
-
-
-### Tab
-
-{{< tabs >}}
-{{< tab "Tab 1" >}}
-
-#### Hey There, I am a tab
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-{{< /tab >}}
-
-{{< tab "Tab 2" >}}
-
-#### I wanna talk about the assassination attempt
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-{{< /tab >}}
-
-{{< tab "Tab 3" >}}
-
-#### We know you’re dealing in stolen ore
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
-
-{{< /tab >}}
-{{< /tabs >}}
-
-
-
-### Accordions
-
-{{< accordion "Why should you need to do this?" >}}
-
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur
-
-{{< /accordion >}}
-
-{{< accordion "How can I adjust Horizontal centering" >}}
-
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur
-
-{{< /accordion >}}
-
-{{< accordion "Should you use Negative margin?" >}}
-
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur
-
-{{< /accordion >}}
-
-
-
-### Code and Syntax Highlighting
-
-This is an `Inline code` sample.
-
-```javascript
-var s = "JavaScript syntax highlighting";
-alert(s);
-```
-
-```python
-s = "Python syntax highlighting"
-print s
-```
-
-
-
-### Blockquote
-
-> Did you come here for something in particular or just general Riker-bashing? And blowing into maximum warp speed, you appeared for an instant to be in two places at once.
-
-
-
-### Tables
-
-| Tables | Are | Cool |
-| ------------- | :-----------: | ----: |
-| col 3 is | right-aligned | $1600 |
-| col 2 is | centered | $12 |
-| zebra stripes | are neat | $1 |
-
-
-
-### Image
-
-{{< image src="images/image-placeholder.png" caption="" alt="alter-text" height="" width="" position="center" command="fill" option="q100" class="img-fluid" title="image title" webp="false" >}}
-
-
-
-### Gallery
-
-{{< gallery dir="images/gallery" class="" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
-
-
-
-### Slider
-
-{{< slider dir="images/gallery" class="max-w-[600px] ml-0" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
-
-
-
-### Youtube video
-
-{{< youtube ResipmZmpDU >}}
-
-
-
-### Custom video
-
-{{< video src="https://www.w3schools.com/html/mov_bbb.mp4" width="100%" height="auto" autoplay="false" loop="false" muted="false" controls="true" class="rounded-lg" >}}
diff --git a/content/english/pages/get-started.md b/content/english/pages/get-started.md
deleted file mode 100644
index df00b3d2..00000000
--- a/content/english/pages/get-started.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title: "Get Started"
-# meta title
-meta_title: "Get Started"
-# meta description
-description: "Get Started With Snigdha OS"
-# save as draft
-draft: false
----
-
-This will help you to get started with Snigdha OS.
\ No newline at end of file
diff --git a/content/english/pages/privacy-policy.md b/content/english/pages/privacy-policy.md
deleted file mode 100644
index 2a3edb9c..00000000
--- a/content/english/pages/privacy-policy.md
+++ /dev/null
@@ -1,214 +0,0 @@
----
-title: "Privacy"
-# meta title
-meta_title: "Privacy Policy"
-# meta description
-description: "Snigdha OS Privacy Policy"
-# save as draft
-draft: false
----
-
-Version: 2024-04-25
-
-# Privacy Policy
-
-## 1. Privacy Policy
-
-The Snigdha OS Team (hereinafter referred to as "Snigdha OS" or "we") operates the website and its services available on the Internet at https://snigdhaos.org/ including the respective sub-directories (hereinafter referred to as the "website").
-
-With this privacy policy, we would like to inform you which data will be processed in which form when you visit the website or use its services. Where the GDPR applies, we hereby also comply with our duty to inform you in accordance with Art. 13 and Art. 14 of the EU-General Data Protection Regulation (GDPR).
-
-## 2. Controller
-
-The controller for the data processing on our website is the Snigdha OS Team. And the lead maintainer [Eshan Roy](https://eshanized.github.io)
-
-Email: privacy@snigdhaos.org
-
-## 3. Purposes, legal bases and storage period
-
-### 3.1. General use of the platform
-
-The web server of our hosting service provider automatically records the accesses to our website. Therefore, when you visit our website, you transmit certain technical data to us, namely:
-
-- IP address,
-- accessed content,
-- information about the transmission,
-- date of access,
-- the amount of data transmitted,
-- the referrer,
-- the web browser/user agent.
-
-Where the GDPR applies, the processing of the IP address when establishing a connection is based on Art. 6 par. 1 lit. b) GDPR to provide the website you requested.
-
-Our host also creates so-called log files to maintain system security, in order to guarantee the security and integrity of our IT systems. These purposes also represent the legitimate interest for which the processing is carried out (Art. 6 par. 1 lit. f) GDPR). We store the log files for a period of 91 days and delete them afterwards.
-
-### 3.2. Registering for a user account
-
-Some of our services require that you sign up and create a user account(e.g Snigdha OS Cloud). For this purpose we will collect and process your user name, email address and a password. We will send you a validation email to the email address you have provided. Where the GDPR applies, the legal basis for the processing is Art. 6 para. 1 lit. b) GDPR.
-
-When you use our services we will collect certain information from you and associate it with your account, such as:
-
-- password for the cloud service, the forums, uptime,
-- github username (for issue tracker)
-- IRC nickname,
-- IP address,
-- language preference\*,
-- timezone,
-- geographic coordinates (longitude/latitude),
-
-\* Your language preference will be asked if we need to translate our website & services. Till now, we don't need your language preferences. If user requests for translation, we will collect your language preference.
-
-We generally process your personal data for as long as you have an account with us and delete it afterwards.
-
-## 4. Services of the websites
-
-Our websites offer you a range of services for which we process certain personal data:
-
-### 4.1. [Forum](https://forum.snigdhaos.org/)
-
-You can read in our forums without giving us any personal data. However, if you wish to participate by posting entries, we will ask you to sign up for an account. In this case, we will collect your user name, email address and a captcha question. You are able to select if you wish that other users could see your email address and if other users shall be able to send you mails via the forums mail function. Furthermore, you can set location options as time zone and language preference.
-
-We process your data to provide you with the account, the forums and the respective functions. The captcha question is required to avoid abuse by spammers using automated tools to post their content and links to many sites. We process your location options and language preferences to provide you with the according account settings.
-
-When you post comments, we display certain information about your user account next to your post such as user name, registration date, and country of origin (if you add these personal details in your user account).
-
-Where the GDPR applies, the legal basis for the processing is Art. 6 para. 1 lit. b) GDPR. In case you delete your account, we store your entries based on our legitimate interest of a consistent forums according to Art. 6 para. 1 lit. f) GDPR, but we anonymize the author of your entries.
-
-### 4.2. [Documentation](https://snigdhaos.org/documentation/)
-
-You can read in our documentation without giving us any personal data. However, if you wish to participate creating entries, you will need your github account. In this case, we will collect your user name and email address. Furthermore, you can set location options as time zone and language preference.
-
-We process your data to provide you with the account, the documentation and the respective functions. The captcha question is required to avoid abuse by spammers using automated tools to post their content and links to many sites. We process your location options and language preferences to provide you with the according account settings. When you contribute entries, we display certain information about your user account next to your entries such as user name, registration date, and country of origin (if you add these personal details in your user account).
-
-### 4.3. [Cloud](https://cloud.snigdhaos.org)
-
-This Privacy Policy describes how Snigdha OS Cloud ("we", "us", or "our") collects, uses, and shares information when you use our website and services ("Services"). By using our Services, you agree to the collection and use of information in accordance with this policy.
-
-**Information We Collect**
-
-1. **Personal Information**: When you sign up for an account, we collect personal information such as your name, email address, and payment information. We may also collect additional information you choose to provide, such as profile pictures or contact information.
-
-2. **Usage Information**: We collect information about how you interact with our Services, such as the files you upload, download, or share, your IP address, browser type, and operating system.
-
-3. **Cookies and Similar Technologies**: We use cookies and similar tracking technologies to enhance your experience and collect information about your usage patterns on our website.
-
-**How We Use Your Information**
-
-1. **Providing and Improving Services**: We use the information we collect to provide, maintain, and improve our Services, as well as to develop new features and offerings.
-
-2. **Communication**: We may use your email address to communicate with you about your account, updates to our Services, or promotional offers. You can opt out of promotional emails at any time.
-
-3. **Security**: We use your information to ensure the security of our Services and to protect against unauthorized access or use.
-
-4. **Analytics**: We may use aggregate, non-personally identifiable information for analytics purposes to better understand how users interact with our website and Services.
-
-**Information Sharing and Disclosure**
-
-1. **Third-Party Service Providers**: We may share your information with third-party service providers who assist us in providing and improving our Services. These providers are contractually obligated to use your information only for the purpose of providing the services we request.
-
-2. **Legal Compliance**: We may disclose your information if required to do so by law or in response to a valid legal request, such as a court order or subpoena.
-
-3. **Business Transfers**: In the event of a merger, acquisition, or sale of all or a portion of our assets, your information may be transferred as part of the transaction. We will notify you of any such change in ownership or control of your personal information.
-
-**Data Retention**
-
-We will retain your personal information for as long as necessary to fulfill the purposes outlined in this Privacy Policy, unless a longer retention period is required or permitted by law.
-
-**Your Choices**
-
-You can access, update, or delete your personal information by logging into your account settings. You can also choose to disable cookies in your browser settings, although this may affect your ability to use certain features of our website.
-
-**Children's Privacy**
-
-Our Services are not directed to children under the age of 13, and we do not knowingly collect personal information from children. If we become aware that we have inadvertently collected personal information from a child under the age of 13, we will take steps to delete it as soon as possible.
-
-**Changes to this Policy**
-
-We may update this Privacy Policy from time to time to reflect changes in our practices or legal requirements. We will notify you of any material changes by posting the new Privacy Policy on this page.
-
-**Contact Us**
-
-If you have any questions or concerns about this Privacy Policy or our practices, you can contact us at [privacy@snigdhaos.org](mailto:privacy@snigdhaos.org).
-
-Where the GDPR applies, the legal basis for the processing is Art. 6 para. 1 lit. b) GDPR. In case you delete your account, we store your entries based on our legitimate interest of a consistent wiki according to Art. 6 para. 1 lit. f) GDPR.
-
-## 5. Contact
-
-We offer you the opportunity to contact us via email. We will then process your email address and, if applicable, your name, a subject and the content of your request to answer your enquiry due to our legitimate interests (Art. 6 para. 1 lit. f) GDPR).
-
-We will store your enquiry as long as we have lawful bases for processing the data. Where the GDPR applies, we may store data in accordance unless legal provisions prevent deletion. Where the GDPR applies, we may store data in accordance with Art. 6 para. 1 lit. f) GDPR where it is necessary for the purpose of providing evidence or to comply with legal retention periods in accordance with Art. 6 para. 1 lit. c) GDPR. If the request is made within the framework of an existing or prospective contractual relationship with us, the storage period shall be based on the underlying contractual relationship.
-
-## 6. Donations
-
-You can donate to Snigdha OS as a member project of the Software in the Public Interest, Inc. (SPI) as non-profit corporation using via Click&Pledge or via SPI directly using PayPal or Credit Card payment. For further information, please see the SPI donation website at: https://www.spi-inc.org/donations/. We publish the past donors on the website https://snigdhaos.org/donate/.
-
-This processing is based on your consent (Art. 6 Abs. 1 lit. a) GDPR) until your withdrawal or until we end this publication of past donors. You have the right to withdraw consent at any time, without affecting the lawfulness of processing based on consent before its withdrawal e.g. by sending us an email.
-
-## 7. Storage period
-
-Unless explicitly stated otherwise, we will process and store your personal data for as long as it is required for the respective purpose and delete it thereafter.
-
-## 8. Categories of recipients
-
-We use external service providers if we are unable to provide services ourselves or if it is not reasonable to do so. These external service providers are primarily providers of IT services, such as our hosting service provider **TONMOY INFRASTRUCTURE™**.
-Street: Landstrasse 39,
-City: Sattel,
-Zip code: 6417
-Country calling code: +41
-Country: Switzerland.
-
-## 9. General rights of data subjects
-
-The GDPR guarantees you certain rights, which you can assert against us - if the legal requirements are met.
-
-### 9.1. Art. 15 GDPR - Right of access
-
-You have the right to obtain confirmation from us as to whether personal data relating to you are being processed and, if so, what these data are and the detailed circumstances of the processing.
-
-### 9.2. Art. 16 GDPR - Right of rectification
-
-You have the right to ask us to rectify incorrect personal data concerning you immediately. You also have the right to request the completion of incomplete personal data, including by means of a supplementary declaration, taking into account the purposes of the processing.
-
-### 9.3. Art. 17 GDPR - Right to deletion
-
-You have the right to demand that we delete any personal data relating to you immediately.
-
-### 9.4. Art. 18 GDPR - Right to restriction of processing
-
-You have the right to request us to restrict processing.
-
-### 9.5. Art. 20 GDPR - Right to data portability
-
-You have the right, in the event of processing based on consent or for the fulfilment of a contract, to receive the personal data concerning you which you have provided us with in a structured, common and machine-readable format and to transfer this data to another responsible party without hindrance from us or to have the data transferred directly to the other responsible party, insofar as this is technically feasible.
-
-### 9.6. Art. 77 GDPR in conjunction with Section 19 BDSG - Right to lodge a complaint with a supervisory authority
-
-You have the right to lodge a complaint with a supervisory authority at any time, in particular in the Member State in which you are resident, your place of work or place of the alleged infringement if you consider that the processing of personal data relating to you infringes data protection law.
-
-## 10. In particular right to object and right to withdraw consent
-
-### 10.1. Art. 21 GDPR - Right to object
-
-You have the right to object at any time, for reasons arising from your particular situation, to the processing of personal data concerning you which is necessary on the basis of a legitimate interest on our part or in order to carry out a task in the public interest, or which is carried out in the exercise of official authority.
-
-If you object, we will no longer process your personal data unless we can prove compelling legitimate grounds for processing that override your interests, rights and freedoms, or unless the processing serves to assert, exercise or defend legal claims.
-
-If we process your personal data for direct marketing purposes, you have the right to object to the processing at any time. If you object to processing for direct marketing purposes, we will no longer process your personal data for these purposes.
-
-In order to exercise your right of objection, you can, for example, send us an email to the email address mentioned above.
-
-### 10.2. Withdrawal of consent
-
-If you have given us your informed consent, you have the right to withdraw your consent at any time. In this case, all data processing that we have carried out until your withdrawal remains lawful.
-
-## 11. Obligation to provide data
-
-You have no contractual or legal obligation to provide us with personal data. However, we then might not be able to offer you the requested services.
-
-## 12. The existence of automated decision-making (including profiling)
-
-We will not make you subject to any automated decision-making, including profiling in accordance with Art. 22 para. 1 and 4 GDPR, which has legal effects on you or affects you.
-
-## 13. Internet-specific data processing and cookies
-
-On some sub-directories of our website, cookies are set in your browser. Cookies are small text files that are stored on your hard drive and are assigned to the browser you are using. The provider who sets the cookie can collect certain information through the cookie. The only purpose of the cookies set on our website is to enable you to use the website and its functions safely. The legal basis for the processing is our legitimate interests in the aforementioned purpose according to Art. 6 para. 1 lit. f) GDPR. The cookies are necessary for the services you have requested.
diff --git a/content/english/sections/call-to-action.md b/content/english/sections/call-to-action.md
deleted file mode 100644
index efda1486..00000000
--- a/content/english/sections/call-to-action.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-enable: true
-title: "Ready to build your next project with Hugo?"
-image: "/images/call-to-action.png"
-description: "Experience the future of web development with Hugoplate and Hugo. Build lightning-fast static sites with ease and flexibility."
-button:
- enable: true
- label: "Get Started Now"
- link: "https://github.com/zeon-studio/hugoplate"
-
-# don't create a separate page
-_build:
- render: "never"
----
diff --git a/content/english/sections/testimonial.md b/content/english/sections/testimonial.md
deleted file mode 100644
index 9aff1565..00000000
--- a/content/english/sections/testimonial.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-enable: false
-title: "What Users Are Saying About Hugoplate"
-description: "Don't just take our word for it - hear from some of our satisfied users! Check out some of our testimonials below to see what others are saying about Hugoplate."
-
-# Testimonials
-testimonials:
- - name: "Marvin McKinney"
- designation: "Web Designer"
- avatar: "/images/avatar-sm.png"
- content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
-
-# don't create a separate page
-_build:
- render: "never"
----
diff --git a/data/social.json b/data/social.json
deleted file mode 100644
index f10f554f..00000000
--- a/data/social.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "main": [
- {
- "name": "facebook",
- "icon": "fab fa-facebook",
- "link": "https://www.facebook.com/snigdhalinux"
- },
- {
- "name": "twitter",
- "icon": "fab fa-twitter",
- "link": "https://twitter.com/SnigdhaOS"
- },
- {
- "name": "Instagram",
- "icon": "fab fa-instagram",
- "link": "https://www.instagram.com/SnigdhaOS"
- },
- {
- "name": "github",
- "icon": "fab fa-github",
- "link": "https://www.github.com/Snigdha-OS"
- },
- {
- "name": "linkedin",
- "icon": "fab fa-linkedin",
- "link": "https://www.linkedin.com/SnigdhaOS"
- }
- ]
-}
diff --git a/data/theme.json b/data/theme.json
deleted file mode 100644
index 158c8ed1..00000000
--- a/data/theme.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "colors": {
- "default": {
- "theme_color": {
- "primary": "#754ffe",
- "body": "#fff",
- "border": "#eaeaea",
- "theme_light": "#f6f6f6",
- "theme_dark": ""
- },
- "text_color": {
- "default": "#444444",
- "dark": "#040404",
- "light": "#717171"
- }
- },
- "darkmode": {
- "theme_color": {
- "primary": "#754ffe",
- "body": "#28282b",
- "border": "#3E3E3E",
- "theme_light": "#222222",
- "theme_dark": ""
- },
- "text_color": {
- "default": "#B4AFB6",
- "dark": "#fff",
- "light": "#B4AFB6"
- }
- }
- },
- "fonts": {
- "font_family": {
- "primary": "Overpass:wght@400;600",
- "primary_type": "sans-serif",
- "secondary": "Overpass:wght@500;700",
- "secondary_type": "sans-serif"
- },
- "font_size": {
- "base": "18",
- "scale": "1.2"
- }
- }
-}
diff --git a/developer.json b/developer.json
new file mode 100644
index 00000000..a9c1cf6e
--- /dev/null
+++ b/developer.json
@@ -0,0 +1,166 @@
+{
+ "name": "SNIGDHA OS",
+ "logo_name": "snigdha-os",
+ "role": "be silent when it is time to hear!",
+ "about": {
+ "sections": {
+ "about": {
+ "title": "about",
+ "icon": "icons/info-professional.svg",
+ "info": {
+ "overview": {
+ "title": "about",
+ "description": " Over the past 5 years, Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+ },
+ "hard-skills": {
+ "title": "hard-skills",
+ "description": " As a front-end developer, Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+ },
+ "soft-skills": {
+ "title": "soft-skills",
+ "description": " I bring more than Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+ }
+ }
+ },
+ "personal-info": {
+ "title": "personal-info",
+ "icon": "icons/info-personal.svg",
+ "info": {
+ "bio": {
+ "title": "About",
+ "description": " About me I have 5 years of experience in web development lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat officia deserunt mollit anim id est laborum."
+ },
+ "interests": {
+ "title": "interests",
+ "description": " I am constantly learning and lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+ },
+ "education": {
+ "title": "education",
+ "description": " I have always been passionate about lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.",
+ "files": {
+ "high-school": "I have been in 'Las viñas'...",
+ "university": "The university..."
+ }
+ }
+ }
+ },
+ "hobbies-info": {
+ "title": "hobbies-info",
+ "icon": "icons/info-hobbies.svg",
+ "info": {
+ "sports": {
+ "title": "sports",
+ "description": " I am an avid sports enthusiast and lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
+ },
+ "favorite-games": {
+ "title": "favorite-games",
+ "description": " I am a passionate gamer with Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
+ }
+ }
+ }
+ }
+ },
+ "contacts": {
+ "direct": {
+ "title": "contacts",
+ "sources": {
+ "email": "hello@snigdhaos.org"
+ }
+ },
+ "social": {
+ "github": {
+ "title": "Github",
+ "url": "https://github.com/",
+ "user": "Snigdha-OS"
+ },
+ "download": {
+ "title": "Download",
+ "url": "#",
+ "user": "#"
+ },
+ "facebook": {
+ "title": "Facebook",
+ "url": "https://facebook.com/",
+ "user": "username"
+ },
+ "twitter": {
+ "title": "Twitter",
+ "url": "https://twitter.com/",
+ "user": "username"
+ }
+ },
+ "find_me_also_in": {
+ "title": "developers",
+ "sources": {
+ "youtube": {
+ "title": "GitHub",
+ "url": "https://www.youtube.com/",
+ "user": "username"
+ },
+ "gurushots": {
+ "title": "GuruShots profile",
+ "url": "https://gurushots.com/",
+ "user": "username"
+ },
+ "instagram": {
+ "title": "Instagram account",
+ "url": "https://instagram.com/",
+ "user": "username"
+ },
+ "twitch": {
+ "title": "Twitch profile",
+ "url": "https://twitch.com/",
+ "user": "username"
+ }
+ }
+ }
+ },
+ "gists": {
+ "1": "7991ac9882771df1c56578fa60d5f0ab",
+ "2": "1851f532dedb1e515f0aacd24276c9dd"
+ },
+ "projects": {
+ "1": {
+ "title": "snigdhaos-assistant",
+ "description": "Duis aute irure dolor in velit esse cillum dolore.",
+ "img": "/images/projects/ui-animations2.png",
+ "tech": ["CPP"],
+ "url": "https://github.com/"
+ },
+ "2": {
+ "title": "snigdhaos-kernel-manager",
+ "description": "Duis aute irure dolor in velit esse cillum dolore.",
+ "img": "/images/projects/ai-resources.png",
+ "tech": ["Python"],
+ "url": "https://github.com/"
+ },
+ "3": {
+ "title": "snigdhaos-blackbox",
+ "description": "Duis aute irure dolor in velit esse cillum dolore.",
+ "img": "/images/projects/worldmap.png",
+ "tech": ["Angular"],
+ "url": "https://github.com/"
+ },
+ "4": {
+ "title": "_ui-animations",
+ "description": "Duis aute irure dolor in velit esse cillum dolore.",
+ "img": "/images/projects/ui-animations.png",
+ "tech": ["React"],
+ "url": "https://github.com/Snigdha-OS/snigdhaos-zen-kernel"
+ },
+ "5": {
+ "title": "_tetris-game",
+ "description": "Duis aute irure dolor in velit esse cillum dolore.",
+ "img": "/images/projects/tetris-game.png",
+ "tech": ["React"],
+ "url": "https://github.com/"
+ },
+ "6": {
+ "title": "_ethereum",
+ "description": "Duis aute irure dolor in velit esse cillum dolore.",
+ "img": "/images/projects/ethereum.png",
+ "tech": ["Vue"],
+ "url": "https://github.com/"
+ }
+ }
+}
\ No newline at end of file
diff --git a/go.mod b/go.mod
deleted file mode 100644
index 7a19e24a..00000000
--- a/go.mod
+++ /dev/null
@@ -1,28 +0,0 @@
-module hugoplate.netlify.app
-
-go 1.20
-
-require (
- github.com/gethugothemes/hugo-modules/accordion v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/adsense v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/images v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/modal v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/pwa v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/search v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/tab v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/videos v0.0.0-20240423040330-6260da698660 // indirect
-)
diff --git a/hugo.toml b/hugo.toml
deleted file mode 100755
index 86814a0f..00000000
--- a/hugo.toml
+++ /dev/null
@@ -1,172 +0,0 @@
-######################## default configuration ####################
-# The base URL of your site (required). This will be prepended to all relative URLs.
-baseURL = "/"
-# Title of your website (required).
-title = "SNIGDHA OS "
-# Your theme name
-theme = "hugoplate"
-# Default time zone for time stamps; use any valid tz database name: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
-timeZone = "Asia/Kolkata"
-# post pagination
-paginate = 2 # see https://gohugo.io/extras/pagination/
-# post excerpt
-summaryLength = 10 # see https://gohugo.io/content-management/excerpts/
-# disable language
-disableLanguages = [
-] # example: ["fr"] for disable french language. see https://gohugo.io/content-management/multilingual/
-hasCJKLanguage = false # If hasCJKLanguage true, auto-detect Chinese/Japanese/Korean Languages in the content. see: https://gohugo.io/getting-started/configuration/#hascjklanguage
-# default language
-defaultContentLanguage = 'en'
-defaultContentLanguageInSubdir = false
-
-########################### Services #############################
-[services]
-[services.googleAnalytics]
-ID = 'G-YWRHE8TLD1' # see https://gohugo.io/templates/internal/#configure-google-analytics
-
-[services.disqus]
-shortname = 'themefisher-template' # we use disqus to show comments in blog posts . To install disqus please follow this tutorial https://portfolio.peter-baumgartner.net/2017/09/10/how-to-install-disqus-on-hugo/
-
-########################## Permalinks ############################
-[permalinks.page]
-"pages" = "/:slugorfilename/"
-
-
-############################# Modules ############################
-[module]
-[[module.mounts]]
-source = "assets"
-target = "assets"
-
-[[module.mounts]]
-source = "hugo_stats.json"
-target = "assets/watching/hugo_stats.json"
-
-############################# Build ##############################
-[build]
-noJSConfigInAssets = false
-useResourceCacheWhen = 'fallback'
-[build.buildStats]
-enable = true
-[[build.cachebusters]]
-source = 'assets/watching/hugo_stats\.json'
-target = 'style\.css'
-[[build.cachebusters]]
-source = '(postcss|tailwind)\.config\.js'
-target = 'css'
-[[build.cachebusters]]
-source = 'assets/.*\.(js|ts|jsx|tsx)'
-target = 'js'
-[[build.cachebusters]]
-source = 'assets/.*\.(css|scss|sass)'
-target = 'css'
-[[build.cachebusters]]
-source = 'data/.*\.(.*)$'
-target = 'css'
-[[build.cachebusters]]
-source = 'assets/.*\.(.*)$'
-target = '$1'
-
-
-############################# Outputs ############################
-[outputs]
-home = ["HTML", "RSS", "WebAppManifest", "SearchIndex"]
-
-############################# Imaging ############################
-[imaging]
-# See https://github.com/disintegration/imaging
-# Default JPEG or WebP quality setting. Default is 75.
-quality = 80
-resampleFilter = "Lanczos"
-
-############################ Caches ##############################
-[caches]
-[caches.images]
-dir = ":resourceDir/_gen"
-maxAge = "720h"
-
-[caches.assets]
-dir = ":resourceDir/_gen"
-maxAge = "720h"
-
-
-############################ Markup ##############################
-[markup]
-[markup.goldmark.renderer]
-unsafe = true
-
-[markup.highlight]
-style = 'dracula' # see https://xyproto.github.io/splash/docs/all.html
-
-[markup.tableOfContents]
-startLevel = 2
-endLevel = 5
-ordered = true
-
-
-########################### Media types ###########################
-[mediaTypes]
-[mediaTypes."application/manifest+json"]
-suffixes = ["webmanifest"]
-
-
-########################### Output Format ##########################
-[outputFormats]
-[outputFormats.WebAppManifest]
-mediaType = "application/manifest+json"
-rel = "manifest"
-
-[outputFormats.SearchIndex]
-mediaType = "application/json"
-baseName = "searchindex"
-isPlainText = true
-notAlternative = true
-
-
-############################# Plugins ##############################
-
-# CSS Plugins
-[[params.plugins.css]]
-link = "plugins/swiper/swiper-bundle.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/glightbox/glightbox.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/font-awesome/v6/brands.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/font-awesome/v6/solid.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/font-awesome/v6/icons.css"
-lazy = true
-
-# JS Plugins
-[[params.plugins.js]]
-link = "js/search.js"
-lazy = false
-[[params.plugins.js]]
-link = "plugins/swiper/swiper-bundle.js"
-lazy = false
-[[params.plugins.js]]
-link = "plugins/cookie.js"
-lazy = false
-[[params.plugins.js]]
-link = "plugins/glightbox/glightbox.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/gallery-slider.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/accordion.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/tab.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/modal.js"
-lazy = true
-[[params.plugins.js]]
-link = "plugins/youtube-lite.js"
-lazy = true
diff --git a/i18n/en.yaml b/i18n/en.yaml
deleted file mode 100755
index 07140bc4..00000000
--- a/i18n/en.yaml
+++ /dev/null
@@ -1,32 +0,0 @@
-- id: home
- translation: Home
-
-- id: read_more
- translation: Continue Reading
-
-- id: send
- translation: Send
-
-- id: related_posts
- translation: Explore Related Posts
-
-- id: categories
- translation: Categories
-
-- id: tags
- translation: Tags
-
-- id: toc
- translation: Table of Contents
-
-- id: share
- translation: Share
-
-- id: search_input_placeholder
- translation: Search ...
-
-- id: no_results_for
- translation: OOPS! No results for
-
-- id: empty_search_results_placeholder
- translation: Type to search..
diff --git a/images/screenshot.png b/images/screenshot.png
deleted file mode 100644
index 62d9852e..00000000
Binary files a/images/screenshot.png and /dev/null differ
diff --git a/images/tn.png b/images/tn.png
deleted file mode 100644
index 6765469e..00000000
Binary files a/images/tn.png and /dev/null differ
diff --git a/layouts/README.md b/layouts/README.md
new file mode 100644
index 00000000..afc22521
--- /dev/null
+++ b/layouts/README.md
@@ -0,0 +1,39 @@
+# `layouts/` [Directory](https://nuxt.com/docs/getting-started/views#layouts)
+
+Layouts are wrappers around pages that contain a common User Interface for several pages, such as a header and footer display. Layouts are Vue files using ` ` components to display the page content. The `layouts/default.vue` file will be used by default. Custom layouts can be set as part of your page metadata.
+
+>> If you only have a single layout in your application, we recommend using app.vue with the ` ` component instead.
+
+*layouts/default.vue*
+````html
+
+
+
+````
+
+*pages/index.vue*
+````html
+
+
+
Welcome to the homepage
+
+ This is an auto-imported component
+
+
+
+````
+
+*pages/about.vue*
+````html
+
+
+ This page will be displayed at the /about route.
+
+
+````
+
+If you want to create more layouts and learn how to use them in your pages, find more information in the [Layouts section](https://nuxt.com/docs/guide/directory-structure/layouts).
\ No newline at end of file
diff --git a/layouts/default.vue b/layouts/default.vue
new file mode 100644
index 00000000..b879d7a1
--- /dev/null
+++ b/layouts/default.vue
@@ -0,0 +1,7 @@
+
+
+
\ No newline at end of file
diff --git a/middleware/README.md b/middleware/README.md
new file mode 100644
index 00000000..bde3a767
--- /dev/null
+++ b/middleware/README.md
@@ -0,0 +1,17 @@
+# `middleware/` [Directory](https://nuxt.com/docs/guide/directory-structure/middleware)
+
+Nuxt provides a customizable **route middleware** framework you can use throughout your application, ideal for extracting code that you want to run before navigating to a particular route.
+
+>> Route middleware run within the Vue part of your Nuxt app. Despite the similar name, they are completely different from server middleware, which are run in the Nitro server part of your app.
+
+There are three kinds of route middleware:
+
+1. Anonymous (or inline) route middleware, which are defined directly in the pages where they are used.
+
+2. Named route middleware, which are placed in the `middleware/` directory and will be automatically loaded via asynchronous import when used on a page. (Note: The route middleware name is normalized to kebab-case, so `someMiddleware` becomes `some-middleware`.)
+
+3. Global route middleware, which are placed in the `middleware/` directory (with a `.global` suffix) and will be automatically run on every route change.
+
+The first two kinds of route middleware can be defined in `definePageMeta`.
+
+[Here](https://nuxt.com/docs/guide/directory-structure/middleware) is more info about middleware.
\ No newline at end of file
diff --git a/netlify.toml b/netlify.toml
deleted file mode 100755
index 24188509..00000000
--- a/netlify.toml
+++ /dev/null
@@ -1,7 +0,0 @@
-[build]
-publish = "public"
-command = "yarn project-setup; yarn build"
-
-[build.environment]
-HUGO_VERSION = "0.121.2"
-GO_VERSION = "1.20.5"
diff --git a/nuxt.config.ts b/nuxt.config.ts
new file mode 100644
index 00000000..cebe316b
--- /dev/null
+++ b/nuxt.config.ts
@@ -0,0 +1,87 @@
+const config = require('./developer.json')
+const siteTitle = `${config.name} | ${config.role}`
+
+
+/*
+ * Nuxt 3 Config File
+ Usage: https://nuxt.com/docs/api/configuration/nuxt-config
+ */
+export default defineNuxtConfig({
+
+ /**
+ * * App Config
+ * app config: https://nuxt.com/docs/api/configuration/nuxt-config#app
+ * head config: https://nuxt.com/docs/api/configuration/nuxt-config#head
+ * meta config: https://nuxt.com/docs/getting-started/seo-meta
+ * pageTransition config: https://nuxt.com/docs/getting-started/transitions#transitions
+ * TODO: Add more meta tags for SEO
+ * TODO: Add tags for social media sharing
+ * TODO: Migrate apple-touch-icon config to manifest.json
+ */
+ app: {
+ baseURL: '/',
+ head: {
+ title: siteTitle, // App window nav title
+ meta: [
+ { charset: 'utf-8' },
+ { name: 'viewport', content: 'width=device-width, initial-scale=1' },
+ { hid: 'description', name: 'description', content: 'Snigdha OS on the web.' },
+ { hid: 'og:title', property: 'og:title', content: siteTitle },
+ { hid: 'og:description', property: 'og:description', content: 'Snigdha OS on the web.' },
+ { hid: 'og:image', property: 'og:image', content: 'snigdhaos-view.png' },
+ { hid: 'og:url', property: 'og:url', content: 'https://snigdhaos.org/' },
+ { name: 'theme-color', content: '#010C15' },
+ // ...
+ ],
+ link: [
+ { rel: 'manifest', href: 'pwa/manifest.json' },
+ { rel: 'apple-touch-icon', href: 'pwa/icons/apple-touch-icon.png' },
+ ],
+ },
+ },
+
+ // router: {
+ // base: '/',
+ // },
+
+ /**
+ * * Nuxt 3 Modules
+ * Official modules: https://nuxt.com/modules
+ */
+ modules: [
+ '@nuxtjs/tailwindcss',
+ ],
+
+ components: {
+ dirs: [
+ '~/components',
+ ],
+ },
+
+ /**
+ * * Tailwind CSS Config
+ * Options: https://tailwindcss.nuxt.dev/getting-started/options/
+ * Docs: https://tailwindcss.nuxt.dev
+ */
+ tailwindcss: {
+ cssPath: '~/assets/tailwind.css',
+ configPath: 'tailwind.config',
+ exposeConfig: true, // true to resolve the tailwind config in runtime. https://tailwindcss.nuxt.dev/getting-started/options/#exposeconfig
+ injectPosition: 0,
+ viewer: false,
+ },
+
+ /**
+ * * Runtime Config (Environment Variables)
+ * Usage: https://nuxt.com/docs/guide/going-further/runtime-config
+ */
+ runtimeConfig: {
+ // The private keys which are only available server-side
+ apiSecret: '123',
+ // Keys within public are also exposed client-side
+ public: {
+ apiBase: '/api',
+ dev: config
+ }
+ }
+})
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 00000000..d06bb337
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,10391 @@
+{
+ "name": "Snigdha-OS.github.io",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "Snigdha-OS.github.io",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@highlightjs/vue-plugin": "highlightjs/vue-plugin",
+ "@nuxtjs/tailwindcss": "^6.1.3",
+ "aos": "^3.0.0-beta.6",
+ "highlight.js": "^11.7.0"
+ },
+ "devDependencies": {
+ "nuxt": "3.0.0",
+ "vitest": "^0.25.3"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
+ "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz",
+ "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.24.6",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz",
+ "integrity": "sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz",
+ "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@ampproject/remapping": "^2.1.0",
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.20.5",
+ "@babel/helper-compilation-targets": "^7.20.0",
+ "@babel/helper-module-transforms": "^7.20.2",
+ "@babel/helpers": "^7.20.5",
+ "@babel/parser": "^7.20.5",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.20.5",
+ "@babel/types": "^7.20.5",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.1",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz",
+ "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.6",
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
+ "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.20.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz",
+ "integrity": "sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/compat-data": "^7.20.0",
+ "@babel/helper-validator-option": "^7.18.6",
+ "browserslist": "^4.21.3",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz",
+ "integrity": "sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.18.6",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.19.0",
+ "@babel/helper-member-expression-to-functions": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/helper-replace-supers": "^7.19.1",
+ "@babel/helper-split-export-declaration": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz",
+ "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz",
+ "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.24.6",
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz",
+ "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz",
+ "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.18.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.20.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz",
+ "integrity": "sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.20.2",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.20.1",
+ "@babel/types": "^7.20.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
+ "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.20.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
+ "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.19.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz",
+ "integrity": "sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-member-expression-to-functions": "^7.18.9",
+ "@babel/helper-optimise-call-expression": "^7.18.6",
+ "@babel/traverse": "^7.19.1",
+ "@babel/types": "^7.19.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.20.2",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
+ "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.20.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz",
+ "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz",
+ "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz",
+ "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz",
+ "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.20.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz",
+ "integrity": "sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.20.5",
+ "@babel/types": "^7.20.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz",
+ "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.24.6",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0",
+ "picocolors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz",
+ "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==",
+ "license": "MIT",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz",
+ "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.20.0",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz",
+ "integrity": "sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.19.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typescript": {
+ "version": "7.20.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz",
+ "integrity": "sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/plugin-syntax-typescript": "^7.20.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/standalone": {
+ "version": "7.20.6",
+ "resolved": "https://registry.npmjs.org/@babel/standalone/-/standalone-7.20.6.tgz",
+ "integrity": "sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz",
+ "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.24.6",
+ "@babel/parser": "^7.24.6",
+ "@babel/types": "^7.24.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz",
+ "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.24.6",
+ "@babel/generator": "^7.24.6",
+ "@babel/helper-environment-visitor": "^7.24.6",
+ "@babel/helper-function-name": "^7.24.6",
+ "@babel/helper-hoist-variables": "^7.24.6",
+ "@babel/helper-split-export-declaration": "^7.24.6",
+ "@babel/parser": "^7.24.6",
+ "@babel/types": "^7.24.6",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.24.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz",
+ "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.24.6",
+ "@babel/helper-validator-identifier": "^7.24.6",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@cloudflare/kv-asset-handler": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz",
+ "integrity": "sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==",
+ "dev": true,
+ "license": "MIT OR Apache-2.0",
+ "dependencies": {
+ "mime": "^3.0.0"
+ }
+ },
+ "node_modules/@csstools/selector-specificity": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz",
+ "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
+ "license": "CC0-1.0",
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2",
+ "postcss-selector-parser": "^6.0.10"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.15.18.tgz",
+ "integrity": "sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz",
+ "integrity": "sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@fastify/busboy": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
+ "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@highlightjs/vue-plugin": {
+ "version": "2.1.1",
+ "resolved": "git+ssh://git@github.com/highlightjs/vue-plugin.git#454575aef428cdfe164156f2451cf3aecea7f74e",
+ "license": "BSD-3-Clause",
+ "peerDependencies": {
+ "highlight.js": "^11.0.1",
+ "vue": "^3"
+ }
+ },
+ "node_modules/@ioredis/commands": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz",
+ "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
+ "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.0",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
+ }
+ },
+ "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.2.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.24"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "license": "MIT"
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@koa/router": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/@koa/router/-/router-9.4.0.tgz",
+ "integrity": "sha512-dOOXgzqaDoHu5qqMEPLKEgLz5CeIA7q8+1W62mCvFVCOqeC71UoTGJ4u1xUSOpIl2J1x2pqrNULkFteUeZW3/A==",
+ "deprecated": "**IMPORTANT 10x+ PERFORMANCE UPGRADE**: Please upgrade to v12.0.1+ as we have fixed an issue with debuglog causing 10x slower router benchmark performance, see https://github.com/koajs/router/pull/173",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "http-errors": "^1.7.3",
+ "koa-compose": "^4.1.0",
+ "methods": "^1.1.2",
+ "path-to-regexp": "^6.1.0"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/@koa/router/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/@koa/router/node_modules/http-errors": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/@koa/router/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz",
+ "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "detect-libc": "^2.0.0",
+ "https-proxy-agent": "^5.0.0",
+ "make-dir": "^3.1.0",
+ "node-fetch": "^2.6.7",
+ "nopt": "^5.0.0",
+ "npmlog": "^5.0.1",
+ "rimraf": "^3.0.2",
+ "semver": "^7.3.5",
+ "tar": "^6.1.11"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": {
+ "version": "2.6.7",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
+ "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@netlify/functions": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-1.3.0.tgz",
+ "integrity": "sha512-hN/Fgpz8XIOBfsBPLYUMxVKBlCopgeqGB0popayicnmkFLnvKByTTMYgF01wcF9DBtBQdV0H2h1kPFpMl34I8w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-promise": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8.3.0"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nuxt/devalue": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@nuxt/devalue/-/devalue-2.0.0.tgz",
+ "integrity": "sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@nuxt/kit": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.0.0.tgz",
+ "integrity": "sha512-7ZsOLt5s9a0ZleAIzmoD70JwkZf5ti6bDdxl6f8ew7Huxz+ni/oRfTPTX9TrORXsgW5CvDt6Q9M7IJNPkAN/Iw==",
+ "license": "MIT",
+ "dependencies": {
+ "@nuxt/schema": "3.0.0",
+ "c12": "^1.0.1",
+ "consola": "^2.15.3",
+ "defu": "^6.1.1",
+ "globby": "^13.1.2",
+ "hash-sum": "^2.0.0",
+ "ignore": "^5.2.0",
+ "jiti": "^1.16.0",
+ "knitwork": "^1.0.0",
+ "lodash.template": "^4.5.0",
+ "mlly": "^1.0.0",
+ "pathe": "^1.0.0",
+ "pkg-types": "^1.0.1",
+ "scule": "^1.0.0",
+ "semver": "^7.3.8",
+ "unctx": "^2.1.0",
+ "unimport": "^1.0.1",
+ "untyped": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@nuxt/postcss8": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@nuxt/postcss8/-/postcss8-1.1.3.tgz",
+ "integrity": "sha512-CdHtErhvQwueNZPBOmlAAKrNCK7aIpZDYhtS7TzXlSgPHHox1g3cSlf+Ke9oB/8t4mNNjdB+prclme2ibuCOEA==",
+ "license": "MIT",
+ "dependencies": {
+ "autoprefixer": "^10.2.5",
+ "css-loader": "^5.0.0",
+ "defu": "^3.2.2",
+ "postcss": "^8.1.10",
+ "postcss-import": "^13.0.0",
+ "postcss-loader": "^4.1.0",
+ "postcss-url": "^10.1.1",
+ "semver": "^7.3.4"
+ }
+ },
+ "node_modules/@nuxt/postcss8/node_modules/defu": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/defu/-/defu-3.2.2.tgz",
+ "integrity": "sha512-8UWj5lNv7HD+kB0e9w77Z7TdQlbUYDVWqITLHNqFIn6khrNHv5WQo38Dcm1f6HeNyZf0U7UbPf6WeZDSdCzGDQ==",
+ "license": "MIT"
+ },
+ "node_modules/@nuxt/schema": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-3.0.0.tgz",
+ "integrity": "sha512-5fwsidhs5NjFzR8sIzHMXO0WFGkI3tCH3ViANn2W4N5qCwoYZ0n1sZBkQ9Esn1VoEed6RsIlTpWrPZPVtqNkGQ==",
+ "license": "MIT",
+ "dependencies": {
+ "c12": "^1.0.1",
+ "create-require": "^1.1.1",
+ "defu": "^6.1.1",
+ "jiti": "^1.16.0",
+ "pathe": "^1.0.0",
+ "pkg-types": "^1.0.1",
+ "postcss-import-resolver": "^2.0.0",
+ "scule": "^1.0.0",
+ "std-env": "^3.3.1",
+ "ufo": "^1.0.0",
+ "unimport": "^1.0.1",
+ "untyped": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/@nuxt/schema/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "license": "MIT"
+ },
+ "node_modules/@nuxt/telemetry": {
+ "version": "2.1.8",
+ "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.1.8.tgz",
+ "integrity": "sha512-WCHRrcPKRosuHQi8CD5WfjiXGAyjOWVJpK77xS6wlg8zwziBPCqmVIQdr4QpFTGFO1Nrh4z26l1VnivKy22KFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nuxt/kit": "^3.0.0-rc.14",
+ "chalk": "^5.1.2",
+ "ci-info": "^3.6.1",
+ "consola": "^2.15.3",
+ "create-require": "^1.1.1",
+ "defu": "^6.1.1",
+ "destr": "^1.2.1",
+ "dotenv": "^16.0.3",
+ "fs-extra": "^10.1.0",
+ "git-url-parse": "^13.1.0",
+ "inquirer": "^9.1.4",
+ "is-docker": "^3.0.0",
+ "jiti": "^1.16.0",
+ "mri": "^1.2.0",
+ "nanoid": "^4.0.0",
+ "node-fetch": "^3.3.0",
+ "ohmyfetch": "^0.4.21",
+ "parse-git-config": "^3.0.0",
+ "rc9": "^2.0.0",
+ "std-env": "^3.3.1"
+ },
+ "bin": {
+ "nuxt-telemetry": "bin/nuxt-telemetry.mjs"
+ }
+ },
+ "node_modules/@nuxt/ui-templates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@nuxt/ui-templates/-/ui-templates-1.0.0.tgz",
+ "integrity": "sha512-jfpVHxi1AHfNO3D6iD1RJE6fx/7cAzekvG90poIzVawp/L+I4DNdy8pCgqBScJW4bfWOpHeLYbtQQlL/hPmkjw==",
+ "dev": true,
+ "license": "CC-BY-ND-4.0"
+ },
+ "node_modules/@nuxt/vite-builder": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.0.0.tgz",
+ "integrity": "sha512-eMnpPpjHU8rGZcsJUksCuSX+6dpId03q8LOSStsm6rXzrNJtZIcwt0nBRTUaigckXIozX8ZNl5u2OPGUfUbMrw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nuxt/kit": "3.0.0",
+ "@rollup/plugin-replace": "^5.0.1",
+ "@vitejs/plugin-vue": "^3.2.0",
+ "@vitejs/plugin-vue-jsx": "^2.1.1",
+ "autoprefixer": "^10.4.13",
+ "chokidar": "^3.5.3",
+ "cssnano": "^5.1.14",
+ "defu": "^6.1.1",
+ "esbuild": "^0.15.14",
+ "escape-string-regexp": "^5.0.0",
+ "estree-walker": "^3.0.1",
+ "externality": "^1.0.0",
+ "fs-extra": "^10.1.0",
+ "get-port-please": "^2.6.1",
+ "h3": "^1.0.1",
+ "knitwork": "^1.0.0",
+ "magic-string": "^0.26.7",
+ "mlly": "^1.0.0",
+ "ohash": "^1.0.0",
+ "pathe": "^1.0.0",
+ "perfect-debounce": "^0.1.3",
+ "pkg-types": "^1.0.1",
+ "postcss": "^8.4.19",
+ "postcss-import": "^15.0.0",
+ "postcss-url": "^10.1.3",
+ "rollup": "^2.79.1",
+ "rollup-plugin-visualizer": "^5.8.3",
+ "ufo": "^1.0.0",
+ "unplugin": "^1.0.0",
+ "vite": "~3.2.4",
+ "vite-node": "^0.25.2",
+ "vite-plugin-checker": "^0.5.1",
+ "vue-bundle-renderer": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.45"
+ }
+ },
+ "node_modules/@nuxt/vite-builder/node_modules/h3": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/h3/-/h3-1.0.2.tgz",
+ "integrity": "sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cookie-es": "^0.5.0",
+ "destr": "^1.2.2",
+ "radix3": "^1.0.0",
+ "ufo": "^1.0.1"
+ }
+ },
+ "node_modules/@nuxt/vite-builder/node_modules/postcss-import": {
+ "version": "15.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz",
+ "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/@nuxt/vite-builder/node_modules/radix3": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.0.0.tgz",
+ "integrity": "sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@nuxt/vite-builder/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@nuxtjs/tailwindcss": {
+ "version": "6.1.3",
+ "resolved": "https://registry.npmjs.org/@nuxtjs/tailwindcss/-/tailwindcss-6.1.3.tgz",
+ "integrity": "sha512-XgoltsFhpX5SCxgUA9cEyLuKyH9xkjlfT+npDQNhSW71/BpeNPmmtjyD+o5ShAvyiZD2AzvZ0/P/eMNDfT33fA==",
+ "license": "MIT",
+ "dependencies": {
+ "@nuxt/kit": "^3.0.0-rc.12",
+ "@nuxt/postcss8": "^1.1.3",
+ "autoprefixer": "^10.4.12",
+ "chalk": "^5.1.2",
+ "clear-module": "^4.1.2",
+ "consola": "^2.15.3",
+ "defu": "^6.1.0",
+ "h3": "^0.8.5",
+ "postcss": "^8.4.18",
+ "postcss-custom-properties": "^12.1.9",
+ "postcss-nesting": "^10.2.0",
+ "tailwind-config-viewer": "^1.7.2",
+ "tailwindcss": "^3.2.0",
+ "ufo": "^0.8.6"
+ }
+ },
+ "node_modules/@rollup/plugin-alias": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-4.0.2.tgz",
+ "integrity": "sha512-1hv7dBOZZwo3SEupxn4UA2N0EDThqSSS+wI1St1TNTBtOZvUchyIClyHcnDcjjrReTPZ47Faedrhblv4n+T5UQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "slash": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-commonjs": {
+ "version": "23.0.4",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-23.0.4.tgz",
+ "integrity": "sha512-bOPJeTZg56D2MCm+TT4psP8e8Jmf1Jsi7pFUMl8BN5kOADNzofNHe47+84WVCt7D095xPghC235/YKuNDEhczg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "commondir": "^1.0.1",
+ "estree-walker": "^2.0.2",
+ "glob": "^8.0.3",
+ "is-reference": "1.2.1",
+ "magic-string": "^0.26.4"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.68.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-commonjs/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/plugin-inject": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.2.tgz",
+ "integrity": "sha512-zRthPC/sZ2OaQwPh2LvFn0A+3SyMAZR1Vqsp89mWkIuGXKswT8ty1JWj1pf7xdZvft4gHZaCuhdopuiCwjclWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.26.4"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-inject/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@rollup/plugin-json": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-5.0.2.tgz",
+ "integrity": "sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-node-resolve": {
+ "version": "15.0.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz",
+ "integrity": "sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "@types/resolve": "1.20.2",
+ "deepmerge": "^4.2.2",
+ "is-builtin-module": "^3.2.0",
+ "is-module": "^1.0.0",
+ "resolve": "^1.22.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.78.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-replace": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.1.tgz",
+ "integrity": "sha512-Z3MfsJ4CK17BfGrZgvrcp/l6WXoKb0kokULO+zt/7bmcyayokDaQ2K3eDJcRLCTAlp5FPI4/gz9MHAsosz4Rag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "magic-string": "^0.26.4"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/plugin-wasm": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-wasm/-/plugin-wasm-6.0.1.tgz",
+ "integrity": "sha512-a5yRknFQG/QGhb1xGkazWXgjpsv0hhWlx34irsf5adMEo55NdpzhZLg+jx49u+bzH6ekktuFg2WKA1RAF+WEDQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz",
+ "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "license": "MIT"
+ },
+ "node_modules/@trysound/sax": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
+ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/@types/chai": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz",
+ "integrity": "sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/chai-subset": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz",
+ "integrity": "sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/chai": "*"
+ }
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.56.10",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
+ "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+ "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.11",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
+ "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "18.11.15",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz",
+ "integrity": "sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==",
+ "license": "MIT"
+ },
+ "node_modules/@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
+ "license": "MIT"
+ },
+ "node_modules/@types/resolve": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@unhead/dom": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.0.13.tgz",
+ "integrity": "sha512-ErfhK3Nwk3kpxnPEOrkruKAdS3/TrNlKs0nYtKgFJ1ywJYg+uNwRFDe82v4JdUMhnfmbgL/qcO3PTx3Dv09IEQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unhead/schema": "1.0.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/@unhead/schema": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.0.13.tgz",
+ "integrity": "sha512-K8SiAEkM8G7GaF1QvsKlthLmRqGB8R9SvZXMCucZqb2VQ6bU4IFSs/4q6dKxmV0fXb5AHdKUL9+rX/4rQ6FsZg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@zhead/schema": "^1.0.7",
+ "hookable": "^5.4.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/@unhead/ssr": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.0.13.tgz",
+ "integrity": "sha512-pach3THVx8LU54M6aQ4qZeQdcLjXVnPlpHe7pQjHGvD6iBJC5bZc8TL+CHdTRxeiq2DqMA5uyfoor7VJJTi5AQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unhead/schema": "1.0.13"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/@unhead/vue": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.0.13.tgz",
+ "integrity": "sha512-sGl640UQqN8HUYTKXOh6gErk/vw8byPdx1+ECqX4ec7UZYktsWgfyIReYBu09Qm3O6pIYfX8HlZbDipX+wQAOQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unhead/schema": "1.0.13",
+ "hookable": "^5.4.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ },
+ "peerDependencies": {
+ "vue": ">=2.7 || >=3"
+ }
+ },
+ "node_modules/@vercel/nft": {
+ "version": "0.22.5",
+ "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.22.5.tgz",
+ "integrity": "sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@mapbox/node-pre-gyp": "^1.0.5",
+ "@rollup/pluginutils": "^4.0.0",
+ "acorn": "^8.6.0",
+ "async-sema": "^3.1.1",
+ "bindings": "^1.4.0",
+ "estree-walker": "2.0.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.2",
+ "node-gyp-build": "^4.2.2",
+ "resolve-from": "^5.0.0"
+ },
+ "bin": {
+ "nft": "out/cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ }
+ },
+ "node_modules/@vercel/nft/node_modules/@rollup/pluginutils": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz",
+ "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "estree-walker": "^2.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ }
+ },
+ "node_modules/@vercel/nft/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/@vercel/nft/node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vercel/nft/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@vercel/nft/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz",
+ "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^3.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@vitejs/plugin-vue-jsx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-2.1.1.tgz",
+ "integrity": "sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.19.6",
+ "@babel/plugin-transform-typescript": "^7.20.0",
+ "@vue/babel-plugin-jsx": "^1.1.1"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^3.0.0",
+ "vue": "^3.0.0"
+ }
+ },
+ "node_modules/@vue/babel-helper-vue-transform-on": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz",
+ "integrity": "sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vue/babel-plugin-jsx": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz",
+ "integrity": "sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/plugin-syntax-jsx": "^7.0.0",
+ "@babel/template": "^7.0.0",
+ "@babel/traverse": "^7.0.0",
+ "@babel/types": "^7.0.0",
+ "@vue/babel-helper-vue-transform-on": "^1.0.2",
+ "camelcase": "^6.0.0",
+ "html-tags": "^3.1.0",
+ "svg-tags": "^1.0.0"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz",
+ "integrity": "sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.24.4",
+ "@vue/shared": "3.4.27",
+ "entities": "^4.5.0",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-core/node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/@vue/compiler-core/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==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz",
+ "integrity": "sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-core": "3.4.27",
+ "@vue/shared": "3.4.27"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz",
+ "integrity": "sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.24.4",
+ "@vue/compiler-core": "3.4.27",
+ "@vue/compiler-dom": "3.4.27",
+ "@vue/compiler-ssr": "3.4.27",
+ "@vue/shared": "3.4.27",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.10",
+ "postcss": "^8.4.38",
+ "source-map-js": "^1.2.0"
+ }
+ },
+ "node_modules/@vue/compiler-sfc/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==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/compiler-sfc/node_modules/magic-string": {
+ "version": "0.30.10",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
+ "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz",
+ "integrity": "sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.27",
+ "@vue/shared": "3.4.27"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "6.4.5",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz",
+ "integrity": "sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.27.tgz",
+ "integrity": "sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/shared": "3.4.27"
+ }
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.27.tgz",
+ "integrity": "sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.4.27",
+ "@vue/shared": "3.4.27"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.27.tgz",
+ "integrity": "sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/runtime-core": "3.4.27",
+ "@vue/shared": "3.4.27",
+ "csstype": "^3.1.3"
+ }
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.27.tgz",
+ "integrity": "sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.4.27",
+ "@vue/shared": "3.4.27"
+ },
+ "peerDependencies": {
+ "vue": "3.4.27"
+ }
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz",
+ "integrity": "sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==",
+ "license": "MIT"
+ },
+ "node_modules/@vueuse/head": {
+ "version": "1.0.22",
+ "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-1.0.22.tgz",
+ "integrity": "sha512-YmUdbzNdCnhmrAFxGnJS+Rixj+swE+TQC9OEaYDHIro6gE7W11jugcdwVP00HrA4WRQhg+TOQ4YcY2oL/PP1hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unhead/dom": "^1.0.9",
+ "@unhead/schema": "^1.0.9",
+ "@unhead/ssr": "^1.0.9",
+ "@unhead/vue": "^1.0.9"
+ },
+ "peerDependencies": {
+ "vue": ">=2.7 || >=3"
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
+ "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+ "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
+ "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
+ "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
+ "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-opt": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1",
+ "@webassemblyjs/wast-printer": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
+ "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
+ "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
+ "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
+ "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "license": "BSD-3-Clause",
+ "peer": true
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "license": "Apache-2.0",
+ "peer": true
+ },
+ "node_modules/@zhead/schema": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/@zhead/schema/-/schema-1.0.7.tgz",
+ "integrity": "sha512-jN2ipkz39YrHd8uulgw/Y7x8iOxvR/cTkin/E9zRQVP5JBIrrJMiGyFFj6JBW4Q029xJ5dKtpwy/3RZWpz+dkQ==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/accepts": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "~2.1.34",
+ "negotiator": "0.6.3"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-import-assertions": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
+ "license": "MIT",
+ "peer": true,
+ "peerDependencies": {
+ "acorn": "^8"
+ }
+ },
+ "node_modules/acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "node_modules/acorn-node/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.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==",
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.0.0.tgz",
+ "integrity": "sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
+ "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/aos": {
+ "version": "3.0.0-beta.6",
+ "resolved": "https://registry.npmjs.org/aos/-/aos-3.0.0-beta.6.tgz",
+ "integrity": "sha512-VLWrpq8bfAWcetynVHMMrqdC+89Qq/Ym6UBJbHB4crIwp3RR8uq1dNGgsFzoDl03S43rlVMK+na3r5+oUCZsYw==",
+ "license": "MIT",
+ "dependencies": {
+ "classlist-polyfill": "^1.2.0",
+ "lodash.debounce": "^4.0.8",
+ "lodash.throttle": "^4.1.1"
+ }
+ },
+ "node_modules/aproba": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
+ "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/arch": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz",
+ "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==",
+ "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"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/archiver": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
+ "integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "archiver-utils": "^2.1.0",
+ "async": "^3.2.3",
+ "buffer-crc32": "^0.2.1",
+ "readable-stream": "^3.6.0",
+ "readdir-glob": "^1.0.0",
+ "tar-stream": "^2.2.0",
+ "zip-stream": "^4.1.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/archiver-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz",
+ "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "glob": "^7.1.4",
+ "graceful-fs": "^4.2.0",
+ "lazystream": "^1.0.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.difference": "^4.5.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.union": "^4.6.0",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/archiver-utils/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/archiver-utils/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
+ "deprecated": "This package is no longer supported.",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==",
+ "license": "MIT"
+ },
+ "node_modules/assertion-error": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+ "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
+ "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/async-sema": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz",
+ "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.13",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
+ "integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "caniuse-lite": "^1.0.30001426",
+ "fraction.js": "^4.2.0",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "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"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
+ "node_modules/bl": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz",
+ "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^6.0.3",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "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,
+ "license": "ISC"
+ },
+ "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,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+ "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+ "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"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.2.1"
+ }
+ },
+ "node_modules/buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/c12": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/c12/-/c12-1.1.0.tgz",
+ "integrity": "sha512-9KRFWEng+TH8sGST4NNdiKzZGw1Z1CHnPGAmNqAyVP7suluROmBjD8hsiR34f94DdlrvtGvvmiGDsoFXlCBWIw==",
+ "license": "MIT",
+ "dependencies": {
+ "defu": "^6.1.1",
+ "dotenv": "^16.0.3",
+ "giget": "^1.0.0",
+ "jiti": "^1.16.0",
+ "mlly": "^1.0.0",
+ "pathe": "^1.0.0",
+ "pkg-types": "^1.0.1",
+ "rc9": "^2.0.0"
+ }
+ },
+ "node_modules/cache-content-type": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz",
+ "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-types": "^2.1.18",
+ "ylru": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/caniuse-api": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+ "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.0.0",
+ "caniuse-lite": "^1.0.0",
+ "lodash.memoize": "^4.1.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001627",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001627.tgz",
+ "integrity": "sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "CC-BY-4.0"
+ },
+ "node_modules/chai": {
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz",
+ "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assertion-error": "^1.1.0",
+ "check-error": "^1.0.2",
+ "deep-eql": "^4.1.2",
+ "get-func-name": "^2.0.0",
+ "loupe": "^2.3.1",
+ "pathval": "^1.1.1",
+ "type-detect": "^4.0.5"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz",
+ "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==",
+ "license": "MIT",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/chardet": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/check-error": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+ "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chownr": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+ "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz",
+ "integrity": "sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/classlist-polyfill": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz",
+ "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==",
+ "license": "Unlicense"
+ },
+ "node_modules/clear-module": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/clear-module/-/clear-module-4.1.2.tgz",
+ "integrity": "sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==",
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^2.0.0",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-cursor": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz",
+ "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "restore-cursor": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-spinners": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz",
+ "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cli-width": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.0.0.tgz",
+ "integrity": "sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/clipboardy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz",
+ "integrity": "sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arch": "^2.2.0",
+ "execa": "^5.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/cliui/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/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==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/cliui/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==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/cliui/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
+ },
+ "node_modules/cliui/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/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==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cliui/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/clone": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+ "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/cluster-key-slot": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
+ "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "license": "MIT",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color-convert/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/color-support": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
+ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "color-support": "bin.js"
+ }
+ },
+ "node_modules/colord": {
+ "version": "2.9.3",
+ "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+ "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/colorette": {
+ "version": "2.0.19",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
+ "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==",
+ "license": "MIT"
+ },
+ "node_modules/commander": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+ "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/compress-commons": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
+ "integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-crc32": "^0.2.13",
+ "crc32-stream": "^4.0.2",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "license": "MIT"
+ },
+ "node_modules/consola": {
+ "version": "2.15.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
+ "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
+ "license": "MIT"
+ },
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.4",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "5.2.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/content-type": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+ "license": "MIT"
+ },
+ "node_modules/cookie-es": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-0.5.0.tgz",
+ "integrity": "sha512-RyZrFi6PNpBFbIaQjXDlFIhFVqV42QeKSZX1yQIl6ihImq6vcHNGMtqQ/QzY3RMPuYSkvsRwtnt5M9NeYxKt0g==",
+ "license": "MIT"
+ },
+ "node_modules/cookies": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
+ "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~2.0.0",
+ "keygrip": "~1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "license": "MIT"
+ },
+ "node_modules/cosmiconfig": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+ "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.2.1",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.10.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/crc-32": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
+ "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "crc32": "bin/crc32.njs"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/crc32-stream": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
+ "integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "crc-32": "^1.2.0",
+ "readable-stream": "^3.4.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "license": "MIT"
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-declaration-sorter": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz",
+ "integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
+ }
+ },
+ "node_modules/css-loader": {
+ "version": "5.2.7",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
+ "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
+ "license": "MIT",
+ "dependencies": {
+ "icss-utils": "^5.1.0",
+ "loader-utils": "^2.0.0",
+ "postcss": "^8.2.15",
+ "postcss-modules-extract-imports": "^3.0.0",
+ "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-scope": "^3.0.0",
+ "postcss-modules-values": "^4.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^3.0.0",
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.27.0 || ^5.0.0"
+ }
+ },
+ "node_modules/css-select": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
+ "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^6.0.1",
+ "domhandler": "^4.3.1",
+ "domutils": "^2.8.0",
+ "nth-check": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
+ "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mdn-data": "2.0.14",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/css-tree/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==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cssnano": {
+ "version": "5.1.14",
+ "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz",
+ "integrity": "sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-preset-default": "^5.2.13",
+ "lilconfig": "^2.0.3",
+ "yaml": "^1.10.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/cssnano"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/cssnano-preset-default": {
+ "version": "5.2.13",
+ "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz",
+ "integrity": "sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "css-declaration-sorter": "^6.3.1",
+ "cssnano-utils": "^3.1.0",
+ "postcss-calc": "^8.2.3",
+ "postcss-colormin": "^5.3.0",
+ "postcss-convert-values": "^5.1.3",
+ "postcss-discard-comments": "^5.1.2",
+ "postcss-discard-duplicates": "^5.1.0",
+ "postcss-discard-empty": "^5.1.1",
+ "postcss-discard-overridden": "^5.1.0",
+ "postcss-merge-longhand": "^5.1.7",
+ "postcss-merge-rules": "^5.1.3",
+ "postcss-minify-font-values": "^5.1.0",
+ "postcss-minify-gradients": "^5.1.1",
+ "postcss-minify-params": "^5.1.4",
+ "postcss-minify-selectors": "^5.2.1",
+ "postcss-normalize-charset": "^5.1.0",
+ "postcss-normalize-display-values": "^5.1.0",
+ "postcss-normalize-positions": "^5.1.1",
+ "postcss-normalize-repeat-style": "^5.1.1",
+ "postcss-normalize-string": "^5.1.0",
+ "postcss-normalize-timing-functions": "^5.1.0",
+ "postcss-normalize-unicode": "^5.1.1",
+ "postcss-normalize-url": "^5.1.0",
+ "postcss-normalize-whitespace": "^5.1.1",
+ "postcss-ordered-values": "^5.1.3",
+ "postcss-reduce-initial": "^5.1.1",
+ "postcss-reduce-transforms": "^5.1.0",
+ "postcss-svgo": "^5.1.0",
+ "postcss-unique-selectors": "^5.1.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/cssnano-utils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
+ "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/csso": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
+ "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "css-tree": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "license": "MIT"
+ },
+ "node_modules/cuint": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
+ "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==",
+ "license": "MIT"
+ },
+ "node_modules/data-uri-to-buffer": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz",
+ "integrity": "sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-eql": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz",
+ "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-detect": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==",
+ "license": "MIT"
+ },
+ "node_modules/deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/defaults": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz",
+ "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clone": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/define-lazy-prop": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+ "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/defined": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/defu": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.1.tgz",
+ "integrity": "sha512-aA964RUCsBt0FGoNIlA3uFgo2hO+WWC0fiC6DBps/0SFzkKcYoM/3CzVLIa5xSsrFjdioMdYgAIbwo80qp2MoA==",
+ "license": "MIT"
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+ "license": "MIT"
+ },
+ "node_modules/denque": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+ "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/destr": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz",
+ "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==",
+ "license": "MIT"
+ },
+ "node_modules/destroy": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8",
+ "npm": "1.2.8000 || >= 1.4.16"
+ }
+ },
+ "node_modules/detect-libc": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+ "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/detective": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn-node": "^1.8.2",
+ "defined": "^1.0.0",
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "detective": "bin/detective.js"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==",
+ "license": "Apache-2.0"
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==",
+ "license": "MIT"
+ },
+ "node_modules/dom-serializer": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
+ "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/domhandler": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
+ "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/dot-prop": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz",
+ "integrity": "sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^2.11.2"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/dot-prop/node_modules/type-fest": {
+ "version": "2.19.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
+ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/dotenv": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
+ "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/eastasianwidth": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ee-first": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+ "license": "MIT"
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.789",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.789.tgz",
+ "integrity": "sha512-0VbyiaXoT++Fi2vHGo2ThOeS6X3vgRCWrjPeO2FeIAWL6ItiSJ9BqlH8LfCXe3X1IdcG+S0iLoNaxQWhfZoGzQ==",
+ "license": "ISC"
+ },
+ "node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/encodeurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+ "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "license": "MIT",
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "license": "MIT",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz",
+ "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/esbuild": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz",
+ "integrity": "sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.15.18",
+ "@esbuild/linux-loong64": "0.15.18",
+ "esbuild-android-64": "0.15.18",
+ "esbuild-android-arm64": "0.15.18",
+ "esbuild-darwin-64": "0.15.18",
+ "esbuild-darwin-arm64": "0.15.18",
+ "esbuild-freebsd-64": "0.15.18",
+ "esbuild-freebsd-arm64": "0.15.18",
+ "esbuild-linux-32": "0.15.18",
+ "esbuild-linux-64": "0.15.18",
+ "esbuild-linux-arm": "0.15.18",
+ "esbuild-linux-arm64": "0.15.18",
+ "esbuild-linux-mips64le": "0.15.18",
+ "esbuild-linux-ppc64le": "0.15.18",
+ "esbuild-linux-riscv64": "0.15.18",
+ "esbuild-linux-s390x": "0.15.18",
+ "esbuild-netbsd-64": "0.15.18",
+ "esbuild-openbsd-64": "0.15.18",
+ "esbuild-sunos-64": "0.15.18",
+ "esbuild-windows-32": "0.15.18",
+ "esbuild-windows-64": "0.15.18",
+ "esbuild-windows-arm64": "0.15.18"
+ }
+ },
+ "node_modules/esbuild-android-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz",
+ "integrity": "sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-android-arm64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz",
+ "integrity": "sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz",
+ "integrity": "sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-darwin-arm64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz",
+ "integrity": "sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz",
+ "integrity": "sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-freebsd-arm64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz",
+ "integrity": "sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-32": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz",
+ "integrity": "sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz",
+ "integrity": "sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz",
+ "integrity": "sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-arm64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz",
+ "integrity": "sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-mips64le": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz",
+ "integrity": "sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-ppc64le": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz",
+ "integrity": "sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-riscv64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz",
+ "integrity": "sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-linux-s390x": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz",
+ "integrity": "sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-netbsd-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz",
+ "integrity": "sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-openbsd-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz",
+ "integrity": "sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-sunos-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz",
+ "integrity": "sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-32": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz",
+ "integrity": "sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz",
+ "integrity": "sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/esbuild-windows-arm64": {
+ "version": "0.15.18",
+ "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz",
+ "integrity": "sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+ "license": "MIT"
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "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==",
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "license": "BSD-2-Clause",
+ "peer": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.1.tgz",
+ "integrity": "sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==",
+ "license": "MIT"
+ },
+ "node_modules/etag": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/eventemitter3": {
+ "version": "4.0.7",
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/external-editor": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
+ "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
+ "tmp": "^0.0.33"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/externality": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/externality/-/externality-1.0.0.tgz",
+ "integrity": "sha512-MAU9ci3XdpqOX1aoIoyL2DMzW97P8LYeJxIUkfXhOfsrkH4KLHFaYDwKN0B2l6tqedVJWiTIJtWmxmZfa05vOQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "enhanced-resolve": "^5.10.0",
+ "mlly": "^1.0.0",
+ "pathe": "^1.0.0",
+ "ufo": "^1.0.0"
+ }
+ },
+ "node_modules/externality/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.2.12",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+ "license": "MIT",
+ "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-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==",
+ "license": "MIT"
+ },
+ "node_modules/fastq": {
+ "version": "1.14.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz",
+ "integrity": "sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==",
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fetch-blob": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz",
+ "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "paypal",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "node-domexception": "^1.0.0",
+ "web-streams-polyfill": "^3.0.3"
+ },
+ "engines": {
+ "node": "^12.20 || >= 14.13"
+ }
+ },
+ "node_modules/figures": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz",
+ "integrity": "sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-string-regexp": "^5.0.0",
+ "is-unicode-supported": "^1.2.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "license": "BSD-3-Clause",
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.6",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
+ "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/formdata-polyfill": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz",
+ "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fetch-blob": "^3.1.2"
+ },
+ "engines": {
+ "node": ">=12.20.0"
+ }
+ },
+ "node_modules/fraction.js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "patreon",
+ "url": "https://www.patreon.com/infusion"
+ }
+ },
+ "node_modules/fresh": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/fs-constants": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
+ "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fs-extra": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+ "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/fs-memo": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fs-memo/-/fs-memo-1.2.0.tgz",
+ "integrity": "sha512-YEexkCpL4j03jn5SxaMHqcO6IuWuqm8JFUYhyCep7Ao89JIYmB8xoKhK7zXXJ9cCaNXpyNH5L3QtAmoxjoHW2w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/fs-minipass/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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==",
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "license": "MIT"
+ },
+ "node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
+ "deprecated": "This package is no longer supported.",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/gauge/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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/gauge/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/gauge/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/gauge/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,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "license": "ISC",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-func-name": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
+ "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/get-port-please": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-2.6.1.tgz",
+ "integrity": "sha512-4PDSrL6+cuMM1xs6w36ZIkaKzzE0xzfVBCfebHIJ3FE8iB9oic/ECwPw3iNiD4h1AoJ5XLLBhEviFAVrZsDC5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fs-memo": "^1.2.0"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/giget": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/giget/-/giget-1.0.0.tgz",
+ "integrity": "sha512-KWELZn3Nxq5+0So485poHrFriK9Bn3V/x9y+wgqrHkbmnGbjfLmZ685/SVA/ovW+ewoqW0gVI47pI4yW/VNobQ==",
+ "license": "MIT",
+ "dependencies": {
+ "colorette": "^2.0.19",
+ "defu": "^6.1.1",
+ "https-proxy-agent": "^5.0.1",
+ "mri": "^1.2.0",
+ "node-fetch-native": "^1.0.1",
+ "pathe": "^1.0.0",
+ "tar": "^6.1.12"
+ },
+ "bin": {
+ "giget": "dist/cli.mjs"
+ }
+ },
+ "node_modules/git-config-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz",
+ "integrity": "sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/git-up": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz",
+ "integrity": "sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-ssh": "^1.4.0",
+ "parse-url": "^8.1.0"
+ }
+ },
+ "node_modules/git-url-parse": {
+ "version": "13.1.0",
+ "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz",
+ "integrity": "sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "git-up": "^7.0.0"
+ }
+ },
+ "node_modules/glob": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz",
+ "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^5.0.1",
+ "once": "^1.3.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "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==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "license": "BSD-2-Clause",
+ "peer": true
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/globby": {
+ "version": "13.1.3",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz",
+ "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==",
+ "license": "MIT",
+ "dependencies": {
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.11",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "license": "ISC"
+ },
+ "node_modules/gzip-size": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz",
+ "integrity": "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "duplexer": "^0.1.2"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/h3": {
+ "version": "0.8.6",
+ "resolved": "https://registry.npmjs.org/h3/-/h3-0.8.6.tgz",
+ "integrity": "sha512-CSWNOKa3QGo67rFU2PhbFTp0uPJtilNji2Z0pMiSRQt3+OkIW0u3E1WMJqIycLqaTgb9JyFqH/S4mcTyyGtvyQ==",
+ "license": "MIT",
+ "dependencies": {
+ "cookie-es": "^0.5.0",
+ "destr": "^1.2.0",
+ "radix3": "^0.2.1",
+ "ufo": "^0.8.6"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/hash-sum": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
+ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
+ "license": "MIT"
+ },
+ "node_modules/highlight.js": {
+ "version": "11.7.0",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.7.0.tgz",
+ "integrity": "sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/hookable": {
+ "version": "5.4.2",
+ "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.4.2.tgz",
+ "integrity": "sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/html-tags": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz",
+ "integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/http-assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz",
+ "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==",
+ "license": "MIT",
+ "dependencies": {
+ "deep-equal": "~1.0.1",
+ "http-errors": "~1.8.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-assert/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/http-assert/node_modules/http-errors": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/http-assert/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/http-errors": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "depd": "2.0.0",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": "2.0.1",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/http-proxy": {
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eventemitter3": "^4.0.0",
+ "follow-redirects": "^1.0.0",
+ "requires-port": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/http-shutdown": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz",
+ "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/icss-utils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
+ "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
+ "license": "ISC",
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "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"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ignore": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz",
+ "integrity": "sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-fresh/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==",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/import-fresh/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "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==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "license": "ISC",
+ "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==",
+ "license": "ISC"
+ },
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/inquirer": {
+ "version": "9.1.4",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.1.4.tgz",
+ "integrity": "sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-escapes": "^6.0.0",
+ "chalk": "^5.1.2",
+ "cli-cursor": "^4.0.0",
+ "cli-width": "^4.0.0",
+ "external-editor": "^3.0.3",
+ "figures": "^5.0.0",
+ "lodash": "^4.17.21",
+ "mute-stream": "0.0.8",
+ "ora": "^6.1.2",
+ "run-async": "^2.4.0",
+ "rxjs": "^7.5.7",
+ "string-width": "^5.1.2",
+ "strip-ansi": "^7.0.1",
+ "through": "^2.3.6",
+ "wrap-ansi": "^8.0.1"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/ioredis": {
+ "version": "5.2.4",
+ "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.2.4.tgz",
+ "integrity": "sha512-qIpuAEt32lZJQ0XyrloCRdlEdUUNGG9i0UOk6zgzK6igyudNWqEBxfH6OlbnOOoBBvr1WB02mm8fR55CnikRng==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@ioredis/commands": "^1.1.1",
+ "cluster-key-slot": "^1.1.0",
+ "debug": "^4.3.4",
+ "denque": "^2.0.1",
+ "lodash.defaults": "^4.2.0",
+ "lodash.isarguments": "^3.1.0",
+ "redis-errors": "^1.2.0",
+ "redis-parser": "^3.0.0",
+ "standard-as-callback": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ioredis"
+ }
+ },
+ "node_modules/ip-regex": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz",
+ "integrity": "sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "license": "MIT"
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-builtin-module": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz",
+ "integrity": "sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "builtin-modules": "^3.3.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.11.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
+ "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-docker": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+ "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "license": "MIT",
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-interactive": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz",
+ "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-primitive": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz",
+ "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-reference": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/is-ssh": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz",
+ "integrity": "sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.1"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-unicode-supported": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
+ "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-wsl": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+ "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-wsl/node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/jest-worker": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
+ "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz",
+ "integrity": "sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==",
+ "license": "MIT",
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "license": "MIT"
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "license": "MIT",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "license": "MIT"
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "license": "MIT",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "license": "MIT"
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "license": "MIT",
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/keygrip": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
+ "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
+ "license": "MIT",
+ "dependencies": {
+ "tsscmp": "1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/klona": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz",
+ "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/knitwork": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz",
+ "integrity": "sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==",
+ "license": "MIT"
+ },
+ "node_modules/koa": {
+ "version": "2.14.1",
+ "resolved": "https://registry.npmjs.org/koa/-/koa-2.14.1.tgz",
+ "integrity": "sha512-USJFyZgi2l0wDgqkfD27gL4YGno7TfUkcmOe6UOLFOVuN+J7FwnNu4Dydl4CUQzraM1lBAiGed0M9OVJoT0Kqw==",
+ "license": "MIT",
+ "dependencies": {
+ "accepts": "^1.3.5",
+ "cache-content-type": "^1.0.0",
+ "content-disposition": "~0.5.2",
+ "content-type": "^1.0.4",
+ "cookies": "~0.8.0",
+ "debug": "^4.3.2",
+ "delegates": "^1.0.0",
+ "depd": "^2.0.0",
+ "destroy": "^1.0.4",
+ "encodeurl": "^1.0.2",
+ "escape-html": "^1.0.3",
+ "fresh": "~0.5.2",
+ "http-assert": "^1.3.0",
+ "http-errors": "^1.6.3",
+ "is-generator-function": "^1.0.7",
+ "koa-compose": "^4.1.0",
+ "koa-convert": "^2.0.0",
+ "on-finished": "^2.3.0",
+ "only": "~0.0.2",
+ "parseurl": "^1.3.2",
+ "statuses": "^1.5.0",
+ "type-is": "^1.6.16",
+ "vary": "^1.1.2"
+ },
+ "engines": {
+ "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4"
+ }
+ },
+ "node_modules/koa-compose": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz",
+ "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==",
+ "license": "MIT"
+ },
+ "node_modules/koa-convert": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz",
+ "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==",
+ "license": "MIT",
+ "dependencies": {
+ "co": "^4.6.0",
+ "koa-compose": "^4.1.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/koa-send": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz",
+ "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "http-errors": "^1.7.3",
+ "resolve-path": "^1.4.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/koa-send/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/koa-send/node_modules/http-errors": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/koa-send/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/koa-static": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz",
+ "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^3.1.0",
+ "koa-send": "^5.0.0"
+ },
+ "engines": {
+ "node": ">= 7.6.0"
+ }
+ },
+ "node_modules/koa-static/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/koa/node_modules/http-errors": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz",
+ "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.4",
+ "setprototypeof": "1.2.0",
+ "statuses": ">= 1.5.0 < 2",
+ "toidentifier": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/koa/node_modules/http-errors/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/koa/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/lazystream": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+ "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "^2.0.5"
+ },
+ "engines": {
+ "node": ">= 0.6.3"
+ }
+ },
+ "node_modules/lazystream/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/lazystream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lazystream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "license": "MIT"
+ },
+ "node_modules/listhen": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.0.1.tgz",
+ "integrity": "sha512-RBzBGHMCc5wP8J5Vf8WgF4CAJH8dWHi9LaKB7vfzZt54CiH/0dp01rudy2hFD9wCrTM+UfxFVnn5wTIiY+Qhiw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clipboardy": "^3.0.0",
+ "colorette": "^2.0.19",
+ "defu": "^6.1.1",
+ "get-port-please": "^2.6.1",
+ "http-shutdown": "^1.2.2",
+ "ip-regex": "^5.0.0",
+ "node-forge": "^1.3.1",
+ "ufo": "^1.0.0"
+ }
+ },
+ "node_modules/listhen/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
+ "license": "MIT",
+ "peer": true,
+ "engines": {
+ "node": ">=6.11.5"
+ }
+ },
+ "node_modules/loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "license": "MIT",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/local-pkg": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz",
+ "integrity": "sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "license": "MIT"
+ },
+ "node_modules/lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==",
+ "license": "MIT"
+ },
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+ "license": "MIT"
+ },
+ "node_modules/lodash.defaults": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.difference": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz",
+ "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.flatten": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
+ "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.isarguments": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+ "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.pick": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
+ "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "node_modules/lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "node_modules/lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==",
+ "license": "MIT"
+ },
+ "node_modules/lodash.union": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz",
+ "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/log-symbols": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz",
+ "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^5.0.0",
+ "is-unicode-supported": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/loupe": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz",
+ "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==",
+ "deprecated": "Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "get-func-name": "^2.0.0"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.26.7",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz",
+ "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==",
+ "license": "MIT",
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
+ "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
+ "dev": true,
+ "license": "CC0-1.0"
+ },
+ "node_modules/media-typer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/memory-fs": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+ "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+ "license": "MIT",
+ "dependencies": {
+ "errno": "^0.1.3",
+ "readable-stream": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4.3.0 <5.0.0 || >=5.10"
+ }
+ },
+ "node_modules/memory-fs/node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/memory-fs/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "license": "MIT"
+ },
+ "node_modules/memory-fs/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "license": "MIT"
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/methods": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
+ "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz",
+ "integrity": "sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/minizlib": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz",
+ "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
+ "license": "MIT",
+ "dependencies": {
+ "minipass": "^3.0.0",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/minizlib/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/mkdir": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/mkdir/-/mkdir-0.0.2.tgz",
+ "integrity": "sha512-98OnjcWaNEIRUJJe9rFoWlbkQ5n9z8F86wIPCrI961YEViiVybTuJln919WuuSHSnlrqXy0ELKCntoPy8C7lqg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
+ "node_modules/mlly": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.0.0.tgz",
+ "integrity": "sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.8.1",
+ "pathe": "^1.0.0",
+ "pkg-types": "^1.0.0",
+ "ufo": "^1.0.0"
+ }
+ },
+ "node_modules/mlly/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "license": "MIT"
+ },
+ "node_modules/mri": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/mute-stream": {
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/nanoid": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.0.tgz",
+ "integrity": "sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.js"
+ },
+ "engines": {
+ "node": "^14 || ^16 || >=18"
+ }
+ },
+ "node_modules/negotiator": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/nitropack": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/nitropack/-/nitropack-1.0.0.tgz",
+ "integrity": "sha512-788lHgNgC+NKqecwFgMkAQTuTXwuh2hEgOk2sLwV3qPVUogxrl6P3m5eKdt6Mtzx+mlXIw0G/P90B5TNWEqDSQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@cloudflare/kv-asset-handler": "^0.2.0",
+ "@netlify/functions": "^1.3.0",
+ "@rollup/plugin-alias": "^4.0.2",
+ "@rollup/plugin-commonjs": "^23.0.2",
+ "@rollup/plugin-inject": "^5.0.2",
+ "@rollup/plugin-json": "^5.0.1",
+ "@rollup/plugin-node-resolve": "^15.0.1",
+ "@rollup/plugin-replace": "^5.0.1",
+ "@rollup/plugin-wasm": "^6.0.1",
+ "@rollup/pluginutils": "^5.0.2",
+ "@vercel/nft": "^0.22.1",
+ "archiver": "^5.3.1",
+ "c12": "^1.0.1",
+ "chalk": "^5.1.2",
+ "chokidar": "^3.5.3",
+ "consola": "^2.15.3",
+ "cookie-es": "^0.5.0",
+ "defu": "^6.1.1",
+ "destr": "^1.2.1",
+ "dot-prop": "^7.2.0",
+ "esbuild": "^0.15.14",
+ "escape-string-regexp": "^5.0.0",
+ "etag": "^1.8.1",
+ "fs-extra": "^10.1.0",
+ "globby": "^13.1.2",
+ "gzip-size": "^7.0.0",
+ "h3": "^1.0.1",
+ "hookable": "^5.4.2",
+ "http-proxy": "^1.18.1",
+ "is-primitive": "^3.0.1",
+ "jiti": "^1.16.0",
+ "klona": "^2.0.5",
+ "knitwork": "^1.0.0",
+ "listhen": "^1.0.0",
+ "mime": "^3.0.0",
+ "mlly": "^1.0.0",
+ "mri": "^1.2.0",
+ "node-fetch-native": "^1.0.1",
+ "ofetch": "^1.0.0",
+ "ohash": "^1.0.0",
+ "pathe": "^1.0.0",
+ "perfect-debounce": "^0.1.3",
+ "pkg-types": "^1.0.1",
+ "pretty-bytes": "^6.0.0",
+ "radix3": "^1.0.0",
+ "rollup": "^2.79.1",
+ "rollup-plugin-terser": "^7.0.2",
+ "rollup-plugin-visualizer": "^5.8.3",
+ "scule": "^1.0.0",
+ "semver": "^7.3.8",
+ "serve-placeholder": "^2.0.1",
+ "serve-static": "^1.15.0",
+ "source-map-support": "^0.5.21",
+ "std-env": "^3.3.1",
+ "ufo": "^1.0.0",
+ "unenv": "^1.0.0",
+ "unimport": "^1.0.0",
+ "unstorage": "^1.0.1"
+ },
+ "bin": {
+ "nitro": "dist/cli.mjs",
+ "nitropack": "dist/cli.mjs"
+ },
+ "engines": {
+ "node": "^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/nitropack/node_modules/h3": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/h3/-/h3-1.0.2.tgz",
+ "integrity": "sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cookie-es": "^0.5.0",
+ "destr": "^1.2.2",
+ "radix3": "^1.0.0",
+ "ufo": "^1.0.1"
+ }
+ },
+ "node_modules/nitropack/node_modules/radix3": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.0.0.tgz",
+ "integrity": "sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nitropack/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/node-domexception": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz",
+ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/jimmywarting"
+ },
+ {
+ "type": "github",
+ "url": "https://paypal.me/jimmywarting"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.5.0"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.0.tgz",
+ "integrity": "sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "data-uri-to-buffer": "^4.0.0",
+ "fetch-blob": "^3.1.4",
+ "formdata-polyfill": "^4.0.10"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/node-fetch"
+ }
+ },
+ "node_modules/node-fetch-native": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.1.tgz",
+ "integrity": "sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==",
+ "license": "MIT"
+ },
+ "node_modules/node-forge": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
+ "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
+ "dev": true,
+ "license": "(BSD-3-Clause OR GPL-2.0)",
+ "engines": {
+ "node": ">= 6.13.0"
+ }
+ },
+ "node_modules/node-gyp-build": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz",
+ "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "node-gyp-build": "bin.js",
+ "node-gyp-build-optional": "optional.js",
+ "node-gyp-build-test": "build-test.js"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "license": "MIT"
+ },
+ "node_modules/nopt": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+ "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-url": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
+ "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "deprecated": "This package is no longer supported.",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
+ }
+ },
+ "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,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/nuxi": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/nuxi/-/nuxi-3.0.0.tgz",
+ "integrity": "sha512-VWh1kKFffxD2yadZWcQSd6eTf9okXRr7d3HsjLiI4B3Q1/8iKdIUiodGo7X71OZ+gPVnX6Oh/XFzcb7mr+8TbQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "nuxi": "bin/nuxi.mjs"
+ },
+ "engines": {
+ "node": "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/nuxt": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-3.0.0.tgz",
+ "integrity": "sha512-RNlD78uv04ZiXWmlx9f1tnJfrqsYAWHU+4gbgOTQpIBmQzHWPWiox+fm/1m93iKfEd5sJi9TJUoXX5yBObVZYw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nuxt/devalue": "^2.0.0",
+ "@nuxt/kit": "3.0.0",
+ "@nuxt/schema": "3.0.0",
+ "@nuxt/telemetry": "^2.1.8",
+ "@nuxt/ui-templates": "^1.0.0",
+ "@nuxt/vite-builder": "3.0.0",
+ "@unhead/ssr": "^1.0.0",
+ "@vue/reactivity": "^3.2.45",
+ "@vue/shared": "^3.2.45",
+ "@vueuse/head": "^1.0.15",
+ "chokidar": "^3.5.3",
+ "cookie-es": "^0.5.0",
+ "defu": "^6.1.1",
+ "destr": "^1.2.1",
+ "escape-string-regexp": "^5.0.0",
+ "estree-walker": "^3.0.1",
+ "fs-extra": "^10.1.0",
+ "globby": "^13.1.2",
+ "h3": "^1.0.1",
+ "hash-sum": "^2.0.0",
+ "hookable": "^5.4.2",
+ "knitwork": "^1.0.0",
+ "magic-string": "^0.26.7",
+ "mlly": "^1.0.0",
+ "nitropack": "^1.0.0",
+ "nuxi": "3.0.0",
+ "ofetch": "^1.0.0",
+ "ohash": "^1.0.0",
+ "pathe": "^1.0.0",
+ "perfect-debounce": "^0.1.3",
+ "scule": "^1.0.0",
+ "strip-literal": "^1.0.0",
+ "ufo": "^1.0.0",
+ "ultrahtml": "^1.0.0",
+ "unctx": "^2.1.0",
+ "unenv": "^1.0.0",
+ "unhead": "^1.0.0",
+ "unimport": "^1.0.1",
+ "unplugin": "^1.0.0",
+ "untyped": "^1.0.0",
+ "vue": "^3.2.45",
+ "vue-bundle-renderer": "^1.0.0",
+ "vue-devtools-stub": "^0.1.0",
+ "vue-router": "^4.1.6"
+ },
+ "bin": {
+ "nuxi": "bin/nuxt.mjs",
+ "nuxt": "bin/nuxt.mjs"
+ },
+ "engines": {
+ "node": "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
+ "node_modules/nuxt/node_modules/h3": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/h3/-/h3-1.0.2.tgz",
+ "integrity": "sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cookie-es": "^0.5.0",
+ "destr": "^1.2.2",
+ "radix3": "^1.0.0",
+ "ufo": "^1.0.1"
+ }
+ },
+ "node_modules/nuxt/node_modules/radix3": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.0.0.tgz",
+ "integrity": "sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nuxt/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/ofetch": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.0.0.tgz",
+ "integrity": "sha512-d40aof8czZFSQKJa4+F7Ch3UC5D631cK1TTUoK+iNEut9NoiCL+u0vykl/puYVUS2df4tIQl5upQcolIcEzQjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "destr": "^1.2.1",
+ "node-fetch-native": "^1.0.1",
+ "ufo": "^1.0.0"
+ }
+ },
+ "node_modules/ofetch/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ohash": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.0.0.tgz",
+ "integrity": "sha512-kxSyzq6tt+6EE/xCnD1XaFhCCjUNUaz3X30rJp6mnjGLXAAvuPFqohMdv0aScWzajR45C29HyBaXZ8jXBwnh9A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ohmyfetch": {
+ "version": "0.4.21",
+ "resolved": "https://registry.npmjs.org/ohmyfetch/-/ohmyfetch-0.4.21.tgz",
+ "integrity": "sha512-VG7f/JRvqvBOYvL0tHyEIEG7XHWm7OqIfAs6/HqwWwDfjiJ1g0huIpe5sFEmyb+7hpFa1EGNH2aERWR72tlClw==",
+ "deprecated": "Package renamed to https://github.com/unjs/ofetch",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "destr": "^1.2.0",
+ "node-fetch-native": "^0.1.8",
+ "ufo": "^0.8.6",
+ "undici": "^5.12.0"
+ }
+ },
+ "node_modules/ohmyfetch/node_modules/node-fetch-native": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-0.1.8.tgz",
+ "integrity": "sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/on-finished": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+ "license": "MIT",
+ "dependencies": {
+ "ee-first": "1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "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==",
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/only": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz",
+ "integrity": "sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ=="
+ },
+ "node_modules/open": {
+ "version": "8.4.0",
+ "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz",
+ "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "define-lazy-prop": "^2.0.0",
+ "is-docker": "^2.1.1",
+ "is-wsl": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/open/node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ora": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz",
+ "integrity": "sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^5.0.0",
+ "chalk": "^5.0.0",
+ "cli-cursor": "^4.0.0",
+ "cli-spinners": "^2.6.1",
+ "is-interactive": "^2.0.0",
+ "is-unicode-supported": "^1.1.0",
+ "log-symbols": "^5.1.0",
+ "strip-ansi": "^7.0.1",
+ "wcwidth": "^1.0.1"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz",
+ "integrity": "sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==",
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/parse-git-config": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz",
+ "integrity": "sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "git-config-path": "^2.0.0",
+ "ini": "^1.3.5"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse-path": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz",
+ "integrity": "sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "protocols": "^2.0.0"
+ }
+ },
+ "node_modules/parse-url": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz",
+ "integrity": "sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parse-path": "^7.0.0"
+ }
+ },
+ "node_modules/parseurl": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.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==",
+ "license": "MIT",
+ "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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "license": "MIT"
+ },
+ "node_modules/path-to-regexp": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz",
+ "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==",
+ "license": "MIT"
+ },
+ "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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pathe": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.0.0.tgz",
+ "integrity": "sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==",
+ "license": "MIT"
+ },
+ "node_modules/pathval": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
+ "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/perfect-debounce": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-0.1.3.tgz",
+ "integrity": "sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
+ "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/pkg-types": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz",
+ "integrity": "sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==",
+ "license": "MIT",
+ "dependencies": {
+ "jsonc-parser": "^3.2.0",
+ "mlly": "^1.0.0",
+ "pathe": "^1.0.0"
+ }
+ },
+ "node_modules/portfinder": {
+ "version": "1.0.32",
+ "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz",
+ "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==",
+ "license": "MIT",
+ "dependencies": {
+ "async": "^2.6.4",
+ "debug": "^3.2.7",
+ "mkdirp": "^0.5.6"
+ },
+ "engines": {
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/portfinder/node_modules/async": {
+ "version": "2.6.4",
+ "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz",
+ "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==",
+ "license": "MIT",
+ "dependencies": {
+ "lodash": "^4.17.14"
+ }
+ },
+ "node_modules/portfinder/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.38",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+ "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-calc": {
+ "version": "8.2.4",
+ "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
+ "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.9",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.2"
+ }
+ },
+ "node_modules/postcss-colormin": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz",
+ "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.16.6",
+ "caniuse-api": "^3.0.0",
+ "colord": "^2.9.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-convert-values": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz",
+ "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-custom-properties": {
+ "version": "12.1.11",
+ "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz",
+ "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-discard-comments": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
+ "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-discard-duplicates": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
+ "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-discard-empty": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
+ "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-discard-overridden": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
+ "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-import": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-13.0.0.tgz",
+ "integrity": "sha512-LPUbm3ytpYopwQQjqgUH4S3EM/Gb9QsaSPP/5vnoi+oKVy3/mIk2sc0Paqw7RL57GpScm9MdIMUypw2znWiBpg==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-import-resolver": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz",
+ "integrity": "sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==",
+ "license": "MIT",
+ "dependencies": {
+ "enhanced-resolve": "^4.1.1"
+ }
+ },
+ "node_modules/postcss-import-resolver/node_modules/enhanced-resolve": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz",
+ "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==",
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "memory-fs": "^0.5.0",
+ "tapable": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/postcss-import-resolver/node_modules/tapable": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz",
+ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
+ "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
+ "license": "MIT",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.3"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
+ "license": "MIT",
+ "dependencies": {
+ "lilconfig": "^2.0.5",
+ "yaml": "^1.10.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-loader": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz",
+ "integrity": "sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==",
+ "license": "MIT",
+ "dependencies": {
+ "cosmiconfig": "^7.0.0",
+ "klona": "^2.0.4",
+ "loader-utils": "^2.0.0",
+ "schema-utils": "^3.0.0",
+ "semver": "^7.3.4"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "postcss": "^7.0.0 || ^8.0.1",
+ "webpack": "^4.0.0 || ^5.0.0"
+ }
+ },
+ "node_modules/postcss-merge-longhand": {
+ "version": "5.1.7",
+ "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz",
+ "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0",
+ "stylehacks": "^5.1.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-merge-rules": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz",
+ "integrity": "sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "caniuse-api": "^3.0.0",
+ "cssnano-utils": "^3.1.0",
+ "postcss-selector-parser": "^6.0.5"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-font-values": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
+ "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-gradients": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz",
+ "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "colord": "^2.9.1",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-params": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz",
+ "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-minify-selectors": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz",
+ "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.5"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-modules-extract-imports": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
+ "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
+ "license": "ISC",
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-local-by-default": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
+ "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+ "license": "MIT",
+ "dependencies": {
+ "icss-utils": "^5.0.0",
+ "postcss-selector-parser": "^6.0.2",
+ "postcss-value-parser": "^4.1.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-scope": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
+ "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
+ "license": "ISC",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-modules-values": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
+ "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
+ "license": "ISC",
+ "dependencies": {
+ "icss-utils": "^5.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >= 14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz",
+ "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-nesting": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz",
+ "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==",
+ "license": "CC0-1.0",
+ "dependencies": {
+ "@csstools/selector-specificity": "^2.0.0",
+ "postcss-selector-parser": "^6.0.10"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >=16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2"
+ }
+ },
+ "node_modules/postcss-normalize-charset": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
+ "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-display-values": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
+ "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-positions": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz",
+ "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-repeat-style": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz",
+ "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-string": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
+ "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-timing-functions": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
+ "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-unicode": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz",
+ "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
+ "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "normalize-url": "^6.0.1",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-normalize-whitespace": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz",
+ "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-ordered-values": {
+ "version": "5.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz",
+ "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cssnano-utils": "^3.1.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-reduce-initial": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz",
+ "integrity": "sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "caniuse-api": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-reduce-transforms": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
+ "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.11",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+ "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
+ "license": "MIT",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-svgo": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
+ "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.2.0",
+ "svgo": "^2.7.0"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-unique-selectors": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz",
+ "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.5"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "node_modules/postcss-url": {
+ "version": "10.1.3",
+ "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz",
+ "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==",
+ "license": "MIT",
+ "dependencies": {
+ "make-dir": "~3.1.0",
+ "mime": "~2.5.2",
+ "minimatch": "~3.0.4",
+ "xxhashjs": "~0.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-url/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==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/postcss-url/node_modules/mime": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz",
+ "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==",
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/postcss-url/node_modules/minimatch": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz",
+ "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+ "license": "MIT"
+ },
+ "node_modules/postcss/node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/pretty-bytes": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz",
+ "integrity": "sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "license": "MIT"
+ },
+ "node_modules/protocols": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz",
+ "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+ "license": "MIT"
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/radix3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/radix3/-/radix3-0.2.1.tgz",
+ "integrity": "sha512-FnhArTl5Tq7dodiLeSPKrDUyCQuJqEncP8cKdyy399g8F/cz7GH6FmzA3Rkosu2IZMkpswFFwXfb2ERSiL06pg==",
+ "license": "MIT"
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/rc9": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.0.0.tgz",
+ "integrity": "sha512-yVeYJHOpJLOhs3V6RKwz7RPPwPurrx3JjwK264sPgvo/lFdhuUrLien7iSvAO6STVkN0gSMk/MehQNHQhflqZw==",
+ "license": "MIT",
+ "dependencies": {
+ "defu": "^6.1.1",
+ "destr": "^1.2.1",
+ "flat": "^5.0.2"
+ }
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "license": "MIT",
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/readdir-glob": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz",
+ "integrity": "sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "minimatch": "^5.1.0"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/redis-errors": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
+ "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/redis-parser": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
+ "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "redis-errors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/replace-in-file": {
+ "version": "6.3.5",
+ "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.3.5.tgz",
+ "integrity": "sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==",
+ "license": "MIT",
+ "dependencies": {
+ "chalk": "^4.1.2",
+ "glob": "^7.2.0",
+ "yargs": "^17.2.1"
+ },
+ "bin": {
+ "replace-in-file": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/replace-in-file/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==",
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/replace-in-file/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==",
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/replace-in-file/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/replace-in-file/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==",
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/replace-in-file/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/replace-in-file/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-path": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz",
+ "integrity": "sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==",
+ "license": "MIT",
+ "dependencies": {
+ "http-errors": "~1.6.2",
+ "path-is-absolute": "1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/resolve-path/node_modules/depd": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+ "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/resolve-path/node_modules/http-errors": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+ "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~1.1.2",
+ "inherits": "2.0.3",
+ "setprototypeof": "1.1.0",
+ "statuses": ">= 1.4.0 < 2"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/resolve-path/node_modules/inherits": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
+ "license": "ISC"
+ },
+ "node_modules/resolve-path/node_modules/setprototypeof": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+ "license": "ISC"
+ },
+ "node_modules/resolve-path/node_modules/statuses": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+ "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/restore-cursor": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz",
+ "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "onetime": "^5.1.0",
+ "signal-exit": "^3.0.2"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "license": "MIT",
+ "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==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/rimraf/node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rimraf/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.79.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
+ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "devOptional": true,
+ "license": "MIT",
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/rollup-plugin-terser": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
+ "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
+ "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "jest-worker": "^26.2.1",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^5.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-visualizer": {
+ "version": "5.8.3",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.8.3.tgz",
+ "integrity": "sha512-QGJk4Bqe4AOat5AjipOh8esZH1nck5X2KFpf4VytUdSUuuuSwvIQZjMGgjcxe/zXexltqaXp5Vx1V3LmnQH15Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "open": "^8.4.0",
+ "source-map": "^0.7.4",
+ "yargs": "^17.5.1"
+ },
+ "bin": {
+ "rollup-plugin-visualizer": "dist/bin/cli.js"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "peerDependencies": {
+ "rollup": "2.x || 3.x"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/run-async": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "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==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/rxjs": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz",
+ "integrity": "sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/scule": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz",
+ "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==",
+ "license": "MIT"
+ },
+ "node_modules/semver": {
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/send": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
+ "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "2.6.9",
+ "depd": "2.0.0",
+ "destroy": "1.2.0",
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "etag": "~1.8.1",
+ "fresh": "0.5.2",
+ "http-errors": "2.0.0",
+ "mime": "1.6.0",
+ "ms": "2.1.3",
+ "on-finished": "2.4.1",
+ "range-parser": "~1.2.1",
+ "statuses": "2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/send/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/send/node_modules/debug/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/send/node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/send/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/serve-placeholder": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/serve-placeholder/-/serve-placeholder-2.0.1.tgz",
+ "integrity": "sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "defu": "^6.0.0"
+ }
+ },
+ "node_modules/serve-static": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
+ "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "encodeurl": "~1.0.2",
+ "escape-html": "~1.0.3",
+ "parseurl": "~1.3.3",
+ "send": "0.18.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/set-blocking": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/setprototypeof": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+ "license": "ISC"
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+ "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+ "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
+ "license": "BSD-3-Clause",
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/source-map-support/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==",
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "deprecated": "Please use @jridgewell/sourcemap-codec instead",
+ "license": "MIT"
+ },
+ "node_modules/stable": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+ "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/standard-as-callback": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+ "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/statuses": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/std-env": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz",
+ "integrity": "sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==",
+ "license": "MIT"
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz",
+ "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-literal": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz",
+ "integrity": "sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.8.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/stylehacks": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",
+ "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "postcss-selector-parser": "^6.0.4"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.15"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
+ "dev": true
+ },
+ "node_modules/svgo": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
+ "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@trysound/sax": "0.2.0",
+ "commander": "^7.2.0",
+ "css-select": "^4.1.3",
+ "css-tree": "^1.1.3",
+ "csso": "^4.2.0",
+ "picocolors": "^1.0.0",
+ "stable": "^0.1.8"
+ },
+ "bin": {
+ "svgo": "bin/svgo"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/tailwind-config-viewer": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/tailwind-config-viewer/-/tailwind-config-viewer-1.7.2.tgz",
+ "integrity": "sha512-3JJCeAAlvG+i/EBj+tQb0x4weo30QjdSAo4hlcnVbtD+CkpzHi/UwU9InbPMcYH+ESActoa2kCyjpLEyjEkn0Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@koa/router": "^9.0.1",
+ "commander": "^6.0.0",
+ "fs-extra": "^9.0.1",
+ "koa": "^2.12.0",
+ "koa-static": "^5.0.0",
+ "open": "^7.0.4",
+ "portfinder": "^1.0.26",
+ "replace-in-file": "^6.1.0"
+ },
+ "bin": {
+ "tailwind-config-viewer": "cli/index.js",
+ "tailwindcss-config-viewer": "cli/index.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "peerDependencies": {
+ "tailwindcss": "1 || 2 || 2.0.1-compat || 3"
+ }
+ },
+ "node_modules/tailwind-config-viewer/node_modules/commander": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+ "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/tailwind-config-viewer/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "license": "MIT",
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tailwind-config-viewer/node_modules/is-docker": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+ "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+ "license": "MIT",
+ "bin": {
+ "is-docker": "cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/tailwind-config-viewer/node_modules/open": {
+ "version": "7.4.2",
+ "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz",
+ "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==",
+ "license": "MIT",
+ "dependencies": {
+ "is-docker": "^2.0.0",
+ "is-wsl": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz",
+ "integrity": "sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==",
+ "license": "MIT",
+ "dependencies": {
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "color-name": "^1.1.4",
+ "detective": "^5.2.1",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.2.12",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "lilconfig": "^2.0.6",
+ "micromatch": "^4.0.5",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.18",
+ "postcss-import": "^14.1.0",
+ "postcss-js": "^4.0.0",
+ "postcss-load-config": "^3.1.4",
+ "postcss-nested": "6.0.0",
+ "postcss-selector-parser": "^6.0.10",
+ "postcss-value-parser": "^4.2.0",
+ "quick-lru": "^5.1.1",
+ "resolve": "^1.22.1"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
+ }
+ },
+ "node_modules/tailwindcss/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==",
+ "license": "ISC",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/tailwindcss/node_modules/postcss-import": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "license": "MIT",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tar": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "license": "ISC",
+ "dependencies": {
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/tar-stream": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
+ "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bl": "^4.0.3",
+ "end-of-stream": "^1.4.1",
+ "fs-constants": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tar-stream/node_modules/bl": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
+ "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer": "^5.5.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.4.0"
+ }
+ },
+ "node_modules/tar-stream/node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "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"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/tar/node_modules/mkdirp": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+ "license": "MIT",
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser": {
+ "version": "5.31.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz",
+ "integrity": "sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==",
+ "license": "BSD-2-Clause",
+ "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/terser-webpack-plugin": {
+ "version": "5.3.10",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+ "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.20",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.26.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/terser-webpack-plugin/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/terser/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==",
+ "license": "MIT"
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tiny-invariant": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz",
+ "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinybench": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz",
+ "integrity": "sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tinypool": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz",
+ "integrity": "sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tinyspy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.0.2.tgz",
+ "integrity": "sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
+ "node_modules/tmp": {
+ "version": "0.0.33",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+ "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "os-tmpdir": "~1.0.2"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "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==",
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/toidentifier": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tslib": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz",
+ "integrity": "sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/tsscmp": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
+ "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.6.x"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.4.0.tgz",
+ "integrity": "sha512-PEPg6RHlB9cFwoTMNENNrQFL0cXX04voWr2UPwQBJ3pVs7Mt8Y1oLWdUeMdGEwZE8HFFlujq8gS9enmyiQ8pLg==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/type-is": {
+ "version": "1.6.18",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "license": "MIT",
+ "dependencies": {
+ "media-typer": "0.3.0",
+ "mime-types": "~2.1.24"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/ufo": {
+ "version": "0.8.6",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-0.8.6.tgz",
+ "integrity": "sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==",
+ "license": "MIT"
+ },
+ "node_modules/ultrahtml": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.2.0.tgz",
+ "integrity": "sha512-vxZM2yNvajRmCj/SknRYGNXk2tqiy6kRNvZjJLaleG3zJbSh/aNkOqD1/CVzypw8tyHyhpzYuwQgMMhUB4ZVNQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unctx": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.1.1.tgz",
+ "integrity": "sha512-RffJlpvLOtolWsn0fxXsuSDfwiWcR6cyuykw2e0+zAggvGW1SesXt9WxIWlWpJhwVCZD/WlxxLqKLS50Q0CkWA==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.8.1",
+ "estree-walker": "^3.0.1",
+ "magic-string": "^0.26.7",
+ "unplugin": "^1.0.0"
+ }
+ },
+ "node_modules/undici": {
+ "version": "5.28.4",
+ "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
+ "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@fastify/busboy": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.0"
+ }
+ },
+ "node_modules/unenv": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/unenv/-/unenv-1.0.0.tgz",
+ "integrity": "sha512-vlyi2Rzj4CNlA1JsEXufX+ItkGr3Z5DfLzKniYEneMlBVtuxS+57f1LwTPj2eiBPSPaGHMUVzEnjSCGE7l8JQg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "defu": "^6.1.1",
+ "mime": "^3.0.0",
+ "node-fetch-native": "^1.0.1",
+ "pathe": "^1.0.0"
+ }
+ },
+ "node_modules/unhead": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.0.13.tgz",
+ "integrity": "sha512-stWC9VawHWq27WiAsgNPLFXI61LaNy1E3Zs/0cSgPTvz4ti8fYuqLOz930pzVRIKrWnxQVGndw8UZLSEcK7ikA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@unhead/dom": "1.0.13",
+ "@unhead/schema": "1.0.13",
+ "hookable": "^5.4.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/unimport": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unimport/-/unimport-1.0.2.tgz",
+ "integrity": "sha512-DcYkDwl1XMZNmyEKUFzVzHAul0FZcj9m0OM/WRfaAtg6Gw1waYlypYJl6qAg31k57TnNPwGDCAxYPodYC5qomQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.2",
+ "escape-string-regexp": "^5.0.0",
+ "fast-glob": "^3.2.12",
+ "local-pkg": "^0.4.2",
+ "magic-string": "^0.27.0",
+ "mlly": "^1.0.0",
+ "pathe": "^1.0.0",
+ "pkg-types": "^1.0.1",
+ "scule": "^1.0.0",
+ "strip-literal": "^1.0.0",
+ "unplugin": "^1.0.1"
+ }
+ },
+ "node_modules/unimport/node_modules/magic-string": {
+ "version": "0.27.0",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
+ "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.13"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz",
+ "integrity": "sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==",
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^8.8.1",
+ "chokidar": "^3.5.3",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.5.0"
+ }
+ },
+ "node_modules/unstorage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.0.1.tgz",
+ "integrity": "sha512-J1c4b8K2KeihHrQtdgl/ybIapArUbPaPb+TyJy/nGSauDwDYqciZsEKdkee568P3c8SSH4TIgnGRHDWMPGw+Lg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "^3.1.2",
+ "chokidar": "^3.5.3",
+ "destr": "^1.2.1",
+ "h3": "^1.0.1",
+ "ioredis": "^5.2.4",
+ "listhen": "^1.0.0",
+ "mkdir": "^0.0.2",
+ "mri": "^1.2.0",
+ "ofetch": "^1.0.0",
+ "ufo": "^1.0.0",
+ "ws": "^8.11.0"
+ }
+ },
+ "node_modules/unstorage/node_modules/h3": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/h3/-/h3-1.0.2.tgz",
+ "integrity": "sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cookie-es": "^0.5.0",
+ "destr": "^1.2.2",
+ "radix3": "^1.0.0",
+ "ufo": "^1.0.1"
+ }
+ },
+ "node_modules/unstorage/node_modules/radix3": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.0.0.tgz",
+ "integrity": "sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unstorage/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/untyped": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/untyped/-/untyped-1.1.0.tgz",
+ "integrity": "sha512-v4H7juRA2cWFr+V4L2HExXwlRCwZv2A6o2M33+9aN/DPUyzqtFFMCTpiKF7sdOV8EaLxm+LTpDb0BoeGv2NswQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/core": "^7.20.5",
+ "@babel/standalone": "^7.20.6",
+ "@babel/types": "^7.20.5",
+ "scule": "^1.0.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.16",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
+ "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "escalade": "^3.1.2",
+ "picocolors": "^1.0.1"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "license": "BSD-2-Clause",
+ "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==",
+ "license": "MIT"
+ },
+ "node_modules/vary": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/vite": {
+ "version": "3.2.10",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-3.2.10.tgz",
+ "integrity": "sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "^0.15.9",
+ "postcss": "^8.4.18",
+ "resolve": "^1.22.1",
+ "rollup": "^2.79.1"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 14",
+ "less": "*",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-node": {
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.25.8.tgz",
+ "integrity": "sha512-o1GsPZcq4ce7ZUUALnOfYP/bjaHQYtLDLuirOMvYCdsuvDMb2tggib2RZRfHIhTEF2QnIgyQEoyaOjAMHGPRiw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.3.4",
+ "mlly": "^1.0.0",
+ "pathe": "^0.2.0",
+ "source-map": "^0.6.1",
+ "source-map-support": "^0.5.21",
+ "vite": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "vite-node": "vite-node.mjs"
+ },
+ "engines": {
+ "node": ">=v14.16.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/vite-node/node_modules/pathe": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz",
+ "integrity": "sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vite-node/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==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/vite-plugin-checker": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.5.6.tgz",
+ "integrity": "sha512-ftRyON0gORUHDxcDt2BErmsikKSkfvl1i2DoP6Jt2zDO9InfvM6tqO1RkXhSjkaXEhKPea6YOnhFaZxW3BzudQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "ansi-escapes": "^4.3.0",
+ "chalk": "^4.1.1",
+ "chokidar": "^3.5.1",
+ "commander": "^8.0.0",
+ "fast-glob": "^3.2.7",
+ "fs-extra": "^11.1.0",
+ "lodash.debounce": "^4.0.8",
+ "lodash.pick": "^4.4.0",
+ "npm-run-path": "^4.0.1",
+ "strip-ansi": "^6.0.0",
+ "tiny-invariant": "^1.1.0",
+ "vscode-languageclient": "^7.0.0",
+ "vscode-languageserver": "^7.0.0",
+ "vscode-languageserver-textdocument": "^1.0.1",
+ "vscode-uri": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "peerDependencies": {
+ "eslint": ">=7",
+ "meow": "^9.0.0",
+ "optionator": "^0.9.1",
+ "stylelint": ">=13",
+ "typescript": "*",
+ "vite": ">=2.0.0",
+ "vls": "*",
+ "vti": "*",
+ "vue-tsc": "*"
+ },
+ "peerDependenciesMeta": {
+ "eslint": {
+ "optional": true
+ },
+ "meow": {
+ "optional": true
+ },
+ "optionator": {
+ "optional": true
+ },
+ "stylelint": {
+ "optional": true
+ },
+ "typescript": {
+ "optional": true
+ },
+ "vls": {
+ "optional": true
+ },
+ "vti": {
+ "optional": true
+ },
+ "vue-tsc": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-plugin-checker/node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/vite-plugin-checker/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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/vite-plugin-checker/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/vite-plugin-checker/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/vite-plugin-checker/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/vite-plugin-checker/node_modules/commander": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+ "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 12"
+ }
+ },
+ "node_modules/vite-plugin-checker/node_modules/fs-extra": {
+ "version": "11.2.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz",
+ "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=14.14"
+ }
+ },
+ "node_modules/vite-plugin-checker/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,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/vite-plugin-checker/node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/vitest": {
+ "version": "0.25.8",
+ "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz",
+ "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/chai": "^4.3.4",
+ "@types/chai-subset": "^1.3.3",
+ "@types/node": "*",
+ "acorn": "^8.8.1",
+ "acorn-walk": "^8.2.0",
+ "chai": "^4.3.7",
+ "debug": "^4.3.4",
+ "local-pkg": "^0.4.2",
+ "source-map": "^0.6.1",
+ "strip-literal": "^1.0.0",
+ "tinybench": "^2.3.1",
+ "tinypool": "^0.3.0",
+ "tinyspy": "^1.0.2",
+ "vite": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "vitest": "vitest.mjs"
+ },
+ "engines": {
+ "node": ">=v14.16.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@edge-runtime/vm": "*",
+ "@vitest/browser": "*",
+ "@vitest/ui": "*",
+ "happy-dom": "*",
+ "jsdom": "*"
+ },
+ "peerDependenciesMeta": {
+ "@edge-runtime/vm": {
+ "optional": true
+ },
+ "@vitest/browser": {
+ "optional": true
+ },
+ "@vitest/ui": {
+ "optional": true
+ },
+ "happy-dom": {
+ "optional": true
+ },
+ "jsdom": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vitest/node_modules/acorn-walk": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
+ "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/vitest/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==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/vscode-jsonrpc": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz",
+ "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.0.0 || >=10.0.0"
+ }
+ },
+ "node_modules/vscode-languageclient": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz",
+ "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimatch": "^3.0.4",
+ "semver": "^7.3.4",
+ "vscode-languageserver-protocol": "3.16.0"
+ },
+ "engines": {
+ "vscode": "^1.52.0"
+ }
+ },
+ "node_modules/vscode-languageclient/node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/vscode-languageclient/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/vscode-languageserver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz",
+ "integrity": "sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "vscode-languageserver-protocol": "3.16.0"
+ },
+ "bin": {
+ "installServerIntoExtension": "bin/installServerIntoExtension"
+ }
+ },
+ "node_modules/vscode-languageserver-protocol": {
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz",
+ "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "vscode-jsonrpc": "6.0.0",
+ "vscode-languageserver-types": "3.16.0"
+ }
+ },
+ "node_modules/vscode-languageserver-textdocument": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz",
+ "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vscode-languageserver-types": {
+ "version": "3.16.0",
+ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz",
+ "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vscode-uri": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz",
+ "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vue": {
+ "version": "3.4.27",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.27.tgz",
+ "integrity": "sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.27",
+ "@vue/compiler-sfc": "3.4.27",
+ "@vue/runtime-dom": "3.4.27",
+ "@vue/server-renderer": "3.4.27",
+ "@vue/shared": "3.4.27"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-bundle-renderer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/vue-bundle-renderer/-/vue-bundle-renderer-1.0.0.tgz",
+ "integrity": "sha512-43vCqTgaMXfHhtR8/VcxxWD1DgtzyvNc4wNyG5NKCIH19O1z5G9ZCRXTGEA2wifVec5PU82CkRLD2sTK9NkTdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ufo": "^1.0.0"
+ }
+ },
+ "node_modules/vue-bundle-renderer/node_modules/ufo": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz",
+ "integrity": "sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vue-devtools-stub": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz",
+ "integrity": "sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vue-router": {
+ "version": "4.1.6",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz",
+ "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@vue/devtools-api": "^6.4.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
+ "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/wcwidth": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+ "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "defaults": "^1.0.3"
+ }
+ },
+ "node_modules/web-streams-polyfill": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz",
+ "integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "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==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/webpack": {
+ "version": "5.91.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz",
+ "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==",
+ "license": "MIT",
+ "peer": true,
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.9.0",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.16.0",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
+ "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==",
+ "license": "MIT"
+ },
+ "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==",
+ "dev": true,
+ "license": "MIT",
+ "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,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/wide-align": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
+ "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "string-width": "^1.0.2 || 2 || 3 || 4"
+ }
+ },
+ "node_modules/wide-align/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,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wide-align/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wide-align/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wide-align/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,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz",
+ "integrity": "sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "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==",
+ "license": "ISC"
+ },
+ "node_modules/ws": {
+ "version": "8.11.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
+ "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
+ "dev": true,
+ "license": "MIT",
+ "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/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/xxhashjs": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz",
+ "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==",
+ "license": "MIT",
+ "dependencies": {
+ "cuint": "^0.2.2"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "license": "ISC"
+ },
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "license": "ISC",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "17.6.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz",
+ "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==",
+ "license": "MIT",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs/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==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "license": "MIT"
+ },
+ "node_modules/yargs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yargs/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==",
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ylru": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz",
+ "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/zip-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
+ "integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "archiver-utils": "^2.1.0",
+ "compress-commons": "^4.1.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
index 4349c74c..cd10104a 100644
--- a/package.json
+++ b/package.json
@@ -1,34 +1,21 @@
{
- "name": "hugoplate",
- "description": "hugo tailwindcss boilerplate",
- "version": "1.13.3",
- "license": "MIT",
- "author": "zeon.studio",
+ "private": true,
"scripts": {
- "dev": "hugo server",
- "build": "hugo --gc --minify --templateMetrics --templateMetricsHints --forceSyncStatic",
- "preview": "hugo server --disableFastRender --navigateToChanged --templateMetrics --templateMetricsHints --watch --forceSyncStatic -e production --minify",
- "dev:example": "cd exampleSite; hugo server",
- "build:example": "cd exampleSite; hugo --gc --minify --templateMetrics --templateMetricsHints --forceSyncStatic",
- "preview:example": "cd exampleSite; hugo server --disableFastRender --navigateToChanged --templateMetrics --templateMetricsHints --watch --forceSyncStatic -e production --minify",
- "update-modules": "node ./scripts/clearModules.js && hugo mod clean --all && hugo mod get -u ./... && hugo mod tidy",
- "remove-darkmode": "node ./scripts/removeDarkmode.js && yarn format",
- "project-setup": "node ./scripts/projectSetup.js",
- "theme-setup": "node ./scripts/themeSetup.js",
- "update-theme": "node ./scripts/themeUpdate.js",
- "format": "prettier -w ."
+ "build": "nuxt build",
+ "dev": "nuxt dev",
+ "generate": "nuxt generate",
+ "preview": "nuxt preview",
+ "postinstall": "nuxt prepare",
+ "test": "vitest"
},
"devDependencies": {
- "@fullhuman/postcss-purgecss": "^5.0.0",
- "@tailwindcss/forms": "^0.5.7",
- "@tailwindcss/typography": "^0.5.10",
- "autoprefixer": "^10.4.18",
- "postcss": "^8.4.36",
- "postcss-cli": "^11.0.0",
- "prettier": "^3.2.5",
- "prettier-plugin-go-template": "0.0.15",
- "prettier-plugin-tailwindcss": "^0.5.12",
- "tailwind-bootstrap-grid": "^5.1.0",
- "tailwindcss": "^3.4.1"
+ "nuxt": "3.0.0",
+ "vitest": "^0.25.3"
+ },
+ "dependencies": {
+ "@highlightjs/vue-plugin": "highlightjs/vue-plugin",
+ "@nuxtjs/tailwindcss": "^6.1.3",
+ "aos": "^3.0.0-beta.6",
+ "highlight.js": "^11.7.0"
}
}
diff --git a/pages/README.md b/pages/README.md
new file mode 100644
index 00000000..ca41a5eb
--- /dev/null
+++ b/pages/README.md
@@ -0,0 +1,27 @@
+# `pages/` [Directory](https://nuxt.com/docs/getting-started/views#pages)
+
+Pages represent views use for each specific route pattern. Every file in the `pages/` directory represents a different route displaying its content.
+
+To use pages, create pages/index.vue file and add ` ` component to the *app.vue* (or remove *app.vue* for default entry). You can now create more pages and their corresponding routes by adding new files in the `pages/` directory.
+
+*pages/index.vue*
+````html
+
+
+
Welcome to the homepage
+
+ This is an auto-imported component
+
+
+
+````
+
+*pages/about.vue*
+````html
+
+
+ This page will be displayed at the /about route.
+
+
+
+````
\ No newline at end of file
diff --git a/pages/about-me.vue b/pages/about-me.vue
new file mode 100644
index 00000000..a6905038
--- /dev/null
+++ b/pages/about-me.vue
@@ -0,0 +1,334 @@
+
+
+
+
+
_about
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ //
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/contact-me.vue b/pages/contact-me.vue
new file mode 100644
index 00000000..ea1c16a7
--- /dev/null
+++ b/pages/contact-me.vue
@@ -0,0 +1,213 @@
+
+
+
+
+
_contact
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/index.vue b/pages/index.vue
new file mode 100644
index 00000000..8f23b6e9
--- /dev/null
+++ b/pages/index.vue
@@ -0,0 +1,380 @@
+
+
+
+
+
+
+
+
+
+
+
+ greetings,
+
+
{{ config.dev.name }}
+
+
+ # {{ config.dev.role }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/projects.vue b/pages/projects.vue
new file mode 100644
index 00000000..35d2082e
--- /dev/null
+++ b/pages/projects.vue
@@ -0,0 +1,224 @@
+
+
+
+
+
_projects
+
+
+
+
+
+
projects
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/postcss.config.js b/postcss.config.js
deleted file mode 100644
index f9887c51..00000000
--- a/postcss.config.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const purgecss = {
- content: ["./hugo_stats.json"],
- defaultExtractor: (content) => {
- const elements = JSON.parse(content).htmlElements;
- return [
- ...(elements.tags || []),
- ...(elements.classes || []),
- ...(elements.ids || []),
- ];
- },
- safelist: [
- /^swiper-/,
- /^lb-/,
- /^gl/,
- /^go/,
- /^gc/,
- /^gs/,
- /^gi/,
- /^gz/,
- /^gprev/,
- /^gnext/,
- /^desc/,
- /^zoom/,
- /^search/,
- /^:is/,
- /dark/,
- /show/,
- /dragging/,
- /fullscreen/,
- /loaded/,
- /visible/,
- /current/,
- /active/,
- /mark/,
- ],
-};
-
-module.exports = {
- plugins: {
- tailwindcss: {},
- "@fullhuman/postcss-purgecss":
- process.env.HUGO_ENVIRONMENT === "production" ? purgecss : false,
- autoprefixer: process.env.HUGO_ENVIRONMENT === "production" ? {} : false,
- },
-};
diff --git a/public/README.md b/public/README.md
new file mode 100644
index 00000000..79209aa7
--- /dev/null
+++ b/public/README.md
@@ -0,0 +1,15 @@
+# `public/` Directory
+
+The `public/` directory is used as a public server for static assets publicly available at a defined URL of your application.
+
+You can get a file in the `public/` directory from your application's code or from a browser by the root URL `/`.
+
+## Example
+
+For example, referencing an image file in the public/img/ directory, available at the static URL `/img/nuxt.png`:
+
+````html
+
+
+
+````
\ No newline at end of file
diff --git a/public/demo-share.jpg b/public/demo-share.jpg
new file mode 100644
index 00000000..d48370f0
Binary files /dev/null and b/public/demo-share.jpg differ
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 00000000..da66f00f
Binary files /dev/null and b/public/favicon.ico differ
diff --git a/public/icons/arrow-button.svg b/public/icons/arrow-button.svg
new file mode 100644
index 00000000..f18552e2
--- /dev/null
+++ b/public/icons/arrow-button.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/arrow-down.svg b/public/icons/arrow-down.svg
new file mode 100644
index 00000000..885aae0b
--- /dev/null
+++ b/public/icons/arrow-down.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/arrow.svg b/public/icons/arrow.svg
new file mode 100644
index 00000000..8b2f4543
--- /dev/null
+++ b/public/icons/arrow.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/burger-close.svg b/public/icons/burger-close.svg
new file mode 100644
index 00000000..5136ae4f
--- /dev/null
+++ b/public/icons/burger-close.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/burger.svg b/public/icons/burger.svg
new file mode 100644
index 00000000..a9a4428b
--- /dev/null
+++ b/public/icons/burger.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/check.svg b/public/icons/check.svg
new file mode 100644
index 00000000..f12f3e3a
--- /dev/null
+++ b/public/icons/check.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/close.svg b/public/icons/close.svg
new file mode 100644
index 00000000..dcf06a04
--- /dev/null
+++ b/public/icons/close.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/console/arrow-button.svg b/public/icons/console/arrow-button.svg
new file mode 100644
index 00000000..f18552e2
--- /dev/null
+++ b/public/icons/console/arrow-button.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/console/bolt-down-left.svg b/public/icons/console/bolt-down-left.svg
new file mode 100644
index 00000000..91b3c6ad
--- /dev/null
+++ b/public/icons/console/bolt-down-left.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/console/bolt-down-right.svg b/public/icons/console/bolt-down-right.svg
new file mode 100644
index 00000000..934e38ae
--- /dev/null
+++ b/public/icons/console/bolt-down-right.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/console/bolt-up-left.svg b/public/icons/console/bolt-up-left.svg
new file mode 100644
index 00000000..7776d6ee
--- /dev/null
+++ b/public/icons/console/bolt-up-left.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/console/bolt-up-right.svg b/public/icons/console/bolt-up-right.svg
new file mode 100644
index 00000000..833143ff
--- /dev/null
+++ b/public/icons/console/bolt-up-right.svg
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/diple.svg b/public/icons/diple.svg
new file mode 100644
index 00000000..6567726e
--- /dev/null
+++ b/public/icons/diple.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/email.svg b/public/icons/email.svg
new file mode 100644
index 00000000..11401a80
--- /dev/null
+++ b/public/icons/email.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/folder.svg b/public/icons/folder.svg
new file mode 100644
index 00000000..153466d5
--- /dev/null
+++ b/public/icons/folder.svg
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/folder1.svg b/public/icons/folder1.svg
new file mode 100644
index 00000000..a7d8e90e
--- /dev/null
+++ b/public/icons/folder1.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/folder2.svg b/public/icons/folder2.svg
new file mode 100644
index 00000000..2fdfd4e2
--- /dev/null
+++ b/public/icons/folder2.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/folder3.svg b/public/icons/folder3.svg
new file mode 100644
index 00000000..7153a81d
--- /dev/null
+++ b/public/icons/folder3.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/gist/comments.svg b/public/icons/gist/comments.svg
new file mode 100644
index 00000000..b5c62168
--- /dev/null
+++ b/public/icons/gist/comments.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/gist/star.svg b/public/icons/gist/star.svg
new file mode 100644
index 00000000..cbee8866
--- /dev/null
+++ b/public/icons/gist/star.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/info-hobbies.svg b/public/icons/info-hobbies.svg
new file mode 100644
index 00000000..bc642bc0
--- /dev/null
+++ b/public/icons/info-hobbies.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/info-personal.svg b/public/icons/info-personal.svg
new file mode 100644
index 00000000..65d10f2a
--- /dev/null
+++ b/public/icons/info-personal.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/info-professional.svg b/public/icons/info-professional.svg
new file mode 100644
index 00000000..b2ce2fe5
--- /dev/null
+++ b/public/icons/info-professional.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/link.svg b/public/icons/link.svg
new file mode 100644
index 00000000..804a683c
--- /dev/null
+++ b/public/icons/link.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/markdown.svg b/public/icons/markdown.svg
new file mode 100644
index 00000000..dfe42f92
--- /dev/null
+++ b/public/icons/markdown.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/nuxt.svg b/public/icons/nuxt.svg
new file mode 100644
index 00000000..72770f65
--- /dev/null
+++ b/public/icons/nuxt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/icons/phone.svg b/public/icons/phone.svg
new file mode 100644
index 00000000..769d7d83
--- /dev/null
+++ b/public/icons/phone.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/social/facebook.svg b/public/icons/social/facebook.svg
new file mode 100644
index 00000000..5c57bd22
--- /dev/null
+++ b/public/icons/social/facebook.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/social/github.svg b/public/icons/social/github.svg
new file mode 100644
index 00000000..7c4640c4
--- /dev/null
+++ b/public/icons/social/github.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/social/twitter.svg b/public/icons/social/twitter.svg
new file mode 100644
index 00000000..c622f040
--- /dev/null
+++ b/public/icons/social/twitter.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/techs/angular.svg b/public/icons/techs/angular.svg
new file mode 100644
index 00000000..4c6c00c6
--- /dev/null
+++ b/public/icons/techs/angular.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/techs/css.svg b/public/icons/techs/css.svg
new file mode 100644
index 00000000..b318356d
--- /dev/null
+++ b/public/icons/techs/css.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/techs/filled/angular.svg b/public/icons/techs/filled/angular.svg
new file mode 100644
index 00000000..b4a62ef6
--- /dev/null
+++ b/public/icons/techs/filled/angular.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/techs/filled/css.svg b/public/icons/techs/filled/css.svg
new file mode 100644
index 00000000..da22c156
--- /dev/null
+++ b/public/icons/techs/filled/css.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/techs/filled/flutter.svg b/public/icons/techs/filled/flutter.svg
new file mode 100644
index 00000000..1a11f935
--- /dev/null
+++ b/public/icons/techs/filled/flutter.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/techs/filled/gatsby.svg b/public/icons/techs/filled/gatsby.svg
new file mode 100644
index 00000000..728ab2db
--- /dev/null
+++ b/public/icons/techs/filled/gatsby.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/techs/filled/html.svg b/public/icons/techs/filled/html.svg
new file mode 100644
index 00000000..8ff5673c
--- /dev/null
+++ b/public/icons/techs/filled/html.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/techs/filled/react.svg b/public/icons/techs/filled/react.svg
new file mode 100644
index 00000000..d9eb7857
--- /dev/null
+++ b/public/icons/techs/filled/react.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/techs/filled/vue.svg b/public/icons/techs/filled/vue.svg
new file mode 100644
index 00000000..53dfb5c4
--- /dev/null
+++ b/public/icons/techs/filled/vue.svg
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/icons/techs/flutter.svg b/public/icons/techs/flutter.svg
new file mode 100644
index 00000000..fbfa9313
--- /dev/null
+++ b/public/icons/techs/flutter.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/techs/gatsby.svg b/public/icons/techs/gatsby.svg
new file mode 100644
index 00000000..0680870b
--- /dev/null
+++ b/public/icons/techs/gatsby.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/techs/html.svg b/public/icons/techs/html.svg
new file mode 100644
index 00000000..11fb4abe
--- /dev/null
+++ b/public/icons/techs/html.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/techs/react.svg b/public/icons/techs/react.svg
new file mode 100644
index 00000000..3af7da40
--- /dev/null
+++ b/public/icons/techs/react.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/icons/techs/vue.svg b/public/icons/techs/vue.svg
new file mode 100644
index 00000000..880856a9
--- /dev/null
+++ b/public/icons/techs/vue.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/public/images/demo-share.png b/public/images/demo-share.png
new file mode 100644
index 00000000..601b4259
Binary files /dev/null and b/public/images/demo-share.png differ
diff --git a/public/images/demo.png b/public/images/demo.png
new file mode 100644
index 00000000..2b44fa52
Binary files /dev/null and b/public/images/demo.png differ
diff --git a/public/images/projects/ai-resources.png b/public/images/projects/ai-resources.png
new file mode 100644
index 00000000..147fc12d
Binary files /dev/null and b/public/images/projects/ai-resources.png differ
diff --git a/public/images/projects/ethereum.png b/public/images/projects/ethereum.png
new file mode 100644
index 00000000..9c9bf1aa
Binary files /dev/null and b/public/images/projects/ethereum.png differ
diff --git a/public/images/projects/tetris-game.png b/public/images/projects/tetris-game.png
new file mode 100644
index 00000000..49193856
Binary files /dev/null and b/public/images/projects/tetris-game.png differ
diff --git a/public/images/projects/ui-animations.png b/public/images/projects/ui-animations.png
new file mode 100644
index 00000000..330fe509
Binary files /dev/null and b/public/images/projects/ui-animations.png differ
diff --git a/public/images/projects/ui-animations2.png b/public/images/projects/ui-animations2.png
new file mode 100644
index 00000000..adf430ea
Binary files /dev/null and b/public/images/projects/ui-animations2.png differ
diff --git a/public/images/projects/worldmap.png b/public/images/projects/worldmap.png
new file mode 100644
index 00000000..85cb9570
Binary files /dev/null and b/public/images/projects/worldmap.png differ
diff --git a/public/images/snigdhaos-view.png b/public/images/snigdhaos-view.png
new file mode 100644
index 00000000..9e113595
Binary files /dev/null and b/public/images/snigdhaos-view.png differ
diff --git a/public/logo.png b/public/logo.png
new file mode 100644
index 00000000..08f1b467
Binary files /dev/null and b/public/logo.png differ
diff --git a/public/pwa/icons/Icon48.png b/public/pwa/icons/Icon48.png
new file mode 100644
index 00000000..2139fb29
Binary files /dev/null and b/public/pwa/icons/Icon48.png differ
diff --git a/public/pwa/icons/Icon72.png b/public/pwa/icons/Icon72.png
new file mode 100644
index 00000000..648ba3b5
Binary files /dev/null and b/public/pwa/icons/Icon72.png differ
diff --git a/public/pwa/icons/Icon96.png b/public/pwa/icons/Icon96.png
new file mode 100644
index 00000000..fd819fcb
Binary files /dev/null and b/public/pwa/icons/Icon96.png differ
diff --git a/public/pwa/icons/apple-touch-icon.png b/public/pwa/icons/apple-touch-icon.png
new file mode 100644
index 00000000..3e943fc0
Binary files /dev/null and b/public/pwa/icons/apple-touch-icon.png differ
diff --git a/public/pwa/icons/icon144.png b/public/pwa/icons/icon144.png
new file mode 100644
index 00000000..a9dd4ec9
Binary files /dev/null and b/public/pwa/icons/icon144.png differ
diff --git a/public/pwa/icons/icon168.png b/public/pwa/icons/icon168.png
new file mode 100644
index 00000000..ccde3799
Binary files /dev/null and b/public/pwa/icons/icon168.png differ
diff --git a/public/pwa/icons/icon192.png b/public/pwa/icons/icon192.png
new file mode 100644
index 00000000..3e943fc0
Binary files /dev/null and b/public/pwa/icons/icon192.png differ
diff --git a/public/pwa/icons/icon512.png b/public/pwa/icons/icon512.png
new file mode 100644
index 00000000..722ffa93
Binary files /dev/null and b/public/pwa/icons/icon512.png differ
diff --git a/public/pwa/manifest.json b/public/pwa/manifest.json
new file mode 100644
index 00000000..ff6d7493
--- /dev/null
+++ b/public/pwa/manifest.json
@@ -0,0 +1,41 @@
+{
+ "name": "Portfolio for Developers Concept v2",
+ "short_name": "Developer Portfolio",
+ "description": "A awesome portfolio template for developers",
+ "start_url": "https://developer-portfolio-v1.netlify.app/",
+ "display": "standalone",
+ "orientation": "portrait",
+ "background_color": "#010C15",
+ "theme_color": "#010C15",
+ "scope": "https://developer-portfolio-v1.netlify.app/",
+ "icons": [{
+ "src": "icons/icon48.png",
+ "sizes": "48x48",
+ "type": "image/png"
+ }, {
+ "src": "icons/icon72.png",
+ "sizes": "72x72",
+ "type": "image/png"
+ }, {
+ "src": "icons/icon96.png",
+ "sizes": "96x96",
+ "type": "image/png"
+ }, {
+ "src": "icons/icon144.png",
+ "sizes": "144x144",
+ "type": "image/png"
+ }, {
+ "src": "icons/icon168.png",
+ "sizes": "168x168",
+ "type": "image/png"
+ }, {
+ "src": "icons/icon192.png",
+ "sizes": "192x192",
+ "type": "image/png"
+ }, {
+ "src": "icons/icon512.png",
+ "sizes": "512x512",
+ "type": "image/png",
+ "purpose": "any maskable"
+ }]
+}
\ No newline at end of file
diff --git a/public/worker.js b/public/worker.js
new file mode 100644
index 00000000..ba9fd138
--- /dev/null
+++ b/public/worker.js
@@ -0,0 +1,29 @@
+console.log('Service worker file loaded.')
+
+/**
+ * * FETCH event
+ * ? It is triggered when the browser is requesting a resource
+ * TODO: Add the logic to handle the request (investigate best practices and options)
+ */
+ self.addEventListener("fetch", (event) => {
+/* event
+ .respondWith(
+ console.log('fetching!'),
+ ); */
+ });
+
+/**
+ * * INSTALL event
+ * * It is triggered when the service worker has been installed
+ * ? It is the best place to cache the app
+ * TODO: Add the resources to cache
+ */
+self.addEventListener("install", (event) => {
+
+ console.log('Installing service worker...')
+ /*
+ event.waitUntil(
+ // ...
+ );
+ */
+});
\ No newline at end of file
diff --git a/push.sh b/push.sh
index 60508a5a..91974b77 100755
--- a/push.sh
+++ b/push.sh
@@ -1,31 +1,19 @@
#!/bin/bash
-# Author : Eshan Roy
-# URI : https://eshanized.github.io
+# Author : Abhiraj Roy (Iconized)
+# Author URL : https://iconized.github.io
-# NOTE: If you are on Snigdha OS,
-# you can install commitizen-go with `sudo pacman -S commitizen-go`
-# or `s commitizen-go`. Else you need to install `yay` or `yay-bin`
-# to install commitizen. I have written this script only for *Arch Linux.
-
-# Function to check if Commitizen is installed
-check_commitizen() {
- if ! pacman -Qq commitizen-go &> /dev/null; then
- echo "Commitizen is not installed. Please install it using 'yay -S commitizen-go'." >&2
- exit 1
- fi
+pull_from_github(){
+ git pull
}
-# Function to stage, commit, and push changes
push_to_github() {
- git add .
- git cz
- git push origin master
+ ezcommits
+ git push -u origin master
}
-# Main Function
-main() {
- check_commitizen
+main(){
+ pull_from_github
push_to_github
}
diff --git a/readme.md b/readme.md
deleted file mode 100755
index 541ef51b..00000000
--- a/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/scripts/clearModules.js b/scripts/clearModules.js
deleted file mode 100644
index 1b9c74ae..00000000
--- a/scripts/clearModules.js
+++ /dev/null
@@ -1,14 +0,0 @@
-const fs = require("fs");
-
-const clearModules = (filePath) => {
- if (fs.existsSync(filePath)) {
- let fileContent = fs.readFileSync(filePath, "utf8");
- fileContent = fileContent.replace(/require\s*\([\s\S]*?\)/, "");
- fs.writeFileSync(filePath, fileContent, "utf8");
- } else {
- console.log("File does not exist.");
- }
-};
-
-clearModules("go.mod");
-clearModules("exampleSite/go.mod");
diff --git a/scripts/projectSetup.js b/scripts/projectSetup.js
deleted file mode 100644
index 3ab73068..00000000
--- a/scripts/projectSetup.js
+++ /dev/null
@@ -1,116 +0,0 @@
-const fs = require("fs");
-const path = require("path");
-
-const toggleComment = ({ filepath, regex }) => {
- let updatedContent = fs.readFileSync(filepath, "utf8");
- const match = updatedContent.match(regex);
-
- if (match) {
- const matchedContent = match[0];
- const hasComment = matchedContent.startsWith("# ");
- if (hasComment) {
- updatedContent = updatedContent.replace(
- regex,
- matchedContent.replace("# ", ""),
- );
- fs.writeFileSync(filepath, updatedContent, "utf8");
- } else {
- const hasBreakline = matchedContent.includes("\n");
- if (hasBreakline) {
- const content = matchedContent
- .split("\n")
- .map((line) => "# " + line)
- .join("\n");
- updatedContent = updatedContent.replace(regex, content);
- fs.writeFileSync(filepath, updatedContent, "utf8");
- }
- }
- }
-};
-
-const getFolderName = (rootfolder) => {
- const configPath = path.join(rootfolder, "exampleSite/hugo.toml");
- const getConfig = fs.readFileSync(configPath, "utf8");
- const match = getConfig.match(/theme\s*=\s*\[?"([^"\]]+)"\]?/);
- let selectedTheme = null;
- if (match && match[1]) {
- selectedTheme = match[1];
- }
- return selectedTheme;
-};
-
-const deleteFolder = (folderPath) => {
- if (fs.existsSync(folderPath)) {
- fs.rmSync(folderPath, { recursive: true, force: true });
- }
-};
-
-const createNewfolder = (rootfolder, folderName) => {
- const newFolder = path.join(rootfolder, folderName);
- fs.mkdirSync(newFolder, { recursive: true });
- return newFolder;
-};
-
-const iterateFilesAndFolders = (rootFolder, { destinationRoot }) => {
- const directory = path.join(rootFolder);
- const items = fs.readdirSync(directory, { withFileTypes: true });
- items.forEach((item) => {
- if (item.isDirectory()) {
- createNewfolder(destinationRoot, item.name);
- iterateFilesAndFolders(path.join(directory, item.name), {
- currentFolder: item.name,
- destinationRoot: path.join(destinationRoot, item.name),
- });
- } else {
- const sourceFile = path.join(directory, item.name);
- const destinationFile = path.join(destinationRoot, item.name);
- fs.renameSync(sourceFile, destinationFile);
- }
- });
-};
-
-const setupProject = () => {
- const rootfolder = path.join(__dirname, "../");
- if (!fs.existsSync(path.join(rootfolder, "themes"))) {
- // remove this part if you don't using theme demo as a module
- [
- {
- filepath: path.join(rootfolder, "exampleSite/hugo.toml"),
- regex: /^.*theme\s*=\s*("[^"\]]+"|\S+)/m,
- },
- {
- filepath: path.join(
- rootfolder,
- "exampleSite/config/_default/module.toml",
- ),
- regex: /\[\[imports\]\]\s*\r?\npath = "([^"]+)"/,
- },
- ].forEach(toggleComment);
-
- const folderList = ["layouts", "assets", "static"];
- const folderName = getFolderName(rootfolder);
- const newfolderName = createNewfolder(
- path.join(rootfolder, "themes"),
- folderName,
- );
-
- folderList.forEach((folder) => {
- const source = path.join(rootfolder, folder);
- const destination = path.join(newfolderName, folder);
- if (fs.existsSync(source)) {
- fs.mkdirSync(destination, { recursive: true });
- iterateFilesAndFolders(source, {
- currentFolder: folder,
- destinationRoot: destination,
- });
- deleteFolder(source);
- }
- });
-
- const exampleSite = path.join(rootfolder, "exampleSite");
- iterateFilesAndFolders(exampleSite, { destinationRoot: rootfolder });
- deleteFolder(exampleSite);
- }
-};
-
-setupProject();
diff --git a/scripts/removeDarkmode.js b/scripts/removeDarkmode.js
deleted file mode 100644
index cb1b8636..00000000
--- a/scripts/removeDarkmode.js
+++ /dev/null
@@ -1,69 +0,0 @@
-const fs = require("fs");
-const path = require("path");
-
-const rootDirs = ["assets/scss", "layouts"];
-const configFiles = [
- {
- filePath: "exampleSite/tailwind.config.js",
- patterns: ["darkmode:\\s*{[^}]*},", 'darkMode:\\s*"class",'],
- },
- {
- filePath: "exampleSite/data/theme.json",
- patterns: ["colors.darkmode"],
- },
-];
-
-rootDirs.forEach(removeDarkModeFromPages);
-configFiles.forEach(removeDarkMode);
-
-function removeDarkModeFromFiles(filePath, regexPatterns) {
- const fileContent = fs.readFileSync(filePath, "utf8");
- let updatedContent = fileContent;
- regexPatterns.forEach((pattern) => {
- const regex = new RegExp(pattern, "g");
- updatedContent = updatedContent.replace(regex, "");
- });
- fs.writeFileSync(filePath, updatedContent, "utf8");
-}
-
-function removeDarkModeFromPages(directoryPath) {
- const files = fs.readdirSync(directoryPath);
-
- files.forEach((file) => {
- const filePath = path.join(directoryPath, file);
- const stats = fs.statSync(filePath);
- if (stats.isDirectory()) {
- removeDarkModeFromPages(filePath);
- } else if (stats.isFile()) {
- removeDarkModeFromFiles(filePath, [
- '(?:(?!["])\\S)*dark:(?:(?![,;"])\\S)*',
- "@apply?(\\s)*;",
- ]);
- }
- });
-}
-
-function removeDarkMode(configFile) {
- const { filePath, patterns } = configFile;
- if (filePath === "exampleSite/tailwind.config.js") {
- removeDarkModeFromFiles(filePath, patterns);
- } else {
- const contentFile = JSON.parse(fs.readFileSync(filePath, "utf8"));
- patterns.forEach((pattern) => deleteNestedProperty(contentFile, pattern));
- fs.writeFileSync(filePath, JSON.stringify(contentFile));
- }
-}
-
-function deleteNestedProperty(obj, propertyPath) {
- const properties = propertyPath.split(".");
- let currentObj = obj;
- for (let i = 0; i < properties.length - 1; i++) {
- const property = properties[i];
- if (currentObj.hasOwnProperty(property)) {
- currentObj = currentObj[property];
- } else {
- return; // Property not found, no need to continue
- }
- }
- delete currentObj[properties[properties.length - 1]];
-}
diff --git a/scripts/themeSetup.js b/scripts/themeSetup.js
deleted file mode 100644
index 0d21aad1..00000000
--- a/scripts/themeSetup.js
+++ /dev/null
@@ -1,125 +0,0 @@
-const fs = require("fs");
-const path = require("path");
-
-const toggleComment = ({ filepath, regex }) => {
- let updatedContent = fs.readFileSync(filepath, "utf8");
- const match = updatedContent.match(regex);
-
- if (match) {
- const matchedContent = match[0];
- const hasComment = matchedContent.startsWith("# ");
- if (hasComment) {
- const hasBreakline = matchedContent.includes("\n");
- if (hasBreakline) {
- updatedContent = updatedContent.replace(
- regex,
- matchedContent.replace(/# /gm, ""),
- );
- fs.writeFileSync(filepath, updatedContent, "utf8");
- }
- } else {
- updatedContent = updatedContent.replace(regex, "# " + matchedContent);
- fs.writeFileSync(filepath, updatedContent, "utf8");
- }
- }
-};
-
-const createNewfolder = (rootfolder, folderName) => {
- const newFolder = path.join(rootfolder, folderName);
- fs.mkdirSync(newFolder, { recursive: true });
- return newFolder;
-};
-
-const deleteFolder = (folderPath) => {
- if (fs.existsSync(folderPath)) {
- fs.rmSync(folderPath, { recursive: true, force: true });
- }
-};
-
-const getFolderName = (rootfolder) => {
- const configPath = path.join(rootfolder, "exampleSite/hugo.toml");
- const getConfig = fs.readFileSync(configPath, "utf8");
- const match = getConfig.match(/theme\s*=\s*\[?"([^"\]]+)"\]?/);
- let selectedTheme = null;
- if (match && match[1]) {
- selectedTheme = match[1];
- }
- return selectedTheme;
-};
-
-const iterateFilesAndFolders = (rootFolder, { destinationRoot }) => {
- const directory = path.join(rootFolder);
- const items = fs.readdirSync(directory, { withFileTypes: true });
- items.forEach((item) => {
- if (item.isDirectory()) {
- createNewfolder(destinationRoot, item.name);
- iterateFilesAndFolders(path.join(directory, item.name), {
- currentFolder: item.name,
- destinationRoot: path.join(destinationRoot, item.name),
- });
- } else {
- const sourceFile = path.join(directory, item.name);
- const destinationFile = path.join(destinationRoot, item.name);
- fs.renameSync(sourceFile, destinationFile);
- }
- });
-};
-
-const setupTheme = () => {
- const rootFolder = path.join(__dirname, "../");
-
- if (!fs.existsSync(path.join(rootFolder, "exampleSite"))) {
- // remove this part if you don't using theme demo as a module
- [
- {
- filepath: path.join(rootFolder, "config/_default/module.toml"),
- regex: /# \[\[imports\]\]\s*\r?\n# path = "([^"]+)"/,
- },
- {
- filepath: path.join(rootFolder, "hugo.toml"),
- regex: /^.*theme\s*=\s*("[^"\]]+"|\S+)/m,
- },
- ].forEach(toggleComment);
-
- const includesFiles = [
- "tailwind.config.js",
- "postcss.config.js",
- "go.mod",
- "hugo.toml",
- "assets",
- "config",
- "data",
- "content",
- "i18n",
- "static",
- ];
-
- const folder = createNewfolder(rootFolder, "exampleSite");
-
- fs.readdirSync(rootFolder, { withFileTypes: true }).forEach((file) => {
- if (includesFiles.includes(file.name)) {
- if (file.isDirectory()) {
- const destination = path.join(rootFolder, "exampleSite", file.name);
- fs.mkdirSync(destination, { recursive: true });
- iterateFilesAndFolders(path.join(rootFolder, file.name), {
- destinationRoot: destination,
- });
- deleteFolder(path.join(rootFolder, file.name));
- } else {
- fs.renameSync(
- path.join(rootFolder, file.name),
- path.join(folder, file.name),
- );
- }
- }
- });
-
- const themes = path.join(rootFolder, "themes");
- iterateFilesAndFolders(path.join(themes, getFolderName(rootFolder)), {
- destinationRoot: rootFolder,
- });
- deleteFolder(themes);
- }
-};
-
-setupTheme();
diff --git a/scripts/themeUpdate.js b/scripts/themeUpdate.js
deleted file mode 100644
index 742cd20b..00000000
--- a/scripts/themeUpdate.js
+++ /dev/null
@@ -1,19 +0,0 @@
-const { exec } = require("child_process");
-
-const repositoryUrl = "https://github.com/zeon-studio/hugoplate";
-const localDirectory = "./themes/hugoplate";
-const foldersToFetch = ["assets", "layouts"];
-const foldersToSkip = ["exampleSite"];
-
-const fetchFolder = (folder) => {
- exec(
- `curl -L ${repositoryUrl}/tarball/main | tar -xz --strip-components=1 --directory=${localDirectory} --exclude=$(curl -sL ${repositoryUrl}/tarball/main | tar -tz | grep -E "/(${foldersToSkip.join(
- "|",
- )})/") */${folder}`,
- );
-};
-
-// Fetch each specified folder
-foldersToFetch.forEach((folder) => {
- fetchFolder(folder);
-});
diff --git a/tailwind.config.js b/tailwind.config.js
old mode 100755
new mode 100644
index bbc2a5ea..58af8e93
--- a/tailwind.config.js
+++ b/tailwind.config.js
@@ -1,103 +1,41 @@
-const fs = require("fs");
-const path = require("path");
-const themePath = path.join(__dirname, "data/theme.json");
-const themeRead = fs.readFileSync(themePath, "utf8");
-const theme = JSON.parse(themeRead);
-
-let font_base = Number(theme.fonts.font_size.base.replace("px", ""));
-let font_scale = Number(theme.fonts.font_size.scale);
-let h6 = font_scale;
-let h5 = h6 * font_scale;
-let h4 = h5 * font_scale;
-let h3 = h4 * font_scale;
-let h2 = h3 * font_scale;
-let h1 = h2 * font_scale;
-let fontPrimary, fontPrimaryType, fontSecondary, fontSecondaryType;
-if (theme.fonts.font_family.primary) {
- fontPrimary = theme.fonts.font_family.primary
- .replace(/\+/g, " ")
- .replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, "");
- fontPrimaryType = theme.fonts.font_family.primary_type;
-}
-if (theme.fonts.font_family.secondary) {
- fontSecondary = theme.fonts.font_family.secondary
- .replace(/\+/g, " ")
- .replace(/:[ital,]*[ital@]*[wght@]*[0-9,;]+/gi, "");
- fontSecondaryType = theme.fonts.font_family.secondary_type;
-}
-
-/** @type {import('tailwindcss').Config} */
module.exports = {
- content: ["./hugo_stats.json"],
- safelist: [{ pattern: /^swiper-/ }],
- darkMode: "class",
- theme: {
- screens: {
- sm: "540px",
- md: "768px",
- lg: "1024px",
- xl: "1280px",
- "2xl": "1536px",
- },
- container: {
- center: true,
- padding: "2rem",
- },
- extend: {
- colors: {
- text: theme.colors.default.text_color.default,
- light: theme.colors.default.text_color.light,
- dark: theme.colors.default.text_color.dark,
- primary: theme.colors.default.theme_color.primary,
- secondary: theme.colors.default.theme_color.secondary,
- body: theme.colors.default.theme_color.body,
- border: theme.colors.default.theme_color.border,
- "theme-light": theme.colors.default.theme_color.theme_light,
- "theme-dark": theme.colors.default.theme_color.theme_dark,
- darkmode: {
- text: theme.colors.darkmode.text_color.default,
- light: theme.colors.darkmode.text_color.light,
- dark: theme.colors.darkmode.text_color.dark,
- primary: theme.colors.darkmode.theme_color.primary,
- secondary: theme.colors.darkmode.theme_color.secondary,
- body: theme.colors.darkmode.theme_color.body,
- border: theme.colors.darkmode.theme_color.border,
- "theme-light": theme.colors.darkmode.theme_color.theme_light,
- "theme-dark": theme.colors.darkmode.theme_color.theme_dark,
+ theme: {
+ extend: {
+ colors: {
+ 'gray-dark': '#121212',
+ 'glitch-green': '#00ff00',
+ 'glitch-rose': '#f0f',
+ 'glitch-blue': '#0ff',
+ 'neon-blue-xs': '#08cff6',
+ 'neon-blue-s': '#194262',
+ 'neon-blue-m': '#0e2535',
+ 'neon-blue-l': '#05131e',
+ 'neon-blue-xl': '#020204',
+ 'dark-background': '#010C15',
+ 'menu-text': '#607B96',
+ 'blue-background': '#011627',
+ 'hello-name': '#E5E9F0',
+ 'purple-text': '#4D5BCE',
+ 'hello-gray': '#607B96',
+ 'codeline-link': '#E99287',
+ 'codeline-tag': '#4D5BCE',
+ 'codeline-name': '#43D9AD',
+ 'mobile-menu-blue': '#011627',
+ 'placeholder-gray': '#465E77',
+ 'greenfy': '#43D9AD',
+ 'bluefy-dark': '#011627',
+ 'purplefy': '#5565E8',
+
+ }
},
- },
- fontSize: {
- base: font_base + "px",
- "base-sm": font_base * 0.8 + "px",
- h1: h1 + "rem",
- "h1-sm": h1 * 0.9 + "rem",
- h2: h2 + "rem",
- "h2-sm": h2 * 0.9 + "rem",
- h3: h3 + "rem",
- "h3-sm": h3 * 0.9 + "rem",
- h4: h4 + "rem",
- h5: h5 + "rem",
- h6: h6 + "rem",
- },
- fontFamily: {
- primary: [fontPrimary, fontPrimaryType],
- secondary: [fontSecondary, fontSecondaryType],
- },
- },
- },
- plugins: [
- require("@tailwindcss/typography"),
- require("@tailwindcss/forms"),
- require("tailwind-bootstrap-grid")({
- generateContainer: false,
- gridGutterWidth: "2rem",
- gridGutters: {
- 1: "0.25rem",
- 2: "0.5rem",
- 3: "1rem",
- 4: "1.5rem",
- 5: "3rem",
- },
- }),
- ],
-};
+ fontFamily: {
+ fira_light: "Fira Code Light",
+ fira_regular: "Fira Code Regular",
+ fira_retina: "Fira Code Retina",
+ fira_medium: "Fira Code Medium",
+ fira_semibold: "Fira Code SemiBold",
+ fira_bold: "Fira Code Bold",
+ fira_variable: "Fira Code Variable",
+ }
+ }
+}
\ No newline at end of file
diff --git a/test/github.test.js b/test/github.test.js
new file mode 100644
index 00000000..0c01e50d
--- /dev/null
+++ b/test/github.test.js
@@ -0,0 +1,39 @@
+import { beforeEach, describe, expect, it } from 'vitest'
+import { getGistById } from '../utils/github-api.js'
+
+describe('Testing Github Gists API', () => {
+
+ const gistId1 = '799fe15f4b75706242b10d978e935067';
+
+ // do this before each test
+ beforeEach(() => {
+
+ })
+
+ it('Response status is successfull: 200', async () => {
+
+ const getGithubGist = async (gistId) => await fetch('https://api.github.com/gists/' + gistId)
+ const response = await getGithubGist(gistId1)
+
+ expect(response.status).toBe(200)
+ })
+
+ /**
+ * Check if the response is a JSON
+ */
+ it('The response is a JSON', async () => {
+
+ const gist = await getGistById(gistId1)
+
+ function isJson(str) {
+ try {
+ JSON.parse(str);
+ } catch (e) {
+ return true;
+ }
+ return false;
+ }
+ expect(isJson(gist)).toBe(true)
+ })
+
+})
\ No newline at end of file
diff --git a/test/global.test.js b/test/global.test.js
new file mode 100644
index 00000000..11c4ed00
--- /dev/null
+++ b/test/global.test.js
@@ -0,0 +1,8 @@
+import { describe, expect, it } from 'vitest'
+
+describe('Testing test', () => {
+ it('works!', async () => {
+ expect(true).toBe(true)
+ })
+
+})
\ No newline at end of file
diff --git a/theme.toml b/theme.toml
deleted file mode 100644
index 0a68031f..00000000
--- a/theme.toml
+++ /dev/null
@@ -1,38 +0,0 @@
-name = "Hugoplate"
-license = "MIT"
-licenselink = "https://github.com/zeon-studio/hugoplate/blob/main/LICENSE"
-description = "Hugoplate is a free starter template built with Hugo, and TailwindCSS, providing everything you need to jumpstart your Hugo project and save valuable time."
-homepage = "https://github.com/zeon-studio/hugoplate"
-demosite = "https://zeon.studio/preview?project=hugoplate"
-min_version = "0.121.2"
-
-tags = [
- "blog",
- "responsive",
- "minimal",
- "personal",
- "light",
- "dark",
- "multilingual",
- "landing",
- "contact",
- "dark mode",
- "tailwindcss",
-]
-
-features = [
- "Multi-Authors",
- "Search",
- "Multilingual",
- "Dark Mode",
- "Taxonomies",
-]
-
-[author]
-name = "Zeon Studio"
-homepage = "https://zeon.studio"
-
-[original]
-author = "Zeon Studio"
-homepage = "https://zeon.studio"
-repo = "https://github.com/zeon-studio/themeplate"
diff --git a/themes/hugoplate/assets/js/main.js b/themes/hugoplate/assets/js/main.js
deleted file mode 100755
index 3b3e302e..00000000
--- a/themes/hugoplate/assets/js/main.js
+++ /dev/null
@@ -1,36 +0,0 @@
-// main script
-(function () {
- "use strict";
-
- // Dropdown Menu Toggler For Mobile
- // ----------------------------------------
- const dropdownMenuToggler = document.querySelectorAll(
- ".nav-dropdown > .nav-link",
- );
-
- dropdownMenuToggler.forEach((toggler) => {
- toggler?.addEventListener("click", (e) => {
- e.target.closest('.nav-item').classList.toggle("active");
- });
- });
-
- // Testimonial Slider
- // ----------------------------------------
- new Swiper(".testimonial-slider", {
- spaceBetween: 24,
- loop: true,
- pagination: {
- el: ".testimonial-slider-pagination",
- type: "bullets",
- clickable: true,
- },
- breakpoints: {
- 768: {
- slidesPerView: 2,
- },
- 992: {
- slidesPerView: 3,
- },
- },
- });
-})();
diff --git a/themes/hugoplate/assets/plugins/maps/google-map.js b/themes/hugoplate/assets/plugins/maps/google-map.js
deleted file mode 100644
index 884b5b1b..00000000
--- a/themes/hugoplate/assets/plugins/maps/google-map.js
+++ /dev/null
@@ -1,179 +0,0 @@
-/*!***************************************************
- * Google Map
- *****************************************************/
-
-window.marker = null;
-
-function initialize() {
- var map,
- mapId = document.getElementById("map");
- var latitude = mapId.getAttribute("data-latitude");
- var longitude = mapId.getAttribute("data-longitude");
- var mapMarker = mapId.getAttribute("data-marker");
- var mapMarkerName = mapId.getAttribute("data-marker-name");
- var nottingham = new google.maps.LatLng(latitude, longitude);
- var style = [
- {
- featureType: "administrative",
- elementType: "all",
- stylers: [
- {
- saturation: "-100",
- },
- ],
- },
- {
- featureType: "administrative.province",
- elementType: "all",
- stylers: [
- {
- visibility: "off",
- },
- ],
- },
- {
- featureType: "landscape",
- elementType: "all",
- stylers: [
- {
- saturation: -100,
- },
- {
- lightness: 65,
- },
- {
- visibility: "on",
- },
- ],
- },
- {
- featureType: "poi",
- elementType: "all",
- stylers: [
- {
- saturation: -100,
- },
- {
- lightness: "50",
- },
- {
- visibility: "simplified",
- },
- ],
- },
- {
- featureType: "road",
- elementType: "all",
- stylers: [
- {
- saturation: "-100",
- },
- ],
- },
- {
- featureType: "road.highway",
- elementType: "all",
- stylers: [
- {
- visibility: "simplified",
- },
- ],
- },
- {
- featureType: "road.arterial",
- elementType: "all",
- stylers: [
- {
- lightness: "30",
- },
- ],
- },
- {
- featureType: "road.local",
- elementType: "all",
- stylers: [
- {
- lightness: "40",
- },
- ],
- },
- {
- featureType: "transit",
- elementType: "all",
- stylers: [
- {
- saturation: -100,
- },
- {
- visibility: "simplified",
- },
- ],
- },
- {
- featureType: "water",
- elementType: "geometry",
- stylers: [
- {
- hue: "#ffff00",
- },
- {
- lightness: -25,
- },
- {
- saturation: -97,
- },
- ],
- },
- {
- featureType: "water",
- elementType: "labels",
- stylers: [
- {
- lightness: -25,
- },
- {
- saturation: -100,
- },
- ],
- },
- ];
- var mapOptions = {
- center: nottingham,
- mapTypeId: google.maps.MapTypeId.ROADMAP,
- backgroundColor: "#000",
- zoom: 15,
- panControl: !1,
- zoomControl: !0,
- mapTypeControl: !1,
- scaleControl: !1,
- streetViewControl: !1,
- overviewMapControl: !1,
- zoomControlOptions: {
- style: google.maps.ZoomControlStyle.LARGE,
- },
- };
- map = new google.maps.Map(document.getElementById("map"), mapOptions);
- var mapType = new google.maps.StyledMapType(style, {
- name: "Grayscale",
- });
- map.mapTypes.set("grey", mapType);
- map.setMapTypeId("grey");
- var marker_image = mapMarker;
- var pinIcon = new google.maps.MarkerImage(
- marker_image,
- null,
- null,
- null,
- new google.maps.Size(30, 50),
- );
- marker = new google.maps.Marker({
- position: nottingham,
- map: map,
- icon: pinIcon,
- title: mapMarkerName,
- });
-}
-var map = document.getElementById("map");
-if (map != null) {
- google.maps.event.addDomListener(window, "load", initialize);
-}
diff --git a/themes/hugoplate/assets/plugins/swiper/swiper-bundle.css b/themes/hugoplate/assets/plugins/swiper/swiper-bundle.css
deleted file mode 100644
index 6f0c1942..00000000
--- a/themes/hugoplate/assets/plugins/swiper/swiper-bundle.css
+++ /dev/null
@@ -1,667 +0,0 @@
-/**
- * Swiper 8.0.7
- * Most modern mobile touch slider and framework with hardware accelerated transitions
- * https://swiperjs.com
- *
- * Copyright 2014-2022 Vladimir Kharlampidi
- *
- * Released under the MIT License
- *
- * Released on: March 4, 2022
- */
-
-@font-face {
- font-family: "swiper-icons";
- src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
- font-weight: 400;
- font-style: normal;
-}
-:root {
- --swiper-theme-color: #007aff;
-}
-.swiper {
- margin-left: auto;
- margin-right: auto;
- position: relative;
- overflow: hidden;
- list-style: none;
- padding: 0;
- /* Fix of Webkit flickering */
- z-index: 1;
-}
-.swiper-vertical > .swiper-wrapper {
- flex-direction: column;
-}
-.swiper-wrapper {
- position: relative;
- width: 100%;
- height: 100%;
- z-index: 1;
- display: flex;
- transition-property: transform;
- box-sizing: content-box;
-}
-.swiper-android .swiper-slide,
-.swiper-wrapper {
- transform: translate3d(0px, 0, 0);
-}
-.swiper-pointer-events {
- touch-action: pan-y;
-}
-.swiper-pointer-events.swiper-vertical {
- touch-action: pan-x;
-}
-.swiper-slide {
- flex-shrink: 0;
- width: 100%;
- height: 100%;
- position: relative;
- transition-property: transform;
-}
-.swiper-slide-invisible-blank {
- visibility: hidden;
-}
-/* Auto Height */
-.swiper-autoheight,
-.swiper-autoheight .swiper-slide {
- height: auto;
-}
-.swiper-autoheight .swiper-wrapper {
- align-items: flex-start;
- transition-property: transform, height;
-}
-.swiper-backface-hidden .swiper-slide {
- transform: translateZ(0);
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
-}
-/* 3D Effects */
-.swiper-3d,
-.swiper-3d.swiper-css-mode .swiper-wrapper {
- perspective: 1200px;
-}
-.swiper-3d .swiper-wrapper,
-.swiper-3d .swiper-slide,
-.swiper-3d .swiper-slide-shadow,
-.swiper-3d .swiper-slide-shadow-left,
-.swiper-3d .swiper-slide-shadow-right,
-.swiper-3d .swiper-slide-shadow-top,
-.swiper-3d .swiper-slide-shadow-bottom,
-.swiper-3d .swiper-cube-shadow {
- transform-style: preserve-3d;
-}
-.swiper-3d .swiper-slide-shadow,
-.swiper-3d .swiper-slide-shadow-left,
-.swiper-3d .swiper-slide-shadow-right,
-.swiper-3d .swiper-slide-shadow-top,
-.swiper-3d .swiper-slide-shadow-bottom {
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- pointer-events: none;
- z-index: 10;
-}
-.swiper-3d .swiper-slide-shadow {
- background: rgba(0, 0, 0, 0.15);
-}
-.swiper-3d .swiper-slide-shadow-left {
- background-image: linear-gradient(
- to left,
- rgba(0, 0, 0, 0.5),
- rgba(0, 0, 0, 0)
- );
-}
-.swiper-3d .swiper-slide-shadow-right {
- background-image: linear-gradient(
- to right,
- rgba(0, 0, 0, 0.5),
- rgba(0, 0, 0, 0)
- );
-}
-.swiper-3d .swiper-slide-shadow-top {
- background-image: linear-gradient(
- to top,
- rgba(0, 0, 0, 0.5),
- rgba(0, 0, 0, 0)
- );
-}
-.swiper-3d .swiper-slide-shadow-bottom {
- background-image: linear-gradient(
- to bottom,
- rgba(0, 0, 0, 0.5),
- rgba(0, 0, 0, 0)
- );
-}
-/* CSS Mode */
-.swiper-css-mode > .swiper-wrapper {
- overflow: auto;
- scrollbar-width: none;
- /* For Firefox */
- -ms-overflow-style: none;
- /* For Internet Explorer and Edge */
-}
-.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
- display: none;
-}
-.swiper-css-mode > .swiper-wrapper > .swiper-slide {
- scroll-snap-align: start start;
-}
-.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
- scroll-snap-type: x mandatory;
-}
-.swiper-vertical.swiper-css-mode > .swiper-wrapper {
- scroll-snap-type: y mandatory;
-}
-.swiper-centered > .swiper-wrapper::before {
- content: "";
- flex-shrink: 0;
- order: 9999;
-}
-.swiper-centered.swiper-horizontal
- > .swiper-wrapper
- > .swiper-slide:first-child {
- margin-inline-start: var(--swiper-centered-offset-before);
-}
-.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
- height: 100%;
- min-height: 1px;
- width: var(--swiper-centered-offset-after);
-}
-.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
- margin-block-start: var(--swiper-centered-offset-before);
-}
-.swiper-centered.swiper-vertical > .swiper-wrapper::before {
- width: 100%;
- min-width: 1px;
- height: var(--swiper-centered-offset-after);
-}
-.swiper-centered > .swiper-wrapper > .swiper-slide {
- scroll-snap-align: center center;
-}
-.swiper-virtual .swiper-slide {
- -webkit-backface-visibility: hidden;
- transform: translateZ(0);
-}
-.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
- content: "";
- position: absolute;
- left: 0;
- top: 0;
- pointer-events: none;
-}
-.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
- height: 1px;
- width: var(--swiper-virtual-size);
-}
-.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
- width: 1px;
- height: var(--swiper-virtual-size);
-}
-:root {
- --swiper-navigation-size: 44px;
- /*
- --swiper-navigation-color: var(--swiper-theme-color);
- */
-}
-.swiper-button-prev,
-.swiper-button-next {
- position: absolute;
- top: 50%;
- width: calc(var(--swiper-navigation-size) / 44 * 27);
- height: var(--swiper-navigation-size);
- margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
- z-index: 10;
- cursor: pointer;
- display: flex;
- align-items: center;
- justify-content: center;
- color: var(--swiper-navigation-color, var(--swiper-theme-color));
-}
-.swiper-button-prev.swiper-button-disabled,
-.swiper-button-next.swiper-button-disabled {
- opacity: 0.35;
- cursor: auto;
- pointer-events: none;
-}
-.swiper-button-prev:after,
-.swiper-button-next:after {
- font-family: swiper-icons;
- font-size: var(--swiper-navigation-size);
- text-transform: none !important;
- letter-spacing: 0;
- text-transform: none;
- font-variant: initial;
- line-height: 1;
-}
-.swiper-button-prev,
-.swiper-rtl .swiper-button-next {
- left: 10px;
- right: auto;
-}
-.swiper-button-prev:after,
-.swiper-rtl .swiper-button-next:after {
- content: "prev";
-}
-.swiper-button-next,
-.swiper-rtl .swiper-button-prev {
- right: 10px;
- left: auto;
-}
-.swiper-button-next:after,
-.swiper-rtl .swiper-button-prev:after {
- content: "next";
-}
-.swiper-button-lock {
- display: none;
-}
-:root {
- /*
- --swiper-pagination-color: var(--swiper-theme-color);
- --swiper-pagination-bullet-size: 8px;
- --swiper-pagination-bullet-width: 8px;
- --swiper-pagination-bullet-height: 8px;
- --swiper-pagination-bullet-inactive-color: #000;
- --swiper-pagination-bullet-inactive-opacity: 0.2;
- --swiper-pagination-bullet-opacity: 1;
- --swiper-pagination-bullet-horizontal-gap: 4px;
- --swiper-pagination-bullet-vertical-gap: 6px;
- */
-}
-.swiper-pagination {
- position: absolute;
- text-align: center;
- transition: 300ms opacity;
- transform: translate3d(0, 0, 0);
- z-index: 10;
-}
-.swiper-pagination.swiper-pagination-hidden {
- opacity: 0;
-}
-/* Common Styles */
-.swiper-pagination-fraction,
-.swiper-pagination-custom,
-.swiper-horizontal > .swiper-pagination-bullets,
-.swiper-pagination-bullets.swiper-pagination-horizontal {
- bottom: 10px;
- left: 0;
- width: 100%;
-}
-/* Bullets */
-.swiper-pagination-bullets-dynamic {
- overflow: hidden;
- font-size: 0;
-}
-.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
- transform: scale(0.33);
- position: relative;
-}
-.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
- transform: scale(1);
-}
-.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
- transform: scale(1);
-}
-.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
- transform: scale(0.66);
-}
-.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
- transform: scale(0.33);
-}
-.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
- transform: scale(0.66);
-}
-.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
- transform: scale(0.33);
-}
-.swiper-pagination-bullet {
- width: var(
- --swiper-pagination-bullet-width,
- var(--swiper-pagination-bullet-size, 8px)
- );
- height: var(
- --swiper-pagination-bullet-height,
- var(--swiper-pagination-bullet-size, 8px)
- );
- display: inline-block;
- border-radius: 50%;
- background: var(--swiper-pagination-bullet-inactive-color, #000);
- opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
-}
-button.swiper-pagination-bullet {
- border: none;
- margin: 0;
- padding: 0;
- box-shadow: none;
- -webkit-appearance: none;
- appearance: none;
-}
-.swiper-pagination-clickable .swiper-pagination-bullet {
- cursor: pointer;
-}
-.swiper-pagination-bullet:only-child {
- display: none !important;
-}
-.swiper-pagination-bullet-active {
- opacity: var(--swiper-pagination-bullet-opacity, 1);
- background: var(--swiper-pagination-color, var(--swiper-theme-color));
-}
-.swiper-vertical > .swiper-pagination-bullets,
-.swiper-pagination-vertical.swiper-pagination-bullets {
- right: 10px;
- top: 50%;
- transform: translate3d(0px, -50%, 0);
-}
-.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
-.swiper-pagination-vertical.swiper-pagination-bullets
- .swiper-pagination-bullet {
- margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
- display: block;
-}
-.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
-.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
- top: 50%;
- transform: translateY(-50%);
- width: 8px;
-}
-.swiper-vertical
- > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
- .swiper-pagination-bullet,
-.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
- .swiper-pagination-bullet {
- display: inline-block;
- transition:
- 200ms transform,
- 200ms top;
-}
-.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
-.swiper-pagination-horizontal.swiper-pagination-bullets
- .swiper-pagination-bullet {
- margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
-}
-.swiper-horizontal
- > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
-.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
- left: 50%;
- transform: translateX(-50%);
- white-space: nowrap;
-}
-.swiper-horizontal
- > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic
- .swiper-pagination-bullet,
-.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic
- .swiper-pagination-bullet {
- transition:
- 200ms transform,
- 200ms left;
-}
-.swiper-horizontal.swiper-rtl
- > .swiper-pagination-bullets-dynamic
- .swiper-pagination-bullet {
- transition:
- 200ms transform,
- 200ms right;
-}
-/* Progress */
-.swiper-pagination-progressbar {
- background: rgba(0, 0, 0, 0.25);
- position: absolute;
-}
-.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
- background: var(--swiper-pagination-color, var(--swiper-theme-color));
- position: absolute;
- left: 0;
- top: 0;
- width: 100%;
- height: 100%;
- transform: scale(0);
- transform-origin: left top;
-}
-.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
- transform-origin: right top;
-}
-.swiper-horizontal > .swiper-pagination-progressbar,
-.swiper-pagination-progressbar.swiper-pagination-horizontal,
-.swiper-vertical
- > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
-.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
- width: 100%;
- height: 4px;
- left: 0;
- top: 0;
-}
-.swiper-vertical > .swiper-pagination-progressbar,
-.swiper-pagination-progressbar.swiper-pagination-vertical,
-.swiper-horizontal
- > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
-.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
- width: 4px;
- height: 100%;
- left: 0;
- top: 0;
-}
-.swiper-pagination-lock {
- display: none;
-}
-/* Scrollbar */
-.swiper-scrollbar {
- border-radius: 10px;
- position: relative;
- -ms-touch-action: none;
- background: rgba(0, 0, 0, 0.1);
-}
-.swiper-horizontal > .swiper-scrollbar {
- position: absolute;
- left: 1%;
- bottom: 3px;
- z-index: 50;
- height: 5px;
- width: 98%;
-}
-.swiper-vertical > .swiper-scrollbar {
- position: absolute;
- right: 3px;
- top: 1%;
- z-index: 50;
- width: 5px;
- height: 98%;
-}
-.swiper-scrollbar-drag {
- height: 100%;
- width: 100%;
- position: relative;
- background: rgba(0, 0, 0, 0.5);
- border-radius: 10px;
- left: 0;
- top: 0;
-}
-.swiper-scrollbar-cursor-drag {
- cursor: move;
-}
-.swiper-scrollbar-lock {
- display: none;
-}
-.swiper-zoom-container {
- width: 100%;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
- text-align: center;
-}
-.swiper-zoom-container > img,
-.swiper-zoom-container > svg,
-.swiper-zoom-container > canvas {
- max-width: 100%;
- max-height: 100%;
- object-fit: contain;
-}
-.swiper-slide-zoomed {
- cursor: move;
-}
-/* Preloader */
-:root {
- /*
- --swiper-preloader-color: var(--swiper-theme-color);
- */
-}
-.swiper-lazy-preloader {
- width: 42px;
- height: 42px;
- position: absolute;
- left: 50%;
- top: 50%;
- margin-left: -21px;
- margin-top: -21px;
- z-index: 10;
- transform-origin: 50%;
- box-sizing: border-box;
- border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
- border-radius: 50%;
- border-top-color: transparent;
-}
-.swiper-slide-visible .swiper-lazy-preloader {
- animation: swiper-preloader-spin 1s infinite linear;
-}
-.swiper-lazy-preloader-white {
- --swiper-preloader-color: #fff;
-}
-.swiper-lazy-preloader-black {
- --swiper-preloader-color: #000;
-}
-@keyframes swiper-preloader-spin {
- 100% {
- transform: rotate(360deg);
- }
-}
-/* a11y */
-.swiper .swiper-notification {
- position: absolute;
- left: 0;
- top: 0;
- pointer-events: none;
- opacity: 0;
- z-index: -1000;
-}
-.swiper-free-mode > .swiper-wrapper {
- transition-timing-function: ease-out;
- margin: 0 auto;
-}
-.swiper-grid > .swiper-wrapper {
- flex-wrap: wrap;
-}
-.swiper-grid-column > .swiper-wrapper {
- flex-wrap: wrap;
- flex-direction: column;
-}
-.swiper-fade.swiper-free-mode .swiper-slide {
- transition-timing-function: ease-out;
-}
-.swiper-fade .swiper-slide {
- pointer-events: none;
- transition-property: opacity;
-}
-.swiper-fade .swiper-slide .swiper-slide {
- pointer-events: none;
-}
-.swiper-fade .swiper-slide-active,
-.swiper-fade .swiper-slide-active .swiper-slide-active {
- pointer-events: auto;
-}
-.swiper-cube {
- overflow: visible;
-}
-.swiper-cube .swiper-slide {
- pointer-events: none;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- z-index: 1;
- visibility: hidden;
- transform-origin: 0 0;
- width: 100%;
- height: 100%;
-}
-.swiper-cube .swiper-slide .swiper-slide {
- pointer-events: none;
-}
-.swiper-cube.swiper-rtl .swiper-slide {
- transform-origin: 100% 0;
-}
-.swiper-cube .swiper-slide-active,
-.swiper-cube .swiper-slide-active .swiper-slide-active {
- pointer-events: auto;
-}
-.swiper-cube .swiper-slide-active,
-.swiper-cube .swiper-slide-next,
-.swiper-cube .swiper-slide-prev,
-.swiper-cube .swiper-slide-next + .swiper-slide {
- pointer-events: auto;
- visibility: visible;
-}
-.swiper-cube .swiper-slide-shadow-top,
-.swiper-cube .swiper-slide-shadow-bottom,
-.swiper-cube .swiper-slide-shadow-left,
-.swiper-cube .swiper-slide-shadow-right {
- z-index: 0;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
-}
-.swiper-cube .swiper-cube-shadow {
- position: absolute;
- left: 0;
- bottom: 0px;
- width: 100%;
- height: 100%;
- opacity: 0.6;
- z-index: 0;
-}
-.swiper-cube .swiper-cube-shadow:before {
- content: "";
- background: #000;
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- right: 0;
- filter: blur(50px);
-}
-.swiper-flip {
- overflow: visible;
-}
-.swiper-flip .swiper-slide {
- pointer-events: none;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- z-index: 1;
-}
-.swiper-flip .swiper-slide .swiper-slide {
- pointer-events: none;
-}
-.swiper-flip .swiper-slide-active,
-.swiper-flip .swiper-slide-active .swiper-slide-active {
- pointer-events: auto;
-}
-.swiper-flip .swiper-slide-shadow-top,
-.swiper-flip .swiper-slide-shadow-bottom,
-.swiper-flip .swiper-slide-shadow-left,
-.swiper-flip .swiper-slide-shadow-right {
- z-index: 0;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
-}
-.swiper-creative .swiper-slide {
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- overflow: hidden;
- transition-property: transform, opacity, height;
-}
-.swiper-cards {
- overflow: visible;
-}
-.swiper-cards .swiper-slide {
- transform-origin: center bottom;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- overflow: hidden;
-}
diff --git a/themes/hugoplate/assets/plugins/swiper/swiper-bundle.js b/themes/hugoplate/assets/plugins/swiper/swiper-bundle.js
deleted file mode 100644
index 9c90ea50..00000000
--- a/themes/hugoplate/assets/plugins/swiper/swiper-bundle.js
+++ /dev/null
@@ -1,11853 +0,0 @@
-/**
- * Swiper 8.0.7
- * Most modern mobile touch slider and framework with hardware accelerated transitions
- * https://swiperjs.com
- *
- * Copyright 2014-2022 Vladimir Kharlampidi
- *
- * Released under the MIT License
- *
- * Released on: March 4, 2022
- */
-
-(function (global, factory) {
- typeof exports === "object" && typeof module !== "undefined"
- ? (module.exports = factory())
- : typeof define === "function" && define.amd
- ? define(factory)
- : ((global =
- typeof globalThis !== "undefined" ? globalThis : global || self),
- (global.Swiper = factory()));
-})(this, function () {
- "use strict";
-
- /**
- * SSR Window 4.0.2
- * Better handling for window object in SSR environment
- * https://github.com/nolimits4web/ssr-window
- *
- * Copyright 2021, Vladimir Kharlampidi
- *
- * Licensed under MIT
- *
- * Released on: December 13, 2021
- */
-
- /* eslint-disable no-param-reassign */
- function isObject$1(obj) {
- return (
- obj !== null &&
- typeof obj === "object" &&
- "constructor" in obj &&
- obj.constructor === Object
- );
- }
-
- function extend$1(target, src) {
- if (target === void 0) {
- target = {};
- }
-
- if (src === void 0) {
- src = {};
- }
-
- Object.keys(src).forEach((key) => {
- if (typeof target[key] === "undefined") target[key] = src[key];
- else if (
- isObject$1(src[key]) &&
- isObject$1(target[key]) &&
- Object.keys(src[key]).length > 0
- ) {
- extend$1(target[key], src[key]);
- }
- });
- }
-
- const ssrDocument = {
- body: {},
-
- addEventListener() {},
-
- removeEventListener() {},
-
- activeElement: {
- blur() {},
-
- nodeName: "",
- },
-
- querySelector() {
- return null;
- },
-
- querySelectorAll() {
- return [];
- },
-
- getElementById() {
- return null;
- },
-
- createEvent() {
- return {
- initEvent() {},
- };
- },
-
- createElement() {
- return {
- children: [],
- childNodes: [],
- style: {},
-
- setAttribute() {},
-
- getElementsByTagName() {
- return [];
- },
- };
- },
-
- createElementNS() {
- return {};
- },
-
- importNode() {
- return null;
- },
-
- location: {
- hash: "",
- host: "",
- hostname: "",
- href: "",
- origin: "",
- pathname: "",
- protocol: "",
- search: "",
- },
- };
-
- function getDocument() {
- const doc = typeof document !== "undefined" ? document : {};
- extend$1(doc, ssrDocument);
- return doc;
- }
-
- const ssrWindow = {
- document: ssrDocument,
- navigator: {
- userAgent: "",
- },
- location: {
- hash: "",
- host: "",
- hostname: "",
- href: "",
- origin: "",
- pathname: "",
- protocol: "",
- search: "",
- },
- history: {
- replaceState() {},
-
- pushState() {},
-
- go() {},
-
- back() {},
- },
- CustomEvent: function CustomEvent() {
- return this;
- },
-
- addEventListener() {},
-
- removeEventListener() {},
-
- getComputedStyle() {
- return {
- getPropertyValue() {
- return "";
- },
- };
- },
-
- Image() {},
-
- Date() {},
-
- screen: {},
-
- setTimeout() {},
-
- clearTimeout() {},
-
- matchMedia() {
- return {};
- },
-
- requestAnimationFrame(callback) {
- if (typeof setTimeout === "undefined") {
- callback();
- return null;
- }
-
- return setTimeout(callback, 0);
- },
-
- cancelAnimationFrame(id) {
- if (typeof setTimeout === "undefined") {
- return;
- }
-
- clearTimeout(id);
- },
- };
-
- function getWindow() {
- const win = typeof window !== "undefined" ? window : {};
- extend$1(win, ssrWindow);
- return win;
- }
-
- /**
- * Dom7 4.0.4
- * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API
- * https://framework7.io/docs/dom7.html
- *
- * Copyright 2022, Vladimir Kharlampidi
- *
- * Licensed under MIT
- *
- * Released on: January 11, 2022
- */
- /* eslint-disable no-proto */
-
- function makeReactive(obj) {
- const proto = obj.__proto__;
- Object.defineProperty(obj, "__proto__", {
- get() {
- return proto;
- },
-
- set(value) {
- proto.__proto__ = value;
- },
- });
- }
-
- class Dom7 extends Array {
- constructor(items) {
- if (typeof items === "number") {
- super(items);
- } else {
- super(...(items || []));
- makeReactive(this);
- }
- }
- }
-
- function arrayFlat(arr) {
- if (arr === void 0) {
- arr = [];
- }
-
- const res = [];
- arr.forEach((el) => {
- if (Array.isArray(el)) {
- res.push(...arrayFlat(el));
- } else {
- res.push(el);
- }
- });
- return res;
- }
-
- function arrayFilter(arr, callback) {
- return Array.prototype.filter.call(arr, callback);
- }
-
- function arrayUnique(arr) {
- const uniqueArray = [];
-
- for (let i = 0; i < arr.length; i += 1) {
- if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);
- }
-
- return uniqueArray;
- }
-
- function qsa(selector, context) {
- if (typeof selector !== "string") {
- return [selector];
- }
-
- const a = [];
- const res = context.querySelectorAll(selector);
-
- for (let i = 0; i < res.length; i += 1) {
- a.push(res[i]);
- }
-
- return a;
- }
-
- function $(selector, context) {
- const window = getWindow();
- const document = getDocument();
- let arr = [];
-
- if (!context && selector instanceof Dom7) {
- return selector;
- }
-
- if (!selector) {
- return new Dom7(arr);
- }
-
- if (typeof selector === "string") {
- const html = selector.trim();
-
- if (html.indexOf("<") >= 0 && html.indexOf(">") >= 0) {
- let toCreate = "div";
- if (html.indexOf(" c.split(" ")));
- this.forEach((el) => {
- el.classList.add(...classNames);
- });
- return this;
- }
-
- function removeClass() {
- for (
- var _len2 = arguments.length, classes = new Array(_len2), _key2 = 0;
- _key2 < _len2;
- _key2++
- ) {
- classes[_key2] = arguments[_key2];
- }
-
- const classNames = arrayFlat(classes.map((c) => c.split(" ")));
- this.forEach((el) => {
- el.classList.remove(...classNames);
- });
- return this;
- }
-
- function toggleClass() {
- for (
- var _len3 = arguments.length, classes = new Array(_len3), _key3 = 0;
- _key3 < _len3;
- _key3++
- ) {
- classes[_key3] = arguments[_key3];
- }
-
- const classNames = arrayFlat(classes.map((c) => c.split(" ")));
- this.forEach((el) => {
- classNames.forEach((className) => {
- el.classList.toggle(className);
- });
- });
- }
-
- function hasClass() {
- for (
- var _len4 = arguments.length, classes = new Array(_len4), _key4 = 0;
- _key4 < _len4;
- _key4++
- ) {
- classes[_key4] = arguments[_key4];
- }
-
- const classNames = arrayFlat(classes.map((c) => c.split(" ")));
- return (
- arrayFilter(this, (el) => {
- return (
- classNames.filter((className) => el.classList.contains(className))
- .length > 0
- );
- }).length > 0
- );
- }
-
- function attr(attrs, value) {
- if (arguments.length === 1 && typeof attrs === "string") {
- // Get attr
- if (this[0]) return this[0].getAttribute(attrs);
- return undefined;
- } // Set attrs
-
- for (let i = 0; i < this.length; i += 1) {
- if (arguments.length === 2) {
- // String
- this[i].setAttribute(attrs, value);
- } else {
- // Object
- for (const attrName in attrs) {
- this[i][attrName] = attrs[attrName];
- this[i].setAttribute(attrName, attrs[attrName]);
- }
- }
- }
-
- return this;
- }
-
- function removeAttr(attr) {
- for (let i = 0; i < this.length; i += 1) {
- this[i].removeAttribute(attr);
- }
-
- return this;
- }
-
- function transform(transform) {
- for (let i = 0; i < this.length; i += 1) {
- this[i].style.transform = transform;
- }
-
- return this;
- }
-
- function transition$1(duration) {
- for (let i = 0; i < this.length; i += 1) {
- this[i].style.transitionDuration =
- typeof duration !== "string" ? `${duration}ms` : duration;
- }
-
- return this;
- }
-
- function on() {
- for (
- var _len5 = arguments.length, args = new Array(_len5), _key5 = 0;
- _key5 < _len5;
- _key5++
- ) {
- args[_key5] = arguments[_key5];
- }
-
- let [eventType, targetSelector, listener, capture] = args;
-
- if (typeof args[1] === "function") {
- [eventType, listener, capture] = args;
- targetSelector = undefined;
- }
-
- if (!capture) capture = false;
-
- function handleLiveEvent(e) {
- const target = e.target;
- if (!target) return;
- const eventData = e.target.dom7EventData || [];
-
- if (eventData.indexOf(e) < 0) {
- eventData.unshift(e);
- }
-
- if ($(target).is(targetSelector)) listener.apply(target, eventData);
- else {
- const parents = $(target).parents(); // eslint-disable-line
-
- for (let k = 0; k < parents.length; k += 1) {
- if ($(parents[k]).is(targetSelector))
- listener.apply(parents[k], eventData);
- }
- }
- }
-
- function handleEvent(e) {
- const eventData = e && e.target ? e.target.dom7EventData || [] : [];
-
- if (eventData.indexOf(e) < 0) {
- eventData.unshift(e);
- }
-
- listener.apply(this, eventData);
- }
-
- const events = eventType.split(" ");
- let j;
-
- for (let i = 0; i < this.length; i += 1) {
- const el = this[i];
-
- if (!targetSelector) {
- for (j = 0; j < events.length; j += 1) {
- const event = events[j];
- if (!el.dom7Listeners) el.dom7Listeners = {};
- if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];
- el.dom7Listeners[event].push({
- listener,
- proxyListener: handleEvent,
- });
- el.addEventListener(event, handleEvent, capture);
- }
- } else {
- // Live events
- for (j = 0; j < events.length; j += 1) {
- const event = events[j];
- if (!el.dom7LiveListeners) el.dom7LiveListeners = {};
- if (!el.dom7LiveListeners[event]) el.dom7LiveListeners[event] = [];
- el.dom7LiveListeners[event].push({
- listener,
- proxyListener: handleLiveEvent,
- });
- el.addEventListener(event, handleLiveEvent, capture);
- }
- }
- }
-
- return this;
- }
-
- function off() {
- for (
- var _len6 = arguments.length, args = new Array(_len6), _key6 = 0;
- _key6 < _len6;
- _key6++
- ) {
- args[_key6] = arguments[_key6];
- }
-
- let [eventType, targetSelector, listener, capture] = args;
-
- if (typeof args[1] === "function") {
- [eventType, listener, capture] = args;
- targetSelector = undefined;
- }
-
- if (!capture) capture = false;
- const events = eventType.split(" ");
-
- for (let i = 0; i < events.length; i += 1) {
- const event = events[i];
-
- for (let j = 0; j < this.length; j += 1) {
- const el = this[j];
- let handlers;
-
- if (!targetSelector && el.dom7Listeners) {
- handlers = el.dom7Listeners[event];
- } else if (targetSelector && el.dom7LiveListeners) {
- handlers = el.dom7LiveListeners[event];
- }
-
- if (handlers && handlers.length) {
- for (let k = handlers.length - 1; k >= 0; k -= 1) {
- const handler = handlers[k];
-
- if (listener && handler.listener === listener) {
- el.removeEventListener(event, handler.proxyListener, capture);
- handlers.splice(k, 1);
- } else if (
- listener &&
- handler.listener &&
- handler.listener.dom7proxy &&
- handler.listener.dom7proxy === listener
- ) {
- el.removeEventListener(event, handler.proxyListener, capture);
- handlers.splice(k, 1);
- } else if (!listener) {
- el.removeEventListener(event, handler.proxyListener, capture);
- handlers.splice(k, 1);
- }
- }
- }
- }
- }
-
- return this;
- }
-
- function trigger() {
- const window = getWindow();
-
- for (
- var _len9 = arguments.length, args = new Array(_len9), _key9 = 0;
- _key9 < _len9;
- _key9++
- ) {
- args[_key9] = arguments[_key9];
- }
-
- const events = args[0].split(" ");
- const eventData = args[1];
-
- for (let i = 0; i < events.length; i += 1) {
- const event = events[i];
-
- for (let j = 0; j < this.length; j += 1) {
- const el = this[j];
-
- if (window.CustomEvent) {
- const evt = new window.CustomEvent(event, {
- detail: eventData,
- bubbles: true,
- cancelable: true,
- });
- el.dom7EventData = args.filter((data, dataIndex) => dataIndex > 0);
- el.dispatchEvent(evt);
- el.dom7EventData = [];
- delete el.dom7EventData;
- }
- }
- }
-
- return this;
- }
-
- function transitionEnd$1(callback) {
- const dom = this;
-
- function fireCallBack(e) {
- if (e.target !== this) return;
- callback.call(this, e);
- dom.off("transitionend", fireCallBack);
- }
-
- if (callback) {
- dom.on("transitionend", fireCallBack);
- }
-
- return this;
- }
-
- function outerWidth(includeMargins) {
- if (this.length > 0) {
- if (includeMargins) {
- const styles = this.styles();
- return (
- this[0].offsetWidth +
- parseFloat(styles.getPropertyValue("margin-right")) +
- parseFloat(styles.getPropertyValue("margin-left"))
- );
- }
-
- return this[0].offsetWidth;
- }
-
- return null;
- }
-
- function outerHeight(includeMargins) {
- if (this.length > 0) {
- if (includeMargins) {
- const styles = this.styles();
- return (
- this[0].offsetHeight +
- parseFloat(styles.getPropertyValue("margin-top")) +
- parseFloat(styles.getPropertyValue("margin-bottom"))
- );
- }
-
- return this[0].offsetHeight;
- }
-
- return null;
- }
-
- function offset() {
- if (this.length > 0) {
- const window = getWindow();
- const document = getDocument();
- const el = this[0];
- const box = el.getBoundingClientRect();
- const body = document.body;
- const clientTop = el.clientTop || body.clientTop || 0;
- const clientLeft = el.clientLeft || body.clientLeft || 0;
- const scrollTop = el === window ? window.scrollY : el.scrollTop;
- const scrollLeft = el === window ? window.scrollX : el.scrollLeft;
- return {
- top: box.top + scrollTop - clientTop,
- left: box.left + scrollLeft - clientLeft,
- };
- }
-
- return null;
- }
-
- function styles() {
- const window = getWindow();
- if (this[0]) return window.getComputedStyle(this[0], null);
- return {};
- }
-
- function css(props, value) {
- const window = getWindow();
- let i;
-
- if (arguments.length === 1) {
- if (typeof props === "string") {
- // .css('width')
- if (this[0])
- return window.getComputedStyle(this[0], null).getPropertyValue(props);
- } else {
- // .css({ width: '100px' })
- for (i = 0; i < this.length; i += 1) {
- for (const prop in props) {
- this[i].style[prop] = props[prop];
- }
- }
-
- return this;
- }
- }
-
- if (arguments.length === 2 && typeof props === "string") {
- // .css('width', '100px')
- for (i = 0; i < this.length; i += 1) {
- this[i].style[props] = value;
- }
-
- return this;
- }
-
- return this;
- }
-
- function each(callback) {
- if (!callback) return this;
- this.forEach((el, index) => {
- callback.apply(el, [el, index]);
- });
- return this;
- }
-
- function filter(callback) {
- const result = arrayFilter(this, callback);
- return $(result);
- }
-
- function html(html) {
- if (typeof html === "undefined") {
- return this[0] ? this[0].innerHTML : null;
- }
-
- for (let i = 0; i < this.length; i += 1) {
- this[i].innerHTML = html;
- }
-
- return this;
- }
-
- function text(text) {
- if (typeof text === "undefined") {
- return this[0] ? this[0].textContent.trim() : null;
- }
-
- for (let i = 0; i < this.length; i += 1) {
- this[i].textContent = text;
- }
-
- return this;
- }
-
- function is(selector) {
- const window = getWindow();
- const document = getDocument();
- const el = this[0];
- let compareWith;
- let i;
- if (!el || typeof selector === "undefined") return false;
-
- if (typeof selector === "string") {
- if (el.matches) return el.matches(selector);
- if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);
- if (el.msMatchesSelector) return el.msMatchesSelector(selector);
- compareWith = $(selector);
-
- for (i = 0; i < compareWith.length; i += 1) {
- if (compareWith[i] === el) return true;
- }
-
- return false;
- }
-
- if (selector === document) {
- return el === document;
- }
-
- if (selector === window) {
- return el === window;
- }
-
- if (selector.nodeType || selector instanceof Dom7) {
- compareWith = selector.nodeType ? [selector] : selector;
-
- for (i = 0; i < compareWith.length; i += 1) {
- if (compareWith[i] === el) return true;
- }
-
- return false;
- }
-
- return false;
- }
-
- function index() {
- let child = this[0];
- let i;
-
- if (child) {
- i = 0; // eslint-disable-next-line
-
- while ((child = child.previousSibling) !== null) {
- if (child.nodeType === 1) i += 1;
- }
-
- return i;
- }
-
- return undefined;
- }
-
- function eq(index) {
- if (typeof index === "undefined") return this;
- const length = this.length;
-
- if (index > length - 1) {
- return $([]);
- }
-
- if (index < 0) {
- const returnIndex = length + index;
- if (returnIndex < 0) return $([]);
- return $([this[returnIndex]]);
- }
-
- return $([this[index]]);
- }
-
- function append() {
- let newChild;
- const document = getDocument();
-
- for (let k = 0; k < arguments.length; k += 1) {
- newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];
-
- for (let i = 0; i < this.length; i += 1) {
- if (typeof newChild === "string") {
- const tempDiv = document.createElement("div");
- tempDiv.innerHTML = newChild;
-
- while (tempDiv.firstChild) {
- this[i].appendChild(tempDiv.firstChild);
- }
- } else if (newChild instanceof Dom7) {
- for (let j = 0; j < newChild.length; j += 1) {
- this[i].appendChild(newChild[j]);
- }
- } else {
- this[i].appendChild(newChild);
- }
- }
- }
-
- return this;
- }
-
- function prepend(newChild) {
- const document = getDocument();
- let i;
- let j;
-
- for (i = 0; i < this.length; i += 1) {
- if (typeof newChild === "string") {
- const tempDiv = document.createElement("div");
- tempDiv.innerHTML = newChild;
-
- for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {
- this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);
- }
- } else if (newChild instanceof Dom7) {
- for (j = 0; j < newChild.length; j += 1) {
- this[i].insertBefore(newChild[j], this[i].childNodes[0]);
- }
- } else {
- this[i].insertBefore(newChild, this[i].childNodes[0]);
- }
- }
-
- return this;
- }
-
- function next(selector) {
- if (this.length > 0) {
- if (selector) {
- if (
- this[0].nextElementSibling &&
- $(this[0].nextElementSibling).is(selector)
- ) {
- return $([this[0].nextElementSibling]);
- }
-
- return $([]);
- }
-
- if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);
- return $([]);
- }
-
- return $([]);
- }
-
- function nextAll(selector) {
- const nextEls = [];
- let el = this[0];
- if (!el) return $([]);
-
- while (el.nextElementSibling) {
- const next = el.nextElementSibling; // eslint-disable-line
-
- if (selector) {
- if ($(next).is(selector)) nextEls.push(next);
- } else nextEls.push(next);
-
- el = next;
- }
-
- return $(nextEls);
- }
-
- function prev(selector) {
- if (this.length > 0) {
- const el = this[0];
-
- if (selector) {
- if (
- el.previousElementSibling &&
- $(el.previousElementSibling).is(selector)
- ) {
- return $([el.previousElementSibling]);
- }
-
- return $([]);
- }
-
- if (el.previousElementSibling) return $([el.previousElementSibling]);
- return $([]);
- }
-
- return $([]);
- }
-
- function prevAll(selector) {
- const prevEls = [];
- let el = this[0];
- if (!el) return $([]);
-
- while (el.previousElementSibling) {
- const prev = el.previousElementSibling; // eslint-disable-line
-
- if (selector) {
- if ($(prev).is(selector)) prevEls.push(prev);
- } else prevEls.push(prev);
-
- el = prev;
- }
-
- return $(prevEls);
- }
-
- function parent(selector) {
- const parents = []; // eslint-disable-line
-
- for (let i = 0; i < this.length; i += 1) {
- if (this[i].parentNode !== null) {
- if (selector) {
- if ($(this[i].parentNode).is(selector))
- parents.push(this[i].parentNode);
- } else {
- parents.push(this[i].parentNode);
- }
- }
- }
-
- return $(parents);
- }
-
- function parents(selector) {
- const parents = []; // eslint-disable-line
-
- for (let i = 0; i < this.length; i += 1) {
- let parent = this[i].parentNode; // eslint-disable-line
-
- while (parent) {
- if (selector) {
- if ($(parent).is(selector)) parents.push(parent);
- } else {
- parents.push(parent);
- }
-
- parent = parent.parentNode;
- }
- }
-
- return $(parents);
- }
-
- function closest(selector) {
- let closest = this; // eslint-disable-line
-
- if (typeof selector === "undefined") {
- return $([]);
- }
-
- if (!closest.is(selector)) {
- closest = closest.parents(selector).eq(0);
- }
-
- return closest;
- }
-
- function find(selector) {
- const foundElements = [];
-
- for (let i = 0; i < this.length; i += 1) {
- const found = this[i].querySelectorAll(selector);
-
- for (let j = 0; j < found.length; j += 1) {
- foundElements.push(found[j]);
- }
- }
-
- return $(foundElements);
- }
-
- function children(selector) {
- const children = []; // eslint-disable-line
-
- for (let i = 0; i < this.length; i += 1) {
- const childNodes = this[i].children;
-
- for (let j = 0; j < childNodes.length; j += 1) {
- if (!selector || $(childNodes[j]).is(selector)) {
- children.push(childNodes[j]);
- }
- }
- }
-
- return $(children);
- }
-
- function remove() {
- for (let i = 0; i < this.length; i += 1) {
- if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);
- }
-
- return this;
- }
-
- const Methods = {
- addClass,
- removeClass,
- hasClass,
- toggleClass,
- attr,
- removeAttr,
- transform,
- transition: transition$1,
- on,
- off,
- trigger,
- transitionEnd: transitionEnd$1,
- outerWidth,
- outerHeight,
- styles,
- offset,
- css,
- each,
- html,
- text,
- is,
- index,
- eq,
- append,
- prepend,
- next,
- nextAll,
- prev,
- prevAll,
- parent,
- parents,
- closest,
- find,
- children,
- filter,
- remove,
- };
- Object.keys(Methods).forEach((methodName) => {
- Object.defineProperty($.fn, methodName, {
- value: Methods[methodName],
- writable: true,
- });
- });
-
- function deleteProps(obj) {
- const object = obj;
- Object.keys(object).forEach((key) => {
- try {
- object[key] = null;
- } catch (e) {
- // no getter for object
- }
-
- try {
- delete object[key];
- } catch (e) {
- // something got wrong
- }
- });
- }
-
- function nextTick(callback, delay) {
- if (delay === void 0) {
- delay = 0;
- }
-
- return setTimeout(callback, delay);
- }
-
- function now() {
- return Date.now();
- }
-
- function getComputedStyle$1(el) {
- const window = getWindow();
- let style;
-
- if (window.getComputedStyle) {
- style = window.getComputedStyle(el, null);
- }
-
- if (!style && el.currentStyle) {
- style = el.currentStyle;
- }
-
- if (!style) {
- style = el.style;
- }
-
- return style;
- }
-
- function getTranslate(el, axis) {
- if (axis === void 0) {
- axis = "x";
- }
-
- const window = getWindow();
- let matrix;
- let curTransform;
- let transformMatrix;
- const curStyle = getComputedStyle$1(el);
-
- if (window.WebKitCSSMatrix) {
- curTransform = curStyle.transform || curStyle.webkitTransform;
-
- if (curTransform.split(",").length > 6) {
- curTransform = curTransform
- .split(", ")
- .map((a) => a.replace(",", "."))
- .join(", ");
- } // Some old versions of Webkit choke when 'none' is passed; pass
- // empty string instead in this case
-
- transformMatrix = new window.WebKitCSSMatrix(
- curTransform === "none" ? "" : curTransform,
- );
- } else {
- transformMatrix =
- curStyle.MozTransform ||
- curStyle.OTransform ||
- curStyle.MsTransform ||
- curStyle.msTransform ||
- curStyle.transform ||
- curStyle
- .getPropertyValue("transform")
- .replace("translate(", "matrix(1, 0, 0, 1,");
- matrix = transformMatrix.toString().split(",");
- }
-
- if (axis === "x") {
- // Latest Chrome and webkits Fix
- if (window.WebKitCSSMatrix)
- curTransform = transformMatrix.m41; // Crazy IE10 Matrix
- else if (matrix.length === 16)
- curTransform = parseFloat(matrix[12]); // Normal Browsers
- else curTransform = parseFloat(matrix[4]);
- }
-
- if (axis === "y") {
- // Latest Chrome and webkits Fix
- if (window.WebKitCSSMatrix)
- curTransform = transformMatrix.m42; // Crazy IE10 Matrix
- else if (matrix.length === 16)
- curTransform = parseFloat(matrix[13]); // Normal Browsers
- else curTransform = parseFloat(matrix[5]);
- }
-
- return curTransform || 0;
- }
-
- function isObject(o) {
- return (
- typeof o === "object" &&
- o !== null &&
- o.constructor &&
- Object.prototype.toString.call(o).slice(8, -1) === "Object"
- );
- }
-
- function isNode(node) {
- // eslint-disable-next-line
- if (
- typeof window !== "undefined" &&
- typeof window.HTMLElement !== "undefined"
- ) {
- return node instanceof HTMLElement;
- }
-
- return node && (node.nodeType === 1 || node.nodeType === 11);
- }
-
- function extend() {
- const to = Object(arguments.length <= 0 ? undefined : arguments[0]);
- const noExtend = ["__proto__", "constructor", "prototype"];
-
- for (let i = 1; i < arguments.length; i += 1) {
- const nextSource =
- i < 0 || arguments.length <= i ? undefined : arguments[i];
-
- if (
- nextSource !== undefined &&
- nextSource !== null &&
- !isNode(nextSource)
- ) {
- const keysArray = Object.keys(Object(nextSource)).filter(
- (key) => noExtend.indexOf(key) < 0,
- );
-
- for (
- let nextIndex = 0, len = keysArray.length;
- nextIndex < len;
- nextIndex += 1
- ) {
- const nextKey = keysArray[nextIndex];
- const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);
-
- if (desc !== undefined && desc.enumerable) {
- if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {
- if (nextSource[nextKey].__swiper__) {
- to[nextKey] = nextSource[nextKey];
- } else {
- extend(to[nextKey], nextSource[nextKey]);
- }
- } else if (
- !isObject(to[nextKey]) &&
- isObject(nextSource[nextKey])
- ) {
- to[nextKey] = {};
-
- if (nextSource[nextKey].__swiper__) {
- to[nextKey] = nextSource[nextKey];
- } else {
- extend(to[nextKey], nextSource[nextKey]);
- }
- } else {
- to[nextKey] = nextSource[nextKey];
- }
- }
- }
- }
- }
-
- return to;
- }
-
- function setCSSProperty(el, varName, varValue) {
- el.style.setProperty(varName, varValue);
- }
-
- function animateCSSModeScroll(_ref) {
- let { swiper, targetPosition, side } = _ref;
- const window = getWindow();
- const startPosition = -swiper.translate;
- let startTime = null;
- let time;
- const duration = swiper.params.speed;
- swiper.wrapperEl.style.scrollSnapType = "none";
- window.cancelAnimationFrame(swiper.cssModeFrameID);
- const dir = targetPosition > startPosition ? "next" : "prev";
-
- const isOutOfBound = (current, target) => {
- return (
- (dir === "next" && current >= target) ||
- (dir === "prev" && current <= target)
- );
- };
-
- const animate = () => {
- time = new Date().getTime();
-
- if (startTime === null) {
- startTime = time;
- }
-
- const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);
- const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;
- let currentPosition =
- startPosition + easeProgress * (targetPosition - startPosition);
-
- if (isOutOfBound(currentPosition, targetPosition)) {
- currentPosition = targetPosition;
- }
-
- swiper.wrapperEl.scrollTo({
- [side]: currentPosition,
- });
-
- if (isOutOfBound(currentPosition, targetPosition)) {
- swiper.wrapperEl.style.overflow = "hidden";
- swiper.wrapperEl.style.scrollSnapType = "";
- setTimeout(() => {
- swiper.wrapperEl.style.overflow = "";
- swiper.wrapperEl.scrollTo({
- [side]: currentPosition,
- });
- });
- window.cancelAnimationFrame(swiper.cssModeFrameID);
- return;
- }
-
- swiper.cssModeFrameID = window.requestAnimationFrame(animate);
- };
-
- animate();
- }
-
- let support;
-
- function calcSupport() {
- const window = getWindow();
- const document = getDocument();
- return {
- smoothScroll:
- document.documentElement &&
- "scrollBehavior" in document.documentElement.style,
- touch: !!(
- "ontouchstart" in window ||
- (window.DocumentTouch && document instanceof window.DocumentTouch)
- ),
- passiveListener: (function checkPassiveListener() {
- let supportsPassive = false;
-
- try {
- const opts = Object.defineProperty({}, "passive", {
- // eslint-disable-next-line
- get() {
- supportsPassive = true;
- },
- });
- window.addEventListener("testPassiveListener", null, opts);
- } catch (e) {
- // No support
- }
-
- return supportsPassive;
- })(),
- gestures: (function checkGestures() {
- return "ongesturestart" in window;
- })(),
- };
- }
-
- function getSupport() {
- if (!support) {
- support = calcSupport();
- }
-
- return support;
- }
-
- let deviceCached;
-
- function calcDevice(_temp) {
- let { userAgent } = _temp === void 0 ? {} : _temp;
- const support = getSupport();
- const window = getWindow();
- const platform = window.navigator.platform;
- const ua = userAgent || window.navigator.userAgent;
- const device = {
- ios: false,
- android: false,
- };
- const screenWidth = window.screen.width;
- const screenHeight = window.screen.height;
- const android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); // eslint-disable-line
-
- let ipad = ua.match(/(iPad).*OS\s([\d_]+)/);
- const ipod = ua.match(/(iPod)(.*OS\s([\d_]+))?/);
- const iphone = !ipad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
- const windows = platform === "Win32";
- let macos = platform === "MacIntel"; // iPadOs 13 fix
-
- const iPadScreens = [
- "1024x1366",
- "1366x1024",
- "834x1194",
- "1194x834",
- "834x1112",
- "1112x834",
- "768x1024",
- "1024x768",
- "820x1180",
- "1180x820",
- "810x1080",
- "1080x810",
- ];
-
- if (
- !ipad &&
- macos &&
- support.touch &&
- iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0
- ) {
- ipad = ua.match(/(Version)\/([\d.]+)/);
- if (!ipad) ipad = [0, 1, "13_0_0"];
- macos = false;
- } // Android
-
- if (android && !windows) {
- device.os = "android";
- device.android = true;
- }
-
- if (ipad || iphone || ipod) {
- device.os = "ios";
- device.ios = true;
- } // Export object
-
- return device;
- }
-
- function getDevice(overrides) {
- if (overrides === void 0) {
- overrides = {};
- }
-
- if (!deviceCached) {
- deviceCached = calcDevice(overrides);
- }
-
- return deviceCached;
- }
-
- let browser;
-
- function calcBrowser() {
- const window = getWindow();
-
- function isSafari() {
- const ua = window.navigator.userAgent.toLowerCase();
- return (
- ua.indexOf("safari") >= 0 &&
- ua.indexOf("chrome") < 0 &&
- ua.indexOf("android") < 0
- );
- }
-
- return {
- isSafari: isSafari(),
- isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(
- window.navigator.userAgent,
- ),
- };
- }
-
- function getBrowser() {
- if (!browser) {
- browser = calcBrowser();
- }
-
- return browser;
- }
-
- function Resize(_ref) {
- let { swiper, on, emit } = _ref;
- const window = getWindow();
- let observer = null;
- let animationFrame = null;
-
- const resizeHandler = () => {
- if (!swiper || swiper.destroyed || !swiper.initialized) return;
- emit("beforeResize");
- emit("resize");
- };
-
- const createObserver = () => {
- if (!swiper || swiper.destroyed || !swiper.initialized) return;
- observer = new ResizeObserver((entries) => {
- animationFrame = window.requestAnimationFrame(() => {
- const { width, height } = swiper;
- let newWidth = width;
- let newHeight = height;
- entries.forEach((_ref2) => {
- let { contentBoxSize, contentRect, target } = _ref2;
- if (target && target !== swiper.el) return;
- newWidth = contentRect
- ? contentRect.width
- : (contentBoxSize[0] || contentBoxSize).inlineSize;
- newHeight = contentRect
- ? contentRect.height
- : (contentBoxSize[0] || contentBoxSize).blockSize;
- });
-
- if (newWidth !== width || newHeight !== height) {
- resizeHandler();
- }
- });
- });
- observer.observe(swiper.el);
- };
-
- const removeObserver = () => {
- if (animationFrame) {
- window.cancelAnimationFrame(animationFrame);
- }
-
- if (observer && observer.unobserve && swiper.el) {
- observer.unobserve(swiper.el);
- observer = null;
- }
- };
-
- const orientationChangeHandler = () => {
- if (!swiper || swiper.destroyed || !swiper.initialized) return;
- emit("orientationchange");
- };
-
- on("init", () => {
- if (
- swiper.params.resizeObserver &&
- typeof window.ResizeObserver !== "undefined"
- ) {
- createObserver();
- return;
- }
-
- window.addEventListener("resize", resizeHandler);
- window.addEventListener("orientationchange", orientationChangeHandler);
- });
- on("destroy", () => {
- removeObserver();
- window.removeEventListener("resize", resizeHandler);
- window.removeEventListener("orientationchange", orientationChangeHandler);
- });
- }
-
- function Observer(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- const observers = [];
- const window = getWindow();
-
- const attach = function (target, options) {
- if (options === void 0) {
- options = {};
- }
-
- const ObserverFunc =
- window.MutationObserver || window.WebkitMutationObserver;
- const observer = new ObserverFunc((mutations) => {
- // The observerUpdate event should only be triggered
- // once despite the number of mutations. Additional
- // triggers are redundant and are very costly
- if (mutations.length === 1) {
- emit("observerUpdate", mutations[0]);
- return;
- }
-
- const observerUpdate = function observerUpdate() {
- emit("observerUpdate", mutations[0]);
- };
-
- if (window.requestAnimationFrame) {
- window.requestAnimationFrame(observerUpdate);
- } else {
- window.setTimeout(observerUpdate, 0);
- }
- });
- observer.observe(target, {
- attributes:
- typeof options.attributes === "undefined" ? true : options.attributes,
- childList:
- typeof options.childList === "undefined" ? true : options.childList,
- characterData:
- typeof options.characterData === "undefined"
- ? true
- : options.characterData,
- });
- observers.push(observer);
- };
-
- const init = () => {
- if (!swiper.params.observer) return;
-
- if (swiper.params.observeParents) {
- const containerParents = swiper.$el.parents();
-
- for (let i = 0; i < containerParents.length; i += 1) {
- attach(containerParents[i]);
- }
- } // Observe container
-
- attach(swiper.$el[0], {
- childList: swiper.params.observeSlideChildren,
- }); // Observe wrapper
-
- attach(swiper.$wrapperEl[0], {
- attributes: false,
- });
- };
-
- const destroy = () => {
- observers.forEach((observer) => {
- observer.disconnect();
- });
- observers.splice(0, observers.length);
- };
-
- extendParams({
- observer: false,
- observeParents: false,
- observeSlideChildren: false,
- });
- on("init", init);
- on("destroy", destroy);
- }
-
- /* eslint-disable no-underscore-dangle */
- var eventsEmitter = {
- on(events, handler, priority) {
- const self = this;
- if (typeof handler !== "function") return self;
- const method = priority ? "unshift" : "push";
- events.split(" ").forEach((event) => {
- if (!self.eventsListeners[event]) self.eventsListeners[event] = [];
- self.eventsListeners[event][method](handler);
- });
- return self;
- },
-
- once(events, handler, priority) {
- const self = this;
- if (typeof handler !== "function") return self;
-
- function onceHandler() {
- self.off(events, onceHandler);
-
- if (onceHandler.__emitterProxy) {
- delete onceHandler.__emitterProxy;
- }
-
- for (
- var _len = arguments.length, args = new Array(_len), _key = 0;
- _key < _len;
- _key++
- ) {
- args[_key] = arguments[_key];
- }
-
- handler.apply(self, args);
- }
-
- onceHandler.__emitterProxy = handler;
- return self.on(events, onceHandler, priority);
- },
-
- onAny(handler, priority) {
- const self = this;
- if (typeof handler !== "function") return self;
- const method = priority ? "unshift" : "push";
-
- if (self.eventsAnyListeners.indexOf(handler) < 0) {
- self.eventsAnyListeners[method](handler);
- }
-
- return self;
- },
-
- offAny(handler) {
- const self = this;
- if (!self.eventsAnyListeners) return self;
- const index = self.eventsAnyListeners.indexOf(handler);
-
- if (index >= 0) {
- self.eventsAnyListeners.splice(index, 1);
- }
-
- return self;
- },
-
- off(events, handler) {
- const self = this;
- if (!self.eventsListeners) return self;
- events.split(" ").forEach((event) => {
- if (typeof handler === "undefined") {
- self.eventsListeners[event] = [];
- } else if (self.eventsListeners[event]) {
- self.eventsListeners[event].forEach((eventHandler, index) => {
- if (
- eventHandler === handler ||
- (eventHandler.__emitterProxy &&
- eventHandler.__emitterProxy === handler)
- ) {
- self.eventsListeners[event].splice(index, 1);
- }
- });
- }
- });
- return self;
- },
-
- emit() {
- const self = this;
- if (!self.eventsListeners) return self;
- let events;
- let data;
- let context;
-
- for (
- var _len2 = arguments.length, args = new Array(_len2), _key2 = 0;
- _key2 < _len2;
- _key2++
- ) {
- args[_key2] = arguments[_key2];
- }
-
- if (typeof args[0] === "string" || Array.isArray(args[0])) {
- events = args[0];
- data = args.slice(1, args.length);
- context = self;
- } else {
- events = args[0].events;
- data = args[0].data;
- context = args[0].context || self;
- }
-
- data.unshift(context);
- const eventsArray = Array.isArray(events) ? events : events.split(" ");
- eventsArray.forEach((event) => {
- if (self.eventsAnyListeners && self.eventsAnyListeners.length) {
- self.eventsAnyListeners.forEach((eventHandler) => {
- eventHandler.apply(context, [event, ...data]);
- });
- }
-
- if (self.eventsListeners && self.eventsListeners[event]) {
- self.eventsListeners[event].forEach((eventHandler) => {
- eventHandler.apply(context, data);
- });
- }
- });
- return self;
- },
- };
-
- function updateSize() {
- const swiper = this;
- let width;
- let height;
- const $el = swiper.$el;
-
- if (
- typeof swiper.params.width !== "undefined" &&
- swiper.params.width !== null
- ) {
- width = swiper.params.width;
- } else {
- width = $el[0].clientWidth;
- }
-
- if (
- typeof swiper.params.height !== "undefined" &&
- swiper.params.height !== null
- ) {
- height = swiper.params.height;
- } else {
- height = $el[0].clientHeight;
- }
-
- if (
- (width === 0 && swiper.isHorizontal()) ||
- (height === 0 && swiper.isVertical())
- ) {
- return;
- } // Subtract paddings
-
- width =
- width -
- parseInt($el.css("padding-left") || 0, 10) -
- parseInt($el.css("padding-right") || 0, 10);
- height =
- height -
- parseInt($el.css("padding-top") || 0, 10) -
- parseInt($el.css("padding-bottom") || 0, 10);
- if (Number.isNaN(width)) width = 0;
- if (Number.isNaN(height)) height = 0;
- Object.assign(swiper, {
- width,
- height,
- size: swiper.isHorizontal() ? width : height,
- });
- }
-
- function updateSlides() {
- const swiper = this;
-
- function getDirectionLabel(property) {
- if (swiper.isHorizontal()) {
- return property;
- } // prettier-ignore
-
- return {
- width: "height",
- "margin-top": "margin-left",
- "margin-bottom ": "margin-right",
- "margin-left": "margin-top",
- "margin-right": "margin-bottom",
- "padding-left": "padding-top",
- "padding-right": "padding-bottom",
- marginRight: "marginBottom",
- }[property];
- }
-
- function getDirectionPropertyValue(node, label) {
- return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);
- }
-
- const params = swiper.params;
- const {
- $wrapperEl,
- size: swiperSize,
- rtlTranslate: rtl,
- wrongRTL,
- } = swiper;
- const isVirtual = swiper.virtual && params.virtual.enabled;
- const previousSlidesLength = isVirtual
- ? swiper.virtual.slides.length
- : swiper.slides.length;
- const slides = $wrapperEl.children(`.${swiper.params.slideClass}`);
- const slidesLength = isVirtual
- ? swiper.virtual.slides.length
- : slides.length;
- let snapGrid = [];
- const slidesGrid = [];
- const slidesSizesGrid = [];
- let offsetBefore = params.slidesOffsetBefore;
-
- if (typeof offsetBefore === "function") {
- offsetBefore = params.slidesOffsetBefore.call(swiper);
- }
-
- let offsetAfter = params.slidesOffsetAfter;
-
- if (typeof offsetAfter === "function") {
- offsetAfter = params.slidesOffsetAfter.call(swiper);
- }
-
- const previousSnapGridLength = swiper.snapGrid.length;
- const previousSlidesGridLength = swiper.slidesGrid.length;
- let spaceBetween = params.spaceBetween;
- let slidePosition = -offsetBefore;
- let prevSlideSize = 0;
- let index = 0;
-
- if (typeof swiperSize === "undefined") {
- return;
- }
-
- if (typeof spaceBetween === "string" && spaceBetween.indexOf("%") >= 0) {
- spaceBetween =
- (parseFloat(spaceBetween.replace("%", "")) / 100) * swiperSize;
- }
-
- swiper.virtualSize = -spaceBetween; // reset margins
-
- if (rtl)
- slides.css({
- marginLeft: "",
- marginBottom: "",
- marginTop: "",
- });
- else
- slides.css({
- marginRight: "",
- marginBottom: "",
- marginTop: "",
- }); // reset cssMode offsets
-
- if (params.centeredSlides && params.cssMode) {
- setCSSProperty(swiper.wrapperEl, "--swiper-centered-offset-before", "");
- setCSSProperty(swiper.wrapperEl, "--swiper-centered-offset-after", "");
- }
-
- const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;
-
- if (gridEnabled) {
- swiper.grid.initSlides(slidesLength);
- } // Calc slides
-
- let slideSize;
- const shouldResetSlideSize =
- params.slidesPerView === "auto" &&
- params.breakpoints &&
- Object.keys(params.breakpoints).filter((key) => {
- return typeof params.breakpoints[key].slidesPerView !== "undefined";
- }).length > 0;
-
- for (let i = 0; i < slidesLength; i += 1) {
- slideSize = 0;
- const slide = slides.eq(i);
-
- if (gridEnabled) {
- swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);
- }
-
- if (slide.css("display") === "none") continue; // eslint-disable-line
-
- if (params.slidesPerView === "auto") {
- if (shouldResetSlideSize) {
- slides[i].style[getDirectionLabel("width")] = ``;
- }
-
- const slideStyles = getComputedStyle(slide[0]);
- const currentTransform = slide[0].style.transform;
- const currentWebKitTransform = slide[0].style.webkitTransform;
-
- if (currentTransform) {
- slide[0].style.transform = "none";
- }
-
- if (currentWebKitTransform) {
- slide[0].style.webkitTransform = "none";
- }
-
- if (params.roundLengths) {
- slideSize = swiper.isHorizontal()
- ? slide.outerWidth(true)
- : slide.outerHeight(true);
- } else {
- // eslint-disable-next-line
- const width = getDirectionPropertyValue(slideStyles, "width");
- const paddingLeft = getDirectionPropertyValue(
- slideStyles,
- "padding-left",
- );
- const paddingRight = getDirectionPropertyValue(
- slideStyles,
- "padding-right",
- );
- const marginLeft = getDirectionPropertyValue(
- slideStyles,
- "margin-left",
- );
- const marginRight = getDirectionPropertyValue(
- slideStyles,
- "margin-right",
- );
- const boxSizing = slideStyles.getPropertyValue("box-sizing");
-
- if (boxSizing && boxSizing === "border-box") {
- slideSize = width + marginLeft + marginRight;
- } else {
- const { clientWidth, offsetWidth } = slide[0];
- slideSize =
- width +
- paddingLeft +
- paddingRight +
- marginLeft +
- marginRight +
- (offsetWidth - clientWidth);
- }
- }
-
- if (currentTransform) {
- slide[0].style.transform = currentTransform;
- }
-
- if (currentWebKitTransform) {
- slide[0].style.webkitTransform = currentWebKitTransform;
- }
-
- if (params.roundLengths) slideSize = Math.floor(slideSize);
- } else {
- slideSize =
- (swiperSize - (params.slidesPerView - 1) * spaceBetween) /
- params.slidesPerView;
- if (params.roundLengths) slideSize = Math.floor(slideSize);
-
- if (slides[i]) {
- slides[i].style[getDirectionLabel("width")] = `${slideSize}px`;
- }
- }
-
- if (slides[i]) {
- slides[i].swiperSlideSize = slideSize;
- }
-
- slidesSizesGrid.push(slideSize);
-
- if (params.centeredSlides) {
- slidePosition =
- slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;
- if (prevSlideSize === 0 && i !== 0)
- slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
- if (i === 0)
- slidePosition = slidePosition - swiperSize / 2 - spaceBetween;
- if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;
- if (params.roundLengths) slidePosition = Math.floor(slidePosition);
- if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);
- slidesGrid.push(slidePosition);
- } else {
- if (params.roundLengths) slidePosition = Math.floor(slidePosition);
- if (
- (index - Math.min(swiper.params.slidesPerGroupSkip, index)) %
- swiper.params.slidesPerGroup ===
- 0
- )
- snapGrid.push(slidePosition);
- slidesGrid.push(slidePosition);
- slidePosition = slidePosition + slideSize + spaceBetween;
- }
-
- swiper.virtualSize += slideSize + spaceBetween;
- prevSlideSize = slideSize;
- index += 1;
- }
-
- swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;
-
- if (
- rtl &&
- wrongRTL &&
- (params.effect === "slide" || params.effect === "coverflow")
- ) {
- $wrapperEl.css({
- width: `${swiper.virtualSize + params.spaceBetween}px`,
- });
- }
-
- if (params.setWrapperSize) {
- $wrapperEl.css({
- [getDirectionLabel("width")]: `${
- swiper.virtualSize + params.spaceBetween
- }px`,
- });
- }
-
- if (gridEnabled) {
- swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);
- } // Remove last grid elements depending on width
-
- if (!params.centeredSlides) {
- const newSlidesGrid = [];
-
- for (let i = 0; i < snapGrid.length; i += 1) {
- let slidesGridItem = snapGrid[i];
- if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);
-
- if (snapGrid[i] <= swiper.virtualSize - swiperSize) {
- newSlidesGrid.push(slidesGridItem);
- }
- }
-
- snapGrid = newSlidesGrid;
-
- if (
- Math.floor(swiper.virtualSize - swiperSize) -
- Math.floor(snapGrid[snapGrid.length - 1]) >
- 1
- ) {
- snapGrid.push(swiper.virtualSize - swiperSize);
- }
- }
-
- if (snapGrid.length === 0) snapGrid = [0];
-
- if (params.spaceBetween !== 0) {
- const key =
- swiper.isHorizontal() && rtl
- ? "marginLeft"
- : getDirectionLabel("marginRight");
- slides
- .filter((_, slideIndex) => {
- if (!params.cssMode) return true;
-
- if (slideIndex === slides.length - 1) {
- return false;
- }
-
- return true;
- })
- .css({
- [key]: `${spaceBetween}px`,
- });
- }
-
- if (params.centeredSlides && params.centeredSlidesBounds) {
- let allSlidesSize = 0;
- slidesSizesGrid.forEach((slideSizeValue) => {
- allSlidesSize +=
- slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
- });
- allSlidesSize -= params.spaceBetween;
- const maxSnap = allSlidesSize - swiperSize;
- snapGrid = snapGrid.map((snap) => {
- if (snap < 0) return -offsetBefore;
- if (snap > maxSnap) return maxSnap + offsetAfter;
- return snap;
- });
- }
-
- if (params.centerInsufficientSlides) {
- let allSlidesSize = 0;
- slidesSizesGrid.forEach((slideSizeValue) => {
- allSlidesSize +=
- slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);
- });
- allSlidesSize -= params.spaceBetween;
-
- if (allSlidesSize < swiperSize) {
- const allSlidesOffset = (swiperSize - allSlidesSize) / 2;
- snapGrid.forEach((snap, snapIndex) => {
- snapGrid[snapIndex] = snap - allSlidesOffset;
- });
- slidesGrid.forEach((snap, snapIndex) => {
- slidesGrid[snapIndex] = snap + allSlidesOffset;
- });
- }
- }
-
- Object.assign(swiper, {
- slides,
- snapGrid,
- slidesGrid,
- slidesSizesGrid,
- });
-
- if (
- params.centeredSlides &&
- params.cssMode &&
- !params.centeredSlidesBounds
- ) {
- setCSSProperty(
- swiper.wrapperEl,
- "--swiper-centered-offset-before",
- `${-snapGrid[0]}px`,
- );
- setCSSProperty(
- swiper.wrapperEl,
- "--swiper-centered-offset-after",
- `${
- swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2
- }px`,
- );
- const addToSnapGrid = -swiper.snapGrid[0];
- const addToSlidesGrid = -swiper.slidesGrid[0];
- swiper.snapGrid = swiper.snapGrid.map((v) => v + addToSnapGrid);
- swiper.slidesGrid = swiper.slidesGrid.map((v) => v + addToSlidesGrid);
- }
-
- if (slidesLength !== previousSlidesLength) {
- swiper.emit("slidesLengthChange");
- }
-
- if (snapGrid.length !== previousSnapGridLength) {
- if (swiper.params.watchOverflow) swiper.checkOverflow();
- swiper.emit("snapGridLengthChange");
- }
-
- if (slidesGrid.length !== previousSlidesGridLength) {
- swiper.emit("slidesGridLengthChange");
- }
-
- if (params.watchSlidesProgress) {
- swiper.updateSlidesOffset();
- }
-
- if (
- !isVirtual &&
- !params.cssMode &&
- (params.effect === "slide" || params.effect === "fade")
- ) {
- const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;
- const hasClassBackfaceClassAdded =
- swiper.$el.hasClass(backFaceHiddenClass);
-
- if (slidesLength <= params.maxBackfaceHiddenSlides) {
- if (!hasClassBackfaceClassAdded)
- swiper.$el.addClass(backFaceHiddenClass);
- } else if (hasClassBackfaceClassAdded) {
- swiper.$el.removeClass(backFaceHiddenClass);
- }
- }
- }
-
- function updateAutoHeight(speed) {
- const swiper = this;
- const activeSlides = [];
- const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
- let newHeight = 0;
- let i;
-
- if (typeof speed === "number") {
- swiper.setTransition(speed);
- } else if (speed === true) {
- swiper.setTransition(swiper.params.speed);
- }
-
- const getSlideByIndex = (index) => {
- if (isVirtual) {
- return swiper.slides.filter(
- (el) =>
- parseInt(el.getAttribute("data-swiper-slide-index"), 10) === index,
- )[0];
- }
-
- return swiper.slides.eq(index)[0];
- }; // Find slides currently in view
-
- if (
- swiper.params.slidesPerView !== "auto" &&
- swiper.params.slidesPerView > 1
- ) {
- if (swiper.params.centeredSlides) {
- swiper.visibleSlides.each((slide) => {
- activeSlides.push(slide);
- });
- } else {
- for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {
- const index = swiper.activeIndex + i;
- if (index > swiper.slides.length && !isVirtual) break;
- activeSlides.push(getSlideByIndex(index));
- }
- }
- } else {
- activeSlides.push(getSlideByIndex(swiper.activeIndex));
- } // Find new height from highest slide in view
-
- for (i = 0; i < activeSlides.length; i += 1) {
- if (typeof activeSlides[i] !== "undefined") {
- const height = activeSlides[i].offsetHeight;
- newHeight = height > newHeight ? height : newHeight;
- }
- } // Update Height
-
- if (newHeight || newHeight === 0)
- swiper.$wrapperEl.css("height", `${newHeight}px`);
- }
-
- function updateSlidesOffset() {
- const swiper = this;
- const slides = swiper.slides;
-
- for (let i = 0; i < slides.length; i += 1) {
- slides[i].swiperSlideOffset = swiper.isHorizontal()
- ? slides[i].offsetLeft
- : slides[i].offsetTop;
- }
- }
-
- function updateSlidesProgress(translate) {
- if (translate === void 0) {
- translate = (this && this.translate) || 0;
- }
-
- const swiper = this;
- const params = swiper.params;
- const { slides, rtlTranslate: rtl, snapGrid } = swiper;
- if (slides.length === 0) return;
- if (typeof slides[0].swiperSlideOffset === "undefined")
- swiper.updateSlidesOffset();
- let offsetCenter = -translate;
- if (rtl) offsetCenter = translate; // Visible Slides
-
- slides.removeClass(params.slideVisibleClass);
- swiper.visibleSlidesIndexes = [];
- swiper.visibleSlides = [];
-
- for (let i = 0; i < slides.length; i += 1) {
- const slide = slides[i];
- let slideOffset = slide.swiperSlideOffset;
-
- if (params.cssMode && params.centeredSlides) {
- slideOffset -= slides[0].swiperSlideOffset;
- }
-
- const slideProgress =
- (offsetCenter +
- (params.centeredSlides ? swiper.minTranslate() : 0) -
- slideOffset) /
- (slide.swiperSlideSize + params.spaceBetween);
- const originalSlideProgress =
- (offsetCenter -
- snapGrid[0] +
- (params.centeredSlides ? swiper.minTranslate() : 0) -
- slideOffset) /
- (slide.swiperSlideSize + params.spaceBetween);
- const slideBefore = -(offsetCenter - slideOffset);
- const slideAfter = slideBefore + swiper.slidesSizesGrid[i];
- const isVisible =
- (slideBefore >= 0 && slideBefore < swiper.size - 1) ||
- (slideAfter > 1 && slideAfter <= swiper.size) ||
- (slideBefore <= 0 && slideAfter >= swiper.size);
-
- if (isVisible) {
- swiper.visibleSlides.push(slide);
- swiper.visibleSlidesIndexes.push(i);
- slides.eq(i).addClass(params.slideVisibleClass);
- }
-
- slide.progress = rtl ? -slideProgress : slideProgress;
- slide.originalProgress = rtl
- ? -originalSlideProgress
- : originalSlideProgress;
- }
-
- swiper.visibleSlides = $(swiper.visibleSlides);
- }
-
- function updateProgress(translate) {
- const swiper = this;
-
- if (typeof translate === "undefined") {
- const multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line
-
- translate =
- (swiper && swiper.translate && swiper.translate * multiplier) || 0;
- }
-
- const params = swiper.params;
- const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
- let { progress, isBeginning, isEnd } = swiper;
- const wasBeginning = isBeginning;
- const wasEnd = isEnd;
-
- if (translatesDiff === 0) {
- progress = 0;
- isBeginning = true;
- isEnd = true;
- } else {
- progress = (translate - swiper.minTranslate()) / translatesDiff;
- isBeginning = progress <= 0;
- isEnd = progress >= 1;
- }
-
- Object.assign(swiper, {
- progress,
- isBeginning,
- isEnd,
- });
- if (
- params.watchSlidesProgress ||
- (params.centeredSlides && params.autoHeight)
- )
- swiper.updateSlidesProgress(translate);
-
- if (isBeginning && !wasBeginning) {
- swiper.emit("reachBeginning toEdge");
- }
-
- if (isEnd && !wasEnd) {
- swiper.emit("reachEnd toEdge");
- }
-
- if ((wasBeginning && !isBeginning) || (wasEnd && !isEnd)) {
- swiper.emit("fromEdge");
- }
-
- swiper.emit("progress", progress);
- }
-
- function updateSlidesClasses() {
- const swiper = this;
- const { slides, params, $wrapperEl, activeIndex, realIndex } = swiper;
- const isVirtual = swiper.virtual && params.virtual.enabled;
- slides.removeClass(
- `${params.slideActiveClass} ${params.slideNextClass} ${params.slidePrevClass} ${params.slideDuplicateActiveClass} ${params.slideDuplicateNextClass} ${params.slideDuplicatePrevClass}`,
- );
- let activeSlide;
-
- if (isVirtual) {
- activeSlide = swiper.$wrapperEl.find(
- `.${params.slideClass}[data-swiper-slide-index="${activeIndex}"]`,
- );
- } else {
- activeSlide = slides.eq(activeIndex);
- } // Active classes
-
- activeSlide.addClass(params.slideActiveClass);
-
- if (params.loop) {
- // Duplicate to all looped slides
- if (activeSlide.hasClass(params.slideDuplicateClass)) {
- $wrapperEl
- .children(
- `.${params.slideClass}:not(.${params.slideDuplicateClass})[data-swiper-slide-index="${realIndex}"]`,
- )
- .addClass(params.slideDuplicateActiveClass);
- } else {
- $wrapperEl
- .children(
- `.${params.slideClass}.${params.slideDuplicateClass}[data-swiper-slide-index="${realIndex}"]`,
- )
- .addClass(params.slideDuplicateActiveClass);
- }
- } // Next Slide
-
- let nextSlide = activeSlide
- .nextAll(`.${params.slideClass}`)
- .eq(0)
- .addClass(params.slideNextClass);
-
- if (params.loop && nextSlide.length === 0) {
- nextSlide = slides.eq(0);
- nextSlide.addClass(params.slideNextClass);
- } // Prev Slide
-
- let prevSlide = activeSlide
- .prevAll(`.${params.slideClass}`)
- .eq(0)
- .addClass(params.slidePrevClass);
-
- if (params.loop && prevSlide.length === 0) {
- prevSlide = slides.eq(-1);
- prevSlide.addClass(params.slidePrevClass);
- }
-
- if (params.loop) {
- // Duplicate to all looped slides
- if (nextSlide.hasClass(params.slideDuplicateClass)) {
- $wrapperEl
- .children(
- `.${params.slideClass}:not(.${
- params.slideDuplicateClass
- })[data-swiper-slide-index="${nextSlide.attr(
- "data-swiper-slide-index",
- )}"]`,
- )
- .addClass(params.slideDuplicateNextClass);
- } else {
- $wrapperEl
- .children(
- `.${params.slideClass}.${
- params.slideDuplicateClass
- }[data-swiper-slide-index="${nextSlide.attr(
- "data-swiper-slide-index",
- )}"]`,
- )
- .addClass(params.slideDuplicateNextClass);
- }
-
- if (prevSlide.hasClass(params.slideDuplicateClass)) {
- $wrapperEl
- .children(
- `.${params.slideClass}:not(.${
- params.slideDuplicateClass
- })[data-swiper-slide-index="${prevSlide.attr(
- "data-swiper-slide-index",
- )}"]`,
- )
- .addClass(params.slideDuplicatePrevClass);
- } else {
- $wrapperEl
- .children(
- `.${params.slideClass}.${
- params.slideDuplicateClass
- }[data-swiper-slide-index="${prevSlide.attr(
- "data-swiper-slide-index",
- )}"]`,
- )
- .addClass(params.slideDuplicatePrevClass);
- }
- }
-
- swiper.emitSlidesClasses();
- }
-
- function updateActiveIndex(newActiveIndex) {
- const swiper = this;
- const translate = swiper.rtlTranslate
- ? swiper.translate
- : -swiper.translate;
- const {
- slidesGrid,
- snapGrid,
- params,
- activeIndex: previousIndex,
- realIndex: previousRealIndex,
- snapIndex: previousSnapIndex,
- } = swiper;
- let activeIndex = newActiveIndex;
- let snapIndex;
-
- if (typeof activeIndex === "undefined") {
- for (let i = 0; i < slidesGrid.length; i += 1) {
- if (typeof slidesGrid[i + 1] !== "undefined") {
- if (
- translate >= slidesGrid[i] &&
- translate <
- slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2
- ) {
- activeIndex = i;
- } else if (
- translate >= slidesGrid[i] &&
- translate < slidesGrid[i + 1]
- ) {
- activeIndex = i + 1;
- }
- } else if (translate >= slidesGrid[i]) {
- activeIndex = i;
- }
- } // Normalize slideIndex
-
- if (params.normalizeSlideIndex) {
- if (activeIndex < 0 || typeof activeIndex === "undefined")
- activeIndex = 0;
- }
- }
-
- if (snapGrid.indexOf(translate) >= 0) {
- snapIndex = snapGrid.indexOf(translate);
- } else {
- const skip = Math.min(params.slidesPerGroupSkip, activeIndex);
- snapIndex =
- skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);
- }
-
- if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
-
- if (activeIndex === previousIndex) {
- if (snapIndex !== previousSnapIndex) {
- swiper.snapIndex = snapIndex;
- swiper.emit("snapIndexChange");
- }
-
- return;
- } // Get real index
-
- const realIndex = parseInt(
- swiper.slides.eq(activeIndex).attr("data-swiper-slide-index") ||
- activeIndex,
- 10,
- );
- Object.assign(swiper, {
- snapIndex,
- realIndex,
- previousIndex,
- activeIndex,
- });
- swiper.emit("activeIndexChange");
- swiper.emit("snapIndexChange");
-
- if (previousRealIndex !== realIndex) {
- swiper.emit("realIndexChange");
- }
-
- if (swiper.initialized || swiper.params.runCallbacksOnInit) {
- swiper.emit("slideChange");
- }
- }
-
- function updateClickedSlide(e) {
- const swiper = this;
- const params = swiper.params;
- const slide = $(e).closest(`.${params.slideClass}`)[0];
- let slideFound = false;
- let slideIndex;
-
- if (slide) {
- for (let i = 0; i < swiper.slides.length; i += 1) {
- if (swiper.slides[i] === slide) {
- slideFound = true;
- slideIndex = i;
- break;
- }
- }
- }
-
- if (slide && slideFound) {
- swiper.clickedSlide = slide;
-
- if (swiper.virtual && swiper.params.virtual.enabled) {
- swiper.clickedIndex = parseInt(
- $(slide).attr("data-swiper-slide-index"),
- 10,
- );
- } else {
- swiper.clickedIndex = slideIndex;
- }
- } else {
- swiper.clickedSlide = undefined;
- swiper.clickedIndex = undefined;
- return;
- }
-
- if (
- params.slideToClickedSlide &&
- swiper.clickedIndex !== undefined &&
- swiper.clickedIndex !== swiper.activeIndex
- ) {
- swiper.slideToClickedSlide();
- }
- }
-
- var update = {
- updateSize,
- updateSlides,
- updateAutoHeight,
- updateSlidesOffset,
- updateSlidesProgress,
- updateProgress,
- updateSlidesClasses,
- updateActiveIndex,
- updateClickedSlide,
- };
-
- function getSwiperTranslate(axis) {
- if (axis === void 0) {
- axis = this.isHorizontal() ? "x" : "y";
- }
-
- const swiper = this;
- const { params, rtlTranslate: rtl, translate, $wrapperEl } = swiper;
-
- if (params.virtualTranslate) {
- return rtl ? -translate : translate;
- }
-
- if (params.cssMode) {
- return translate;
- }
-
- let currentTranslate = getTranslate($wrapperEl[0], axis);
- if (rtl) currentTranslate = -currentTranslate;
- return currentTranslate || 0;
- }
-
- function setTranslate(translate, byController) {
- const swiper = this;
- const {
- rtlTranslate: rtl,
- params,
- $wrapperEl,
- wrapperEl,
- progress,
- } = swiper;
- let x = 0;
- let y = 0;
- const z = 0;
-
- if (swiper.isHorizontal()) {
- x = rtl ? -translate : translate;
- } else {
- y = translate;
- }
-
- if (params.roundLengths) {
- x = Math.floor(x);
- y = Math.floor(y);
- }
-
- if (params.cssMode) {
- wrapperEl[swiper.isHorizontal() ? "scrollLeft" : "scrollTop"] =
- swiper.isHorizontal() ? -x : -y;
- } else if (!params.virtualTranslate) {
- $wrapperEl.transform(`translate3d(${x}px, ${y}px, ${z}px)`);
- }
-
- swiper.previousTranslate = swiper.translate;
- swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress
-
- let newProgress;
- const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
-
- if (translatesDiff === 0) {
- newProgress = 0;
- } else {
- newProgress = (translate - swiper.minTranslate()) / translatesDiff;
- }
-
- if (newProgress !== progress) {
- swiper.updateProgress(translate);
- }
-
- swiper.emit("setTranslate", swiper.translate, byController);
- }
-
- function minTranslate() {
- return -this.snapGrid[0];
- }
-
- function maxTranslate() {
- return -this.snapGrid[this.snapGrid.length - 1];
- }
-
- function translateTo(
- translate,
- speed,
- runCallbacks,
- translateBounds,
- internal,
- ) {
- if (translate === void 0) {
- translate = 0;
- }
-
- if (speed === void 0) {
- speed = this.params.speed;
- }
-
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- if (translateBounds === void 0) {
- translateBounds = true;
- }
-
- const swiper = this;
- const { params, wrapperEl } = swiper;
-
- if (swiper.animating && params.preventInteractionOnTransition) {
- return false;
- }
-
- const minTranslate = swiper.minTranslate();
- const maxTranslate = swiper.maxTranslate();
- let newTranslate;
- if (translateBounds && translate > minTranslate)
- newTranslate = minTranslate;
- else if (translateBounds && translate < maxTranslate)
- newTranslate = maxTranslate;
- else newTranslate = translate; // Update progress
-
- swiper.updateProgress(newTranslate);
-
- if (params.cssMode) {
- const isH = swiper.isHorizontal();
-
- if (speed === 0) {
- wrapperEl[isH ? "scrollLeft" : "scrollTop"] = -newTranslate;
- } else {
- if (!swiper.support.smoothScroll) {
- animateCSSModeScroll({
- swiper,
- targetPosition: -newTranslate,
- side: isH ? "left" : "top",
- });
- return true;
- }
-
- wrapperEl.scrollTo({
- [isH ? "left" : "top"]: -newTranslate,
- behavior: "smooth",
- });
- }
-
- return true;
- }
-
- if (speed === 0) {
- swiper.setTransition(0);
- swiper.setTranslate(newTranslate);
-
- if (runCallbacks) {
- swiper.emit("beforeTransitionStart", speed, internal);
- swiper.emit("transitionEnd");
- }
- } else {
- swiper.setTransition(speed);
- swiper.setTranslate(newTranslate);
-
- if (runCallbacks) {
- swiper.emit("beforeTransitionStart", speed, internal);
- swiper.emit("transitionStart");
- }
-
- if (!swiper.animating) {
- swiper.animating = true;
-
- if (!swiper.onTranslateToWrapperTransitionEnd) {
- swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {
- if (!swiper || swiper.destroyed) return;
- if (e.target !== this) return;
- swiper.$wrapperEl[0].removeEventListener(
- "transitionend",
- swiper.onTranslateToWrapperTransitionEnd,
- );
- swiper.$wrapperEl[0].removeEventListener(
- "webkitTransitionEnd",
- swiper.onTranslateToWrapperTransitionEnd,
- );
- swiper.onTranslateToWrapperTransitionEnd = null;
- delete swiper.onTranslateToWrapperTransitionEnd;
-
- if (runCallbacks) {
- swiper.emit("transitionEnd");
- }
- };
- }
-
- swiper.$wrapperEl[0].addEventListener(
- "transitionend",
- swiper.onTranslateToWrapperTransitionEnd,
- );
- swiper.$wrapperEl[0].addEventListener(
- "webkitTransitionEnd",
- swiper.onTranslateToWrapperTransitionEnd,
- );
- }
- }
-
- return true;
- }
-
- var translate = {
- getTranslate: getSwiperTranslate,
- setTranslate,
- minTranslate,
- maxTranslate,
- translateTo,
- };
-
- function setTransition(duration, byController) {
- const swiper = this;
-
- if (!swiper.params.cssMode) {
- swiper.$wrapperEl.transition(duration);
- }
-
- swiper.emit("setTransition", duration, byController);
- }
-
- function transitionEmit(_ref) {
- let { swiper, runCallbacks, direction, step } = _ref;
- const { activeIndex, previousIndex } = swiper;
- let dir = direction;
-
- if (!dir) {
- if (activeIndex > previousIndex) dir = "next";
- else if (activeIndex < previousIndex) dir = "prev";
- else dir = "reset";
- }
-
- swiper.emit(`transition${step}`);
-
- if (runCallbacks && activeIndex !== previousIndex) {
- if (dir === "reset") {
- swiper.emit(`slideResetTransition${step}`);
- return;
- }
-
- swiper.emit(`slideChangeTransition${step}`);
-
- if (dir === "next") {
- swiper.emit(`slideNextTransition${step}`);
- } else {
- swiper.emit(`slidePrevTransition${step}`);
- }
- }
- }
-
- function transitionStart(runCallbacks, direction) {
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- const swiper = this;
- const { params } = swiper;
- if (params.cssMode) return;
-
- if (params.autoHeight) {
- swiper.updateAutoHeight();
- }
-
- transitionEmit({
- swiper,
- runCallbacks,
- direction,
- step: "Start",
- });
- }
-
- function transitionEnd(runCallbacks, direction) {
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- const swiper = this;
- const { params } = swiper;
- swiper.animating = false;
- if (params.cssMode) return;
- swiper.setTransition(0);
- transitionEmit({
- swiper,
- runCallbacks,
- direction,
- step: "End",
- });
- }
-
- var transition = {
- setTransition,
- transitionStart,
- transitionEnd,
- };
-
- function slideTo(index, speed, runCallbacks, internal, initial) {
- if (index === void 0) {
- index = 0;
- }
-
- if (speed === void 0) {
- speed = this.params.speed;
- }
-
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- if (typeof index !== "number" && typeof index !== "string") {
- throw new Error(
- `The 'index' argument cannot have type other than 'number' or 'string'. [${typeof index}] given.`,
- );
- }
-
- if (typeof index === "string") {
- /**
- * The `index` argument converted from `string` to `number`.
- * @type {number}
- */
- const indexAsNumber = parseInt(index, 10);
- /**
- * Determines whether the `index` argument is a valid `number`
- * after being converted from the `string` type.
- * @type {boolean}
- */
-
- const isValidNumber = isFinite(indexAsNumber);
-
- if (!isValidNumber) {
- throw new Error(
- `The passed-in 'index' (string) couldn't be converted to 'number'. [${index}] given.`,
- );
- } // Knowing that the converted `index` is a valid number,
- // we can update the original argument's value.
-
- index = indexAsNumber;
- }
-
- const swiper = this;
- let slideIndex = index;
- if (slideIndex < 0) slideIndex = 0;
- const {
- params,
- snapGrid,
- slidesGrid,
- previousIndex,
- activeIndex,
- rtlTranslate: rtl,
- wrapperEl,
- enabled,
- } = swiper;
-
- if (
- (swiper.animating && params.preventInteractionOnTransition) ||
- (!enabled && !internal && !initial)
- ) {
- return false;
- }
-
- const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);
- let snapIndex =
- skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);
- if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;
-
- if (
- (activeIndex || params.initialSlide || 0) === (previousIndex || 0) &&
- runCallbacks
- ) {
- swiper.emit("beforeSlideChangeStart");
- }
-
- const translate = -snapGrid[snapIndex]; // Update progress
-
- swiper.updateProgress(translate); // Normalize slideIndex
-
- if (params.normalizeSlideIndex) {
- for (let i = 0; i < slidesGrid.length; i += 1) {
- const normalizedTranslate = -Math.floor(translate * 100);
- const normalizedGrid = Math.floor(slidesGrid[i] * 100);
- const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);
-
- if (typeof slidesGrid[i + 1] !== "undefined") {
- if (
- normalizedTranslate >= normalizedGrid &&
- normalizedTranslate <
- normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2
- ) {
- slideIndex = i;
- } else if (
- normalizedTranslate >= normalizedGrid &&
- normalizedTranslate < normalizedGridNext
- ) {
- slideIndex = i + 1;
- }
- } else if (normalizedTranslate >= normalizedGrid) {
- slideIndex = i;
- }
- }
- } // Directions locks
-
- if (swiper.initialized && slideIndex !== activeIndex) {
- if (
- !swiper.allowSlideNext &&
- translate < swiper.translate &&
- translate < swiper.minTranslate()
- ) {
- return false;
- }
-
- if (
- !swiper.allowSlidePrev &&
- translate > swiper.translate &&
- translate > swiper.maxTranslate()
- ) {
- if ((activeIndex || 0) !== slideIndex) return false;
- }
- }
-
- let direction;
- if (slideIndex > activeIndex) direction = "next";
- else if (slideIndex < activeIndex) direction = "prev";
- else direction = "reset"; // Update Index
-
- if (
- (rtl && -translate === swiper.translate) ||
- (!rtl && translate === swiper.translate)
- ) {
- swiper.updateActiveIndex(slideIndex); // Update Height
-
- if (params.autoHeight) {
- swiper.updateAutoHeight();
- }
-
- swiper.updateSlidesClasses();
-
- if (params.effect !== "slide") {
- swiper.setTranslate(translate);
- }
-
- if (direction !== "reset") {
- swiper.transitionStart(runCallbacks, direction);
- swiper.transitionEnd(runCallbacks, direction);
- }
-
- return false;
- }
-
- if (params.cssMode) {
- const isH = swiper.isHorizontal();
- const t = rtl ? translate : -translate;
-
- if (speed === 0) {
- const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
-
- if (isVirtual) {
- swiper.wrapperEl.style.scrollSnapType = "none";
- swiper._immediateVirtual = true;
- }
-
- wrapperEl[isH ? "scrollLeft" : "scrollTop"] = t;
-
- if (isVirtual) {
- requestAnimationFrame(() => {
- swiper.wrapperEl.style.scrollSnapType = "";
- swiper._swiperImmediateVirtual = false;
- });
- }
- } else {
- if (!swiper.support.smoothScroll) {
- animateCSSModeScroll({
- swiper,
- targetPosition: t,
- side: isH ? "left" : "top",
- });
- return true;
- }
-
- wrapperEl.scrollTo({
- [isH ? "left" : "top"]: t,
- behavior: "smooth",
- });
- }
-
- return true;
- }
-
- swiper.setTransition(speed);
- swiper.setTranslate(translate);
- swiper.updateActiveIndex(slideIndex);
- swiper.updateSlidesClasses();
- swiper.emit("beforeTransitionStart", speed, internal);
- swiper.transitionStart(runCallbacks, direction);
-
- if (speed === 0) {
- swiper.transitionEnd(runCallbacks, direction);
- } else if (!swiper.animating) {
- swiper.animating = true;
-
- if (!swiper.onSlideToWrapperTransitionEnd) {
- swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {
- if (!swiper || swiper.destroyed) return;
- if (e.target !== this) return;
- swiper.$wrapperEl[0].removeEventListener(
- "transitionend",
- swiper.onSlideToWrapperTransitionEnd,
- );
- swiper.$wrapperEl[0].removeEventListener(
- "webkitTransitionEnd",
- swiper.onSlideToWrapperTransitionEnd,
- );
- swiper.onSlideToWrapperTransitionEnd = null;
- delete swiper.onSlideToWrapperTransitionEnd;
- swiper.transitionEnd(runCallbacks, direction);
- };
- }
-
- swiper.$wrapperEl[0].addEventListener(
- "transitionend",
- swiper.onSlideToWrapperTransitionEnd,
- );
- swiper.$wrapperEl[0].addEventListener(
- "webkitTransitionEnd",
- swiper.onSlideToWrapperTransitionEnd,
- );
- }
-
- return true;
- }
-
- function slideToLoop(index, speed, runCallbacks, internal) {
- if (index === void 0) {
- index = 0;
- }
-
- if (speed === void 0) {
- speed = this.params.speed;
- }
-
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- const swiper = this;
- let newIndex = index;
-
- if (swiper.params.loop) {
- newIndex += swiper.loopedSlides;
- }
-
- return swiper.slideTo(newIndex, speed, runCallbacks, internal);
- }
-
- /* eslint no-unused-vars: "off" */
- function slideNext(speed, runCallbacks, internal) {
- if (speed === void 0) {
- speed = this.params.speed;
- }
-
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- const swiper = this;
- const { animating, enabled, params } = swiper;
- if (!enabled) return swiper;
- let perGroup = params.slidesPerGroup;
-
- if (
- params.slidesPerView === "auto" &&
- params.slidesPerGroup === 1 &&
- params.slidesPerGroupAuto
- ) {
- perGroup = Math.max(swiper.slidesPerViewDynamic("current", true), 1);
- }
-
- const increment =
- swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;
-
- if (params.loop) {
- if (animating && params.loopPreventsSlide) return false;
- swiper.loopFix(); // eslint-disable-next-line
-
- swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
- }
-
- if (params.rewind && swiper.isEnd) {
- return swiper.slideTo(0, speed, runCallbacks, internal);
- }
-
- return swiper.slideTo(
- swiper.activeIndex + increment,
- speed,
- runCallbacks,
- internal,
- );
- }
-
- /* eslint no-unused-vars: "off" */
- function slidePrev(speed, runCallbacks, internal) {
- if (speed === void 0) {
- speed = this.params.speed;
- }
-
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- const swiper = this;
- const { params, animating, snapGrid, slidesGrid, rtlTranslate, enabled } =
- swiper;
- if (!enabled) return swiper;
-
- if (params.loop) {
- if (animating && params.loopPreventsSlide) return false;
- swiper.loopFix(); // eslint-disable-next-line
-
- swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
- }
-
- const translate = rtlTranslate ? swiper.translate : -swiper.translate;
-
- function normalize(val) {
- if (val < 0) return -Math.floor(Math.abs(val));
- return Math.floor(val);
- }
-
- const normalizedTranslate = normalize(translate);
- const normalizedSnapGrid = snapGrid.map((val) => normalize(val));
- let prevSnap =
- snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];
-
- if (typeof prevSnap === "undefined" && params.cssMode) {
- let prevSnapIndex;
- snapGrid.forEach((snap, snapIndex) => {
- if (normalizedTranslate >= snap) {
- // prevSnap = snap;
- prevSnapIndex = snapIndex;
- }
- });
-
- if (typeof prevSnapIndex !== "undefined") {
- prevSnap =
- snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];
- }
- }
-
- let prevIndex = 0;
-
- if (typeof prevSnap !== "undefined") {
- prevIndex = slidesGrid.indexOf(prevSnap);
- if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;
-
- if (
- params.slidesPerView === "auto" &&
- params.slidesPerGroup === 1 &&
- params.slidesPerGroupAuto
- ) {
- prevIndex =
- prevIndex - swiper.slidesPerViewDynamic("previous", true) + 1;
- prevIndex = Math.max(prevIndex, 0);
- }
- }
-
- if (params.rewind && swiper.isBeginning) {
- const lastIndex =
- swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual
- ? swiper.virtual.slides.length - 1
- : swiper.slides.length - 1;
- return swiper.slideTo(lastIndex, speed, runCallbacks, internal);
- }
-
- return swiper.slideTo(prevIndex, speed, runCallbacks, internal);
- }
-
- /* eslint no-unused-vars: "off" */
- function slideReset(speed, runCallbacks, internal) {
- if (speed === void 0) {
- speed = this.params.speed;
- }
-
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- const swiper = this;
- return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);
- }
-
- /* eslint no-unused-vars: "off" */
- function slideToClosest(speed, runCallbacks, internal, threshold) {
- if (speed === void 0) {
- speed = this.params.speed;
- }
-
- if (runCallbacks === void 0) {
- runCallbacks = true;
- }
-
- if (threshold === void 0) {
- threshold = 0.5;
- }
-
- const swiper = this;
- let index = swiper.activeIndex;
- const skip = Math.min(swiper.params.slidesPerGroupSkip, index);
- const snapIndex =
- skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);
- const translate = swiper.rtlTranslate
- ? swiper.translate
- : -swiper.translate;
-
- if (translate >= swiper.snapGrid[snapIndex]) {
- // The current translate is on or after the current snap index, so the choice
- // is between the current index and the one after it.
- const currentSnap = swiper.snapGrid[snapIndex];
- const nextSnap = swiper.snapGrid[snapIndex + 1];
-
- if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {
- index += swiper.params.slidesPerGroup;
- }
- } else {
- // The current translate is before the current snap index, so the choice
- // is between the current index and the one before it.
- const prevSnap = swiper.snapGrid[snapIndex - 1];
- const currentSnap = swiper.snapGrid[snapIndex];
-
- if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {
- index -= swiper.params.slidesPerGroup;
- }
- }
-
- index = Math.max(index, 0);
- index = Math.min(index, swiper.slidesGrid.length - 1);
- return swiper.slideTo(index, speed, runCallbacks, internal);
- }
-
- function slideToClickedSlide() {
- const swiper = this;
- const { params, $wrapperEl } = swiper;
- const slidesPerView =
- params.slidesPerView === "auto"
- ? swiper.slidesPerViewDynamic()
- : params.slidesPerView;
- let slideToIndex = swiper.clickedIndex;
- let realIndex;
-
- if (params.loop) {
- if (swiper.animating) return;
- realIndex = parseInt(
- $(swiper.clickedSlide).attr("data-swiper-slide-index"),
- 10,
- );
-
- if (params.centeredSlides) {
- if (
- slideToIndex < swiper.loopedSlides - slidesPerView / 2 ||
- slideToIndex >
- swiper.slides.length - swiper.loopedSlides + slidesPerView / 2
- ) {
- swiper.loopFix();
- slideToIndex = $wrapperEl
- .children(
- `.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`,
- )
- .eq(0)
- .index();
- nextTick(() => {
- swiper.slideTo(slideToIndex);
- });
- } else {
- swiper.slideTo(slideToIndex);
- }
- } else if (slideToIndex > swiper.slides.length - slidesPerView) {
- swiper.loopFix();
- slideToIndex = $wrapperEl
- .children(
- `.${params.slideClass}[data-swiper-slide-index="${realIndex}"]:not(.${params.slideDuplicateClass})`,
- )
- .eq(0)
- .index();
- nextTick(() => {
- swiper.slideTo(slideToIndex);
- });
- } else {
- swiper.slideTo(slideToIndex);
- }
- } else {
- swiper.slideTo(slideToIndex);
- }
- }
-
- var slide = {
- slideTo,
- slideToLoop,
- slideNext,
- slidePrev,
- slideReset,
- slideToClosest,
- slideToClickedSlide,
- };
-
- function loopCreate() {
- const swiper = this;
- const document = getDocument();
- const { params, $wrapperEl } = swiper; // Remove duplicated slides
-
- const $selector =
- $wrapperEl.children().length > 0
- ? $($wrapperEl.children()[0].parentNode)
- : $wrapperEl;
- $selector
- .children(`.${params.slideClass}.${params.slideDuplicateClass}`)
- .remove();
- let slides = $selector.children(`.${params.slideClass}`);
-
- if (params.loopFillGroupWithBlank) {
- const blankSlidesNum =
- params.slidesPerGroup - (slides.length % params.slidesPerGroup);
-
- if (blankSlidesNum !== params.slidesPerGroup) {
- for (let i = 0; i < blankSlidesNum; i += 1) {
- const blankNode = $(document.createElement("div")).addClass(
- `${params.slideClass} ${params.slideBlankClass}`,
- );
- $selector.append(blankNode);
- }
-
- slides = $selector.children(`.${params.slideClass}`);
- }
- }
-
- if (params.slidesPerView === "auto" && !params.loopedSlides)
- params.loopedSlides = slides.length;
- swiper.loopedSlides = Math.ceil(
- parseFloat(params.loopedSlides || params.slidesPerView, 10),
- );
- swiper.loopedSlides += params.loopAdditionalSlides;
-
- if (swiper.loopedSlides > slides.length) {
- swiper.loopedSlides = slides.length;
- }
-
- const prependSlides = [];
- const appendSlides = [];
- slides.each((el, index) => {
- const slide = $(el);
-
- if (index < swiper.loopedSlides) {
- appendSlides.push(el);
- }
-
- if (
- index < slides.length &&
- index >= slides.length - swiper.loopedSlides
- ) {
- prependSlides.push(el);
- }
-
- slide.attr("data-swiper-slide-index", index);
- });
-
- for (let i = 0; i < appendSlides.length; i += 1) {
- $selector.append(
- $(appendSlides[i].cloneNode(true)).addClass(params.slideDuplicateClass),
- );
- }
-
- for (let i = prependSlides.length - 1; i >= 0; i -= 1) {
- $selector.prepend(
- $(prependSlides[i].cloneNode(true)).addClass(
- params.slideDuplicateClass,
- ),
- );
- }
- }
-
- function loopFix() {
- const swiper = this;
- swiper.emit("beforeLoopFix");
- const {
- activeIndex,
- slides,
- loopedSlides,
- allowSlidePrev,
- allowSlideNext,
- snapGrid,
- rtlTranslate: rtl,
- } = swiper;
- let newIndex;
- swiper.allowSlidePrev = true;
- swiper.allowSlideNext = true;
- const snapTranslate = -snapGrid[activeIndex];
- const diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding
-
- if (activeIndex < loopedSlides) {
- newIndex = slides.length - loopedSlides * 3 + activeIndex;
- newIndex += loopedSlides;
- const slideChanged = swiper.slideTo(newIndex, 0, false, true);
-
- if (slideChanged && diff !== 0) {
- swiper.setTranslate(
- (rtl ? -swiper.translate : swiper.translate) - diff,
- );
- }
- } else if (activeIndex >= slides.length - loopedSlides) {
- // Fix For Positive Oversliding
- newIndex = -slides.length + activeIndex + loopedSlides;
- newIndex += loopedSlides;
- const slideChanged = swiper.slideTo(newIndex, 0, false, true);
-
- if (slideChanged && diff !== 0) {
- swiper.setTranslate(
- (rtl ? -swiper.translate : swiper.translate) - diff,
- );
- }
- }
-
- swiper.allowSlidePrev = allowSlidePrev;
- swiper.allowSlideNext = allowSlideNext;
- swiper.emit("loopFix");
- }
-
- function loopDestroy() {
- const swiper = this;
- const { $wrapperEl, params, slides } = swiper;
- $wrapperEl
- .children(
- `.${params.slideClass}.${params.slideDuplicateClass},.${params.slideClass}.${params.slideBlankClass}`,
- )
- .remove();
- slides.removeAttr("data-swiper-slide-index");
- }
-
- var loop = {
- loopCreate,
- loopFix,
- loopDestroy,
- };
-
- function setGrabCursor(moving) {
- const swiper = this;
- if (
- swiper.support.touch ||
- !swiper.params.simulateTouch ||
- (swiper.params.watchOverflow && swiper.isLocked) ||
- swiper.params.cssMode
- )
- return;
- const el =
- swiper.params.touchEventsTarget === "container"
- ? swiper.el
- : swiper.wrapperEl;
- el.style.cursor = "move";
- el.style.cursor = moving ? "-webkit-grabbing" : "-webkit-grab";
- el.style.cursor = moving ? "-moz-grabbin" : "-moz-grab";
- el.style.cursor = moving ? "grabbing" : "grab";
- }
-
- function unsetGrabCursor() {
- const swiper = this;
-
- if (
- swiper.support.touch ||
- (swiper.params.watchOverflow && swiper.isLocked) ||
- swiper.params.cssMode
- ) {
- return;
- }
-
- swiper[
- swiper.params.touchEventsTarget === "container" ? "el" : "wrapperEl"
- ].style.cursor = "";
- }
-
- var grabCursor = {
- setGrabCursor,
- unsetGrabCursor,
- };
-
- function closestElement(selector, base) {
- if (base === void 0) {
- base = this;
- }
-
- function __closestFrom(el) {
- if (!el || el === getDocument() || el === getWindow()) return null;
- if (el.assignedSlot) el = el.assignedSlot;
- const found = el.closest(selector);
- return found || __closestFrom(el.getRootNode().host);
- }
-
- return __closestFrom(base);
- }
-
- function onTouchStart(event) {
- const swiper = this;
- const document = getDocument();
- const window = getWindow();
- const data = swiper.touchEventsData;
- const { params, touches, enabled } = swiper;
- if (!enabled) return;
-
- if (swiper.animating && params.preventInteractionOnTransition) {
- return;
- }
-
- if (!swiper.animating && params.cssMode && params.loop) {
- swiper.loopFix();
- }
-
- let e = event;
- if (e.originalEvent) e = e.originalEvent;
- let $targetEl = $(e.target);
-
- if (params.touchEventsTarget === "wrapper") {
- if (!$targetEl.closest(swiper.wrapperEl).length) return;
- }
-
- data.isTouchEvent = e.type === "touchstart";
- if (!data.isTouchEvent && "which" in e && e.which === 3) return;
- if (!data.isTouchEvent && "button" in e && e.button > 0) return;
- if (data.isTouched && data.isMoved) return; // change target el for shadow root component
-
- const swipingClassHasValue =
- !!params.noSwipingClass && params.noSwipingClass !== "";
-
- if (
- swipingClassHasValue &&
- e.target &&
- e.target.shadowRoot &&
- event.path &&
- event.path[0]
- ) {
- $targetEl = $(event.path[0]);
- }
-
- const noSwipingSelector = params.noSwipingSelector
- ? params.noSwipingSelector
- : `.${params.noSwipingClass}`;
- const isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element
-
- if (
- params.noSwiping &&
- (isTargetShadow
- ? closestElement(noSwipingSelector, e.target)
- : $targetEl.closest(noSwipingSelector)[0])
- ) {
- swiper.allowClick = true;
- return;
- }
-
- if (params.swipeHandler) {
- if (!$targetEl.closest(params.swipeHandler)[0]) return;
- }
-
- touches.currentX =
- e.type === "touchstart" ? e.targetTouches[0].pageX : e.pageX;
- touches.currentY =
- e.type === "touchstart" ? e.targetTouches[0].pageY : e.pageY;
- const startX = touches.currentX;
- const startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore
-
- const edgeSwipeDetection =
- params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;
- const edgeSwipeThreshold =
- params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;
-
- if (
- edgeSwipeDetection &&
- (startX <= edgeSwipeThreshold ||
- startX >= window.innerWidth - edgeSwipeThreshold)
- ) {
- if (edgeSwipeDetection === "prevent") {
- event.preventDefault();
- } else {
- return;
- }
- }
-
- Object.assign(data, {
- isTouched: true,
- isMoved: false,
- allowTouchCallbacks: true,
- isScrolling: undefined,
- startMoving: undefined,
- });
- touches.startX = startX;
- touches.startY = startY;
- data.touchStartTime = now();
- swiper.allowClick = true;
- swiper.updateSize();
- swiper.swipeDirection = undefined;
- if (params.threshold > 0) data.allowThresholdMove = false;
-
- if (e.type !== "touchstart") {
- let preventDefault = true;
-
- if ($targetEl.is(data.focusableElements)) {
- preventDefault = false;
-
- if ($targetEl[0].nodeName === "SELECT") {
- data.isTouched = false;
- }
- }
-
- if (
- document.activeElement &&
- $(document.activeElement).is(data.focusableElements) &&
- document.activeElement !== $targetEl[0]
- ) {
- document.activeElement.blur();
- }
-
- const shouldPreventDefault =
- preventDefault &&
- swiper.allowTouchMove &&
- params.touchStartPreventDefault;
-
- if (
- (params.touchStartForcePreventDefault || shouldPreventDefault) &&
- !$targetEl[0].isContentEditable
- ) {
- e.preventDefault();
- }
- }
-
- if (
- swiper.params.freeMode &&
- swiper.params.freeMode.enabled &&
- swiper.freeMode &&
- swiper.animating &&
- !params.cssMode
- ) {
- swiper.freeMode.onTouchStart();
- }
-
- swiper.emit("touchStart", e);
- }
-
- function onTouchMove(event) {
- const document = getDocument();
- const swiper = this;
- const data = swiper.touchEventsData;
- const { params, touches, rtlTranslate: rtl, enabled } = swiper;
- if (!enabled) return;
- let e = event;
- if (e.originalEvent) e = e.originalEvent;
-
- if (!data.isTouched) {
- if (data.startMoving && data.isScrolling) {
- swiper.emit("touchMoveOpposite", e);
- }
-
- return;
- }
-
- if (data.isTouchEvent && e.type !== "touchmove") return;
- const targetTouch =
- e.type === "touchmove" &&
- e.targetTouches &&
- (e.targetTouches[0] || e.changedTouches[0]);
- const pageX = e.type === "touchmove" ? targetTouch.pageX : e.pageX;
- const pageY = e.type === "touchmove" ? targetTouch.pageY : e.pageY;
-
- if (e.preventedByNestedSwiper) {
- touches.startX = pageX;
- touches.startY = pageY;
- return;
- }
-
- if (!swiper.allowTouchMove) {
- if (!$(e.target).is(data.focusableElements)) {
- swiper.allowClick = false;
- }
-
- if (data.isTouched) {
- Object.assign(touches, {
- startX: pageX,
- startY: pageY,
- currentX: pageX,
- currentY: pageY,
- });
- data.touchStartTime = now();
- }
-
- return;
- }
-
- if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {
- if (swiper.isVertical()) {
- // Vertical
- if (
- (pageY < touches.startY &&
- swiper.translate <= swiper.maxTranslate()) ||
- (pageY > touches.startY && swiper.translate >= swiper.minTranslate())
- ) {
- data.isTouched = false;
- data.isMoved = false;
- return;
- }
- } else if (
- (pageX < touches.startX && swiper.translate <= swiper.maxTranslate()) ||
- (pageX > touches.startX && swiper.translate >= swiper.minTranslate())
- ) {
- return;
- }
- }
-
- if (data.isTouchEvent && document.activeElement) {
- if (
- e.target === document.activeElement &&
- $(e.target).is(data.focusableElements)
- ) {
- data.isMoved = true;
- swiper.allowClick = false;
- return;
- }
- }
-
- if (data.allowTouchCallbacks) {
- swiper.emit("touchMove", e);
- }
-
- if (e.targetTouches && e.targetTouches.length > 1) return;
- touches.currentX = pageX;
- touches.currentY = pageY;
- const diffX = touches.currentX - touches.startX;
- const diffY = touches.currentY - touches.startY;
- if (
- swiper.params.threshold &&
- Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold
- )
- return;
-
- if (typeof data.isScrolling === "undefined") {
- let touchAngle;
-
- if (
- (swiper.isHorizontal() && touches.currentY === touches.startY) ||
- (swiper.isVertical() && touches.currentX === touches.startX)
- ) {
- data.isScrolling = false;
- } else {
- // eslint-disable-next-line
- if (diffX * diffX + diffY * diffY >= 25) {
- touchAngle =
- (Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180) / Math.PI;
- data.isScrolling = swiper.isHorizontal()
- ? touchAngle > params.touchAngle
- : 90 - touchAngle > params.touchAngle;
- }
- }
- }
-
- if (data.isScrolling) {
- swiper.emit("touchMoveOpposite", e);
- }
-
- if (typeof data.startMoving === "undefined") {
- if (
- touches.currentX !== touches.startX ||
- touches.currentY !== touches.startY
- ) {
- data.startMoving = true;
- }
- }
-
- if (data.isScrolling) {
- data.isTouched = false;
- return;
- }
-
- if (!data.startMoving) {
- return;
- }
-
- swiper.allowClick = false;
-
- if (!params.cssMode && e.cancelable) {
- e.preventDefault();
- }
-
- if (params.touchMoveStopPropagation && !params.nested) {
- e.stopPropagation();
- }
-
- if (!data.isMoved) {
- if (params.loop && !params.cssMode) {
- swiper.loopFix();
- }
-
- data.startTranslate = swiper.getTranslate();
- swiper.setTransition(0);
-
- if (swiper.animating) {
- swiper.$wrapperEl.trigger("webkitTransitionEnd transitionend");
- }
-
- data.allowMomentumBounce = false; // Grab Cursor
-
- if (
- params.grabCursor &&
- (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)
- ) {
- swiper.setGrabCursor(true);
- }
-
- swiper.emit("sliderFirstMove", e);
- }
-
- swiper.emit("sliderMove", e);
- data.isMoved = true;
- let diff = swiper.isHorizontal() ? diffX : diffY;
- touches.diff = diff;
- diff *= params.touchRatio;
- if (rtl) diff = -diff;
- swiper.swipeDirection = diff > 0 ? "prev" : "next";
- data.currentTranslate = diff + data.startTranslate;
- let disableParentSwiper = true;
- let resistanceRatio = params.resistanceRatio;
-
- if (params.touchReleaseOnEdges) {
- resistanceRatio = 0;
- }
-
- if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {
- disableParentSwiper = false;
- if (params.resistance)
- data.currentTranslate =
- swiper.minTranslate() -
- 1 +
- (-swiper.minTranslate() + data.startTranslate + diff) **
- resistanceRatio;
- } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {
- disableParentSwiper = false;
- if (params.resistance)
- data.currentTranslate =
- swiper.maxTranslate() +
- 1 -
- (swiper.maxTranslate() - data.startTranslate - diff) **
- resistanceRatio;
- }
-
- if (disableParentSwiper) {
- e.preventedByNestedSwiper = true;
- } // Directions locks
-
- if (
- !swiper.allowSlideNext &&
- swiper.swipeDirection === "next" &&
- data.currentTranslate < data.startTranslate
- ) {
- data.currentTranslate = data.startTranslate;
- }
-
- if (
- !swiper.allowSlidePrev &&
- swiper.swipeDirection === "prev" &&
- data.currentTranslate > data.startTranslate
- ) {
- data.currentTranslate = data.startTranslate;
- }
-
- if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {
- data.currentTranslate = data.startTranslate;
- } // Threshold
-
- if (params.threshold > 0) {
- if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {
- if (!data.allowThresholdMove) {
- data.allowThresholdMove = true;
- touches.startX = touches.currentX;
- touches.startY = touches.currentY;
- data.currentTranslate = data.startTranslate;
- touches.diff = swiper.isHorizontal()
- ? touches.currentX - touches.startX
- : touches.currentY - touches.startY;
- return;
- }
- } else {
- data.currentTranslate = data.startTranslate;
- return;
- }
- }
-
- if (!params.followFinger || params.cssMode) return; // Update active index in free mode
-
- if (
- (params.freeMode && params.freeMode.enabled && swiper.freeMode) ||
- params.watchSlidesProgress
- ) {
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- }
-
- if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {
- swiper.freeMode.onTouchMove();
- } // Update progress
-
- swiper.updateProgress(data.currentTranslate); // Update translate
-
- swiper.setTranslate(data.currentTranslate);
- }
-
- function onTouchEnd(event) {
- const swiper = this;
- const data = swiper.touchEventsData;
- const { params, touches, rtlTranslate: rtl, slidesGrid, enabled } = swiper;
- if (!enabled) return;
- let e = event;
- if (e.originalEvent) e = e.originalEvent;
-
- if (data.allowTouchCallbacks) {
- swiper.emit("touchEnd", e);
- }
-
- data.allowTouchCallbacks = false;
-
- if (!data.isTouched) {
- if (data.isMoved && params.grabCursor) {
- swiper.setGrabCursor(false);
- }
-
- data.isMoved = false;
- data.startMoving = false;
- return;
- } // Return Grab Cursor
-
- if (
- params.grabCursor &&
- data.isMoved &&
- data.isTouched &&
- (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)
- ) {
- swiper.setGrabCursor(false);
- } // Time diff
-
- const touchEndTime = now();
- const timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click
-
- if (swiper.allowClick) {
- const pathTree = e.path || (e.composedPath && e.composedPath());
- swiper.updateClickedSlide((pathTree && pathTree[0]) || e.target);
- swiper.emit("tap click", e);
-
- if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {
- swiper.emit("doubleTap doubleClick", e);
- }
- }
-
- data.lastClickTime = now();
- nextTick(() => {
- if (!swiper.destroyed) swiper.allowClick = true;
- });
-
- if (
- !data.isTouched ||
- !data.isMoved ||
- !swiper.swipeDirection ||
- touches.diff === 0 ||
- data.currentTranslate === data.startTranslate
- ) {
- data.isTouched = false;
- data.isMoved = false;
- data.startMoving = false;
- return;
- }
-
- data.isTouched = false;
- data.isMoved = false;
- data.startMoving = false;
- let currentPos;
-
- if (params.followFinger) {
- currentPos = rtl ? swiper.translate : -swiper.translate;
- } else {
- currentPos = -data.currentTranslate;
- }
-
- if (params.cssMode) {
- return;
- }
-
- if (swiper.params.freeMode && params.freeMode.enabled) {
- swiper.freeMode.onTouchEnd({
- currentPos,
- });
- return;
- } // Find current slide
-
- let stopIndex = 0;
- let groupSize = swiper.slidesSizesGrid[0];
-
- for (
- let i = 0;
- i < slidesGrid.length;
- i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup
- ) {
- const increment =
- i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
-
- if (typeof slidesGrid[i + increment] !== "undefined") {
- if (
- currentPos >= slidesGrid[i] &&
- currentPos < slidesGrid[i + increment]
- ) {
- stopIndex = i;
- groupSize = slidesGrid[i + increment] - slidesGrid[i];
- }
- } else if (currentPos >= slidesGrid[i]) {
- stopIndex = i;
- groupSize =
- slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];
- }
- }
-
- let rewindFirstIndex = null;
- let rewindLastIndex = null;
-
- if (params.rewind) {
- if (swiper.isBeginning) {
- rewindLastIndex =
- swiper.params.virtual &&
- swiper.params.virtual.enabled &&
- swiper.virtual
- ? swiper.virtual.slides.length - 1
- : swiper.slides.length - 1;
- } else if (swiper.isEnd) {
- rewindFirstIndex = 0;
- }
- } // Find current slide size
-
- const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;
- const increment =
- stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;
-
- if (timeDiff > params.longSwipesMs) {
- // Long touches
- if (!params.longSwipes) {
- swiper.slideTo(swiper.activeIndex);
- return;
- }
-
- if (swiper.swipeDirection === "next") {
- if (ratio >= params.longSwipesRatio)
- swiper.slideTo(
- params.rewind && swiper.isEnd
- ? rewindFirstIndex
- : stopIndex + increment,
- );
- else swiper.slideTo(stopIndex);
- }
-
- if (swiper.swipeDirection === "prev") {
- if (ratio > 1 - params.longSwipesRatio) {
- swiper.slideTo(stopIndex + increment);
- } else if (
- rewindLastIndex !== null &&
- ratio < 0 &&
- Math.abs(ratio) > params.longSwipesRatio
- ) {
- swiper.slideTo(rewindLastIndex);
- } else {
- swiper.slideTo(stopIndex);
- }
- }
- } else {
- // Short swipes
- if (!params.shortSwipes) {
- swiper.slideTo(swiper.activeIndex);
- return;
- }
-
- const isNavButtonTarget =
- swiper.navigation &&
- (e.target === swiper.navigation.nextEl ||
- e.target === swiper.navigation.prevEl);
-
- if (!isNavButtonTarget) {
- if (swiper.swipeDirection === "next") {
- swiper.slideTo(
- rewindFirstIndex !== null
- ? rewindFirstIndex
- : stopIndex + increment,
- );
- }
-
- if (swiper.swipeDirection === "prev") {
- swiper.slideTo(
- rewindLastIndex !== null ? rewindLastIndex : stopIndex,
- );
- }
- } else if (e.target === swiper.navigation.nextEl) {
- swiper.slideTo(stopIndex + increment);
- } else {
- swiper.slideTo(stopIndex);
- }
- }
- }
-
- function onResize() {
- const swiper = this;
- const { params, el } = swiper;
- if (el && el.offsetWidth === 0) return; // Breakpoints
-
- if (params.breakpoints) {
- swiper.setBreakpoint();
- } // Save locks
-
- const { allowSlideNext, allowSlidePrev, snapGrid } = swiper; // Disable locks on resize
-
- swiper.allowSlideNext = true;
- swiper.allowSlidePrev = true;
- swiper.updateSize();
- swiper.updateSlides();
- swiper.updateSlidesClasses();
-
- if (
- (params.slidesPerView === "auto" || params.slidesPerView > 1) &&
- swiper.isEnd &&
- !swiper.isBeginning &&
- !swiper.params.centeredSlides
- ) {
- swiper.slideTo(swiper.slides.length - 1, 0, false, true);
- } else {
- swiper.slideTo(swiper.activeIndex, 0, false, true);
- }
-
- if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {
- swiper.autoplay.run();
- } // Return locks after resize
-
- swiper.allowSlidePrev = allowSlidePrev;
- swiper.allowSlideNext = allowSlideNext;
-
- if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {
- swiper.checkOverflow();
- }
- }
-
- function onClick(e) {
- const swiper = this;
- if (!swiper.enabled) return;
-
- if (!swiper.allowClick) {
- if (swiper.params.preventClicks) e.preventDefault();
-
- if (swiper.params.preventClicksPropagation && swiper.animating) {
- e.stopPropagation();
- e.stopImmediatePropagation();
- }
- }
- }
-
- function onScroll() {
- const swiper = this;
- const { wrapperEl, rtlTranslate, enabled } = swiper;
- if (!enabled) return;
- swiper.previousTranslate = swiper.translate;
-
- if (swiper.isHorizontal()) {
- swiper.translate = -wrapperEl.scrollLeft;
- } else {
- swiper.translate = -wrapperEl.scrollTop;
- } // eslint-disable-next-line
-
- if (swiper.translate === -0) swiper.translate = 0;
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- let newProgress;
- const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();
-
- if (translatesDiff === 0) {
- newProgress = 0;
- } else {
- newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;
- }
-
- if (newProgress !== swiper.progress) {
- swiper.updateProgress(
- rtlTranslate ? -swiper.translate : swiper.translate,
- );
- }
-
- swiper.emit("setTranslate", swiper.translate, false);
- }
-
- let dummyEventAttached = false;
-
- function dummyEventListener() {}
-
- const events = (swiper, method) => {
- const document = getDocument();
- const { params, touchEvents, el, wrapperEl, device, support } = swiper;
- const capture = !!params.nested;
- const domMethod =
- method === "on" ? "addEventListener" : "removeEventListener";
- const swiperMethod = method; // Touch Events
-
- if (!support.touch) {
- el[domMethod](touchEvents.start, swiper.onTouchStart, false);
- document[domMethod](touchEvents.move, swiper.onTouchMove, capture);
- document[domMethod](touchEvents.end, swiper.onTouchEnd, false);
- } else {
- const passiveListener =
- touchEvents.start === "touchstart" &&
- support.passiveListener &&
- params.passiveListeners
- ? {
- passive: true,
- capture: false,
- }
- : false;
- el[domMethod](touchEvents.start, swiper.onTouchStart, passiveListener);
- el[domMethod](
- touchEvents.move,
- swiper.onTouchMove,
- support.passiveListener
- ? {
- passive: false,
- capture,
- }
- : capture,
- );
- el[domMethod](touchEvents.end, swiper.onTouchEnd, passiveListener);
-
- if (touchEvents.cancel) {
- el[domMethod](touchEvents.cancel, swiper.onTouchEnd, passiveListener);
- }
- } // Prevent Links Clicks
-
- if (params.preventClicks || params.preventClicksPropagation) {
- el[domMethod]("click", swiper.onClick, true);
- }
-
- if (params.cssMode) {
- wrapperEl[domMethod]("scroll", swiper.onScroll);
- } // Resize handler
-
- if (params.updateOnWindowResize) {
- swiper[swiperMethod](
- device.ios || device.android
- ? "resize orientationchange observerUpdate"
- : "resize observerUpdate",
- onResize,
- true,
- );
- } else {
- swiper[swiperMethod]("observerUpdate", onResize, true);
- }
- };
-
- function attachEvents() {
- const swiper = this;
- const document = getDocument();
- const { params, support } = swiper;
- swiper.onTouchStart = onTouchStart.bind(swiper);
- swiper.onTouchMove = onTouchMove.bind(swiper);
- swiper.onTouchEnd = onTouchEnd.bind(swiper);
-
- if (params.cssMode) {
- swiper.onScroll = onScroll.bind(swiper);
- }
-
- swiper.onClick = onClick.bind(swiper);
-
- if (support.touch && !dummyEventAttached) {
- document.addEventListener("touchstart", dummyEventListener);
- dummyEventAttached = true;
- }
-
- events(swiper, "on");
- }
-
- function detachEvents() {
- const swiper = this;
- events(swiper, "off");
- }
-
- var events$1 = {
- attachEvents,
- detachEvents,
- };
-
- const isGridEnabled = (swiper, params) => {
- return swiper.grid && params.grid && params.grid.rows > 1;
- };
-
- function setBreakpoint() {
- const swiper = this;
- const { activeIndex, initialized, loopedSlides = 0, params, $el } = swiper;
- const breakpoints = params.breakpoints;
- if (!breakpoints || (breakpoints && Object.keys(breakpoints).length === 0))
- return; // Get breakpoint for window width and update parameters
-
- const breakpoint = swiper.getBreakpoint(
- breakpoints,
- swiper.params.breakpointsBase,
- swiper.el,
- );
- if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;
- const breakpointOnlyParams =
- breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;
- const breakpointParams = breakpointOnlyParams || swiper.originalParams;
- const wasMultiRow = isGridEnabled(swiper, params);
- const isMultiRow = isGridEnabled(swiper, breakpointParams);
- const wasEnabled = params.enabled;
-
- if (wasMultiRow && !isMultiRow) {
- $el.removeClass(
- `${params.containerModifierClass}grid ${params.containerModifierClass}grid-column`,
- );
- swiper.emitContainerClasses();
- } else if (!wasMultiRow && isMultiRow) {
- $el.addClass(`${params.containerModifierClass}grid`);
-
- if (
- (breakpointParams.grid.fill &&
- breakpointParams.grid.fill === "column") ||
- (!breakpointParams.grid.fill && params.grid.fill === "column")
- ) {
- $el.addClass(`${params.containerModifierClass}grid-column`);
- }
-
- swiper.emitContainerClasses();
- }
-
- const directionChanged =
- breakpointParams.direction &&
- breakpointParams.direction !== params.direction;
- const needsReLoop =
- params.loop &&
- (breakpointParams.slidesPerView !== params.slidesPerView ||
- directionChanged);
-
- if (directionChanged && initialized) {
- swiper.changeDirection();
- }
-
- extend(swiper.params, breakpointParams);
- const isEnabled = swiper.params.enabled;
- Object.assign(swiper, {
- allowTouchMove: swiper.params.allowTouchMove,
- allowSlideNext: swiper.params.allowSlideNext,
- allowSlidePrev: swiper.params.allowSlidePrev,
- });
-
- if (wasEnabled && !isEnabled) {
- swiper.disable();
- } else if (!wasEnabled && isEnabled) {
- swiper.enable();
- }
-
- swiper.currentBreakpoint = breakpoint;
- swiper.emit("_beforeBreakpoint", breakpointParams);
-
- if (needsReLoop && initialized) {
- swiper.loopDestroy();
- swiper.loopCreate();
- swiper.updateSlides();
- swiper.slideTo(
- activeIndex - loopedSlides + swiper.loopedSlides,
- 0,
- false,
- );
- }
-
- swiper.emit("breakpoint", breakpointParams);
- }
-
- function getBreakpoint(breakpoints, base, containerEl) {
- if (base === void 0) {
- base = "window";
- }
-
- if (!breakpoints || (base === "container" && !containerEl))
- return undefined;
- let breakpoint = false;
- const window = getWindow();
- const currentHeight =
- base === "window" ? window.innerHeight : containerEl.clientHeight;
- const points = Object.keys(breakpoints).map((point) => {
- if (typeof point === "string" && point.indexOf("@") === 0) {
- const minRatio = parseFloat(point.substr(1));
- const value = currentHeight * minRatio;
- return {
- value,
- point,
- };
- }
-
- return {
- value: point,
- point,
- };
- });
- points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));
-
- for (let i = 0; i < points.length; i += 1) {
- const { point, value } = points[i];
-
- if (base === "window") {
- if (window.matchMedia(`(min-width: ${value}px)`).matches) {
- breakpoint = point;
- }
- } else if (value <= containerEl.clientWidth) {
- breakpoint = point;
- }
- }
-
- return breakpoint || "max";
- }
-
- var breakpoints = {
- setBreakpoint,
- getBreakpoint,
- };
-
- function prepareClasses(entries, prefix) {
- const resultClasses = [];
- entries.forEach((item) => {
- if (typeof item === "object") {
- Object.keys(item).forEach((classNames) => {
- if (item[classNames]) {
- resultClasses.push(prefix + classNames);
- }
- });
- } else if (typeof item === "string") {
- resultClasses.push(prefix + item);
- }
- });
- return resultClasses;
- }
-
- function addClasses() {
- const swiper = this;
- const {
- classNames,
- params,
- rtl,
- $el,
- device,
- support
- } = swiper; // prettier-ignore
-
- const suffixes = prepareClasses(
- [
- "initialized",
- params.direction,
- {
- "pointer-events": !support.touch,
- },
- {
- "free-mode": swiper.params.freeMode && params.freeMode.enabled,
- },
- {
- autoheight: params.autoHeight,
- },
- {
- rtl: rtl,
- },
- {
- grid: params.grid && params.grid.rows > 1,
- },
- {
- "grid-column":
- params.grid &&
- params.grid.rows > 1 &&
- params.grid.fill === "column",
- },
- {
- android: device.android,
- },
- {
- ios: device.ios,
- },
- {
- "css-mode": params.cssMode,
- },
- {
- centered: params.cssMode && params.centeredSlides,
- },
- ],
- params.containerModifierClass,
- );
- classNames.push(...suffixes);
- $el.addClass([...classNames].join(" "));
- swiper.emitContainerClasses();
- }
-
- function removeClasses() {
- const swiper = this;
- const { $el, classNames } = swiper;
- $el.removeClass(classNames.join(" "));
- swiper.emitContainerClasses();
- }
-
- var classes = {
- addClasses,
- removeClasses,
- };
-
- function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {
- const window = getWindow();
- let image;
-
- function onReady() {
- if (callback) callback();
- }
-
- const isPicture = $(imageEl).parent("picture")[0];
-
- if (!isPicture && (!imageEl.complete || !checkForComplete)) {
- if (src) {
- image = new window.Image();
- image.onload = onReady;
- image.onerror = onReady;
-
- if (sizes) {
- image.sizes = sizes;
- }
-
- if (srcset) {
- image.srcset = srcset;
- }
-
- if (src) {
- image.src = src;
- }
- } else {
- onReady();
- }
- } else {
- // image already loaded...
- onReady();
- }
- }
-
- function preloadImages() {
- const swiper = this;
- swiper.imagesToLoad = swiper.$el.find("img");
-
- function onReady() {
- if (
- typeof swiper === "undefined" ||
- swiper === null ||
- !swiper ||
- swiper.destroyed
- )
- return;
- if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;
-
- if (swiper.imagesLoaded === swiper.imagesToLoad.length) {
- if (swiper.params.updateOnImagesReady) swiper.update();
- swiper.emit("imagesReady");
- }
- }
-
- for (let i = 0; i < swiper.imagesToLoad.length; i += 1) {
- const imageEl = swiper.imagesToLoad[i];
- swiper.loadImage(
- imageEl,
- imageEl.currentSrc || imageEl.getAttribute("src"),
- imageEl.srcset || imageEl.getAttribute("srcset"),
- imageEl.sizes || imageEl.getAttribute("sizes"),
- true,
- onReady,
- );
- }
- }
-
- var images = {
- loadImage,
- preloadImages,
- };
-
- function checkOverflow() {
- const swiper = this;
- const { isLocked: wasLocked, params } = swiper;
- const { slidesOffsetBefore } = params;
-
- if (slidesOffsetBefore) {
- const lastSlideIndex = swiper.slides.length - 1;
- const lastSlideRightEdge =
- swiper.slidesGrid[lastSlideIndex] +
- swiper.slidesSizesGrid[lastSlideIndex] +
- slidesOffsetBefore * 2;
- swiper.isLocked = swiper.size > lastSlideRightEdge;
- } else {
- swiper.isLocked = swiper.snapGrid.length === 1;
- }
-
- if (params.allowSlideNext === true) {
- swiper.allowSlideNext = !swiper.isLocked;
- }
-
- if (params.allowSlidePrev === true) {
- swiper.allowSlidePrev = !swiper.isLocked;
- }
-
- if (wasLocked && wasLocked !== swiper.isLocked) {
- swiper.isEnd = false;
- }
-
- if (wasLocked !== swiper.isLocked) {
- swiper.emit(swiper.isLocked ? "lock" : "unlock");
- }
- }
-
- var checkOverflow$1 = {
- checkOverflow,
- };
-
- var defaults = {
- init: true,
- direction: "horizontal",
- touchEventsTarget: "wrapper",
- initialSlide: 0,
- speed: 300,
- cssMode: false,
- updateOnWindowResize: true,
- resizeObserver: true,
- nested: false,
- createElements: false,
- enabled: true,
- focusableElements: "input, select, option, textarea, button, video, label",
- // Overrides
- width: null,
- height: null,
- //
- preventInteractionOnTransition: false,
- // ssr
- userAgent: null,
- url: null,
- // To support iOS's swipe-to-go-back gesture (when being used in-app).
- edgeSwipeDetection: false,
- edgeSwipeThreshold: 20,
- // Autoheight
- autoHeight: false,
- // Set wrapper width
- setWrapperSize: false,
- // Virtual Translate
- virtualTranslate: false,
- // Effects
- effect: "slide",
- // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'
- // Breakpoints
- breakpoints: undefined,
- breakpointsBase: "window",
- // Slides grid
- spaceBetween: 0,
- slidesPerView: 1,
- slidesPerGroup: 1,
- slidesPerGroupSkip: 0,
- slidesPerGroupAuto: false,
- centeredSlides: false,
- centeredSlidesBounds: false,
- slidesOffsetBefore: 0,
- // in px
- slidesOffsetAfter: 0,
- // in px
- normalizeSlideIndex: true,
- centerInsufficientSlides: false,
- // Disable swiper and hide navigation when container not overflow
- watchOverflow: true,
- // Round length
- roundLengths: false,
- // Touches
- touchRatio: 1,
- touchAngle: 45,
- simulateTouch: true,
- shortSwipes: true,
- longSwipes: true,
- longSwipesRatio: 0.5,
- longSwipesMs: 300,
- followFinger: true,
- allowTouchMove: true,
- threshold: 0,
- touchMoveStopPropagation: false,
- touchStartPreventDefault: true,
- touchStartForcePreventDefault: false,
- touchReleaseOnEdges: false,
- // Unique Navigation Elements
- uniqueNavElements: true,
- // Resistance
- resistance: true,
- resistanceRatio: 0.85,
- // Progress
- watchSlidesProgress: false,
- // Cursor
- grabCursor: false,
- // Clicks
- preventClicks: true,
- preventClicksPropagation: true,
- slideToClickedSlide: false,
- // Images
- preloadImages: true,
- updateOnImagesReady: true,
- // loop
- loop: false,
- loopAdditionalSlides: 0,
- loopedSlides: null,
- loopFillGroupWithBlank: false,
- loopPreventsSlide: true,
- // rewind
- rewind: false,
- // Swiping/no swiping
- allowSlidePrev: true,
- allowSlideNext: true,
- swipeHandler: null,
- // '.swipe-handler',
- noSwiping: true,
- noSwipingClass: "swiper-no-swiping",
- noSwipingSelector: null,
- // Passive Listeners
- passiveListeners: true,
- maxBackfaceHiddenSlides: 10,
- // NS
- containerModifierClass: "swiper-",
- // NEW
- slideClass: "swiper-slide",
- slideBlankClass: "swiper-slide-invisible-blank",
- slideActiveClass: "swiper-slide-active",
- slideDuplicateActiveClass: "swiper-slide-duplicate-active",
- slideVisibleClass: "swiper-slide-visible",
- slideDuplicateClass: "swiper-slide-duplicate",
- slideNextClass: "swiper-slide-next",
- slideDuplicateNextClass: "swiper-slide-duplicate-next",
- slidePrevClass: "swiper-slide-prev",
- slideDuplicatePrevClass: "swiper-slide-duplicate-prev",
- wrapperClass: "swiper-wrapper",
- // Callbacks
- runCallbacksOnInit: true,
- // Internals
- _emitClasses: false,
- };
-
- function moduleExtendParams(params, allModulesParams) {
- return function extendParams(obj) {
- if (obj === void 0) {
- obj = {};
- }
-
- const moduleParamName = Object.keys(obj)[0];
- const moduleParams = obj[moduleParamName];
-
- if (typeof moduleParams !== "object" || moduleParams === null) {
- extend(allModulesParams, obj);
- return;
- }
-
- if (
- ["navigation", "pagination", "scrollbar"].indexOf(moduleParamName) >=
- 0 &&
- params[moduleParamName] === true
- ) {
- params[moduleParamName] = {
- auto: true,
- };
- }
-
- if (!(moduleParamName in params && "enabled" in moduleParams)) {
- extend(allModulesParams, obj);
- return;
- }
-
- if (params[moduleParamName] === true) {
- params[moduleParamName] = {
- enabled: true,
- };
- }
-
- if (
- typeof params[moduleParamName] === "object" &&
- !("enabled" in params[moduleParamName])
- ) {
- params[moduleParamName].enabled = true;
- }
-
- if (!params[moduleParamName])
- params[moduleParamName] = {
- enabled: false,
- };
- extend(allModulesParams, obj);
- };
- }
-
- /* eslint no-param-reassign: "off" */
- const prototypes = {
- eventsEmitter,
- update,
- translate,
- transition,
- slide,
- loop,
- grabCursor,
- events: events$1,
- breakpoints,
- checkOverflow: checkOverflow$1,
- classes,
- images,
- };
- const extendedDefaults = {};
-
- class Swiper {
- constructor() {
- let el;
- let params;
-
- for (
- var _len = arguments.length, args = new Array(_len), _key = 0;
- _key < _len;
- _key++
- ) {
- args[_key] = arguments[_key];
- }
-
- if (
- args.length === 1 &&
- args[0].constructor &&
- Object.prototype.toString.call(args[0]).slice(8, -1) === "Object"
- ) {
- params = args[0];
- } else {
- [el, params] = args;
- }
-
- if (!params) params = {};
- params = extend({}, params);
- if (el && !params.el) params.el = el;
-
- if (params.el && $(params.el).length > 1) {
- const swipers = [];
- $(params.el).each((containerEl) => {
- const newParams = extend({}, params, {
- el: containerEl,
- });
- swipers.push(new Swiper(newParams));
- });
- return swipers;
- } // Swiper Instance
-
- const swiper = this;
- swiper.__swiper__ = true;
- swiper.support = getSupport();
- swiper.device = getDevice({
- userAgent: params.userAgent,
- });
- swiper.browser = getBrowser();
- swiper.eventsListeners = {};
- swiper.eventsAnyListeners = [];
- swiper.modules = [...swiper.__modules__];
-
- if (params.modules && Array.isArray(params.modules)) {
- swiper.modules.push(...params.modules);
- }
-
- const allModulesParams = {};
- swiper.modules.forEach((mod) => {
- mod({
- swiper,
- extendParams: moduleExtendParams(params, allModulesParams),
- on: swiper.on.bind(swiper),
- once: swiper.once.bind(swiper),
- off: swiper.off.bind(swiper),
- emit: swiper.emit.bind(swiper),
- });
- }); // Extend defaults with modules params
-
- const swiperParams = extend({}, defaults, allModulesParams); // Extend defaults with passed params
-
- swiper.params = extend({}, swiperParams, extendedDefaults, params);
- swiper.originalParams = extend({}, swiper.params);
- swiper.passedParams = extend({}, params); // add event listeners
-
- if (swiper.params && swiper.params.on) {
- Object.keys(swiper.params.on).forEach((eventName) => {
- swiper.on(eventName, swiper.params.on[eventName]);
- });
- }
-
- if (swiper.params && swiper.params.onAny) {
- swiper.onAny(swiper.params.onAny);
- } // Save Dom lib
-
- swiper.$ = $; // Extend Swiper
-
- Object.assign(swiper, {
- enabled: swiper.params.enabled,
- el,
- // Classes
- classNames: [],
- // Slides
- slides: $(),
- slidesGrid: [],
- snapGrid: [],
- slidesSizesGrid: [],
-
- // isDirection
- isHorizontal() {
- return swiper.params.direction === "horizontal";
- },
-
- isVertical() {
- return swiper.params.direction === "vertical";
- },
-
- // Indexes
- activeIndex: 0,
- realIndex: 0,
- //
- isBeginning: true,
- isEnd: false,
- // Props
- translate: 0,
- previousTranslate: 0,
- progress: 0,
- velocity: 0,
- animating: false,
- // Locks
- allowSlideNext: swiper.params.allowSlideNext,
- allowSlidePrev: swiper.params.allowSlidePrev,
- // Touch Events
- touchEvents: (function touchEvents() {
- const touch = ["touchstart", "touchmove", "touchend", "touchcancel"];
- const desktop = ["pointerdown", "pointermove", "pointerup"];
- swiper.touchEventsTouch = {
- start: touch[0],
- move: touch[1],
- end: touch[2],
- cancel: touch[3],
- };
- swiper.touchEventsDesktop = {
- start: desktop[0],
- move: desktop[1],
- end: desktop[2],
- };
- return swiper.support.touch || !swiper.params.simulateTouch
- ? swiper.touchEventsTouch
- : swiper.touchEventsDesktop;
- })(),
- touchEventsData: {
- isTouched: undefined,
- isMoved: undefined,
- allowTouchCallbacks: undefined,
- touchStartTime: undefined,
- isScrolling: undefined,
- currentTranslate: undefined,
- startTranslate: undefined,
- allowThresholdMove: undefined,
- // Form elements to match
- focusableElements: swiper.params.focusableElements,
- // Last click time
- lastClickTime: now(),
- clickTimeout: undefined,
- // Velocities
- velocities: [],
- allowMomentumBounce: undefined,
- isTouchEvent: undefined,
- startMoving: undefined,
- },
- // Clicks
- allowClick: true,
- // Touches
- allowTouchMove: swiper.params.allowTouchMove,
- touches: {
- startX: 0,
- startY: 0,
- currentX: 0,
- currentY: 0,
- diff: 0,
- },
- // Images
- imagesToLoad: [],
- imagesLoaded: 0,
- });
- swiper.emit("_swiper"); // Init
-
- if (swiper.params.init) {
- swiper.init();
- } // Return app instance
-
- return swiper;
- }
-
- enable() {
- const swiper = this;
- if (swiper.enabled) return;
- swiper.enabled = true;
-
- if (swiper.params.grabCursor) {
- swiper.setGrabCursor();
- }
-
- swiper.emit("enable");
- }
-
- disable() {
- const swiper = this;
- if (!swiper.enabled) return;
- swiper.enabled = false;
-
- if (swiper.params.grabCursor) {
- swiper.unsetGrabCursor();
- }
-
- swiper.emit("disable");
- }
-
- setProgress(progress, speed) {
- const swiper = this;
- progress = Math.min(Math.max(progress, 0), 1);
- const min = swiper.minTranslate();
- const max = swiper.maxTranslate();
- const current = (max - min) * progress + min;
- swiper.translateTo(current, typeof speed === "undefined" ? 0 : speed);
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- }
-
- emitContainerClasses() {
- const swiper = this;
- if (!swiper.params._emitClasses || !swiper.el) return;
- const cls = swiper.el.className.split(" ").filter((className) => {
- return (
- className.indexOf("swiper") === 0 ||
- className.indexOf(swiper.params.containerModifierClass) === 0
- );
- });
- swiper.emit("_containerClasses", cls.join(" "));
- }
-
- getSlideClasses(slideEl) {
- const swiper = this;
- return slideEl.className
- .split(" ")
- .filter((className) => {
- return (
- className.indexOf("swiper-slide") === 0 ||
- className.indexOf(swiper.params.slideClass) === 0
- );
- })
- .join(" ");
- }
-
- emitSlidesClasses() {
- const swiper = this;
- if (!swiper.params._emitClasses || !swiper.el) return;
- const updates = [];
- swiper.slides.each((slideEl) => {
- const classNames = swiper.getSlideClasses(slideEl);
- updates.push({
- slideEl,
- classNames,
- });
- swiper.emit("_slideClass", slideEl, classNames);
- });
- swiper.emit("_slideClasses", updates);
- }
-
- slidesPerViewDynamic(view, exact) {
- if (view === void 0) {
- view = "current";
- }
-
- if (exact === void 0) {
- exact = false;
- }
-
- const swiper = this;
- const {
- params,
- slides,
- slidesGrid,
- slidesSizesGrid,
- size: swiperSize,
- activeIndex,
- } = swiper;
- let spv = 1;
-
- if (params.centeredSlides) {
- let slideSize = slides[activeIndex].swiperSlideSize;
- let breakLoop;
-
- for (let i = activeIndex + 1; i < slides.length; i += 1) {
- if (slides[i] && !breakLoop) {
- slideSize += slides[i].swiperSlideSize;
- spv += 1;
- if (slideSize > swiperSize) breakLoop = true;
- }
- }
-
- for (let i = activeIndex - 1; i >= 0; i -= 1) {
- if (slides[i] && !breakLoop) {
- slideSize += slides[i].swiperSlideSize;
- spv += 1;
- if (slideSize > swiperSize) breakLoop = true;
- }
- }
- } else {
- // eslint-disable-next-line
- if (view === "current") {
- for (let i = activeIndex + 1; i < slides.length; i += 1) {
- const slideInView = exact
- ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] <
- swiperSize
- : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;
-
- if (slideInView) {
- spv += 1;
- }
- }
- } else {
- // previous
- for (let i = activeIndex - 1; i >= 0; i -= 1) {
- const slideInView =
- slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;
-
- if (slideInView) {
- spv += 1;
- }
- }
- }
- }
-
- return spv;
- }
-
- update() {
- const swiper = this;
- if (!swiper || swiper.destroyed) return;
- const { snapGrid, params } = swiper; // Breakpoints
-
- if (params.breakpoints) {
- swiper.setBreakpoint();
- }
-
- swiper.updateSize();
- swiper.updateSlides();
- swiper.updateProgress();
- swiper.updateSlidesClasses();
-
- function setTranslate() {
- const translateValue = swiper.rtlTranslate
- ? swiper.translate * -1
- : swiper.translate;
- const newTranslate = Math.min(
- Math.max(translateValue, swiper.maxTranslate()),
- swiper.minTranslate(),
- );
- swiper.setTranslate(newTranslate);
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- }
-
- let translated;
-
- if (swiper.params.freeMode && swiper.params.freeMode.enabled) {
- setTranslate();
-
- if (swiper.params.autoHeight) {
- swiper.updateAutoHeight();
- }
- } else {
- if (
- (swiper.params.slidesPerView === "auto" ||
- swiper.params.slidesPerView > 1) &&
- swiper.isEnd &&
- !swiper.params.centeredSlides
- ) {
- translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);
- } else {
- translated = swiper.slideTo(swiper.activeIndex, 0, false, true);
- }
-
- if (!translated) {
- setTranslate();
- }
- }
-
- if (params.watchOverflow && snapGrid !== swiper.snapGrid) {
- swiper.checkOverflow();
- }
-
- swiper.emit("update");
- }
-
- changeDirection(newDirection, needUpdate) {
- if (needUpdate === void 0) {
- needUpdate = true;
- }
-
- const swiper = this;
- const currentDirection = swiper.params.direction;
-
- if (!newDirection) {
- // eslint-disable-next-line
- newDirection =
- currentDirection === "horizontal" ? "vertical" : "horizontal";
- }
-
- if (
- newDirection === currentDirection ||
- (newDirection !== "horizontal" && newDirection !== "vertical")
- ) {
- return swiper;
- }
-
- swiper.$el
- .removeClass(
- `${swiper.params.containerModifierClass}${currentDirection}`,
- )
- .addClass(`${swiper.params.containerModifierClass}${newDirection}`);
- swiper.emitContainerClasses();
- swiper.params.direction = newDirection;
- swiper.slides.each((slideEl) => {
- if (newDirection === "vertical") {
- slideEl.style.width = "";
- } else {
- slideEl.style.height = "";
- }
- });
- swiper.emit("changeDirection");
- if (needUpdate) swiper.update();
- return swiper;
- }
-
- mount(el) {
- const swiper = this;
- if (swiper.mounted) return true; // Find el
-
- const $el = $(el || swiper.params.el);
- el = $el[0];
-
- if (!el) {
- return false;
- }
-
- el.swiper = swiper;
-
- const getWrapperSelector = () => {
- return `.${(swiper.params.wrapperClass || "")
- .trim()
- .split(" ")
- .join(".")}`;
- };
-
- const getWrapper = () => {
- if (el && el.shadowRoot && el.shadowRoot.querySelector) {
- const res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items
-
- res.children = (options) => $el.children(options);
-
- return res;
- }
-
- return $el.children(getWrapperSelector());
- }; // Find Wrapper
-
- let $wrapperEl = getWrapper();
-
- if ($wrapperEl.length === 0 && swiper.params.createElements) {
- const document = getDocument();
- const wrapper = document.createElement("div");
- $wrapperEl = $(wrapper);
- wrapper.className = swiper.params.wrapperClass;
- $el.append(wrapper);
- $el.children(`.${swiper.params.slideClass}`).each((slideEl) => {
- $wrapperEl.append(slideEl);
- });
- }
-
- Object.assign(swiper, {
- $el,
- el,
- $wrapperEl,
- wrapperEl: $wrapperEl[0],
- mounted: true,
- // RTL
- rtl: el.dir.toLowerCase() === "rtl" || $el.css("direction") === "rtl",
- rtlTranslate:
- swiper.params.direction === "horizontal" &&
- (el.dir.toLowerCase() === "rtl" || $el.css("direction") === "rtl"),
- wrongRTL: $wrapperEl.css("display") === "-webkit-box",
- });
- return true;
- }
-
- init(el) {
- const swiper = this;
- if (swiper.initialized) return swiper;
- const mounted = swiper.mount(el);
- if (mounted === false) return swiper;
- swiper.emit("beforeInit"); // Set breakpoint
-
- if (swiper.params.breakpoints) {
- swiper.setBreakpoint();
- } // Add Classes
-
- swiper.addClasses(); // Create loop
-
- if (swiper.params.loop) {
- swiper.loopCreate();
- } // Update size
-
- swiper.updateSize(); // Update slides
-
- swiper.updateSlides();
-
- if (swiper.params.watchOverflow) {
- swiper.checkOverflow();
- } // Set Grab Cursor
-
- if (swiper.params.grabCursor && swiper.enabled) {
- swiper.setGrabCursor();
- }
-
- if (swiper.params.preloadImages) {
- swiper.preloadImages();
- } // Slide To Initial Slide
-
- if (swiper.params.loop) {
- swiper.slideTo(
- swiper.params.initialSlide + swiper.loopedSlides,
- 0,
- swiper.params.runCallbacksOnInit,
- false,
- true,
- );
- } else {
- swiper.slideTo(
- swiper.params.initialSlide,
- 0,
- swiper.params.runCallbacksOnInit,
- false,
- true,
- );
- } // Attach events
-
- swiper.attachEvents(); // Init Flag
-
- swiper.initialized = true; // Emit
-
- swiper.emit("init");
- swiper.emit("afterInit");
- return swiper;
- }
-
- destroy(deleteInstance, cleanStyles) {
- if (deleteInstance === void 0) {
- deleteInstance = true;
- }
-
- if (cleanStyles === void 0) {
- cleanStyles = true;
- }
-
- const swiper = this;
- const { params, $el, $wrapperEl, slides } = swiper;
-
- if (typeof swiper.params === "undefined" || swiper.destroyed) {
- return null;
- }
-
- swiper.emit("beforeDestroy"); // Init Flag
-
- swiper.initialized = false; // Detach events
-
- swiper.detachEvents(); // Destroy loop
-
- if (params.loop) {
- swiper.loopDestroy();
- } // Cleanup styles
-
- if (cleanStyles) {
- swiper.removeClasses();
- $el.removeAttr("style");
- $wrapperEl.removeAttr("style");
-
- if (slides && slides.length) {
- slides
- .removeClass(
- [
- params.slideVisibleClass,
- params.slideActiveClass,
- params.slideNextClass,
- params.slidePrevClass,
- ].join(" "),
- )
- .removeAttr("style")
- .removeAttr("data-swiper-slide-index");
- }
- }
-
- swiper.emit("destroy"); // Detach emitter events
-
- Object.keys(swiper.eventsListeners).forEach((eventName) => {
- swiper.off(eventName);
- });
-
- if (deleteInstance !== false) {
- swiper.$el[0].swiper = null;
- deleteProps(swiper);
- }
-
- swiper.destroyed = true;
- return null;
- }
-
- static extendDefaults(newDefaults) {
- extend(extendedDefaults, newDefaults);
- }
-
- static get extendedDefaults() {
- return extendedDefaults;
- }
-
- static get defaults() {
- return defaults;
- }
-
- static installModule(mod) {
- if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];
- const modules = Swiper.prototype.__modules__;
-
- if (typeof mod === "function" && modules.indexOf(mod) < 0) {
- modules.push(mod);
- }
- }
-
- static use(module) {
- if (Array.isArray(module)) {
- module.forEach((m) => Swiper.installModule(m));
- return Swiper;
- }
-
- Swiper.installModule(module);
- return Swiper;
- }
- }
-
- Object.keys(prototypes).forEach((prototypeGroup) => {
- Object.keys(prototypes[prototypeGroup]).forEach((protoMethod) => {
- Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];
- });
- });
- Swiper.use([Resize, Observer]);
-
- function Virtual(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- extendParams({
- virtual: {
- enabled: false,
- slides: [],
- cache: true,
- renderSlide: null,
- renderExternal: null,
- renderExternalUpdate: true,
- addSlidesBefore: 0,
- addSlidesAfter: 0,
- },
- });
- let cssModeTimeout;
- swiper.virtual = {
- cache: {},
- from: undefined,
- to: undefined,
- slides: [],
- offset: 0,
- slidesGrid: [],
- };
-
- function renderSlide(slide, index) {
- const params = swiper.params.virtual;
-
- if (params.cache && swiper.virtual.cache[index]) {
- return swiper.virtual.cache[index];
- }
-
- const $slideEl = params.renderSlide
- ? $(params.renderSlide.call(swiper, slide, index))
- : $(
- `${slide}
`,
- );
- if (!$slideEl.attr("data-swiper-slide-index"))
- $slideEl.attr("data-swiper-slide-index", index);
- if (params.cache) swiper.virtual.cache[index] = $slideEl;
- return $slideEl;
- }
-
- function update(force) {
- const { slidesPerView, slidesPerGroup, centeredSlides } = swiper.params;
- const { addSlidesBefore, addSlidesAfter } = swiper.params.virtual;
- const {
- from: previousFrom,
- to: previousTo,
- slides,
- slidesGrid: previousSlidesGrid,
- offset: previousOffset,
- } = swiper.virtual;
-
- if (!swiper.params.cssMode) {
- swiper.updateActiveIndex();
- }
-
- const activeIndex = swiper.activeIndex || 0;
- let offsetProp;
- if (swiper.rtlTranslate) offsetProp = "right";
- else offsetProp = swiper.isHorizontal() ? "left" : "top";
- let slidesAfter;
- let slidesBefore;
-
- if (centeredSlides) {
- slidesAfter =
- Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesAfter;
- slidesBefore =
- Math.floor(slidesPerView / 2) + slidesPerGroup + addSlidesBefore;
- } else {
- slidesAfter = slidesPerView + (slidesPerGroup - 1) + addSlidesAfter;
- slidesBefore = slidesPerGroup + addSlidesBefore;
- }
-
- const from = Math.max((activeIndex || 0) - slidesBefore, 0);
- const to = Math.min((activeIndex || 0) + slidesAfter, slides.length - 1);
- const offset =
- (swiper.slidesGrid[from] || 0) - (swiper.slidesGrid[0] || 0);
- Object.assign(swiper.virtual, {
- from,
- to,
- offset,
- slidesGrid: swiper.slidesGrid,
- });
-
- function onRendered() {
- swiper.updateSlides();
- swiper.updateProgress();
- swiper.updateSlidesClasses();
-
- if (swiper.lazy && swiper.params.lazy.enabled) {
- swiper.lazy.load();
- }
-
- emit("virtualUpdate");
- }
-
- if (previousFrom === from && previousTo === to && !force) {
- if (
- swiper.slidesGrid !== previousSlidesGrid &&
- offset !== previousOffset
- ) {
- swiper.slides.css(offsetProp, `${offset}px`);
- }
-
- swiper.updateProgress();
- emit("virtualUpdate");
- return;
- }
-
- if (swiper.params.virtual.renderExternal) {
- swiper.params.virtual.renderExternal.call(swiper, {
- offset,
- from,
- to,
- slides: (function getSlides() {
- const slidesToRender = [];
-
- for (let i = from; i <= to; i += 1) {
- slidesToRender.push(slides[i]);
- }
-
- return slidesToRender;
- })(),
- });
-
- if (swiper.params.virtual.renderExternalUpdate) {
- onRendered();
- } else {
- emit("virtualUpdate");
- }
-
- return;
- }
-
- const prependIndexes = [];
- const appendIndexes = [];
-
- if (force) {
- swiper.$wrapperEl.find(`.${swiper.params.slideClass}`).remove();
- } else {
- for (let i = previousFrom; i <= previousTo; i += 1) {
- if (i < from || i > to) {
- swiper.$wrapperEl
- .find(
- `.${swiper.params.slideClass}[data-swiper-slide-index="${i}"]`,
- )
- .remove();
- }
- }
- }
-
- for (let i = 0; i < slides.length; i += 1) {
- if (i >= from && i <= to) {
- if (typeof previousTo === "undefined" || force) {
- appendIndexes.push(i);
- } else {
- if (i > previousTo) appendIndexes.push(i);
- if (i < previousFrom) prependIndexes.push(i);
- }
- }
- }
-
- appendIndexes.forEach((index) => {
- swiper.$wrapperEl.append(renderSlide(slides[index], index));
- });
- prependIndexes
- .sort((a, b) => b - a)
- .forEach((index) => {
- swiper.$wrapperEl.prepend(renderSlide(slides[index], index));
- });
- swiper.$wrapperEl
- .children(".swiper-slide")
- .css(offsetProp, `${offset}px`);
- onRendered();
- }
-
- function appendSlide(slides) {
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) swiper.virtual.slides.push(slides[i]);
- }
- } else {
- swiper.virtual.slides.push(slides);
- }
-
- update(true);
- }
-
- function prependSlide(slides) {
- const activeIndex = swiper.activeIndex;
- let newActiveIndex = activeIndex + 1;
- let numberOfNewSlides = 1;
-
- if (Array.isArray(slides)) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) swiper.virtual.slides.unshift(slides[i]);
- }
-
- newActiveIndex = activeIndex + slides.length;
- numberOfNewSlides = slides.length;
- } else {
- swiper.virtual.slides.unshift(slides);
- }
-
- if (swiper.params.virtual.cache) {
- const cache = swiper.virtual.cache;
- const newCache = {};
- Object.keys(cache).forEach((cachedIndex) => {
- const $cachedEl = cache[cachedIndex];
- const cachedElIndex = $cachedEl.attr("data-swiper-slide-index");
-
- if (cachedElIndex) {
- $cachedEl.attr(
- "data-swiper-slide-index",
- parseInt(cachedElIndex, 10) + numberOfNewSlides,
- );
- }
-
- newCache[parseInt(cachedIndex, 10) + numberOfNewSlides] = $cachedEl;
- });
- swiper.virtual.cache = newCache;
- }
-
- update(true);
- swiper.slideTo(newActiveIndex, 0);
- }
-
- function removeSlide(slidesIndexes) {
- if (typeof slidesIndexes === "undefined" || slidesIndexes === null)
- return;
- let activeIndex = swiper.activeIndex;
-
- if (Array.isArray(slidesIndexes)) {
- for (let i = slidesIndexes.length - 1; i >= 0; i -= 1) {
- swiper.virtual.slides.splice(slidesIndexes[i], 1);
-
- if (swiper.params.virtual.cache) {
- delete swiper.virtual.cache[slidesIndexes[i]];
- }
-
- if (slidesIndexes[i] < activeIndex) activeIndex -= 1;
- activeIndex = Math.max(activeIndex, 0);
- }
- } else {
- swiper.virtual.slides.splice(slidesIndexes, 1);
-
- if (swiper.params.virtual.cache) {
- delete swiper.virtual.cache[slidesIndexes];
- }
-
- if (slidesIndexes < activeIndex) activeIndex -= 1;
- activeIndex = Math.max(activeIndex, 0);
- }
-
- update(true);
- swiper.slideTo(activeIndex, 0);
- }
-
- function removeAllSlides() {
- swiper.virtual.slides = [];
-
- if (swiper.params.virtual.cache) {
- swiper.virtual.cache = {};
- }
-
- update(true);
- swiper.slideTo(0, 0);
- }
-
- on("beforeInit", () => {
- if (!swiper.params.virtual.enabled) return;
- swiper.virtual.slides = swiper.params.virtual.slides;
- swiper.classNames.push(`${swiper.params.containerModifierClass}virtual`);
- swiper.params.watchSlidesProgress = true;
- swiper.originalParams.watchSlidesProgress = true;
-
- if (!swiper.params.initialSlide) {
- update();
- }
- });
- on("setTranslate", () => {
- if (!swiper.params.virtual.enabled) return;
-
- if (swiper.params.cssMode && !swiper._immediateVirtual) {
- clearTimeout(cssModeTimeout);
- cssModeTimeout = setTimeout(() => {
- update();
- }, 100);
- } else {
- update();
- }
- });
- on("init update resize", () => {
- if (!swiper.params.virtual.enabled) return;
-
- if (swiper.params.cssMode) {
- setCSSProperty(
- swiper.wrapperEl,
- "--swiper-virtual-size",
- `${swiper.virtualSize}px`,
- );
- }
- });
- Object.assign(swiper.virtual, {
- appendSlide,
- prependSlide,
- removeSlide,
- removeAllSlides,
- update,
- });
- }
-
- /* eslint-disable consistent-return */
- function Keyboard(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- const document = getDocument();
- const window = getWindow();
- swiper.keyboard = {
- enabled: false,
- };
- extendParams({
- keyboard: {
- enabled: false,
- onlyInViewport: true,
- pageUpDown: true,
- },
- });
-
- function handle(event) {
- if (!swiper.enabled) return;
- const { rtlTranslate: rtl } = swiper;
- let e = event;
- if (e.originalEvent) e = e.originalEvent; // jquery fix
-
- const kc = e.keyCode || e.charCode;
- const pageUpDown = swiper.params.keyboard.pageUpDown;
- const isPageUp = pageUpDown && kc === 33;
- const isPageDown = pageUpDown && kc === 34;
- const isArrowLeft = kc === 37;
- const isArrowRight = kc === 39;
- const isArrowUp = kc === 38;
- const isArrowDown = kc === 40; // Directions locks
-
- if (
- !swiper.allowSlideNext &&
- ((swiper.isHorizontal() && isArrowRight) ||
- (swiper.isVertical() && isArrowDown) ||
- isPageDown)
- ) {
- return false;
- }
-
- if (
- !swiper.allowSlidePrev &&
- ((swiper.isHorizontal() && isArrowLeft) ||
- (swiper.isVertical() && isArrowUp) ||
- isPageUp)
- ) {
- return false;
- }
-
- if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
- return undefined;
- }
-
- if (
- document.activeElement &&
- document.activeElement.nodeName &&
- (document.activeElement.nodeName.toLowerCase() === "input" ||
- document.activeElement.nodeName.toLowerCase() === "textarea")
- ) {
- return undefined;
- }
-
- if (
- swiper.params.keyboard.onlyInViewport &&
- (isPageUp ||
- isPageDown ||
- isArrowLeft ||
- isArrowRight ||
- isArrowUp ||
- isArrowDown)
- ) {
- let inView = false; // Check that swiper should be inside of visible area of window
-
- if (
- swiper.$el.parents(`.${swiper.params.slideClass}`).length > 0 &&
- swiper.$el.parents(`.${swiper.params.slideActiveClass}`).length === 0
- ) {
- return undefined;
- }
-
- const $el = swiper.$el;
- const swiperWidth = $el[0].clientWidth;
- const swiperHeight = $el[0].clientHeight;
- const windowWidth = window.innerWidth;
- const windowHeight = window.innerHeight;
- const swiperOffset = swiper.$el.offset();
- if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
- const swiperCoord = [
- [swiperOffset.left, swiperOffset.top],
- [swiperOffset.left + swiperWidth, swiperOffset.top],
- [swiperOffset.left, swiperOffset.top + swiperHeight],
- [swiperOffset.left + swiperWidth, swiperOffset.top + swiperHeight],
- ];
-
- for (let i = 0; i < swiperCoord.length; i += 1) {
- const point = swiperCoord[i];
-
- if (
- point[0] >= 0 &&
- point[0] <= windowWidth &&
- point[1] >= 0 &&
- point[1] <= windowHeight
- ) {
- if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
-
- inView = true;
- }
- }
-
- if (!inView) return undefined;
- }
-
- if (swiper.isHorizontal()) {
- if (isPageUp || isPageDown || isArrowLeft || isArrowRight) {
- if (e.preventDefault) e.preventDefault();
- else e.returnValue = false;
- }
-
- if (
- ((isPageDown || isArrowRight) && !rtl) ||
- ((isPageUp || isArrowLeft) && rtl)
- )
- swiper.slideNext();
- if (
- ((isPageUp || isArrowLeft) && !rtl) ||
- ((isPageDown || isArrowRight) && rtl)
- )
- swiper.slidePrev();
- } else {
- if (isPageUp || isPageDown || isArrowUp || isArrowDown) {
- if (e.preventDefault) e.preventDefault();
- else e.returnValue = false;
- }
-
- if (isPageDown || isArrowDown) swiper.slideNext();
- if (isPageUp || isArrowUp) swiper.slidePrev();
- }
-
- emit("keyPress", kc);
- return undefined;
- }
-
- function enable() {
- if (swiper.keyboard.enabled) return;
- $(document).on("keydown", handle);
- swiper.keyboard.enabled = true;
- }
-
- function disable() {
- if (!swiper.keyboard.enabled) return;
- $(document).off("keydown", handle);
- swiper.keyboard.enabled = false;
- }
-
- on("init", () => {
- if (swiper.params.keyboard.enabled) {
- enable();
- }
- });
- on("destroy", () => {
- if (swiper.keyboard.enabled) {
- disable();
- }
- });
- Object.assign(swiper.keyboard, {
- enable,
- disable,
- });
- }
-
- /* eslint-disable consistent-return */
- function Mousewheel(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- const window = getWindow();
- extendParams({
- mousewheel: {
- enabled: false,
- releaseOnEdges: false,
- invert: false,
- forceToAxis: false,
- sensitivity: 1,
- eventsTarget: "container",
- thresholdDelta: null,
- thresholdTime: null,
- },
- });
- swiper.mousewheel = {
- enabled: false,
- };
- let timeout;
- let lastScrollTime = now();
- let lastEventBeforeSnap;
- const recentWheelEvents = [];
-
- function normalize(e) {
- // Reasonable defaults
- const PIXEL_STEP = 10;
- const LINE_HEIGHT = 40;
- const PAGE_HEIGHT = 800;
- let sX = 0;
- let sY = 0; // spinX, spinY
-
- let pX = 0;
- let pY = 0; // pixelX, pixelY
- // Legacy
-
- if ("detail" in e) {
- sY = e.detail;
- }
-
- if ("wheelDelta" in e) {
- sY = -e.wheelDelta / 120;
- }
-
- if ("wheelDeltaY" in e) {
- sY = -e.wheelDeltaY / 120;
- }
-
- if ("wheelDeltaX" in e) {
- sX = -e.wheelDeltaX / 120;
- } // side scrolling on FF with DOMMouseScroll
-
- if ("axis" in e && e.axis === e.HORIZONTAL_AXIS) {
- sX = sY;
- sY = 0;
- }
-
- pX = sX * PIXEL_STEP;
- pY = sY * PIXEL_STEP;
-
- if ("deltaY" in e) {
- pY = e.deltaY;
- }
-
- if ("deltaX" in e) {
- pX = e.deltaX;
- }
-
- if (e.shiftKey && !pX) {
- // if user scrolls with shift he wants horizontal scroll
- pX = pY;
- pY = 0;
- }
-
- if ((pX || pY) && e.deltaMode) {
- if (e.deltaMode === 1) {
- // delta in LINE units
- pX *= LINE_HEIGHT;
- pY *= LINE_HEIGHT;
- } else {
- // delta in PAGE units
- pX *= PAGE_HEIGHT;
- pY *= PAGE_HEIGHT;
- }
- } // Fall-back if spin cannot be determined
-
- if (pX && !sX) {
- sX = pX < 1 ? -1 : 1;
- }
-
- if (pY && !sY) {
- sY = pY < 1 ? -1 : 1;
- }
-
- return {
- spinX: sX,
- spinY: sY,
- pixelX: pX,
- pixelY: pY,
- };
- }
-
- function handleMouseEnter() {
- if (!swiper.enabled) return;
- swiper.mouseEntered = true;
- }
-
- function handleMouseLeave() {
- if (!swiper.enabled) return;
- swiper.mouseEntered = false;
- }
-
- function animateSlider(newEvent) {
- if (
- swiper.params.mousewheel.thresholdDelta &&
- newEvent.delta < swiper.params.mousewheel.thresholdDelta
- ) {
- // Prevent if delta of wheel scroll delta is below configured threshold
- return false;
- }
-
- if (
- swiper.params.mousewheel.thresholdTime &&
- now() - lastScrollTime < swiper.params.mousewheel.thresholdTime
- ) {
- // Prevent if time between scrolls is below configured threshold
- return false;
- } // If the movement is NOT big enough and
- // if the last time the user scrolled was too close to the current one (avoid continuously triggering the slider):
- // Don't go any further (avoid insignificant scroll movement).
-
- if (newEvent.delta >= 6 && now() - lastScrollTime < 60) {
- // Return false as a default
- return true;
- } // If user is scrolling towards the end:
- // If the slider hasn't hit the latest slide or
- // if the slider is a loop and
- // if the slider isn't moving right now:
- // Go to next slide and
- // emit a scroll event.
- // Else (the user is scrolling towards the beginning) and
- // if the slider hasn't hit the first slide or
- // if the slider is a loop and
- // if the slider isn't moving right now:
- // Go to prev slide and
- // emit a scroll event.
-
- if (newEvent.direction < 0) {
- if ((!swiper.isEnd || swiper.params.loop) && !swiper.animating) {
- swiper.slideNext();
- emit("scroll", newEvent.raw);
- }
- } else if (
- (!swiper.isBeginning || swiper.params.loop) &&
- !swiper.animating
- ) {
- swiper.slidePrev();
- emit("scroll", newEvent.raw);
- } // If you got here is because an animation has been triggered so store the current time
-
- lastScrollTime = new window.Date().getTime(); // Return false as a default
-
- return false;
- }
-
- function releaseScroll(newEvent) {
- const params = swiper.params.mousewheel;
-
- if (newEvent.direction < 0) {
- if (swiper.isEnd && !swiper.params.loop && params.releaseOnEdges) {
- // Return true to animate scroll on edges
- return true;
- }
- } else if (
- swiper.isBeginning &&
- !swiper.params.loop &&
- params.releaseOnEdges
- ) {
- // Return true to animate scroll on edges
- return true;
- }
-
- return false;
- }
-
- function handle(event) {
- let e = event;
- let disableParentSwiper = true;
- if (!swiper.enabled) return;
- const params = swiper.params.mousewheel;
-
- if (swiper.params.cssMode) {
- e.preventDefault();
- }
-
- let target = swiper.$el;
-
- if (swiper.params.mousewheel.eventsTarget !== "container") {
- target = $(swiper.params.mousewheel.eventsTarget);
- }
-
- if (
- !swiper.mouseEntered &&
- !target[0].contains(e.target) &&
- !params.releaseOnEdges
- )
- return true;
- if (e.originalEvent) e = e.originalEvent; // jquery fix
-
- let delta = 0;
- const rtlFactor = swiper.rtlTranslate ? -1 : 1;
- const data = normalize(e);
-
- if (params.forceToAxis) {
- if (swiper.isHorizontal()) {
- if (Math.abs(data.pixelX) > Math.abs(data.pixelY))
- delta = -data.pixelX * rtlFactor;
- else return true;
- } else if (Math.abs(data.pixelY) > Math.abs(data.pixelX))
- delta = -data.pixelY;
- else return true;
- } else {
- delta =
- Math.abs(data.pixelX) > Math.abs(data.pixelY)
- ? -data.pixelX * rtlFactor
- : -data.pixelY;
- }
-
- if (delta === 0) return true;
- if (params.invert) delta = -delta; // Get the scroll positions
-
- let positions = swiper.getTranslate() + delta * params.sensitivity;
- if (positions >= swiper.minTranslate()) positions = swiper.minTranslate();
- if (positions <= swiper.maxTranslate()) positions = swiper.maxTranslate(); // When loop is true:
- // the disableParentSwiper will be true.
- // When loop is false:
- // if the scroll positions is not on edge,
- // then the disableParentSwiper will be true.
- // if the scroll on edge positions,
- // then the disableParentSwiper will be false.
-
- disableParentSwiper = swiper.params.loop
- ? true
- : !(
- positions === swiper.minTranslate() ||
- positions === swiper.maxTranslate()
- );
- if (disableParentSwiper && swiper.params.nested) e.stopPropagation();
-
- if (!swiper.params.freeMode || !swiper.params.freeMode.enabled) {
- // Register the new event in a variable which stores the relevant data
- const newEvent = {
- time: now(),
- delta: Math.abs(delta),
- direction: Math.sign(delta),
- raw: event,
- }; // Keep the most recent events
-
- if (recentWheelEvents.length >= 2) {
- recentWheelEvents.shift(); // only store the last N events
- }
-
- const prevEvent = recentWheelEvents.length
- ? recentWheelEvents[recentWheelEvents.length - 1]
- : undefined;
- recentWheelEvents.push(newEvent); // If there is at least one previous recorded event:
- // If direction has changed or
- // if the scroll is quicker than the previous one:
- // Animate the slider.
- // Else (this is the first time the wheel is moved):
- // Animate the slider.
-
- if (prevEvent) {
- if (
- newEvent.direction !== prevEvent.direction ||
- newEvent.delta > prevEvent.delta ||
- newEvent.time > prevEvent.time + 150
- ) {
- animateSlider(newEvent);
- }
- } else {
- animateSlider(newEvent);
- } // If it's time to release the scroll:
- // Return now so you don't hit the preventDefault.
-
- if (releaseScroll(newEvent)) {
- return true;
- }
- } else {
- // Freemode or scrollContainer:
- // If we recently snapped after a momentum scroll, then ignore wheel events
- // to give time for the deceleration to finish. Stop ignoring after 500 msecs
- // or if it's a new scroll (larger delta or inverse sign as last event before
- // an end-of-momentum snap).
- const newEvent = {
- time: now(),
- delta: Math.abs(delta),
- direction: Math.sign(delta),
- };
- const ignoreWheelEvents =
- lastEventBeforeSnap &&
- newEvent.time < lastEventBeforeSnap.time + 500 &&
- newEvent.delta <= lastEventBeforeSnap.delta &&
- newEvent.direction === lastEventBeforeSnap.direction;
-
- if (!ignoreWheelEvents) {
- lastEventBeforeSnap = undefined;
-
- if (swiper.params.loop) {
- swiper.loopFix();
- }
-
- let position = swiper.getTranslate() + delta * params.sensitivity;
- const wasBeginning = swiper.isBeginning;
- const wasEnd = swiper.isEnd;
- if (position >= swiper.minTranslate())
- position = swiper.minTranslate();
- if (position <= swiper.maxTranslate())
- position = swiper.maxTranslate();
- swiper.setTransition(0);
- swiper.setTranslate(position);
- swiper.updateProgress();
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
-
- if (
- (!wasBeginning && swiper.isBeginning) ||
- (!wasEnd && swiper.isEnd)
- ) {
- swiper.updateSlidesClasses();
- }
-
- if (swiper.params.freeMode.sticky) {
- // When wheel scrolling starts with sticky (aka snap) enabled, then detect
- // the end of a momentum scroll by storing recent (N=15?) wheel events.
- // 1. do all N events have decreasing or same (absolute value) delta?
- // 2. did all N events arrive in the last M (M=500?) msecs?
- // 3. does the earliest event have an (absolute value) delta that's
- // at least P (P=1?) larger than the most recent event's delta?
- // 4. does the latest event have a delta that's smaller than Q (Q=6?) pixels?
- // If 1-4 are "yes" then we're near the end of a momentum scroll deceleration.
- // Snap immediately and ignore remaining wheel events in this scroll.
- // See comment above for "remaining wheel events in this scroll" determination.
- // If 1-4 aren't satisfied, then wait to snap until 500ms after the last event.
- clearTimeout(timeout);
- timeout = undefined;
-
- if (recentWheelEvents.length >= 15) {
- recentWheelEvents.shift(); // only store the last N events
- }
-
- const prevEvent = recentWheelEvents.length
- ? recentWheelEvents[recentWheelEvents.length - 1]
- : undefined;
- const firstEvent = recentWheelEvents[0];
- recentWheelEvents.push(newEvent);
-
- if (
- prevEvent &&
- (newEvent.delta > prevEvent.delta ||
- newEvent.direction !== prevEvent.direction)
- ) {
- // Increasing or reverse-sign delta means the user started scrolling again. Clear the wheel event log.
- recentWheelEvents.splice(0);
- } else if (
- recentWheelEvents.length >= 15 &&
- newEvent.time - firstEvent.time < 500 &&
- firstEvent.delta - newEvent.delta >= 1 &&
- newEvent.delta <= 6
- ) {
- // We're at the end of the deceleration of a momentum scroll, so there's no need
- // to wait for more events. Snap ASAP on the next tick.
- // Also, because there's some remaining momentum we'll bias the snap in the
- // direction of the ongoing scroll because it's better UX for the scroll to snap
- // in the same direction as the scroll instead of reversing to snap. Therefore,
- // if it's already scrolled more than 20% in the current direction, keep going.
- const snapToThreshold = delta > 0 ? 0.8 : 0.2;
- lastEventBeforeSnap = newEvent;
- recentWheelEvents.splice(0);
- timeout = nextTick(() => {
- swiper.slideToClosest(
- swiper.params.speed,
- true,
- undefined,
- snapToThreshold,
- );
- }, 0); // no delay; move on next tick
- }
-
- if (!timeout) {
- // if we get here, then we haven't detected the end of a momentum scroll, so
- // we'll consider a scroll "complete" when there haven't been any wheel events
- // for 500ms.
- timeout = nextTick(() => {
- const snapToThreshold = 0.5;
- lastEventBeforeSnap = newEvent;
- recentWheelEvents.splice(0);
- swiper.slideToClosest(
- swiper.params.speed,
- true,
- undefined,
- snapToThreshold,
- );
- }, 500);
- }
- } // Emit event
-
- if (!ignoreWheelEvents) emit("scroll", e); // Stop autoplay
-
- if (
- swiper.params.autoplay &&
- swiper.params.autoplayDisableOnInteraction
- )
- swiper.autoplay.stop(); // Return page scroll on edge positions
-
- if (
- position === swiper.minTranslate() ||
- position === swiper.maxTranslate()
- )
- return true;
- }
- }
-
- if (e.preventDefault) e.preventDefault();
- else e.returnValue = false;
- return false;
- }
-
- function events(method) {
- let target = swiper.$el;
-
- if (swiper.params.mousewheel.eventsTarget !== "container") {
- target = $(swiper.params.mousewheel.eventsTarget);
- }
-
- target[method]("mouseenter", handleMouseEnter);
- target[method]("mouseleave", handleMouseLeave);
- target[method]("wheel", handle);
- }
-
- function enable() {
- if (swiper.params.cssMode) {
- swiper.wrapperEl.removeEventListener("wheel", handle);
- return true;
- }
-
- if (swiper.mousewheel.enabled) return false;
- events("on");
- swiper.mousewheel.enabled = true;
- return true;
- }
-
- function disable() {
- if (swiper.params.cssMode) {
- swiper.wrapperEl.addEventListener(event, handle);
- return true;
- }
-
- if (!swiper.mousewheel.enabled) return false;
- events("off");
- swiper.mousewheel.enabled = false;
- return true;
- }
-
- on("init", () => {
- if (!swiper.params.mousewheel.enabled && swiper.params.cssMode) {
- disable();
- }
-
- if (swiper.params.mousewheel.enabled) enable();
- });
- on("destroy", () => {
- if (swiper.params.cssMode) {
- enable();
- }
-
- if (swiper.mousewheel.enabled) disable();
- });
- Object.assign(swiper.mousewheel, {
- enable,
- disable,
- });
- }
-
- function createElementIfNotDefined(
- swiper,
- originalParams,
- params,
- checkProps,
- ) {
- const document = getDocument();
-
- if (swiper.params.createElements) {
- Object.keys(checkProps).forEach((key) => {
- if (!params[key] && params.auto === true) {
- let element = swiper.$el.children(`.${checkProps[key]}`)[0];
-
- if (!element) {
- element = document.createElement("div");
- element.className = checkProps[key];
- swiper.$el.append(element);
- }
-
- params[key] = element;
- originalParams[key] = element;
- }
- });
- }
-
- return params;
- }
-
- function Navigation(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- extendParams({
- navigation: {
- nextEl: null,
- prevEl: null,
- hideOnClick: false,
- disabledClass: "swiper-button-disabled",
- hiddenClass: "swiper-button-hidden",
- lockClass: "swiper-button-lock",
- },
- });
- swiper.navigation = {
- nextEl: null,
- $nextEl: null,
- prevEl: null,
- $prevEl: null,
- };
-
- function getEl(el) {
- let $el;
-
- if (el) {
- $el = $(el);
-
- if (
- swiper.params.uniqueNavElements &&
- typeof el === "string" &&
- $el.length > 1 &&
- swiper.$el.find(el).length === 1
- ) {
- $el = swiper.$el.find(el);
- }
- }
-
- return $el;
- }
-
- function toggleEl($el, disabled) {
- const params = swiper.params.navigation;
-
- if ($el && $el.length > 0) {
- $el[disabled ? "addClass" : "removeClass"](params.disabledClass);
- if ($el[0] && $el[0].tagName === "BUTTON") $el[0].disabled = disabled;
-
- if (swiper.params.watchOverflow && swiper.enabled) {
- $el[swiper.isLocked ? "addClass" : "removeClass"](params.lockClass);
- }
- }
- }
-
- function update() {
- // Update Navigation Buttons
- if (swiper.params.loop) return;
- const { $nextEl, $prevEl } = swiper.navigation;
- toggleEl($prevEl, swiper.isBeginning && !swiper.params.rewind);
- toggleEl($nextEl, swiper.isEnd && !swiper.params.rewind);
- }
-
- function onPrevClick(e) {
- e.preventDefault();
- if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind)
- return;
- swiper.slidePrev();
- }
-
- function onNextClick(e) {
- e.preventDefault();
- if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;
- swiper.slideNext();
- }
-
- function init() {
- const params = swiper.params.navigation;
- swiper.params.navigation = createElementIfNotDefined(
- swiper,
- swiper.originalParams.navigation,
- swiper.params.navigation,
- {
- nextEl: "swiper-button-next",
- prevEl: "swiper-button-prev",
- },
- );
- if (!(params.nextEl || params.prevEl)) return;
- const $nextEl = getEl(params.nextEl);
- const $prevEl = getEl(params.prevEl);
-
- if ($nextEl && $nextEl.length > 0) {
- $nextEl.on("click", onNextClick);
- }
-
- if ($prevEl && $prevEl.length > 0) {
- $prevEl.on("click", onPrevClick);
- }
-
- Object.assign(swiper.navigation, {
- $nextEl,
- nextEl: $nextEl && $nextEl[0],
- $prevEl,
- prevEl: $prevEl && $prevEl[0],
- });
-
- if (!swiper.enabled) {
- if ($nextEl) $nextEl.addClass(params.lockClass);
- if ($prevEl) $prevEl.addClass(params.lockClass);
- }
- }
-
- function destroy() {
- const { $nextEl, $prevEl } = swiper.navigation;
-
- if ($nextEl && $nextEl.length) {
- $nextEl.off("click", onNextClick);
- $nextEl.removeClass(swiper.params.navigation.disabledClass);
- }
-
- if ($prevEl && $prevEl.length) {
- $prevEl.off("click", onPrevClick);
- $prevEl.removeClass(swiper.params.navigation.disabledClass);
- }
- }
-
- on("init", () => {
- init();
- update();
- });
- on("toEdge fromEdge lock unlock", () => {
- update();
- });
- on("destroy", () => {
- destroy();
- });
- on("enable disable", () => {
- const { $nextEl, $prevEl } = swiper.navigation;
-
- if ($nextEl) {
- $nextEl[swiper.enabled ? "removeClass" : "addClass"](
- swiper.params.navigation.lockClass,
- );
- }
-
- if ($prevEl) {
- $prevEl[swiper.enabled ? "removeClass" : "addClass"](
- swiper.params.navigation.lockClass,
- );
- }
- });
- on("click", (_s, e) => {
- const { $nextEl, $prevEl } = swiper.navigation;
- const targetEl = e.target;
-
- if (
- swiper.params.navigation.hideOnClick &&
- !$(targetEl).is($prevEl) &&
- !$(targetEl).is($nextEl)
- ) {
- if (
- swiper.pagination &&
- swiper.params.pagination &&
- swiper.params.pagination.clickable &&
- (swiper.pagination.el === targetEl ||
- swiper.pagination.el.contains(targetEl))
- )
- return;
- let isHidden;
-
- if ($nextEl) {
- isHidden = $nextEl.hasClass(swiper.params.navigation.hiddenClass);
- } else if ($prevEl) {
- isHidden = $prevEl.hasClass(swiper.params.navigation.hiddenClass);
- }
-
- if (isHidden === true) {
- emit("navigationShow");
- } else {
- emit("navigationHide");
- }
-
- if ($nextEl) {
- $nextEl.toggleClass(swiper.params.navigation.hiddenClass);
- }
-
- if ($prevEl) {
- $prevEl.toggleClass(swiper.params.navigation.hiddenClass);
- }
- }
- });
- Object.assign(swiper.navigation, {
- update,
- init,
- destroy,
- });
- }
-
- function classesToSelector(classes) {
- if (classes === void 0) {
- classes = "";
- }
-
- return `.${classes
- .trim()
- .replace(/([\.:!\/])/g, "\\$1") // eslint-disable-line
- .replace(/ /g, ".")}`;
- }
-
- function Pagination(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- const pfx = "swiper-pagination";
- extendParams({
- pagination: {
- el: null,
- bulletElement: "span",
- clickable: false,
- hideOnClick: false,
- renderBullet: null,
- renderProgressbar: null,
- renderFraction: null,
- renderCustom: null,
- progressbarOpposite: false,
- type: "bullets",
- // 'bullets' or 'progressbar' or 'fraction' or 'custom'
- dynamicBullets: false,
- dynamicMainBullets: 1,
- formatFractionCurrent: (number) => number,
- formatFractionTotal: (number) => number,
- bulletClass: `${pfx}-bullet`,
- bulletActiveClass: `${pfx}-bullet-active`,
- modifierClass: `${pfx}-`,
- currentClass: `${pfx}-current`,
- totalClass: `${pfx}-total`,
- hiddenClass: `${pfx}-hidden`,
- progressbarFillClass: `${pfx}-progressbar-fill`,
- progressbarOppositeClass: `${pfx}-progressbar-opposite`,
- clickableClass: `${pfx}-clickable`,
- lockClass: `${pfx}-lock`,
- horizontalClass: `${pfx}-horizontal`,
- verticalClass: `${pfx}-vertical`,
- },
- });
- swiper.pagination = {
- el: null,
- $el: null,
- bullets: [],
- };
- let bulletSize;
- let dynamicBulletIndex = 0;
-
- function isPaginationDisabled() {
- return (
- !swiper.params.pagination.el ||
- !swiper.pagination.el ||
- !swiper.pagination.$el ||
- swiper.pagination.$el.length === 0
- );
- }
-
- function setSideBullets($bulletEl, position) {
- const { bulletActiveClass } = swiper.params.pagination;
- $bulletEl[position]()
- .addClass(`${bulletActiveClass}-${position}`)
- [position]()
- .addClass(`${bulletActiveClass}-${position}-${position}`);
- }
-
- function update() {
- // Render || Update Pagination bullets/items
- const rtl = swiper.rtl;
- const params = swiper.params.pagination;
- if (isPaginationDisabled()) return;
- const slidesLength =
- swiper.virtual && swiper.params.virtual.enabled
- ? swiper.virtual.slides.length
- : swiper.slides.length;
- const $el = swiper.pagination.$el; // Current/Total
-
- let current;
- const total = swiper.params.loop
- ? Math.ceil(
- (slidesLength - swiper.loopedSlides * 2) /
- swiper.params.slidesPerGroup,
- )
- : swiper.snapGrid.length;
-
- if (swiper.params.loop) {
- current = Math.ceil(
- (swiper.activeIndex - swiper.loopedSlides) /
- swiper.params.slidesPerGroup,
- );
-
- if (current > slidesLength - 1 - swiper.loopedSlides * 2) {
- current -= slidesLength - swiper.loopedSlides * 2;
- }
-
- if (current > total - 1) current -= total;
- if (current < 0 && swiper.params.paginationType !== "bullets")
- current = total + current;
- } else if (typeof swiper.snapIndex !== "undefined") {
- current = swiper.snapIndex;
- } else {
- current = swiper.activeIndex || 0;
- } // Types
-
- if (
- params.type === "bullets" &&
- swiper.pagination.bullets &&
- swiper.pagination.bullets.length > 0
- ) {
- const bullets = swiper.pagination.bullets;
- let firstIndex;
- let lastIndex;
- let midIndex;
-
- if (params.dynamicBullets) {
- bulletSize = bullets
- .eq(0)
- [swiper.isHorizontal() ? "outerWidth" : "outerHeight"](true);
- $el.css(
- swiper.isHorizontal() ? "width" : "height",
- `${bulletSize * (params.dynamicMainBullets + 4)}px`,
- );
-
- if (
- params.dynamicMainBullets > 1 &&
- swiper.previousIndex !== undefined
- ) {
- dynamicBulletIndex +=
- current - (swiper.previousIndex - swiper.loopedSlides || 0);
-
- if (dynamicBulletIndex > params.dynamicMainBullets - 1) {
- dynamicBulletIndex = params.dynamicMainBullets - 1;
- } else if (dynamicBulletIndex < 0) {
- dynamicBulletIndex = 0;
- }
- }
-
- firstIndex = Math.max(current - dynamicBulletIndex, 0);
- lastIndex =
- firstIndex +
- (Math.min(bullets.length, params.dynamicMainBullets) - 1);
- midIndex = (lastIndex + firstIndex) / 2;
- }
-
- bullets.removeClass(
- ["", "-next", "-next-next", "-prev", "-prev-prev", "-main"]
- .map((suffix) => `${params.bulletActiveClass}${suffix}`)
- .join(" "),
- );
-
- if ($el.length > 1) {
- bullets.each((bullet) => {
- const $bullet = $(bullet);
- const bulletIndex = $bullet.index();
-
- if (bulletIndex === current) {
- $bullet.addClass(params.bulletActiveClass);
- }
-
- if (params.dynamicBullets) {
- if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {
- $bullet.addClass(`${params.bulletActiveClass}-main`);
- }
-
- if (bulletIndex === firstIndex) {
- setSideBullets($bullet, "prev");
- }
-
- if (bulletIndex === lastIndex) {
- setSideBullets($bullet, "next");
- }
- }
- });
- } else {
- const $bullet = bullets.eq(current);
- const bulletIndex = $bullet.index();
- $bullet.addClass(params.bulletActiveClass);
-
- if (params.dynamicBullets) {
- const $firstDisplayedBullet = bullets.eq(firstIndex);
- const $lastDisplayedBullet = bullets.eq(lastIndex);
-
- for (let i = firstIndex; i <= lastIndex; i += 1) {
- bullets.eq(i).addClass(`${params.bulletActiveClass}-main`);
- }
-
- if (swiper.params.loop) {
- if (bulletIndex >= bullets.length) {
- for (let i = params.dynamicMainBullets; i >= 0; i -= 1) {
- bullets
- .eq(bullets.length - i)
- .addClass(`${params.bulletActiveClass}-main`);
- }
-
- bullets
- .eq(bullets.length - params.dynamicMainBullets - 1)
- .addClass(`${params.bulletActiveClass}-prev`);
- } else {
- setSideBullets($firstDisplayedBullet, "prev");
- setSideBullets($lastDisplayedBullet, "next");
- }
- } else {
- setSideBullets($firstDisplayedBullet, "prev");
- setSideBullets($lastDisplayedBullet, "next");
- }
- }
- }
-
- if (params.dynamicBullets) {
- const dynamicBulletsLength = Math.min(
- bullets.length,
- params.dynamicMainBullets + 4,
- );
- const bulletsOffset =
- (bulletSize * dynamicBulletsLength - bulletSize) / 2 -
- midIndex * bulletSize;
- const offsetProp = rtl ? "right" : "left";
- bullets.css(
- swiper.isHorizontal() ? offsetProp : "top",
- `${bulletsOffset}px`,
- );
- }
- }
-
- if (params.type === "fraction") {
- $el
- .find(classesToSelector(params.currentClass))
- .text(params.formatFractionCurrent(current + 1));
- $el
- .find(classesToSelector(params.totalClass))
- .text(params.formatFractionTotal(total));
- }
-
- if (params.type === "progressbar") {
- let progressbarDirection;
-
- if (params.progressbarOpposite) {
- progressbarDirection = swiper.isHorizontal()
- ? "vertical"
- : "horizontal";
- } else {
- progressbarDirection = swiper.isHorizontal()
- ? "horizontal"
- : "vertical";
- }
-
- const scale = (current + 1) / total;
- let scaleX = 1;
- let scaleY = 1;
-
- if (progressbarDirection === "horizontal") {
- scaleX = scale;
- } else {
- scaleY = scale;
- }
-
- $el
- .find(classesToSelector(params.progressbarFillClass))
- .transform(`translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`)
- .transition(swiper.params.speed);
- }
-
- if (params.type === "custom" && params.renderCustom) {
- $el.html(params.renderCustom(swiper, current + 1, total));
- emit("paginationRender", $el[0]);
- } else {
- emit("paginationUpdate", $el[0]);
- }
-
- if (swiper.params.watchOverflow && swiper.enabled) {
- $el[swiper.isLocked ? "addClass" : "removeClass"](params.lockClass);
- }
- }
-
- function render() {
- // Render Container
- const params = swiper.params.pagination;
- if (isPaginationDisabled()) return;
- const slidesLength =
- swiper.virtual && swiper.params.virtual.enabled
- ? swiper.virtual.slides.length
- : swiper.slides.length;
- const $el = swiper.pagination.$el;
- let paginationHTML = "";
-
- if (params.type === "bullets") {
- let numberOfBullets = swiper.params.loop
- ? Math.ceil(
- (slidesLength - swiper.loopedSlides * 2) /
- swiper.params.slidesPerGroup,
- )
- : swiper.snapGrid.length;
-
- if (
- swiper.params.freeMode &&
- swiper.params.freeMode.enabled &&
- !swiper.params.loop &&
- numberOfBullets > slidesLength
- ) {
- numberOfBullets = slidesLength;
- }
-
- for (let i = 0; i < numberOfBullets; i += 1) {
- if (params.renderBullet) {
- paginationHTML += params.renderBullet.call(
- swiper,
- i,
- params.bulletClass,
- );
- } else {
- paginationHTML += `<${params.bulletElement} class="${params.bulletClass}">${params.bulletElement}>`;
- }
- }
-
- $el.html(paginationHTML);
- swiper.pagination.bullets = $el.find(
- classesToSelector(params.bulletClass),
- );
- }
-
- if (params.type === "fraction") {
- if (params.renderFraction) {
- paginationHTML = params.renderFraction.call(
- swiper,
- params.currentClass,
- params.totalClass,
- );
- } else {
- paginationHTML =
- ` ` +
- " / " +
- ` `;
- }
-
- $el.html(paginationHTML);
- }
-
- if (params.type === "progressbar") {
- if (params.renderProgressbar) {
- paginationHTML = params.renderProgressbar.call(
- swiper,
- params.progressbarFillClass,
- );
- } else {
- paginationHTML = ` `;
- }
-
- $el.html(paginationHTML);
- }
-
- if (params.type !== "custom") {
- emit("paginationRender", swiper.pagination.$el[0]);
- }
- }
-
- function init() {
- swiper.params.pagination = createElementIfNotDefined(
- swiper,
- swiper.originalParams.pagination,
- swiper.params.pagination,
- {
- el: "swiper-pagination",
- },
- );
- const params = swiper.params.pagination;
- if (!params.el) return;
- let $el = $(params.el);
- if ($el.length === 0) return;
-
- if (
- swiper.params.uniqueNavElements &&
- typeof params.el === "string" &&
- $el.length > 1
- ) {
- $el = swiper.$el.find(params.el); // check if it belongs to another nested Swiper
-
- if ($el.length > 1) {
- $el = $el.filter((el) => {
- if ($(el).parents(".swiper")[0] !== swiper.el) return false;
- return true;
- });
- }
- }
-
- if (params.type === "bullets" && params.clickable) {
- $el.addClass(params.clickableClass);
- }
-
- $el.addClass(params.modifierClass + params.type);
- $el.addClass(
- swiper.isHorizontal() ? params.horizontalClass : params.verticalClass,
- );
-
- if (params.type === "bullets" && params.dynamicBullets) {
- $el.addClass(`${params.modifierClass}${params.type}-dynamic`);
- dynamicBulletIndex = 0;
-
- if (params.dynamicMainBullets < 1) {
- params.dynamicMainBullets = 1;
- }
- }
-
- if (params.type === "progressbar" && params.progressbarOpposite) {
- $el.addClass(params.progressbarOppositeClass);
- }
-
- if (params.clickable) {
- $el.on(
- "click",
- classesToSelector(params.bulletClass),
- function onClick(e) {
- e.preventDefault();
- let index = $(this).index() * swiper.params.slidesPerGroup;
- if (swiper.params.loop) index += swiper.loopedSlides;
- swiper.slideTo(index);
- },
- );
- }
-
- Object.assign(swiper.pagination, {
- $el,
- el: $el[0],
- });
-
- if (!swiper.enabled) {
- $el.addClass(params.lockClass);
- }
- }
-
- function destroy() {
- const params = swiper.params.pagination;
- if (isPaginationDisabled()) return;
- const $el = swiper.pagination.$el;
- $el.removeClass(params.hiddenClass);
- $el.removeClass(params.modifierClass + params.type);
- $el.removeClass(
- swiper.isHorizontal() ? params.horizontalClass : params.verticalClass,
- );
- if (swiper.pagination.bullets && swiper.pagination.bullets.removeClass)
- swiper.pagination.bullets.removeClass(params.bulletActiveClass);
-
- if (params.clickable) {
- $el.off("click", classesToSelector(params.bulletClass));
- }
- }
-
- on("init", () => {
- init();
- render();
- update();
- });
- on("activeIndexChange", () => {
- if (swiper.params.loop) {
- update();
- } else if (typeof swiper.snapIndex === "undefined") {
- update();
- }
- });
- on("snapIndexChange", () => {
- if (!swiper.params.loop) {
- update();
- }
- });
- on("slidesLengthChange", () => {
- if (swiper.params.loop) {
- render();
- update();
- }
- });
- on("snapGridLengthChange", () => {
- if (!swiper.params.loop) {
- render();
- update();
- }
- });
- on("destroy", () => {
- destroy();
- });
- on("enable disable", () => {
- const { $el } = swiper.pagination;
-
- if ($el) {
- $el[swiper.enabled ? "removeClass" : "addClass"](
- swiper.params.pagination.lockClass,
- );
- }
- });
- on("lock unlock", () => {
- update();
- });
- on("click", (_s, e) => {
- const targetEl = e.target;
- const { $el } = swiper.pagination;
-
- if (
- swiper.params.pagination.el &&
- swiper.params.pagination.hideOnClick &&
- $el.length > 0 &&
- !$(targetEl).hasClass(swiper.params.pagination.bulletClass)
- ) {
- if (
- swiper.navigation &&
- ((swiper.navigation.nextEl &&
- targetEl === swiper.navigation.nextEl) ||
- (swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl))
- )
- return;
- const isHidden = $el.hasClass(swiper.params.pagination.hiddenClass);
-
- if (isHidden === true) {
- emit("paginationShow");
- } else {
- emit("paginationHide");
- }
-
- $el.toggleClass(swiper.params.pagination.hiddenClass);
- }
- });
- Object.assign(swiper.pagination, {
- render,
- update,
- init,
- destroy,
- });
- }
-
- function Scrollbar(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- const document = getDocument();
- let isTouched = false;
- let timeout = null;
- let dragTimeout = null;
- let dragStartPos;
- let dragSize;
- let trackSize;
- let divider;
- extendParams({
- scrollbar: {
- el: null,
- dragSize: "auto",
- hide: false,
- draggable: false,
- snapOnRelease: true,
- lockClass: "swiper-scrollbar-lock",
- dragClass: "swiper-scrollbar-drag",
- },
- });
- swiper.scrollbar = {
- el: null,
- dragEl: null,
- $el: null,
- $dragEl: null,
- };
-
- function setTranslate() {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- const { scrollbar, rtlTranslate: rtl, progress } = swiper;
- const { $dragEl, $el } = scrollbar;
- const params = swiper.params.scrollbar;
- let newSize = dragSize;
- let newPos = (trackSize - dragSize) * progress;
-
- if (rtl) {
- newPos = -newPos;
-
- if (newPos > 0) {
- newSize = dragSize - newPos;
- newPos = 0;
- } else if (-newPos + dragSize > trackSize) {
- newSize = trackSize + newPos;
- }
- } else if (newPos < 0) {
- newSize = dragSize + newPos;
- newPos = 0;
- } else if (newPos + dragSize > trackSize) {
- newSize = trackSize - newPos;
- }
-
- if (swiper.isHorizontal()) {
- $dragEl.transform(`translate3d(${newPos}px, 0, 0)`);
- $dragEl[0].style.width = `${newSize}px`;
- } else {
- $dragEl.transform(`translate3d(0px, ${newPos}px, 0)`);
- $dragEl[0].style.height = `${newSize}px`;
- }
-
- if (params.hide) {
- clearTimeout(timeout);
- $el[0].style.opacity = 1;
- timeout = setTimeout(() => {
- $el[0].style.opacity = 0;
- $el.transition(400);
- }, 1000);
- }
- }
-
- function setTransition(duration) {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- swiper.scrollbar.$dragEl.transition(duration);
- }
-
- function updateSize() {
- if (!swiper.params.scrollbar.el || !swiper.scrollbar.el) return;
- const { scrollbar } = swiper;
- const { $dragEl, $el } = scrollbar;
- $dragEl[0].style.width = "";
- $dragEl[0].style.height = "";
- trackSize = swiper.isHorizontal()
- ? $el[0].offsetWidth
- : $el[0].offsetHeight;
- divider =
- swiper.size /
- (swiper.virtualSize +
- swiper.params.slidesOffsetBefore -
- (swiper.params.centeredSlides ? swiper.snapGrid[0] : 0));
-
- if (swiper.params.scrollbar.dragSize === "auto") {
- dragSize = trackSize * divider;
- } else {
- dragSize = parseInt(swiper.params.scrollbar.dragSize, 10);
- }
-
- if (swiper.isHorizontal()) {
- $dragEl[0].style.width = `${dragSize}px`;
- } else {
- $dragEl[0].style.height = `${dragSize}px`;
- }
-
- if (divider >= 1) {
- $el[0].style.display = "none";
- } else {
- $el[0].style.display = "";
- }
-
- if (swiper.params.scrollbar.hide) {
- $el[0].style.opacity = 0;
- }
-
- if (swiper.params.watchOverflow && swiper.enabled) {
- scrollbar.$el[swiper.isLocked ? "addClass" : "removeClass"](
- swiper.params.scrollbar.lockClass,
- );
- }
- }
-
- function getPointerPosition(e) {
- if (swiper.isHorizontal()) {
- return e.type === "touchstart" || e.type === "touchmove"
- ? e.targetTouches[0].clientX
- : e.clientX;
- }
-
- return e.type === "touchstart" || e.type === "touchmove"
- ? e.targetTouches[0].clientY
- : e.clientY;
- }
-
- function setDragPosition(e) {
- const { scrollbar, rtlTranslate: rtl } = swiper;
- const { $el } = scrollbar;
- let positionRatio;
- positionRatio =
- (getPointerPosition(e) -
- $el.offset()[swiper.isHorizontal() ? "left" : "top"] -
- (dragStartPos !== null ? dragStartPos : dragSize / 2)) /
- (trackSize - dragSize);
- positionRatio = Math.max(Math.min(positionRatio, 1), 0);
-
- if (rtl) {
- positionRatio = 1 - positionRatio;
- }
-
- const position =
- swiper.minTranslate() +
- (swiper.maxTranslate() - swiper.minTranslate()) * positionRatio;
- swiper.updateProgress(position);
- swiper.setTranslate(position);
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- }
-
- function onDragStart(e) {
- const params = swiper.params.scrollbar;
- const { scrollbar, $wrapperEl } = swiper;
- const { $el, $dragEl } = scrollbar;
- isTouched = true;
- dragStartPos =
- e.target === $dragEl[0] || e.target === $dragEl
- ? getPointerPosition(e) -
- e.target.getBoundingClientRect()[
- swiper.isHorizontal() ? "left" : "top"
- ]
- : null;
- e.preventDefault();
- e.stopPropagation();
- $wrapperEl.transition(100);
- $dragEl.transition(100);
- setDragPosition(e);
- clearTimeout(dragTimeout);
- $el.transition(0);
-
- if (params.hide) {
- $el.css("opacity", 1);
- }
-
- if (swiper.params.cssMode) {
- swiper.$wrapperEl.css("scroll-snap-type", "none");
- }
-
- emit("scrollbarDragStart", e);
- }
-
- function onDragMove(e) {
- const { scrollbar, $wrapperEl } = swiper;
- const { $el, $dragEl } = scrollbar;
- if (!isTouched) return;
- if (e.preventDefault) e.preventDefault();
- else e.returnValue = false;
- setDragPosition(e);
- $wrapperEl.transition(0);
- $el.transition(0);
- $dragEl.transition(0);
- emit("scrollbarDragMove", e);
- }
-
- function onDragEnd(e) {
- const params = swiper.params.scrollbar;
- const { scrollbar, $wrapperEl } = swiper;
- const { $el } = scrollbar;
- if (!isTouched) return;
- isTouched = false;
-
- if (swiper.params.cssMode) {
- swiper.$wrapperEl.css("scroll-snap-type", "");
- $wrapperEl.transition("");
- }
-
- if (params.hide) {
- clearTimeout(dragTimeout);
- dragTimeout = nextTick(() => {
- $el.css("opacity", 0);
- $el.transition(400);
- }, 1000);
- }
-
- emit("scrollbarDragEnd", e);
-
- if (params.snapOnRelease) {
- swiper.slideToClosest();
- }
- }
-
- function events(method) {
- const {
- scrollbar,
- touchEventsTouch,
- touchEventsDesktop,
- params,
- support,
- } = swiper;
- const $el = scrollbar.$el;
- const target = $el[0];
- const activeListener =
- support.passiveListener && params.passiveListeners
- ? {
- passive: false,
- capture: false,
- }
- : false;
- const passiveListener =
- support.passiveListener && params.passiveListeners
- ? {
- passive: true,
- capture: false,
- }
- : false;
- if (!target) return;
- const eventMethod =
- method === "on" ? "addEventListener" : "removeEventListener";
-
- if (!support.touch) {
- target[eventMethod](
- touchEventsDesktop.start,
- onDragStart,
- activeListener,
- );
- document[eventMethod](
- touchEventsDesktop.move,
- onDragMove,
- activeListener,
- );
- document[eventMethod](
- touchEventsDesktop.end,
- onDragEnd,
- passiveListener,
- );
- } else {
- target[eventMethod](
- touchEventsTouch.start,
- onDragStart,
- activeListener,
- );
- target[eventMethod](touchEventsTouch.move, onDragMove, activeListener);
- target[eventMethod](touchEventsTouch.end, onDragEnd, passiveListener);
- }
- }
-
- function enableDraggable() {
- if (!swiper.params.scrollbar.el) return;
- events("on");
- }
-
- function disableDraggable() {
- if (!swiper.params.scrollbar.el) return;
- events("off");
- }
-
- function init() {
- const { scrollbar, $el: $swiperEl } = swiper;
- swiper.params.scrollbar = createElementIfNotDefined(
- swiper,
- swiper.originalParams.scrollbar,
- swiper.params.scrollbar,
- {
- el: "swiper-scrollbar",
- },
- );
- const params = swiper.params.scrollbar;
- if (!params.el) return;
- let $el = $(params.el);
-
- if (
- swiper.params.uniqueNavElements &&
- typeof params.el === "string" &&
- $el.length > 1 &&
- $swiperEl.find(params.el).length === 1
- ) {
- $el = $swiperEl.find(params.el);
- }
-
- let $dragEl = $el.find(`.${swiper.params.scrollbar.dragClass}`);
-
- if ($dragEl.length === 0) {
- $dragEl = $(`
`);
- $el.append($dragEl);
- }
-
- Object.assign(scrollbar, {
- $el,
- el: $el[0],
- $dragEl,
- dragEl: $dragEl[0],
- });
-
- if (params.draggable) {
- enableDraggable();
- }
-
- if ($el) {
- $el[swiper.enabled ? "removeClass" : "addClass"](
- swiper.params.scrollbar.lockClass,
- );
- }
- }
-
- function destroy() {
- disableDraggable();
- }
-
- on("init", () => {
- init();
- updateSize();
- setTranslate();
- });
- on("update resize observerUpdate lock unlock", () => {
- updateSize();
- });
- on("setTranslate", () => {
- setTranslate();
- });
- on("setTransition", (_s, duration) => {
- setTransition(duration);
- });
- on("enable disable", () => {
- const { $el } = swiper.scrollbar;
-
- if ($el) {
- $el[swiper.enabled ? "removeClass" : "addClass"](
- swiper.params.scrollbar.lockClass,
- );
- }
- });
- on("destroy", () => {
- destroy();
- });
- Object.assign(swiper.scrollbar, {
- updateSize,
- setTranslate,
- init,
- destroy,
- });
- }
-
- function Parallax(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- parallax: {
- enabled: false,
- },
- });
-
- const setTransform = (el, progress) => {
- const { rtl } = swiper;
- const $el = $(el);
- const rtlFactor = rtl ? -1 : 1;
- const p = $el.attr("data-swiper-parallax") || "0";
- let x = $el.attr("data-swiper-parallax-x");
- let y = $el.attr("data-swiper-parallax-y");
- const scale = $el.attr("data-swiper-parallax-scale");
- const opacity = $el.attr("data-swiper-parallax-opacity");
-
- if (x || y) {
- x = x || "0";
- y = y || "0";
- } else if (swiper.isHorizontal()) {
- x = p;
- y = "0";
- } else {
- y = p;
- x = "0";
- }
-
- if (x.indexOf("%") >= 0) {
- x = `${parseInt(x, 10) * progress * rtlFactor}%`;
- } else {
- x = `${x * progress * rtlFactor}px`;
- }
-
- if (y.indexOf("%") >= 0) {
- y = `${parseInt(y, 10) * progress}%`;
- } else {
- y = `${y * progress}px`;
- }
-
- if (typeof opacity !== "undefined" && opacity !== null) {
- const currentOpacity =
- opacity - (opacity - 1) * (1 - Math.abs(progress));
- $el[0].style.opacity = currentOpacity;
- }
-
- if (typeof scale === "undefined" || scale === null) {
- $el.transform(`translate3d(${x}, ${y}, 0px)`);
- } else {
- const currentScale = scale - (scale - 1) * (1 - Math.abs(progress));
- $el.transform(`translate3d(${x}, ${y}, 0px) scale(${currentScale})`);
- }
- };
-
- const setTranslate = () => {
- const { $el, slides, progress, snapGrid } = swiper;
- $el
- .children(
- "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",
- )
- .each((el) => {
- setTransform(el, progress);
- });
- slides.each((slideEl, slideIndex) => {
- let slideProgress = slideEl.progress;
-
- if (
- swiper.params.slidesPerGroup > 1 &&
- swiper.params.slidesPerView !== "auto"
- ) {
- slideProgress +=
- Math.ceil(slideIndex / 2) - progress * (snapGrid.length - 1);
- }
-
- slideProgress = Math.min(Math.max(slideProgress, -1), 1);
- $(slideEl)
- .find(
- "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",
- )
- .each((el) => {
- setTransform(el, slideProgress);
- });
- });
- };
-
- const setTransition = function (duration) {
- if (duration === void 0) {
- duration = swiper.params.speed;
- }
-
- const { $el } = swiper;
- $el
- .find(
- "[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]",
- )
- .each((parallaxEl) => {
- const $parallaxEl = $(parallaxEl);
- let parallaxDuration =
- parseInt($parallaxEl.attr("data-swiper-parallax-duration"), 10) ||
- duration;
- if (duration === 0) parallaxDuration = 0;
- $parallaxEl.transition(parallaxDuration);
- });
- };
-
- on("beforeInit", () => {
- if (!swiper.params.parallax.enabled) return;
- swiper.params.watchSlidesProgress = true;
- swiper.originalParams.watchSlidesProgress = true;
- });
- on("init", () => {
- if (!swiper.params.parallax.enabled) return;
- setTranslate();
- });
- on("setTranslate", () => {
- if (!swiper.params.parallax.enabled) return;
- setTranslate();
- });
- on("setTransition", (_swiper, duration) => {
- if (!swiper.params.parallax.enabled) return;
- setTransition(duration);
- });
- }
-
- function Zoom(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- const window = getWindow();
- extendParams({
- zoom: {
- enabled: false,
- maxRatio: 3,
- minRatio: 1,
- toggle: true,
- containerClass: "swiper-zoom-container",
- zoomedSlideClass: "swiper-slide-zoomed",
- },
- });
- swiper.zoom = {
- enabled: false,
- };
- let currentScale = 1;
- let isScaling = false;
- let gesturesEnabled;
- let fakeGestureTouched;
- let fakeGestureMoved;
- const gesture = {
- $slideEl: undefined,
- slideWidth: undefined,
- slideHeight: undefined,
- $imageEl: undefined,
- $imageWrapEl: undefined,
- maxRatio: 3,
- };
- const image = {
- isTouched: undefined,
- isMoved: undefined,
- currentX: undefined,
- currentY: undefined,
- minX: undefined,
- minY: undefined,
- maxX: undefined,
- maxY: undefined,
- width: undefined,
- height: undefined,
- startX: undefined,
- startY: undefined,
- touchesStart: {},
- touchesCurrent: {},
- };
- const velocity = {
- x: undefined,
- y: undefined,
- prevPositionX: undefined,
- prevPositionY: undefined,
- prevTime: undefined,
- };
- let scale = 1;
- Object.defineProperty(swiper.zoom, "scale", {
- get() {
- return scale;
- },
-
- set(value) {
- if (scale !== value) {
- const imageEl = gesture.$imageEl ? gesture.$imageEl[0] : undefined;
- const slideEl = gesture.$slideEl ? gesture.$slideEl[0] : undefined;
- emit("zoomChange", value, imageEl, slideEl);
- }
-
- scale = value;
- },
- });
-
- function getDistanceBetweenTouches(e) {
- if (e.targetTouches.length < 2) return 1;
- const x1 = e.targetTouches[0].pageX;
- const y1 = e.targetTouches[0].pageY;
- const x2 = e.targetTouches[1].pageX;
- const y2 = e.targetTouches[1].pageY;
- const distance = Math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2);
- return distance;
- } // Events
-
- function onGestureStart(e) {
- const support = swiper.support;
- const params = swiper.params.zoom;
- fakeGestureTouched = false;
- fakeGestureMoved = false;
-
- if (!support.gestures) {
- if (
- e.type !== "touchstart" ||
- (e.type === "touchstart" && e.targetTouches.length < 2)
- ) {
- return;
- }
-
- fakeGestureTouched = true;
- gesture.scaleStart = getDistanceBetweenTouches(e);
- }
-
- if (!gesture.$slideEl || !gesture.$slideEl.length) {
- gesture.$slideEl = $(e.target).closest(`.${swiper.params.slideClass}`);
- if (gesture.$slideEl.length === 0)
- gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
- gesture.$imageEl = gesture.$slideEl
- .find(`.${params.containerClass}`)
- .eq(0)
- .find("picture, img, svg, canvas, .swiper-zoom-target")
- .eq(0);
- gesture.$imageWrapEl = gesture.$imageEl.parent(
- `.${params.containerClass}`,
- );
- gesture.maxRatio =
- gesture.$imageWrapEl.attr("data-swiper-zoom") || params.maxRatio;
-
- if (gesture.$imageWrapEl.length === 0) {
- gesture.$imageEl = undefined;
- return;
- }
- }
-
- if (gesture.$imageEl) {
- gesture.$imageEl.transition(0);
- }
-
- isScaling = true;
- }
-
- function onGestureChange(e) {
- const support = swiper.support;
- const params = swiper.params.zoom;
- const zoom = swiper.zoom;
-
- if (!support.gestures) {
- if (
- e.type !== "touchmove" ||
- (e.type === "touchmove" && e.targetTouches.length < 2)
- ) {
- return;
- }
-
- fakeGestureMoved = true;
- gesture.scaleMove = getDistanceBetweenTouches(e);
- }
-
- if (!gesture.$imageEl || gesture.$imageEl.length === 0) {
- if (e.type === "gesturechange") onGestureStart(e);
- return;
- }
-
- if (support.gestures) {
- zoom.scale = e.scale * currentScale;
- } else {
- zoom.scale = (gesture.scaleMove / gesture.scaleStart) * currentScale;
- }
-
- if (zoom.scale > gesture.maxRatio) {
- zoom.scale =
- gesture.maxRatio - 1 + (zoom.scale - gesture.maxRatio + 1) ** 0.5;
- }
-
- if (zoom.scale < params.minRatio) {
- zoom.scale =
- params.minRatio + 1 - (params.minRatio - zoom.scale + 1) ** 0.5;
- }
-
- gesture.$imageEl.transform(`translate3d(0,0,0) scale(${zoom.scale})`);
- }
-
- function onGestureEnd(e) {
- const device = swiper.device;
- const support = swiper.support;
- const params = swiper.params.zoom;
- const zoom = swiper.zoom;
-
- if (!support.gestures) {
- if (!fakeGestureTouched || !fakeGestureMoved) {
- return;
- }
-
- if (
- e.type !== "touchend" ||
- (e.type === "touchend" &&
- e.changedTouches.length < 2 &&
- !device.android)
- ) {
- return;
- }
-
- fakeGestureTouched = false;
- fakeGestureMoved = false;
- }
-
- if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
- zoom.scale = Math.max(
- Math.min(zoom.scale, gesture.maxRatio),
- params.minRatio,
- );
- gesture.$imageEl
- .transition(swiper.params.speed)
- .transform(`translate3d(0,0,0) scale(${zoom.scale})`);
- currentScale = zoom.scale;
- isScaling = false;
- if (zoom.scale === 1) gesture.$slideEl = undefined;
- }
-
- function onTouchStart(e) {
- const device = swiper.device;
- if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
- if (image.isTouched) return;
- if (device.android && e.cancelable) e.preventDefault();
- image.isTouched = true;
- image.touchesStart.x =
- e.type === "touchstart" ? e.targetTouches[0].pageX : e.pageX;
- image.touchesStart.y =
- e.type === "touchstart" ? e.targetTouches[0].pageY : e.pageY;
- }
-
- function onTouchMove(e) {
- const zoom = swiper.zoom;
- if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
- swiper.allowClick = false;
- if (!image.isTouched || !gesture.$slideEl) return;
-
- if (!image.isMoved) {
- image.width = gesture.$imageEl[0].offsetWidth;
- image.height = gesture.$imageEl[0].offsetHeight;
- image.startX = getTranslate(gesture.$imageWrapEl[0], "x") || 0;
- image.startY = getTranslate(gesture.$imageWrapEl[0], "y") || 0;
- gesture.slideWidth = gesture.$slideEl[0].offsetWidth;
- gesture.slideHeight = gesture.$slideEl[0].offsetHeight;
- gesture.$imageWrapEl.transition(0);
- } // Define if we need image drag
-
- const scaledWidth = image.width * zoom.scale;
- const scaledHeight = image.height * zoom.scale;
- if (
- scaledWidth < gesture.slideWidth &&
- scaledHeight < gesture.slideHeight
- )
- return;
- image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
- image.maxX = -image.minX;
- image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
- image.maxY = -image.minY;
- image.touchesCurrent.x =
- e.type === "touchmove" ? e.targetTouches[0].pageX : e.pageX;
- image.touchesCurrent.y =
- e.type === "touchmove" ? e.targetTouches[0].pageY : e.pageY;
-
- if (!image.isMoved && !isScaling) {
- if (
- swiper.isHorizontal() &&
- ((Math.floor(image.minX) === Math.floor(image.startX) &&
- image.touchesCurrent.x < image.touchesStart.x) ||
- (Math.floor(image.maxX) === Math.floor(image.startX) &&
- image.touchesCurrent.x > image.touchesStart.x))
- ) {
- image.isTouched = false;
- return;
- }
-
- if (
- !swiper.isHorizontal() &&
- ((Math.floor(image.minY) === Math.floor(image.startY) &&
- image.touchesCurrent.y < image.touchesStart.y) ||
- (Math.floor(image.maxY) === Math.floor(image.startY) &&
- image.touchesCurrent.y > image.touchesStart.y))
- ) {
- image.isTouched = false;
- return;
- }
- }
-
- if (e.cancelable) {
- e.preventDefault();
- }
-
- e.stopPropagation();
- image.isMoved = true;
- image.currentX =
- image.touchesCurrent.x - image.touchesStart.x + image.startX;
- image.currentY =
- image.touchesCurrent.y - image.touchesStart.y + image.startY;
-
- if (image.currentX < image.minX) {
- image.currentX =
- image.minX + 1 - (image.minX - image.currentX + 1) ** 0.8;
- }
-
- if (image.currentX > image.maxX) {
- image.currentX =
- image.maxX - 1 + (image.currentX - image.maxX + 1) ** 0.8;
- }
-
- if (image.currentY < image.minY) {
- image.currentY =
- image.minY + 1 - (image.minY - image.currentY + 1) ** 0.8;
- }
-
- if (image.currentY > image.maxY) {
- image.currentY =
- image.maxY - 1 + (image.currentY - image.maxY + 1) ** 0.8;
- } // Velocity
-
- if (!velocity.prevPositionX)
- velocity.prevPositionX = image.touchesCurrent.x;
- if (!velocity.prevPositionY)
- velocity.prevPositionY = image.touchesCurrent.y;
- if (!velocity.prevTime) velocity.prevTime = Date.now();
- velocity.x =
- (image.touchesCurrent.x - velocity.prevPositionX) /
- (Date.now() - velocity.prevTime) /
- 2;
- velocity.y =
- (image.touchesCurrent.y - velocity.prevPositionY) /
- (Date.now() - velocity.prevTime) /
- 2;
- if (Math.abs(image.touchesCurrent.x - velocity.prevPositionX) < 2)
- velocity.x = 0;
- if (Math.abs(image.touchesCurrent.y - velocity.prevPositionY) < 2)
- velocity.y = 0;
- velocity.prevPositionX = image.touchesCurrent.x;
- velocity.prevPositionY = image.touchesCurrent.y;
- velocity.prevTime = Date.now();
- gesture.$imageWrapEl.transform(
- `translate3d(${image.currentX}px, ${image.currentY}px,0)`,
- );
- }
-
- function onTouchEnd() {
- const zoom = swiper.zoom;
- if (!gesture.$imageEl || gesture.$imageEl.length === 0) return;
-
- if (!image.isTouched || !image.isMoved) {
- image.isTouched = false;
- image.isMoved = false;
- return;
- }
-
- image.isTouched = false;
- image.isMoved = false;
- let momentumDurationX = 300;
- let momentumDurationY = 300;
- const momentumDistanceX = velocity.x * momentumDurationX;
- const newPositionX = image.currentX + momentumDistanceX;
- const momentumDistanceY = velocity.y * momentumDurationY;
- const newPositionY = image.currentY + momentumDistanceY; // Fix duration
-
- if (velocity.x !== 0)
- momentumDurationX = Math.abs(
- (newPositionX - image.currentX) / velocity.x,
- );
- if (velocity.y !== 0)
- momentumDurationY = Math.abs(
- (newPositionY - image.currentY) / velocity.y,
- );
- const momentumDuration = Math.max(momentumDurationX, momentumDurationY);
- image.currentX = newPositionX;
- image.currentY = newPositionY; // Define if we need image drag
-
- const scaledWidth = image.width * zoom.scale;
- const scaledHeight = image.height * zoom.scale;
- image.minX = Math.min(gesture.slideWidth / 2 - scaledWidth / 2, 0);
- image.maxX = -image.minX;
- image.minY = Math.min(gesture.slideHeight / 2 - scaledHeight / 2, 0);
- image.maxY = -image.minY;
- image.currentX = Math.max(
- Math.min(image.currentX, image.maxX),
- image.minX,
- );
- image.currentY = Math.max(
- Math.min(image.currentY, image.maxY),
- image.minY,
- );
- gesture.$imageWrapEl
- .transition(momentumDuration)
- .transform(`translate3d(${image.currentX}px, ${image.currentY}px,0)`);
- }
-
- function onTransitionEnd() {
- const zoom = swiper.zoom;
-
- if (gesture.$slideEl && swiper.previousIndex !== swiper.activeIndex) {
- if (gesture.$imageEl) {
- gesture.$imageEl.transform("translate3d(0,0,0) scale(1)");
- }
-
- if (gesture.$imageWrapEl) {
- gesture.$imageWrapEl.transform("translate3d(0,0,0)");
- }
-
- zoom.scale = 1;
- currentScale = 1;
- gesture.$slideEl = undefined;
- gesture.$imageEl = undefined;
- gesture.$imageWrapEl = undefined;
- }
- }
-
- function zoomIn(e) {
- const zoom = swiper.zoom;
- const params = swiper.params.zoom;
-
- if (!gesture.$slideEl) {
- if (e && e.target) {
- gesture.$slideEl = $(e.target).closest(
- `.${swiper.params.slideClass}`,
- );
- }
-
- if (!gesture.$slideEl) {
- if (
- swiper.params.virtual &&
- swiper.params.virtual.enabled &&
- swiper.virtual
- ) {
- gesture.$slideEl = swiper.$wrapperEl.children(
- `.${swiper.params.slideActiveClass}`,
- );
- } else {
- gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
- }
- }
-
- gesture.$imageEl = gesture.$slideEl
- .find(`.${params.containerClass}`)
- .eq(0)
- .find("picture, img, svg, canvas, .swiper-zoom-target")
- .eq(0);
- gesture.$imageWrapEl = gesture.$imageEl.parent(
- `.${params.containerClass}`,
- );
- }
-
- if (
- !gesture.$imageEl ||
- gesture.$imageEl.length === 0 ||
- !gesture.$imageWrapEl ||
- gesture.$imageWrapEl.length === 0
- )
- return;
-
- if (swiper.params.cssMode) {
- swiper.wrapperEl.style.overflow = "hidden";
- swiper.wrapperEl.style.touchAction = "none";
- }
-
- gesture.$slideEl.addClass(`${params.zoomedSlideClass}`);
- let touchX;
- let touchY;
- let offsetX;
- let offsetY;
- let diffX;
- let diffY;
- let translateX;
- let translateY;
- let imageWidth;
- let imageHeight;
- let scaledWidth;
- let scaledHeight;
- let translateMinX;
- let translateMinY;
- let translateMaxX;
- let translateMaxY;
- let slideWidth;
- let slideHeight;
-
- if (typeof image.touchesStart.x === "undefined" && e) {
- touchX = e.type === "touchend" ? e.changedTouches[0].pageX : e.pageX;
- touchY = e.type === "touchend" ? e.changedTouches[0].pageY : e.pageY;
- } else {
- touchX = image.touchesStart.x;
- touchY = image.touchesStart.y;
- }
-
- zoom.scale =
- gesture.$imageWrapEl.attr("data-swiper-zoom") || params.maxRatio;
- currentScale =
- gesture.$imageWrapEl.attr("data-swiper-zoom") || params.maxRatio;
-
- if (e) {
- slideWidth = gesture.$slideEl[0].offsetWidth;
- slideHeight = gesture.$slideEl[0].offsetHeight;
- offsetX = gesture.$slideEl.offset().left + window.scrollX;
- offsetY = gesture.$slideEl.offset().top + window.scrollY;
- diffX = offsetX + slideWidth / 2 - touchX;
- diffY = offsetY + slideHeight / 2 - touchY;
- imageWidth = gesture.$imageEl[0].offsetWidth;
- imageHeight = gesture.$imageEl[0].offsetHeight;
- scaledWidth = imageWidth * zoom.scale;
- scaledHeight = imageHeight * zoom.scale;
- translateMinX = Math.min(slideWidth / 2 - scaledWidth / 2, 0);
- translateMinY = Math.min(slideHeight / 2 - scaledHeight / 2, 0);
- translateMaxX = -translateMinX;
- translateMaxY = -translateMinY;
- translateX = diffX * zoom.scale;
- translateY = diffY * zoom.scale;
-
- if (translateX < translateMinX) {
- translateX = translateMinX;
- }
-
- if (translateX > translateMaxX) {
- translateX = translateMaxX;
- }
-
- if (translateY < translateMinY) {
- translateY = translateMinY;
- }
-
- if (translateY > translateMaxY) {
- translateY = translateMaxY;
- }
- } else {
- translateX = 0;
- translateY = 0;
- }
-
- gesture.$imageWrapEl
- .transition(300)
- .transform(`translate3d(${translateX}px, ${translateY}px,0)`);
- gesture.$imageEl
- .transition(300)
- .transform(`translate3d(0,0,0) scale(${zoom.scale})`);
- }
-
- function zoomOut() {
- const zoom = swiper.zoom;
- const params = swiper.params.zoom;
-
- if (!gesture.$slideEl) {
- if (
- swiper.params.virtual &&
- swiper.params.virtual.enabled &&
- swiper.virtual
- ) {
- gesture.$slideEl = swiper.$wrapperEl.children(
- `.${swiper.params.slideActiveClass}`,
- );
- } else {
- gesture.$slideEl = swiper.slides.eq(swiper.activeIndex);
- }
-
- gesture.$imageEl = gesture.$slideEl
- .find(`.${params.containerClass}`)
- .eq(0)
- .find("picture, img, svg, canvas, .swiper-zoom-target")
- .eq(0);
- gesture.$imageWrapEl = gesture.$imageEl.parent(
- `.${params.containerClass}`,
- );
- }
-
- if (
- !gesture.$imageEl ||
- gesture.$imageEl.length === 0 ||
- !gesture.$imageWrapEl ||
- gesture.$imageWrapEl.length === 0
- )
- return;
-
- if (swiper.params.cssMode) {
- swiper.wrapperEl.style.overflow = "";
- swiper.wrapperEl.style.touchAction = "";
- }
-
- zoom.scale = 1;
- currentScale = 1;
- gesture.$imageWrapEl.transition(300).transform("translate3d(0,0,0)");
- gesture.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)");
- gesture.$slideEl.removeClass(`${params.zoomedSlideClass}`);
- gesture.$slideEl = undefined;
- } // Toggle Zoom
-
- function zoomToggle(e) {
- const zoom = swiper.zoom;
-
- if (zoom.scale && zoom.scale !== 1) {
- // Zoom Out
- zoomOut();
- } else {
- // Zoom In
- zoomIn(e);
- }
- }
-
- function getListeners() {
- const support = swiper.support;
- const passiveListener =
- swiper.touchEvents.start === "touchstart" &&
- support.passiveListener &&
- swiper.params.passiveListeners
- ? {
- passive: true,
- capture: false,
- }
- : false;
- const activeListenerWithCapture = support.passiveListener
- ? {
- passive: false,
- capture: true,
- }
- : true;
- return {
- passiveListener,
- activeListenerWithCapture,
- };
- }
-
- function getSlideSelector() {
- return `.${swiper.params.slideClass}`;
- }
-
- function toggleGestures(method) {
- const { passiveListener } = getListeners();
- const slideSelector = getSlideSelector();
- swiper.$wrapperEl[method](
- "gesturestart",
- slideSelector,
- onGestureStart,
- passiveListener,
- );
- swiper.$wrapperEl[method](
- "gesturechange",
- slideSelector,
- onGestureChange,
- passiveListener,
- );
- swiper.$wrapperEl[method](
- "gestureend",
- slideSelector,
- onGestureEnd,
- passiveListener,
- );
- }
-
- function enableGestures() {
- if (gesturesEnabled) return;
- gesturesEnabled = true;
- toggleGestures("on");
- }
-
- function disableGestures() {
- if (!gesturesEnabled) return;
- gesturesEnabled = false;
- toggleGestures("off");
- } // Attach/Detach Events
-
- function enable() {
- const zoom = swiper.zoom;
- if (zoom.enabled) return;
- zoom.enabled = true;
- const support = swiper.support;
- const { passiveListener, activeListenerWithCapture } = getListeners();
- const slideSelector = getSlideSelector(); // Scale image
-
- if (support.gestures) {
- swiper.$wrapperEl.on(
- swiper.touchEvents.start,
- enableGestures,
- passiveListener,
- );
- swiper.$wrapperEl.on(
- swiper.touchEvents.end,
- disableGestures,
- passiveListener,
- );
- } else if (swiper.touchEvents.start === "touchstart") {
- swiper.$wrapperEl.on(
- swiper.touchEvents.start,
- slideSelector,
- onGestureStart,
- passiveListener,
- );
- swiper.$wrapperEl.on(
- swiper.touchEvents.move,
- slideSelector,
- onGestureChange,
- activeListenerWithCapture,
- );
- swiper.$wrapperEl.on(
- swiper.touchEvents.end,
- slideSelector,
- onGestureEnd,
- passiveListener,
- );
-
- if (swiper.touchEvents.cancel) {
- swiper.$wrapperEl.on(
- swiper.touchEvents.cancel,
- slideSelector,
- onGestureEnd,
- passiveListener,
- );
- }
- } // Move image
-
- swiper.$wrapperEl.on(
- swiper.touchEvents.move,
- `.${swiper.params.zoom.containerClass}`,
- onTouchMove,
- activeListenerWithCapture,
- );
- }
-
- function disable() {
- const zoom = swiper.zoom;
- if (!zoom.enabled) return;
- const support = swiper.support;
- zoom.enabled = false;
- const { passiveListener, activeListenerWithCapture } = getListeners();
- const slideSelector = getSlideSelector(); // Scale image
-
- if (support.gestures) {
- swiper.$wrapperEl.off(
- swiper.touchEvents.start,
- enableGestures,
- passiveListener,
- );
- swiper.$wrapperEl.off(
- swiper.touchEvents.end,
- disableGestures,
- passiveListener,
- );
- } else if (swiper.touchEvents.start === "touchstart") {
- swiper.$wrapperEl.off(
- swiper.touchEvents.start,
- slideSelector,
- onGestureStart,
- passiveListener,
- );
- swiper.$wrapperEl.off(
- swiper.touchEvents.move,
- slideSelector,
- onGestureChange,
- activeListenerWithCapture,
- );
- swiper.$wrapperEl.off(
- swiper.touchEvents.end,
- slideSelector,
- onGestureEnd,
- passiveListener,
- );
-
- if (swiper.touchEvents.cancel) {
- swiper.$wrapperEl.off(
- swiper.touchEvents.cancel,
- slideSelector,
- onGestureEnd,
- passiveListener,
- );
- }
- } // Move image
-
- swiper.$wrapperEl.off(
- swiper.touchEvents.move,
- `.${swiper.params.zoom.containerClass}`,
- onTouchMove,
- activeListenerWithCapture,
- );
- }
-
- on("init", () => {
- if (swiper.params.zoom.enabled) {
- enable();
- }
- });
- on("destroy", () => {
- disable();
- });
- on("touchStart", (_s, e) => {
- if (!swiper.zoom.enabled) return;
- onTouchStart(e);
- });
- on("touchEnd", (_s, e) => {
- if (!swiper.zoom.enabled) return;
- onTouchEnd();
- });
- on("doubleTap", (_s, e) => {
- if (
- !swiper.animating &&
- swiper.params.zoom.enabled &&
- swiper.zoom.enabled &&
- swiper.params.zoom.toggle
- ) {
- zoomToggle(e);
- }
- });
- on("transitionEnd", () => {
- if (swiper.zoom.enabled && swiper.params.zoom.enabled) {
- onTransitionEnd();
- }
- });
- on("slideChange", () => {
- if (
- swiper.zoom.enabled &&
- swiper.params.zoom.enabled &&
- swiper.params.cssMode
- ) {
- onTransitionEnd();
- }
- });
- Object.assign(swiper.zoom, {
- enable,
- disable,
- in: zoomIn,
- out: zoomOut,
- toggle: zoomToggle,
- });
- }
-
- function Lazy(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- extendParams({
- lazy: {
- checkInView: false,
- enabled: false,
- loadPrevNext: false,
- loadPrevNextAmount: 1,
- loadOnTransitionStart: false,
- scrollingElement: "",
- elementClass: "swiper-lazy",
- loadingClass: "swiper-lazy-loading",
- loadedClass: "swiper-lazy-loaded",
- preloaderClass: "swiper-lazy-preloader",
- },
- });
- swiper.lazy = {};
- let scrollHandlerAttached = false;
- let initialImageLoaded = false;
-
- function loadInSlide(index, loadInDuplicate) {
- if (loadInDuplicate === void 0) {
- loadInDuplicate = true;
- }
-
- const params = swiper.params.lazy;
- if (typeof index === "undefined") return;
- if (swiper.slides.length === 0) return;
- const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
- const $slideEl = isVirtual
- ? swiper.$wrapperEl.children(
- `.${swiper.params.slideClass}[data-swiper-slide-index="${index}"]`,
- )
- : swiper.slides.eq(index);
- const $images = $slideEl.find(
- `.${params.elementClass}:not(.${params.loadedClass}):not(.${params.loadingClass})`,
- );
-
- if (
- $slideEl.hasClass(params.elementClass) &&
- !$slideEl.hasClass(params.loadedClass) &&
- !$slideEl.hasClass(params.loadingClass)
- ) {
- $images.push($slideEl[0]);
- }
-
- if ($images.length === 0) return;
- $images.each((imageEl) => {
- const $imageEl = $(imageEl);
- $imageEl.addClass(params.loadingClass);
- const background = $imageEl.attr("data-background");
- const src = $imageEl.attr("data-src");
- const srcset = $imageEl.attr("data-srcset");
- const sizes = $imageEl.attr("data-sizes");
- const $pictureEl = $imageEl.parent("picture");
- swiper.loadImage(
- $imageEl[0],
- src || background,
- srcset,
- sizes,
- false,
- () => {
- if (
- typeof swiper === "undefined" ||
- swiper === null ||
- !swiper ||
- (swiper && !swiper.params) ||
- swiper.destroyed
- )
- return;
-
- if (background) {
- $imageEl.css("background-image", `url("${background}")`);
- $imageEl.removeAttr("data-background");
- } else {
- if (srcset) {
- $imageEl.attr("srcset", srcset);
- $imageEl.removeAttr("data-srcset");
- }
-
- if (sizes) {
- $imageEl.attr("sizes", sizes);
- $imageEl.removeAttr("data-sizes");
- }
-
- if ($pictureEl.length) {
- $pictureEl.children("source").each((sourceEl) => {
- const $source = $(sourceEl);
-
- if ($source.attr("data-srcset")) {
- $source.attr("srcset", $source.attr("data-srcset"));
- $source.removeAttr("data-srcset");
- }
- });
- }
-
- if (src) {
- $imageEl.attr("src", src);
- $imageEl.removeAttr("data-src");
- }
- }
-
- $imageEl
- .addClass(params.loadedClass)
- .removeClass(params.loadingClass);
- $slideEl.find(`.${params.preloaderClass}`).remove();
-
- if (swiper.params.loop && loadInDuplicate) {
- const slideOriginalIndex = $slideEl.attr(
- "data-swiper-slide-index",
- );
-
- if ($slideEl.hasClass(swiper.params.slideDuplicateClass)) {
- const originalSlide = swiper.$wrapperEl.children(
- `[data-swiper-slide-index="${slideOriginalIndex}"]:not(.${swiper.params.slideDuplicateClass})`,
- );
- loadInSlide(originalSlide.index(), false);
- } else {
- const duplicatedSlide = swiper.$wrapperEl.children(
- `.${swiper.params.slideDuplicateClass}[data-swiper-slide-index="${slideOriginalIndex}"]`,
- );
- loadInSlide(duplicatedSlide.index(), false);
- }
- }
-
- emit("lazyImageReady", $slideEl[0], $imageEl[0]);
-
- if (swiper.params.autoHeight) {
- swiper.updateAutoHeight();
- }
- },
- );
- emit("lazyImageLoad", $slideEl[0], $imageEl[0]);
- });
- }
-
- function load() {
- const { $wrapperEl, params: swiperParams, slides, activeIndex } = swiper;
- const isVirtual = swiper.virtual && swiperParams.virtual.enabled;
- const params = swiperParams.lazy;
- let slidesPerView = swiperParams.slidesPerView;
-
- if (slidesPerView === "auto") {
- slidesPerView = 0;
- }
-
- function slideExist(index) {
- if (isVirtual) {
- if (
- $wrapperEl.children(
- `.${swiperParams.slideClass}[data-swiper-slide-index="${index}"]`,
- ).length
- ) {
- return true;
- }
- } else if (slides[index]) return true;
-
- return false;
- }
-
- function slideIndex(slideEl) {
- if (isVirtual) {
- return $(slideEl).attr("data-swiper-slide-index");
- }
-
- return $(slideEl).index();
- }
-
- if (!initialImageLoaded) initialImageLoaded = true;
-
- if (swiper.params.watchSlidesProgress) {
- $wrapperEl
- .children(`.${swiperParams.slideVisibleClass}`)
- .each((slideEl) => {
- const index = isVirtual
- ? $(slideEl).attr("data-swiper-slide-index")
- : $(slideEl).index();
- loadInSlide(index);
- });
- } else if (slidesPerView > 1) {
- for (let i = activeIndex; i < activeIndex + slidesPerView; i += 1) {
- if (slideExist(i)) loadInSlide(i);
- }
- } else {
- loadInSlide(activeIndex);
- }
-
- if (params.loadPrevNext) {
- if (
- slidesPerView > 1 ||
- (params.loadPrevNextAmount && params.loadPrevNextAmount > 1)
- ) {
- const amount = params.loadPrevNextAmount;
- const spv = slidesPerView;
- const maxIndex = Math.min(
- activeIndex + spv + Math.max(amount, spv),
- slides.length,
- );
- const minIndex = Math.max(activeIndex - Math.max(spv, amount), 0); // Next Slides
-
- for (let i = activeIndex + slidesPerView; i < maxIndex; i += 1) {
- if (slideExist(i)) loadInSlide(i);
- } // Prev Slides
-
- for (let i = minIndex; i < activeIndex; i += 1) {
- if (slideExist(i)) loadInSlide(i);
- }
- } else {
- const nextSlide = $wrapperEl.children(
- `.${swiperParams.slideNextClass}`,
- );
- if (nextSlide.length > 0) loadInSlide(slideIndex(nextSlide));
- const prevSlide = $wrapperEl.children(
- `.${swiperParams.slidePrevClass}`,
- );
- if (prevSlide.length > 0) loadInSlide(slideIndex(prevSlide));
- }
- }
- }
-
- function checkInViewOnLoad() {
- const window = getWindow();
- if (!swiper || swiper.destroyed) return;
- const $scrollElement = swiper.params.lazy.scrollingElement
- ? $(swiper.params.lazy.scrollingElement)
- : $(window);
- const isWindow = $scrollElement[0] === window;
- const scrollElementWidth = isWindow
- ? window.innerWidth
- : $scrollElement[0].offsetWidth;
- const scrollElementHeight = isWindow
- ? window.innerHeight
- : $scrollElement[0].offsetHeight;
- const swiperOffset = swiper.$el.offset();
- const { rtlTranslate: rtl } = swiper;
- let inView = false;
- if (rtl) swiperOffset.left -= swiper.$el[0].scrollLeft;
- const swiperCoord = [
- [swiperOffset.left, swiperOffset.top],
- [swiperOffset.left + swiper.width, swiperOffset.top],
- [swiperOffset.left, swiperOffset.top + swiper.height],
- [swiperOffset.left + swiper.width, swiperOffset.top + swiper.height],
- ];
-
- for (let i = 0; i < swiperCoord.length; i += 1) {
- const point = swiperCoord[i];
-
- if (
- point[0] >= 0 &&
- point[0] <= scrollElementWidth &&
- point[1] >= 0 &&
- point[1] <= scrollElementHeight
- ) {
- if (point[0] === 0 && point[1] === 0) continue; // eslint-disable-line
-
- inView = true;
- }
- }
-
- const passiveListener =
- swiper.touchEvents.start === "touchstart" &&
- swiper.support.passiveListener &&
- swiper.params.passiveListeners
- ? {
- passive: true,
- capture: false,
- }
- : false;
-
- if (inView) {
- load();
- $scrollElement.off("scroll", checkInViewOnLoad, passiveListener);
- } else if (!scrollHandlerAttached) {
- scrollHandlerAttached = true;
- $scrollElement.on("scroll", checkInViewOnLoad, passiveListener);
- }
- }
-
- on("beforeInit", () => {
- if (swiper.params.lazy.enabled && swiper.params.preloadImages) {
- swiper.params.preloadImages = false;
- }
- });
- on("init", () => {
- if (swiper.params.lazy.enabled) {
- if (swiper.params.lazy.checkInView) {
- checkInViewOnLoad();
- } else {
- load();
- }
- }
- });
- on("scroll", () => {
- if (
- swiper.params.freeMode &&
- swiper.params.freeMode.enabled &&
- !swiper.params.freeMode.sticky
- ) {
- load();
- }
- });
- on("scrollbarDragMove resize _freeModeNoMomentumRelease", () => {
- if (swiper.params.lazy.enabled) {
- if (swiper.params.lazy.checkInView) {
- checkInViewOnLoad();
- } else {
- load();
- }
- }
- });
- on("transitionStart", () => {
- if (swiper.params.lazy.enabled) {
- if (
- swiper.params.lazy.loadOnTransitionStart ||
- (!swiper.params.lazy.loadOnTransitionStart && !initialImageLoaded)
- ) {
- if (swiper.params.lazy.checkInView) {
- checkInViewOnLoad();
- } else {
- load();
- }
- }
- }
- });
- on("transitionEnd", () => {
- if (
- swiper.params.lazy.enabled &&
- !swiper.params.lazy.loadOnTransitionStart
- ) {
- if (swiper.params.lazy.checkInView) {
- checkInViewOnLoad();
- } else {
- load();
- }
- }
- });
- on("slideChange", () => {
- const {
- lazy,
- cssMode,
- watchSlidesProgress,
- touchReleaseOnEdges,
- resistanceRatio,
- } = swiper.params;
-
- if (
- lazy.enabled &&
- (cssMode ||
- (watchSlidesProgress &&
- (touchReleaseOnEdges || resistanceRatio === 0)))
- ) {
- load();
- }
- });
- Object.assign(swiper.lazy, {
- load,
- loadInSlide,
- });
- }
-
- /* eslint no-bitwise: ["error", { "allow": [">>"] }] */
- function Controller(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- controller: {
- control: undefined,
- inverse: false,
- by: "slide", // or 'container'
- },
- });
- swiper.controller = {
- control: undefined,
- };
-
- function LinearSpline(x, y) {
- const binarySearch = (function search() {
- let maxIndex;
- let minIndex;
- let guess;
- return (array, val) => {
- minIndex = -1;
- maxIndex = array.length;
-
- while (maxIndex - minIndex > 1) {
- guess = (maxIndex + minIndex) >> 1;
-
- if (array[guess] <= val) {
- minIndex = guess;
- } else {
- maxIndex = guess;
- }
- }
-
- return maxIndex;
- };
- })();
-
- this.x = x;
- this.y = y;
- this.lastIndex = x.length - 1; // Given an x value (x2), return the expected y2 value:
- // (x1,y1) is the known point before given value,
- // (x3,y3) is the known point after given value.
-
- let i1;
- let i3;
-
- this.interpolate = function interpolate(x2) {
- if (!x2) return 0; // Get the indexes of x1 and x3 (the array indexes before and after given x2):
-
- i3 = binarySearch(this.x, x2);
- i1 = i3 - 1; // We have our indexes i1 & i3, so we can calculate already:
- // y2 := ((x2−x1) × (y3−y1)) ÷ (x3−x1) + y1
-
- return (
- ((x2 - this.x[i1]) * (this.y[i3] - this.y[i1])) /
- (this.x[i3] - this.x[i1]) +
- this.y[i1]
- );
- };
-
- return this;
- } // xxx: for now i will just save one spline function to to
-
- function getInterpolateFunction(c) {
- if (!swiper.controller.spline) {
- swiper.controller.spline = swiper.params.loop
- ? new LinearSpline(swiper.slidesGrid, c.slidesGrid)
- : new LinearSpline(swiper.snapGrid, c.snapGrid);
- }
- }
-
- function setTranslate(_t, byController) {
- const controlled = swiper.controller.control;
- let multiplier;
- let controlledTranslate;
- const Swiper = swiper.constructor;
-
- function setControlledTranslate(c) {
- // this will create an Interpolate function based on the snapGrids
- // x is the Grid of the scrolled scroller and y will be the controlled scroller
- // it makes sense to create this only once and recall it for the interpolation
- // the function does a lot of value caching for performance
- const translate = swiper.rtlTranslate
- ? -swiper.translate
- : swiper.translate;
-
- if (swiper.params.controller.by === "slide") {
- getInterpolateFunction(c); // i am not sure why the values have to be multiplicated this way, tried to invert the snapGrid
- // but it did not work out
-
- controlledTranslate = -swiper.controller.spline.interpolate(
- -translate,
- );
- }
-
- if (
- !controlledTranslate ||
- swiper.params.controller.by === "container"
- ) {
- multiplier =
- (c.maxTranslate() - c.minTranslate()) /
- (swiper.maxTranslate() - swiper.minTranslate());
- controlledTranslate =
- (translate - swiper.minTranslate()) * multiplier + c.minTranslate();
- }
-
- if (swiper.params.controller.inverse) {
- controlledTranslate = c.maxTranslate() - controlledTranslate;
- }
-
- c.updateProgress(controlledTranslate);
- c.setTranslate(controlledTranslate, swiper);
- c.updateActiveIndex();
- c.updateSlidesClasses();
- }
-
- if (Array.isArray(controlled)) {
- for (let i = 0; i < controlled.length; i += 1) {
- if (
- controlled[i] !== byController &&
- controlled[i] instanceof Swiper
- ) {
- setControlledTranslate(controlled[i]);
- }
- }
- } else if (controlled instanceof Swiper && byController !== controlled) {
- setControlledTranslate(controlled);
- }
- }
-
- function setTransition(duration, byController) {
- const Swiper = swiper.constructor;
- const controlled = swiper.controller.control;
- let i;
-
- function setControlledTransition(c) {
- c.setTransition(duration, swiper);
-
- if (duration !== 0) {
- c.transitionStart();
-
- if (c.params.autoHeight) {
- nextTick(() => {
- c.updateAutoHeight();
- });
- }
-
- c.$wrapperEl.transitionEnd(() => {
- if (!controlled) return;
-
- if (c.params.loop && swiper.params.controller.by === "slide") {
- c.loopFix();
- }
-
- c.transitionEnd();
- });
- }
- }
-
- if (Array.isArray(controlled)) {
- for (i = 0; i < controlled.length; i += 1) {
- if (
- controlled[i] !== byController &&
- controlled[i] instanceof Swiper
- ) {
- setControlledTransition(controlled[i]);
- }
- }
- } else if (controlled instanceof Swiper && byController !== controlled) {
- setControlledTransition(controlled);
- }
- }
-
- function removeSpline() {
- if (!swiper.controller.control) return;
-
- if (swiper.controller.spline) {
- swiper.controller.spline = undefined;
- delete swiper.controller.spline;
- }
- }
-
- on("beforeInit", () => {
- swiper.controller.control = swiper.params.controller.control;
- });
- on("update", () => {
- removeSpline();
- });
- on("resize", () => {
- removeSpline();
- });
- on("observerUpdate", () => {
- removeSpline();
- });
- on("setTranslate", (_s, translate, byController) => {
- if (!swiper.controller.control) return;
- swiper.controller.setTranslate(translate, byController);
- });
- on("setTransition", (_s, duration, byController) => {
- if (!swiper.controller.control) return;
- swiper.controller.setTransition(duration, byController);
- });
- Object.assign(swiper.controller, {
- setTranslate,
- setTransition,
- });
- }
-
- function A11y(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- a11y: {
- enabled: true,
- notificationClass: "swiper-notification",
- prevSlideMessage: "Previous slide",
- nextSlideMessage: "Next slide",
- firstSlideMessage: "This is the first slide",
- lastSlideMessage: "This is the last slide",
- paginationBulletMessage: "Go to slide {{index}}",
- slideLabelMessage: "{{index}} / {{slidesLength}}",
- containerMessage: null,
- containerRoleDescriptionMessage: null,
- itemRoleDescriptionMessage: null,
- slideRole: "group",
- },
- });
- let liveRegion = null;
-
- function notify(message) {
- const notification = liveRegion;
- if (notification.length === 0) return;
- notification.html("");
- notification.html(message);
- }
-
- function getRandomNumber(size) {
- if (size === void 0) {
- size = 16;
- }
-
- const randomChar = () => Math.round(16 * Math.random()).toString(16);
-
- return "x".repeat(size).replace(/x/g, randomChar);
- }
-
- function makeElFocusable($el) {
- $el.attr("tabIndex", "0");
- }
-
- function makeElNotFocusable($el) {
- $el.attr("tabIndex", "-1");
- }
-
- function addElRole($el, role) {
- $el.attr("role", role);
- }
-
- function addElRoleDescription($el, description) {
- $el.attr("aria-roledescription", description);
- }
-
- function addElControls($el, controls) {
- $el.attr("aria-controls", controls);
- }
-
- function addElLabel($el, label) {
- $el.attr("aria-label", label);
- }
-
- function addElId($el, id) {
- $el.attr("id", id);
- }
-
- function addElLive($el, live) {
- $el.attr("aria-live", live);
- }
-
- function disableEl($el) {
- $el.attr("aria-disabled", true);
- }
-
- function enableEl($el) {
- $el.attr("aria-disabled", false);
- }
-
- function onEnterOrSpaceKey(e) {
- if (e.keyCode !== 13 && e.keyCode !== 32) return;
- const params = swiper.params.a11y;
- const $targetEl = $(e.target);
-
- if (
- swiper.navigation &&
- swiper.navigation.$nextEl &&
- $targetEl.is(swiper.navigation.$nextEl)
- ) {
- if (!(swiper.isEnd && !swiper.params.loop)) {
- swiper.slideNext();
- }
-
- if (swiper.isEnd) {
- notify(params.lastSlideMessage);
- } else {
- notify(params.nextSlideMessage);
- }
- }
-
- if (
- swiper.navigation &&
- swiper.navigation.$prevEl &&
- $targetEl.is(swiper.navigation.$prevEl)
- ) {
- if (!(swiper.isBeginning && !swiper.params.loop)) {
- swiper.slidePrev();
- }
-
- if (swiper.isBeginning) {
- notify(params.firstSlideMessage);
- } else {
- notify(params.prevSlideMessage);
- }
- }
-
- if (
- swiper.pagination &&
- $targetEl.is(classesToSelector(swiper.params.pagination.bulletClass))
- ) {
- $targetEl[0].click();
- }
- }
-
- function updateNavigation() {
- if (swiper.params.loop || swiper.params.rewind || !swiper.navigation)
- return;
- const { $nextEl, $prevEl } = swiper.navigation;
-
- if ($prevEl && $prevEl.length > 0) {
- if (swiper.isBeginning) {
- disableEl($prevEl);
- makeElNotFocusable($prevEl);
- } else {
- enableEl($prevEl);
- makeElFocusable($prevEl);
- }
- }
-
- if ($nextEl && $nextEl.length > 0) {
- if (swiper.isEnd) {
- disableEl($nextEl);
- makeElNotFocusable($nextEl);
- } else {
- enableEl($nextEl);
- makeElFocusable($nextEl);
- }
- }
- }
-
- function hasPagination() {
- return (
- swiper.pagination &&
- swiper.pagination.bullets &&
- swiper.pagination.bullets.length
- );
- }
-
- function hasClickablePagination() {
- return hasPagination() && swiper.params.pagination.clickable;
- }
-
- function updatePagination() {
- const params = swiper.params.a11y;
- if (!hasPagination()) return;
- swiper.pagination.bullets.each((bulletEl) => {
- const $bulletEl = $(bulletEl);
-
- if (swiper.params.pagination.clickable) {
- makeElFocusable($bulletEl);
-
- if (!swiper.params.pagination.renderBullet) {
- addElRole($bulletEl, "button");
- addElLabel(
- $bulletEl,
- params.paginationBulletMessage.replace(
- /\{\{index\}\}/,
- $bulletEl.index() + 1,
- ),
- );
- }
- }
-
- if ($bulletEl.is(`.${swiper.params.pagination.bulletActiveClass}`)) {
- $bulletEl.attr("aria-current", "true");
- } else {
- $bulletEl.removeAttr("aria-current");
- }
- });
- }
-
- const initNavEl = ($el, wrapperId, message) => {
- makeElFocusable($el);
-
- if ($el[0].tagName !== "BUTTON") {
- addElRole($el, "button");
- $el.on("keydown", onEnterOrSpaceKey);
- }
-
- addElLabel($el, message);
- addElControls($el, wrapperId);
- };
-
- const handleFocus = (e) => {
- const slideEl = e.target.closest(`.${swiper.params.slideClass}`);
- if (!slideEl || !swiper.slides.includes(slideEl)) return;
- const isActive = swiper.slides.indexOf(slideEl) === swiper.activeIndex;
- const isVisible =
- swiper.params.watchSlidesProgress &&
- swiper.visibleSlides &&
- swiper.visibleSlides.includes(slideEl);
- if (isActive || isVisible) return;
- swiper.slideTo(swiper.slides.indexOf(slideEl), 0);
- };
-
- function init() {
- const params = swiper.params.a11y;
- swiper.$el.append(liveRegion); // Container
-
- const $containerEl = swiper.$el;
-
- if (params.containerRoleDescriptionMessage) {
- addElRoleDescription(
- $containerEl,
- params.containerRoleDescriptionMessage,
- );
- }
-
- if (params.containerMessage) {
- addElLabel($containerEl, params.containerMessage);
- } // Wrapper
-
- const $wrapperEl = swiper.$wrapperEl;
- const wrapperId =
- $wrapperEl.attr("id") || `swiper-wrapper-${getRandomNumber(16)}`;
- const live =
- swiper.params.autoplay && swiper.params.autoplay.enabled
- ? "off"
- : "polite";
- addElId($wrapperEl, wrapperId);
- addElLive($wrapperEl, live); // Slide
-
- if (params.itemRoleDescriptionMessage) {
- addElRoleDescription(
- $(swiper.slides),
- params.itemRoleDescriptionMessage,
- );
- }
-
- addElRole($(swiper.slides), params.slideRole);
- const slidesLength = swiper.params.loop
- ? swiper.slides.filter(
- (el) => !el.classList.contains(swiper.params.slideDuplicateClass),
- ).length
- : swiper.slides.length;
- swiper.slides.each((slideEl, index) => {
- const $slideEl = $(slideEl);
- const slideIndex = swiper.params.loop
- ? parseInt($slideEl.attr("data-swiper-slide-index"), 10)
- : index;
- const ariaLabelMessage = params.slideLabelMessage
- .replace(/\{\{index\}\}/, slideIndex + 1)
- .replace(/\{\{slidesLength\}\}/, slidesLength);
- addElLabel($slideEl, ariaLabelMessage);
- }); // Navigation
-
- let $nextEl;
- let $prevEl;
-
- if (swiper.navigation && swiper.navigation.$nextEl) {
- $nextEl = swiper.navigation.$nextEl;
- }
-
- if (swiper.navigation && swiper.navigation.$prevEl) {
- $prevEl = swiper.navigation.$prevEl;
- }
-
- if ($nextEl && $nextEl.length) {
- initNavEl($nextEl, wrapperId, params.nextSlideMessage);
- }
-
- if ($prevEl && $prevEl.length) {
- initNavEl($prevEl, wrapperId, params.prevSlideMessage);
- } // Pagination
-
- if (hasClickablePagination()) {
- swiper.pagination.$el.on(
- "keydown",
- classesToSelector(swiper.params.pagination.bulletClass),
- onEnterOrSpaceKey,
- );
- } // Tab focus
-
- swiper.$el.on("focus", handleFocus, true);
- }
-
- function destroy() {
- if (liveRegion && liveRegion.length > 0) liveRegion.remove();
- let $nextEl;
- let $prevEl;
-
- if (swiper.navigation && swiper.navigation.$nextEl) {
- $nextEl = swiper.navigation.$nextEl;
- }
-
- if (swiper.navigation && swiper.navigation.$prevEl) {
- $prevEl = swiper.navigation.$prevEl;
- }
-
- if ($nextEl) {
- $nextEl.off("keydown", onEnterOrSpaceKey);
- }
-
- if ($prevEl) {
- $prevEl.off("keydown", onEnterOrSpaceKey);
- } // Pagination
-
- if (hasClickablePagination()) {
- swiper.pagination.$el.off(
- "keydown",
- classesToSelector(swiper.params.pagination.bulletClass),
- onEnterOrSpaceKey,
- );
- } // Tab focus
-
- swiper.$el.off("focus", handleFocus, true);
- }
-
- on("beforeInit", () => {
- liveRegion = $(
- ` `,
- );
- });
- on("afterInit", () => {
- if (!swiper.params.a11y.enabled) return;
- init();
- });
- on("fromEdge toEdge afterInit lock unlock", () => {
- if (!swiper.params.a11y.enabled) return;
- updateNavigation();
- });
- on("paginationUpdate", () => {
- if (!swiper.params.a11y.enabled) return;
- updatePagination();
- });
- on("destroy", () => {
- if (!swiper.params.a11y.enabled) return;
- destroy();
- });
- }
-
- function History(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- history: {
- enabled: false,
- root: "",
- replaceState: false,
- key: "slides",
- },
- });
- let initialized = false;
- let paths = {};
-
- const slugify = (text) => {
- return text
- .toString()
- .replace(/\s+/g, "-")
- .replace(/[^\w-]+/g, "")
- .replace(/--+/g, "-")
- .replace(/^-+/, "")
- .replace(/-+$/, "");
- };
-
- const getPathValues = (urlOverride) => {
- const window = getWindow();
- let location;
-
- if (urlOverride) {
- location = new URL(urlOverride);
- } else {
- location = window.location;
- }
-
- const pathArray = location.pathname
- .slice(1)
- .split("/")
- .filter((part) => part !== "");
- const total = pathArray.length;
- const key = pathArray[total - 2];
- const value = pathArray[total - 1];
- return {
- key,
- value,
- };
- };
-
- const setHistory = (key, index) => {
- const window = getWindow();
- if (!initialized || !swiper.params.history.enabled) return;
- let location;
-
- if (swiper.params.url) {
- location = new URL(swiper.params.url);
- } else {
- location = window.location;
- }
-
- const slide = swiper.slides.eq(index);
- let value = slugify(slide.attr("data-history"));
-
- if (swiper.params.history.root.length > 0) {
- let root = swiper.params.history.root;
- if (root[root.length - 1] === "/")
- root = root.slice(0, root.length - 1);
- value = `${root}/${key}/${value}`;
- } else if (!location.pathname.includes(key)) {
- value = `${key}/${value}`;
- }
-
- const currentState = window.history.state;
-
- if (currentState && currentState.value === value) {
- return;
- }
-
- if (swiper.params.history.replaceState) {
- window.history.replaceState(
- {
- value,
- },
- null,
- value,
- );
- } else {
- window.history.pushState(
- {
- value,
- },
- null,
- value,
- );
- }
- };
-
- const scrollToSlide = (speed, value, runCallbacks) => {
- if (value) {
- for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
- const slide = swiper.slides.eq(i);
- const slideHistory = slugify(slide.attr("data-history"));
-
- if (
- slideHistory === value &&
- !slide.hasClass(swiper.params.slideDuplicateClass)
- ) {
- const index = slide.index();
- swiper.slideTo(index, speed, runCallbacks);
- }
- }
- } else {
- swiper.slideTo(0, speed, runCallbacks);
- }
- };
-
- const setHistoryPopState = () => {
- paths = getPathValues(swiper.params.url);
- scrollToSlide(swiper.params.speed, swiper.paths.value, false);
- };
-
- const init = () => {
- const window = getWindow();
- if (!swiper.params.history) return;
-
- if (!window.history || !window.history.pushState) {
- swiper.params.history.enabled = false;
- swiper.params.hashNavigation.enabled = true;
- return;
- }
-
- initialized = true;
- paths = getPathValues(swiper.params.url);
- if (!paths.key && !paths.value) return;
- scrollToSlide(0, paths.value, swiper.params.runCallbacksOnInit);
-
- if (!swiper.params.history.replaceState) {
- window.addEventListener("popstate", setHistoryPopState);
- }
- };
-
- const destroy = () => {
- const window = getWindow();
-
- if (!swiper.params.history.replaceState) {
- window.removeEventListener("popstate", setHistoryPopState);
- }
- };
-
- on("init", () => {
- if (swiper.params.history.enabled) {
- init();
- }
- });
- on("destroy", () => {
- if (swiper.params.history.enabled) {
- destroy();
- }
- });
- on("transitionEnd _freeModeNoMomentumRelease", () => {
- if (initialized) {
- setHistory(swiper.params.history.key, swiper.activeIndex);
- }
- });
- on("slideChange", () => {
- if (initialized && swiper.params.cssMode) {
- setHistory(swiper.params.history.key, swiper.activeIndex);
- }
- });
- }
-
- function HashNavigation(_ref) {
- let { swiper, extendParams, emit, on } = _ref;
- let initialized = false;
- const document = getDocument();
- const window = getWindow();
- extendParams({
- hashNavigation: {
- enabled: false,
- replaceState: false,
- watchState: false,
- },
- });
-
- const onHashChange = () => {
- emit("hashChange");
- const newHash = document.location.hash.replace("#", "");
- const activeSlideHash = swiper.slides
- .eq(swiper.activeIndex)
- .attr("data-hash");
-
- if (newHash !== activeSlideHash) {
- const newIndex = swiper.$wrapperEl
- .children(`.${swiper.params.slideClass}[data-hash="${newHash}"]`)
- .index();
- if (typeof newIndex === "undefined") return;
- swiper.slideTo(newIndex);
- }
- };
-
- const setHash = () => {
- if (!initialized || !swiper.params.hashNavigation.enabled) return;
-
- if (
- swiper.params.hashNavigation.replaceState &&
- window.history &&
- window.history.replaceState
- ) {
- window.history.replaceState(
- null,
- null,
- `#${swiper.slides.eq(swiper.activeIndex).attr("data-hash")}` || "",
- );
- emit("hashSet");
- } else {
- const slide = swiper.slides.eq(swiper.activeIndex);
- const hash = slide.attr("data-hash") || slide.attr("data-history");
- document.location.hash = hash || "";
- emit("hashSet");
- }
- };
-
- const init = () => {
- if (
- !swiper.params.hashNavigation.enabled ||
- (swiper.params.history && swiper.params.history.enabled)
- )
- return;
- initialized = true;
- const hash = document.location.hash.replace("#", "");
-
- if (hash) {
- const speed = 0;
-
- for (let i = 0, length = swiper.slides.length; i < length; i += 1) {
- const slide = swiper.slides.eq(i);
- const slideHash =
- slide.attr("data-hash") || slide.attr("data-history");
-
- if (
- slideHash === hash &&
- !slide.hasClass(swiper.params.slideDuplicateClass)
- ) {
- const index = slide.index();
- swiper.slideTo(
- index,
- speed,
- swiper.params.runCallbacksOnInit,
- true,
- );
- }
- }
- }
-
- if (swiper.params.hashNavigation.watchState) {
- $(window).on("hashchange", onHashChange);
- }
- };
-
- const destroy = () => {
- if (swiper.params.hashNavigation.watchState) {
- $(window).off("hashchange", onHashChange);
- }
- };
-
- on("init", () => {
- if (swiper.params.hashNavigation.enabled) {
- init();
- }
- });
- on("destroy", () => {
- if (swiper.params.hashNavigation.enabled) {
- destroy();
- }
- });
- on("transitionEnd _freeModeNoMomentumRelease", () => {
- if (initialized) {
- setHash();
- }
- });
- on("slideChange", () => {
- if (initialized && swiper.params.cssMode) {
- setHash();
- }
- });
- }
-
- /* eslint no-underscore-dangle: "off" */
- function Autoplay(_ref) {
- let { swiper, extendParams, on, emit } = _ref;
- let timeout;
- swiper.autoplay = {
- running: false,
- paused: false,
- };
- extendParams({
- autoplay: {
- enabled: false,
- delay: 3000,
- waitForTransition: true,
- disableOnInteraction: true,
- stopOnLastSlide: false,
- reverseDirection: false,
- pauseOnMouseEnter: false,
- },
- });
-
- function run() {
- const $activeSlideEl = swiper.slides.eq(swiper.activeIndex);
- let delay = swiper.params.autoplay.delay;
-
- if ($activeSlideEl.attr("data-swiper-autoplay")) {
- delay =
- $activeSlideEl.attr("data-swiper-autoplay") ||
- swiper.params.autoplay.delay;
- }
-
- clearTimeout(timeout);
- timeout = nextTick(() => {
- let autoplayResult;
-
- if (swiper.params.autoplay.reverseDirection) {
- if (swiper.params.loop) {
- swiper.loopFix();
- autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);
- emit("autoplay");
- } else if (!swiper.isBeginning) {
- autoplayResult = swiper.slidePrev(swiper.params.speed, true, true);
- emit("autoplay");
- } else if (!swiper.params.autoplay.stopOnLastSlide) {
- autoplayResult = swiper.slideTo(
- swiper.slides.length - 1,
- swiper.params.speed,
- true,
- true,
- );
- emit("autoplay");
- } else {
- stop();
- }
- } else if (swiper.params.loop) {
- swiper.loopFix();
- autoplayResult = swiper.slideNext(swiper.params.speed, true, true);
- emit("autoplay");
- } else if (!swiper.isEnd) {
- autoplayResult = swiper.slideNext(swiper.params.speed, true, true);
- emit("autoplay");
- } else if (!swiper.params.autoplay.stopOnLastSlide) {
- autoplayResult = swiper.slideTo(0, swiper.params.speed, true, true);
- emit("autoplay");
- } else {
- stop();
- }
-
- if (swiper.params.cssMode && swiper.autoplay.running) run();
- else if (autoplayResult === false) {
- run();
- }
- }, delay);
- }
-
- function start() {
- if (typeof timeout !== "undefined") return false;
- if (swiper.autoplay.running) return false;
- swiper.autoplay.running = true;
- emit("autoplayStart");
- run();
- return true;
- }
-
- function stop() {
- if (!swiper.autoplay.running) return false;
- if (typeof timeout === "undefined") return false;
-
- if (timeout) {
- clearTimeout(timeout);
- timeout = undefined;
- }
-
- swiper.autoplay.running = false;
- emit("autoplayStop");
- return true;
- }
-
- function pause(speed) {
- if (!swiper.autoplay.running) return;
- if (swiper.autoplay.paused) return;
- if (timeout) clearTimeout(timeout);
- swiper.autoplay.paused = true;
-
- if (speed === 0 || !swiper.params.autoplay.waitForTransition) {
- swiper.autoplay.paused = false;
- run();
- } else {
- ["transitionend", "webkitTransitionEnd"].forEach((event) => {
- swiper.$wrapperEl[0].addEventListener(event, onTransitionEnd);
- });
- }
- }
-
- function onVisibilityChange() {
- const document = getDocument();
-
- if (document.visibilityState === "hidden" && swiper.autoplay.running) {
- pause();
- }
-
- if (document.visibilityState === "visible" && swiper.autoplay.paused) {
- run();
- swiper.autoplay.paused = false;
- }
- }
-
- function onTransitionEnd(e) {
- if (!swiper || swiper.destroyed || !swiper.$wrapperEl) return;
- if (e.target !== swiper.$wrapperEl[0]) return;
- ["transitionend", "webkitTransitionEnd"].forEach((event) => {
- swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);
- });
- swiper.autoplay.paused = false;
-
- if (!swiper.autoplay.running) {
- stop();
- } else {
- run();
- }
- }
-
- function onMouseEnter() {
- if (swiper.params.autoplay.disableOnInteraction) {
- stop();
- } else {
- emit("autoplayPause");
- pause();
- }
-
- ["transitionend", "webkitTransitionEnd"].forEach((event) => {
- swiper.$wrapperEl[0].removeEventListener(event, onTransitionEnd);
- });
- }
-
- function onMouseLeave() {
- if (swiper.params.autoplay.disableOnInteraction) {
- return;
- }
-
- swiper.autoplay.paused = false;
- emit("autoplayResume");
- run();
- }
-
- function attachMouseEvents() {
- if (swiper.params.autoplay.pauseOnMouseEnter) {
- swiper.$el.on("mouseenter", onMouseEnter);
- swiper.$el.on("mouseleave", onMouseLeave);
- }
- }
-
- function detachMouseEvents() {
- swiper.$el.off("mouseenter", onMouseEnter);
- swiper.$el.off("mouseleave", onMouseLeave);
- }
-
- on("init", () => {
- if (swiper.params.autoplay.enabled) {
- start();
- const document = getDocument();
- document.addEventListener("visibilitychange", onVisibilityChange);
- attachMouseEvents();
- }
- });
- on("beforeTransitionStart", (_s, speed, internal) => {
- if (swiper.autoplay.running) {
- if (internal || !swiper.params.autoplay.disableOnInteraction) {
- swiper.autoplay.pause(speed);
- } else {
- stop();
- }
- }
- });
- on("sliderFirstMove", () => {
- if (swiper.autoplay.running) {
- if (swiper.params.autoplay.disableOnInteraction) {
- stop();
- } else {
- pause();
- }
- }
- });
- on("touchEnd", () => {
- if (
- swiper.params.cssMode &&
- swiper.autoplay.paused &&
- !swiper.params.autoplay.disableOnInteraction
- ) {
- run();
- }
- });
- on("destroy", () => {
- detachMouseEvents();
-
- if (swiper.autoplay.running) {
- stop();
- }
-
- const document = getDocument();
- document.removeEventListener("visibilitychange", onVisibilityChange);
- });
- Object.assign(swiper.autoplay, {
- pause,
- run,
- start,
- stop,
- });
- }
-
- function Thumb(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- thumbs: {
- swiper: null,
- multipleActiveThumbs: true,
- autoScrollOffset: 0,
- slideThumbActiveClass: "swiper-slide-thumb-active",
- thumbsContainerClass: "swiper-thumbs",
- },
- });
- let initialized = false;
- let swiperCreated = false;
- swiper.thumbs = {
- swiper: null,
- };
-
- function onThumbClick() {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper) return;
- const clickedIndex = thumbsSwiper.clickedIndex;
- const clickedSlide = thumbsSwiper.clickedSlide;
- if (
- clickedSlide &&
- $(clickedSlide).hasClass(swiper.params.thumbs.slideThumbActiveClass)
- )
- return;
- if (typeof clickedIndex === "undefined" || clickedIndex === null) return;
- let slideToIndex;
-
- if (thumbsSwiper.params.loop) {
- slideToIndex = parseInt(
- $(thumbsSwiper.clickedSlide).attr("data-swiper-slide-index"),
- 10,
- );
- } else {
- slideToIndex = clickedIndex;
- }
-
- if (swiper.params.loop) {
- let currentIndex = swiper.activeIndex;
-
- if (
- swiper.slides
- .eq(currentIndex)
- .hasClass(swiper.params.slideDuplicateClass)
- ) {
- swiper.loopFix(); // eslint-disable-next-line
-
- swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;
- currentIndex = swiper.activeIndex;
- }
-
- const prevIndex = swiper.slides
- .eq(currentIndex)
- .prevAll(`[data-swiper-slide-index="${slideToIndex}"]`)
- .eq(0)
- .index();
- const nextIndex = swiper.slides
- .eq(currentIndex)
- .nextAll(`[data-swiper-slide-index="${slideToIndex}"]`)
- .eq(0)
- .index();
- if (typeof prevIndex === "undefined") slideToIndex = nextIndex;
- else if (typeof nextIndex === "undefined") slideToIndex = prevIndex;
- else if (nextIndex - currentIndex < currentIndex - prevIndex)
- slideToIndex = nextIndex;
- else slideToIndex = prevIndex;
- }
-
- swiper.slideTo(slideToIndex);
- }
-
- function init() {
- const { thumbs: thumbsParams } = swiper.params;
- if (initialized) return false;
- initialized = true;
- const SwiperClass = swiper.constructor;
-
- if (thumbsParams.swiper instanceof SwiperClass) {
- swiper.thumbs.swiper = thumbsParams.swiper;
- Object.assign(swiper.thumbs.swiper.originalParams, {
- watchSlidesProgress: true,
- slideToClickedSlide: false,
- });
- Object.assign(swiper.thumbs.swiper.params, {
- watchSlidesProgress: true,
- slideToClickedSlide: false,
- });
- } else if (isObject(thumbsParams.swiper)) {
- const thumbsSwiperParams = Object.assign({}, thumbsParams.swiper);
- Object.assign(thumbsSwiperParams, {
- watchSlidesProgress: true,
- slideToClickedSlide: false,
- });
- swiper.thumbs.swiper = new SwiperClass(thumbsSwiperParams);
- swiperCreated = true;
- }
-
- swiper.thumbs.swiper.$el.addClass(
- swiper.params.thumbs.thumbsContainerClass,
- );
- swiper.thumbs.swiper.on("tap", onThumbClick);
- return true;
- }
-
- function update(initial) {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper) return;
- const slidesPerView =
- thumbsSwiper.params.slidesPerView === "auto"
- ? thumbsSwiper.slidesPerViewDynamic()
- : thumbsSwiper.params.slidesPerView;
- const autoScrollOffset = swiper.params.thumbs.autoScrollOffset;
- const useOffset = autoScrollOffset && !thumbsSwiper.params.loop;
-
- if (swiper.realIndex !== thumbsSwiper.realIndex || useOffset) {
- let currentThumbsIndex = thumbsSwiper.activeIndex;
- let newThumbsIndex;
- let direction;
-
- if (thumbsSwiper.params.loop) {
- if (
- thumbsSwiper.slides
- .eq(currentThumbsIndex)
- .hasClass(thumbsSwiper.params.slideDuplicateClass)
- ) {
- thumbsSwiper.loopFix(); // eslint-disable-next-line
-
- thumbsSwiper._clientLeft = thumbsSwiper.$wrapperEl[0].clientLeft;
- currentThumbsIndex = thumbsSwiper.activeIndex;
- } // Find actual thumbs index to slide to
-
- const prevThumbsIndex = thumbsSwiper.slides
- .eq(currentThumbsIndex)
- .prevAll(`[data-swiper-slide-index="${swiper.realIndex}"]`)
- .eq(0)
- .index();
- const nextThumbsIndex = thumbsSwiper.slides
- .eq(currentThumbsIndex)
- .nextAll(`[data-swiper-slide-index="${swiper.realIndex}"]`)
- .eq(0)
- .index();
-
- if (typeof prevThumbsIndex === "undefined") {
- newThumbsIndex = nextThumbsIndex;
- } else if (typeof nextThumbsIndex === "undefined") {
- newThumbsIndex = prevThumbsIndex;
- } else if (
- nextThumbsIndex - currentThumbsIndex ===
- currentThumbsIndex - prevThumbsIndex
- ) {
- newThumbsIndex =
- thumbsSwiper.params.slidesPerGroup > 1
- ? nextThumbsIndex
- : currentThumbsIndex;
- } else if (
- nextThumbsIndex - currentThumbsIndex <
- currentThumbsIndex - prevThumbsIndex
- ) {
- newThumbsIndex = nextThumbsIndex;
- } else {
- newThumbsIndex = prevThumbsIndex;
- }
-
- direction =
- swiper.activeIndex > swiper.previousIndex ? "next" : "prev";
- } else {
- newThumbsIndex = swiper.realIndex;
- direction = newThumbsIndex > swiper.previousIndex ? "next" : "prev";
- }
-
- if (useOffset) {
- newThumbsIndex +=
- direction === "next" ? autoScrollOffset : -1 * autoScrollOffset;
- }
-
- if (
- thumbsSwiper.visibleSlidesIndexes &&
- thumbsSwiper.visibleSlidesIndexes.indexOf(newThumbsIndex) < 0
- ) {
- if (thumbsSwiper.params.centeredSlides) {
- if (newThumbsIndex > currentThumbsIndex) {
- newThumbsIndex =
- newThumbsIndex - Math.floor(slidesPerView / 2) + 1;
- } else {
- newThumbsIndex =
- newThumbsIndex + Math.floor(slidesPerView / 2) - 1;
- }
- } else if (
- newThumbsIndex > currentThumbsIndex &&
- thumbsSwiper.params.slidesPerGroup === 1
- );
-
- thumbsSwiper.slideTo(newThumbsIndex, initial ? 0 : undefined);
- }
- } // Activate thumbs
-
- let thumbsToActivate = 1;
- const thumbActiveClass = swiper.params.thumbs.slideThumbActiveClass;
-
- if (swiper.params.slidesPerView > 1 && !swiper.params.centeredSlides) {
- thumbsToActivate = swiper.params.slidesPerView;
- }
-
- if (!swiper.params.thumbs.multipleActiveThumbs) {
- thumbsToActivate = 1;
- }
-
- thumbsToActivate = Math.floor(thumbsToActivate);
- thumbsSwiper.slides.removeClass(thumbActiveClass);
-
- if (
- thumbsSwiper.params.loop ||
- (thumbsSwiper.params.virtual && thumbsSwiper.params.virtual.enabled)
- ) {
- for (let i = 0; i < thumbsToActivate; i += 1) {
- thumbsSwiper.$wrapperEl
- .children(`[data-swiper-slide-index="${swiper.realIndex + i}"]`)
- .addClass(thumbActiveClass);
- }
- } else {
- for (let i = 0; i < thumbsToActivate; i += 1) {
- thumbsSwiper.slides
- .eq(swiper.realIndex + i)
- .addClass(thumbActiveClass);
- }
- }
- }
-
- on("beforeInit", () => {
- const { thumbs } = swiper.params;
- if (!thumbs || !thumbs.swiper) return;
- init();
- update(true);
- });
- on("slideChange update resize observerUpdate", () => {
- if (!swiper.thumbs.swiper) return;
- update();
- });
- on("setTransition", (_s, duration) => {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper) return;
- thumbsSwiper.setTransition(duration);
- });
- on("beforeDestroy", () => {
- const thumbsSwiper = swiper.thumbs.swiper;
- if (!thumbsSwiper) return;
-
- if (swiperCreated && thumbsSwiper) {
- thumbsSwiper.destroy();
- }
- });
- Object.assign(swiper.thumbs, {
- init,
- update,
- });
- }
-
- function freeMode(_ref) {
- let { swiper, extendParams, emit, once } = _ref;
- extendParams({
- freeMode: {
- enabled: false,
- momentum: true,
- momentumRatio: 1,
- momentumBounce: true,
- momentumBounceRatio: 1,
- momentumVelocityRatio: 1,
- sticky: false,
- minimumVelocity: 0.02,
- },
- });
-
- function onTouchStart() {
- const translate = swiper.getTranslate();
- swiper.setTranslate(translate);
- swiper.setTransition(0);
- swiper.touchEventsData.velocities.length = 0;
- swiper.freeMode.onTouchEnd({
- currentPos: swiper.rtl ? swiper.translate : -swiper.translate,
- });
- }
-
- function onTouchMove() {
- const { touchEventsData: data, touches } = swiper; // Velocity
-
- if (data.velocities.length === 0) {
- data.velocities.push({
- position: touches[swiper.isHorizontal() ? "startX" : "startY"],
- time: data.touchStartTime,
- });
- }
-
- data.velocities.push({
- position: touches[swiper.isHorizontal() ? "currentX" : "currentY"],
- time: now(),
- });
- }
-
- function onTouchEnd(_ref2) {
- let { currentPos } = _ref2;
- const {
- params,
- $wrapperEl,
- rtlTranslate: rtl,
- snapGrid,
- touchEventsData: data,
- } = swiper; // Time diff
-
- const touchEndTime = now();
- const timeDiff = touchEndTime - data.touchStartTime;
-
- if (currentPos < -swiper.minTranslate()) {
- swiper.slideTo(swiper.activeIndex);
- return;
- }
-
- if (currentPos > -swiper.maxTranslate()) {
- if (swiper.slides.length < snapGrid.length) {
- swiper.slideTo(snapGrid.length - 1);
- } else {
- swiper.slideTo(swiper.slides.length - 1);
- }
-
- return;
- }
-
- if (params.freeMode.momentum) {
- if (data.velocities.length > 1) {
- const lastMoveEvent = data.velocities.pop();
- const velocityEvent = data.velocities.pop();
- const distance = lastMoveEvent.position - velocityEvent.position;
- const time = lastMoveEvent.time - velocityEvent.time;
- swiper.velocity = distance / time;
- swiper.velocity /= 2;
-
- if (Math.abs(swiper.velocity) < params.freeMode.minimumVelocity) {
- swiper.velocity = 0;
- } // this implies that the user stopped moving a finger then released.
- // There would be no events with distance zero, so the last event is stale.
-
- if (time > 150 || now() - lastMoveEvent.time > 300) {
- swiper.velocity = 0;
- }
- } else {
- swiper.velocity = 0;
- }
-
- swiper.velocity *= params.freeMode.momentumVelocityRatio;
- data.velocities.length = 0;
- let momentumDuration = 1000 * params.freeMode.momentumRatio;
- const momentumDistance = swiper.velocity * momentumDuration;
- let newPosition = swiper.translate + momentumDistance;
- if (rtl) newPosition = -newPosition;
- let doBounce = false;
- let afterBouncePosition;
- const bounceAmount =
- Math.abs(swiper.velocity) * 20 * params.freeMode.momentumBounceRatio;
- let needsLoopFix;
-
- if (newPosition < swiper.maxTranslate()) {
- if (params.freeMode.momentumBounce) {
- if (newPosition + swiper.maxTranslate() < -bounceAmount) {
- newPosition = swiper.maxTranslate() - bounceAmount;
- }
-
- afterBouncePosition = swiper.maxTranslate();
- doBounce = true;
- data.allowMomentumBounce = true;
- } else {
- newPosition = swiper.maxTranslate();
- }
-
- if (params.loop && params.centeredSlides) needsLoopFix = true;
- } else if (newPosition > swiper.minTranslate()) {
- if (params.freeMode.momentumBounce) {
- if (newPosition - swiper.minTranslate() > bounceAmount) {
- newPosition = swiper.minTranslate() + bounceAmount;
- }
-
- afterBouncePosition = swiper.minTranslate();
- doBounce = true;
- data.allowMomentumBounce = true;
- } else {
- newPosition = swiper.minTranslate();
- }
-
- if (params.loop && params.centeredSlides) needsLoopFix = true;
- } else if (params.freeMode.sticky) {
- let nextSlide;
-
- for (let j = 0; j < snapGrid.length; j += 1) {
- if (snapGrid[j] > -newPosition) {
- nextSlide = j;
- break;
- }
- }
-
- if (
- Math.abs(snapGrid[nextSlide] - newPosition) <
- Math.abs(snapGrid[nextSlide - 1] - newPosition) ||
- swiper.swipeDirection === "next"
- ) {
- newPosition = snapGrid[nextSlide];
- } else {
- newPosition = snapGrid[nextSlide - 1];
- }
-
- newPosition = -newPosition;
- }
-
- if (needsLoopFix) {
- once("transitionEnd", () => {
- swiper.loopFix();
- });
- } // Fix duration
-
- if (swiper.velocity !== 0) {
- if (rtl) {
- momentumDuration = Math.abs(
- (-newPosition - swiper.translate) / swiper.velocity,
- );
- } else {
- momentumDuration = Math.abs(
- (newPosition - swiper.translate) / swiper.velocity,
- );
- }
-
- if (params.freeMode.sticky) {
- // If freeMode.sticky is active and the user ends a swipe with a slow-velocity
- // event, then durations can be 20+ seconds to slide one (or zero!) slides.
- // It's easy to see this when simulating touch with mouse events. To fix this,
- // limit single-slide swipes to the default slide duration. This also has the
- // nice side effect of matching slide speed if the user stopped moving before
- // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.
- // For faster swipes, also apply limits (albeit higher ones).
- const moveDistance = Math.abs(
- (rtl ? -newPosition : newPosition) - swiper.translate,
- );
- const currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];
-
- if (moveDistance < currentSlideSize) {
- momentumDuration = params.speed;
- } else if (moveDistance < 2 * currentSlideSize) {
- momentumDuration = params.speed * 1.5;
- } else {
- momentumDuration = params.speed * 2.5;
- }
- }
- } else if (params.freeMode.sticky) {
- swiper.slideToClosest();
- return;
- }
-
- if (params.freeMode.momentumBounce && doBounce) {
- swiper.updateProgress(afterBouncePosition);
- swiper.setTransition(momentumDuration);
- swiper.setTranslate(newPosition);
- swiper.transitionStart(true, swiper.swipeDirection);
- swiper.animating = true;
- $wrapperEl.transitionEnd(() => {
- if (!swiper || swiper.destroyed || !data.allowMomentumBounce)
- return;
- emit("momentumBounce");
- swiper.setTransition(params.speed);
- setTimeout(() => {
- swiper.setTranslate(afterBouncePosition);
- $wrapperEl.transitionEnd(() => {
- if (!swiper || swiper.destroyed) return;
- swiper.transitionEnd();
- });
- }, 0);
- });
- } else if (swiper.velocity) {
- emit("_freeModeNoMomentumRelease");
- swiper.updateProgress(newPosition);
- swiper.setTransition(momentumDuration);
- swiper.setTranslate(newPosition);
- swiper.transitionStart(true, swiper.swipeDirection);
-
- if (!swiper.animating) {
- swiper.animating = true;
- $wrapperEl.transitionEnd(() => {
- if (!swiper || swiper.destroyed) return;
- swiper.transitionEnd();
- });
- }
- } else {
- swiper.updateProgress(newPosition);
- }
-
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- } else if (params.freeMode.sticky) {
- swiper.slideToClosest();
- return;
- } else if (params.freeMode) {
- emit("_freeModeNoMomentumRelease");
- }
-
- if (!params.freeMode.momentum || timeDiff >= params.longSwipesMs) {
- swiper.updateProgress();
- swiper.updateActiveIndex();
- swiper.updateSlidesClasses();
- }
- }
-
- Object.assign(swiper, {
- freeMode: {
- onTouchStart,
- onTouchMove,
- onTouchEnd,
- },
- });
- }
-
- function Grid(_ref) {
- let { swiper, extendParams } = _ref;
- extendParams({
- grid: {
- rows: 1,
- fill: "column",
- },
- });
- let slidesNumberEvenToRows;
- let slidesPerRow;
- let numFullColumns;
-
- const initSlides = (slidesLength) => {
- const { slidesPerView } = swiper.params;
- const { rows, fill } = swiper.params.grid;
- slidesPerRow = slidesNumberEvenToRows / rows;
- numFullColumns = Math.floor(slidesLength / rows);
-
- if (Math.floor(slidesLength / rows) === slidesLength / rows) {
- slidesNumberEvenToRows = slidesLength;
- } else {
- slidesNumberEvenToRows = Math.ceil(slidesLength / rows) * rows;
- }
-
- if (slidesPerView !== "auto" && fill === "row") {
- slidesNumberEvenToRows = Math.max(
- slidesNumberEvenToRows,
- slidesPerView * rows,
- );
- }
- };
-
- const updateSlide = (i, slide, slidesLength, getDirectionLabel) => {
- const { slidesPerGroup, spaceBetween } = swiper.params;
- const { rows, fill } = swiper.params.grid; // Set slides order
-
- let newSlideOrderIndex;
- let column;
- let row;
-
- if (fill === "row" && slidesPerGroup > 1) {
- const groupIndex = Math.floor(i / (slidesPerGroup * rows));
- const slideIndexInGroup = i - rows * slidesPerGroup * groupIndex;
- const columnsInGroup =
- groupIndex === 0
- ? slidesPerGroup
- : Math.min(
- Math.ceil(
- (slidesLength - groupIndex * rows * slidesPerGroup) / rows,
- ),
- slidesPerGroup,
- );
- row = Math.floor(slideIndexInGroup / columnsInGroup);
- column =
- slideIndexInGroup -
- row * columnsInGroup +
- groupIndex * slidesPerGroup;
- newSlideOrderIndex = column + (row * slidesNumberEvenToRows) / rows;
- slide.css({
- "-webkit-order": newSlideOrderIndex,
- order: newSlideOrderIndex,
- });
- } else if (fill === "column") {
- column = Math.floor(i / rows);
- row = i - column * rows;
-
- if (
- column > numFullColumns ||
- (column === numFullColumns && row === rows - 1)
- ) {
- row += 1;
-
- if (row >= rows) {
- row = 0;
- column += 1;
- }
- }
- } else {
- row = Math.floor(i / slidesPerRow);
- column = i - row * slidesPerRow;
- }
-
- slide.css(
- getDirectionLabel("margin-top"),
- row !== 0 ? spaceBetween && `${spaceBetween}px` : "",
- );
- };
-
- const updateWrapperSize = (slideSize, snapGrid, getDirectionLabel) => {
- const { spaceBetween, centeredSlides, roundLengths } = swiper.params;
- const { rows } = swiper.params.grid;
- swiper.virtualSize = (slideSize + spaceBetween) * slidesNumberEvenToRows;
- swiper.virtualSize = Math.ceil(swiper.virtualSize / rows) - spaceBetween;
- swiper.$wrapperEl.css({
- [getDirectionLabel("width")]: `${swiper.virtualSize + spaceBetween}px`,
- });
-
- if (centeredSlides) {
- snapGrid.splice(0, snapGrid.length);
- const newSlidesGrid = [];
-
- for (let i = 0; i < snapGrid.length; i += 1) {
- let slidesGridItem = snapGrid[i];
- if (roundLengths) slidesGridItem = Math.floor(slidesGridItem);
- if (snapGrid[i] < swiper.virtualSize + snapGrid[0])
- newSlidesGrid.push(slidesGridItem);
- }
-
- snapGrid.push(...newSlidesGrid);
- }
- };
-
- swiper.grid = {
- initSlides,
- updateSlide,
- updateWrapperSize,
- };
- }
-
- function appendSlide(slides) {
- const swiper = this;
- const { $wrapperEl, params } = swiper;
-
- if (params.loop) {
- swiper.loopDestroy();
- }
-
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) $wrapperEl.append(slides[i]);
- }
- } else {
- $wrapperEl.append(slides);
- }
-
- if (params.loop) {
- swiper.loopCreate();
- }
-
- if (!params.observer) {
- swiper.update();
- }
- }
-
- function prependSlide(slides) {
- const swiper = this;
- const { params, $wrapperEl, activeIndex } = swiper;
-
- if (params.loop) {
- swiper.loopDestroy();
- }
-
- let newActiveIndex = activeIndex + 1;
-
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) $wrapperEl.prepend(slides[i]);
- }
-
- newActiveIndex = activeIndex + slides.length;
- } else {
- $wrapperEl.prepend(slides);
- }
-
- if (params.loop) {
- swiper.loopCreate();
- }
-
- if (!params.observer) {
- swiper.update();
- }
-
- swiper.slideTo(newActiveIndex, 0, false);
- }
-
- function addSlide(index, slides) {
- const swiper = this;
- const { $wrapperEl, params, activeIndex } = swiper;
- let activeIndexBuffer = activeIndex;
-
- if (params.loop) {
- activeIndexBuffer -= swiper.loopedSlides;
- swiper.loopDestroy();
- swiper.slides = $wrapperEl.children(`.${params.slideClass}`);
- }
-
- const baseLength = swiper.slides.length;
-
- if (index <= 0) {
- swiper.prependSlide(slides);
- return;
- }
-
- if (index >= baseLength) {
- swiper.appendSlide(slides);
- return;
- }
-
- let newActiveIndex =
- activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;
- const slidesBuffer = [];
-
- for (let i = baseLength - 1; i >= index; i -= 1) {
- const currentSlide = swiper.slides.eq(i);
- currentSlide.remove();
- slidesBuffer.unshift(currentSlide);
- }
-
- if (typeof slides === "object" && "length" in slides) {
- for (let i = 0; i < slides.length; i += 1) {
- if (slides[i]) $wrapperEl.append(slides[i]);
- }
-
- newActiveIndex =
- activeIndexBuffer > index
- ? activeIndexBuffer + slides.length
- : activeIndexBuffer;
- } else {
- $wrapperEl.append(slides);
- }
-
- for (let i = 0; i < slidesBuffer.length; i += 1) {
- $wrapperEl.append(slidesBuffer[i]);
- }
-
- if (params.loop) {
- swiper.loopCreate();
- }
-
- if (!params.observer) {
- swiper.update();
- }
-
- if (params.loop) {
- swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
- } else {
- swiper.slideTo(newActiveIndex, 0, false);
- }
- }
-
- function removeSlide(slidesIndexes) {
- const swiper = this;
- const { params, $wrapperEl, activeIndex } = swiper;
- let activeIndexBuffer = activeIndex;
-
- if (params.loop) {
- activeIndexBuffer -= swiper.loopedSlides;
- swiper.loopDestroy();
- swiper.slides = $wrapperEl.children(`.${params.slideClass}`);
- }
-
- let newActiveIndex = activeIndexBuffer;
- let indexToRemove;
-
- if (typeof slidesIndexes === "object" && "length" in slidesIndexes) {
- for (let i = 0; i < slidesIndexes.length; i += 1) {
- indexToRemove = slidesIndexes[i];
- if (swiper.slides[indexToRemove])
- swiper.slides.eq(indexToRemove).remove();
- if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
- }
-
- newActiveIndex = Math.max(newActiveIndex, 0);
- } else {
- indexToRemove = slidesIndexes;
- if (swiper.slides[indexToRemove])
- swiper.slides.eq(indexToRemove).remove();
- if (indexToRemove < newActiveIndex) newActiveIndex -= 1;
- newActiveIndex = Math.max(newActiveIndex, 0);
- }
-
- if (params.loop) {
- swiper.loopCreate();
- }
-
- if (!params.observer) {
- swiper.update();
- }
-
- if (params.loop) {
- swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);
- } else {
- swiper.slideTo(newActiveIndex, 0, false);
- }
- }
-
- function removeAllSlides() {
- const swiper = this;
- const slidesIndexes = [];
-
- for (let i = 0; i < swiper.slides.length; i += 1) {
- slidesIndexes.push(i);
- }
-
- swiper.removeSlide(slidesIndexes);
- }
-
- function Manipulation(_ref) {
- let { swiper } = _ref;
- Object.assign(swiper, {
- appendSlide: appendSlide.bind(swiper),
- prependSlide: prependSlide.bind(swiper),
- addSlide: addSlide.bind(swiper),
- removeSlide: removeSlide.bind(swiper),
- removeAllSlides: removeAllSlides.bind(swiper),
- });
- }
-
- function effectInit(params) {
- const {
- effect,
- swiper,
- on,
- setTranslate,
- setTransition,
- overwriteParams,
- perspective,
- } = params;
- on("beforeInit", () => {
- if (swiper.params.effect !== effect) return;
- swiper.classNames.push(
- `${swiper.params.containerModifierClass}${effect}`,
- );
-
- if (perspective && perspective()) {
- swiper.classNames.push(`${swiper.params.containerModifierClass}3d`);
- }
-
- const overwriteParamsResult = overwriteParams ? overwriteParams() : {};
- Object.assign(swiper.params, overwriteParamsResult);
- Object.assign(swiper.originalParams, overwriteParamsResult);
- });
- on("setTranslate", () => {
- if (swiper.params.effect !== effect) return;
- setTranslate();
- });
- on("setTransition", (_s, duration) => {
- if (swiper.params.effect !== effect) return;
- setTransition(duration);
- });
- let requireUpdateOnVirtual;
- on("virtualUpdate", () => {
- if (!swiper.slides.length) {
- requireUpdateOnVirtual = true;
- }
-
- requestAnimationFrame(() => {
- if (requireUpdateOnVirtual && swiper.slides.length) {
- setTranslate();
- requireUpdateOnVirtual = false;
- }
- });
- });
- }
-
- function effectTarget(effectParams, $slideEl) {
- if (effectParams.transformEl) {
- return $slideEl.find(effectParams.transformEl).css({
- "backface-visibility": "hidden",
- "-webkit-backface-visibility": "hidden",
- });
- }
-
- return $slideEl;
- }
-
- function effectVirtualTransitionEnd(_ref) {
- let { swiper, duration, transformEl, allSlides } = _ref;
- const { slides, activeIndex, $wrapperEl } = swiper;
-
- if (swiper.params.virtualTranslate && duration !== 0) {
- let eventTriggered = false;
- let $transitionEndTarget;
-
- if (allSlides) {
- $transitionEndTarget = transformEl ? slides.find(transformEl) : slides;
- } else {
- $transitionEndTarget = transformEl
- ? slides.eq(activeIndex).find(transformEl)
- : slides.eq(activeIndex);
- }
-
- $transitionEndTarget.transitionEnd(() => {
- if (eventTriggered) return;
- if (!swiper || swiper.destroyed) return;
- eventTriggered = true;
- swiper.animating = false;
- const triggerEvents = ["webkitTransitionEnd", "transitionend"];
-
- for (let i = 0; i < triggerEvents.length; i += 1) {
- $wrapperEl.trigger(triggerEvents[i]);
- }
- });
- }
- }
-
- function EffectFade(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- fadeEffect: {
- crossFade: false,
- transformEl: null,
- },
- });
-
- const setTranslate = () => {
- const { slides } = swiper;
- const params = swiper.params.fadeEffect;
-
- for (let i = 0; i < slides.length; i += 1) {
- const $slideEl = swiper.slides.eq(i);
- const offset = $slideEl[0].swiperSlideOffset;
- let tx = -offset;
- if (!swiper.params.virtualTranslate) tx -= swiper.translate;
- let ty = 0;
-
- if (!swiper.isHorizontal()) {
- ty = tx;
- tx = 0;
- }
-
- const slideOpacity = swiper.params.fadeEffect.crossFade
- ? Math.max(1 - Math.abs($slideEl[0].progress), 0)
- : 1 + Math.min(Math.max($slideEl[0].progress, -1), 0);
- const $targetEl = effectTarget(params, $slideEl);
- $targetEl
- .css({
- opacity: slideOpacity,
- })
- .transform(`translate3d(${tx}px, ${ty}px, 0px)`);
- }
- };
-
- const setTransition = (duration) => {
- const { transformEl } = swiper.params.fadeEffect;
- const $transitionElements = transformEl
- ? swiper.slides.find(transformEl)
- : swiper.slides;
- $transitionElements.transition(duration);
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformEl,
- allSlides: true,
- });
- };
-
- effectInit({
- effect: "fade",
- swiper,
- on,
- setTranslate,
- setTransition,
- overwriteParams: () => ({
- slidesPerView: 1,
- slidesPerGroup: 1,
- watchSlidesProgress: true,
- spaceBetween: 0,
- virtualTranslate: !swiper.params.cssMode,
- }),
- });
- }
-
- function EffectCube(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- cubeEffect: {
- slideShadows: true,
- shadow: true,
- shadowOffset: 20,
- shadowScale: 0.94,
- },
- });
-
- const setTranslate = () => {
- const {
- $el,
- $wrapperEl,
- slides,
- width: swiperWidth,
- height: swiperHeight,
- rtlTranslate: rtl,
- size: swiperSize,
- browser,
- } = swiper;
- const params = swiper.params.cubeEffect;
- const isHorizontal = swiper.isHorizontal();
- const isVirtual = swiper.virtual && swiper.params.virtual.enabled;
- let wrapperRotate = 0;
- let $cubeShadowEl;
-
- if (params.shadow) {
- if (isHorizontal) {
- $cubeShadowEl = $wrapperEl.find(".swiper-cube-shadow");
-
- if ($cubeShadowEl.length === 0) {
- $cubeShadowEl = $('
');
- $wrapperEl.append($cubeShadowEl);
- }
-
- $cubeShadowEl.css({
- height: `${swiperWidth}px`,
- });
- } else {
- $cubeShadowEl = $el.find(".swiper-cube-shadow");
-
- if ($cubeShadowEl.length === 0) {
- $cubeShadowEl = $('
');
- $el.append($cubeShadowEl);
- }
- }
- }
-
- for (let i = 0; i < slides.length; i += 1) {
- const $slideEl = slides.eq(i);
- let slideIndex = i;
-
- if (isVirtual) {
- slideIndex = parseInt($slideEl.attr("data-swiper-slide-index"), 10);
- }
-
- let slideAngle = slideIndex * 90;
- let round = Math.floor(slideAngle / 360);
-
- if (rtl) {
- slideAngle = -slideAngle;
- round = Math.floor(-slideAngle / 360);
- }
-
- const progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
- let tx = 0;
- let ty = 0;
- let tz = 0;
-
- if (slideIndex % 4 === 0) {
- tx = -round * 4 * swiperSize;
- tz = 0;
- } else if ((slideIndex - 1) % 4 === 0) {
- tx = 0;
- tz = -round * 4 * swiperSize;
- } else if ((slideIndex - 2) % 4 === 0) {
- tx = swiperSize + round * 4 * swiperSize;
- tz = swiperSize;
- } else if ((slideIndex - 3) % 4 === 0) {
- tx = -swiperSize;
- tz = 3 * swiperSize + swiperSize * 4 * round;
- }
-
- if (rtl) {
- tx = -tx;
- }
-
- if (!isHorizontal) {
- ty = tx;
- tx = 0;
- }
-
- const transform = `rotateX(${
- isHorizontal ? 0 : -slideAngle
- }deg) rotateY(${
- isHorizontal ? slideAngle : 0
- }deg) translate3d(${tx}px, ${ty}px, ${tz}px)`;
-
- if (progress <= 1 && progress > -1) {
- wrapperRotate = slideIndex * 90 + progress * 90;
- if (rtl) wrapperRotate = -slideIndex * 90 - progress * 90;
- }
-
- $slideEl.transform(transform);
-
- if (params.slideShadows) {
- // Set shadows
- let shadowBefore = isHorizontal
- ? $slideEl.find(".swiper-slide-shadow-left")
- : $slideEl.find(".swiper-slide-shadow-top");
- let shadowAfter = isHorizontal
- ? $slideEl.find(".swiper-slide-shadow-right")
- : $slideEl.find(".swiper-slide-shadow-bottom");
-
- if (shadowBefore.length === 0) {
- shadowBefore = $(
- `
`,
- );
- $slideEl.append(shadowBefore);
- }
-
- if (shadowAfter.length === 0) {
- shadowAfter = $(
- `
`,
- );
- $slideEl.append(shadowAfter);
- }
-
- if (shadowBefore.length)
- shadowBefore[0].style.opacity = Math.max(-progress, 0);
- if (shadowAfter.length)
- shadowAfter[0].style.opacity = Math.max(progress, 0);
- }
- }
-
- $wrapperEl.css({
- "-webkit-transform-origin": `50% 50% -${swiperSize / 2}px`,
- "transform-origin": `50% 50% -${swiperSize / 2}px`,
- });
-
- if (params.shadow) {
- if (isHorizontal) {
- $cubeShadowEl.transform(
- `translate3d(0px, ${swiperWidth / 2 + params.shadowOffset}px, ${
- -swiperWidth / 2
- }px) rotateX(90deg) rotateZ(0deg) scale(${params.shadowScale})`,
- );
- } else {
- const shadowAngle =
- Math.abs(wrapperRotate) -
- Math.floor(Math.abs(wrapperRotate) / 90) * 90;
- const multiplier =
- 1.5 -
- (Math.sin((shadowAngle * 2 * Math.PI) / 360) / 2 +
- Math.cos((shadowAngle * 2 * Math.PI) / 360) / 2);
- const scale1 = params.shadowScale;
- const scale2 = params.shadowScale / multiplier;
- const offset = params.shadowOffset;
- $cubeShadowEl.transform(
- `scale3d(${scale1}, 1, ${scale2}) translate3d(0px, ${
- swiperHeight / 2 + offset
- }px, ${-swiperHeight / 2 / scale2}px) rotateX(-90deg)`,
- );
- }
- }
-
- const zFactor =
- browser.isSafari || browser.isWebView ? -swiperSize / 2 : 0;
- $wrapperEl.transform(
- `translate3d(0px,0,${zFactor}px) rotateX(${
- swiper.isHorizontal() ? 0 : wrapperRotate
- }deg) rotateY(${swiper.isHorizontal() ? -wrapperRotate : 0}deg)`,
- );
- };
-
- const setTransition = (duration) => {
- const { $el, slides } = swiper;
- slides
- .transition(duration)
- .find(
- ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left",
- )
- .transition(duration);
-
- if (swiper.params.cubeEffect.shadow && !swiper.isHorizontal()) {
- $el.find(".swiper-cube-shadow").transition(duration);
- }
- };
-
- effectInit({
- effect: "cube",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => true,
- overwriteParams: () => ({
- slidesPerView: 1,
- slidesPerGroup: 1,
- watchSlidesProgress: true,
- resistanceRatio: 0,
- spaceBetween: 0,
- centeredSlides: false,
- virtualTranslate: true,
- }),
- });
- }
-
- function createShadow(params, $slideEl, side) {
- const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ""}`;
- const $shadowContainer = params.transformEl
- ? $slideEl.find(params.transformEl)
- : $slideEl;
- let $shadowEl = $shadowContainer.children(`.${shadowClass}`);
-
- if (!$shadowEl.length) {
- $shadowEl = $(
- `
`,
- );
- $shadowContainer.append($shadowEl);
- }
-
- return $shadowEl;
- }
-
- function EffectFlip(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- flipEffect: {
- slideShadows: true,
- limitRotation: true,
- transformEl: null,
- },
- });
-
- const setTranslate = () => {
- const { slides, rtlTranslate: rtl } = swiper;
- const params = swiper.params.flipEffect;
-
- for (let i = 0; i < slides.length; i += 1) {
- const $slideEl = slides.eq(i);
- let progress = $slideEl[0].progress;
-
- if (swiper.params.flipEffect.limitRotation) {
- progress = Math.max(Math.min($slideEl[0].progress, 1), -1);
- }
-
- const offset = $slideEl[0].swiperSlideOffset;
- const rotate = -180 * progress;
- let rotateY = rotate;
- let rotateX = 0;
- let tx = swiper.params.cssMode ? -offset - swiper.translate : -offset;
- let ty = 0;
-
- if (!swiper.isHorizontal()) {
- ty = tx;
- tx = 0;
- rotateX = -rotateY;
- rotateY = 0;
- } else if (rtl) {
- rotateY = -rotateY;
- }
-
- $slideEl[0].style.zIndex =
- -Math.abs(Math.round(progress)) + slides.length;
-
- if (params.slideShadows) {
- // Set shadows
- let shadowBefore = swiper.isHorizontal()
- ? $slideEl.find(".swiper-slide-shadow-left")
- : $slideEl.find(".swiper-slide-shadow-top");
- let shadowAfter = swiper.isHorizontal()
- ? $slideEl.find(".swiper-slide-shadow-right")
- : $slideEl.find(".swiper-slide-shadow-bottom");
-
- if (shadowBefore.length === 0) {
- shadowBefore = createShadow(
- params,
- $slideEl,
- swiper.isHorizontal() ? "left" : "top",
- );
- }
-
- if (shadowAfter.length === 0) {
- shadowAfter = createShadow(
- params,
- $slideEl,
- swiper.isHorizontal() ? "right" : "bottom",
- );
- }
-
- if (shadowBefore.length)
- shadowBefore[0].style.opacity = Math.max(-progress, 0);
- if (shadowAfter.length)
- shadowAfter[0].style.opacity = Math.max(progress, 0);
- }
-
- const transform = `translate3d(${tx}px, ${ty}px, 0px) rotateX(${rotateX}deg) rotateY(${rotateY}deg)`;
- const $targetEl = effectTarget(params, $slideEl);
- $targetEl.transform(transform);
- }
- };
-
- const setTransition = (duration) => {
- const { transformEl } = swiper.params.flipEffect;
- const $transitionElements = transformEl
- ? swiper.slides.find(transformEl)
- : swiper.slides;
- $transitionElements
- .transition(duration)
- .find(
- ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left",
- )
- .transition(duration);
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformEl,
- });
- };
-
- effectInit({
- effect: "flip",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => true,
- overwriteParams: () => ({
- slidesPerView: 1,
- slidesPerGroup: 1,
- watchSlidesProgress: true,
- spaceBetween: 0,
- virtualTranslate: !swiper.params.cssMode,
- }),
- });
- }
-
- function EffectCoverflow(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- coverflowEffect: {
- rotate: 50,
- stretch: 0,
- depth: 100,
- scale: 1,
- modifier: 1,
- slideShadows: true,
- transformEl: null,
- },
- });
-
- const setTranslate = () => {
- const {
- width: swiperWidth,
- height: swiperHeight,
- slides,
- slidesSizesGrid,
- } = swiper;
- const params = swiper.params.coverflowEffect;
- const isHorizontal = swiper.isHorizontal();
- const transform = swiper.translate;
- const center = isHorizontal
- ? -transform + swiperWidth / 2
- : -transform + swiperHeight / 2;
- const rotate = isHorizontal ? params.rotate : -params.rotate;
- const translate = params.depth; // Each slide offset from center
-
- for (let i = 0, length = slides.length; i < length; i += 1) {
- const $slideEl = slides.eq(i);
- const slideSize = slidesSizesGrid[i];
- const slideOffset = $slideEl[0].swiperSlideOffset;
- const centerOffset = (center - slideOffset - slideSize / 2) / slideSize;
- const offsetMultiplier =
- typeof params.modifier === "function"
- ? params.modifier(centerOffset)
- : centerOffset * params.modifier;
- let rotateY = isHorizontal ? rotate * offsetMultiplier : 0;
- let rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0
-
- let translateZ = -translate * Math.abs(offsetMultiplier);
- let stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders
-
- if (typeof stretch === "string" && stretch.indexOf("%") !== -1) {
- stretch = (parseFloat(params.stretch) / 100) * slideSize;
- }
-
- let translateY = isHorizontal ? 0 : stretch * offsetMultiplier;
- let translateX = isHorizontal ? stretch * offsetMultiplier : 0;
- let scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values
-
- if (Math.abs(translateX) < 0.001) translateX = 0;
- if (Math.abs(translateY) < 0.001) translateY = 0;
- if (Math.abs(translateZ) < 0.001) translateZ = 0;
- if (Math.abs(rotateY) < 0.001) rotateY = 0;
- if (Math.abs(rotateX) < 0.001) rotateX = 0;
- if (Math.abs(scale) < 0.001) scale = 0;
- const slideTransform = `translate3d(${translateX}px,${translateY}px,${translateZ}px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(${scale})`;
- const $targetEl = effectTarget(params, $slideEl);
- $targetEl.transform(slideTransform);
- $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;
-
- if (params.slideShadows) {
- // Set shadows
- let $shadowBeforeEl = isHorizontal
- ? $slideEl.find(".swiper-slide-shadow-left")
- : $slideEl.find(".swiper-slide-shadow-top");
- let $shadowAfterEl = isHorizontal
- ? $slideEl.find(".swiper-slide-shadow-right")
- : $slideEl.find(".swiper-slide-shadow-bottom");
-
- if ($shadowBeforeEl.length === 0) {
- $shadowBeforeEl = createShadow(
- params,
- $slideEl,
- isHorizontal ? "left" : "top",
- );
- }
-
- if ($shadowAfterEl.length === 0) {
- $shadowAfterEl = createShadow(
- params,
- $slideEl,
- isHorizontal ? "right" : "bottom",
- );
- }
-
- if ($shadowBeforeEl.length)
- $shadowBeforeEl[0].style.opacity =
- offsetMultiplier > 0 ? offsetMultiplier : 0;
- if ($shadowAfterEl.length)
- $shadowAfterEl[0].style.opacity =
- -offsetMultiplier > 0 ? -offsetMultiplier : 0;
- }
- }
- };
-
- const setTransition = (duration) => {
- const { transformEl } = swiper.params.coverflowEffect;
- const $transitionElements = transformEl
- ? swiper.slides.find(transformEl)
- : swiper.slides;
- $transitionElements
- .transition(duration)
- .find(
- ".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left",
- )
- .transition(duration);
- };
-
- effectInit({
- effect: "coverflow",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => true,
- overwriteParams: () => ({
- watchSlidesProgress: true,
- }),
- });
- }
-
- function EffectCreative(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- creativeEffect: {
- transformEl: null,
- limitProgress: 1,
- shadowPerProgress: false,
- progressMultiplier: 1,
- perspective: true,
- prev: {
- translate: [0, 0, 0],
- rotate: [0, 0, 0],
- opacity: 1,
- scale: 1,
- },
- next: {
- translate: [0, 0, 0],
- rotate: [0, 0, 0],
- opacity: 1,
- scale: 1,
- },
- },
- });
-
- const getTranslateValue = (value) => {
- if (typeof value === "string") return value;
- return `${value}px`;
- };
-
- const setTranslate = () => {
- const { slides, $wrapperEl, slidesSizesGrid } = swiper;
- const params = swiper.params.creativeEffect;
- const { progressMultiplier: multiplier } = params;
- const isCenteredSlides = swiper.params.centeredSlides;
-
- if (isCenteredSlides) {
- const margin =
- slidesSizesGrid[0] / 2 - swiper.params.slidesOffsetBefore || 0;
- $wrapperEl.transform(`translateX(calc(50% - ${margin}px))`);
- }
-
- for (let i = 0; i < slides.length; i += 1) {
- const $slideEl = slides.eq(i);
- const slideProgress = $slideEl[0].progress;
- const progress = Math.min(
- Math.max($slideEl[0].progress, -params.limitProgress),
- params.limitProgress,
- );
- let originalProgress = progress;
-
- if (!isCenteredSlides) {
- originalProgress = Math.min(
- Math.max($slideEl[0].originalProgress, -params.limitProgress),
- params.limitProgress,
- );
- }
-
- const offset = $slideEl[0].swiperSlideOffset;
- const t = [
- swiper.params.cssMode ? -offset - swiper.translate : -offset,
- 0,
- 0,
- ];
- const r = [0, 0, 0];
- let custom = false;
-
- if (!swiper.isHorizontal()) {
- t[1] = t[0];
- t[0] = 0;
- }
-
- let data = {
- translate: [0, 0, 0],
- rotate: [0, 0, 0],
- scale: 1,
- opacity: 1,
- };
-
- if (progress < 0) {
- data = params.next;
- custom = true;
- } else if (progress > 0) {
- data = params.prev;
- custom = true;
- } // set translate
-
- t.forEach((value, index) => {
- t[index] = `calc(${value}px + (${getTranslateValue(
- data.translate[index],
- )} * ${Math.abs(progress * multiplier)}))`;
- }); // set rotates
-
- r.forEach((value, index) => {
- r[index] = data.rotate[index] * Math.abs(progress * multiplier);
- });
- $slideEl[0].style.zIndex =
- -Math.abs(Math.round(slideProgress)) + slides.length;
- const translateString = t.join(", ");
- const rotateString = `rotateX(${r[0]}deg) rotateY(${r[1]}deg) rotateZ(${r[2]}deg)`;
- const scaleString =
- originalProgress < 0
- ? `scale(${1 + (1 - data.scale) * originalProgress * multiplier})`
- : `scale(${1 - (1 - data.scale) * originalProgress * multiplier})`;
- const opacityString =
- originalProgress < 0
- ? 1 + (1 - data.opacity) * originalProgress * multiplier
- : 1 - (1 - data.opacity) * originalProgress * multiplier;
- const transform = `translate3d(${translateString}) ${rotateString} ${scaleString}`; // Set shadows
-
- if ((custom && data.shadow) || !custom) {
- let $shadowEl = $slideEl.children(".swiper-slide-shadow");
-
- if ($shadowEl.length === 0 && data.shadow) {
- $shadowEl = createShadow(params, $slideEl);
- }
-
- if ($shadowEl.length) {
- const shadowOpacity = params.shadowPerProgress
- ? progress * (1 / params.limitProgress)
- : progress;
- $shadowEl[0].style.opacity = Math.min(
- Math.max(Math.abs(shadowOpacity), 0),
- 1,
- );
- }
- }
-
- const $targetEl = effectTarget(params, $slideEl);
- $targetEl.transform(transform).css({
- opacity: opacityString,
- });
-
- if (data.origin) {
- $targetEl.css("transform-origin", data.origin);
- }
- }
- };
-
- const setTransition = (duration) => {
- const { transformEl } = swiper.params.creativeEffect;
- const $transitionElements = transformEl
- ? swiper.slides.find(transformEl)
- : swiper.slides;
- $transitionElements
- .transition(duration)
- .find(".swiper-slide-shadow")
- .transition(duration);
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformEl,
- allSlides: true,
- });
- };
-
- effectInit({
- effect: "creative",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => swiper.params.creativeEffect.perspective,
- overwriteParams: () => ({
- watchSlidesProgress: true,
- virtualTranslate: !swiper.params.cssMode,
- }),
- });
- }
-
- function EffectCards(_ref) {
- let { swiper, extendParams, on } = _ref;
- extendParams({
- cardsEffect: {
- slideShadows: true,
- transformEl: null,
- },
- });
-
- const setTranslate = () => {
- const { slides, activeIndex } = swiper;
- const params = swiper.params.cardsEffect;
- const { startTranslate, isTouched } = swiper.touchEventsData;
- const currentTranslate = swiper.translate;
-
- for (let i = 0; i < slides.length; i += 1) {
- const $slideEl = slides.eq(i);
- const slideProgress = $slideEl[0].progress;
- const progress = Math.min(Math.max(slideProgress, -4), 4);
- let offset = $slideEl[0].swiperSlideOffset;
-
- if (swiper.params.centeredSlides && !swiper.params.cssMode) {
- swiper.$wrapperEl.transform(`translateX(${swiper.minTranslate()}px)`);
- }
-
- if (swiper.params.centeredSlides && swiper.params.cssMode) {
- offset -= slides[0].swiperSlideOffset;
- }
-
- let tX = swiper.params.cssMode ? -offset - swiper.translate : -offset;
- let tY = 0;
- const tZ = -100 * Math.abs(progress);
- let scale = 1;
- let rotate = -2 * progress;
- let tXAdd = 8 - Math.abs(progress) * 0.75;
- const slideIndex =
- swiper.virtual && swiper.params.virtual.enabled
- ? swiper.virtual.from + i
- : i;
- const isSwipeToNext =
- (slideIndex === activeIndex || slideIndex === activeIndex - 1) &&
- progress > 0 &&
- progress < 1 &&
- (isTouched || swiper.params.cssMode) &&
- currentTranslate < startTranslate;
- const isSwipeToPrev =
- (slideIndex === activeIndex || slideIndex === activeIndex + 1) &&
- progress < 0 &&
- progress > -1 &&
- (isTouched || swiper.params.cssMode) &&
- currentTranslate > startTranslate;
-
- if (isSwipeToNext || isSwipeToPrev) {
- const subProgress =
- (1 - Math.abs((Math.abs(progress) - 0.5) / 0.5)) ** 0.5;
- rotate += -28 * progress * subProgress;
- scale += -0.5 * subProgress;
- tXAdd += 96 * subProgress;
- tY = `${-25 * subProgress * Math.abs(progress)}%`;
- }
-
- if (progress < 0) {
- // next
- tX = `calc(${tX}px + (${tXAdd * Math.abs(progress)}%))`;
- } else if (progress > 0) {
- // prev
- tX = `calc(${tX}px + (-${tXAdd * Math.abs(progress)}%))`;
- } else {
- tX = `${tX}px`;
- }
-
- if (!swiper.isHorizontal()) {
- const prevY = tY;
- tY = tX;
- tX = prevY;
- }
-
- const scaleString =
- progress < 0
- ? `${1 + (1 - scale) * progress}`
- : `${1 - (1 - scale) * progress}`;
- const transform = `
- translate3d(${tX}, ${tY}, ${tZ}px)
- rotateZ(${rotate}deg)
- scale(${scaleString})
- `;
-
- if (params.slideShadows) {
- // Set shadows
- let $shadowEl = $slideEl.find(".swiper-slide-shadow");
-
- if ($shadowEl.length === 0) {
- $shadowEl = createShadow(params, $slideEl);
- }
-
- if ($shadowEl.length)
- $shadowEl[0].style.opacity = Math.min(
- Math.max((Math.abs(progress) - 0.5) / 0.5, 0),
- 1,
- );
- }
-
- $slideEl[0].style.zIndex =
- -Math.abs(Math.round(slideProgress)) + slides.length;
- const $targetEl = effectTarget(params, $slideEl);
- $targetEl.transform(transform);
- }
- };
-
- const setTransition = (duration) => {
- const { transformEl } = swiper.params.cardsEffect;
- const $transitionElements = transformEl
- ? swiper.slides.find(transformEl)
- : swiper.slides;
- $transitionElements
- .transition(duration)
- .find(".swiper-slide-shadow")
- .transition(duration);
- effectVirtualTransitionEnd({
- swiper,
- duration,
- transformEl,
- });
- };
-
- effectInit({
- effect: "cards",
- swiper,
- on,
- setTranslate,
- setTransition,
- perspective: () => true,
- overwriteParams: () => ({
- watchSlidesProgress: true,
- virtualTranslate: !swiper.params.cssMode,
- }),
- });
- }
-
- // Swiper Class
- const modules = [
- Virtual,
- Keyboard,
- Mousewheel,
- Navigation,
- Pagination,
- Scrollbar,
- Parallax,
- Zoom,
- Lazy,
- Controller,
- A11y,
- History,
- HashNavigation,
- Autoplay,
- Thumb,
- freeMode,
- Grid,
- Manipulation,
- EffectFade,
- EffectCube,
- EffectFlip,
- EffectCoverflow,
- EffectCreative,
- EffectCards,
- ];
- Swiper.use(modules);
-
- return Swiper;
-});
diff --git a/themes/hugoplate/assets/scss/base.scss b/themes/hugoplate/assets/scss/base.scss
deleted file mode 100755
index b5683305..00000000
--- a/themes/hugoplate/assets/scss/base.scss
+++ /dev/null
@@ -1,59 +0,0 @@
-html {
- @apply text-base-sm md:text-base;
-}
-
-body {
- @apply bg-body dark:bg-darkmode-body font-primary font-normal leading-relaxed text-text dark:text-darkmode-text;
-}
-
-h1,
-h2,
-h3,
-h4,
-h5,
-h6 {
- @apply font-secondary font-bold leading-tight text-dark dark:text-darkmode-dark;
-}
-
-h1,
-.h1 {
- @apply text-h1-sm md:text-h1;
-}
-
-h2,
-.h2 {
- @apply text-h2-sm md:text-h2;
-}
-
-h3,
-.h3 {
- @apply text-h3-sm md:text-h3;
-}
-
-h4,
-.h4 {
- @apply text-h4;
-}
-
-h5,
-.h5 {
- @apply text-h5;
-}
-
-h6,
-.h6 {
- @apply text-h6;
-}
-
-b,
-strong {
- @apply font-semibold;
-}
-
-code {
- @apply after:border-none;
-}
-
-blockquote > p {
- @apply my-0 #{!important};
-}
diff --git a/themes/hugoplate/assets/scss/buttons.scss b/themes/hugoplate/assets/scss/buttons.scss
deleted file mode 100755
index 4a5d7edc..00000000
--- a/themes/hugoplate/assets/scss/buttons.scss
+++ /dev/null
@@ -1,15 +0,0 @@
-.btn {
- @apply inline-block rounded border border-transparent px-5 py-2 font-semibold capitalize transition;
-}
-
-.btn-sm {
- @apply rounded-sm px-4 py-1.5 text-sm;
-}
-
-.btn-primary {
- @apply border-primary bg-primary dark:border-darkmode-primary dark:text-white text-white dark:bg-primary;
-}
-
-.btn-outline-primary {
- @apply border-dark text-dark hover:bg-dark dark:hover:text-dark bg-transparent hover:text-white dark:border-white dark:text-white dark:hover:bg-white;
-}
diff --git a/themes/hugoplate/assets/scss/components.scss b/themes/hugoplate/assets/scss/components.scss
deleted file mode 100755
index 3c9e431f..00000000
--- a/themes/hugoplate/assets/scss/components.scss
+++ /dev/null
@@ -1,74 +0,0 @@
-main {
- min-height: 70vh;
-}
-
-// section style
-.section {
- @apply py-24 xl:py-28;
- &-sm {
- @apply py-16 xl:py-20;
- }
-}
-
-// container
-.container {
- @apply mx-auto px-4 2xl:max-w-[1320px];
-}
-
-// form style
-.form-input {
- @apply bg-theme-light text-dark placeholder:text-light focus:border-primary dark:border-darkmode-border dark:bg-darkmode-theme-light dark:text-darkmode-light w-full rounded border-transparent px-6 py-4 focus:ring-transparent;
-}
-
-.form-label {
- @apply font-secondary text-dark dark:text-darkmode-light mb-4 block text-xl font-normal;
-}
-
-// social icons
-.social-icons {
- @apply space-x-4;
- li {
- @apply inline-block;
- a {
- @apply bg-primary dark:bg-darkmode-primary dark:text-white flex h-9 w-9 items-center justify-center rounded text-center leading-9 text-white;
- svg {
- @apply h-5 w-5;
- }
- }
- }
-}
-
-// swiper pagination
-.swiper-pagination-bullet {
- @apply bg-theme-light dark:bg-darkmode-theme-light h-2.5 w-2.5 opacity-100 mx-1.5 #{!important};
-
- &-active {
- @apply bg-primary dark:bg-darkmode-primary h-4 w-4 #{!important};
- }
-}
-
-// content style
-.content {
- @apply prose max-w-none;
- @apply prose-headings:mb-[.3em] prose-headings:mt-[.6em] prose-headings:text-dark prose-headings:dark:text-darkmode-dark;
- @apply prose-h1:text-h1-sm md:prose-h1:text-h1;
- @apply prose-h2:text-h2-sm md:prose-h2:text-h2;
- @apply prose-h3:text-h3-sm md:prose-h3:text-h3;
- @apply prose-img:max-w-full prose-img:rounded;
- @apply prose-hr:border-border prose-hr:dark:border-darkmode-border;
- @apply prose-p:text-base prose-p:text-text prose-p:dark:text-darkmode-text;
- @apply prose-blockquote:rounded-lg prose-blockquote:border prose-blockquote:border-l-[10px] prose-blockquote:border-primary prose-blockquote:bg-theme-light prose-blockquote:px-8 prose-blockquote:py-10 prose-blockquote:font-secondary prose-blockquote:text-2xl prose-blockquote:not-italic prose-blockquote:text-dark prose-blockquote:dark:border-darkmode-primary prose-blockquote:dark:bg-darkmode-theme-light prose-blockquote:dark:text-darkmode-light;
- @apply prose-pre:rounded-lg prose-pre:bg-theme-light prose-pre:dark:bg-darkmode-theme-light;
- @apply prose-code:px-1 prose-code:dark:text-darkmode-light;
- @apply prose-strong:text-dark prose-strong:dark:text-darkmode-text;
- @apply prose-a:text-text prose-a:underline hover:prose-a:text-primary prose-a:dark:text-darkmode-text hover:prose-a:dark:text-darkmode-primary;
- @apply prose-li:text-text prose-li:dark:text-darkmode-text;
- @apply prose-table:relative prose-table:overflow-hidden prose-table:rounded-lg prose-table:before:absolute prose-table:before:left-0 prose-table:before:top-0 prose-table:before:h-full prose-table:before:w-full prose-table:before:rounded-[inherit] prose-table:before:border prose-table:before:content-[""] prose-table:before:dark:border-darkmode-border;
- @apply prose-thead:border-border prose-thead:bg-theme-light prose-thead:dark:border-darkmode-border prose-thead:dark:bg-darkmode-theme-light;
- @apply prose-th:relative prose-th:z-10 prose-th:px-4 prose-th:py-[18px] prose-th:text-dark prose-th:dark:text-darkmode-text;
- @apply prose-tr:border-border prose-tr:dark:border-darkmode-border;
- @apply prose-td:relative prose-td:z-10 prose-td:px-3 prose-td:py-[18px] prose-td:dark:text-darkmode-text;
- .btn {
- @apply dark:hover:text-dark no-underline hover:text-white #{!important};
- }
-}
diff --git a/themes/hugoplate/assets/scss/custom.scss b/themes/hugoplate/assets/scss/custom.scss
deleted file mode 100644
index 6dc68fe1..00000000
--- a/themes/hugoplate/assets/scss/custom.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-// DO NOT WRITE ANY STYLE IN THIS FILE
-// If you want to add your own styles, please write it in the `./assets/scss/custom.scss` file.
diff --git a/themes/hugoplate/assets/scss/main.scss b/themes/hugoplate/assets/scss/main.scss
deleted file mode 100755
index 4bbaf781..00000000
--- a/themes/hugoplate/assets/scss/main.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@layer base {
- @import "base";
-}
-
-@layer components {
- @import "components";
- @import "navigation";
- @import "buttons";
-}
-
-@layer utilities {
- @import "utilities";
-}
-
-@import "search";
-@import "social-share";
-@import "gallery-slider";
-@import "images";
-@import "toc";
-@import "tab";
-@import "accordion";
-@import "modal";
-@import "notice";
-
-@import "module-overrides";
-@import "custom";
diff --git a/themes/hugoplate/assets/scss/module-overrides.scss b/themes/hugoplate/assets/scss/module-overrides.scss
deleted file mode 100644
index 7240ba48..00000000
--- a/themes/hugoplate/assets/scss/module-overrides.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-// table of contents
-.table-of-content {
- @apply overflow-hidden rounded;
-}
-
-// share icons
-.share-icons {
- .share-link {
- @apply h-9 w-9 rounded leading-9;
- @apply bg-primary hover:bg-primary dark:bg-darkmode-primary dark:hover:bg-darkmode-primary;
- }
- .share-icon svg {
- @apply dark:fill-white;
- }
-}
-
-// notice
-.notice {
- @apply rounded-lg;
-}
-
-// tab
-.tab {
- @apply border-border dark:border-darkmode-border overflow-hidden rounded-lg border;
- &-nav {
- @apply border-border bg-theme-light dark:border-darkmode-border dark:bg-darkmode-theme-light pl-4;
-
- &-item {
- @apply text-dark dark:text-darkmode-dark px-8 text-lg #{!important};
- &.active {
- @apply border-dark dark:border-darkmode-primary;
- }
- }
- }
- &-content {
- &-panel {
- @apply px-4 pt-0 #{!important};
- }
- }
-}
-
-// accordion
-.accordion {
- @apply border-border bg-theme-light dark:border-darkmode-border dark:bg-darkmode-theme-light mb-6 overflow-hidden rounded-lg border;
- &-header {
- @apply text-dark dark:text-darkmode-dark;
- }
-}
-
-// cookie consent
-.cookie-box {
- @apply rounded-lg #{!important};
-}
-
-// slider
-.gallery-slider {
- @apply ml-0 #{!important};
-}
diff --git a/themes/hugoplate/assets/scss/navigation.scss b/themes/hugoplate/assets/scss/navigation.scss
deleted file mode 100755
index 24fc9e11..00000000
--- a/themes/hugoplate/assets/scss/navigation.scss
+++ /dev/null
@@ -1,87 +0,0 @@
-// navbar toggler
-input#nav-toggle:checked + label #show-button {
- @apply hidden;
-}
-
-input#nav-toggle:checked + label #hide-button {
- @apply block;
-}
-
-input#nav-toggle:checked ~ #nav-menu {
- @apply block;
-}
-
-.header {
- @apply bg-body dark:bg-darkmode-body py-6;
-}
-
-// navbar items
-.navbar {
- @apply relative flex flex-wrap items-center justify-between;
-}
-
-.navbar-brand {
- @apply text-dark dark:text-darkmode-dark text-xl font-semibold;
- image {
- @apply max-h-full max-w-full;
- }
-}
-
-.navbar-nav {
- @apply text-center lg:text-left;
-}
-
-// .nav-item {
-// @apply mx-3;
-// }
-
-.nav-link {
- @apply text-dark hover:text-primary dark:text-darkmode-dark dark:hover:text-darkmode-primary block p-3 cursor-pointer font-semibold transition lg:px-2 lg:py-3;
-}
-
-.nav-dropdown {
- @apply mr-0;
- & > svg {
- @apply pointer-events-none;
- }
- &.active {
- .nav-dropdown-list {
- @apply block;
- }
- }
-}
-
-.nav-dropdown-list {
- @apply bg-body dark:bg-darkmode-body z-10 min-w-[180px] rounded p-4 shadow hidden lg:invisible lg:absolute lg:block lg:opacity-0;
-}
-
-.nav-dropdown-item {
- @apply [&:not(:last-child)]:mb-2;
-}
-
-.nav-dropdown-link {
- @apply text-dark hover:text-primary dark:text-darkmode-text dark:hover:text-darkmode-primary block py-1 font-semibold transition;
-}
-
-//theme-switcher
-.theme-switcher {
- @apply inline-flex;
-
- label {
- @apply bg-border relative inline-block h-4 w-6 cursor-pointer rounded-2xl lg:w-10;
- }
-
- input {
- @apply absolute opacity-0;
- }
-
- span {
- @apply bg-dark absolute -top-1 left-0 flex h-6 w-6 items-center justify-center rounded-full transition-all duration-300 dark:bg-white;
- }
-
- input:checked + label {
- span {
- @apply lg:left-4;
- }
- }
-}
diff --git a/themes/hugoplate/assets/scss/utilities.scss b/themes/hugoplate/assets/scss/utilities.scss
deleted file mode 100755
index 154570e3..00000000
--- a/themes/hugoplate/assets/scss/utilities.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-.bg-gradient {
- @apply dark:from-darkmode-theme-light dark:to-darkmode-body bg-gradient-to-b from-[rgba(249,249,249,1)] from-[0.53%] to-white to-[83.28%];
-}
-
-.rounded-sm {
- @apply rounded-[4px];
-}
-.rounded {
- @apply rounded-[6px];
-}
-.rounded-lg {
- @apply rounded-[12px];
-}
-.rounded-xl {
- @apply rounded-[16px];
-}
-
-.shadow {
- box-shadow: 0px 4px 40px rgba(0, 0, 0, 0.05);
-}
diff --git a/themes/hugoplate/exampleSite/assets/images/avatar-sm.png b/themes/hugoplate/exampleSite/assets/images/avatar-sm.png
deleted file mode 100644
index e1699dc1..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/avatar-sm.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/avatar.png b/themes/hugoplate/exampleSite/assets/images/avatar.png
deleted file mode 100755
index 387b035c..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/avatar.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/banner.png b/themes/hugoplate/exampleSite/assets/images/banner.png
deleted file mode 100644
index 5f8a9e81..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/banner.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/call-to-action.png b/themes/hugoplate/exampleSite/assets/images/call-to-action.png
deleted file mode 100755
index ec2d625c..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/call-to-action.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/favicon.png b/themes/hugoplate/exampleSite/assets/images/favicon.png
deleted file mode 100644
index 13f24a31..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/favicon.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/gallery/01.jpg b/themes/hugoplate/exampleSite/assets/images/gallery/01.jpg
deleted file mode 100644
index 662fc1dc..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/gallery/01.jpg and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/gallery/02.jpg b/themes/hugoplate/exampleSite/assets/images/gallery/02.jpg
deleted file mode 100644
index 22fb37f8..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/gallery/02.jpg and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/gallery/03.jpg b/themes/hugoplate/exampleSite/assets/images/gallery/03.jpg
deleted file mode 100644
index cea735f6..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/gallery/03.jpg and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/gallery/04.jpg b/themes/hugoplate/exampleSite/assets/images/gallery/04.jpg
deleted file mode 100644
index 48d7c32b..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/gallery/04.jpg and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/gallery/05.jpg b/themes/hugoplate/exampleSite/assets/images/gallery/05.jpg
deleted file mode 100644
index 09878097..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/gallery/05.jpg and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/gallery/06.jpg b/themes/hugoplate/exampleSite/assets/images/gallery/06.jpg
deleted file mode 100644
index 662fc1dc..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/gallery/06.jpg and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/image-placeholder.png b/themes/hugoplate/exampleSite/assets/images/image-placeholder.png
deleted file mode 100755
index a61a0c09..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/image-placeholder.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/logo-darkmode.png b/themes/hugoplate/exampleSite/assets/images/logo-darkmode.png
deleted file mode 100644
index c85cca95..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/logo-darkmode.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/logo.png b/themes/hugoplate/exampleSite/assets/images/logo.png
deleted file mode 100644
index afee1070..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/logo.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/no-search-found.png b/themes/hugoplate/exampleSite/assets/images/no-search-found.png
deleted file mode 100755
index 1e1e6e16..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/no-search-found.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/og-image.png b/themes/hugoplate/exampleSite/assets/images/og-image.png
deleted file mode 100644
index e31ac0e2..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/og-image.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/service-1.png b/themes/hugoplate/exampleSite/assets/images/service-1.png
deleted file mode 100755
index 5842791a..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/service-1.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/service-2.png b/themes/hugoplate/exampleSite/assets/images/service-2.png
deleted file mode 100755
index 2cc116a3..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/service-2.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/images/service-3.png b/themes/hugoplate/exampleSite/assets/images/service-3.png
deleted file mode 100755
index cf690b7a..00000000
Binary files a/themes/hugoplate/exampleSite/assets/images/service-3.png and /dev/null differ
diff --git a/themes/hugoplate/exampleSite/assets/scss/custom.scss b/themes/hugoplate/exampleSite/assets/scss/custom.scss
deleted file mode 100755
index 96859046..00000000
--- a/themes/hugoplate/exampleSite/assets/scss/custom.scss
+++ /dev/null
@@ -1 +0,0 @@
-// Add your own custom styles here
diff --git a/themes/hugoplate/exampleSite/config/_default/languages.toml b/themes/hugoplate/exampleSite/config/_default/languages.toml
deleted file mode 100755
index fc8d07fe..00000000
--- a/themes/hugoplate/exampleSite/config/_default/languages.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-################ English language ##################
-[en]
-languageName = "En"
-languageCode = "en-us"
-contentDir = "content/english"
-weight = 1
diff --git a/themes/hugoplate/exampleSite/config/_default/menus.en.toml b/themes/hugoplate/exampleSite/config/_default/menus.en.toml
deleted file mode 100755
index 9a021f4d..00000000
--- a/themes/hugoplate/exampleSite/config/_default/menus.en.toml
+++ /dev/null
@@ -1,63 +0,0 @@
-############# English navigation ##############
-
-# main menu
-[[main]]
-name = "Home"
-pageRef = "/"
-weight = 1
-
-[[main]]
-name = "About"
-pageRef = "/about"
-weight = 2
-
-[[main]]
-name = "Elements"
-pageRef = "/elements"
-weight = 3
-
-[[main]]
-weight = 4
-name = "Pages"
-
-[[main]]
-parent = "Pages"
-name = "Blog"
-pageRef = "/blog"
-
-[[main]]
-parent = "Pages"
-name = "Contact"
-pageRef = "/contact"
-
-[[main]]
-parent = "Pages"
-name = "Authors"
-pageRef = "/authors"
-
-[[main]]
-parent = "Pages"
-name = "Categories"
-pageRef = "/categories"
-
-[[main]]
-parent = "Pages"
-name = "404 Page"
-pageRef = "/404"
-
-
-# footer menu
-[[footer]]
-name = "About"
-pageRef = "/about"
-weight = 1
-
-[[footer]]
-name = "Elements"
-pageRef = "/elements"
-weight = 2
-
-[[footer]]
-name = "Privacy Policy"
-pageRef = "/privacy-policy"
-weight = 3
diff --git a/themes/hugoplate/exampleSite/config/_default/module.toml b/themes/hugoplate/exampleSite/config/_default/module.toml
deleted file mode 100644
index 39ccf309..00000000
--- a/themes/hugoplate/exampleSite/config/_default/module.toml
+++ /dev/null
@@ -1,96 +0,0 @@
-[hugoVersion]
-extended = true
-min = "0.124.1"
-
-[[imports]]
-path = "github.com/zeon-studio/hugoplate"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/search"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/pwa"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/images"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/videos"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/icons/font-awesome"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/icons/themify-icons"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/gzip-caching"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/adsense"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/accordion"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/table-of-contents"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/tab"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/modal"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/gallery-slider"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/preloader"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/social-share"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/cookie-consent"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/announcement"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/custom-script"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/components/render-link"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/components/valine-comment"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/components/crisp-chat"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/shortcodes/button"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/shortcodes/notice"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/seo-tools/basic-seo"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/seo-tools/site-verifications"
-
-[[imports]]
-path = "github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/baidu-analytics"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/matomo-analytics"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/plausible-analytics"
-
-# [[imports]]
-# path = "github.com/gethugothemes/hugo-modules/seo-tools/counter-analytics"
diff --git a/themes/hugoplate/exampleSite/config/_default/params.toml b/themes/hugoplate/exampleSite/config/_default/params.toml
deleted file mode 100755
index c7786cd2..00000000
--- a/themes/hugoplate/exampleSite/config/_default/params.toml
+++ /dev/null
@@ -1,107 +0,0 @@
-#################### default parameters ################################
-# favicon module: https://github.com/gethugothemes/hugo-modules/tree/master/images#favicon-implementation
-favicon = "images/favicon.png"
-# logo module: https://github.com/gethugothemes/hugo-modules/tree/master/images#logo-implementation
-logo = "images/logo.png"
-logo_darkmode = "images/logo-darkmode.png"
-# use `px` or `x` with logo_width, example: "100px".
-# Note: logo_width is not work with .svg file
-logo_width = "160px"
-logo_height = "32px"
-# if logo_webp set false, will not generate WEBP version of logo | default is true
-logo_webp = true
-# logo text will only show when logo is missing.
-logo_text = "Hugoplate"
-# navbar fixed to top
-navbar_fixed = true
-# theme-mode
-theme_switcher = true
-theme_default = "system" # available options [light/dark/system]
-# Main Sections
-mainSections = ["blog"]
-# contact form action
-contact_form_action = "#" # contact form works with [https://airform.io/] or [https://formspree.io]
-# google tag manager, see https://developers.google.com/tag-manager/
-google_tag_manager = "" # example: G-XXXXXXXXXX
-google_adsense = "" # example: ca-pub-xxxxxxxxxxxxxxxx
-# custom script on header, example: custom_script= ""
-custom_script = ""
-# copyright
-copyright = "Designed & Developed by [Zeon Studio](https://zeon.studio)"
-
-# Preloader
-# preloader module: https://github.com/gethugothemes/hugo-modules/tree/master/components/preloader
-[preloader]
-enable = false
-preloader = "" # use jpg, png, svg or gif format.
-
-# Navigation button
-[navigation_button]
-enable = true
-label = "get a quote"
-link = "contact"
-
-# search
-# search module: https://github.com/gethugothemes/hugo-modules/tree/master/search
-[search]
-enable = true
-primary_color = "#121212"
-include_sections = ["blog"]
-show_image = true
-show_description = true
-show_tags = true
-show_categories = true
-
-# announcement
-# announcement module: https://github.com/gethugothemes/hugo-modules/tree/master/components/announcement
-[announcement]
-enable = true
-expire_days = 7
-content = "You must replace the **baseURL** in **hugo.toml** file when deploying, you can manage this announcement from the **params.toml** file."
-
-# seo meta data for OpenGraph / Twitter Card
-# seo module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/basic-seo
-[metadata]
-keywords = ["Boilerplate", "Hugo"]
-description = "Hugo & Tailwindcss Starter"
-author = "zeon.studio"
-image = "images/og-image.png"
-
-
-# site verifications
-# verification module: https://github.com/gethugothemes/hugo-modules/tree/master/seo-tools/site-verifications
-[site_verification]
-google = "" # Your verification code
-bing = "" # Your verification code
-baidu = "" # Your verification code
-facebook = "" # Your verification code
-mastodon = "" # Your verification code
-
-# cookies
-# cookies module: https://github.com/gethugothemes/hugo-modules/tree/master/components/cookie-consent
-[cookies]
-enable = false
-expire_days = 60
-content = "This site uses cookies. By continuing to use this website, you agree to their use."
-button = "I Accept"
-
-######################## sidebar widgets #########################
-[widgets]
-sidebar = ["categories", "tags"]
-
-
-# google map
-[google_map]
-enable = false
-map_api_key = "AIzaSyCcABaamniA6OL5YvYSpB3pFMNrXwXnLwU"
-map_latitude = "51.5223477"
-map_longitude = "-0.1622023"
-map_marker = "images/marker.png"
-
-
-# Subscription
-[subscription]
-enable = false
-# mailchimp subsciption
-mailchimp_form_action = "https://gmail.us4.list-manage.com/subscribe/post?u=463ee871f45d2d93748e77cad&id=a0a2c6d074" # replace this url with yours
-mailchimp_form_name = "b_463ee871f45d2d93748e77cad_a0a2c6d074"
diff --git a/themes/hugoplate/exampleSite/config/development/server.toml b/themes/hugoplate/exampleSite/config/development/server.toml
deleted file mode 100644
index 49e5756d..00000000
--- a/themes/hugoplate/exampleSite/config/development/server.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-# defaultContentLanguageInSubdir must be true for this to work.
-
-# Other languages redirects
-# [[redirects]]
-# from = '/fr/**'
-# to = '/fr/404.html'
-# status = 404
-
-# Default language must be last.
-[[redirects]]
-from = '/**'
-to = '/en/404.html'
-status = 404
diff --git a/themes/hugoplate/exampleSite/content/english/_index.md b/themes/hugoplate/exampleSite/content/english/_index.md
deleted file mode 100755
index 142c61a3..00000000
--- a/themes/hugoplate/exampleSite/content/english/_index.md
+++ /dev/null
@@ -1,53 +0,0 @@
----
-# Banner
-banner:
- title: "The Ultimate Starter Template You Need To Start Your Hugo Project"
- content: "Hugoplate is a free starter template built with Hugo and TailwindCSS, providing everything you need to jumpstart your Hugo project and save valuable time."
- image: "/images/banner.png"
- button:
- enable: true
- label: "Get Started For Free"
- link: "https://github.com/zeon-studio/hugoplate"
-
-# Features
-features:
- - title: "What's Included in Hugoplate"
- image: "/images/service-1.png"
- content: "Hugoplate is a comprehensive starter template that includes everything you need to get started with your Hugo project. What's Included in Hugoplate"
- bulletpoints:
- - "10+ Pre-build pages"
- - "95+ Google Pagespeed Score"
- - "Build with Hugo and TailwindCSS for easy and customizable styling"
- - "Fully responsive on all devices"
- - "SEO-optimized for better search engine rankings"
- - "**Open-source and free** for personal and commercial use"
- button:
- enable: false
- label: "Get Started Now"
- link: "#"
-
- - title: "Discover the Key Features Of Hugo"
- image: "/images/service-2.png"
- content: "Hugo is an all-in-one web framework for building fast, content-focused websites. It offers a range of exciting features for developers and website creators. Some of the key features are:"
- bulletpoints:
- - "Zero JS, by default: No JavaScript runtime overhead to slow you down."
- - "Customizable: Tailwind, MDX, and 100+ other integrations to choose from."
- - "UI-agnostic: Supports React, Preact, Svelte, Vue, Solid, Lit and more."
- button:
- enable: true
- label: "Get Started Now"
- link: "https://github.com/zeon-studio/hugoplate"
-
- - title: "The Top Reasons to Choose Hugo for Your Hugo Project"
- image: "/images/service-3.png"
- content: "With Hugo, you can build modern and content-focused websites without sacrificing performance or ease of use."
- bulletpoints:
- - "Instantly load static sites for better user experience and SEO."
- - "Intuitive syntax and support for popular frameworks make learning and using Hugo a breeze."
- - "Use any front-end library or framework, or build custom components, for any project size."
- - "Built on cutting-edge technology to keep your projects up-to-date with the latest web standards."
- button:
- enable: false
- label: ""
- link: ""
----
diff --git a/themes/hugoplate/exampleSite/content/english/about/_index.md b/themes/hugoplate/exampleSite/content/english/about/_index.md
deleted file mode 100644
index 293a3be7..00000000
--- a/themes/hugoplate/exampleSite/content/english/about/_index.md
+++ /dev/null
@@ -1,9 +0,0 @@
----
-title: "Hey, I am John Doe!"
-meta_title: "About"
-description: "this is meta description"
-image: "/images/avatar.png"
-draft: false
----
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis illum nesciunt commodi vel nisi ut alias excepturi ipsum, totam, labore tempora, odit ex iste tempore sed. Fugit voluptatibus perspiciatis assumenda nulla ad nihil, omnis vel, doloremque sit quam autem optio maiores, illum eius facilis et quo consectetur provident dolor similique! Enim voluptatem dicta expedita veritatis repellat dolorum impedit, provident quasi at.
diff --git a/themes/hugoplate/exampleSite/content/english/authors/_index.md b/themes/hugoplate/exampleSite/content/english/authors/_index.md
deleted file mode 100644
index 62eae442..00000000
--- a/themes/hugoplate/exampleSite/content/english/authors/_index.md
+++ /dev/null
@@ -1,3 +0,0 @@
----
-title: "Authors"
----
diff --git a/themes/hugoplate/exampleSite/content/english/authors/john-doe.md b/themes/hugoplate/exampleSite/content/english/authors/john-doe.md
deleted file mode 100644
index 3b550507..00000000
--- a/themes/hugoplate/exampleSite/content/english/authors/john-doe.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: John Doe
-email: johndoe@email.com
-image: "/images/avatar.png"
-description: this is meta description
-social:
- - name: github
- icon: fa-brands fa-github
- link: https://github.com
-
- - name: twitter
- icon: fa-brands fa-twitter
- link: https://twitter.com
-
- - name: linkedin
- icon: fa-brands fa-linkedin
- link: https://linkedin.com
----
-
-lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr navigation et dolore magna aliqua.
diff --git a/themes/hugoplate/exampleSite/content/english/authors/sam-wilson.md b/themes/hugoplate/exampleSite/content/english/authors/sam-wilson.md
deleted file mode 100644
index beccae63..00000000
--- a/themes/hugoplate/exampleSite/content/english/authors/sam-wilson.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: Sam Wilson
-email: samwilson@email.com
-image: "/images/avatar.png"
-description: this is meta description
-social:
- - name: github
- icon: fa-brands fa-github
- link: https://github.com
-
- - name: twitter
- icon: fa-brands fa-twitter
- link: https://twitter.com
-
- - name: linkedin
- icon: fa-brands fa-linkedin
- link: https://linkedin.com
----
-
-lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr navigation et dolore magna aliqua.
diff --git a/themes/hugoplate/exampleSite/content/english/authors/william-jacob.md b/themes/hugoplate/exampleSite/content/english/authors/william-jacob.md
deleted file mode 100644
index 3e15e0b4..00000000
--- a/themes/hugoplate/exampleSite/content/english/authors/william-jacob.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-title: William Jacob
-email: williamjacob@email.com
-image: "/images/avatar.png"
-description: this is meta description
-social:
- - name: github
- icon: fa-brands fa-github
- link: https://github.com
-
- - name: twitter
- icon: fa-brands fa-twitter
- link: https://twitter.com
-
- - name: linkedin
- icon: fa-brands fa-linkedin
- link: https://linkedin.com
----
-
-lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostr navigation et dolore magna aliqua.
diff --git a/themes/hugoplate/exampleSite/content/english/blog/_index.md b/themes/hugoplate/exampleSite/content/english/blog/_index.md
deleted file mode 100755
index 17564a26..00000000
--- a/themes/hugoplate/exampleSite/content/english/blog/_index.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: "Blog Posts"
-meta_title: ""
-description: "this is meta description"
----
diff --git a/themes/hugoplate/exampleSite/content/english/blog/post-1.md b/themes/hugoplate/exampleSite/content/english/blog/post-1.md
deleted file mode 100755
index 68280a66..00000000
--- a/themes/hugoplate/exampleSite/content/english/blog/post-1.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "How to build an Application with modern Technology"
-meta_title: ""
-description: "this is meta description"
-date: 2022-04-04T05:00:00Z
-image: "/images/image-placeholder.png"
-categories: ["Application", "Data"]
-author: "John Doe"
-tags: ["nextjs", "tailwind"]
-draft: false
----
-
-Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-## Creative Design
-
-Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
diff --git a/themes/hugoplate/exampleSite/content/english/blog/post-2.md b/themes/hugoplate/exampleSite/content/english/blog/post-2.md
deleted file mode 100755
index d0e6f1bb..00000000
--- a/themes/hugoplate/exampleSite/content/english/blog/post-2.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "How to build an Application with modern Technology"
-meta_title: ""
-description: "this is meta description"
-date: 2022-04-04T05:00:00Z
-image: "/images/image-placeholder.png"
-categories: ["Technology", "Data"]
-author: "Sam Wilson"
-tags: ["technology", "tailwind"]
-draft: false
----
-
-Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-## Creative Design
-
-Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
diff --git a/themes/hugoplate/exampleSite/content/english/blog/post-3.md b/themes/hugoplate/exampleSite/content/english/blog/post-3.md
deleted file mode 100755
index ef70402c..00000000
--- a/themes/hugoplate/exampleSite/content/english/blog/post-3.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "How to build an Application with modern Technology"
-meta_title: ""
-description: "this is meta description"
-date: 2022-04-04T05:00:00Z
-image: "/images/image-placeholder.png"
-categories: ["Software"]
-author: "John Doe"
-tags: ["software", "tailwind"]
-draft: false
----
-
-Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-## Creative Design
-
-Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
diff --git a/themes/hugoplate/exampleSite/content/english/blog/post-4.md b/themes/hugoplate/exampleSite/content/english/blog/post-4.md
deleted file mode 100755
index c9ff3722..00000000
--- a/themes/hugoplate/exampleSite/content/english/blog/post-4.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title: "How to build an Application with modern Technology"
-meta_title: ""
-description: "this is meta description"
-date: 2022-04-04T05:00:00Z
-image: "/images/image-placeholder.png"
-categories: ["Architecture"]
-author: "John Doe"
-tags: ["silicon", "technology"]
-draft: false
----
-
-Nemo vel ad consectetur namut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-## Creative Design
-
-Nam ut rutrum ex, venenatis sollicitudin urna. Aliquam erat volutpat. Integer eu ipsum sem. Ut bibendum lacus vestibulum maximus suscipit. Quisque vitae nibh iaculis neque blandit euismod.
-
-> Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Nemo vel ad consectetur ut aperiam. Itaque eligendi natus aperiam? Excepturi repellendus consequatur quibusdam optio expedita praesentium est adipisci dolorem ut eius!
diff --git a/themes/hugoplate/exampleSite/content/english/contact/_index.md b/themes/hugoplate/exampleSite/content/english/contact/_index.md
deleted file mode 100644
index bd6b9f6b..00000000
--- a/themes/hugoplate/exampleSite/content/english/contact/_index.md
+++ /dev/null
@@ -1,6 +0,0 @@
----
-title: "Contact"
-meta_title: ""
-description: "this is meta description"
-draft: false
----
diff --git a/themes/hugoplate/exampleSite/content/english/pages/elements.md b/themes/hugoplate/exampleSite/content/english/pages/elements.md
deleted file mode 100755
index 269ddbb5..00000000
--- a/themes/hugoplate/exampleSite/content/english/pages/elements.md
+++ /dev/null
@@ -1,239 +0,0 @@
----
-title: "Elements"
-# meta title
-meta_title: ""
-# meta description
-description: "This is meta description"
-# save as draft
-draft: false
----
-
-{{< toc >}}
-
-Here is an example of headings. You can use this heading by the following markdown rules. For example: use `#` for heading 1 and use `######` for heading 6.
-
-# Heading 1
-
-## Heading 2
-
-### Heading 3
-
-#### Heading 4
-
-##### Heading 5
-
-###### Heading 6
-
-
-
-### Emphasis
-
-The emphasis, aka italics, with _asterisks_ or _underscores_.
-
-Strong emphasis, aka bold, with **asterisks** or **underscores**.
-
-The combined emphasis with **asterisks and _underscores_**.
-
-Strike through uses two tildes. ~~Scratch this.~~
-
-
-
-### Button
-
-{{< button label="Button" link="/" style="solid" >}}
-
-
-
-### Link
-
-[I'm an inline-style link](https://www.google.com)
-
-[I'm an inline-style link with title](https://www.google.com "Google's Homepage")
-
-[I'm a reference-style link][Arbitrary case-insensitive reference text]
-
-[I'm a relative reference to a repository file](../blob/master/LICENSE)
-
-[You can use numbers for reference-style link definitions][1]
-
-Or leave it empty and use the [link text itself].
-
-URLs and URLs in angle brackets will automatically get turned into links.
- or and sometimes
-example.com (but not on Github, for example).
-
-Some text to show that the reference links can follow later.
-
-[arbitrary case-insensitive reference text]: https://www.themefisher.com
-[1]: https://gethugothemes.com
-[link text itself]: https://www.getjekyllthemes.com
-
-
-
-### Paragraph
-
-Lorem ipsum dolor sit amet consectetur adipisicing elit. Quam nihil enim maxime corporis cumque totam aliquid nam sint inventore optio modi neque laborum officiis necessitatibus, facilis placeat pariatur! Voluptatem, sed harum pariatur adipisci voluptates voluptatum cumque, porro sint minima similique magni perferendis fuga! Optio vel ipsum excepturi tempore reiciendis id quidem? Vel in, doloribus debitis nesciunt fugit sequi magnam accusantium modi neque quis, vitae velit, pariatur harum autem a! Velit impedit atque maiores animi possimus asperiores natus repellendus excepturi sint architecto eligendi non, omnis nihil. Facilis, doloremque illum. Fugit optio laborum minus debitis natus illo perspiciatis corporis voluptatum rerum laboriosam.
-
-
-
-### Ordered List
-
-1. List item
-2. List item
-3. List item
-4. List item
-5. List item
-
-
-
-### Unordered List
-
-- List item
-- List item
-- List item
-- List item
-- List item
-
-
-
-### Notice
-
-{{< notice "note" >}}
-This is a simple note.
-{{< /notice >}}
-
-{{< notice "tip" >}}
-This is a simple tip.
-{{< /notice >}}
-
-{{< notice "info" >}}
-This is a simple info.
-{{< /notice >}}
-
-{{< notice "warning" >}}
-This is a simple warning.
-{{< /notice >}}
-
-
-
-### Tab
-
-{{< tabs >}}
-{{< tab "Tab 1" >}}
-
-#### Hey There, I am a tab
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-{{< /tab >}}
-
-{{< tab "Tab 2" >}}
-
-#### I wanna talk about the assassination attempt
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-{{< /tab >}}
-
-{{< tab "Tab 3" >}}
-
-#### We know you’re dealing in stolen ore
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
-
-Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo
-
-{{< /tab >}}
-{{< /tabs >}}
-
-
-
-### Accordions
-
-{{< accordion "Why should you need to do this?" >}}
-
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur
-
-{{< /accordion >}}
-
-{{< accordion "How can I adjust Horizontal centering" >}}
-
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur
-
-{{< /accordion >}}
-
-{{< accordion "Should you use Negative margin?" >}}
-
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-- Lorem ipsum dolor sit amet consectetur
-
-{{< /accordion >}}
-
-
-
-### Code and Syntax Highlighting
-
-This is an `Inline code` sample.
-
-```javascript
-var s = "JavaScript syntax highlighting";
-alert(s);
-```
-
-```python
-s = "Python syntax highlighting"
-print s
-```
-
-
-
-### Blockquote
-
-> Did you come here for something in particular or just general Riker-bashing? And blowing into maximum warp speed, you appeared for an instant to be in two places at once.
-
-
-
-### Tables
-
-| Tables | Are | Cool |
-| ------------- | :-----------: | ----: |
-| col 3 is | right-aligned | $1600 |
-| col 2 is | centered | $12 |
-| zebra stripes | are neat | $1 |
-
-
-
-### Image
-
-{{< image src="images/image-placeholder.png" caption="" alt="alter-text" height="" width="" position="center" command="fill" option="q100" class="img-fluid" title="image title" webp="false" >}}
-
-
-
-### Gallery
-
-{{< gallery dir="images/gallery" class="" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
-
-
-
-### Slider
-
-{{< slider dir="images/gallery" class="max-w-[600px] ml-0" height="400" width="400" webp="true" command="Fit" option="" zoomable="true" >}}
-
-
-
-### Youtube video
-
-{{< youtube ResipmZmpDU >}}
-
-
-
-### Custom video
-
-{{< video src="https://www.w3schools.com/html/mov_bbb.mp4" width="100%" height="auto" autoplay="false" loop="false" muted="false" controls="true" class="rounded-lg" >}}
diff --git a/themes/hugoplate/exampleSite/content/english/pages/privacy-policy.md b/themes/hugoplate/exampleSite/content/english/pages/privacy-policy.md
deleted file mode 100644
index 3d16c6eb..00000000
--- a/themes/hugoplate/exampleSite/content/english/pages/privacy-policy.md
+++ /dev/null
@@ -1,33 +0,0 @@
----
-title: "Privacy"
-# meta title
-meta_title: ""
-# meta description
-description: "This is meta description"
-# save as draft
-draft: false
----
-
-#### Responsibility of Contributors
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat quisque aliquam sagittis. Sem turpis sed viverra massa gravida pharetra. Non dui dolor potenti eu dignissim fusce. Ultrices amet, in curabitur a arcu a lectus morbi id. Iaculis erat sagittis in tortor cursus. Molestie urna eu tortor, erat scelerisque eget. Nunc hendrerit sed interdum lacus. Lorem quis viverra sed
-
-pretium, aliquam sit. Praesent elementum magna amet, tincidunt eros, nibh in leo. Malesuada purus, lacus, at aliquam suspendisse tempus. Quis tempus amet, velit nascetur sollicitudin. At sollicitudin eget amet in. Eu velit nascetur sollicitudin erhdfvssfvrgss eget viverra nec elementum. Lacus, facilisis tristique lectus in.
-
-#### Gathering of Personal Information
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat quisque aliquam sagittis. Sem turpis sed viverra massa gravida pharetra. Non dui dolor potenti eu dignissim fusce. Ultrices amet, in curabitur a arcu a lectus morbi id. Iaculis erat sagittis in tortor cursus. Molestie urna eu tortor, erat scelerisque eget. Nunc hendrerit sed interdum lacus. Lorem quis viverra sed
-
-#### Protection of Personal- Information
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat quisque aliquam sagittis. Sem turpis sed viverra massa gravida pharetra. Non dui dolor potenti eu dignissim fusce. Ultrices amet, in curabitur a arcu a lectus morbi id. Iaculis erat sagittis in tortor cursus.
-
-Molestie urna eu tortor, erat scelerisque eget. Nunc hendrerit sed interdum lacus. Lorem quis viverra sed
-Lorem ipsum dolor sit amet, consectetur adipiscing elit. Purus, donec nunc eros, ullamcorper id feugiat
-
-#### Privacy Policy Changes
-
-1. Sll the Themefisher items are designed to be with the latest , We check all
-2. comments that threaten or harm the reputation of any person or organization
-3. personal information including, but limited to, email addresses, telephone numbers
-4. Any Update come in The technology Customer will get automatic Notification.
diff --git a/themes/hugoplate/exampleSite/content/english/sections/call-to-action.md b/themes/hugoplate/exampleSite/content/english/sections/call-to-action.md
deleted file mode 100644
index efda1486..00000000
--- a/themes/hugoplate/exampleSite/content/english/sections/call-to-action.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-enable: true
-title: "Ready to build your next project with Hugo?"
-image: "/images/call-to-action.png"
-description: "Experience the future of web development with Hugoplate and Hugo. Build lightning-fast static sites with ease and flexibility."
-button:
- enable: true
- label: "Get Started Now"
- link: "https://github.com/zeon-studio/hugoplate"
-
-# don't create a separate page
-_build:
- render: "never"
----
diff --git a/themes/hugoplate/exampleSite/content/english/sections/testimonial.md b/themes/hugoplate/exampleSite/content/english/sections/testimonial.md
deleted file mode 100644
index 6e403247..00000000
--- a/themes/hugoplate/exampleSite/content/english/sections/testimonial.md
+++ /dev/null
@@ -1,31 +0,0 @@
----
-enable: true
-title: "What Users Are Saying About Hugoplate"
-description: "Don't just take our word for it - hear from some of our satisfied users! Check out some of our testimonials below to see what others are saying about Hugoplate."
-
-# Testimonials
-testimonials:
- - name: "Marvin McKinney"
- designation: "Web Designer"
- avatar: "/images/avatar-sm.png"
- content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
-
- - name: "Marvin McKinney"
- designation: "Web Designer"
- avatar: "/images/avatar-sm.png"
- content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
-
- - name: "Marvin McKinney"
- designation: "Web Designer"
- avatar: "/images/avatar-sm.png"
- content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
-
- - name: "Marvin McKinney"
- designation: "Web Designer"
- avatar: "/images/avatar-sm.png"
- content: "Lorem ipsum dolor sit amet consectetur adipisicing elit. Qui iusto illo molestias, assumenda expedita commodi inventore non itaque molestiae voluptatum dolore, facilis sapiente, repellat veniam."
-
-# don't create a separate page
-_build:
- render: "never"
----
diff --git a/themes/hugoplate/exampleSite/data/social.json b/themes/hugoplate/exampleSite/data/social.json
deleted file mode 100644
index 513cca76..00000000
--- a/themes/hugoplate/exampleSite/data/social.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "main": [
- {
- "name": "facebook",
- "icon": "fab fa-facebook",
- "link": "https://www.facebook.com/"
- },
- {
- "name": "twitter",
- "icon": "fab fa-twitter",
- "link": "https://twitter.com/"
- },
- {
- "name": "github",
- "icon": "fab fa-github",
- "link": "https://www.github.com/"
- },
- {
- "name": "linkedin",
- "icon": "fab fa-linkedin",
- "link": "https://www.linkedin.com/"
- }
- ]
-}
diff --git a/themes/hugoplate/exampleSite/data/theme.json b/themes/hugoplate/exampleSite/data/theme.json
deleted file mode 100644
index a17716f2..00000000
--- a/themes/hugoplate/exampleSite/data/theme.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "colors": {
- "default": {
- "theme_color": {
- "primary": "#121212",
- "body": "#fff",
- "border": "#eaeaea",
- "theme_light": "#f6f6f6",
- "theme_dark": ""
- },
- "text_color": {
- "default": "#444444",
- "dark": "#040404",
- "light": "#717171"
- }
- },
- "darkmode": {
- "theme_color": {
- "primary": "#fff",
- "body": "#1c1c1c",
- "border": "#3E3E3E",
- "theme_light": "#222222",
- "theme_dark": ""
- },
- "text_color": {
- "default": "#B4AFB6",
- "dark": "#fff",
- "light": "#B4AFB6"
- }
- }
- },
- "fonts": {
- "font_family": {
- "primary": "Heebo:wght@400;600",
- "primary_type": "sans-serif",
- "secondary": "Signika:wght@500;700",
- "secondary_type": "sans-serif"
- },
- "font_size": {
- "base": "16",
- "scale": "1.2"
- }
- }
-}
diff --git a/themes/hugoplate/exampleSite/go.mod b/themes/hugoplate/exampleSite/go.mod
deleted file mode 100644
index 9ec6f06c..00000000
--- a/themes/hugoplate/exampleSite/go.mod
+++ /dev/null
@@ -1,30 +0,0 @@
-module hugoplate.netlify.app
-
-go 1.20
-
-require (
- github.com/gethugothemes/hugo-modules/accordion v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/adsense v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/announcement v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/cookie-consent v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/custom-script v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/preloader v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/render-link v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/components/social-share v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/gallery-slider v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/gzip-caching v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/icons/font-awesome v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/images v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/modal v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/pwa v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/search v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/seo-tools/basic-seo v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/seo-tools/google-tag-manager v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/seo-tools/site-verifications v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/shortcodes/button v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/shortcodes/notice v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/tab v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/table-of-contents v0.0.0-20240423040330-6260da698660 // indirect
- github.com/gethugothemes/hugo-modules/videos v0.0.0-20240423040330-6260da698660 // indirect
- github.com/zeon-studio/hugoplate v0.0.0-20240422031018-f1a3ce07e1d2 // indirect
-)
diff --git a/themes/hugoplate/exampleSite/hugo.toml b/themes/hugoplate/exampleSite/hugo.toml
deleted file mode 100755
index 1483456c..00000000
--- a/themes/hugoplate/exampleSite/hugo.toml
+++ /dev/null
@@ -1,173 +0,0 @@
-######################## default configuration ####################
-# The base URL of your site (required). This will be prepended to all relative URLs.
-baseURL = "/"
-# Title of your website (required).
-title = "Hugoplate"
-# Your theme name
-# theme = "hugoplate"
-# Default time zone for time stamps; use any valid tz database name: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
-timeZone = "America/New_York"
-# post pagination
-paginate = 2 # see https://gohugo.io/extras/pagination/
-# post excerpt
-summaryLength = 10 # see https://gohugo.io/content-management/excerpts/
-# disable language
-disableLanguages = [
-] # example: ["fr"] for disable french language. see https://gohugo.io/content-management/multilingual/
-hasCJKLanguage = false # If hasCJKLanguage true, auto-detect Chinese/Japanese/Korean Languages in the content. see: https://gohugo.io/getting-started/configuration/#hascjklanguage
-# default language
-defaultContentLanguage = 'en'
-# defaultContentLanguageInSubdir need to be true if you want to use the language code as a subdirectory and language specific 404 page
-defaultContentLanguageInSubdir = false
-
-########################### Services #############################
-[services]
-[services.googleAnalytics]
-ID = 'G-MEASUREMENT_ID' # see https://gohugo.io/templates/internal/#configure-google-analytics
-
-[services.disqus]
-shortname = 'themefisher-template' # we use disqus to show comments in blog posts . To install disqus please follow this tutorial https://portfolio.peter-baumgartner.net/2017/09/10/how-to-install-disqus-on-hugo/
-
-########################## Permalinks ############################
-[permalinks.page]
-"pages" = "/:slugorfilename/"
-
-
-############################# Modules ############################
-[module]
-[[module.mounts]]
-source = "assets"
-target = "assets"
-
-[[module.mounts]]
-source = "hugo_stats.json"
-target = "assets/watching/hugo_stats.json"
-
-############################# Build ##############################
-[build]
-noJSConfigInAssets = false
-useResourceCacheWhen = 'fallback'
-[build.buildStats]
-enable = true
-[[build.cachebusters]]
-source = 'assets/watching/hugo_stats\.json'
-target = 'style\.css'
-[[build.cachebusters]]
-source = '(postcss|tailwind)\.config\.js'
-target = 'css'
-[[build.cachebusters]]
-source = 'assets/.*\.(js|ts|jsx|tsx)'
-target = 'js'
-[[build.cachebusters]]
-source = 'assets/.*\.(css|scss|sass)'
-target = 'css'
-[[build.cachebusters]]
-source = 'data/.*\.(.*)$'
-target = 'css'
-[[build.cachebusters]]
-source = 'assets/.*\.(.*)$'
-target = '$1'
-
-
-############################# Outputs ############################
-[outputs]
-home = ["HTML", "RSS", "WebAppManifest", "SearchIndex"]
-
-############################# Imaging ############################
-[imaging]
-# See https://github.com/disintegration/imaging
-# Default JPEG or WebP quality setting. Default is 75.
-quality = 80
-resampleFilter = "Lanczos"
-
-############################ Caches ##############################
-[caches]
-[caches.images]
-dir = ":resourceDir/_gen"
-maxAge = "720h"
-
-[caches.assets]
-dir = ":resourceDir/_gen"
-maxAge = "720h"
-
-
-############################ Markup ##############################
-[markup]
-[markup.goldmark.renderer]
-unsafe = true
-
-[markup.highlight]
-style = 'monokai' # see https://xyproto.github.io/splash/docs/all.html
-
-[markup.tableOfContents]
-startLevel = 2
-endLevel = 5
-ordered = true
-
-
-########################### Media types ###########################
-[mediaTypes]
-[mediaTypes."application/manifest+json"]
-suffixes = ["webmanifest"]
-
-
-########################### Output Format ##########################
-[outputFormats]
-[outputFormats.WebAppManifest]
-mediaType = "application/manifest+json"
-rel = "manifest"
-
-[outputFormats.SearchIndex]
-mediaType = "application/json"
-baseName = "searchindex"
-isPlainText = true
-notAlternative = true
-
-
-############################# Plugins ##############################
-
-# CSS Plugins
-[[params.plugins.css]]
-link = "plugins/swiper/swiper-bundle.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/glightbox/glightbox.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/font-awesome/v6/brands.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/font-awesome/v6/solid.css"
-lazy = true
-[[params.plugins.css]]
-link = "plugins/font-awesome/v6/icons.css"
-lazy = true
-
-# JS Plugins
-[[params.plugins.js]]
-link = "js/search.js"
-lazy = false
-[[params.plugins.js]]
-link = "plugins/swiper/swiper-bundle.js"
-lazy = false
-[[params.plugins.js]]
-link = "plugins/cookie.js"
-lazy = false
-[[params.plugins.js]]
-link = "plugins/glightbox/glightbox.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/gallery-slider.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/accordion.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/tab.js"
-lazy = true
-[[params.plugins.js]]
-link = "js/modal.js"
-lazy = true
-[[params.plugins.js]]
-link = "plugins/youtube-lite.js"
-lazy = true
diff --git a/themes/hugoplate/exampleSite/i18n/en.yaml b/themes/hugoplate/exampleSite/i18n/en.yaml
deleted file mode 100755
index b0230ebe..00000000
--- a/themes/hugoplate/exampleSite/i18n/en.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-- id: home
- translation: Home
-
-- id: read_more
- translation: Read More
-
-- id: send
- translation: Send
-
-- id: related_posts
- translation: Related Posts
-
-- id: categories
- translation: Categories
-
-- id: tags
- translation: Tags
-
-- id: toc
- translation: Table of Contents
-
-- id: share
- translation: Share
-
-- id: search_input_placeholder
- translation: Search Post ...
-
-- id: search_no_results
- translation: No results for
-
-- id: search_initial_message
- translation: Type something to search..
-
-- id: search_navigate
- translation: to navigate
-
-- id: search_select
- translation: to select
-
-- id: search_close
- translation: to close
diff --git a/themes/hugoplate/exampleSite/postcss.config.js b/themes/hugoplate/exampleSite/postcss.config.js
deleted file mode 100644
index f9887c51..00000000
--- a/themes/hugoplate/exampleSite/postcss.config.js
+++ /dev/null
@@ -1,45 +0,0 @@
-const purgecss = {
- content: ["./hugo_stats.json"],
- defaultExtractor: (content) => {
- const elements = JSON.parse(content).htmlElements;
- return [
- ...(elements.tags || []),
- ...(elements.classes || []),
- ...(elements.ids || []),
- ];
- },
- safelist: [
- /^swiper-/,
- /^lb-/,
- /^gl/,
- /^go/,
- /^gc/,
- /^gs/,
- /^gi/,
- /^gz/,
- /^gprev/,
- /^gnext/,
- /^desc/,
- /^zoom/,
- /^search/,
- /^:is/,
- /dark/,
- /show/,
- /dragging/,
- /fullscreen/,
- /loaded/,
- /visible/,
- /current/,
- /active/,
- /mark/,
- ],
-};
-
-module.exports = {
- plugins: {
- tailwindcss: {},
- "@fullhuman/postcss-purgecss":
- process.env.HUGO_ENVIRONMENT === "production" ? purgecss : false,
- autoprefixer: process.env.HUGO_ENVIRONMENT === "production" ? {} : false,
- },
-};
diff --git a/themes/hugoplate/exampleSite/tailwind.config.js b/themes/hugoplate/exampleSite/tailwind.config.js
deleted file mode 100755
index c8754a7e..00000000
--- a/themes/hugoplate/exampleSite/tailwind.config.js
+++ /dev/null
@@ -1,103 +0,0 @@
-const fs = require("fs");
-const path = require("path");
-const themePath = path.join(__dirname, "data/theme.json");
-const themeRead = fs.readFileSync(themePath, "utf8");
-const theme = JSON.parse(themeRead);
-
-let font_base = Number(theme.fonts.font_size.base.replace("px", ""));
-let font_scale = Number(theme.fonts.font_size.scale);
-let h6 = font_scale;
-let h5 = h6 * font_scale;
-let h4 = h5 * font_scale;
-let h3 = h4 * font_scale;
-let h2 = h3 * font_scale;
-let h1 = h2 * font_scale;
-let fontPrimary, fontPrimaryType, fontSecondary, fontSecondaryType;
-if (theme.fonts.font_family.primary) {
- fontPrimary = theme.fonts.font_family.primary
- .replace(/\+/g, " ")
- .replace(/:[ital,]*[ital@]*[wght@]*[0-9,;.]+/gi, "");
- fontPrimaryType = theme.fonts.font_family.primary_type;
-}
-if (theme.fonts.font_family.secondary) {
- fontSecondary = theme.fonts.font_family.secondary
- .replace(/\+/g, " ")
- .replace(/:[ital,]*[ital@]*[wght@]*[0-9,;.]+/gi, "");
- fontSecondaryType = theme.fonts.font_family.secondary_type;
-}
-
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- content: ["./hugo_stats.json"],
- safelist: [{ pattern: /^swiper-/ }],
- darkMode: "class",
- theme: {
- screens: {
- sm: "540px",
- md: "768px",
- lg: "1024px",
- xl: "1280px",
- "2xl": "1536px",
- },
- container: {
- center: true,
- padding: "2rem",
- },
- extend: {
- colors: {
- text: theme.colors.default.text_color.default,
- light: theme.colors.default.text_color.light,
- dark: theme.colors.default.text_color.dark,
- primary: theme.colors.default.theme_color.primary,
- secondary: theme.colors.default.theme_color.secondary,
- body: theme.colors.default.theme_color.body,
- border: theme.colors.default.theme_color.border,
- "theme-light": theme.colors.default.theme_color.theme_light,
- "theme-dark": theme.colors.default.theme_color.theme_dark,
- darkmode: {
- text: theme.colors.darkmode.text_color.default,
- light: theme.colors.darkmode.text_color.light,
- dark: theme.colors.darkmode.text_color.dark,
- primary: theme.colors.darkmode.theme_color.primary,
- secondary: theme.colors.darkmode.theme_color.secondary,
- body: theme.colors.darkmode.theme_color.body,
- border: theme.colors.darkmode.theme_color.border,
- "theme-light": theme.colors.darkmode.theme_color.theme_light,
- "theme-dark": theme.colors.darkmode.theme_color.theme_dark,
- },
- },
- fontSize: {
- base: font_base + "px",
- "base-sm": font_base * 0.8 + "px",
- h1: h1 + "rem",
- "h1-sm": h1 * 0.9 + "rem",
- h2: h2 + "rem",
- "h2-sm": h2 * 0.9 + "rem",
- h3: h3 + "rem",
- "h3-sm": h3 * 0.9 + "rem",
- h4: h4 + "rem",
- h5: h5 + "rem",
- h6: h6 + "rem",
- },
- fontFamily: {
- primary: [fontPrimary, fontPrimaryType],
- secondary: [fontSecondary, fontSecondaryType],
- },
- },
- },
- plugins: [
- require("@tailwindcss/typography"),
- require("@tailwindcss/forms"),
- require("tailwind-bootstrap-grid")({
- generateContainer: false,
- gridGutterWidth: "2rem",
- gridGutters: {
- 1: "0.25rem",
- 2: "0.5rem",
- 3: "1rem",
- 4: "1.5rem",
- 5: "3rem",
- },
- }),
- ],
-};
diff --git a/themes/hugoplate/layouts/404.html b/themes/hugoplate/layouts/404.html
deleted file mode 100755
index c9b9fe59..00000000
--- a/themes/hugoplate/layouts/404.html
+++ /dev/null
@@ -1,26 +0,0 @@
-{{ define "main" }}
-
-
-
-
-
- 404
-
-
OOPS! Page not found
-
-
- The page you are looking for might have been removed, had its name
- changed, or is temporarily unavailable.
-
-
-
- Back to home
-
-
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/_default/baseof.html b/themes/hugoplate/layouts/_default/baseof.html
deleted file mode 100755
index b4a8a104..00000000
--- a/themes/hugoplate/layouts/_default/baseof.html
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
-
- {{ partial "essentials/head.html" . }}
-
-
-
- {{ partialCached "essentials/style.html" . }}
-
-
-
-
- {{ if hugo.IsProduction }}
- {{ partialCached "preloader.html" . }}
- {{ partialCached "gtm-noscript.html" . }}
- {{ else }}
- {{ partial "preloader.html" . }}
-
-
-
- {{ partial "components/tw-size-indicator.html" . }}
- {{ end }}
-
-
-
- {{ partial "essentials/header.html" . }}
- {{ partial "search-modal.html" (dict "Context" . ) }}
-
-
-
- {{ block "main" . }}{{ end }}
-
-
-
- {{ partial "essentials/footer.html" . }}
-
-
-
- {{ partialCached "essentials/script.html" . }}
-
-
diff --git a/themes/hugoplate/layouts/_default/list.html b/themes/hugoplate/layouts/_default/list.html
deleted file mode 100755
index 457b96f4..00000000
--- a/themes/hugoplate/layouts/_default/list.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{{ define "main" }}
- {{ partial "page-header" . }}
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/_default/single.html b/themes/hugoplate/layouts/_default/single.html
deleted file mode 100755
index 5e2cb0f2..00000000
--- a/themes/hugoplate/layouts/_default/single.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{{ define "main" }}
- {{ partial "page-header" . }}
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/_default/taxonomy.html b/themes/hugoplate/layouts/_default/taxonomy.html
deleted file mode 100755
index ec083f81..00000000
--- a/themes/hugoplate/layouts/_default/taxonomy.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{{ define "main" }}
- {{ partial "page-header" . }}
-
-
-
-
-
-
-
-
- {{ range .Data.Pages }}
-
- {{ partial "components/blog-card" . }}
-
- {{ end }}
-
-
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/_default/terms.html b/themes/hugoplate/layouts/_default/terms.html
deleted file mode 100755
index 7e6f6487..00000000
--- a/themes/hugoplate/layouts/_default/terms.html
+++ /dev/null
@@ -1,41 +0,0 @@
-{{ define "main" }}
- {{ partial "page-header" . }}
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/about/list.html b/themes/hugoplate/layouts/about/list.html
deleted file mode 100644
index 7a28ec94..00000000
--- a/themes/hugoplate/layouts/about/list.html
+++ /dev/null
@@ -1,13 +0,0 @@
-{{ define "main" }}
-
-
-
-
- {{ partial "image" (dict "Src" .Params.image "Alt" .Title "Class" "mx-auto mb-6" "Size" "200x200") }}
-
{{ .Title }}
-
{{ .Content }}
-
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/authors/list.html b/themes/hugoplate/layouts/authors/list.html
deleted file mode 100644
index 30e575e8..00000000
--- a/themes/hugoplate/layouts/authors/list.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{{ define "main" }}
- {{ partial "page-header" . }}
-
-
-
-
-
- {{ range .RegularPages }}
-
- {{ partial "components/author-card" . }}
-
- {{ end }}
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/authors/single.html b/themes/hugoplate/layouts/authors/single.html
deleted file mode 100755
index 36cd1b0a..00000000
--- a/themes/hugoplate/layouts/authors/single.html
+++ /dev/null
@@ -1,48 +0,0 @@
-{{ define "main" }}
-
-
-
-
- {{ $image:= .Params.image }}
- {{ if $image }}
- {{ partial "image" (dict "Src" $image "Alt" .Title "Class" "mx-auto" "Size" "200x200") }}
- {{ else if .Params.Email }}
-
- {{ end }}
-
{{ .Title }}
-
- {{ .Content }}
-
-
- {{ range .Params.social }}
-
-
- {{ .title }}
-
-
-
- {{ end }}
-
-
-
-
-
- {{ $filterByAuthor := where site.RegularPages "Params.author" "==" .Title }}
- {{ range $filterByAuthor }}
-
- {{ partial "components/blog-card" . }}
-
- {{ end }}
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/blog/list.html b/themes/hugoplate/layouts/blog/list.html
deleted file mode 100644
index 8433ce85..00000000
--- a/themes/hugoplate/layouts/blog/list.html
+++ /dev/null
@@ -1,29 +0,0 @@
-{{ define "main" }}
- {{ partial "page-header" . }}
-
-
-
-
-
-
-
-
- {{ $paginator:= .Paginate .RegularPages }}
- {{ range $paginator.Pages }}
-
- {{ partial "components/blog-card" . }}
-
- {{ end }}
-
- {{ partial "components/pagination.html" . }}
-
-
-
-
- {{ $widget:= site.Params.widgets.sidebar }}
- {{ partialCached "widgets/widget-wrapper" ( dict "Widgets" $widget "Scope" . ) }}
-
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/blog/single.html b/themes/hugoplate/layouts/blog/single.html
deleted file mode 100644
index ef5b2999..00000000
--- a/themes/hugoplate/layouts/blog/single.html
+++ /dev/null
@@ -1,94 +0,0 @@
-{{ define "main" }}
-
-
-
-
- {{ $image:= .Params.image }}
- {{ if $image }}
-
- {{ partial "image" (dict "Src" $image "Alt" .Title "Class" "w-full rounded") }}
-
- {{ end }}
-
- {{ .Title }}
-
-
-
- {{ .Content }}
-
-
- {{ $tags:= .Params.tags }}
- {{ if $tags }}
-
-
{{ i18n "tags" }} :
-
-
- {{ end }}
-
- {{ partial "social-share" (dict "Context" . "Class" "share-icons" "Title" (i18n "share") "Whatsapp" false "Telegram" false "Linkedin" false "Pinterest" false "Tumblr" false "Vk" false) }}
-
-
-
- {{ if site.Config.Services.Disqus.Shortname }}
-
- {{ template "_internal/disqus.html" . }}
-
- {{ end }}
-
-
-
-
- {{ $related := (where site.RegularPages "Section" "in" site.Params.mainSections) | intersect (where site.RegularPages ".Title" "!=" .Title) | union (site.RegularPages.Related . ) }}
- {{ $related = $related | shuffle | first 3 }}
- {{ with $related }}
-
-
{{ i18n "related_posts" }}
-
- {{ range . }}
-
- {{ partial "components/blog-card" . }}
-
- {{ end }}
-
-
- {{ end }}
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/contact/list.html b/themes/hugoplate/layouts/contact/list.html
deleted file mode 100755
index 207f8896..00000000
--- a/themes/hugoplate/layouts/contact/list.html
+++ /dev/null
@@ -1,120 +0,0 @@
-{{ define "main" }}
- {{ partial "page-header" . }}
-
-
-
-
-
- {{ with site.Params.google_map }}
- {{ if .enable }}
-
- {{ end }}
- {{ end }}
-
- {{ with site.Params.subscription }}
- {{ if .enable }}
-
-
-
-
-
- {{ .button_label }}
-
-
-
-
-
-
-
-
-
-
- {{ end }}
- {{ end }}
-
- {{ if site.Params.google_map.enable }}
- {{ $gmap:= resources.Get "plugins/maps/google-map.js" }}
-
-
- {{ end }}
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/index.html b/themes/hugoplate/layouts/index.html
deleted file mode 100755
index d9c726d8..00000000
--- a/themes/hugoplate/layouts/index.html
+++ /dev/null
@@ -1,146 +0,0 @@
-{{ define "main" }}
-
-
- {{ with .Params.banner }}
-
-
-
-
-
- {{ .title | markdownify }}
-
-
Be Silent When It Is Time To Hear! 🤫
-
- {{ .content | markdownify }}
-
- {{ with .button }}
- {{ if .enable }}
-
- {{ .label }}
-
-
- {{ end }}
- {{ end }}
-
-
- {{ partial "image" (dict "Src" .image "Alt" "Banner image" "Loading" "eager" "Class" "mx-auto lg:!max-w-[800px]" "DisplayXL" "800x" ) }}
-
-
-
-
- {{ end }}
-
-
-
- {{ range $i, $e:= .Params.features }}
-
-
-
-
- {{ partial "image" (dict "Src" .image "Alt" "feature image" "DisplayXL" "520x" "DisplayLG" "425x" "DisplayMD" "360x") }}
-
-
-
- {{ .title | markdownify }}
-
-
- {{ .content | markdownify }}
-
-
- {{ range .bulletpoints }}
-
-
- {{ . | markdownify }}
-
- {{ end }}
-
- {{ with .button }}
- {{ if .enable }}
-
- {{ .label }}
-
-
- {{ end }}
- {{ end }}
-
-
-
-
- {{ end }}
-
-
-
- {{ with site.GetPage "sections/testimonial" }}
- {{ if .Params.enable }}
-
-
-
-
-
- {{ .Title | markdownify }}
-
-
- {{ .Params.description | markdownify }}
-
-
-
-
-
- {{ range .Params.testimonials }}
-
-
-
-
- {{ .content | markdownify }}
-
-
-
- {{ partial "image" (dict "Src" .avatar "Size" "50x50" "Class" "rounded-full" "Alt" .name) }}
-
-
-
- {{ .name }}
-
-
- {{ .designation | markdownify }}
-
-
-
-
-
- {{ end }}
-
-
-
-
-
-
-
- {{ end }}
- {{ end }}
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/partials/call-to-action.html b/themes/hugoplate/layouts/partials/call-to-action.html
deleted file mode 100644
index dce08370..00000000
--- a/themes/hugoplate/layouts/partials/call-to-action.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-{{ with site.GetPage "sections/call-to-action" }}
- {{ if .Params.enable }}
-
-
-
-
-
- {{ partial "image" (dict "Src" .image "Alt" "call to action" "Class" "w-full") }}
-
-
-
- {{ .Title | markdownify }}
-
-
- {{ .Params.description | markdownify }}
-
- {{ with .Params.button }}
- {{ if .enable }}
-
- {{ .label }}
-
- {{ end }}
- {{ end }}
-
-
-
-
-
- {{ end }}
-{{ end }}
-
diff --git a/themes/hugoplate/layouts/partials/components/author-card.html b/themes/hugoplate/layouts/partials/components/author-card.html
deleted file mode 100755
index 23292af9..00000000
--- a/themes/hugoplate/layouts/partials/components/author-card.html
+++ /dev/null
@@ -1,30 +0,0 @@
-
- {{ $image:= .Params.image }}
- {{ if $image }}
- {{ partial "image" (dict "Src" $image "Alt" .Title "Class" "mx-auto mb-6 rounded" "size" "120x120") }}
- {{ else if .Params.Email }}
-
- {{ end }}
-
-
- {{ .Summary }}
-
-
-
diff --git a/themes/hugoplate/layouts/partials/components/blog-card.html b/themes/hugoplate/layouts/partials/components/blog-card.html
deleted file mode 100644
index 1ca1efee..00000000
--- a/themes/hugoplate/layouts/partials/components/blog-card.html
+++ /dev/null
@@ -1,37 +0,0 @@
-
- {{ $image:= .Params.image }}
- {{ if $image }}
- {{ partial "image" (dict "Src" $image "Alt" .Title "Class" "mb-6 w-full rounded") }}
- {{ end }}
-
- {{ $categories:= .Params.categories }}
- {{ if $categories }}
-
- {{ end }}
-
{{ .Summary }}
-
- {{ i18n "read_more" }}
-
-
diff --git a/themes/hugoplate/layouts/partials/components/breadcrumb.html b/themes/hugoplate/layouts/partials/components/breadcrumb.html
deleted file mode 100644
index b21939c6..00000000
--- a/themes/hugoplate/layouts/partials/components/breadcrumb.html
+++ /dev/null
@@ -1,30 +0,0 @@
-{{ $context := .Context }}
-{{ $class := .Class }}
-{{ $base := site.Home.Permalink }}
-
-
-
diff --git a/themes/hugoplate/layouts/partials/components/language-switcher.html b/themes/hugoplate/layouts/partials/components/language-switcher.html
deleted file mode 100644
index bbee9ddf..00000000
--- a/themes/hugoplate/layouts/partials/components/language-switcher.html
+++ /dev/null
@@ -1,28 +0,0 @@
-
-{{ $class := .Class }}
-{{ $context := .Context }}
-{{ $pageLang := $context.Lang }}
-{{ $base:= urls.Parse site.Home.Permalink }}
-{{ $siteLanguages := site.Home.AllTranslations }}
-{{ $pageLink := replace (replace $context.RelPermalink (add $pageLang "/") "") $base.Path "/" }}
-
-{{ if $context.IsTranslated }}
-
- {{ range $siteLanguages }}
- {{ if eq (string $pageLang) (string .Language) }}
-
- {{ .Language.LanguageName }}
-
- {{ else }}
-
- {{ .Language.LanguageName }}
-
- {{ end }}
- {{ end }}
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/partials/components/pagination.html b/themes/hugoplate/layouts/partials/components/pagination.html
deleted file mode 100755
index 67018878..00000000
--- a/themes/hugoplate/layouts/partials/components/pagination.html
+++ /dev/null
@@ -1,138 +0,0 @@
-{{ $paginator := .Paginator }}
-
-{{ $adjacent_links := 2 }}
-
-{{ $max_links := (add (mul $adjacent_links 2) 1) }}
-
-{{ $lower_limit := (add $adjacent_links 1) }}
-
-{{ $upper_limit := (sub $paginator.TotalPages $adjacent_links) }}
-
-{{ if gt $paginator.TotalPages 1 }}
-
-
- {{ if $paginator.HasPrev }}
-
- Previous
-
-
-
-
- {{ else }}
-
- Previous
-
-
-
-
- {{ end }}
-
-
-
- {{ range $paginator.Pagers }}
- {{ $.Scratch.Set "page_number_flag" false }}
-
- {{ if gt $paginator.TotalPages $max_links }}
-
-
- {{ if le $paginator.PageNumber $lower_limit }}
-
- {{ if le .PageNumber $max_links }}
- {{ $.Scratch.Set "page_number_flag" true }}
- {{ end }}
-
-
- {{ else if ge $paginator.PageNumber $upper_limit }}
-
- {{ if gt .PageNumber (sub $paginator.TotalPages $max_links) }}
- {{ $.Scratch.Set "page_number_flag" true }}
- {{ end }}
-
- {{ else }}
- {{ if and ( ge .PageNumber (sub $paginator.PageNumber $adjacent_links) ) ( le .PageNumber (add $paginator.PageNumber $adjacent_links) ) }}
- {{ $.Scratch.Set "page_number_flag" true }}
- {{ end }}
- {{ end }}
-
- {{ else }}
- {{ $.Scratch.Set "page_number_flag" true }}
- {{ end }}
-
- {{ if eq ($.Scratch.Get "page_number_flag") true }}
-
- {{ if eq . $paginator }}
-
- {{ .PageNumber }}
-
- {{ else }}
-
- {{ .PageNumber }}
-
- {{ end }}
- {{ end }}
- {{ end }}
-
-
-
- {{ if $paginator.HasNext }}
-
- Next
-
-
-
-
- {{ else }}
-
- Next
-
-
-
-
- {{ end }}
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/partials/components/theme-switcher.html b/themes/hugoplate/layouts/partials/components/theme-switcher.html
deleted file mode 100644
index 2f8e8733..00000000
--- a/themes/hugoplate/layouts/partials/components/theme-switcher.html
+++ /dev/null
@@ -1,62 +0,0 @@
-
-{{ $class := .Class }}
-{{ if site.Params.theme_switcher }}
-
-
-
- theme switcher
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{{ end }}
diff --git a/themes/hugoplate/layouts/partials/components/tw-size-indicator.html b/themes/hugoplate/layouts/partials/components/tw-size-indicator.html
deleted file mode 100644
index 38e54cf9..00000000
--- a/themes/hugoplate/layouts/partials/components/tw-size-indicator.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
- all
- sm
- md
- lg
- xl
- 2xl
-
diff --git a/themes/hugoplate/layouts/partials/essentials/footer.html b/themes/hugoplate/layouts/partials/essentials/footer.html
deleted file mode 100755
index f76fc36a..00000000
--- a/themes/hugoplate/layouts/partials/essentials/footer.html
+++ /dev/null
@@ -1,57 +0,0 @@
-
-
-
-
-
-
- {{ range site.Menus.footer }}
-
- {{ .Name }}
-
- {{ end }}
-
-
-
-
- {{ range site.Data.social.main }}
-
-
-
-
-
- {{ end }}
-
-
-
-
-
-
-
- {{ site.Params.copyright | markdownify }}
-
-
-
-
diff --git a/themes/hugoplate/layouts/partials/essentials/head.html b/themes/hugoplate/layouts/partials/essentials/head.html
deleted file mode 100755
index a14796b2..00000000
--- a/themes/hugoplate/layouts/partials/essentials/head.html
+++ /dev/null
@@ -1,58 +0,0 @@
-
-
-
-
-
-
-
-
-
-{{ partialCached "favicon" . }}
-
-
-
-{{ partialCached "manifest" . }}
-
-
-
-{{ partialCached "site-verifications.html" . }}
-
-
-
-{{ partial "basic-seo.html" . }}
-
-
-
-{{ partialCached "custom-script.html" . }}
-
-
-
-{{ if and site.Config.Services.GoogleAnalytics.ID (ne site.Config.Services.GoogleAnalytics.ID "G-MEASUREMENT_ID") }}
- {{ template "_internal/google_analytics.html" . }}
-{{ end }}
-
-
-
-{{ partialCached "gtm.html" . }}
-
-
-
-{{ partial "search-index.html" . }}
-
-
-
-{{/* {{ partialCached "matomo-analytics.html" . }} */}}
-
-
-{{/* {{ partialCached "baidu-analytics.html" . }} */}}
-
-
-{{/* {{ partialCached "plausible-analytics.html" . }} */}}
-
-
-{{/* {{ partialCached "counter-analytics.html" . }} */}}
-
-
-{{/* {{ partialCached "crisp-chat.html" . }} */}}
diff --git a/themes/hugoplate/layouts/partials/essentials/header.html b/themes/hugoplate/layouts/partials/essentials/header.html
deleted file mode 100755
index 15749fac..00000000
--- a/themes/hugoplate/layouts/partials/essentials/header.html
+++ /dev/null
@@ -1,139 +0,0 @@
-
diff --git a/themes/hugoplate/layouts/partials/essentials/script.html b/themes/hugoplate/layouts/partials/essentials/script.html
deleted file mode 100755
index 2201e40e..00000000
--- a/themes/hugoplate/layouts/partials/essentials/script.html
+++ /dev/null
@@ -1,54 +0,0 @@
-
-{{ $scripts := slice }}
-{{ $scriptsLazy := slice }}
-{{ range site.Params.plugins.js }}
- {{ if findRE "^http" .link }}
-
- {{ else }}
- {{ if not .lazy }}
- {{ $scripts = $scripts | append (resources.Get .link) }}
- {{ else }}
- {{ $scriptsLazy = $scriptsLazy | append (resources.Get .link) }}
- {{ end }}
- {{ end }}
-{{ end }}
-
-
-
-{{ $scripts = $scripts | append (resources.Get "js/main.js") }}
-{{ $scripts = $scripts | resources.Concat "js/script.js" }}
-
-{{ $scriptsLazy = $scriptsLazy | resources.Concat "js/script-lazy.js" }}
-
-{{ if hugo.IsProduction }}
- {{ $scripts = $scripts | minify | fingerprint }}
- {{ $scriptsLazy = $scriptsLazy | minify | fingerprint }}
-{{ end }}
-
-{{/* scripts */}}
-
-
-{{/* scripts lazy */}}
-
-
-
-{{ partialCached "pwa.html" . }}
-
-
-
-{{ partialCached "cookie-consent.html" . }}
-
-
-
-{{ partialCached "adsense-script.html" . }}
diff --git a/themes/hugoplate/layouts/partials/essentials/style.html b/themes/hugoplate/layouts/partials/essentials/style.html
deleted file mode 100755
index 3b828935..00000000
--- a/themes/hugoplate/layouts/partials/essentials/style.html
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{{ $pf:= site.Data.theme.fonts.font_family.primary }}
-{{ $sf:= site.Data.theme.fonts.font_family.secondary }}
-
-
-
-
-
-{{ $styles := slice }}
-{{ $stylesLazy := slice }}
-{{ range site.Params.plugins.css }}
- {{ if findRE "^http" .link }}
-
- {{ else }}
- {{ if not .lazy }}
- {{ $styles = $styles | append (resources.Get .link) }}
- {{ else }}
- {{ $stylesLazy = $stylesLazy | append (resources.Get .link) }}
- {{ end }}
- {{ end }}
-{{ end }}
-
-{{/* main style */}}
-{{ $styles = $styles | append (resources.Get "scss/main.scss" | toCSS) }}
-{{ $styles = $styles | resources.Concat "css/style.css" }}
-{{ $styles = $styles | resources.PostCSS }}
-
-{{ $stylesLazy = $stylesLazy | resources.Concat "css/style-lazy.css" }}
-{{ $stylesLazy = $stylesLazy | resources.PostCSS }}
-
-{{ if hugo.IsProduction }}
- {{ $styles = $styles | resources.ExecuteAsTemplate "css/style.css" . | minify | fingerprint | resources.PostProcess }}
- {{ $stylesLazy = $stylesLazy | resources.ExecuteAsTemplate "css/style-lazy.css" . | minify | fingerprint | resources.PostProcess }}
-{{ else }}
- {{ $styles = $styles | resources.ExecuteAsTemplate "css/style.css" . }}
- {{ $stylesLazy = $stylesLazy | resources.ExecuteAsTemplate "css/style-lazy.css" . }}
-{{ end }}
-
-{{/* styles */}}
-
-
-{{/* styles lazy */}}
-
diff --git a/themes/hugoplate/layouts/partials/page-header.html b/themes/hugoplate/layouts/partials/page-header.html
deleted file mode 100755
index 860f0535..00000000
--- a/themes/hugoplate/layouts/partials/page-header.html
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
{{ i18n (printf "%s" (lower .Title)) | default .Title | title }}
- {{ partial "components/breadcrumb" (dict "Context" . "Class" "mt-6") }}
-
-
-
diff --git a/themes/hugoplate/layouts/partials/widgets/categories.html b/themes/hugoplate/layouts/partials/widgets/categories.html
deleted file mode 100755
index 2acd1978..00000000
--- a/themes/hugoplate/layouts/partials/widgets/categories.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-{{ if isset site.Taxonomies "categories" }}
- {{ if not (eq (len site.Taxonomies.categories) 0) }}
-
-
{{ i18n "categories" }}
-
-
- {{ end }}
-{{ end }}
diff --git a/themes/hugoplate/layouts/partials/widgets/tags.html b/themes/hugoplate/layouts/partials/widgets/tags.html
deleted file mode 100755
index 48126ac6..00000000
--- a/themes/hugoplate/layouts/partials/widgets/tags.html
+++ /dev/null
@@ -1,23 +0,0 @@
-
-{{ if isset site.Taxonomies "tags" }}
- {{ if not (eq (len site.Taxonomies.tags) 0) }}
-
- {{ end }}
-{{ end }}
diff --git a/themes/hugoplate/layouts/partials/widgets/widget-wrapper.html b/themes/hugoplate/layouts/partials/widgets/widget-wrapper.html
deleted file mode 100755
index 03a8a443..00000000
--- a/themes/hugoplate/layouts/partials/widgets/widget-wrapper.html
+++ /dev/null
@@ -1,3 +0,0 @@
-{{ range .Widgets }}
- {{ partial ( print "widgets/" . ) $.Scope }}
-{{ end }}
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 00000000..a746f2a7
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,4 @@
+{
+ // https://nuxt.com/docs/guide/concepts/typescript
+ "extends": "./.nuxt/tsconfig.json"
+}
diff --git a/utils/README.md b/utils/README.md
new file mode 100644
index 00000000..4507c288
--- /dev/null
+++ b/utils/README.md
@@ -0,0 +1,5 @@
+# `utils/` [Directory](https://nuxt.com/docs/guide/directory-structure/utils)
+
+Nuxt 3 uses the `utils/` directory to automatically import helper functions and other utilities throughout your application using auto-imports!
+
+>> The main purpose of the `utils/` directory is to allow a semantic distinction between your Vue composables and other auto-imported utility functions.The way utils/ auto-imports work and are scanned is identical to the [composables/ directory](https://nuxt.com/docs/guide/directory-structure/composables). You can see examples and more information about how they work in that section of the docs.
\ No newline at end of file
diff --git a/utils/github-api.js b/utils/github-api.js
new file mode 100644
index 00000000..e59756bf
--- /dev/null
+++ b/utils/github-api.js
@@ -0,0 +1,14 @@
+
+/**
+ * Get a gist from Github API by gist ID
+ * @param {*} gistId
+ * @returns
+ */
+const getGistById = async (gistId) => {
+ const response = await fetch('https://api.github.com/gists/' + gistId)
+ return response.json()
+}
+
+module.exports = {
+ getGistById
+}
\ No newline at end of file
diff --git a/vercel-build.sh b/vercel-build.sh
deleted file mode 100755
index f00c6167..00000000
--- a/vercel-build.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/bash
-
-# default versions
-NODE_VERSION='18.16.1';
-GO_VERSION='1.20.5';
-HUGO_VERSION='0.121.2';
-
-# install Node.js
-# echo "Installing Node.js $NODE_VERSION..."
-# curl -sSOL https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}.tar.gz
-# tar -xzf node-v${NODE_VERSION}.tar.gz
-# export PATH=$PATH:/usr/local/bin
-# rm -rf node-v${NODE_VERSION}.tar.gz
-
-echo "USING NODE VERSION: $(node -v)"
-
-# install Go
-echo "Installing Go $GO_VERSION..."
-curl -sSOL https://dl.google.com/go/go${GO_VERSION}.linux-amd64.tar.gz
-tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
-export PATH=$PATH:/usr/local/go/bin
-rm -rf go${GO_VERSION}.linux-amd64.tar.gz
-go version
-
-# install Hugo
-echo "Installing Hugo $HUGO_VERSION..."
-curl -sSOL https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
-tar -xzf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
-mv hugo /usr/local/bin/
-rm -rf hugo_extended_${HUGO_VERSION}_Linux-64bit.tar.gz
-hugo version
-
-# project setup
-echo "Project setting up..."
-npm run project-setup
-
-# install dependencies
-echo "Installing project dependencies..."
-npm install
-
-# run the build command
-echo "Running the build command..."
-npm run build
diff --git a/vercel.json b/vercel.json
deleted file mode 100755
index 2626b926..00000000
--- a/vercel.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "builds": [
- {
- "src": "vercel-build.sh",
- "use": "@vercel/static-build",
- "config": {
- "distDir": "public"
- }
- }
- ],
- "routes": [
- {
- "handle": "filesystem"
- },
- {
- "src": "/(.*)",
- "status": 404,
- "dest": "/404.html"
- }
- ]
-}
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 00000000..f77ba9a4
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,5427 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@ampproject/remapping@^2.1.0":
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz"
+ integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.1.0"
+ "@jridgewell/trace-mapping" "^0.3.9"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz"
+ integrity sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==
+ dependencies:
+ "@babel/highlight" "^7.24.6"
+ picocolors "^1.0.0"
+
+"@babel/compat-data@^7.20.0":
+ version "7.20.5"
+ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.5.tgz"
+ integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==
+
+"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.19.6", "@babel/core@^7.20.5":
+ version "7.20.5"
+ resolved "https://registry.npmjs.org/@babel/core/-/core-7.20.5.tgz"
+ integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==
+ dependencies:
+ "@ampproject/remapping" "^2.1.0"
+ "@babel/code-frame" "^7.18.6"
+ "@babel/generator" "^7.20.5"
+ "@babel/helper-compilation-targets" "^7.20.0"
+ "@babel/helper-module-transforms" "^7.20.2"
+ "@babel/helpers" "^7.20.5"
+ "@babel/parser" "^7.20.5"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.20.5"
+ "@babel/types" "^7.20.5"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.1"
+ semver "^6.3.0"
+
+"@babel/generator@^7.20.5", "@babel/generator@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz"
+ integrity sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==
+ dependencies:
+ "@babel/types" "^7.24.6"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+ jsesc "^2.5.1"
+
+"@babel/helper-annotate-as-pure@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz"
+ integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-compilation-targets@^7.20.0":
+ version "7.20.0"
+ resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz"
+ integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==
+ dependencies:
+ "@babel/compat-data" "^7.20.0"
+ "@babel/helper-validator-option" "^7.18.6"
+ browserslist "^4.21.3"
+ semver "^6.3.0"
+
+"@babel/helper-create-class-features-plugin@^7.20.2":
+ version "7.20.5"
+ resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz"
+ integrity sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.18.6"
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-function-name" "^7.19.0"
+ "@babel/helper-member-expression-to-functions" "^7.18.9"
+ "@babel/helper-optimise-call-expression" "^7.18.6"
+ "@babel/helper-replace-supers" "^7.19.1"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+
+"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz"
+ integrity sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==
+
+"@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz"
+ integrity sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==
+ dependencies:
+ "@babel/template" "^7.24.6"
+ "@babel/types" "^7.24.6"
+
+"@babel/helper-hoist-variables@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz"
+ integrity sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==
+ dependencies:
+ "@babel/types" "^7.24.6"
+
+"@babel/helper-member-expression-to-functions@^7.18.9":
+ version "7.18.9"
+ resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz"
+ integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==
+ dependencies:
+ "@babel/types" "^7.18.9"
+
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz"
+ integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-module-transforms@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz"
+ integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-module-imports" "^7.18.6"
+ "@babel/helper-simple-access" "^7.20.2"
+ "@babel/helper-split-export-declaration" "^7.18.6"
+ "@babel/helper-validator-identifier" "^7.19.1"
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.20.1"
+ "@babel/types" "^7.20.2"
+
+"@babel/helper-optimise-call-expression@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz"
+ integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==
+ dependencies:
+ "@babel/types" "^7.18.6"
+
+"@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz"
+ integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
+
+"@babel/helper-replace-supers@^7.19.1":
+ version "7.19.1"
+ resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz"
+ integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-member-expression-to-functions" "^7.18.9"
+ "@babel/helper-optimise-call-expression" "^7.18.6"
+ "@babel/traverse" "^7.19.1"
+ "@babel/types" "^7.19.0"
+
+"@babel/helper-simple-access@^7.20.2":
+ version "7.20.2"
+ resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz"
+ integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==
+ dependencies:
+ "@babel/types" "^7.20.2"
+
+"@babel/helper-split-export-declaration@^7.18.6", "@babel/helper-split-export-declaration@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz"
+ integrity sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==
+ dependencies:
+ "@babel/types" "^7.24.6"
+
+"@babel/helper-string-parser@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz"
+ integrity sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==
+
+"@babel/helper-validator-identifier@^7.19.1", "@babel/helper-validator-identifier@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz"
+ integrity sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==
+
+"@babel/helper-validator-option@^7.18.6":
+ version "7.18.6"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz"
+ integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
+
+"@babel/helpers@^7.20.5":
+ version "7.20.6"
+ resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.6.tgz"
+ integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==
+ dependencies:
+ "@babel/template" "^7.18.10"
+ "@babel/traverse" "^7.20.5"
+ "@babel/types" "^7.20.5"
+
+"@babel/highlight@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz"
+ integrity sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.24.6"
+ chalk "^2.4.2"
+ js-tokens "^4.0.0"
+ picocolors "^1.0.0"
+
+"@babel/parser@^7.20.5", "@babel/parser@^7.24.4", "@babel/parser@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz"
+ integrity sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==
+
+"@babel/plugin-syntax-jsx@^7.0.0":
+ version "7.18.6"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz"
+ integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-syntax-typescript@^7.20.0":
+ version "7.20.0"
+ resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz"
+ integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.19.0"
+
+"@babel/plugin-transform-typescript@^7.20.0":
+ version "7.20.2"
+ resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz"
+ integrity sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.20.2"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/plugin-syntax-typescript" "^7.20.0"
+
+"@babel/standalone@^7.20.6":
+ version "7.20.6"
+ resolved "https://registry.npmjs.org/@babel/standalone/-/standalone-7.20.6.tgz"
+ integrity sha512-u5at/CbBLETf7kx2LOY4XdhseD79Y099WZKAOMXeT8qvd9OSR515my2UNBBLY4qIht/Qi9KySeQHQwQwxJN4Sw==
+
+"@babel/template@^7.0.0", "@babel/template@^7.18.10", "@babel/template@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz"
+ integrity sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==
+ dependencies:
+ "@babel/code-frame" "^7.24.6"
+ "@babel/parser" "^7.24.6"
+ "@babel/types" "^7.24.6"
+
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz"
+ integrity sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==
+ dependencies:
+ "@babel/code-frame" "^7.24.6"
+ "@babel/generator" "^7.24.6"
+ "@babel/helper-environment-visitor" "^7.24.6"
+ "@babel/helper-function-name" "^7.24.6"
+ "@babel/helper-hoist-variables" "^7.24.6"
+ "@babel/helper-split-export-declaration" "^7.24.6"
+ "@babel/parser" "^7.24.6"
+ "@babel/types" "^7.24.6"
+ debug "^4.3.1"
+ globals "^11.1.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.24.6":
+ version "7.24.6"
+ resolved "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz"
+ integrity sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==
+ dependencies:
+ "@babel/helper-string-parser" "^7.24.6"
+ "@babel/helper-validator-identifier" "^7.24.6"
+ to-fast-properties "^2.0.0"
+
+"@cloudflare/kv-asset-handler@^0.2.0":
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz"
+ integrity sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==
+ dependencies:
+ mime "^3.0.0"
+
+"@csstools/selector-specificity@^2.0.0":
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz"
+ integrity sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==
+
+"@fastify/busboy@^2.0.0":
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz"
+ integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==
+
+"@highlightjs/vue-plugin@highlightjs/vue-plugin":
+ version "2.1.1"
+ resolved "git+ssh://git@github.com/highlightjs/vue-plugin.git#454575aef428cdfe164156f2451cf3aecea7f74e"
+
+"@ioredis/commands@^1.1.1":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz"
+ integrity sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==
+
+"@jridgewell/gen-mapping@^0.1.0":
+ version "0.1.1"
+ resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz"
+ integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==
+ dependencies:
+ "@jridgewell/set-array" "^1.0.0"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+
+"@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.5"
+ resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz"
+ integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
+ dependencies:
+ "@jridgewell/set-array" "^1.2.1"
+ "@jridgewell/sourcemap-codec" "^1.4.10"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
+ integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+
+"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz"
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
+
+"@jridgewell/source-map@^0.3.3":
+ version "0.3.6"
+ resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz"
+ integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+
+"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
+ version "1.4.15"
+ resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
+ integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+
+"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.9":
+ version "0.3.25"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@koa/router@^9.0.1":
+ version "9.4.0"
+ resolved "https://registry.npmjs.org/@koa/router/-/router-9.4.0.tgz"
+ integrity sha512-dOOXgzqaDoHu5qqMEPLKEgLz5CeIA7q8+1W62mCvFVCOqeC71UoTGJ4u1xUSOpIl2J1x2pqrNULkFteUeZW3/A==
+ dependencies:
+ debug "^4.1.1"
+ http-errors "^1.7.3"
+ koa-compose "^4.1.0"
+ methods "^1.1.2"
+ path-to-regexp "^6.1.0"
+
+"@mapbox/node-pre-gyp@^1.0.5":
+ version "1.0.10"
+ resolved "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz"
+ integrity sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==
+ dependencies:
+ detect-libc "^2.0.0"
+ https-proxy-agent "^5.0.0"
+ make-dir "^3.1.0"
+ node-fetch "^2.6.7"
+ nopt "^5.0.0"
+ npmlog "^5.0.1"
+ rimraf "^3.0.2"
+ semver "^7.3.5"
+ tar "^6.1.11"
+
+"@netlify/functions@^1.3.0":
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/@netlify/functions/-/functions-1.3.0.tgz"
+ integrity sha512-hN/Fgpz8XIOBfsBPLYUMxVKBlCopgeqGB0popayicnmkFLnvKByTTMYgF01wcF9DBtBQdV0H2h1kPFpMl34I8w==
+ dependencies:
+ is-promise "^4.0.0"
+
+"@nodelib/fs.scandir@2.1.5":
+ version "2.1.5"
+ resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz"
+ integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+ dependencies:
+ "@nodelib/fs.stat" "2.0.5"
+ run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
+ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+ version "1.2.8"
+ resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz"
+ integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.5"
+ fastq "^1.6.0"
+
+"@nuxt/devalue@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/@nuxt/devalue/-/devalue-2.0.0.tgz"
+ integrity sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==
+
+"@nuxt/kit@^3.0.0-rc.12", "@nuxt/kit@^3.0.0-rc.14", "@nuxt/kit@3.0.0":
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/@nuxt/kit/-/kit-3.0.0.tgz"
+ integrity sha512-7ZsOLt5s9a0ZleAIzmoD70JwkZf5ti6bDdxl6f8ew7Huxz+ni/oRfTPTX9TrORXsgW5CvDt6Q9M7IJNPkAN/Iw==
+ dependencies:
+ "@nuxt/schema" "3.0.0"
+ c12 "^1.0.1"
+ consola "^2.15.3"
+ defu "^6.1.1"
+ globby "^13.1.2"
+ hash-sum "^2.0.0"
+ ignore "^5.2.0"
+ jiti "^1.16.0"
+ knitwork "^1.0.0"
+ lodash.template "^4.5.0"
+ mlly "^1.0.0"
+ pathe "^1.0.0"
+ pkg-types "^1.0.1"
+ scule "^1.0.0"
+ semver "^7.3.8"
+ unctx "^2.1.0"
+ unimport "^1.0.1"
+ untyped "^1.0.0"
+
+"@nuxt/postcss8@^1.1.3":
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/@nuxt/postcss8/-/postcss8-1.1.3.tgz"
+ integrity sha512-CdHtErhvQwueNZPBOmlAAKrNCK7aIpZDYhtS7TzXlSgPHHox1g3cSlf+Ke9oB/8t4mNNjdB+prclme2ibuCOEA==
+ dependencies:
+ autoprefixer "^10.2.5"
+ css-loader "^5.0.0"
+ defu "^3.2.2"
+ postcss "^8.1.10"
+ postcss-import "^13.0.0"
+ postcss-loader "^4.1.0"
+ postcss-url "^10.1.1"
+ semver "^7.3.4"
+
+"@nuxt/schema@3.0.0":
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/@nuxt/schema/-/schema-3.0.0.tgz"
+ integrity sha512-5fwsidhs5NjFzR8sIzHMXO0WFGkI3tCH3ViANn2W4N5qCwoYZ0n1sZBkQ9Esn1VoEed6RsIlTpWrPZPVtqNkGQ==
+ dependencies:
+ c12 "^1.0.1"
+ create-require "^1.1.1"
+ defu "^6.1.1"
+ jiti "^1.16.0"
+ pathe "^1.0.0"
+ pkg-types "^1.0.1"
+ postcss-import-resolver "^2.0.0"
+ scule "^1.0.0"
+ std-env "^3.3.1"
+ ufo "^1.0.0"
+ unimport "^1.0.1"
+ untyped "^1.0.0"
+
+"@nuxt/telemetry@^2.1.8":
+ version "2.1.8"
+ resolved "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.1.8.tgz"
+ integrity sha512-WCHRrcPKRosuHQi8CD5WfjiXGAyjOWVJpK77xS6wlg8zwziBPCqmVIQdr4QpFTGFO1Nrh4z26l1VnivKy22KFQ==
+ dependencies:
+ "@nuxt/kit" "^3.0.0-rc.14"
+ chalk "^5.1.2"
+ ci-info "^3.6.1"
+ consola "^2.15.3"
+ create-require "^1.1.1"
+ defu "^6.1.1"
+ destr "^1.2.1"
+ dotenv "^16.0.3"
+ fs-extra "^10.1.0"
+ git-url-parse "^13.1.0"
+ inquirer "^9.1.4"
+ is-docker "^3.0.0"
+ jiti "^1.16.0"
+ mri "^1.2.0"
+ nanoid "^4.0.0"
+ node-fetch "^3.3.0"
+ ohmyfetch "^0.4.21"
+ parse-git-config "^3.0.0"
+ rc9 "^2.0.0"
+ std-env "^3.3.1"
+
+"@nuxt/ui-templates@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/@nuxt/ui-templates/-/ui-templates-1.0.0.tgz"
+ integrity sha512-jfpVHxi1AHfNO3D6iD1RJE6fx/7cAzekvG90poIzVawp/L+I4DNdy8pCgqBScJW4bfWOpHeLYbtQQlL/hPmkjw==
+
+"@nuxt/vite-builder@3.0.0":
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.0.0.tgz"
+ integrity sha512-eMnpPpjHU8rGZcsJUksCuSX+6dpId03q8LOSStsm6rXzrNJtZIcwt0nBRTUaigckXIozX8ZNl5u2OPGUfUbMrw==
+ dependencies:
+ "@nuxt/kit" "3.0.0"
+ "@rollup/plugin-replace" "^5.0.1"
+ "@vitejs/plugin-vue" "^3.2.0"
+ "@vitejs/plugin-vue-jsx" "^2.1.1"
+ autoprefixer "^10.4.13"
+ chokidar "^3.5.3"
+ cssnano "^5.1.14"
+ defu "^6.1.1"
+ esbuild "^0.15.14"
+ escape-string-regexp "^5.0.0"
+ estree-walker "^3.0.1"
+ externality "^1.0.0"
+ fs-extra "^10.1.0"
+ get-port-please "^2.6.1"
+ h3 "^1.0.1"
+ knitwork "^1.0.0"
+ magic-string "^0.26.7"
+ mlly "^1.0.0"
+ ohash "^1.0.0"
+ pathe "^1.0.0"
+ perfect-debounce "^0.1.3"
+ pkg-types "^1.0.1"
+ postcss "^8.4.19"
+ postcss-import "^15.0.0"
+ postcss-url "^10.1.3"
+ rollup "^2.79.1"
+ rollup-plugin-visualizer "^5.8.3"
+ ufo "^1.0.0"
+ unplugin "^1.0.0"
+ vite "~3.2.4"
+ vite-node "^0.25.2"
+ vite-plugin-checker "^0.5.1"
+ vue-bundle-renderer "^1.0.0"
+
+"@nuxtjs/tailwindcss@^6.1.3":
+ version "6.1.3"
+ resolved "https://registry.npmjs.org/@nuxtjs/tailwindcss/-/tailwindcss-6.1.3.tgz"
+ integrity sha512-XgoltsFhpX5SCxgUA9cEyLuKyH9xkjlfT+npDQNhSW71/BpeNPmmtjyD+o5ShAvyiZD2AzvZ0/P/eMNDfT33fA==
+ dependencies:
+ "@nuxt/kit" "^3.0.0-rc.12"
+ "@nuxt/postcss8" "^1.1.3"
+ autoprefixer "^10.4.12"
+ chalk "^5.1.2"
+ clear-module "^4.1.2"
+ consola "^2.15.3"
+ defu "^6.1.0"
+ h3 "^0.8.5"
+ postcss "^8.4.18"
+ postcss-custom-properties "^12.1.9"
+ postcss-nesting "^10.2.0"
+ tailwind-config-viewer "^1.7.2"
+ tailwindcss "^3.2.0"
+ ufo "^0.8.6"
+
+"@rollup/plugin-alias@^4.0.2":
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-4.0.2.tgz"
+ integrity sha512-1hv7dBOZZwo3SEupxn4UA2N0EDThqSSS+wI1St1TNTBtOZvUchyIClyHcnDcjjrReTPZ47Faedrhblv4n+T5UQ==
+ dependencies:
+ slash "^4.0.0"
+
+"@rollup/plugin-commonjs@^23.0.2":
+ version "23.0.4"
+ resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-23.0.4.tgz"
+ integrity sha512-bOPJeTZg56D2MCm+TT4psP8e8Jmf1Jsi7pFUMl8BN5kOADNzofNHe47+84WVCt7D095xPghC235/YKuNDEhczg==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+ commondir "^1.0.1"
+ estree-walker "^2.0.2"
+ glob "^8.0.3"
+ is-reference "1.2.1"
+ magic-string "^0.26.4"
+
+"@rollup/plugin-inject@^5.0.2":
+ version "5.0.2"
+ resolved "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.2.tgz"
+ integrity sha512-zRthPC/sZ2OaQwPh2LvFn0A+3SyMAZR1Vqsp89mWkIuGXKswT8ty1JWj1pf7xdZvft4gHZaCuhdopuiCwjclWg==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+ estree-walker "^2.0.2"
+ magic-string "^0.26.4"
+
+"@rollup/plugin-json@^5.0.1":
+ version "5.0.2"
+ resolved "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-5.0.2.tgz"
+ integrity sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+
+"@rollup/plugin-node-resolve@^15.0.1":
+ version "15.0.1"
+ resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.1.tgz"
+ integrity sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+ "@types/resolve" "1.20.2"
+ deepmerge "^4.2.2"
+ is-builtin-module "^3.2.0"
+ is-module "^1.0.0"
+ resolve "^1.22.1"
+
+"@rollup/plugin-replace@^5.0.1":
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.1.tgz"
+ integrity sha512-Z3MfsJ4CK17BfGrZgvrcp/l6WXoKb0kokULO+zt/7bmcyayokDaQ2K3eDJcRLCTAlp5FPI4/gz9MHAsosz4Rag==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.1"
+ magic-string "^0.26.4"
+
+"@rollup/plugin-wasm@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/@rollup/plugin-wasm/-/plugin-wasm-6.0.1.tgz"
+ integrity sha512-a5yRknFQG/QGhb1xGkazWXgjpsv0hhWlx34irsf5adMEo55NdpzhZLg+jx49u+bzH6ekktuFg2WKA1RAF+WEDQ==
+
+"@rollup/pluginutils@^4.0.0":
+ version "4.2.1"
+ resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz"
+ integrity sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==
+ dependencies:
+ estree-walker "^2.0.1"
+ picomatch "^2.2.2"
+
+"@rollup/pluginutils@^5.0.1", "@rollup/pluginutils@^5.0.2":
+ version "5.0.2"
+ resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz"
+ integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==
+ dependencies:
+ "@types/estree" "^1.0.0"
+ estree-walker "^2.0.2"
+ picomatch "^2.3.1"
+
+"@trysound/sax@0.2.0":
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
+ integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
+
+"@types/chai-subset@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.3.tgz"
+ integrity sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==
+ dependencies:
+ "@types/chai" "*"
+
+"@types/chai@*", "@types/chai@^4.3.4":
+ version "4.3.4"
+ resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.4.tgz"
+ integrity sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==
+
+"@types/eslint-scope@^3.7.3":
+ version "3.7.7"
+ resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz"
+ integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==
+ dependencies:
+ "@types/eslint" "*"
+ "@types/estree" "*"
+
+"@types/eslint@*":
+ version "8.56.10"
+ resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz"
+ integrity sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==
+ dependencies:
+ "@types/estree" "*"
+ "@types/json-schema" "*"
+
+"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5":
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz"
+ integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+
+"@types/json-schema@*", "@types/json-schema@^7.0.8":
+ version "7.0.11"
+ resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz"
+ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
+
+"@types/node@*", "@types/node@>= 14":
+ version "18.11.15"
+ resolved "https://registry.npmjs.org/@types/node/-/node-18.11.15.tgz"
+ integrity sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==
+
+"@types/parse-json@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz"
+ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
+"@types/resolve@1.20.2":
+ version "1.20.2"
+ resolved "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz"
+ integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==
+
+"@unhead/dom@^1.0.9", "@unhead/dom@1.0.13":
+ version "1.0.13"
+ resolved "https://registry.npmjs.org/@unhead/dom/-/dom-1.0.13.tgz"
+ integrity sha512-ErfhK3Nwk3kpxnPEOrkruKAdS3/TrNlKs0nYtKgFJ1ywJYg+uNwRFDe82v4JdUMhnfmbgL/qcO3PTx3Dv09IEQ==
+ dependencies:
+ "@unhead/schema" "1.0.13"
+
+"@unhead/schema@^1.0.9", "@unhead/schema@1.0.13":
+ version "1.0.13"
+ resolved "https://registry.npmjs.org/@unhead/schema/-/schema-1.0.13.tgz"
+ integrity sha512-K8SiAEkM8G7GaF1QvsKlthLmRqGB8R9SvZXMCucZqb2VQ6bU4IFSs/4q6dKxmV0fXb5AHdKUL9+rX/4rQ6FsZg==
+ dependencies:
+ "@zhead/schema" "^1.0.7"
+ hookable "^5.4.2"
+
+"@unhead/ssr@^1.0.0", "@unhead/ssr@^1.0.9":
+ version "1.0.13"
+ resolved "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.0.13.tgz"
+ integrity sha512-pach3THVx8LU54M6aQ4qZeQdcLjXVnPlpHe7pQjHGvD6iBJC5bZc8TL+CHdTRxeiq2DqMA5uyfoor7VJJTi5AQ==
+ dependencies:
+ "@unhead/schema" "1.0.13"
+
+"@unhead/vue@^1.0.9":
+ version "1.0.13"
+ resolved "https://registry.npmjs.org/@unhead/vue/-/vue-1.0.13.tgz"
+ integrity sha512-sGl640UQqN8HUYTKXOh6gErk/vw8byPdx1+ECqX4ec7UZYktsWgfyIReYBu09Qm3O6pIYfX8HlZbDipX+wQAOQ==
+ dependencies:
+ "@unhead/schema" "1.0.13"
+ hookable "^5.4.2"
+
+"@vercel/nft@^0.22.1":
+ version "0.22.5"
+ resolved "https://registry.npmjs.org/@vercel/nft/-/nft-0.22.5.tgz"
+ integrity sha512-mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==
+ dependencies:
+ "@mapbox/node-pre-gyp" "^1.0.5"
+ "@rollup/pluginutils" "^4.0.0"
+ acorn "^8.6.0"
+ async-sema "^3.1.1"
+ bindings "^1.4.0"
+ estree-walker "2.0.2"
+ glob "^7.1.3"
+ graceful-fs "^4.2.9"
+ micromatch "^4.0.2"
+ node-gyp-build "^4.2.2"
+ resolve-from "^5.0.0"
+
+"@vitejs/plugin-vue-jsx@^2.1.1":
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-2.1.1.tgz"
+ integrity sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==
+ dependencies:
+ "@babel/core" "^7.19.6"
+ "@babel/plugin-transform-typescript" "^7.20.0"
+ "@vue/babel-plugin-jsx" "^1.1.1"
+
+"@vitejs/plugin-vue@^3.2.0":
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz"
+ integrity sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==
+
+"@vue/babel-helper-vue-transform-on@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz"
+ integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==
+
+"@vue/babel-plugin-jsx@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.1.tgz"
+ integrity sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ "@vue/babel-helper-vue-transform-on" "^1.0.2"
+ camelcase "^6.0.0"
+ html-tags "^3.1.0"
+ svg-tags "^1.0.0"
+
+"@vue/compiler-core@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.27.tgz"
+ integrity sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==
+ dependencies:
+ "@babel/parser" "^7.24.4"
+ "@vue/shared" "3.4.27"
+ entities "^4.5.0"
+ estree-walker "^2.0.2"
+ source-map-js "^1.2.0"
+
+"@vue/compiler-dom@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.27.tgz"
+ integrity sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==
+ dependencies:
+ "@vue/compiler-core" "3.4.27"
+ "@vue/shared" "3.4.27"
+
+"@vue/compiler-sfc@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.27.tgz"
+ integrity sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==
+ dependencies:
+ "@babel/parser" "^7.24.4"
+ "@vue/compiler-core" "3.4.27"
+ "@vue/compiler-dom" "3.4.27"
+ "@vue/compiler-ssr" "3.4.27"
+ "@vue/shared" "3.4.27"
+ estree-walker "^2.0.2"
+ magic-string "^0.30.10"
+ postcss "^8.4.38"
+ source-map-js "^1.2.0"
+
+"@vue/compiler-ssr@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.27.tgz"
+ integrity sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==
+ dependencies:
+ "@vue/compiler-dom" "3.4.27"
+ "@vue/shared" "3.4.27"
+
+"@vue/devtools-api@^6.4.5":
+ version "6.4.5"
+ resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz"
+ integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==
+
+"@vue/reactivity@^3.2.45", "@vue/reactivity@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.27.tgz"
+ integrity sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==
+ dependencies:
+ "@vue/shared" "3.4.27"
+
+"@vue/runtime-core@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.27.tgz"
+ integrity sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==
+ dependencies:
+ "@vue/reactivity" "3.4.27"
+ "@vue/shared" "3.4.27"
+
+"@vue/runtime-dom@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.27.tgz"
+ integrity sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==
+ dependencies:
+ "@vue/runtime-core" "3.4.27"
+ "@vue/shared" "3.4.27"
+ csstype "^3.1.3"
+
+"@vue/server-renderer@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.27.tgz"
+ integrity sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==
+ dependencies:
+ "@vue/compiler-ssr" "3.4.27"
+ "@vue/shared" "3.4.27"
+
+"@vue/shared@^3.2.45", "@vue/shared@3.4.27":
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.4.27.tgz"
+ integrity sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==
+
+"@vueuse/head@^1.0.15":
+ version "1.0.22"
+ resolved "https://registry.npmjs.org/@vueuse/head/-/head-1.0.22.tgz"
+ integrity sha512-YmUdbzNdCnhmrAFxGnJS+Rixj+swE+TQC9OEaYDHIro6gE7W11jugcdwVP00HrA4WRQhg+TOQ4YcY2oL/PP1hw==
+ dependencies:
+ "@unhead/dom" "^1.0.9"
+ "@unhead/schema" "^1.0.9"
+ "@unhead/ssr" "^1.0.9"
+ "@unhead/vue" "^1.0.9"
+
+"@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz"
+ integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==
+ dependencies:
+ "@webassemblyjs/helper-numbers" "1.11.6"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+
+"@webassemblyjs/floating-point-hex-parser@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz"
+ integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==
+
+"@webassemblyjs/helper-api-error@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz"
+ integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==
+
+"@webassemblyjs/helper-buffer@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz"
+ integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==
+
+"@webassemblyjs/helper-numbers@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz"
+ integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==
+ dependencies:
+ "@webassemblyjs/floating-point-hex-parser" "1.11.6"
+ "@webassemblyjs/helper-api-error" "1.11.6"
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/helper-wasm-bytecode@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz"
+ integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==
+
+"@webassemblyjs/helper-wasm-section@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz"
+ integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==
+ dependencies:
+ "@webassemblyjs/ast" "1.12.1"
+ "@webassemblyjs/helper-buffer" "1.12.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/wasm-gen" "1.12.1"
+
+"@webassemblyjs/ieee754@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz"
+ integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz"
+ integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz"
+ integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==
+
+"@webassemblyjs/wasm-edit@^1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz"
+ integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==
+ dependencies:
+ "@webassemblyjs/ast" "1.12.1"
+ "@webassemblyjs/helper-buffer" "1.12.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/helper-wasm-section" "1.12.1"
+ "@webassemblyjs/wasm-gen" "1.12.1"
+ "@webassemblyjs/wasm-opt" "1.12.1"
+ "@webassemblyjs/wasm-parser" "1.12.1"
+ "@webassemblyjs/wast-printer" "1.12.1"
+
+"@webassemblyjs/wasm-gen@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz"
+ integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==
+ dependencies:
+ "@webassemblyjs/ast" "1.12.1"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/ieee754" "1.11.6"
+ "@webassemblyjs/leb128" "1.11.6"
+ "@webassemblyjs/utf8" "1.11.6"
+
+"@webassemblyjs/wasm-opt@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz"
+ integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==
+ dependencies:
+ "@webassemblyjs/ast" "1.12.1"
+ "@webassemblyjs/helper-buffer" "1.12.1"
+ "@webassemblyjs/wasm-gen" "1.12.1"
+ "@webassemblyjs/wasm-parser" "1.12.1"
+
+"@webassemblyjs/wasm-parser@^1.12.1", "@webassemblyjs/wasm-parser@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz"
+ integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==
+ dependencies:
+ "@webassemblyjs/ast" "1.12.1"
+ "@webassemblyjs/helper-api-error" "1.11.6"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/ieee754" "1.11.6"
+ "@webassemblyjs/leb128" "1.11.6"
+ "@webassemblyjs/utf8" "1.11.6"
+
+"@webassemblyjs/wast-printer@1.12.1":
+ version "1.12.1"
+ resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz"
+ integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==
+ dependencies:
+ "@webassemblyjs/ast" "1.12.1"
+ "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+"@zhead/schema@^1.0.7":
+ version "1.0.7"
+ resolved "https://registry.npmjs.org/@zhead/schema/-/schema-1.0.7.tgz"
+ integrity sha512-jN2ipkz39YrHd8uulgw/Y7x8iOxvR/cTkin/E9zRQVP5JBIrrJMiGyFFj6JBW4Q029xJ5dKtpwy/3RZWpz+dkQ==
+
+abbrev@1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
+
+accepts@^1.3.5:
+ version "1.3.8"
+ resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz"
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+ dependencies:
+ mime-types "~2.1.34"
+ negotiator "0.6.3"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn-node@^1.8.2:
+ version "1.8.2"
+ resolved "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz"
+ integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
+ dependencies:
+ acorn "^7.0.0"
+ acorn-walk "^7.0.0"
+ xtend "^4.0.2"
+
+acorn-walk@^7.0.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz"
+ integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+
+acorn-walk@^8.2.0:
+ version "8.2.0"
+ resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz"
+ integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
+
+acorn@^7.0.0:
+ version "7.4.1"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+acorn@^8, acorn@^8.6.0, acorn@^8.7.1, acorn@^8.8.1, acorn@^8.8.2:
+ version "8.11.3"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz"
+ integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
+
+agent-base@6:
+ version "6.0.2"
+ resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz"
+ integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+ dependencies:
+ debug "4"
+
+ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^6.12.5, ajv@^6.9.1:
+ version "6.12.6"
+ resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ 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"
+
+ansi-escapes@^4.3.0:
+ version "4.3.2"
+ resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz"
+ integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+ dependencies:
+ type-fest "^0.21.3"
+
+ansi-escapes@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.0.0.tgz"
+ integrity sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==
+ dependencies:
+ type-fest "^3.0.0"
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-regex@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz"
+ integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==
+
+ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^6.1.0:
+ version "6.2.1"
+ resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz"
+ integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+
+anymatch@^3.1.2, anymatch@~3.1.2:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
+ integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+aos@^3.0.0-beta.6:
+ version "3.0.0-beta.6"
+ resolved "https://registry.npmjs.org/aos/-/aos-3.0.0-beta.6.tgz"
+ integrity sha512-VLWrpq8bfAWcetynVHMMrqdC+89Qq/Ym6UBJbHB4crIwp3RR8uq1dNGgsFzoDl03S43rlVMK+na3r5+oUCZsYw==
+ dependencies:
+ classlist-polyfill "^1.2.0"
+ lodash.debounce "^4.0.8"
+ lodash.throttle "^4.1.1"
+
+"aproba@^1.0.3 || ^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz"
+ integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
+
+arch@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz"
+ integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
+
+archiver-utils@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz"
+ integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==
+ dependencies:
+ glob "^7.1.4"
+ graceful-fs "^4.2.0"
+ lazystream "^1.0.0"
+ lodash.defaults "^4.2.0"
+ lodash.difference "^4.5.0"
+ lodash.flatten "^4.4.0"
+ lodash.isplainobject "^4.0.6"
+ lodash.union "^4.6.0"
+ normalize-path "^3.0.0"
+ readable-stream "^2.0.0"
+
+archiver@^5.3.1:
+ version "5.3.1"
+ resolved "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz"
+ integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==
+ dependencies:
+ archiver-utils "^2.1.0"
+ async "^3.2.3"
+ buffer-crc32 "^0.2.1"
+ readable-stream "^3.6.0"
+ readdir-glob "^1.0.0"
+ tar-stream "^2.2.0"
+ zip-stream "^4.1.0"
+
+are-we-there-yet@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz"
+ integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
+ dependencies:
+ delegates "^1.0.0"
+ readable-stream "^3.6.0"
+
+arg@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz"
+ integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
+
+assertion-error@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz"
+ integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
+
+async-sema@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz"
+ integrity sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==
+
+async@^2.6.4:
+ version "2.6.4"
+ resolved "https://registry.npmjs.org/async/-/async-2.6.4.tgz"
+ integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
+ dependencies:
+ lodash "^4.17.14"
+
+async@^3.2.3:
+ version "3.2.4"
+ resolved "https://registry.npmjs.org/async/-/async-3.2.4.tgz"
+ integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
+at-least-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz"
+ integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+autoprefixer@^10.2.5, autoprefixer@^10.4.12, autoprefixer@^10.4.13:
+ version "10.4.13"
+ resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz"
+ integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
+ dependencies:
+ browserslist "^4.21.4"
+ caniuse-lite "^1.0.30001426"
+ fraction.js "^4.2.0"
+ normalize-range "^0.1.2"
+ picocolors "^1.0.0"
+ postcss-value-parser "^4.2.0"
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+binary-extensions@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
+ integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+bindings@^1.4.0:
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz"
+ integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+ dependencies:
+ file-uri-to-path "1.0.0"
+
+bl@^4.0.3:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz"
+ integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+ dependencies:
+ buffer "^5.5.0"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
+bl@^5.0.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz"
+ integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==
+ dependencies:
+ buffer "^6.0.3"
+ inherits "^2.0.4"
+ readable-stream "^3.4.0"
+
+boolbase@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
+brace-expansion@^1.1.7:
+ version "1.1.11"
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+brace-expansion@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz"
+ integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+ dependencies:
+ balanced-match "^1.0.0"
+
+braces@^3.0.2, braces@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
+ integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+ dependencies:
+ fill-range "^7.0.1"
+
+browserslist@^4.0.0, browserslist@^4.16.6, browserslist@^4.21.10, browserslist@^4.21.3, browserslist@^4.21.4, "browserslist@>= 4.21.0":
+ version "4.23.0"
+ resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz"
+ integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
+ dependencies:
+ caniuse-lite "^1.0.30001587"
+ electron-to-chromium "^1.4.668"
+ node-releases "^2.0.14"
+ update-browserslist-db "^1.0.13"
+
+buffer-crc32@^0.2.1, buffer-crc32@^0.2.13:
+ version "0.2.13"
+ resolved "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
+ integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer@^5.5.0:
+ version "5.7.1"
+ resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz"
+ integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.1.13"
+
+buffer@^6.0.3:
+ version "6.0.3"
+ resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz"
+ integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
+ dependencies:
+ base64-js "^1.3.1"
+ ieee754 "^1.2.1"
+
+builtin-modules@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz"
+ integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
+
+c12@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/c12/-/c12-1.1.0.tgz"
+ integrity sha512-9KRFWEng+TH8sGST4NNdiKzZGw1Z1CHnPGAmNqAyVP7suluROmBjD8hsiR34f94DdlrvtGvvmiGDsoFXlCBWIw==
+ dependencies:
+ defu "^6.1.1"
+ dotenv "^16.0.3"
+ giget "^1.0.0"
+ jiti "^1.16.0"
+ mlly "^1.0.0"
+ pathe "^1.0.0"
+ pkg-types "^1.0.1"
+ rc9 "^2.0.0"
+
+cache-content-type@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz"
+ integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==
+ dependencies:
+ mime-types "^2.1.18"
+ ylru "^1.2.0"
+
+callsites@^3.0.0, callsites@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camelcase-css@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz"
+ integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+
+camelcase@^6.0.0:
+ version "6.3.0"
+ resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz"
+ integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
+
+caniuse-api@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz"
+ integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-lite "^1.0.0"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
+
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001426, caniuse-lite@^1.0.30001587:
+ version "1.0.30001627"
+ resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001627.tgz"
+ integrity sha512-4zgNiB8nTyV/tHhwZrFs88ryjls/lHiqFhrxCW4qSTeuRByBVnPYpDInchOIySWknznucaf31Z4KYqjfbrecVw==
+
+chai@^4.3.7:
+ version "4.3.7"
+ resolved "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz"
+ integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==
+ dependencies:
+ assertion-error "^1.1.0"
+ check-error "^1.0.2"
+ deep-eql "^4.1.2"
+ get-func-name "^2.0.0"
+ loupe "^2.3.1"
+ pathval "^1.1.1"
+ type-detect "^4.0.5"
+
+chalk@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^4.1.1:
+ version "4.1.2"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz"
+ integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@^5.0.0, chalk@^5.1.2:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz"
+ integrity sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
+check-error@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz"
+ integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==
+
+chokidar@^3.5.1, chokidar@^3.5.3:
+ version "3.5.3"
+ resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz"
+ integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+chownr@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz"
+ integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+
+chrome-trace-event@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz"
+ integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==
+
+ci-info@^3.6.1:
+ version "3.7.0"
+ resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.7.0.tgz"
+ integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==
+
+classlist-polyfill@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz"
+ integrity sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==
+
+clear-module@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npmjs.org/clear-module/-/clear-module-4.1.2.tgz"
+ integrity sha512-LWAxzHqdHsAZlPlEyJ2Poz6AIs384mPeqLVCru2p0BrP9G/kVGuhNyZYClLO6cXlnuJjzC8xtsJIuMjKqLXoAw==
+ dependencies:
+ parent-module "^2.0.0"
+ resolve-from "^5.0.0"
+
+cli-cursor@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz"
+ integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==
+ dependencies:
+ restore-cursor "^4.0.0"
+
+cli-spinners@^2.6.1:
+ version "2.7.0"
+ resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz"
+ integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==
+
+cli-width@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/cli-width/-/cli-width-4.0.0.tgz"
+ integrity sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==
+
+clipboardy@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/clipboardy/-/clipboardy-3.0.0.tgz"
+ integrity sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==
+ dependencies:
+ arch "^2.2.0"
+ execa "^5.1.1"
+ is-wsl "^2.2.0"
+
+cliui@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz"
+ integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==
+ dependencies:
+ string-width "^4.2.0"
+ strip-ansi "^6.0.1"
+ wrap-ansi "^7.0.0"
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz"
+ integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+
+cluster-key-slot@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz"
+ integrity sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
+ integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+
+color-convert@^1.9.0:
+ version "1.9.3"
+ resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@^1.1.4, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+
+color-support@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz"
+ integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
+colord@^2.9.1:
+ version "2.9.3"
+ resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz"
+ integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==
+
+colorette@^2.0.19:
+ version "2.0.19"
+ resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz"
+ integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
+
+commander@^2.20.0:
+ 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==
+
+commander@^6.0.0:
+ version "6.2.1"
+ resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz"
+ integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
+
+commander@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz"
+ integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
+
+commander@^8.0.0:
+ version "8.3.0"
+ resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz"
+ integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz"
+ integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+
+compress-commons@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz"
+ integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==
+ dependencies:
+ buffer-crc32 "^0.2.13"
+ crc32-stream "^4.0.2"
+ normalize-path "^3.0.0"
+ readable-stream "^3.6.0"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+consola@^2.15.3:
+ version "2.15.3"
+ resolved "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz"
+ integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==
+
+console-control-strings@^1.0.0, console-control-strings@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
+ integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+
+content-disposition@~0.5.2:
+ version "0.5.4"
+ resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ dependencies:
+ safe-buffer "5.2.1"
+
+content-type@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz"
+ integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+convert-source-map@^1.7.0:
+ version "1.9.0"
+ resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
+ integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
+
+cookie-es@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/cookie-es/-/cookie-es-0.5.0.tgz"
+ integrity sha512-RyZrFi6PNpBFbIaQjXDlFIhFVqV42QeKSZX1yQIl6ihImq6vcHNGMtqQ/QzY3RMPuYSkvsRwtnt5M9NeYxKt0g==
+
+cookies@~0.8.0:
+ version "0.8.0"
+ resolved "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz"
+ integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==
+ dependencies:
+ depd "~2.0.0"
+ keygrip "~1.1.0"
+
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz"
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cosmiconfig@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz"
+ integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
+ dependencies:
+ "@types/parse-json" "^4.0.0"
+ import-fresh "^3.2.1"
+ parse-json "^5.0.0"
+ path-type "^4.0.0"
+ yaml "^1.10.0"
+
+crc-32@^1.2.0:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz"
+ integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
+
+crc32-stream@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz"
+ integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==
+ dependencies:
+ crc-32 "^1.2.0"
+ readable-stream "^3.4.0"
+
+create-require@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"
+ integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+
+cross-spawn@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+css-declaration-sorter@^6.3.1:
+ version "6.3.1"
+ resolved "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz"
+ integrity sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==
+
+css-loader@^5.0.0:
+ version "5.2.7"
+ resolved "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz"
+ integrity sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==
+ dependencies:
+ icss-utils "^5.1.0"
+ loader-utils "^2.0.0"
+ postcss "^8.2.15"
+ postcss-modules-extract-imports "^3.0.0"
+ postcss-modules-local-by-default "^4.0.0"
+ postcss-modules-scope "^3.0.0"
+ postcss-modules-values "^4.0.0"
+ postcss-value-parser "^4.1.0"
+ schema-utils "^3.0.0"
+ semver "^7.3.5"
+
+css-select@^4.1.3:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz"
+ integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.0.1"
+ domhandler "^4.3.1"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
+
+css-tree@^1.1.2, css-tree@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
+css-what@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz"
+ integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
+cssnano-preset-default@^5.2.13:
+ version "5.2.13"
+ resolved "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.13.tgz"
+ integrity sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==
+ dependencies:
+ css-declaration-sorter "^6.3.1"
+ cssnano-utils "^3.1.0"
+ postcss-calc "^8.2.3"
+ postcss-colormin "^5.3.0"
+ postcss-convert-values "^5.1.3"
+ postcss-discard-comments "^5.1.2"
+ postcss-discard-duplicates "^5.1.0"
+ postcss-discard-empty "^5.1.1"
+ postcss-discard-overridden "^5.1.0"
+ postcss-merge-longhand "^5.1.7"
+ postcss-merge-rules "^5.1.3"
+ postcss-minify-font-values "^5.1.0"
+ postcss-minify-gradients "^5.1.1"
+ postcss-minify-params "^5.1.4"
+ postcss-minify-selectors "^5.2.1"
+ postcss-normalize-charset "^5.1.0"
+ postcss-normalize-display-values "^5.1.0"
+ postcss-normalize-positions "^5.1.1"
+ postcss-normalize-repeat-style "^5.1.1"
+ postcss-normalize-string "^5.1.0"
+ postcss-normalize-timing-functions "^5.1.0"
+ postcss-normalize-unicode "^5.1.1"
+ postcss-normalize-url "^5.1.0"
+ postcss-normalize-whitespace "^5.1.1"
+ postcss-ordered-values "^5.1.3"
+ postcss-reduce-initial "^5.1.1"
+ postcss-reduce-transforms "^5.1.0"
+ postcss-svgo "^5.1.0"
+ postcss-unique-selectors "^5.1.1"
+
+cssnano-utils@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz"
+ integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==
+
+cssnano@^5.1.14:
+ version "5.1.14"
+ resolved "https://registry.npmjs.org/cssnano/-/cssnano-5.1.14.tgz"
+ integrity sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==
+ dependencies:
+ cssnano-preset-default "^5.2.13"
+ lilconfig "^2.0.3"
+ yaml "^1.10.2"
+
+csso@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+ dependencies:
+ css-tree "^1.1.2"
+
+csstype@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz"
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+
+cuint@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz"
+ integrity sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==
+
+data-uri-to-buffer@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz"
+ integrity sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==
+
+debug@^3.1.0:
+ version "3.2.7"
+ resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^3.2.7:
+ version "3.2.7"
+ resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@4:
+ version "4.3.4"
+ resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
+ integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+ dependencies:
+ ms "2.1.2"
+
+debug@2.6.9:
+ version "2.6.9"
+ resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+deep-eql@^4.1.2:
+ version "4.1.3"
+ resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz"
+ integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==
+ dependencies:
+ type-detect "^4.0.0"
+
+deep-equal@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz"
+ integrity sha512-bHtC0iYvWhyaTzvV3CZgPeZQqCOBGyGsVV7v4eevpdkLHfiSrXUdBG+qAuSz4RI70sszvjQ1QSZ98An1yNwpSw==
+
+deepmerge@^4.2.2:
+ version "4.2.2"
+ resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz"
+ integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
+
+defaults@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz"
+ integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
+ dependencies:
+ clone "^1.0.2"
+
+define-lazy-prop@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz"
+ integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==
+
+defined@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz"
+ integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==
+
+defu@^3.2.2:
+ version "3.2.2"
+ resolved "https://registry.npmjs.org/defu/-/defu-3.2.2.tgz"
+ integrity sha512-8UWj5lNv7HD+kB0e9w77Z7TdQlbUYDVWqITLHNqFIn6khrNHv5WQo38Dcm1f6HeNyZf0U7UbPf6WeZDSdCzGDQ==
+
+defu@^6.0.0, defu@^6.1.0, defu@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.npmjs.org/defu/-/defu-6.1.1.tgz"
+ integrity sha512-aA964RUCsBt0FGoNIlA3uFgo2hO+WWC0fiC6DBps/0SFzkKcYoM/3CzVLIa5xSsrFjdioMdYgAIbwo80qp2MoA==
+
+delegates@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz"
+ integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
+
+denque@^2.0.1:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz"
+ integrity sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==
+
+depd@^2.0.0, depd@~2.0.0, depd@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
+ integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
+
+destr@^1.2.0, destr@^1.2.1, destr@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz"
+ integrity sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==
+
+destroy@^1.0.4, destroy@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
+detect-libc@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz"
+ integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
+
+detective@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz"
+ integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==
+ dependencies:
+ acorn-node "^1.8.2"
+ defined "^1.0.0"
+ minimist "^1.2.6"
+
+didyoumean@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz"
+ integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
+
+dir-glob@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
+ integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+ dependencies:
+ path-type "^4.0.0"
+
+dlv@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz"
+ integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
+
+dom-serializer@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz"
+ integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domhandler@^4.2.0, domhandler@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
+domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
+dot-prop@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-7.2.0.tgz"
+ integrity sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==
+ dependencies:
+ type-fest "^2.11.2"
+
+dotenv@^16.0.3:
+ version "16.0.3"
+ resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz"
+ integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
+
+duplexer@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
+electron-to-chromium@^1.4.668:
+ version "1.4.789"
+ resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.789.tgz"
+ integrity sha512-0VbyiaXoT++Fi2vHGo2ThOeS6X3vgRCWrjPeO2FeIAWL6ItiSJ9BqlH8LfCXe3X1IdcG+S0iLoNaxQWhfZoGzQ==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+encodeurl@^1.0.2, encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+end-of-stream@^1.4.1:
+ version "1.4.4"
+ resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
+ integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+ dependencies:
+ once "^1.4.0"
+
+enhanced-resolve@^4.1.1:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz"
+ integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
+enhanced-resolve@^5.10.0, enhanced-resolve@^5.16.0:
+ version "5.17.0"
+ resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz"
+ integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==
+ dependencies:
+ graceful-fs "^4.2.4"
+ tapable "^2.2.0"
+
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+entities@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
+
+errno@^0.1.3:
+ version "0.1.8"
+ resolved "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz"
+ integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
+ dependencies:
+ prr "~1.0.1"
+
+error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+es-module-lexer@^1.2.1:
+ version "1.5.3"
+ resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz"
+ integrity sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==
+
+esbuild-linux-64@0.15.18:
+ version "0.15.18"
+ resolved "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz"
+ integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==
+
+esbuild@^0.15.14, esbuild@^0.15.9:
+ version "0.15.18"
+ resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.15.18.tgz"
+ integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==
+ optionalDependencies:
+ "@esbuild/android-arm" "0.15.18"
+ "@esbuild/linux-loong64" "0.15.18"
+ esbuild-android-64 "0.15.18"
+ esbuild-android-arm64 "0.15.18"
+ esbuild-darwin-64 "0.15.18"
+ esbuild-darwin-arm64 "0.15.18"
+ esbuild-freebsd-64 "0.15.18"
+ esbuild-freebsd-arm64 "0.15.18"
+ esbuild-linux-32 "0.15.18"
+ esbuild-linux-64 "0.15.18"
+ esbuild-linux-arm "0.15.18"
+ esbuild-linux-arm64 "0.15.18"
+ esbuild-linux-mips64le "0.15.18"
+ esbuild-linux-ppc64le "0.15.18"
+ esbuild-linux-riscv64 "0.15.18"
+ esbuild-linux-s390x "0.15.18"
+ esbuild-netbsd-64 "0.15.18"
+ esbuild-openbsd-64 "0.15.18"
+ esbuild-sunos-64 "0.15.18"
+ esbuild-windows-32 "0.15.18"
+ esbuild-windows-64 "0.15.18"
+ esbuild-windows-arm64 "0.15.18"
+
+escalade@^3.1.1, escalade@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz"
+ integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
+
+escape-html@^1.0.3, escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
+escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+escape-string-regexp@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz"
+ integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
+
+eslint-scope@5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
+ integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+ dependencies:
+ esrecurse "^4.3.0"
+ estraverse "^4.1.1"
+
+esrecurse@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+estree-walker@^2.0.1, estree-walker@2.0.2:
+ 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==
+
+estree-walker@^2.0.2:
+ 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==
+
+estree-walker@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.1.tgz"
+ integrity sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==
+
+etag@^1.8.1, etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+eventemitter3@^4.0.0:
+ version "4.0.7"
+ resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+
+events@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
+ integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+execa@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz"
+ integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+ dependencies:
+ cross-spawn "^7.0.3"
+ get-stream "^6.0.0"
+ human-signals "^2.1.0"
+ is-stream "^2.0.0"
+ merge-stream "^2.0.0"
+ npm-run-path "^4.0.1"
+ onetime "^5.1.2"
+ signal-exit "^3.0.3"
+ strip-final-newline "^2.0.0"
+
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
+externality@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/externality/-/externality-1.0.0.tgz"
+ integrity sha512-MAU9ci3XdpqOX1aoIoyL2DMzW97P8LYeJxIUkfXhOfsrkH4KLHFaYDwKN0B2l6tqedVJWiTIJtWmxmZfa05vOQ==
+ dependencies:
+ enhanced-resolve "^5.10.0"
+ mlly "^1.0.0"
+ pathe "^1.0.0"
+ ufo "^1.0.0"
+
+fast-deep-equal@^3.1.1:
+ 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==
+
+fast-glob@^3.2.11, fast-glob@^3.2.12, fast-glob@^3.2.7:
+ version "3.2.12"
+ resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz"
+ integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
+ 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"
+
+fast-json-stable-stringify@^2.0.0:
+ 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==
+
+fastq@^1.6.0:
+ version "1.14.0"
+ resolved "https://registry.npmjs.org/fastq/-/fastq-1.14.0.tgz"
+ integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==
+ dependencies:
+ reusify "^1.0.4"
+
+fetch-blob@^3.1.2, fetch-blob@^3.1.4:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz"
+ integrity sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==
+ dependencies:
+ node-domexception "^1.0.0"
+ web-streams-polyfill "^3.0.3"
+
+figures@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/figures/-/figures-5.0.0.tgz"
+ integrity sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==
+ dependencies:
+ escape-string-regexp "^5.0.0"
+ is-unicode-supported "^1.2.0"
+
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz"
+ integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
+fill-range@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
+ integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+flat@^5.0.2:
+ version "5.0.2"
+ resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz"
+ integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
+
+follow-redirects@^1.0.0:
+ version "1.15.6"
+ resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz"
+ integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
+
+formdata-polyfill@^4.0.10:
+ version "4.0.10"
+ resolved "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz"
+ integrity sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==
+ dependencies:
+ fetch-blob "^3.1.2"
+
+fraction.js@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz"
+ integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
+
+fresh@~0.5.2, fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
+fs-constants@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz"
+ integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+
+fs-extra@^10.1.0:
+ version "10.1.0"
+ resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz"
+ integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-extra@^11.1.0:
+ version "11.2.0"
+ resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz"
+ integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
+ dependencies:
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-extra@^9.0.1:
+ version "9.1.0"
+ resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-memo@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/fs-memo/-/fs-memo-1.2.0.tgz"
+ integrity sha512-YEexkCpL4j03jn5SxaMHqcO6IuWuqm8JFUYhyCep7Ao89JIYmB8xoKhK7zXXJ9cCaNXpyNH5L3QtAmoxjoHW2w==
+
+fs-minipass@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz"
+ integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+ dependencies:
+ minipass "^3.0.0"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+gauge@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz"
+ integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
+ dependencies:
+ aproba "^1.0.3 || ^2.0.0"
+ color-support "^1.1.2"
+ console-control-strings "^1.0.0"
+ has-unicode "^2.0.1"
+ object-assign "^4.1.1"
+ signal-exit "^3.0.0"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+ wide-align "^1.1.2"
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-caller-file@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-func-name@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz"
+ integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==
+
+get-port-please@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.npmjs.org/get-port-please/-/get-port-please-2.6.1.tgz"
+ integrity sha512-4PDSrL6+cuMM1xs6w36ZIkaKzzE0xzfVBCfebHIJ3FE8iB9oic/ECwPw3iNiD4h1AoJ5XLLBhEviFAVrZsDC5A==
+ dependencies:
+ fs-memo "^1.2.0"
+
+get-stream@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz"
+ integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+giget@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/giget/-/giget-1.0.0.tgz"
+ integrity sha512-KWELZn3Nxq5+0So485poHrFriK9Bn3V/x9y+wgqrHkbmnGbjfLmZ685/SVA/ovW+ewoqW0gVI47pI4yW/VNobQ==
+ dependencies:
+ colorette "^2.0.19"
+ defu "^6.1.1"
+ https-proxy-agent "^5.0.1"
+ mri "^1.2.0"
+ node-fetch-native "^1.0.1"
+ pathe "^1.0.0"
+ tar "^6.1.12"
+
+git-config-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz"
+ integrity sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==
+
+git-up@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/git-up/-/git-up-7.0.0.tgz"
+ integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==
+ dependencies:
+ is-ssh "^1.4.0"
+ parse-url "^8.1.0"
+
+git-url-parse@^13.1.0:
+ version "13.1.0"
+ resolved "https://registry.npmjs.org/git-url-parse/-/git-url-parse-13.1.0.tgz"
+ integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==
+ dependencies:
+ git-up "^7.0.0"
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-parent@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
+ integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+ dependencies:
+ is-glob "^4.0.3"
+
+glob-to-regexp@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz"
+ integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+
+glob@^7.1.3:
+ version "7.2.3"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ 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"
+
+glob@^7.1.4:
+ version "7.2.3"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ 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"
+
+glob@^7.2.0:
+ version "7.2.3"
+ resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ 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"
+
+glob@^8.0.3:
+ version "8.0.3"
+ resolved "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz"
+ integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^5.0.1"
+ once "^1.3.0"
+
+globals@^11.1.0:
+ version "11.12.0"
+ resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globby@^13.1.2:
+ version "13.1.3"
+ resolved "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz"
+ integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==
+ dependencies:
+ dir-glob "^3.0.1"
+ fast-glob "^3.2.11"
+ ignore "^5.2.0"
+ merge2 "^1.4.1"
+ slash "^4.0.0"
+
+graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.9:
+ version "4.2.11"
+ resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
+ integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+
+gzip-size@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz"
+ integrity sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==
+ dependencies:
+ duplexer "^0.1.2"
+
+h3@^0.8.5:
+ version "0.8.6"
+ resolved "https://registry.npmjs.org/h3/-/h3-0.8.6.tgz"
+ integrity sha512-CSWNOKa3QGo67rFU2PhbFTp0uPJtilNji2Z0pMiSRQt3+OkIW0u3E1WMJqIycLqaTgb9JyFqH/S4mcTyyGtvyQ==
+ dependencies:
+ cookie-es "^0.5.0"
+ destr "^1.2.0"
+ radix3 "^0.2.1"
+ ufo "^0.8.6"
+
+h3@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/h3/-/h3-1.0.2.tgz"
+ integrity sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==
+ dependencies:
+ cookie-es "^0.5.0"
+ destr "^1.2.2"
+ radix3 "^1.0.0"
+ ufo "^1.0.1"
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
+ integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-symbols@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
+
+has-tostringtag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz"
+ integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+ dependencies:
+ has-symbols "^1.0.2"
+
+has-unicode@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz"
+ integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
+hash-sum@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz"
+ integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
+
+highlight.js@^11.0.1, highlight.js@^11.7.0:
+ version "11.7.0"
+ resolved "https://registry.npmjs.org/highlight.js/-/highlight.js-11.7.0.tgz"
+ integrity sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==
+
+hookable@^5.4.2:
+ version "5.4.2"
+ resolved "https://registry.npmjs.org/hookable/-/hookable-5.4.2.tgz"
+ integrity sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==
+
+html-tags@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/html-tags/-/html-tags-3.2.0.tgz"
+ integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==
+
+http-assert@^1.3.0:
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz"
+ integrity sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==
+ dependencies:
+ deep-equal "~1.0.1"
+ http-errors "~1.8.0"
+
+http-errors@^1.6.3:
+ version "1.8.1"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz"
+ integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.1"
+
+http-errors@^1.7.3:
+ version "1.8.1"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz"
+ integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.1"
+
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
+ integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
+http-errors@~1.8.0:
+ version "1.8.1"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz"
+ integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses ">= 1.5.0 < 2"
+ toidentifier "1.0.1"
+
+http-errors@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+ dependencies:
+ depd "2.0.0"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ toidentifier "1.0.1"
+
+http-proxy@^1.18.1:
+ version "1.18.1"
+ resolved "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz"
+ integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
+ dependencies:
+ eventemitter3 "^4.0.0"
+ follow-redirects "^1.0.0"
+ requires-port "^1.0.0"
+
+http-shutdown@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz"
+ integrity sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==
+
+https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz"
+ integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
+ dependencies:
+ agent-base "6"
+ debug "4"
+
+human-signals@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz"
+ integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+iconv-lite@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+icss-utils@^5.0.0, icss-utils@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz"
+ integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+
+ieee754@^1.1.13, ieee754@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore@^5.2.0:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.1.tgz"
+ integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==
+
+import-fresh@^3.2.1:
+ version "3.3.0"
+ resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
+ integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2, inherits@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
+ integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+
+ini@^1.3.5:
+ version "1.3.8"
+ resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+inquirer@^9.1.4:
+ version "9.1.4"
+ resolved "https://registry.npmjs.org/inquirer/-/inquirer-9.1.4.tgz"
+ integrity sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==
+ dependencies:
+ ansi-escapes "^6.0.0"
+ chalk "^5.1.2"
+ cli-cursor "^4.0.0"
+ cli-width "^4.0.0"
+ external-editor "^3.0.3"
+ figures "^5.0.0"
+ lodash "^4.17.21"
+ mute-stream "0.0.8"
+ ora "^6.1.2"
+ run-async "^2.4.0"
+ rxjs "^7.5.7"
+ string-width "^5.1.2"
+ strip-ansi "^7.0.1"
+ through "^2.3.6"
+ wrap-ansi "^8.0.1"
+
+ioredis@^5.2.4:
+ version "5.2.4"
+ resolved "https://registry.npmjs.org/ioredis/-/ioredis-5.2.4.tgz"
+ integrity sha512-qIpuAEt32lZJQ0XyrloCRdlEdUUNGG9i0UOk6zgzK6igyudNWqEBxfH6OlbnOOoBBvr1WB02mm8fR55CnikRng==
+ dependencies:
+ "@ioredis/commands" "^1.1.1"
+ cluster-key-slot "^1.1.0"
+ debug "^4.3.4"
+ denque "^2.0.1"
+ lodash.defaults "^4.2.0"
+ lodash.isarguments "^3.1.0"
+ redis-errors "^1.2.0"
+ redis-parser "^3.0.0"
+ standard-as-callback "^2.1.0"
+
+ip-regex@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/ip-regex/-/ip-regex-5.0.0.tgz"
+ integrity sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
+ integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-builtin-module@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.0.tgz"
+ integrity sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==
+ dependencies:
+ builtin-modules "^3.3.0"
+
+is-core-module@^2.9.0:
+ version "2.11.0"
+ resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz"
+ integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
+ dependencies:
+ has "^1.0.3"
+
+is-docker@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-docker@^2.1.1:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz"
+ integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
+
+is-docker@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz"
+ integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==
+
+is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-generator-function@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz"
+ integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
+ dependencies:
+ has-tostringtag "^1.0.0"
+
+is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-interactive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz"
+ integrity sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==
+
+is-module@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz"
+ integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-primitive@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz"
+ integrity sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==
+
+is-promise@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz"
+ integrity sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==
+
+is-reference@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz"
+ integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
+ dependencies:
+ "@types/estree" "*"
+
+is-ssh@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.0.tgz"
+ integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==
+ dependencies:
+ protocols "^2.0.1"
+
+is-stream@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
+ integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-unicode-supported@^1.1.0, is-unicode-supported@^1.2.0:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz"
+ integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==
+
+is-wsl@^2.1.1, is-wsl@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz"
+ integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
+ dependencies:
+ is-docker "^2.0.0"
+
+isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+ integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+jest-worker@^26.2.1:
+ version "26.6.2"
+ resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz"
+ integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^7.0.0"
+
+jest-worker@^27.4.5:
+ version "27.5.1"
+ resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz"
+ integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+ dependencies:
+ "@types/node" "*"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
+jiti@^1.16.0:
+ version "1.16.0"
+ resolved "https://registry.npmjs.org/jiti/-/jiti-1.16.0.tgz"
+ integrity sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==
+
+js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+jsesc@^2.5.1:
+ version "2.5.2"
+ resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
+ integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
+ integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+ 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==
+
+json5@^2.1.2, json5@^2.2.1:
+ version "2.2.3"
+ resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+jsonc-parser@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz"
+ integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
+
+jsonfile@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz"
+ integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+ dependencies:
+ universalify "^2.0.0"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+keygrip@~1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz"
+ integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==
+ dependencies:
+ tsscmp "1.0.6"
+
+klona@^2.0.4, klona@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz"
+ integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==
+
+knitwork@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/knitwork/-/knitwork-1.0.0.tgz"
+ integrity sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==
+
+koa-compose@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz"
+ integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==
+
+koa-convert@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz"
+ integrity sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==
+ dependencies:
+ co "^4.6.0"
+ koa-compose "^4.1.0"
+
+koa-send@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz"
+ integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==
+ dependencies:
+ debug "^4.1.1"
+ http-errors "^1.7.3"
+ resolve-path "^1.4.0"
+
+koa-static@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz"
+ integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==
+ dependencies:
+ debug "^3.1.0"
+ koa-send "^5.0.0"
+
+koa@^2.12.0:
+ version "2.14.1"
+ resolved "https://registry.npmjs.org/koa/-/koa-2.14.1.tgz"
+ integrity sha512-USJFyZgi2l0wDgqkfD27gL4YGno7TfUkcmOe6UOLFOVuN+J7FwnNu4Dydl4CUQzraM1lBAiGed0M9OVJoT0Kqw==
+ dependencies:
+ accepts "^1.3.5"
+ cache-content-type "^1.0.0"
+ content-disposition "~0.5.2"
+ content-type "^1.0.4"
+ cookies "~0.8.0"
+ debug "^4.3.2"
+ delegates "^1.0.0"
+ depd "^2.0.0"
+ destroy "^1.0.4"
+ encodeurl "^1.0.2"
+ escape-html "^1.0.3"
+ fresh "~0.5.2"
+ http-assert "^1.3.0"
+ http-errors "^1.6.3"
+ is-generator-function "^1.0.7"
+ koa-compose "^4.1.0"
+ koa-convert "^2.0.0"
+ on-finished "^2.3.0"
+ only "~0.0.2"
+ parseurl "^1.3.2"
+ statuses "^1.5.0"
+ type-is "^1.6.16"
+ vary "^1.1.2"
+
+lazystream@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz"
+ integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==
+ dependencies:
+ readable-stream "^2.0.5"
+
+lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz"
+ integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
+
+lines-and-columns@^1.1.6:
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
+ integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+listhen@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/listhen/-/listhen-1.0.1.tgz"
+ integrity sha512-RBzBGHMCc5wP8J5Vf8WgF4CAJH8dWHi9LaKB7vfzZt54CiH/0dp01rudy2hFD9wCrTM+UfxFVnn5wTIiY+Qhiw==
+ dependencies:
+ clipboardy "^3.0.0"
+ colorette "^2.0.19"
+ defu "^6.1.1"
+ get-port-please "^2.6.1"
+ http-shutdown "^1.2.2"
+ ip-regex "^5.0.0"
+ node-forge "^1.3.1"
+ ufo "^1.0.0"
+
+loader-runner@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz"
+ integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
+
+loader-utils@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz"
+ integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
+local-pkg@^0.4.2:
+ version "0.4.2"
+ resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.2.tgz"
+ integrity sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==
+
+lodash._reinterpolate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz"
+ integrity sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
+ integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
+lodash.defaults@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz"
+ integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==
+
+lodash.difference@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz"
+ integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==
+
+lodash.flatten@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz"
+ integrity sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==
+
+lodash.isarguments@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz"
+ integrity sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz"
+ integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
+
+lodash.memoize@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
+ integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
+
+lodash.pick@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz"
+ integrity sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==
+
+lodash.template@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz"
+ integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+ lodash.templatesettings "^4.0.0"
+
+lodash.templatesettings@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz"
+ integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
+ dependencies:
+ lodash._reinterpolate "^3.0.0"
+
+lodash.throttle@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz"
+ integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==
+
+lodash.union@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz"
+ integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz"
+ integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
+
+lodash@^4.17.14, lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-symbols@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz"
+ integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==
+ dependencies:
+ chalk "^5.0.0"
+ is-unicode-supported "^1.1.0"
+
+loupe@^2.3.1:
+ version "2.3.6"
+ resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz"
+ integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==
+ dependencies:
+ get-func-name "^2.0.0"
+
+magic-string@^0.26.4, magic-string@^0.26.7:
+ version "0.26.7"
+ resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz"
+ integrity sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==
+ dependencies:
+ sourcemap-codec "^1.4.8"
+
+magic-string@^0.27.0:
+ version "0.27.0"
+ resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz"
+ integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.13"
+
+magic-string@^0.30.10:
+ version "0.30.10"
+ resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz"
+ integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.4.15"
+
+make-dir@^3.1.0, make-dir@~3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
+memory-fs@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz"
+ integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+merge-stream@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
+ integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0, merge2@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+methods@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+
+micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
+ version "4.0.5"
+ resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz"
+ integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+ dependencies:
+ braces "^3.0.2"
+ picomatch "^2.3.1"
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.18, mime-types@^2.1.27, mime-types@~2.1.24, mime-types@~2.1.34:
+ version "2.1.35"
+ resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mime@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz"
+ integrity sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==
+
+mime@~2.5.2:
+ version "2.5.2"
+ resolved "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz"
+ integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+minimatch@^3.0.4:
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^3.1.1:
+ version "3.1.2"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^5.0.1, minimatch@^5.1.0:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.1.tgz"
+ integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@~3.0.4:
+ version "3.0.8"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz"
+ integrity sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimist@^1.2.6:
+ version "1.2.7"
+ resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz"
+ integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+
+minipass@^3.0.0:
+ version "3.3.6"
+ resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz"
+ integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
+ dependencies:
+ yallist "^4.0.0"
+
+minipass@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz"
+ integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
+
+minizlib@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz"
+ integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+ dependencies:
+ minipass "^3.0.0"
+ yallist "^4.0.0"
+
+mkdir@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.npmjs.org/mkdir/-/mkdir-0.0.2.tgz"
+ integrity sha512-98OnjcWaNEIRUJJe9rFoWlbkQ5n9z8F86wIPCrI961YEViiVybTuJln919WuuSHSnlrqXy0ELKCntoPy8C7lqg==
+
+mkdirp@^0.5.6:
+ version "0.5.6"
+ resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
+mkdirp@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz"
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
+mlly@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/mlly/-/mlly-1.0.0.tgz"
+ integrity sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==
+ dependencies:
+ acorn "^8.8.1"
+ pathe "^1.0.0"
+ pkg-types "^1.0.0"
+ ufo "^1.0.0"
+
+mri@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz"
+ integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+
+ms@^2.1.1, ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+
+ms@2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+
+nanoid@^3.3.7:
+ version "3.3.7"
+ resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz"
+ integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+
+nanoid@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/nanoid/-/nanoid-4.0.0.tgz"
+ integrity sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==
+
+negotiator@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+neo-async@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz"
+ integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+nitropack@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/nitropack/-/nitropack-1.0.0.tgz"
+ integrity sha512-788lHgNgC+NKqecwFgMkAQTuTXwuh2hEgOk2sLwV3qPVUogxrl6P3m5eKdt6Mtzx+mlXIw0G/P90B5TNWEqDSQ==
+ dependencies:
+ "@cloudflare/kv-asset-handler" "^0.2.0"
+ "@netlify/functions" "^1.3.0"
+ "@rollup/plugin-alias" "^4.0.2"
+ "@rollup/plugin-commonjs" "^23.0.2"
+ "@rollup/plugin-inject" "^5.0.2"
+ "@rollup/plugin-json" "^5.0.1"
+ "@rollup/plugin-node-resolve" "^15.0.1"
+ "@rollup/plugin-replace" "^5.0.1"
+ "@rollup/plugin-wasm" "^6.0.1"
+ "@rollup/pluginutils" "^5.0.2"
+ "@vercel/nft" "^0.22.1"
+ archiver "^5.3.1"
+ c12 "^1.0.1"
+ chalk "^5.1.2"
+ chokidar "^3.5.3"
+ consola "^2.15.3"
+ cookie-es "^0.5.0"
+ defu "^6.1.1"
+ destr "^1.2.1"
+ dot-prop "^7.2.0"
+ esbuild "^0.15.14"
+ escape-string-regexp "^5.0.0"
+ etag "^1.8.1"
+ fs-extra "^10.1.0"
+ globby "^13.1.2"
+ gzip-size "^7.0.0"
+ h3 "^1.0.1"
+ hookable "^5.4.2"
+ http-proxy "^1.18.1"
+ is-primitive "^3.0.1"
+ jiti "^1.16.0"
+ klona "^2.0.5"
+ knitwork "^1.0.0"
+ listhen "^1.0.0"
+ mime "^3.0.0"
+ mlly "^1.0.0"
+ mri "^1.2.0"
+ node-fetch-native "^1.0.1"
+ ofetch "^1.0.0"
+ ohash "^1.0.0"
+ pathe "^1.0.0"
+ perfect-debounce "^0.1.3"
+ pkg-types "^1.0.1"
+ pretty-bytes "^6.0.0"
+ radix3 "^1.0.0"
+ rollup "^2.79.1"
+ rollup-plugin-terser "^7.0.2"
+ rollup-plugin-visualizer "^5.8.3"
+ scule "^1.0.0"
+ semver "^7.3.8"
+ serve-placeholder "^2.0.1"
+ serve-static "^1.15.0"
+ source-map-support "^0.5.21"
+ std-env "^3.3.1"
+ ufo "^1.0.0"
+ unenv "^1.0.0"
+ unimport "^1.0.0"
+ unstorage "^1.0.1"
+
+node-domexception@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz"
+ integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
+
+node-fetch-native@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-0.1.8.tgz"
+ integrity sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==
+
+node-fetch-native@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.0.1.tgz"
+ integrity sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==
+
+node-fetch@^2.6.7:
+ version "2.6.7"
+ resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz"
+ integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
+ dependencies:
+ whatwg-url "^5.0.0"
+
+node-fetch@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.0.tgz"
+ integrity sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==
+ dependencies:
+ data-uri-to-buffer "^4.0.0"
+ fetch-blob "^3.1.4"
+ formdata-polyfill "^4.0.10"
+
+node-forge@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz"
+ integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
+
+node-gyp-build@^4.2.2:
+ version "4.5.0"
+ resolved "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz"
+ integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==
+
+node-releases@^2.0.14:
+ version "2.0.14"
+ resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz"
+ integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
+
+nopt@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz"
+ integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==
+ dependencies:
+ abbrev "1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz"
+ integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+
+normalize-url@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz"
+ integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
+
+npm-run-path@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz"
+ integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+ dependencies:
+ path-key "^3.0.0"
+
+npmlog@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz"
+ integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
+ dependencies:
+ are-we-there-yet "^2.0.0"
+ console-control-strings "^1.1.0"
+ gauge "^3.0.0"
+ set-blocking "^2.0.0"
+
+nth-check@^2.0.1:
+ 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==
+ dependencies:
+ boolbase "^1.0.0"
+
+nuxi@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/nuxi/-/nuxi-3.0.0.tgz"
+ integrity sha512-VWh1kKFffxD2yadZWcQSd6eTf9okXRr7d3HsjLiI4B3Q1/8iKdIUiodGo7X71OZ+gPVnX6Oh/XFzcb7mr+8TbQ==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+nuxt@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/nuxt/-/nuxt-3.0.0.tgz"
+ integrity sha512-RNlD78uv04ZiXWmlx9f1tnJfrqsYAWHU+4gbgOTQpIBmQzHWPWiox+fm/1m93iKfEd5sJi9TJUoXX5yBObVZYw==
+ dependencies:
+ "@nuxt/devalue" "^2.0.0"
+ "@nuxt/kit" "3.0.0"
+ "@nuxt/schema" "3.0.0"
+ "@nuxt/telemetry" "^2.1.8"
+ "@nuxt/ui-templates" "^1.0.0"
+ "@nuxt/vite-builder" "3.0.0"
+ "@unhead/ssr" "^1.0.0"
+ "@vue/reactivity" "^3.2.45"
+ "@vue/shared" "^3.2.45"
+ "@vueuse/head" "^1.0.15"
+ chokidar "^3.5.3"
+ cookie-es "^0.5.0"
+ defu "^6.1.1"
+ destr "^1.2.1"
+ escape-string-regexp "^5.0.0"
+ estree-walker "^3.0.1"
+ fs-extra "^10.1.0"
+ globby "^13.1.2"
+ h3 "^1.0.1"
+ hash-sum "^2.0.0"
+ hookable "^5.4.2"
+ knitwork "^1.0.0"
+ magic-string "^0.26.7"
+ mlly "^1.0.0"
+ nitropack "^1.0.0"
+ nuxi "3.0.0"
+ ofetch "^1.0.0"
+ ohash "^1.0.0"
+ pathe "^1.0.0"
+ perfect-debounce "^0.1.3"
+ scule "^1.0.0"
+ strip-literal "^1.0.0"
+ ufo "^1.0.0"
+ ultrahtml "^1.0.0"
+ unctx "^2.1.0"
+ unenv "^1.0.0"
+ unhead "^1.0.0"
+ unimport "^1.0.1"
+ unplugin "^1.0.0"
+ untyped "^1.0.0"
+ vue "^3.2.45"
+ vue-bundle-renderer "^1.0.0"
+ vue-devtools-stub "^0.1.0"
+ vue-router "^4.1.6"
+
+object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-hash@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz"
+ integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
+
+ofetch@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/ofetch/-/ofetch-1.0.0.tgz"
+ integrity sha512-d40aof8czZFSQKJa4+F7Ch3UC5D631cK1TTUoK+iNEut9NoiCL+u0vykl/puYVUS2df4tIQl5upQcolIcEzQjQ==
+ dependencies:
+ destr "^1.2.1"
+ node-fetch-native "^1.0.1"
+ ufo "^1.0.0"
+
+ohash@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/ohash/-/ohash-1.0.0.tgz"
+ integrity sha512-kxSyzq6tt+6EE/xCnD1XaFhCCjUNUaz3X30rJp6mnjGLXAAvuPFqohMdv0aScWzajR45C29HyBaXZ8jXBwnh9A==
+
+ohmyfetch@^0.4.21:
+ version "0.4.21"
+ resolved "https://registry.npmjs.org/ohmyfetch/-/ohmyfetch-0.4.21.tgz"
+ integrity sha512-VG7f/JRvqvBOYvL0tHyEIEG7XHWm7OqIfAs6/HqwWwDfjiJ1g0huIpe5sFEmyb+7hpFa1EGNH2aERWR72tlClw==
+ dependencies:
+ destr "^1.2.0"
+ node-fetch-native "^0.1.8"
+ ufo "^0.8.6"
+ undici "^5.12.0"
+
+on-finished@^2.3.0, on-finished@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ dependencies:
+ ee-first "1.1.1"
+
+once@^1.3.0, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+onetime@^5.1.0, onetime@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz"
+ integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+ dependencies:
+ mimic-fn "^2.1.0"
+
+only@~0.0.2:
+ version "0.0.2"
+ resolved "https://registry.npmjs.org/only/-/only-0.0.2.tgz"
+ integrity sha512-Fvw+Jemq5fjjyWz6CpKx6w9s7xxqo3+JCyM0WXWeCSOboZ8ABkyvP8ID4CZuChA/wxSx+XSJmdOm8rGVyJ1hdQ==
+
+open@^7.0.4:
+ version "7.4.2"
+ resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz"
+ integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
+ dependencies:
+ is-docker "^2.0.0"
+ is-wsl "^2.1.1"
+
+open@^8.4.0:
+ version "8.4.0"
+ resolved "https://registry.npmjs.org/open/-/open-8.4.0.tgz"
+ integrity sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==
+ dependencies:
+ define-lazy-prop "^2.0.0"
+ is-docker "^2.1.1"
+ is-wsl "^2.2.0"
+
+ora@^6.1.2:
+ version "6.1.2"
+ resolved "https://registry.npmjs.org/ora/-/ora-6.1.2.tgz"
+ integrity sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==
+ dependencies:
+ bl "^5.0.0"
+ chalk "^5.0.0"
+ cli-cursor "^4.0.0"
+ cli-spinners "^2.6.1"
+ is-interactive "^2.0.0"
+ is-unicode-supported "^1.1.0"
+ log-symbols "^5.1.0"
+ strip-ansi "^7.0.1"
+ wcwidth "^1.0.1"
+
+os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
+ integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
+
+parent-module@^1.0.0:
+ 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==
+ dependencies:
+ callsites "^3.0.0"
+
+parent-module@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/parent-module/-/parent-module-2.0.0.tgz"
+ integrity sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==
+ dependencies:
+ callsites "^3.1.0"
+
+parse-git-config@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz"
+ integrity sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==
+ dependencies:
+ git-config-path "^2.0.0"
+ ini "^1.3.5"
+
+parse-json@^5.0.0:
+ version "5.2.0"
+ resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz"
+ integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ error-ex "^1.3.1"
+ json-parse-even-better-errors "^2.3.0"
+ lines-and-columns "^1.1.6"
+
+parse-path@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/parse-path/-/parse-path-7.0.0.tgz"
+ integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==
+ dependencies:
+ protocols "^2.0.0"
+
+parse-url@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.npmjs.org/parse-url/-/parse-url-8.1.0.tgz"
+ integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==
+ dependencies:
+ parse-path "^7.0.0"
+
+parseurl@^1.3.2, parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+path-is-absolute@^1.0.0, path-is-absolute@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-key@^3.0.0, path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-to-regexp@^6.1.0:
+ version "6.2.1"
+ resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz"
+ integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==
+
+path-type@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
+ integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+pathe@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmjs.org/pathe/-/pathe-0.2.0.tgz"
+ integrity sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==
+
+pathe@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/pathe/-/pathe-1.0.0.tgz"
+ integrity sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==
+
+pathval@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz"
+ integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
+
+perfect-debounce@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-0.1.3.tgz"
+ integrity sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==
+
+picocolors@^1.0.0, picocolors@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz"
+ integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pify@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz"
+ integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+
+pkg-types@^1.0.0, pkg-types@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.1.tgz"
+ integrity sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==
+ dependencies:
+ jsonc-parser "^3.2.0"
+ mlly "^1.0.0"
+ pathe "^1.0.0"
+
+portfinder@^1.0.26:
+ version "1.0.32"
+ resolved "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz"
+ integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==
+ dependencies:
+ async "^2.6.4"
+ debug "^3.2.7"
+ mkdirp "^0.5.6"
+
+postcss-calc@^8.2.3:
+ version "8.2.4"
+ resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz"
+ integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==
+ dependencies:
+ postcss-selector-parser "^6.0.9"
+ postcss-value-parser "^4.2.0"
+
+postcss-colormin@^5.3.0:
+ version "5.3.0"
+ resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz"
+ integrity sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==
+ dependencies:
+ browserslist "^4.16.6"
+ caniuse-api "^3.0.0"
+ colord "^2.9.1"
+ postcss-value-parser "^4.2.0"
+
+postcss-convert-values@^5.1.3:
+ version "5.1.3"
+ resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz"
+ integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==
+ dependencies:
+ browserslist "^4.21.4"
+ postcss-value-parser "^4.2.0"
+
+postcss-custom-properties@^12.1.9:
+ version "12.1.11"
+ resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz"
+ integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-discard-comments@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz"
+ integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==
+
+postcss-discard-duplicates@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz"
+ integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==
+
+postcss-discard-empty@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz"
+ integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==
+
+postcss-discard-overridden@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz"
+ integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==
+
+postcss-import-resolver@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/postcss-import-resolver/-/postcss-import-resolver-2.0.0.tgz"
+ integrity sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==
+ dependencies:
+ enhanced-resolve "^4.1.1"
+
+postcss-import@^13.0.0:
+ version "13.0.0"
+ resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-13.0.0.tgz"
+ integrity sha512-LPUbm3ytpYopwQQjqgUH4S3EM/Gb9QsaSPP/5vnoi+oKVy3/mIk2sc0Paqw7RL57GpScm9MdIMUypw2znWiBpg==
+ dependencies:
+ postcss-value-parser "^4.0.0"
+ read-cache "^1.0.0"
+ resolve "^1.1.7"
+
+postcss-import@^14.1.0:
+ version "14.1.0"
+ resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz"
+ integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
+ dependencies:
+ postcss-value-parser "^4.0.0"
+ read-cache "^1.0.0"
+ resolve "^1.1.7"
+
+postcss-import@^15.0.0:
+ version "15.1.0"
+ resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz"
+ integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==
+ dependencies:
+ postcss-value-parser "^4.0.0"
+ read-cache "^1.0.0"
+ resolve "^1.1.7"
+
+postcss-js@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz"
+ integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
+ dependencies:
+ camelcase-css "^2.0.1"
+
+postcss-load-config@^3.1.4:
+ version "3.1.4"
+ resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz"
+ integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
+ dependencies:
+ lilconfig "^2.0.5"
+ yaml "^1.10.2"
+
+postcss-loader@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.3.0.tgz"
+ integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==
+ dependencies:
+ cosmiconfig "^7.0.0"
+ klona "^2.0.4"
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
+ semver "^7.3.4"
+
+postcss-merge-longhand@^5.1.7:
+ version "5.1.7"
+ resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz"
+ integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ stylehacks "^5.1.1"
+
+postcss-merge-rules@^5.1.3:
+ version "5.1.3"
+ resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.3.tgz"
+ integrity sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==
+ dependencies:
+ browserslist "^4.21.4"
+ caniuse-api "^3.0.0"
+ cssnano-utils "^3.1.0"
+ postcss-selector-parser "^6.0.5"
+
+postcss-minify-font-values@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz"
+ integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-gradients@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz"
+ integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==
+ dependencies:
+ colord "^2.9.1"
+ cssnano-utils "^3.1.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-params@^5.1.4:
+ version "5.1.4"
+ resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz"
+ integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==
+ dependencies:
+ browserslist "^4.21.4"
+ cssnano-utils "^3.1.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-minify-selectors@^5.2.1:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz"
+ integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==
+ dependencies:
+ postcss-selector-parser "^6.0.5"
+
+postcss-modules-extract-imports@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz"
+ integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
+
+postcss-modules-local-by-default@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz"
+ integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
+ dependencies:
+ icss-utils "^5.0.0"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.1.0"
+
+postcss-modules-scope@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz"
+ integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
+ dependencies:
+ postcss-selector-parser "^6.0.4"
+
+postcss-modules-values@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz"
+ integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
+ dependencies:
+ icss-utils "^5.0.0"
+
+postcss-nested@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz"
+ integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==
+ dependencies:
+ postcss-selector-parser "^6.0.10"
+
+postcss-nesting@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz"
+ integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==
+ dependencies:
+ "@csstools/selector-specificity" "^2.0.0"
+ postcss-selector-parser "^6.0.10"
+
+postcss-normalize-charset@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz"
+ integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==
+
+postcss-normalize-display-values@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz"
+ integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-positions@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz"
+ integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-repeat-style@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz"
+ integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-string@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz"
+ integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-timing-functions@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz"
+ integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-unicode@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz"
+ integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==
+ dependencies:
+ browserslist "^4.21.4"
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-url@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz"
+ integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==
+ dependencies:
+ normalize-url "^6.0.1"
+ postcss-value-parser "^4.2.0"
+
+postcss-normalize-whitespace@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz"
+ integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-ordered-values@^5.1.3:
+ version "5.1.3"
+ resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz"
+ integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==
+ dependencies:
+ cssnano-utils "^3.1.0"
+ postcss-value-parser "^4.2.0"
+
+postcss-reduce-initial@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.1.tgz"
+ integrity sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==
+ dependencies:
+ browserslist "^4.21.4"
+ caniuse-api "^3.0.0"
+
+postcss-reduce-transforms@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz"
+ integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+
+postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9:
+ version "6.0.11"
+ resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz"
+ integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-svgo@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz"
+ integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==
+ dependencies:
+ postcss-value-parser "^4.2.0"
+ svgo "^2.7.0"
+
+postcss-unique-selectors@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz"
+ integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==
+ dependencies:
+ postcss-selector-parser "^6.0.5"
+
+postcss-url@^10.1.1, postcss-url@^10.1.3:
+ version "10.1.3"
+ resolved "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz"
+ integrity sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==
+ dependencies:
+ make-dir "~3.1.0"
+ mime "~2.5.2"
+ minimatch "~3.0.4"
+ xxhashjs "~0.2.2"
+
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.0, postcss@^8.0.9, postcss@^8.1.0, postcss@^8.1.10, postcss@^8.2, postcss@^8.2.14, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.3.3, postcss@^8.4.18, postcss@^8.4.19, postcss@^8.4.38, postcss@>=8.0.9:
+ version "8.4.38"
+ resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
+ integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
+ dependencies:
+ nanoid "^3.3.7"
+ picocolors "^1.0.0"
+ source-map-js "^1.2.0"
+
+pretty-bytes@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.0.0.tgz"
+ integrity sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+protocols@^2.0.0, protocols@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz"
+ integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==
+
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz"
+ integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
+
+punycode@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
+ integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+queue-microtask@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
+ integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+quick-lru@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz"
+ integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
+radix3@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmjs.org/radix3/-/radix3-0.2.1.tgz"
+ integrity sha512-FnhArTl5Tq7dodiLeSPKrDUyCQuJqEncP8cKdyy399g8F/cz7GH6FmzA3Rkosu2IZMkpswFFwXfb2ERSiL06pg==
+
+radix3@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/radix3/-/radix3-1.0.0.tgz"
+ integrity sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==
+
+randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+rc9@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/rc9/-/rc9-2.0.0.tgz"
+ integrity sha512-yVeYJHOpJLOhs3V6RKwz7RPPwPurrx3JjwK264sPgvo/lFdhuUrLien7iSvAO6STVkN0gSMk/MehQNHQhflqZw==
+ dependencies:
+ defu "^6.1.1"
+ destr "^1.2.1"
+ flat "^5.0.2"
+
+read-cache@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz"
+ integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
+ dependencies:
+ pify "^2.3.0"
+
+readable-stream@^2.0.0:
+ version "2.3.7"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^2.0.1:
+ version "2.3.7"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^2.0.5:
+ version "2.3.7"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
+ integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
+readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
+ integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readdir-glob@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.2.tgz"
+ integrity sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==
+ dependencies:
+ minimatch "^5.1.0"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+redis-errors@^1.0.0, redis-errors@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz"
+ integrity sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==
+
+redis-parser@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz"
+ integrity sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==
+ dependencies:
+ redis-errors "^1.0.0"
+
+replace-in-file@^6.1.0:
+ version "6.3.5"
+ resolved "https://registry.npmjs.org/replace-in-file/-/replace-in-file-6.3.5.tgz"
+ integrity sha512-arB9d3ENdKva2fxRnSjwBEXfK1npgyci7ZZuwysgAp7ORjHSyxz6oqIjTEv8R0Ydl4Ll7uOAZXL4vbkhGIizCg==
+ dependencies:
+ chalk "^4.1.2"
+ glob "^7.2.0"
+ yargs "^17.2.1"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz"
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
+ integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-from@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz"
+ integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==
+
+resolve-path@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz"
+ integrity sha512-i1xevIst/Qa+nA9olDxLWnLk8YZbi8R/7JPbCMcgyWaFR6bKWaexgJgEB5oc2PKMjYdrHynyz0NY+if+H98t1w==
+ dependencies:
+ http-errors "~1.6.2"
+ path-is-absolute "1.0.1"
+
+resolve@^1.1.7, resolve@^1.22.1:
+ version "1.22.1"
+ resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz"
+ integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
+ dependencies:
+ is-core-module "^2.9.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+restore-cursor@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz"
+ integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==
+ dependencies:
+ onetime "^5.1.0"
+ signal-exit "^3.0.2"
+
+reusify@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
+ integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rimraf@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+ dependencies:
+ glob "^7.1.3"
+
+rollup-plugin-terser@^7.0.2:
+ version "7.0.2"
+ resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz"
+ integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==
+ dependencies:
+ "@babel/code-frame" "^7.10.4"
+ jest-worker "^26.2.1"
+ serialize-javascript "^4.0.0"
+ terser "^5.0.0"
+
+rollup-plugin-visualizer@^5.8.3:
+ version "5.8.3"
+ resolved "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.8.3.tgz"
+ integrity sha512-QGJk4Bqe4AOat5AjipOh8esZH1nck5X2KFpf4VytUdSUuuuSwvIQZjMGgjcxe/zXexltqaXp5Vx1V3LmnQH15Q==
+ dependencies:
+ open "^8.4.0"
+ source-map "^0.7.4"
+ yargs "^17.5.1"
+
+rollup@^1.20.0||^2.0.0||^3.0.0, rollup@^2.0.0, rollup@^2.68.0||^3.0.0, rollup@^2.78.0||^3.0.0, rollup@^2.79.1, "rollup@2.x || 3.x":
+ version "2.79.1"
+ resolved "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz"
+ integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+run-async@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
+run-parallel@^1.1.9:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz"
+ integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+ dependencies:
+ queue-microtask "^1.2.2"
+
+rxjs@^7.5.7:
+ version "7.6.0"
+ resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.6.0.tgz"
+ integrity sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==
+ dependencies:
+ tslib "^2.1.0"
+
+safe-buffer@^5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1:
+ version "5.2.1"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+"safer-buffer@>= 2.1.2 < 3":
+ version "2.1.2"
+ resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0:
+ version "3.3.0"
+ resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
+ integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
+ dependencies:
+ "@types/json-schema" "^7.0.8"
+ ajv "^6.12.5"
+ ajv-keywords "^3.5.2"
+
+scule@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz"
+ integrity sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==
+
+semver@^6.0.0:
+ version "6.3.1"
+ resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^6.3.0:
+ version "6.3.1"
+ resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^7.3.4, semver@^7.3.5, semver@^7.3.8:
+ version "7.6.2"
+ resolved "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz"
+ integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
+
+send@0.18.0:
+ version "0.18.0"
+ resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz"
+ integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
+ dependencies:
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ mime "1.6.0"
+ ms "2.1.3"
+ on-finished "2.4.1"
+ range-parser "~1.2.1"
+ statuses "2.0.1"
+
+serialize-javascript@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz"
+ integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
+ dependencies:
+ randombytes "^2.1.0"
+
+serialize-javascript@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz"
+ integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
+ dependencies:
+ randombytes "^2.1.0"
+
+serve-placeholder@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/serve-placeholder/-/serve-placeholder-2.0.1.tgz"
+ integrity sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==
+ dependencies:
+ defu "^6.0.0"
+
+serve-static@^1.15.0:
+ version "1.15.0"
+ resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz"
+ integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
+ dependencies:
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.18.0"
+
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
+setprototypeof@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz"
+ integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
+
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
+ version "3.0.7"
+ resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+slash@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz"
+ integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==
+
+source-map-js@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz"
+ integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
+
+source-map-support@^0.5.21, source-map-support@~0.5.20:
+ 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==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map@^0.6.0:
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+source-map@^0.7.4:
+ version "0.7.4"
+ resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz"
+ integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
+
+sourcemap-codec@^1.4.8:
+ version "1.4.8"
+ resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
+ integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
+
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz"
+ integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+
+standard-as-callback@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz"
+ integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==
+
+statuses@^1.5.0, "statuses@>= 1.5.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
+"statuses@>= 1.4.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+std-env@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.npmjs.org/std-env/-/std-env-3.3.1.tgz"
+ integrity sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==
+
+string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+"string-width@^1.0.2 || 2 || 3 || 4":
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^4.1.0, string-width@^4.2.0:
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^5.0.1, string-width@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz"
+ integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==
+ dependencies:
+ ansi-regex "^6.0.1"
+
+strip-final-newline@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz"
+ integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-literal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/strip-literal/-/strip-literal-1.0.0.tgz"
+ integrity sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==
+ dependencies:
+ acorn "^8.8.1"
+
+stylehacks@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz"
+ integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==
+ dependencies:
+ browserslist "^4.21.4"
+ postcss-selector-parser "^6.0.4"
+
+supports-color@^5.3.0:
+ version "5.5.0"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^7.0.0, supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-color@^8.0.0:
+ version "8.1.1"
+ resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz"
+ integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+svg-tags@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz"
+ integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
+
+svgo@^2.7.0:
+ version "2.8.0"
+ resolved "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz"
+ integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==
+ dependencies:
+ "@trysound/sax" "0.2.0"
+ commander "^7.2.0"
+ css-select "^4.1.3"
+ css-tree "^1.1.3"
+ csso "^4.2.0"
+ picocolors "^1.0.0"
+ stable "^0.1.8"
+
+tailwind-config-viewer@^1.7.2:
+ version "1.7.2"
+ resolved "https://registry.npmjs.org/tailwind-config-viewer/-/tailwind-config-viewer-1.7.2.tgz"
+ integrity sha512-3JJCeAAlvG+i/EBj+tQb0x4weo30QjdSAo4hlcnVbtD+CkpzHi/UwU9InbPMcYH+ESActoa2kCyjpLEyjEkn0Q==
+ dependencies:
+ "@koa/router" "^9.0.1"
+ commander "^6.0.0"
+ fs-extra "^9.0.1"
+ koa "^2.12.0"
+ koa-static "^5.0.0"
+ open "^7.0.4"
+ portfinder "^1.0.26"
+ replace-in-file "^6.1.0"
+
+tailwindcss@^3.2.0, "tailwindcss@1 || 2 || 2.0.1-compat || 3":
+ version "3.2.4"
+ resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.2.4.tgz"
+ integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==
+ dependencies:
+ arg "^5.0.2"
+ chokidar "^3.5.3"
+ color-name "^1.1.4"
+ detective "^5.2.1"
+ didyoumean "^1.2.2"
+ dlv "^1.1.3"
+ fast-glob "^3.2.12"
+ glob-parent "^6.0.2"
+ is-glob "^4.0.3"
+ lilconfig "^2.0.6"
+ micromatch "^4.0.5"
+ normalize-path "^3.0.0"
+ object-hash "^3.0.0"
+ picocolors "^1.0.0"
+ postcss "^8.4.18"
+ postcss-import "^14.1.0"
+ postcss-js "^4.0.0"
+ postcss-load-config "^3.1.4"
+ postcss-nested "6.0.0"
+ postcss-selector-parser "^6.0.10"
+ postcss-value-parser "^4.2.0"
+ quick-lru "^5.1.1"
+ resolve "^1.22.1"
+
+tapable@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz"
+ integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
+
+tapable@^2.1.1, tapable@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz"
+ integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
+
+tar-stream@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz"
+ integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
+ dependencies:
+ bl "^4.0.3"
+ end-of-stream "^1.4.1"
+ fs-constants "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^3.1.1"
+
+tar@^6.1.11, tar@^6.1.12:
+ version "6.2.1"
+ resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz"
+ integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
+ dependencies:
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ minipass "^5.0.0"
+ minizlib "^2.1.1"
+ mkdirp "^1.0.3"
+ yallist "^4.0.0"
+
+terser-webpack-plugin@^5.3.10:
+ version "5.3.10"
+ resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz"
+ integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==
+ dependencies:
+ "@jridgewell/trace-mapping" "^0.3.20"
+ jest-worker "^27.4.5"
+ schema-utils "^3.1.1"
+ serialize-javascript "^6.0.1"
+ terser "^5.26.0"
+
+terser@^5.0.0, terser@^5.26.0, terser@^5.4.0:
+ version "5.31.0"
+ resolved "https://registry.npmjs.org/terser/-/terser-5.31.0.tgz"
+ integrity sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg==
+ dependencies:
+ "@jridgewell/source-map" "^0.3.3"
+ acorn "^8.8.2"
+ commander "^2.20.0"
+ source-map-support "~0.5.20"
+
+through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
+tiny-invariant@^1.1.0:
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz"
+ integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==
+
+tinybench@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.3.1.tgz"
+ integrity sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==
+
+tinypool@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmjs.org/tinypool/-/tinypool-0.3.0.tgz"
+ integrity sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==
+
+tinyspy@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/tinyspy/-/tinyspy-1.0.2.tgz"
+ integrity sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+to-fast-properties@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
+ integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
+
+to-regex-range@^5.0.1:
+ 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==
+ dependencies:
+ is-number "^7.0.0"
+
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
+ integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
+
+tslib@^2.1.0:
+ version "2.4.1"
+ resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.1.tgz"
+ integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
+
+tsscmp@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz"
+ integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==
+
+type-detect@^4.0.0, type-detect@^4.0.5:
+ version "4.0.8"
+ resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz"
+ integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
+
+type-fest@^0.21.3:
+ version "0.21.3"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz"
+ integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
+type-fest@^2.11.2:
+ version "2.19.0"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz"
+ integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
+
+type-fest@^3.0.0:
+ version "3.4.0"
+ resolved "https://registry.npmjs.org/type-fest/-/type-fest-3.4.0.tgz"
+ integrity sha512-PEPg6RHlB9cFwoTMNENNrQFL0cXX04voWr2UPwQBJ3pVs7Mt8Y1oLWdUeMdGEwZE8HFFlujq8gS9enmyiQ8pLg==
+
+type-is@^1.6.16:
+ version "1.6.18"
+ resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+ufo@^0.8.6:
+ version "0.8.6"
+ resolved "https://registry.npmjs.org/ufo/-/ufo-0.8.6.tgz"
+ integrity sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==
+
+ufo@^1.0.0, ufo@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/ufo/-/ufo-1.0.1.tgz"
+ integrity sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==
+
+ultrahtml@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.2.0.tgz"
+ integrity sha512-vxZM2yNvajRmCj/SknRYGNXk2tqiy6kRNvZjJLaleG3zJbSh/aNkOqD1/CVzypw8tyHyhpzYuwQgMMhUB4ZVNQ==
+
+unctx@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/unctx/-/unctx-2.1.1.tgz"
+ integrity sha512-RffJlpvLOtolWsn0fxXsuSDfwiWcR6cyuykw2e0+zAggvGW1SesXt9WxIWlWpJhwVCZD/WlxxLqKLS50Q0CkWA==
+ dependencies:
+ acorn "^8.8.1"
+ estree-walker "^3.0.1"
+ magic-string "^0.26.7"
+ unplugin "^1.0.0"
+
+undici@^5.12.0:
+ version "5.28.4"
+ resolved "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz"
+ integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==
+ dependencies:
+ "@fastify/busboy" "^2.0.0"
+
+unenv@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/unenv/-/unenv-1.0.0.tgz"
+ integrity sha512-vlyi2Rzj4CNlA1JsEXufX+ItkGr3Z5DfLzKniYEneMlBVtuxS+57f1LwTPj2eiBPSPaGHMUVzEnjSCGE7l8JQg==
+ dependencies:
+ defu "^6.1.1"
+ mime "^3.0.0"
+ node-fetch-native "^1.0.1"
+ pathe "^1.0.0"
+
+unhead@^1.0.0:
+ version "1.0.13"
+ resolved "https://registry.npmjs.org/unhead/-/unhead-1.0.13.tgz"
+ integrity sha512-stWC9VawHWq27WiAsgNPLFXI61LaNy1E3Zs/0cSgPTvz4ti8fYuqLOz930pzVRIKrWnxQVGndw8UZLSEcK7ikA==
+ dependencies:
+ "@unhead/dom" "1.0.13"
+ "@unhead/schema" "1.0.13"
+ hookable "^5.4.2"
+
+unimport@^1.0.0, unimport@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/unimport/-/unimport-1.0.2.tgz"
+ integrity sha512-DcYkDwl1XMZNmyEKUFzVzHAul0FZcj9m0OM/WRfaAtg6Gw1waYlypYJl6qAg31k57TnNPwGDCAxYPodYC5qomQ==
+ dependencies:
+ "@rollup/pluginutils" "^5.0.2"
+ escape-string-regexp "^5.0.0"
+ fast-glob "^3.2.12"
+ local-pkg "^0.4.2"
+ magic-string "^0.27.0"
+ mlly "^1.0.0"
+ pathe "^1.0.0"
+ pkg-types "^1.0.1"
+ scule "^1.0.0"
+ strip-literal "^1.0.0"
+ unplugin "^1.0.1"
+
+universalify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz"
+ integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
+unplugin@^1.0.0, unplugin@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.0.1.tgz"
+ integrity sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==
+ dependencies:
+ acorn "^8.8.1"
+ chokidar "^3.5.3"
+ webpack-sources "^3.2.3"
+ webpack-virtual-modules "^0.5.0"
+
+unstorage@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/unstorage/-/unstorage-1.0.1.tgz"
+ integrity sha512-J1c4b8K2KeihHrQtdgl/ybIapArUbPaPb+TyJy/nGSauDwDYqciZsEKdkee568P3c8SSH4TIgnGRHDWMPGw+Lg==
+ dependencies:
+ anymatch "^3.1.2"
+ chokidar "^3.5.3"
+ destr "^1.2.1"
+ h3 "^1.0.1"
+ ioredis "^5.2.4"
+ listhen "^1.0.0"
+ mkdir "^0.0.2"
+ mri "^1.2.0"
+ ofetch "^1.0.0"
+ ufo "^1.0.0"
+ ws "^8.11.0"
+
+untyped@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmjs.org/untyped/-/untyped-1.1.0.tgz"
+ integrity sha512-v4H7juRA2cWFr+V4L2HExXwlRCwZv2A6o2M33+9aN/DPUyzqtFFMCTpiKF7sdOV8EaLxm+LTpDb0BoeGv2NswQ==
+ dependencies:
+ "@babel/core" "^7.20.5"
+ "@babel/standalone" "^7.20.6"
+ "@babel/types" "^7.20.5"
+ scule "^1.0.0"
+
+update-browserslist-db@^1.0.13:
+ version "1.0.16"
+ resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz"
+ integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==
+ dependencies:
+ escalade "^3.1.2"
+ picocolors "^1.0.1"
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+vary@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
+vite-node@^0.25.2:
+ version "0.25.8"
+ resolved "https://registry.npmjs.org/vite-node/-/vite-node-0.25.8.tgz"
+ integrity sha512-o1GsPZcq4ce7ZUUALnOfYP/bjaHQYtLDLuirOMvYCdsuvDMb2tggib2RZRfHIhTEF2QnIgyQEoyaOjAMHGPRiw==
+ dependencies:
+ debug "^4.3.4"
+ mlly "^1.0.0"
+ pathe "^0.2.0"
+ source-map "^0.6.1"
+ source-map-support "^0.5.21"
+ vite "^3.0.0 || ^4.0.0"
+
+vite-plugin-checker@^0.5.1:
+ version "0.5.6"
+ resolved "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.5.6.tgz"
+ integrity sha512-ftRyON0gORUHDxcDt2BErmsikKSkfvl1i2DoP6Jt2zDO9InfvM6tqO1RkXhSjkaXEhKPea6YOnhFaZxW3BzudQ==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ ansi-escapes "^4.3.0"
+ chalk "^4.1.1"
+ chokidar "^3.5.1"
+ commander "^8.0.0"
+ fast-glob "^3.2.7"
+ fs-extra "^11.1.0"
+ lodash.debounce "^4.0.8"
+ lodash.pick "^4.4.0"
+ npm-run-path "^4.0.1"
+ strip-ansi "^6.0.0"
+ tiny-invariant "^1.1.0"
+ vscode-languageclient "^7.0.0"
+ vscode-languageserver "^7.0.0"
+ vscode-languageserver-textdocument "^1.0.1"
+ vscode-uri "^3.0.2"
+
+vite@^3.0.0, "vite@^3.0.0 || ^4.0.0", vite@>=2.0.0, vite@~3.2.4:
+ version "3.2.10"
+ resolved "https://registry.npmjs.org/vite/-/vite-3.2.10.tgz"
+ integrity sha512-Dx3olBo/ODNiMVk/cA5Yft9Ws+snLOXrhLtrI3F4XLt4syz2Yg8fayZMWScPKoz12v5BUv7VEmQHnsfpY80fYw==
+ dependencies:
+ esbuild "^0.15.9"
+ postcss "^8.4.18"
+ resolve "^1.22.1"
+ rollup "^2.79.1"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+vitest@^0.25.3:
+ version "0.25.8"
+ resolved "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz"
+ integrity sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==
+ dependencies:
+ "@types/chai" "^4.3.4"
+ "@types/chai-subset" "^1.3.3"
+ "@types/node" "*"
+ acorn "^8.8.1"
+ acorn-walk "^8.2.0"
+ chai "^4.3.7"
+ debug "^4.3.4"
+ local-pkg "^0.4.2"
+ source-map "^0.6.1"
+ strip-literal "^1.0.0"
+ tinybench "^2.3.1"
+ tinypool "^0.3.0"
+ tinyspy "^1.0.2"
+ vite "^3.0.0 || ^4.0.0"
+
+vscode-jsonrpc@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz"
+ integrity sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==
+
+vscode-languageclient@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz"
+ integrity sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==
+ dependencies:
+ minimatch "^3.0.4"
+ semver "^7.3.4"
+ vscode-languageserver-protocol "3.16.0"
+
+vscode-languageserver-protocol@3.16.0:
+ version "3.16.0"
+ resolved "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz"
+ integrity sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==
+ dependencies:
+ vscode-jsonrpc "6.0.0"
+ vscode-languageserver-types "3.16.0"
+
+vscode-languageserver-textdocument@^1.0.1:
+ version "1.0.8"
+ resolved "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz"
+ integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
+
+vscode-languageserver-types@3.16.0:
+ version "3.16.0"
+ resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz"
+ integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==
+
+vscode-languageserver@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz"
+ integrity sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==
+ dependencies:
+ vscode-languageserver-protocol "3.16.0"
+
+vscode-uri@^3.0.2:
+ version "3.0.7"
+ resolved "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz"
+ integrity sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==
+
+vue-bundle-renderer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmjs.org/vue-bundle-renderer/-/vue-bundle-renderer-1.0.0.tgz"
+ integrity sha512-43vCqTgaMXfHhtR8/VcxxWD1DgtzyvNc4wNyG5NKCIH19O1z5G9ZCRXTGEA2wifVec5PU82CkRLD2sTK9NkTdA==
+ dependencies:
+ ufo "^1.0.0"
+
+vue-devtools-stub@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz"
+ integrity sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==
+
+vue-router@^4.1.6:
+ version "4.1.6"
+ resolved "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz"
+ integrity sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==
+ dependencies:
+ "@vue/devtools-api" "^6.4.5"
+
+vue@^3, vue@^3.0.0, vue@^3.2.0, vue@^3.2.25, vue@^3.2.45, "vue@>=2.7 || >=3", vue@3.4.27:
+ version "3.4.27"
+ resolved "https://registry.npmjs.org/vue/-/vue-3.4.27.tgz"
+ integrity sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==
+ dependencies:
+ "@vue/compiler-dom" "3.4.27"
+ "@vue/compiler-sfc" "3.4.27"
+ "@vue/runtime-dom" "3.4.27"
+ "@vue/server-renderer" "3.4.27"
+ "@vue/shared" "3.4.27"
+
+watchpack@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz"
+ integrity sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==
+ dependencies:
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.1.2"
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz"
+ integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+ dependencies:
+ defaults "^1.0.3"
+
+web-streams-polyfill@^3.0.3:
+ version "3.2.1"
+ resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz"
+ integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==
+
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
+ integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
+
+webpack-sources@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
+ integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
+webpack-virtual-modules@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz"
+ integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==
+
+"webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", webpack@^5.1.0:
+ version "5.91.0"
+ resolved "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz"
+ integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==
+ dependencies:
+ "@types/eslint-scope" "^3.7.3"
+ "@types/estree" "^1.0.5"
+ "@webassemblyjs/ast" "^1.12.1"
+ "@webassemblyjs/wasm-edit" "^1.12.1"
+ "@webassemblyjs/wasm-parser" "^1.12.1"
+ acorn "^8.7.1"
+ acorn-import-assertions "^1.9.0"
+ browserslist "^4.21.10"
+ chrome-trace-event "^1.0.2"
+ enhanced-resolve "^5.16.0"
+ es-module-lexer "^1.2.1"
+ eslint-scope "5.1.1"
+ events "^3.2.0"
+ glob-to-regexp "^0.4.1"
+ graceful-fs "^4.2.11"
+ json-parse-even-better-errors "^2.3.1"
+ loader-runner "^4.2.0"
+ mime-types "^2.1.27"
+ neo-async "^2.6.2"
+ schema-utils "^3.2.0"
+ tapable "^2.1.1"
+ terser-webpack-plugin "^5.3.10"
+ watchpack "^2.4.1"
+ webpack-sources "^3.2.3"
+
+whatwg-url@^5.0.0:
+ 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"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+wide-align@^1.1.2:
+ version "1.1.5"
+ resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz"
+ integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+ dependencies:
+ string-width "^1.0.2 || 2 || 3 || 4"
+
+wrap-ansi@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz"
+ integrity sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==
+ dependencies:
+ ansi-styles "^6.1.0"
+ string-width "^5.0.1"
+ strip-ansi "^7.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+ws@^8.11.0:
+ version "8.11.0"
+ resolved "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz"
+ integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
+
+xtend@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+xxhashjs@~0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz"
+ integrity sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==
+ dependencies:
+ cuint "^0.2.2"
+
+y18n@^5.0.5:
+ version "5.0.8"
+ resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz"
+ integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml@^1.10.0, yaml@^1.10.2:
+ version "1.10.2"
+ resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz"
+ integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yargs-parser@^21.1.1:
+ version "21.1.1"
+ resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz"
+ integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
+
+yargs@^17.2.1, yargs@^17.5.1:
+ version "17.6.2"
+ resolved "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz"
+ integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==
+ dependencies:
+ cliui "^8.0.1"
+ escalade "^3.1.1"
+ get-caller-file "^2.0.5"
+ require-directory "^2.1.1"
+ string-width "^4.2.3"
+ y18n "^5.0.5"
+ yargs-parser "^21.1.1"
+
+ylru@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz"
+ integrity sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==
+
+zip-stream@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz"
+ integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==
+ dependencies:
+ archiver-utils "^2.1.0"
+ compress-commons "^4.1.0"
+ readable-stream "^3.6.0"