diff --git a/.github/workflows/deploy-docs.yml.bak b/.github/workflows/build.yml similarity index 50% rename from .github/workflows/deploy-docs.yml.bak rename to .github/workflows/build.yml index 3d4891b2..525dce28 100644 --- a/.github/workflows/deploy-docs.yml.bak +++ b/.github/workflows/build.yml @@ -1,47 +1,44 @@ - -name: 部署文档 +name: Build on: - push: - branches: - # 确保这是你正在使用的分支名称 - - main - -permissions: - contents: write + workflow_call: jobs: - deploy-gh-pages: + build: runs-on: ubuntu-latest steps: - - name: Checkout - uses: actions/checkout@v3 + - name: 签出仓库 + uses: actions/checkout@v4 with: fetch-depth: 0 # 如果你文档需要 Git 子模块,取消注释下一行 # submodules: true - + - name: 设置 pnpm + uses: pnpm/action-setup@v2 - name: 设置 Node.js uses: actions/setup-node@v3 with: node-version: 18 - cache: npm + cache: pnpm - name: 安装依赖 - run: npm ci + run: pnpm install - name: 构建文档 env: NODE_OPTIONS: --max_old_space_size=8192 run: |- - npm run docs:build + pnpm run docs:build > src/.vuepress/dist/.nojekyll - - name: 部署文档 - uses: JamesIves/github-pages-deploy-action@v4 + - name: 压缩构建文件 + run: tar -cvf dist.tar src/.vuepress/dist + + - name: 上传构建结果 + uses: actions/upload-artifact@v3 with: - # 这是文档部署到的分支名称 - branch: gh-pages - folder: src/.vuepress/dist + name: build-result + path: | + dist.tar diff --git a/.github/workflows/calibreapp-image-actions.yml b/.github/workflows/calibreapp-image-actions.yml new file mode 100644 index 00000000..47eaccf7 --- /dev/null +++ b/.github/workflows/calibreapp-image-actions.yml @@ -0,0 +1,28 @@ +name: Compress Images +on: + workflow_call: + pull_request: + # Run Image Actions when JPG, JPEG, PNG or WebP files are added or changed. + # See https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths for reference. + paths: + - "**/**.jpg" + - "**/**.jpeg" + - "**/**.png" + - "**/**.webp" + +jobs: + build: + # Only run on Pull Requests within the same repository, and not from forks. + if: github.event.pull_request.head.repo.full_name == github.repository + name: calibreapp/image-actions + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v4 + + - name: Compress Images + uses: calibreapp/image-actions@main + with: + # The `GITHUB_TOKEN` is automatically generated by GitHub and scoped only to the repository that is currently running the action. By default, the action can’t update Pull Requests initiated from forked repositories. + # See https://docs.github.com/en/actions/reference/authentication-in-a-workflow and https://help.github.com/en/articles/virtual-environments-for-github-actions#token-permissions + githubToken: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/deploy-gh-pages.yml b/.github/workflows/deploy-gh-pages.yml new file mode 100644 index 00000000..0dd40925 --- /dev/null +++ b/.github/workflows/deploy-gh-pages.yml @@ -0,0 +1,38 @@ +name: Deploy GitHub Pages + +on: + workflow_call: + secrets: + ACCESS_TOKEN: + required: true + +permissions: + contents: write + +jobs: + deploy-gh-pages: + runs-on: ubuntu-latest + steps: + - name: 签出仓库 + uses: actions/checkout@v4 + + - name: 下载构建内容 + uses: actions/download-artifact@v3 + with: + name: build-result + # path: dist.tar + + - name: 解压构建文件 + run: tar -xvf dist.tar src/.vuepress/dist + + - name: 列出构建内容目录结构 + run: ls -R -a + + - name: 部署到 GitHub + uses: JamesIves/github-pages-deploy-action@v4 + with: + repository-name: zotero-chinese/zotero-chinese.github.io + branch: gh-pages + folder: src/.vuepress/dist + single-commit: true + token: ${{ secrets.ACCESS_TOKEN }} diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000..9a34f209 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,17 @@ +name: Lint Markdown + +on: + workflow_call: + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - name: 签出仓库 + uses: actions/checkout@v4 + - name: 运行 MarkdownLint + uses: DavidAnson/markdownlint-cli2-action@v13 + with: + globs: | + **/*.md + !test/*.md diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 00000000..65fe4ef3 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,28 @@ +name: Main Action + +on: + push: + branches: + - main + pull_request: + branches: + - main + +permissions: + contents: write + +jobs: + lint: + uses: ./.github/workflows/lint.yml + + build: + uses: ./.github/workflows/build.yml + + deploy-gh-pages: + if: github.ref_name == 'main' && github.event_name == 'push' && github.repository == 'zotero-chinese/wiki' + needs: + - lint + - build + uses: ./.github/workflows/deploy-gh-pages.yml + secrets: + ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }} diff --git a/.gitignore b/.gitignore index 411fb0d3..44f7db06 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ - +.DS_Store node_modules/ -src/.vuepress/.cache/ -src/.vuepress/.temp/ -src/.vuepress/dist/ +package-lock.json +# pnpm-lock.yaml + +**/.vuepress/.cache/ +**/.vuepress/.temp/ +**/.vuepress/dist/ +**/.obsidian \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100644 index 00000000..d24fdfc6 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npx lint-staged diff --git a/.markdownlint.json b/.markdownlint.json deleted file mode 100644 index 67df6e88..00000000 --- a/.markdownlint.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "default": true, - "MD003": { - "style": "atx" - }, - "MD004": { - "style": "dash" - }, - "MD013": false, - "MD024": { - "allow_different_nesting": true - }, - "MD033": { - "allowed_elements": [ - "br", - "template", - "script", - "style", - "ArtPlayer", - "AudioPlayer", - "AutoCatalog", - "Badge", - "BiliBili", - "Catalog", - "CodePen", - "DemoProject", - "FontIcon", - "ProjectLink", - "PDF", - "Replit", - "Share", - "SiteInfo", - "StackBlitz", - "XiGua", - "VideoPlayer", - "YouTube", - "AppearanceSwitch", - "HopeIcon", - "FlowChartPlayground", - "IconDisplay", - "KatexPlayground", - "NetlifyBadge", - "PrintButton", - "ThemeColorPicker", - "ToggleFullScreenButton", - "ToggleRTLButton" - ] - }, - "MD035": { - "style": "---" - }, - "MD040": false, - "MD046": false, - "MD049": false -} diff --git a/.markdownlint.jsonc b/.markdownlint.jsonc new file mode 100644 index 00000000..5e2e8194 --- /dev/null +++ b/.markdownlint.jsonc @@ -0,0 +1,106 @@ +{ + // 定义文档中涉及的专有名词 + "MD044": { + "code_blocks": false, + "html_elements": false, + "names": [ + "Zotero", + "JavaScript", + "GitHub", + "WebDAV", + "Android", + "iOS", + "macOS", + "WPS", + "Word", + "ZotFile", + "Zotero Chinese" + ] + }, + + // 兼容 Prettier + // @see https://github.com/DavidAnson/markdownlint/blob/main/doc/Prettier.md + "blanks-around-fences": false, + "blanks-around-headings": false, + "blanks-around-lists": false, + "code-fence-style": false, + "emphasis-style": false, + "heading-start-left": false, + "hr-style": false, + "line-length": false, + "list-indent": false, + "list-marker-space": false, + "no-blanks-blockquote": false, + "no-hard-tabs": false, + "no-missing-space-atx": false, + "no-missing-space-closed-atx": false, + "no-multiple-blanks": false, + "no-multiple-space-atx": false, + "no-multiple-space-blockquote": false, + "no-multiple-space-closed-atx": false, + "no-trailing-spaces": false, + "ol-prefix": false, + "strong-style": false, + "ul-indent": false, + + // 其他规则配置 + // @see https://github.com/vuepress-theme-hope/vuepress-theme-hope/blob/main/.markdownlint.json + "default": true, + "MD003": { + "style": "atx" + }, + "MD004": { + "style": "dash" + }, + "MD013": false, + "MD024": { + "allow_different_nesting": true + }, + "MD025": { + "front_matter_title": "" + }, + "MD033": { + "allowed_elements": [ + "br", + "template", + "script", + "style", + "ArtPlayer", + "AudioPlayer", + "AutoCatalog", + "Badge", + "BiliBili", + "Catalog", + "CodePen", + "DemoProject", + "FontIcon", + "ProjectLink", + "PDF", + "Replit", + "Share", + "SiteInfo", + "StackBlitz", + "XiGua", + "VideoPlayer", + "YouTube", + "AppearanceSwitch", + "HopeIcon", + "FlowChartPlayground", + "IconDisplay", + "KatexPlayground", + "NetlifyBadge", + "PrintButton", + "ThemeColorPicker", + "ToggleFullScreenButton", + "ToggleRTLButton" + ] + }, + // 兼容 Prettier 禁用 + // "MD035": { + // "style": "---" + // }, + "MD036": false, + "MD040": false, + "MD046": false, + "MD049": false +} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..a2185d20 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,21 @@ +# Vuepress Cache +**/.vuepress/.cache/** +# Vuepress Temp +**/.vuepress/.temp/** +# Vuepress Output +**/.vuepress/dist/** +# Lib files +**/.vuepress/public/assets/ + +# Node modules +node_modules/ + +# Obsidian files +**/.obsidian/** + +# NPM lock file +pnpm-lock.yaml +package-lock.json +yarn.lock + +.husky/ \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json index dcd76975..1a0e6759 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,7 @@ { - "recommendations": ["davidanson.vscode-markdownlint"] + "recommendations": [ + "esbenp.prettier-vscode", + "davidanson.vscode-markdownlint", + "yzhang.markdown-all-in-one" + ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 57a77c74..79849071 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,16 +1,29 @@ { + /** 编辑器相关 **/ + "editor.formatOnSave": true, + "editor.formatOnType": false, + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.codeActionsOnSave": { + "source.fixAll.markdownlint": "always", + "source.fixAll": "always" + }, "[markdown]": { "editor.fontFamily": "Sarasa Mono SC, Noto Sans Mono CJK SC, monospace", - "editor.formatOnType": false, - "editor.formatOnSave": true, - "editor.defaultFormatter": "DavidAnson.vscode-markdownlint" + "editor.defaultFormatter": "esbenp.prettier-vscode" }, + + /** Markdown 相关 **/ "markdown.validate.enabled": true, "markdown.validate.fileLinks.enabled": "error", - "editor.codeActionsOnSave": { - "source.fixAll.markdownlint": true + "markdown.validate.referenceLinks.enabled": "ignore", + "markdown.copyFiles.destination": { + "**/*": "${documentWorkspaceFolder}/src/assets/" }, - "explorer.sortOrder": "mixed", + "markdown.updateLinksOnFileMove.enabled": "always", + "markdown.editor.pasteUrlAsFormattedLink.enabled": "smart", + + /** 文件管理器相关 **/ + // "explorer.sortOrder": "mixed", "explorer.excludeGitIgnore": false, "files.exclude": { "**/.git": true, @@ -18,14 +31,19 @@ "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, - "**/Thumbs.db": true, - // custom begin - "node_modules": true, + "**/Thumbs.db": true + + /** custom begin **/ + // "node_modules": true, + // "package.json": true, + // "package-lock.json": true, + // "pnpm-lock.yaml": true // "**/.*": true, - ".github": true, - "**/.vuepress": true, - ".vscode": true, - ".markdownlint.json": true, - "package-lock.json": true + // ".github": true, + // ".gitignore": true, + // ".vscode": true, + // ".markdownlint.json": true, + // "**/.vuepress": true, + // "LICENSE": true } } diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..f4a50414 --- /dev/null +++ b/LICENSE @@ -0,0 +1,418 @@ +Attribution-ShareAlike 4.0 International + +======================================================================= + +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. + +Using Creative Commons Public Licenses + +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution-ShareAlike 4.0 International Public +License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution-ShareAlike 4.0 International Public License ("Public +License"). To the extent this Public License may be interpreted as a +contract, You are granted the Licensed Rights in consideration of Your +acceptance of these terms and conditions, and the Licensor grants You +such rights in consideration of benefits the Licensor receives from +making the Licensed Material available under these terms and +conditions. + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative + Commons as essentially the equivalent of this Public License. + + d. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + e. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + f. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + g. License Elements means the license attributes listed in the name + of a Creative Commons Public License. The License Elements of this + Public License are Attribution and ShareAlike. + + h. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + i. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + j. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + k. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + l. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + m. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. Additional offer from the Licensor -- Adapted Material. + Every recipient of Adapted Material from You + automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material + under the conditions of the Adapter's License You apply. + + c. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + b. ShareAlike. + + In addition to the conditions in Section 3(a), if You Share + Adapted Material You produce, the following conditions also apply. + + 1. The Adapter's License You apply must be a Creative Commons + license with the same License Elements, this version or + later, or a BY-SA Compatible License. + + 2. You must include the text of, or the URI or hyperlink to, the + Adapter's License You apply. You may satisfy this condition + in any reasonable manner based on the medium, means, and + context in which You Share Adapted Material. + + 3. You may not offer or impose any additional or different terms + or conditions on, or apply any Effective Technological + Measures to, Adapted Material that restrict exercise of the + rights granted under the Adapter's License You apply. + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material, + including for purposes of Section 3(b); and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the “Licensor.” The text of the Creative Commons public +licenses is dedicated to the public domain under the CC0 Public Domain +Dedication. Except for the limited purpose of indicating that material +is shared under a Creative Commons public license or as otherwise +permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. diff --git a/README.md b/README.md index 561db21a..334e6bd7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,47 @@ # Zotero 中文文档仓库 -本仓库临时性作为将 Zotero 中文文档从语雀迁移至自建静态页面生成器方案的预览仓库。 +[![Static Badge](https://img.shields.io/badge/Author-Zotero%20Chinese-blue)](#贡献者) +[![GitHub contributors](https://img.shields.io/github/contributors-anon/zotero-chinese/wiki)](#贡献者) +[![GitHub License](https://img.shields.io/github/license/zotero-chinese/wiki)](#协议) +[![GitHub repo size](https://img.shields.io/github/repo-size/zotero-chinese/wiki)](#zotero-中文文档仓库) -获取文档请访问语雀。 +[![GitHub last commit (branch)](https://img.shields.io/github/last-commit/zotero-chinese/wiki/main)](#zotero-中文文档仓库) +[![Netlify Status](https://api.netlify.com/api/v1/badges/aaa3fdac-5809-409e-b99d-012a232fed18/deploy-status)](https://app.netlify.com/sites/zotero-zh/deploys) +[![Main Action](https://github.com/zotero-chinese/wiki/actions/workflows/main.yml/badge.svg?event=push)](https://github.com/zotero-chinese/wiki/actions/workflows/main.yml) +[![pages-build-deployment](https://github.com/zotero-chinese/zotero-chinese.github.io/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/zotero-chinese/zotero-chinese.github.io/actions/workflows/pages/pages-build-deployment) + +本仓库存储 Zotero 中文社区所建立的各种文档,包括 Zotero 用户文档、Zotero 插件开发文档、CSL 规范中文译文等。 + +## 访问 + +请访问在线网站:[Zotero 中文社区 (https://zotero-chinese.com)](https://zotero-chinese.com)。 + +备用地址:。 + +## 协议 + +所有文档采用均采用 [知识共享 署名-相同方式共享 4.0 国际](https://creativecommons.org/licenses/by-sa/4.0/legalcode.zh-hans) 协议共享,代码采用 MIT 协议共享。 + + + + + + + +## 行为准则 + +见 [贡献者公约](https://zotero-chinese.com/code_of_conduct.html)。 + +## 贡献指南 + +本项目接收多种方式的贡献,详情请参阅 [贡献指南](https://zotero-chinese.com/contributing/contributing.html)。 + +## 贡献者 + +感谢所有贡献者! + +[![contributors](https://contrib.rocks/image?repo=zotero-chinese/wiki)](https://github.com/zotero-chinese/wiki/graphs/contributors) + +## 致谢 + +[![netlify](https://www.netlify.com/v3/img/components/netlify-color-bg.svg)](https://www.netlify.com) diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index cfc49517..00000000 --- a/package-lock.json +++ /dev/null @@ -1,18934 +0,0 @@ -{ - "name": "zotero-guide-zh", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "zotero-guide-zh", - "version": "0.0.0", - "license": "MIT", - "devDependencies": { - "@vuepress/client": "2.0.0-beta.63", - "markdownlint-cli2": "^0.7.1", - "vue": "^3.3.4", - "vuepress": "2.0.0-beta.63", - "vuepress-plugin-search-pro": "2.0.0-beta.228", - "vuepress-theme-hope": "2.0.0-beta.228" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "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.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", - "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.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==", - "dev": true, - "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==", - "dev": true, - "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/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==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", - "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", - "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", - "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", - "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.5", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "node_modules/@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@braintree/sanitize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", - "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==", - "dev": true - }, - "node_modules/@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "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==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - } - }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - }, - "node_modules/@kurkle/color": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", - "dev": true - }, - "node_modules/@lit-labs/ssr-dom-shim": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", - "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==", - "dev": true - }, - "node_modules/@lit/reactive-element": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.2.tgz", - "integrity": "sha512-rDfl+QnCYjuIGf5xI2sVJWdYIi56CTCwWa+nidKYX6oIuBYwUbT/vX4qbUDlHiZKJ/3FRNQ/tWJui44p6/stSA==", - "dev": true, - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "node_modules/@maverick-js/signals": { - "version": "5.11.2", - "resolved": "https://registry.npmjs.org/@maverick-js/signals/-/signals-5.11.2.tgz", - "integrity": "sha512-jKAyNE2O7H+xrigPoqdV0Iq2AeQ6cysfBf/b2jasJ4FfCUKjGyazgtp+pIspTW6skFvpPrvq40Qft+7HuR+Tlg==", - "dev": true - }, - "node_modules/@mdit-vue/plugin-component": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-component/-/plugin-component-0.12.0.tgz", - "integrity": "sha512-LrwV3f0Y6H7b7m/w1Y3bkGuR3HOiBK4QiHHW3HuRMza6MZodDQbj8Baik5/V5GiSg1/ltijS1CymVcycd1EfTw==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit-vue/plugin-frontmatter": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-0.12.0.tgz", - "integrity": "sha512-26Y3JktjGgNoCVH7NLqi5RcdAauAqxepTt2qXueRcRHtGpiRQV2/M1FveIhCOTCtHSuG5bBOHUxGaV6vRK3Vbw==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "gray-matter": "^4.0.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit-vue/plugin-headers": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-headers/-/plugin-headers-0.12.0.tgz", - "integrity": "sha512-7qR63J2uc/rXbjHT77WoYBm9imwzx1tVESmRK+Uth6kqFvSWAXAFPcm4PBatGEE8TgzhklPs5BTcQtQhmmsyaw==", - "dev": true, - "dependencies": { - "@mdit-vue/shared": "0.12.0", - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit-vue/plugin-sfc": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-sfc/-/plugin-sfc-0.12.0.tgz", - "integrity": "sha512-mH+rHsERzDxGucAQJILspRiD723AIWMmtMhp7lDKdkCIbIhYfupFv/CkSeX+LAx5UY5greWvUTPGYVKn4gw/5Q==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit-vue/plugin-title": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-title/-/plugin-title-0.12.0.tgz", - "integrity": "sha512-XrQcior1EmPgsDG88KsoF4LUSQw/RS1Nyfn5xNWGiurO70a2hml4kCe0XzT4sLKUAPG0HNbIY6b92ezNezqWTg==", - "dev": true, - "dependencies": { - "@mdit-vue/shared": "0.12.0", - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit-vue/plugin-toc": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-toc/-/plugin-toc-0.12.0.tgz", - "integrity": "sha512-tT985CqvLp17DFWHrSvmmJbh7qcy0Rl0dBbYN//Fn952a04dbr1mb2LqW0B1oStSAQj2q24HpK4ZPgYOt7Z1Jg==", - "dev": true, - "dependencies": { - "@mdit-vue/shared": "0.12.0", - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit-vue/shared": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/shared/-/shared-0.12.0.tgz", - "integrity": "sha512-E+sGSubhvnp+Gmb2hJXFDxdLwwQD1H52EVbA4yrxxI5q/cwtnPIN2eJU3zlZB9KcvzXYDFFwt/x2mfhK8RZKBg==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit-vue/types": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/types/-/types-0.12.0.tgz", - "integrity": "sha512-mrC4y8n88BYvgcgzq9bvTlDgFyi2zuvzmPilRvRc3Uz1iIvq8mDhxJ0rHKFUNzPEScpDvJdIujqiDrulMqiudA==", - "dev": true - }, - "node_modules/@mdit/plugin-align": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-align/-/plugin-align-0.4.8.tgz", - "integrity": "sha512-n6dNMqXb2wZmQ2dod8fq18ehEq+KtMNFoDpC6H3oCaAv/kXT7fYSry0fqrFBP5I3l8yevrgAwo+zZC+c3cyZig==", - "dev": true, - "dependencies": { - "@mdit/plugin-container": "0.4.8", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-attrs": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-attrs/-/plugin-attrs-0.4.8.tgz", - "integrity": "sha512-SB2yTHRNG8j5shh1TtJAPuPFWaMeQp6P/9ieLVPFdXLU6RPobEwf1GAX39YDaIKaWXEmkEJJdKFClOKmyWd9BQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-container": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-container/-/plugin-container-0.4.8.tgz", - "integrity": "sha512-ruiP9XrJ6Uaru/9ZO7iBGm96Fiqr/4Ecn6zHER3/GzWpRJ9oPjrDBWoQ9eFrmINoq1C89puZG0lmAJJ9KCTeAw==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-figure": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-figure/-/plugin-figure-0.4.8.tgz", - "integrity": "sha512-fzFwKlE34pnenqAshqHtCrgv5Ro9QE0Cjd0BR/wxkFCy4ZyyVHZUNA007HOz/j9t5ryVimdZQPcqfcQEcBk8sA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-footnote": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-footnote/-/plugin-footnote-0.4.8.tgz", - "integrity": "sha512-D2OOOoiMEdgI4p5NAtAK8wjOK3th4qIB6ZkOZ38USN+nzTwNy51Prq/elKiqhEd95q0BtWobrPsrY7qO1BW7kA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-img-lazyload": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-img-lazyload/-/plugin-img-lazyload-0.4.8.tgz", - "integrity": "sha512-GGppqJQhl5pZ2CftLxstxMVSZQCdOiJB/1aKEMjpi+EehYV1MlKPzaQp+XTyVDJAkv/k6pe+91ZnsSZgHnIUcA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-img-mark": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-img-mark/-/plugin-img-mark-0.4.8.tgz", - "integrity": "sha512-00zkJ3cIW1R5O+lk/WHuhOrHFdO17TVVxfBN8mhzH6S17W+2KqBMcBv5fpxi7g3R95rZ1fAZ6T1I5lg069RBkA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-img-size": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-img-size/-/plugin-img-size-0.4.8.tgz", - "integrity": "sha512-+fkNRrhkwZgIRJi6ucginEzy95pmhekOer23gBbOOezZev9D4XpA1tFhLAu1srvUVAKh+JmRXiVJUT71Xw9LTg==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-include": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-include/-/plugin-include-0.4.8.tgz", - "integrity": "sha512-Hd+ZjisjjUS6ZRtjXUkfbYx3HpGKAY4XVpzmvhinK4+EPqiW4SrQor4G03ckpYu2fFjBF6u6+NbMtkHD8dcMZQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1", - "upath": "^2.0.1" - } - }, - "node_modules/@mdit/plugin-katex": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-katex/-/plugin-katex-0.4.8.tgz", - "integrity": "sha512-IQUfqpRp+/0gq0VDUOLI0xVvAaiHQv91f6PFBuRG2mvxSsJBECCWZTiJpCgriL7XHSVeSI8zHEYsha9UR674nw==", - "dev": true, - "dependencies": { - "@mdit/plugin-tex": "0.4.8", - "@types/katex": "^0.16.0", - "@types/markdown-it": "^12.2.3", - "katex": "^0.16.7", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-mark": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-mark/-/plugin-mark-0.4.8.tgz", - "integrity": "sha512-51sV7MsPPoW+oa47mwUoD44a3N6XcnYBCOixuDtPzpmKH7ueUJ/ULOGJoBsbveo/ZqTCivJ+3cwoTujaGua8mQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-mathjax": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-mathjax/-/plugin-mathjax-0.4.8.tgz", - "integrity": "sha512-eFFYR6Qo9eZnS+3vUVIHd1lLasx6Upybu3tvdNJ119CUkVd3edtvDqI286RJuApfyDM0uAzkqEgmSKCr4pT8NA==", - "dev": true, - "dependencies": { - "@mdit/plugin-tex": "0.4.8", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1", - "mathjax-full": "^3.2.2", - "upath": "^2.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-stylize": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-stylize/-/plugin-stylize-0.4.8.tgz", - "integrity": "sha512-Wjo3hEHGybu+2ubLaUY52g5SCk6ThFwHYQAYScB7NX39lbr1xefVKs5RYeyH3xCRMdK3S5+b1mlklrdSARQ1fg==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-sub": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-sub/-/plugin-sub-0.4.8.tgz", - "integrity": "sha512-U/6FtGgakdk/JhybHGHykBampF5YMZFkS1DB9uht/3uycWT4ejGefZ1XT9r59liQ3Bh/9CTy0niRNvMwdolPOA==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-sup": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-sup/-/plugin-sup-0.4.8.tgz", - "integrity": "sha512-wv4n9PKoiXI2RFqUrqOSxcKl71mTNCzlNJNlb4WfF9OTIn1CXR298EeL6XnbgS6snLuraur15PgGqwWw6wP7AQ==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-tab": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-tab/-/plugin-tab-0.4.8.tgz", - "integrity": "sha512-/YUI4KQAtHUE6AkJUfIEIKjnK8LEAkcBMe2z8SYmzeEs9U0vHvQNawUd6ANHOXrpeqyPrgQnhWqGkF4yMqfAjg==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "node_modules/@mdit/plugin-tasklist": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-tasklist/-/plugin-tasklist-0.4.8.tgz", - "integrity": "sha512-VAnCR4dnfqOpW1hPEAunJFVvV31eARnD23XPSK3JAQADUFtnileoR0OdXZATC4gTsuVnYh8V8d7rujjL1QvxQw==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-tex": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-tex/-/plugin-tex-0.4.8.tgz", - "integrity": "sha512-HgWb8l0Can+NsxFfLu358Xwj1plxXHXf2YkjxM316pUeVZhNhjPjoqIpR46ebCwWbWW+GmwT0YdeUvQrDgM3ig==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@mdit/plugin-uml": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-uml/-/plugin-uml-0.4.8.tgz", - "integrity": "sha512-X414T54zh0i+n5MbPL0kzGwRzcCU0hlpe4wp74cr44RWrsvJ8+78ioOx7WJOM8rgGHRWIoEEp6BjB1WfI734Iw==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@stackblitz/sdk": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@stackblitz/sdk/-/sdk-1.9.0.tgz", - "integrity": "sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ==", - "dev": true - }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "dev": true, - "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", - "dev": true, - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", - "dev": true, - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true, - "peer": true - }, - "node_modules/@types/fs-extra": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz", - "integrity": "sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==", - "dev": true, - "dependencies": { - "@types/jsonfile": "*", - "@types/node": "*" - } - }, - "node_modules/@types/hash-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/hash-sum/-/hash-sum-1.0.0.tgz", - "integrity": "sha512-FdLBT93h3kcZ586Aee66HPCVJ6qvxVjBlDWNmxSGSbCZe9hTsjRKdSsl4y1T+3zfujxo9auykQMnFsfyHWD7wg==", - "dev": true - }, - "node_modules/@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true, - "peer": true - }, - "node_modules/@types/jsonfile": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz", - "integrity": "sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/katex": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.0.tgz", - "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==", - "dev": true - }, - "node_modules/@types/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", - "dev": true - }, - "node_modules/@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", - "dev": true, - "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" - } - }, - "node_modules/@types/markdown-it-emoji": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz", - "integrity": "sha512-2ln8Wjbcj/0oRi/6VnuMeWEHHuK8uapFttvcLmDIe1GKCsFBLOLBX+D+xhDa9oWOQV0IpvxwrSfKKssAqqroog==", - "dev": true, - "dependencies": { - "@types/markdown-it": "*" - } - }, - "node_modules/@types/mdast": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", - "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", - "dev": true, - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", - "dev": true - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.2.tgz", - "integrity": "sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==", - "dev": true - }, - "node_modules/@types/raphael": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/raphael/-/raphael-2.3.3.tgz", - "integrity": "sha512-Rhvq0q6wzyvipejki/9w87/pgapyE+s3gO66tdl1oD3qDrow+ek+4vVYAbRkeL58HCCK9EOZKwyjqYJ/TFkmtQ==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==", - "dev": true - }, - "node_modules/@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", - "dev": true - }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.17", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz", - "integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==", - "dev": true - }, - "node_modules/@vitejs/plugin-vue": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", - "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", - "dev": true, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", - "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.21.3", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", - "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", - "dev": true, - "dependencies": { - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", - "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-ssr": "3.3.4", - "@vue/reactivity-transform": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0", - "postcss": "^8.1.10", - "source-map-js": "^1.0.2" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", - "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", - "dev": true, - "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", - "dev": true - }, - "node_modules/@vue/reactivity": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", - "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", - "dev": true, - "dependencies": { - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/reactivity-transform": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", - "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0" - } - }, - "node_modules/@vue/repl": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vue/repl/-/repl-1.5.0.tgz", - "integrity": "sha512-qFqKtvA2FM9viYXzbWrpGrL8mDGswsqDsEjfaibr/YOqeza7i49VmO0AKPrOdQDOS2qmq9uV+G6OPX1rGhUSIQ==", - "dev": true, - "peerDependencies": { - "vue": "^3.2.13" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", - "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", - "dev": true, - "dependencies": { - "@vue/reactivity": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", - "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", - "dev": true, - "dependencies": { - "@vue/runtime-core": "3.3.4", - "@vue/shared": "3.3.4", - "csstype": "^3.1.1" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", - "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", - "dev": true, - "dependencies": { - "@vue/compiler-ssr": "3.3.4", - "@vue/shared": "3.3.4" - }, - "peerDependencies": { - "vue": "3.3.4" - } - }, - "node_modules/@vue/shared": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", - "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", - "dev": true - }, - "node_modules/@vuepress/bundler-vite": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/bundler-vite/-/bundler-vite-2.0.0-beta.63.tgz", - "integrity": "sha512-g02mgffks+kxcnmKLyBSa8WvtKa+La1y0xQ3bLgvHb54CGHUALdxiBh83sPh5zFvnWoGgUGU9enc6MCB68dFzA==", - "dev": true, - "dependencies": { - "@vitejs/plugin-vue": "^4.2.3", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "autoprefixer": "^10.4.14", - "connect-history-api-fallback": "^2.0.0", - "postcss": "^8.4.24", - "postcss-load-config": "^4.0.1", - "rollup": "^3.24.0", - "vite": "~4.3.9", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "node_modules/@vuepress/cli": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/cli/-/cli-2.0.0-beta.63.tgz", - "integrity": "sha512-F4hoRvNkf/nJsNEW5OmoJAMiUQZ6bx5A/yCN8be2tT5bTZQwfW4K9CDQXMJEoDBecepsyx3PjPqC5vQx2aR8Xw==", - "dev": true, - "dependencies": { - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "cac": "^6.7.14", - "chokidar": "^3.5.3", - "envinfo": "^7.8.1", - "esbuild": "~0.17.19" - }, - "bin": { - "vuepress-cli": "bin/vuepress.js" - } - }, - "node_modules/@vuepress/client": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/client/-/client-2.0.0-beta.63.tgz", - "integrity": "sha512-L/EQt3ZBKtEB6HUUifPSn/rAQM1R2ndKOqGYHzdG90WrUbzpM+ROm+3BxpVinvUuKkRgnXyf8qgaETlvUNw90Q==", - "dev": true, - "dependencies": { - "@vue/devtools-api": "^6.5.0", - "@vuepress/shared": "2.0.0-beta.63", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "node_modules/@vuepress/core": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-2.0.0-beta.63.tgz", - "integrity": "sha512-9n8/ke7qSJ1M+eeJGIcgPBtSr9aPUO+WJMg1Zg82UfazI7EcshRFHO/CsGGUw1RPm6VtKM5E9iUgl3YJpM9ZvA==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/markdown": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "node_modules/@vuepress/markdown": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-2.0.0-beta.63.tgz", - "integrity": "sha512-XLR/bNgfKmmz3YL57vG0Du8C6KQVJuFPIKQSwI6caWsl02ddbdt8IAO7PhczH6dfuEX3TFdQkx70sEgM6pdhKA==", - "dev": true, - "dependencies": { - "@mdit-vue/plugin-component": "^0.12.0", - "@mdit-vue/plugin-frontmatter": "^0.12.0", - "@mdit-vue/plugin-headers": "^0.12.0", - "@mdit-vue/plugin-sfc": "^0.12.0", - "@mdit-vue/plugin-title": "^0.12.0", - "@mdit-vue/plugin-toc": "^0.12.0", - "@mdit-vue/shared": "^0.12.0", - "@mdit-vue/types": "^0.12.0", - "@types/markdown-it": "^12.2.3", - "@types/markdown-it-emoji": "^2.0.2", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "markdown-it": "^13.0.1", - "markdown-it-anchor": "^8.6.7", - "markdown-it-emoji": "^2.0.2", - "mdurl": "^1.0.1" - } - }, - "node_modules/@vuepress/plugin-active-header-links": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-beta.63.tgz", - "integrity": "sha512-xTV+8bhflukXoN3tJWJlL7EvBfTH0dP0mmIszlo5OELDxp2qiK/p+lZ9uCNv+zlymGzx1HfLatYRiOK10DwJTQ==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "ts-debounce": "^4.0.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "node_modules/@vuepress/plugin-back-to-top": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-beta.63.tgz", - "integrity": "sha512-oT2xmTpnyuMMbyjefKJj3XcgMQe2LK31XsjjZiMZH1L4F2yx/mE0/x9pHkrioKyQE9J0TUlp6U91SfDjYiWQzA==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "ts-debounce": "^4.0.0", - "vue": "^3.3.4" - } - }, - "node_modules/@vuepress/plugin-container": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-container/-/plugin-container-2.0.0-beta.63.tgz", - "integrity": "sha512-zgQLfxCfp/EiXGBj29lT4fMQunKVuKDq33EDHvK83F8xGpvavqM/AWy+/mVxpin+KUyg45Oe8oNRG5ZTSEd0Xg==", - "dev": true, - "dependencies": { - "@types/markdown-it": "^12.2.3", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/markdown": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "markdown-it": "^13.0.1", - "markdown-it-container": "^3.0.0" - } - }, - "node_modules/@vuepress/plugin-external-link-icon": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-external-link-icon/-/plugin-external-link-icon-2.0.0-beta.63.tgz", - "integrity": "sha512-KPclAh29fYdzsITlx5kSZGMSDdbRw2cQXMEKqiJfo7v1gIP7DJjeIxPsknarIFThmXv/SoKzli3RxxGQY6rcww==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/markdown": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "node_modules/@vuepress/plugin-git": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-git/-/plugin-git-2.0.0-beta.63.tgz", - "integrity": "sha512-VnhuRMzn/WwjS++Ci9E43pqZi4uj34baeRcNEz31gGI9MvtRYGSs5HXrsTydvwbyHhTQYF0vbcAsbIN2pp7DCw==", - "dev": true, - "dependencies": { - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "execa": "^7.1.1" - } - }, - "node_modules/@vuepress/plugin-medium-zoom": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-2.0.0-beta.63.tgz", - "integrity": "sha512-n20+27k9i7IYbKVC4gDKD1gk7ZWAKTWiVpWHVWzDFLtpJOJALrIz3FEjdodIqsN3v83j3fzNIHWrunVkxQoc0w==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "medium-zoom": "^1.0.8", - "vue": "^3.3.4" - } - }, - "node_modules/@vuepress/plugin-nprogress": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-beta.63.tgz", - "integrity": "sha512-bts29KHmLeg3ao0IADnvdQaOV4IK+IRJek5lGtYiT/oq8r/9Mb0SeDut7UUsf0C/hZhKCDhpyTRYHLgEup5FVQ==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "node_modules/@vuepress/plugin-palette": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-palette/-/plugin-palette-2.0.0-beta.63.tgz", - "integrity": "sha512-TOXZ23Q1ETFztmBtgDvB1Mvd16Hsw2pjO5d1fnO4YVnfJgW2fXsy7n6zXNYg6KgfTPM0dSlj2ngn+KbZa/w+mw==", - "dev": true, - "dependencies": { - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "chokidar": "^3.5.3" - } - }, - "node_modules/@vuepress/plugin-prismjs": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-prismjs/-/plugin-prismjs-2.0.0-beta.63.tgz", - "integrity": "sha512-lGMwZf75ROgLaTS2V/ZfZc2RSBHxPZRTxFlv2lAk2m8eVaitwnIvLTZfr+rRukZDaifuqEdpsHgfxO5xTRp9Gg==", - "dev": true, - "dependencies": { - "@vuepress/core": "2.0.0-beta.63", - "prismjs": "^1.29.0" - } - }, - "node_modules/@vuepress/plugin-theme-data": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-beta.63.tgz", - "integrity": "sha512-JLNxa6YTa3WK45j/9sZQsBJGr7aASqQb0dt3CvIitUVHk1n0cpc14nUANbj+3VAQUx6C5qkYcpA9EdDNAUf14Q==", - "dev": true, - "dependencies": { - "@vue/devtools-api": "^6.5.0", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "node_modules/@vuepress/shared": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/shared/-/shared-2.0.0-beta.63.tgz", - "integrity": "sha512-xJ90x2RAuYenM4Pn7gbhJ9lkmPBWscM0cff+ypEVI47oV0hKpaDpNLkteT4QjBoRIHyqlz5CFUP+2BMOk9zxCA==", - "dev": true, - "dependencies": { - "@mdit-vue/types": "^0.12.0", - "@vue/shared": "^3.3.4" - } - }, - "node_modules/@vuepress/theme-default": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-2.0.0-beta.63.tgz", - "integrity": "sha512-iry9+YGKC8tcZJ5pUCS/nwUdBlbC5YPkyarnu1bs1M2IvXv/a+PR3zxT/BMVdCtZlXk+CqZ1odsoSxXhFZEkxw==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/plugin-active-header-links": "2.0.0-beta.63", - "@vuepress/plugin-back-to-top": "2.0.0-beta.63", - "@vuepress/plugin-container": "2.0.0-beta.63", - "@vuepress/plugin-external-link-icon": "2.0.0-beta.63", - "@vuepress/plugin-git": "2.0.0-beta.63", - "@vuepress/plugin-medium-zoom": "2.0.0-beta.63", - "@vuepress/plugin-nprogress": "2.0.0-beta.63", - "@vuepress/plugin-palette": "2.0.0-beta.63", - "@vuepress/plugin-prismjs": "2.0.0-beta.63", - "@vuepress/plugin-theme-data": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.1.2", - "sass": "^1.63.2", - "sass-loader": "^13.3.1", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - }, - "peerDependencies": { - "sass-loader": "^13.2.1" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - } - } - }, - "node_modules/@vuepress/utils": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/utils/-/utils-2.0.0-beta.63.tgz", - "integrity": "sha512-Ow3zmwiCrmpA/Ezs9PRIroa6HBSGjYGEo9kmC2Prfl4CkRTup/rhvVrrPpi3WkqT/B+fKgPQN8ihs5EYazxRtw==", - "dev": true, - "dependencies": { - "@types/debug": "^4.1.8", - "@types/fs-extra": "^11.0.1", - "@types/hash-sum": "^1.0.0", - "@vuepress/shared": "2.0.0-beta.63", - "debug": "^4.3.4", - "fs-extra": "^11.1.1", - "globby": "^13.1.4", - "hash-sum": "^2.0.0", - "ora": "^6.3.1", - "picocolors": "^1.0.0", - "upath": "^2.0.1" - } - }, - "node_modules/@vueuse/core": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.2.1.tgz", - "integrity": "sha512-c441bfMbkAwTNwVRHQ0zdYZNETK//P84rC01aP2Uy/aRFCiie9NE/k9KdIXbno0eDYP5NPUuWv0aA/I4Unr/7w==", - "dev": true, - "dependencies": { - "@types/web-bluetooth": "^0.0.17", - "@vueuse/metadata": "10.2.1", - "@vueuse/shared": "10.2.1", - "vue-demi": ">=0.14.5" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", - "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/@vueuse/metadata": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.2.1.tgz", - "integrity": "sha512-3Gt68mY/i6bQvFqx7cuGBzrCCQu17OBaGWS5JdwISpMsHnMKKjC2FeB5OAfMcCQ0oINfADP3i9A4PPRo0peHdQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.2.1.tgz", - "integrity": "sha512-QWHq2bSuGptkcxx4f4M/fBYC3Y8d3M2UYyLsyzoPgEoVzJURQ0oJeWXu79OiLlBb8gTKkqe4mO85T/sf39mmiw==", - "dev": true, - "dependencies": { - "vue-demi": ">=0.14.5" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", - "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/@waline/client": { - "version": "2.15.5", - "resolved": "https://registry.npmjs.org/@waline/client/-/client-2.15.5.tgz", - "integrity": "sha512-gLVeojWXRIRvXzVJwz9hfBokfde6KqZs+Adf7Z1SsEC3jAfyiqjOkdYkH93DhgMWyI0ck6nDlsBDLuePsFVifQ==", - "dev": true, - "dependencies": { - "@vueuse/core": "^10.1.2", - "autosize": "^6.0.1", - "marked": "^4.3.0", - "vue": "^3.3.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "peer": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "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/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@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.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "peer": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@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==", - "dev": true, - "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==", - "dev": true, - "peer": true - }, - "node_modules/abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", - "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", - "dev": true, - "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==", - "dev": true, - "peer": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ajv/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "peer": true - }, - "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, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "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==", - "dev": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/artalk": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/artalk/-/artalk-2.5.5.tgz", - "integrity": "sha512-35Dq9sOquQQlxvqZhRtZMp9g2SS94ryNEfSJy9BP9yq005CZoC64DTCBI2WBG+pd9YenihfB5QWwa+jfCZ/5Ew==", - "dev": true, - "dependencies": { - "abortcontroller-polyfill": "^1.7.5", - "hanabi": "^0.4.0", - "insane": "^2.6.2", - "marked": "^5.0.1" - } - }, - "node_modules/artalk/node_modules/marked": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.0.tgz", - "integrity": "sha512-z3/nBe7aTI8JDszlYLk7dDVNpngjw0o1ZJtrA9kIfkkHcIF+xH7mO23aISl4WxP83elU+MFROgahqdpd05lMEQ==", - "dev": true, - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/artplayer": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/artplayer/-/artplayer-5.0.9.tgz", - "integrity": "sha512-IM/DShYdmKFEA9jl08LYbTK2Jfz9s7qIjEH0xWjnxvVArUKZZKcoqwr6i54U0c4grtc/Uvb4wtCd78kvtSVlgw==", - "dev": true, - "dependencies": { - "option-validator": "^2.0.6" - } - }, - "node_modules/assignment": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/assignment/-/assignment-2.0.0.tgz", - "integrity": "sha512-naMULXjtgCs9SVUEtyvJNt68aF18em7/W+dhbR59kbz9cXWPEvUkCun2tqlgqRPSqZaKPpqLc5ZnwL8jVmJRvw==", - "dev": true - }, - "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 - }, - "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==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], - "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "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/autosize": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/autosize/-/autosize-6.0.1.tgz", - "integrity": "sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ==", - "dev": true - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", - "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", - "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", - "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-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==", - "dev": true - }, - "node_modules/balloon-css": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/balloon-css/-/balloon-css-1.2.0.tgz", - "integrity": "sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==", - "dev": true - }, - "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" - } - ] - }, - "node_modules/bcp-47": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-1.0.8.tgz", - "integrity": "sha512-Y9y1QNBBtYtv7hcmoX0tR+tUNSFZGZ6OL6vKPObq8BbOhkCoyayF6ogfLTgAli/KuAEbsYHYUNq2AQuY6IuLag==", - "dev": true, - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/bcp-47-match": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-1.0.3.tgz", - "integrity": "sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/bcp-47-normalize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-1.1.1.tgz", - "integrity": "sha512-jWZ1Jdu3cs0EZdfCkS0UE9Gg01PtxnChjEBySeB+Zo6nkqtFfnvtoQQgP1qU1Oo4qgJgxhTI6Sf9y/pZIhPs0A==", - "dev": true, - "dependencies": { - "bcp-47": "^1.0.0", - "bcp-47-match": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/bcrypt-ts": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-ts/-/bcrypt-ts-3.0.1.tgz", - "integrity": "sha512-rRvmZZ+wAhsV8PA8bW+BQq5kWZzqmh20VdwqI19D2WdB7TLwNnYUB0wzFkp83WLvgpSqOF4L0w/uPr90Rao66g==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "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 - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "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" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "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==", - "dev": true - }, - "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, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001509", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz", - "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chart.js": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz", - "integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==", - "dev": true, - "dependencies": { - "@kurkle/color": "^0.3.0" - }, - "engines": { - "pnpm": ">=7" - } - }, - "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "dev": true, - "dependencies": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - }, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" - } - }, - "node_modules/cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.0" - } - }, - "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, - "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.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/codem-isoboxer": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/codem-isoboxer/-/codem-isoboxer-0.3.9.tgz", - "integrity": "sha512-4XOTqEzBWrGOZaMd+sTED2hLpzfBbiQCf1W6OBGkIHqk1D8uwy8WFLazVbdQwfDpQ+vf39lqTGPa9IhWW0roTA==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/comment-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/comment-regex/-/comment-regex-1.0.1.tgz", - "integrity": "sha512-IWlN//Yfby92tOIje7J18HkNmWRR7JESA/BK8W7wqY/akITpU5B0JQWnbTjCfdChSrDNb0DrdA9jfAxiiBXyiQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "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==", - "dev": true - }, - "node_modules/core-js": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", - "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz", - "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "dev": true, - "dependencies": { - "layout-base": "^1.0.0" - } - }, - "node_modules/create-codepen": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/create-codepen/-/create-codepen-0.0.3.tgz", - "integrity": "sha512-Yr9qDyJEZ32V8rZn+R19zomU/0bjHixp11sB+IgnZ5bEb41XJ86iHT3IXTGdqHF2NVx6dsZ1R4DjpxXvA2/dXg==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "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, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "node_modules/custom-event-polyfill": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", - "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==", - "dev": true - }, - "node_modules/cytoscape": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz", - "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==", - "dev": true, - "dependencies": { - "heap": "^0.2.6", - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", - "dev": true, - "dependencies": { - "cose-base": "^1.0.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-fcose": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", - "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", - "dev": true, - "dependencies": { - "cose-base": "^2.2.0" - }, - "peerDependencies": { - "cytoscape": "^3.2.0" - } - }, - "node_modules/cytoscape-fcose/node_modules/cose-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", - "dev": true, - "dependencies": { - "layout-base": "^2.0.0" - } - }, - "node_modules/cytoscape-fcose/node_modules/layout-base": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", - "dev": true - }, - "node_modules/d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", - "dev": true, - "dependencies": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dev": true, - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "dev": true, - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "dev": true, - "dependencies": { - "d3-path": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "dev": true, - "dependencies": { - "d3-array": "^3.2.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "dev": true, - "dependencies": { - "delaunator": "5" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "dev": true, - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "dev": true, - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv/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, - "engines": { - "node": ">= 10" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "dev": true, - "dependencies": { - "d3-dsv": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "dev": true, - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", - "dev": true, - "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dev": true, - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dev": true, - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", - "dev": true, - "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dev": true, - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dev": true, - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dev": true, - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "dev": true, - "dependencies": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "d3-selection": "2 - 3" - } - }, - "node_modules/d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "dev": true, - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dagre-d3-es": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", - "dev": true, - "dependencies": { - "d3": "^7.8.2", - "lodash-es": "^4.17.21" - } - }, - "node_modules/dashjs": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/dashjs/-/dashjs-4.7.1.tgz", - "integrity": "sha512-RPUqJGjR4lXrApHfNOd9G6885q8GpQ4rWecYBMdJjXCtnM8sNg9bhqic3Jl0bTgR0Xzl7Jd86qRc1YZbq1wjPw==", - "dev": true, - "dependencies": { - "bcp-47-match": "^1.0.3", - "bcp-47-normalize": "^1.1.1", - "codem-isoboxer": "0.3.9", - "es6-promise": "^4.2.8", - "fast-deep-equal": "2.0.1", - "html-entities": "^1.2.1", - "imsc": "^1.1.3", - "localforage": "^1.7.1", - "path-browserify": "^1.0.1", - "ua-parser-js": "^1.0.2" - } - }, - "node_modules/dayjs": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz", - "integrity": "sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==", - "dev": true - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dev": true, - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "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, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delaunator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", - "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", - "dev": true, - "dependencies": { - "robust-predicates": "^3.0.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "dev": true - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/dompurify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.3.tgz", - "integrity": "sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==", - "dev": true - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/echarts": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz", - "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", - "dev": true, - "dependencies": { - "tslib": "2.3.0", - "zrender": "5.4.3" - } - }, - "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.442", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.442.tgz", - "integrity": "sha512-RkrZF//Ya+0aJq2NM3OdisNh5ZodZq1rdXOS96G8DdDgpDKqKE81yTbbQ3F/4CKm1JBPsGu1Lp/akkna2xO06Q==", - "dev": true - }, - "node_modules/elkjs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", - "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==", - "dev": true - }, - "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 - }, - "node_modules/encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "peer": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true, - "peer": true - }, - "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "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==", - "dev": true, - "peer": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eve-raphael": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/eve-raphael/-/eve-raphael-0.5.0.tgz", - "integrity": "sha512-jrxnPsCGqng1UZuEp9DecX/AuSyAszATSjf4oEcRxvfxa1Oux4KkIPKBAAWWnpdwfARtr+Q0o9aPYWjsROD7ug==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/execa/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fflate": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.0.tgz", - "integrity": "sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg==", - "dev": true - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flowchart.ts": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flowchart.ts/-/flowchart.ts-1.0.0.tgz", - "integrity": "sha512-U8FN9kg/U1xPdQ5xW3e/hZBSX7y/07zGESCrJ2mjlT8CLuhzPXHXRJrJ+VyFW0DEJLdj4O7MvJImg3sXeRGt1A==", - "dev": true, - "dependencies": { - "@types/raphael": "^2.3.3", - "raphael": "^2.3.0", - "tslib": "^2.5.2" - } - }, - "node_modules/flowchart.ts/node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "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==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "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==", - "dev": true - }, - "node_modules/function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true - }, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/giscus": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/giscus/-/giscus-1.2.8.tgz", - "integrity": "sha512-pufrgQYt1W+4ztiWp/PilLPN8NdyKvpbQ8jNqbAa1g84t6qqyevXHfkOYCi4x4d+y191vJAUc6seL1Dq74yUeA==", - "dev": true, - "dependencies": { - "lit": "^2.6.1" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", - "dev": true, - "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/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dev": true, - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/hanabi": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/hanabi/-/hanabi-0.4.0.tgz", - "integrity": "sha512-ixJH94fwmmVzUSdxl7TMkVZJmsq4d2JKrxedpM5V1V+91iVHL0q6NnJi4xiDahK6Vo00xT17H8H6b4F6RVbsOg==", - "dev": true, - "dependencies": { - "comment-regex": "^1.0.0" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/he": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz", - "integrity": "sha512-DoufbNNOFzwRPy8uecq+j+VCPQ+JyDelHTmSgygrA5TsR8Cbw4Qcir5sGtWiusB4BdT89nmlaVDhSJOqC/33vw==", - "dev": true, - "bin": { - "he": "bin/he" - } - }, - "node_modules/heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", - "dev": true - }, - "node_modules/hls.js": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.4.7.tgz", - "integrity": "sha512-dvwJXLlYES6wb7DR42uuTrio5sUTsIoWbuNeQS4xHMqfVBZ0KAlJlBmjFAo4s20/0XRhsMjWf5bx0kq5Lgvv1w==", - "dev": true - }, - "node_modules/html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", - "dev": true - }, - "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" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "dev": true - }, - "node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true - }, - "node_modules/imsc": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/imsc/-/imsc-1.1.3.tgz", - "integrity": "sha512-IY0hMkVTNoqoYwKEp5UvNNKp/A5jeJUOrIO7judgOyhHT+xC6PA4VBOMAOhdtAYbMRHx9DTgI8p6Z6jhYQPFDA==", - "dev": true, - "dependencies": { - "sax": "1.2.1" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/insane": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/insane/-/insane-2.6.2.tgz", - "integrity": "sha512-BqEL1CJsjJi+/C/zKZxv31zs3r6zkLH5Nz1WMFb7UBX2KHY2yXDpbFTSEmNHzomBbGDysIfkTX55A0mQZ2CQiw==", - "dev": true, - "dependencies": { - "assignment": "2.0.0", - "he": "0.5.0" - } - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-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, - "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 - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jake/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/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==", - "dev": true, - "peer": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js-yaml/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "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==", - "dev": true, - "peer": true - }, - "node_modules/json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/katex": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.8.tgz", - "integrity": "sha512-ftuDnJbcbOckGY11OO+zg3OofESlbR5DRl2cmN8HeWeeFIV7wTXvAOx8kEjZjobhA+9wh2fbKeO6cdcA9Mnovg==", - "dev": true, - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "dependencies": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/khroma": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", - "dev": true - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", - "dev": true - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", - "dev": true, - "dependencies": { - "immediate": "~3.0.5" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", - "dev": true, - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/lit": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.5.tgz", - "integrity": "sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ==", - "dev": true, - "dependencies": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.7.0" - } - }, - "node_modules/lit-element": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz", - "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==", - "dev": true, - "dependencies": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.7.0" - } - }, - "node_modules/lit-html": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.4.tgz", - "integrity": "sha512-/Jw+FBpeEN+z8X6PJva5n7+0MzCVAH2yypN99qHYYkq8bI+j7I39GH+68Z/MZD6rGKDK9RpzBw7CocfmHfq6+g==", - "dev": true, - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "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==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loadjs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz", - "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==", - "dev": true - }, - "node_modules/localforage": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", - "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", - "dev": true, - "dependencies": { - "lie": "3.1.1" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true - }, - "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, - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/magic-string": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", - "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/markdown-it": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", - "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it-anchor": { - "version": "8.6.7", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", - "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", - "dev": true, - "peerDependencies": { - "@types/markdown-it": "*", - "markdown-it": "*" - } - }, - "node_modules/markdown-it-container": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-3.0.0.tgz", - "integrity": "sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==", - "dev": true - }, - "node_modules/markdown-it-emoji": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz", - "integrity": "sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==", - "dev": true - }, - "node_modules/markdownlint": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.28.2.tgz", - "integrity": "sha512-yYaQXoKKPV1zgrFsyAuZPEQoe+JrY9GDag9ObKpk09twx4OCU5lut+0/kZPrQ3W7w82SmgKhd7D8m34aG1unVw==", - "dev": true, - "dependencies": { - "markdown-it": "13.0.1", - "markdownlint-micromark": "0.1.2" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/markdownlint-cli2": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.7.1.tgz", - "integrity": "sha512-N58lw50Ws0WOfCc07B9dPKMnPMbIj6ZCMlszZLVfxBwKN/M+WZqXLdOHyRL2BWCZ3APBxQN9qDEw7Vf1PRqFkg==", - "dev": true, - "dependencies": { - "globby": "13.1.4", - "markdownlint": "0.28.2", - "markdownlint-cli2-formatter-default": "0.0.4", - "micromatch": "4.0.5", - "strip-json-comments": "5.0.0", - "yaml": "2.2.2" - }, - "bin": { - "markdownlint-cli2": "markdownlint-cli2.js", - "markdownlint-cli2-config": "markdownlint-cli2-config.js", - "markdownlint-cli2-fix": "markdownlint-cli2-fix.js" - }, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/markdownlint-cli2-formatter-default": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.4.tgz", - "integrity": "sha512-xm2rM0E+sWgjpPn1EesPXx5hIyrN2ddUnUwnbCsD/ONxYtw3PX6LydvdH6dciWAoFDpwzbHM1TO7uHfcMd6IYg==", - "dev": true, - "peerDependencies": { - "markdownlint-cli2": ">=0.0.4" - } - }, - "node_modules/markdownlint-micromark": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz", - "integrity": "sha512-jRxlQg8KpOfM2IbCL9RXM8ZiYWz2rv6DlZAnGv8ASJQpUh6byTBnEsbuMZ6T2/uIgntyf7SKg/mEaEBo1164fQ==", - "dev": true, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true, - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/mathjax-full": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", - "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", - "dev": true, - "dependencies": { - "esm": "^3.2.25", - "mhchemparser": "^4.1.0", - "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.6" - } - }, - "node_modules/maverick.js": { - "version": "0.37.0", - "resolved": "https://registry.npmjs.org/maverick.js/-/maverick.js-0.37.0.tgz", - "integrity": "sha512-1Dk/9rienLiihlktVvH04ADC2UJTMflC1fOMVQCCaQAaz7hgzDI5i0p/arFbDM52hFFiIcq4RdXtYz47SgsLgw==", - "dev": true, - "dependencies": { - "@maverick-js/signals": "^5.10.3", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", - "dev": true, - "dependencies": { - "@types/mdast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true - }, - "node_modules/media-captions": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/media-captions/-/media-captions-0.0.18.tgz", - "integrity": "sha512-JW18P6FuHdyLSGwC4TQ0kF3WdNj/+wMw2cKOb8BnmY6vSJGtnwJ+vkYj+IjHOV34j3XMc70HDeB/QYKR7E7fuQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/medium-zoom": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.8.tgz", - "integrity": "sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mermaid": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.2.3.tgz", - "integrity": "sha512-cMVE5s9PlQvOwfORkyVpr5beMsLdInrycAosdr+tpZ0WFjG4RJ/bUHST7aTgHNJbujHkdBRAm+N50P3puQOfPw==", - "dev": true, - "dependencies": { - "@braintree/sanitize-url": "^6.0.2", - "cytoscape": "^3.23.0", - "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-fcose": "^2.1.0", - "d3": "^7.4.0", - "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "3.0.3", - "elkjs": "^0.8.2", - "khroma": "^2.0.0", - "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", - "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" - } - }, - "node_modules/mhchemparser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", - "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==", - "dev": true - }, - "node_modules/micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ] - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "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==", - "dev": true, - "peer": true, - "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==", - "dev": true, - "peer": true, - "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, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mitt": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", - "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==", - "dev": true - }, - "node_modules/mj-context-menu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", - "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", - "dev": true - }, - "node_modules/mpegts.js": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/mpegts.js/-/mpegts.js-1.7.3.tgz", - "integrity": "sha512-kqZ1C1IsbAQN72cK8vMrzKeM7hwrwSBbFAwVAc7PPweOeoZxCANrc7fAVDKMfYUzxdNkMTnec9tVmlxmKZB0TQ==", - "dev": true, - "dependencies": { - "es6-promise": "^4.2.5", - "webworkify-webpack": "^2.1.5" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/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==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", - "dev": true - }, - "node_modules/non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/option-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/option-validator/-/option-validator-2.0.6.tgz", - "integrity": "sha512-tmZDan2LRIRQyhUGvkff68/O0R8UmF+Btmiiz0SmSw2ng3CfPZB9wJlIjHpe/MKUZqyIZkVIXCrwr1tIN+0Dzg==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.3" - } - }, - "node_modules/ora": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", - "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", - "dev": true, - "dependencies": { - "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", - "stdin-discarder": "^0.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/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "dev": true, - "dependencies": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/photoswipe": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-5.3.7.tgz", - "integrity": "sha512-zsyLsTTLFrj0XR1m4/hO7qNooboFKUrDy+Zt5i2d6qjFPAtBjzaj/Xtydso4uxzcXpcqbTmyxDibb3BcSISseg==", - "dev": true, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/plyr": { - "version": "3.7.8", - "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.8.tgz", - "integrity": "sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==", - "dev": true, - "dependencies": { - "core-js": "^3.26.1", - "custom-event-polyfill": "^1.0.7", - "loadjs": "^4.2.0", - "rangetouch": "^2.0.1", - "url-polyfill": "^1.1.12" - } - }, - "node_modules/pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/postcss": { - "version": "8.4.24", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", - "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dev": true, - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "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-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "dev": true, - "dependencies": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/rangetouch": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz", - "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==", - "dev": true - }, - "node_modules/raphael": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/raphael/-/raphael-2.3.0.tgz", - "integrity": "sha512-w2yIenZAQnp257XUWGni4bLMVxpUpcIl7qgxEgDIXtmSypYtlNxfXWpOBxs7LBTps5sDwhRnrToJrMUrivqNTQ==", - "dev": true, - "dependencies": { - "eve-raphael": "0.5.0" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/register-service-worker": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", - "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "dependencies": { - "is-core-module": "^2.11.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/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, - "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==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/reveal.js": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-4.5.0.tgz", - "integrity": "sha512-Lx1hUWhJR7Y7ScQNyGt7TFzxeviDAswK2B0cn9RwbPZogTMRgS8+FTr+/12KNHOegjvWKH0H0EGwBARNDPTgWQ==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", - "dev": true - }, - "node_modules/rollup": { - "version": "3.25.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.3.tgz", - "integrity": "sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "dev": true - }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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 - }, - "node_modules/sass": { - "version": "1.63.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz", - "integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-loader": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", - "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", - "dev": true, - "dependencies": { - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==", - "dev": true - }, - "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==", - "dev": true, - "peer": true, - "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/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dev": true, - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "peer": true, - "dependencies": { - "randombytes": "^2.1.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 - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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 - }, - "node_modules/sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "dev": true, - "dependencies": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "bin": { - "sitemap": "dist/cli.js" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=5.6.0" - } - }, - "node_modules/sitemap/node_modules/@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "dev": true - }, - "node_modules/sitemap/node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/slimsearch": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/slimsearch/-/slimsearch-0.0.3.tgz", - "integrity": "sha512-T/HDohHPxnj9wodoxSzvOAaxwSasTAp4sm36ECk3aAL/EGnfMSdG2dvTghJFDQfqRlG1k8vN6+Na4IiS14BB8A==", - "dev": true - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.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", - "dev": true - }, - "node_modules/speech-rule-engine": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", - "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", - "dev": true, - "dependencies": { - "commander": "9.2.0", - "wicked-good-xpath": "1.3.0", - "xmldom-sre": "0.1.31" - }, - "bin": { - "sre": "bin/sre" - } - }, - "node_modules/speech-rule-engine/node_modules/commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", - "dev": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stdin-discarder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", - "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", - "dev": true, - "dependencies": { - "bl": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "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, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dev": true, - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.0.tgz", - "integrity": "sha512-V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/striptags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz", - "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==", - "dev": true - }, - "node_modules/stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==", - "dev": true - }, - "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==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dev": true, - "dependencies": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/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, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.18.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", - "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - }, - "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/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==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/ts-debounce": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz", - "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==", - "dev": true - }, - "node_modules/ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "dev": true, - "engines": { - "node": ">=6.10" - } - }, - "node_modules/tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", - "dev": true - }, - "node_modules/twikoo": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/twikoo/-/twikoo-1.6.16.tgz", - "integrity": "sha512-U+yaZsM2h0WBoju5TKrm1sq+pb0WEzIynS8B/x4g7UMS30YlUbKePYU7nKU2bf00xubZvkbmICKRNy07naZhhQ==", - "dev": true - }, - "node_modules/type-fest": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.12.0.tgz", - "integrity": "sha512-qj9wWsnFvVEMUDbESiilKeXeHL7FwwiFcogfhfyjmvT968RXSvnl23f1JOClTHYItsi7o501C/7qVllscUP3oA==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "dependencies": { - "crypto-random-string": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/upath": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", - "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-polyfill": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz", - "integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A==", - "dev": true - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dev": true, - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/vidstack": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/vidstack/-/vidstack-0.6.13.tgz", - "integrity": "sha512-g5wH6Hfc4EQqOI0Mm7qW4D1DWPZfQnlATLZuqpuVAKI8HOz4UGfd1v48MLK9cR+ZfPjVL4/iZLu7YOIdSX3L2g==", - "dev": true, - "dependencies": { - "maverick.js": "0.37.0", - "media-captions": "0.0.18", - "type-fest": "^3.8.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/vite": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", - "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", - "dev": true, - "dependencies": { - "esbuild": "^0.17.5", - "postcss": "^8.4.23", - "rollup": "^3.21.0" - }, - "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/vue": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", - "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", - "dev": true, - "dependencies": { - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-sfc": "3.3.4", - "@vue/runtime-dom": "3.3.4", - "@vue/server-renderer": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "node_modules/vue-router": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", - "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", - "dev": true, - "dependencies": { - "@vue/devtools-api": "^6.5.0" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/vuepress": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-2.0.0-beta.63.tgz", - "integrity": "sha512-P9AnMkrRHVl5kUlBcMbLMvkWoVFyxopQl9zLVWGnTRBXFqxY5IkfP+BvTVfLRXuW2itC11Q3TW6OnJtlY8V1sQ==", - "dev": true, - "dependencies": { - "vuepress-vite": "2.0.0-beta.63" - }, - "bin": { - "vuepress": "bin/vuepress.js" - }, - "engines": { - "node": ">=16.19.0" - } - }, - "node_modules/vuepress-plugin-auto-catalog": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-auto-catalog/-/vuepress-plugin-auto-catalog-2.0.0-beta.228.tgz", - "integrity": "sha512-z0JJZqV1oVaptkCnKSl4phGi/SFsyNZRVVQCI1k/viAu615+RIjFpZ4ggoYdCdwTRDswKiUOGyW+4hvQiYOyeQ==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-components": "2.0.0-beta.228", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-blog2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-blog2/-/vuepress-plugin-blog2-2.0.0-beta.228.tgz", - "integrity": "sha512-SBIrMhLMfOApR6L6NNHKiRoaEFqPIcmfVkk1yrYyDdEj7pgkbeZVZ6qXM5w5cIugRp/f0L4o5bBQvkE+osEwig==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "chokidar": "^3.5.3", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-comment2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-comment2/-/vuepress-plugin-comment2-2.0.0-beta.228.tgz", - "integrity": "sha512-tghrog6Iz9eCLeNgOCXCIys7jGwwRvypK7FpqFkCNO+ENELPAdehUISzCQc80Jp2oDJuFBiUlQglbhDTkvnzsQ==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@waline/client": "^2.15.5", - "artalk": "^2.5.5", - "giscus": "^1.2.8", - "twikoo": "^1.6.16", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-components": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-components/-/vuepress-plugin-components-2.0.0-beta.228.tgz", - "integrity": "sha512-569fu0nNfVF0C8XTFXpgDp//x8wt2l3gkjohReScXvJbBqNBqKkmqqhWtglnkYpqM/099H6/A8PuKMLC3ljVwg==", - "dev": true, - "dependencies": { - "@stackblitz/sdk": "^1.9.0", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "artplayer": "^5.0.9", - "balloon-css": "^1.2.0", - "create-codepen": "0.0.3", - "dashjs": "^4.7.0", - "hls.js": "^1.4.6", - "mpegts.js": "^1.7.3", - "plyr": "^3.7.8", - "qrcode": "^1.5.3", - "vidstack": "^0.6.13", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-reading-time2": "2.0.0-beta.228", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-copy-code2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-copy-code2/-/vuepress-plugin-copy-code2-2.0.0-beta.228.tgz", - "integrity": "sha512-LeAPMw4TeUZk/hFjfeygdH9tHs6oL27+LNc2d1j72fma8es8tJICnmG1PAGOWEPsZZSRlBj5tF+O1M+PUeFMcw==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "balloon-css": "^1.2.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-copyright2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-copyright2/-/vuepress-plugin-copyright2-2.0.0-beta.228.tgz", - "integrity": "sha512-ESBX6xKvQGvzoiUCiFqK9OV0TiSfKFpNtR0NvEaISqQ9X9XI62l9WwqZHLgOKDUiyQ74gRM8CGUFhBHLjDqa6w==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-feed2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-feed2/-/vuepress-plugin-feed2-2.0.0-beta.228.tgz", - "integrity": "sha512-4LCuQEJQGHxtLQ2nES7OZgWNfm22SL5Lo+C/ZQ5HSnzni5AjaToUAnV10rXEH0EZpTC2vgkP7fx6ILy47HjXOQ==", - "dev": true, - "dependencies": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "cheerio": "1.0.0-rc.12", - "vuepress-shared": "2.0.0-beta.228", - "xml-js": "^1.6.11" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-md-enhance": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-md-enhance/-/vuepress-plugin-md-enhance-2.0.0-beta.228.tgz", - "integrity": "sha512-LOjuflbNEo86i4AcS6S2hY45KnZ2z9+4Ps5nNuTN+6VqDqF+Vs0t/a+qk9qNSgLsnVtG8ZVs0S7VnHFKyobn4A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.22.5", - "@mdit/plugin-align": "^0.4.8", - "@mdit/plugin-attrs": "^0.4.8", - "@mdit/plugin-container": "^0.4.8", - "@mdit/plugin-figure": "^0.4.8", - "@mdit/plugin-footnote": "^0.4.8", - "@mdit/plugin-img-lazyload": "^0.4.8", - "@mdit/plugin-img-mark": "^0.4.8", - "@mdit/plugin-img-size": "^0.4.8", - "@mdit/plugin-include": "^0.4.8", - "@mdit/plugin-katex": "^0.4.8", - "@mdit/plugin-mark": "^0.4.8", - "@mdit/plugin-mathjax": "^0.4.8", - "@mdit/plugin-stylize": "^0.4.8", - "@mdit/plugin-sub": "^0.4.8", - "@mdit/plugin-sup": "^0.4.8", - "@mdit/plugin-tab": "^0.4.8", - "@mdit/plugin-tasklist": "^0.4.8", - "@mdit/plugin-tex": "^0.4.8", - "@mdit/plugin-uml": "^0.4.8", - "@types/js-yaml": "^4.0.5", - "@types/markdown-it": "^12.2.3", - "@vue/repl": "^1.5.0", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "balloon-css": "^1.2.0", - "chart.js": "^4.3.0", - "echarts": "^5.4.2", - "flowchart.ts": "^1.0.0", - "js-yaml": "^4.1.0", - "katex": "^0.16.7", - "markdown-it": "^13.0.1", - "mermaid": "10.2.3", - "reveal.js": "^4.5.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-md-enhance/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/vuepress-plugin-photo-swipe": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-photo-swipe/-/vuepress-plugin-photo-swipe-2.0.0-beta.228.tgz", - "integrity": "sha512-dxxguqZS0fXpp0S9BPsdaWmkFs2FPWcJu8ltcQgSEvX8mj4V37zHOGa0jLk18ZttEwLY3j0cuvVZh5j9hXnnSw==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "photoswipe": "^5.3.7", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-pwa2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-pwa2/-/vuepress-plugin-pwa2-2.0.0-beta.228.tgz", - "integrity": "sha512-n6dtASnYUrzmbVXWC1/F+iLq8Ee6MmlT4lpNQEo28PJm44Z4K6Dy9A1/YQD62o/8iNrfWAiXRZWfGbd5KLmSMg==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "mitt": "^3.0.0", - "register-service-worker": "^1.7.2", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228", - "workbox-build": "^7.0.0" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-reading-time2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-reading-time2/-/vuepress-plugin-reading-time2-2.0.0-beta.228.tgz", - "integrity": "sha512-ui76gbezXvIDnE2kwbuw/1pWvnNu6/R9bUtv568tjQKGbTmI0qN+O44Zz+C8UboG71osW4JbeoZMIq7YWkqNOg==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "vue": "^3.3.4", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-rtl": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-rtl/-/vuepress-plugin-rtl-2.0.0-beta.228.tgz", - "integrity": "sha512-IRvDRKzMqnMMmNYIZ2+EvC4QWpngRb3SVX65MbhkUM3tSHVWWRrgBCW8Mq59ZpdUVNg/9u6wTzt0hUBopIBCrg==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-sass-palette": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-sass-palette/-/vuepress-plugin-sass-palette-2.0.0-beta.228.tgz", - "integrity": "sha512-MYhGOxWn/3JCnJpgJm7RfMDzpVuhjlOGILz3nHMEAoS8kYunqYmWxAz75ZlH6d5Xc+KPzwconviQ+3xuAx8nkg==", - "dev": true, - "dependencies": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "chokidar": "^3.5.3", - "sass": "^1.63.4", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-search-pro": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-search-pro/-/vuepress-plugin-search-pro-2.0.0-beta.228.tgz", - "integrity": "sha512-urkjXmqOWC3bEbcpFpN5fuF3TkQnSxhZqUwYV8TRTHEWtKIuGDw7gAwSQTTB/iV+CGeSQfb9EHGbGewOPVxaMw==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "cheerio": "1.0.0-rc.12", - "chokidar": "^3.5.3", - "slimsearch": "0.0.3", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-seo2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-seo2/-/vuepress-plugin-seo2-2.0.0-beta.228.tgz", - "integrity": "sha512-Ny9ZaZqvgE+0EPr/glgGMfd/jQPnwqOW8Zct/D7n1wtBS1ga4L4uKWeZK5pmpxcmCKM9omshchMZWdoZ3V95qQ==", - "dev": true, - "dependencies": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-plugin-sitemap2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-sitemap2/-/vuepress-plugin-sitemap2-2.0.0-beta.228.tgz", - "integrity": "sha512-jtljsgr4qbr6brHGnd5gHAA6F/nqAm/qx5oXEmMCrstFmm5BFdj1hjeRGFY0bn6wqqwpUQZf+AI+l4j8FoFOHg==", - "dev": true, - "dependencies": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "sitemap": "^7.1.1", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-shared": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-shared/-/vuepress-shared-2.0.0-beta.228.tgz", - "integrity": "sha512-gwoAaGM6dzYJ004geaFwyfrjRlMg6iUrBCKZIs0ccZYpXLNZwFoxWyYpNjijbEky1B+E2ch6OnirWQ/aS7R7uQ==", - "dev": true, - "dependencies": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "cheerio": "1.0.0-rc.12", - "dayjs": "^1.11.8", - "execa": "^7.1.1", - "fflate": "^0.8.0", - "gray-matter": "^4.0.3", - "semver": "^7.5.2", - "striptags": "^3.2.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-theme-hope": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-theme-hope/-/vuepress-theme-hope-2.0.0-beta.228.tgz", - "integrity": "sha512-sYzhVWDD/7GHV+dRZZZTnbSkIrRDB9FxVyfTt5ASX0oaGUuoNd6wyHOomWtX52dxzBA7FNNjk3Y4fHP4lL3P7w==", - "dev": true, - "dependencies": { - "@vuepress/cli": "2.0.0-beta.63", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/plugin-active-header-links": "2.0.0-beta.63", - "@vuepress/plugin-container": "2.0.0-beta.63", - "@vuepress/plugin-external-link-icon": "2.0.0-beta.63", - "@vuepress/plugin-git": "2.0.0-beta.63", - "@vuepress/plugin-nprogress": "2.0.0-beta.63", - "@vuepress/plugin-prismjs": "2.0.0-beta.63", - "@vuepress/plugin-theme-data": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "balloon-css": "^1.2.0", - "bcrypt-ts": "^3.0.1", - "cheerio": "1.0.0-rc.12", - "chokidar": "^3.5.3", - "gray-matter": "^4.0.3", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-auto-catalog": "2.0.0-beta.228", - "vuepress-plugin-blog2": "2.0.0-beta.228", - "vuepress-plugin-comment2": "2.0.0-beta.228", - "vuepress-plugin-components": "2.0.0-beta.228", - "vuepress-plugin-copy-code2": "2.0.0-beta.228", - "vuepress-plugin-copyright2": "2.0.0-beta.228", - "vuepress-plugin-feed2": "2.0.0-beta.228", - "vuepress-plugin-md-enhance": "2.0.0-beta.228", - "vuepress-plugin-photo-swipe": "2.0.0-beta.228", - "vuepress-plugin-pwa2": "2.0.0-beta.228", - "vuepress-plugin-reading-time2": "2.0.0-beta.228", - "vuepress-plugin-rtl": "2.0.0-beta.228", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-plugin-seo2": "2.0.0-beta.228", - "vuepress-plugin-sitemap2": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "engines": { - "node": ">=16.19.0", - "npm": ">=8", - "pnpm": ">=7" - }, - "peerDependencies": { - "sass-loader": "^13.3.2", - "vuepress": "2.0.0-beta.63", - "vuepress-vite": "2.0.0-beta.63", - "vuepress-webpack": "2.0.0-beta.63" - }, - "peerDependenciesMeta": { - "sass-loader": { - "optional": true - }, - "vuepress": { - "optional": true - }, - "vuepress-vite": { - "optional": true - }, - "vuepress-webpack": { - "optional": true - } - } - }, - "node_modules/vuepress-vite": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/vuepress-vite/-/vuepress-vite-2.0.0-beta.63.tgz", - "integrity": "sha512-TMPl/fQi6mqdHyz/NkZbkZHch4aFxmw+Um52vS09ryE4W4jDGK0CY+7nw8RuTkABN/02OzDoAqRaYfwZFXywFw==", - "dev": true, - "dependencies": { - "@vuepress/bundler-vite": "2.0.0-beta.63", - "@vuepress/cli": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/theme-default": "2.0.0-beta.63", - "vue": "^3.3.4" - }, - "bin": { - "vuepress": "bin/vuepress.js", - "vuepress-vite": "bin/vuepress.js" - }, - "engines": { - "node": ">=16.19.0" - }, - "peerDependencies": { - "@vuepress/client": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "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, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", - "dev": true - }, - "node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", - "dev": true, - "peer": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.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.9", - "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.7", - "watchpack": "^2.4.0", - "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==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webworkify-webpack": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz", - "integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "node_modules/which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wicked-good-xpath": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", - "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", - "dev": true - }, - "node_modules/workbox-background-sync": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.0.0.tgz", - "integrity": "sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==", - "dev": true, - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-broadcast-update": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.0.0.tgz", - "integrity": "sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-build": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.0.0.tgz", - "integrity": "sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==", - "dev": true, - "dependencies": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "7.0.0", - "workbox-broadcast-update": "7.0.0", - "workbox-cacheable-response": "7.0.0", - "workbox-core": "7.0.0", - "workbox-expiration": "7.0.0", - "workbox-google-analytics": "7.0.0", - "workbox-navigation-preload": "7.0.0", - "workbox-precaching": "7.0.0", - "workbox-range-requests": "7.0.0", - "workbox-recipes": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0", - "workbox-streams": "7.0.0", - "workbox-sw": "7.0.0", - "workbox-window": "7.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "dev": true, - "dependencies": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "ajv": ">=8" - } - }, - "node_modules/workbox-build/node_modules/@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - } - } - }, - "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0" - } - }, - "node_modules/workbox-build/node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/workbox-build/node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/workbox-build/node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/workbox-build/node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/workbox-build/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==", - "dev": true, - "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/workbox-build/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, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/workbox-build/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/workbox-build/node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/workbox-build/node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/workbox-build/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, - "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/workbox-build/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, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dev": true, - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/workbox-build/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/workbox-build/node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true, - "engines": { - "node": ">=4", - "yarn": "*" - } - }, - "node_modules/workbox-cacheable-response": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.0.0.tgz", - "integrity": "sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.0.0.tgz", - "integrity": "sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==", - "dev": true - }, - "node_modules/workbox-expiration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.0.0.tgz", - "integrity": "sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==", - "dev": true, - "dependencies": { - "idb": "^7.0.1", - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-google-analytics": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.0.0.tgz", - "integrity": "sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==", - "dev": true, - "dependencies": { - "workbox-background-sync": "7.0.0", - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" - } - }, - "node_modules/workbox-navigation-preload": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.0.0.tgz", - "integrity": "sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-precaching": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.0.0.tgz", - "integrity": "sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" - } - }, - "node_modules/workbox-range-requests": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.0.0.tgz", - "integrity": "sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-recipes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.0.0.tgz", - "integrity": "sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==", - "dev": true, - "dependencies": { - "workbox-cacheable-response": "7.0.0", - "workbox-core": "7.0.0", - "workbox-expiration": "7.0.0", - "workbox-precaching": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" - } - }, - "node_modules/workbox-routing": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.0.0.tgz", - "integrity": "sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-strategies": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.0.0.tgz", - "integrity": "sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0" - } - }, - "node_modules/workbox-streams": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.0.0.tgz", - "integrity": "sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==", - "dev": true, - "dependencies": { - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0" - } - }, - "node_modules/workbox-sw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.0.0.tgz", - "integrity": "sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==", - "dev": true - }, - "node_modules/workbox-window": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.0.0.tgz", - "integrity": "sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==", - "dev": true, - "dependencies": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "7.0.0" - } - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "dev": true, - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/xml-js/node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/xmldom-sre": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", - "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", - "dev": true, - "engines": { - "node": ">=0.1" - } - }, - "node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "dependencies": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/zrender": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz", - "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", - "dev": true, - "dependencies": { - "tslib": "2.3.0" - } - } - }, - "dependencies": { - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", - "dev": true, - "requires": { - "@babel/highlight": "^7.22.5" - } - }, - "@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", - "dev": true - }, - "@babel/core": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", - "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helpers": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", - "lru-cache": "^5.1.1", - "semver": "^6.3.0" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz", - "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", - "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helpers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", - "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "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==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "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==", - "dev": true - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "requires": {} - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz", - "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", - "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", - "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", - "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.5", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.5", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.3", - "babel-plugin-polyfill-corejs3": "^0.8.1", - "babel-plugin-polyfill-regenerator": "^0.5.0", - "core-js-compat": "^3.30.2", - "semver": "^6.3.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, - "@braintree/sanitize-url": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.2.tgz", - "integrity": "sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==", - "dev": true - }, - "@esbuild/android-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", - "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", - "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", - "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", - "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", - "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", - "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", - "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", - "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", - "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", - "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", - "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", - "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", - "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", - "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", - "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", - "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", - "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", - "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", - "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", - "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", - "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", - "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", - "dev": true, - "optional": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@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==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", - "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@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==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true - } - } - }, - "@kurkle/color": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", - "dev": true - }, - "@lit-labs/ssr-dom-shim": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", - "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==", - "dev": true - }, - "@lit/reactive-element": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.2.tgz", - "integrity": "sha512-rDfl+QnCYjuIGf5xI2sVJWdYIi56CTCwWa+nidKYX6oIuBYwUbT/vX4qbUDlHiZKJ/3FRNQ/tWJui44p6/stSA==", - "dev": true, - "requires": { - "@lit-labs/ssr-dom-shim": "^1.0.0" - } - }, - "@maverick-js/signals": { - "version": "5.11.2", - "resolved": "https://registry.npmjs.org/@maverick-js/signals/-/signals-5.11.2.tgz", - "integrity": "sha512-jKAyNE2O7H+xrigPoqdV0Iq2AeQ6cysfBf/b2jasJ4FfCUKjGyazgtp+pIspTW6skFvpPrvq40Qft+7HuR+Tlg==", - "dev": true - }, - "@mdit-vue/plugin-component": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-component/-/plugin-component-0.12.0.tgz", - "integrity": "sha512-LrwV3f0Y6H7b7m/w1Y3bkGuR3HOiBK4QiHHW3HuRMza6MZodDQbj8Baik5/V5GiSg1/ltijS1CymVcycd1EfTw==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit-vue/plugin-frontmatter": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-frontmatter/-/plugin-frontmatter-0.12.0.tgz", - "integrity": "sha512-26Y3JktjGgNoCVH7NLqi5RcdAauAqxepTt2qXueRcRHtGpiRQV2/M1FveIhCOTCtHSuG5bBOHUxGaV6vRK3Vbw==", - "dev": true, - "requires": { - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "gray-matter": "^4.0.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit-vue/plugin-headers": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-headers/-/plugin-headers-0.12.0.tgz", - "integrity": "sha512-7qR63J2uc/rXbjHT77WoYBm9imwzx1tVESmRK+Uth6kqFvSWAXAFPcm4PBatGEE8TgzhklPs5BTcQtQhmmsyaw==", - "dev": true, - "requires": { - "@mdit-vue/shared": "0.12.0", - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit-vue/plugin-sfc": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-sfc/-/plugin-sfc-0.12.0.tgz", - "integrity": "sha512-mH+rHsERzDxGucAQJILspRiD723AIWMmtMhp7lDKdkCIbIhYfupFv/CkSeX+LAx5UY5greWvUTPGYVKn4gw/5Q==", - "dev": true, - "requires": { - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit-vue/plugin-title": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-title/-/plugin-title-0.12.0.tgz", - "integrity": "sha512-XrQcior1EmPgsDG88KsoF4LUSQw/RS1Nyfn5xNWGiurO70a2hml4kCe0XzT4sLKUAPG0HNbIY6b92ezNezqWTg==", - "dev": true, - "requires": { - "@mdit-vue/shared": "0.12.0", - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit-vue/plugin-toc": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/plugin-toc/-/plugin-toc-0.12.0.tgz", - "integrity": "sha512-tT985CqvLp17DFWHrSvmmJbh7qcy0Rl0dBbYN//Fn952a04dbr1mb2LqW0B1oStSAQj2q24HpK4ZPgYOt7Z1Jg==", - "dev": true, - "requires": { - "@mdit-vue/shared": "0.12.0", - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit-vue/shared": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/shared/-/shared-0.12.0.tgz", - "integrity": "sha512-E+sGSubhvnp+Gmb2hJXFDxdLwwQD1H52EVbA4yrxxI5q/cwtnPIN2eJU3zlZB9KcvzXYDFFwt/x2mfhK8RZKBg==", - "dev": true, - "requires": { - "@mdit-vue/types": "0.12.0", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit-vue/types": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@mdit-vue/types/-/types-0.12.0.tgz", - "integrity": "sha512-mrC4y8n88BYvgcgzq9bvTlDgFyi2zuvzmPilRvRc3Uz1iIvq8mDhxJ0rHKFUNzPEScpDvJdIujqiDrulMqiudA==", - "dev": true - }, - "@mdit/plugin-align": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-align/-/plugin-align-0.4.8.tgz", - "integrity": "sha512-n6dNMqXb2wZmQ2dod8fq18ehEq+KtMNFoDpC6H3oCaAv/kXT7fYSry0fqrFBP5I3l8yevrgAwo+zZC+c3cyZig==", - "dev": true, - "requires": { - "@mdit/plugin-container": "0.4.8", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-attrs": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-attrs/-/plugin-attrs-0.4.8.tgz", - "integrity": "sha512-SB2yTHRNG8j5shh1TtJAPuPFWaMeQp6P/9ieLVPFdXLU6RPobEwf1GAX39YDaIKaWXEmkEJJdKFClOKmyWd9BQ==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-container": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-container/-/plugin-container-0.4.8.tgz", - "integrity": "sha512-ruiP9XrJ6Uaru/9ZO7iBGm96Fiqr/4Ecn6zHER3/GzWpRJ9oPjrDBWoQ9eFrmINoq1C89puZG0lmAJJ9KCTeAw==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-figure": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-figure/-/plugin-figure-0.4.8.tgz", - "integrity": "sha512-fzFwKlE34pnenqAshqHtCrgv5Ro9QE0Cjd0BR/wxkFCy4ZyyVHZUNA007HOz/j9t5ryVimdZQPcqfcQEcBk8sA==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-footnote": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-footnote/-/plugin-footnote-0.4.8.tgz", - "integrity": "sha512-D2OOOoiMEdgI4p5NAtAK8wjOK3th4qIB6ZkOZ38USN+nzTwNy51Prq/elKiqhEd95q0BtWobrPsrY7qO1BW7kA==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-img-lazyload": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-img-lazyload/-/plugin-img-lazyload-0.4.8.tgz", - "integrity": "sha512-GGppqJQhl5pZ2CftLxstxMVSZQCdOiJB/1aKEMjpi+EehYV1MlKPzaQp+XTyVDJAkv/k6pe+91ZnsSZgHnIUcA==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-img-mark": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-img-mark/-/plugin-img-mark-0.4.8.tgz", - "integrity": "sha512-00zkJ3cIW1R5O+lk/WHuhOrHFdO17TVVxfBN8mhzH6S17W+2KqBMcBv5fpxi7g3R95rZ1fAZ6T1I5lg069RBkA==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-img-size": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-img-size/-/plugin-img-size-0.4.8.tgz", - "integrity": "sha512-+fkNRrhkwZgIRJi6ucginEzy95pmhekOer23gBbOOezZev9D4XpA1tFhLAu1srvUVAKh+JmRXiVJUT71Xw9LTg==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-include": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-include/-/plugin-include-0.4.8.tgz", - "integrity": "sha512-Hd+ZjisjjUS6ZRtjXUkfbYx3HpGKAY4XVpzmvhinK4+EPqiW4SrQor4G03ckpYu2fFjBF6u6+NbMtkHD8dcMZQ==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1", - "upath": "^2.0.1" - } - }, - "@mdit/plugin-katex": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-katex/-/plugin-katex-0.4.8.tgz", - "integrity": "sha512-IQUfqpRp+/0gq0VDUOLI0xVvAaiHQv91f6PFBuRG2mvxSsJBECCWZTiJpCgriL7XHSVeSI8zHEYsha9UR674nw==", - "dev": true, - "requires": { - "@mdit/plugin-tex": "0.4.8", - "@types/katex": "^0.16.0", - "@types/markdown-it": "^12.2.3", - "katex": "^0.16.7", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-mark": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-mark/-/plugin-mark-0.4.8.tgz", - "integrity": "sha512-51sV7MsPPoW+oa47mwUoD44a3N6XcnYBCOixuDtPzpmKH7ueUJ/ULOGJoBsbveo/ZqTCivJ+3cwoTujaGua8mQ==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-mathjax": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-mathjax/-/plugin-mathjax-0.4.8.tgz", - "integrity": "sha512-eFFYR6Qo9eZnS+3vUVIHd1lLasx6Upybu3tvdNJ119CUkVd3edtvDqI286RJuApfyDM0uAzkqEgmSKCr4pT8NA==", - "dev": true, - "requires": { - "@mdit/plugin-tex": "0.4.8", - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1", - "mathjax-full": "^3.2.2", - "upath": "^2.0.1" - } - }, - "@mdit/plugin-stylize": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-stylize/-/plugin-stylize-0.4.8.tgz", - "integrity": "sha512-Wjo3hEHGybu+2ubLaUY52g5SCk6ThFwHYQAYScB7NX39lbr1xefVKs5RYeyH3xCRMdK3S5+b1mlklrdSARQ1fg==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-sub": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-sub/-/plugin-sub-0.4.8.tgz", - "integrity": "sha512-U/6FtGgakdk/JhybHGHykBampF5YMZFkS1DB9uht/3uycWT4ejGefZ1XT9r59liQ3Bh/9CTy0niRNvMwdolPOA==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-sup": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-sup/-/plugin-sup-0.4.8.tgz", - "integrity": "sha512-wv4n9PKoiXI2RFqUrqOSxcKl71mTNCzlNJNlb4WfF9OTIn1CXR298EeL6XnbgS6snLuraur15PgGqwWw6wP7AQ==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-tab": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-tab/-/plugin-tab-0.4.8.tgz", - "integrity": "sha512-/YUI4KQAtHUE6AkJUfIEIKjnK8LEAkcBMe2z8SYmzeEs9U0vHvQNawUd6ANHOXrpeqyPrgQnhWqGkF4yMqfAjg==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-tasklist": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-tasklist/-/plugin-tasklist-0.4.8.tgz", - "integrity": "sha512-VAnCR4dnfqOpW1hPEAunJFVvV31eARnD23XPSK3JAQADUFtnileoR0OdXZATC4gTsuVnYh8V8d7rujjL1QvxQw==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-tex": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-tex/-/plugin-tex-0.4.8.tgz", - "integrity": "sha512-HgWb8l0Can+NsxFfLu358Xwj1plxXHXf2YkjxM316pUeVZhNhjPjoqIpR46ebCwWbWW+GmwT0YdeUvQrDgM3ig==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@mdit/plugin-uml": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@mdit/plugin-uml/-/plugin-uml-0.4.8.tgz", - "integrity": "sha512-X414T54zh0i+n5MbPL0kzGwRzcCU0hlpe4wp74cr44RWrsvJ8+78ioOx7WJOM8rgGHRWIoEEp6BjB1WfI734Iw==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "markdown-it": "^13.0.1" - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@stackblitz/sdk": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@stackblitz/sdk/-/sdk-1.9.0.tgz", - "integrity": "sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ==", - "dev": true - }, - "@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", - "dev": true, - "requires": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - }, - "dependencies": { - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - } - } - }, - "@types/debug": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.8.tgz", - "integrity": "sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==", - "dev": true, - "requires": { - "@types/ms": "*" - } - }, - "@types/eslint": { - "version": "8.40.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.2.tgz", - "integrity": "sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ==", - "dev": true, - "peer": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "peer": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", - "dev": true, - "peer": true - }, - "@types/fs-extra": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.1.tgz", - "integrity": "sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==", - "dev": true, - "requires": { - "@types/jsonfile": "*", - "@types/node": "*" - } - }, - "@types/hash-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/hash-sum/-/hash-sum-1.0.0.tgz", - "integrity": "sha512-FdLBT93h3kcZ586Aee66HPCVJ6qvxVjBlDWNmxSGSbCZe9hTsjRKdSsl4y1T+3zfujxo9auykQMnFsfyHWD7wg==", - "dev": true - }, - "@types/js-yaml": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.5.tgz", - "integrity": "sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", - "dev": true, - "peer": true - }, - "@types/jsonfile": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz", - "integrity": "sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/katex": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.0.tgz", - "integrity": "sha512-hz+S3nV6Mym5xPbT9fnO8dDhBFQguMYpY0Ipxv06JMi1ORgnEM4M1ymWDUhUNer3ElLmT583opRo4RzxKmh9jw==", - "dev": true - }, - "@types/linkify-it": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", - "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", - "dev": true - }, - "@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", - "dev": true, - "requires": { - "@types/linkify-it": "*", - "@types/mdurl": "*" - } - }, - "@types/markdown-it-emoji": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz", - "integrity": "sha512-2ln8Wjbcj/0oRi/6VnuMeWEHHuK8uapFttvcLmDIe1GKCsFBLOLBX+D+xhDa9oWOQV0IpvxwrSfKKssAqqroog==", - "dev": true, - "requires": { - "@types/markdown-it": "*" - } - }, - "@types/mdast": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", - "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", - "dev": true, - "requires": { - "@types/unist": "*" - } - }, - "@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", - "dev": true - }, - "@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "dev": true - }, - "@types/node": { - "version": "20.3.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.2.tgz", - "integrity": "sha512-vOBLVQeCQfIcF/2Y7eKFTqrMnizK5lRNQ7ykML/5RuwVXVWxYkgwS7xbt4B6fKCUPgbSL5FSsjHQpaGQP/dQmw==", - "dev": true - }, - "@types/raphael": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/@types/raphael/-/raphael-2.3.3.tgz", - "integrity": "sha512-Rhvq0q6wzyvipejki/9w87/pgapyE+s3gO66tdl1oD3qDrow+ek+4vVYAbRkeL58HCCK9EOZKwyjqYJ/TFkmtQ==", - "dev": true - }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/trusted-types": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", - "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==", - "dev": true - }, - "@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", - "dev": true - }, - "@types/web-bluetooth": { - "version": "0.0.17", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz", - "integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==", - "dev": true - }, - "@vitejs/plugin-vue": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz", - "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==", - "dev": true, - "requires": {} - }, - "@vue/compiler-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz", - "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==", - "dev": true, - "requires": { - "@babel/parser": "^7.21.3", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" - } - }, - "@vue/compiler-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz", - "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==", - "dev": true, - "requires": { - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "@vue/compiler-sfc": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz", - "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-ssr": "3.3.4", - "@vue/reactivity-transform": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0", - "postcss": "^8.1.10", - "source-map-js": "^1.0.2" - } - }, - "@vue/compiler-ssr": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz", - "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==", - "dev": true, - "requires": { - "@vue/compiler-dom": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", - "dev": true - }, - "@vue/reactivity": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz", - "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==", - "dev": true, - "requires": { - "@vue/shared": "3.3.4" - } - }, - "@vue/reactivity-transform": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz", - "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.15", - "@vue/compiler-core": "3.3.4", - "@vue/shared": "3.3.4", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.0" - } - }, - "@vue/repl": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@vue/repl/-/repl-1.5.0.tgz", - "integrity": "sha512-qFqKtvA2FM9viYXzbWrpGrL8mDGswsqDsEjfaibr/YOqeza7i49VmO0AKPrOdQDOS2qmq9uV+G6OPX1rGhUSIQ==", - "dev": true, - "requires": {} - }, - "@vue/runtime-core": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz", - "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==", - "dev": true, - "requires": { - "@vue/reactivity": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "@vue/runtime-dom": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz", - "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==", - "dev": true, - "requires": { - "@vue/runtime-core": "3.3.4", - "@vue/shared": "3.3.4", - "csstype": "^3.1.1" - } - }, - "@vue/server-renderer": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz", - "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==", - "dev": true, - "requires": { - "@vue/compiler-ssr": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "@vue/shared": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz", - "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==", - "dev": true - }, - "@vuepress/bundler-vite": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/bundler-vite/-/bundler-vite-2.0.0-beta.63.tgz", - "integrity": "sha512-g02mgffks+kxcnmKLyBSa8WvtKa+La1y0xQ3bLgvHb54CGHUALdxiBh83sPh5zFvnWoGgUGU9enc6MCB68dFzA==", - "dev": true, - "requires": { - "@vitejs/plugin-vue": "^4.2.3", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "autoprefixer": "^10.4.14", - "connect-history-api-fallback": "^2.0.0", - "postcss": "^8.4.24", - "postcss-load-config": "^4.0.1", - "rollup": "^3.24.0", - "vite": "~4.3.9", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "@vuepress/cli": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/cli/-/cli-2.0.0-beta.63.tgz", - "integrity": "sha512-F4hoRvNkf/nJsNEW5OmoJAMiUQZ6bx5A/yCN8be2tT5bTZQwfW4K9CDQXMJEoDBecepsyx3PjPqC5vQx2aR8Xw==", - "dev": true, - "requires": { - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "cac": "^6.7.14", - "chokidar": "^3.5.3", - "envinfo": "^7.8.1", - "esbuild": "~0.17.19" - } - }, - "@vuepress/client": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/client/-/client-2.0.0-beta.63.tgz", - "integrity": "sha512-L/EQt3ZBKtEB6HUUifPSn/rAQM1R2ndKOqGYHzdG90WrUbzpM+ROm+3BxpVinvUuKkRgnXyf8qgaETlvUNw90Q==", - "dev": true, - "requires": { - "@vue/devtools-api": "^6.5.0", - "@vuepress/shared": "2.0.0-beta.63", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "@vuepress/core": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/core/-/core-2.0.0-beta.63.tgz", - "integrity": "sha512-9n8/ke7qSJ1M+eeJGIcgPBtSr9aPUO+WJMg1Zg82UfazI7EcshRFHO/CsGGUw1RPm6VtKM5E9iUgl3YJpM9ZvA==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/markdown": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "@vuepress/markdown": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/markdown/-/markdown-2.0.0-beta.63.tgz", - "integrity": "sha512-XLR/bNgfKmmz3YL57vG0Du8C6KQVJuFPIKQSwI6caWsl02ddbdt8IAO7PhczH6dfuEX3TFdQkx70sEgM6pdhKA==", - "dev": true, - "requires": { - "@mdit-vue/plugin-component": "^0.12.0", - "@mdit-vue/plugin-frontmatter": "^0.12.0", - "@mdit-vue/plugin-headers": "^0.12.0", - "@mdit-vue/plugin-sfc": "^0.12.0", - "@mdit-vue/plugin-title": "^0.12.0", - "@mdit-vue/plugin-toc": "^0.12.0", - "@mdit-vue/shared": "^0.12.0", - "@mdit-vue/types": "^0.12.0", - "@types/markdown-it": "^12.2.3", - "@types/markdown-it-emoji": "^2.0.2", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "markdown-it": "^13.0.1", - "markdown-it-anchor": "^8.6.7", - "markdown-it-emoji": "^2.0.2", - "mdurl": "^1.0.1" - } - }, - "@vuepress/plugin-active-header-links": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-active-header-links/-/plugin-active-header-links-2.0.0-beta.63.tgz", - "integrity": "sha512-xTV+8bhflukXoN3tJWJlL7EvBfTH0dP0mmIszlo5OELDxp2qiK/p+lZ9uCNv+zlymGzx1HfLatYRiOK10DwJTQ==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "ts-debounce": "^4.0.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "@vuepress/plugin-back-to-top": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-back-to-top/-/plugin-back-to-top-2.0.0-beta.63.tgz", - "integrity": "sha512-oT2xmTpnyuMMbyjefKJj3XcgMQe2LK31XsjjZiMZH1L4F2yx/mE0/x9pHkrioKyQE9J0TUlp6U91SfDjYiWQzA==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "ts-debounce": "^4.0.0", - "vue": "^3.3.4" - } - }, - "@vuepress/plugin-container": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-container/-/plugin-container-2.0.0-beta.63.tgz", - "integrity": "sha512-zgQLfxCfp/EiXGBj29lT4fMQunKVuKDq33EDHvK83F8xGpvavqM/AWy+/mVxpin+KUyg45Oe8oNRG5ZTSEd0Xg==", - "dev": true, - "requires": { - "@types/markdown-it": "^12.2.3", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/markdown": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "markdown-it": "^13.0.1", - "markdown-it-container": "^3.0.0" - } - }, - "@vuepress/plugin-external-link-icon": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-external-link-icon/-/plugin-external-link-icon-2.0.0-beta.63.tgz", - "integrity": "sha512-KPclAh29fYdzsITlx5kSZGMSDdbRw2cQXMEKqiJfo7v1gIP7DJjeIxPsknarIFThmXv/SoKzli3RxxGQY6rcww==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/markdown": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "@vuepress/plugin-git": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-git/-/plugin-git-2.0.0-beta.63.tgz", - "integrity": "sha512-VnhuRMzn/WwjS++Ci9E43pqZi4uj34baeRcNEz31gGI9MvtRYGSs5HXrsTydvwbyHhTQYF0vbcAsbIN2pp7DCw==", - "dev": true, - "requires": { - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "execa": "^7.1.1" - } - }, - "@vuepress/plugin-medium-zoom": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-medium-zoom/-/plugin-medium-zoom-2.0.0-beta.63.tgz", - "integrity": "sha512-n20+27k9i7IYbKVC4gDKD1gk7ZWAKTWiVpWHVWzDFLtpJOJALrIz3FEjdodIqsN3v83j3fzNIHWrunVkxQoc0w==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "medium-zoom": "^1.0.8", - "vue": "^3.3.4" - } - }, - "@vuepress/plugin-nprogress": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-nprogress/-/plugin-nprogress-2.0.0-beta.63.tgz", - "integrity": "sha512-bts29KHmLeg3ao0IADnvdQaOV4IK+IRJek5lGtYiT/oq8r/9Mb0SeDut7UUsf0C/hZhKCDhpyTRYHLgEup5FVQ==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "@vuepress/plugin-palette": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-palette/-/plugin-palette-2.0.0-beta.63.tgz", - "integrity": "sha512-TOXZ23Q1ETFztmBtgDvB1Mvd16Hsw2pjO5d1fnO4YVnfJgW2fXsy7n6zXNYg6KgfTPM0dSlj2ngn+KbZa/w+mw==", - "dev": true, - "requires": { - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "chokidar": "^3.5.3" - } - }, - "@vuepress/plugin-prismjs": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-prismjs/-/plugin-prismjs-2.0.0-beta.63.tgz", - "integrity": "sha512-lGMwZf75ROgLaTS2V/ZfZc2RSBHxPZRTxFlv2lAk2m8eVaitwnIvLTZfr+rRukZDaifuqEdpsHgfxO5xTRp9Gg==", - "dev": true, - "requires": { - "@vuepress/core": "2.0.0-beta.63", - "prismjs": "^1.29.0" - } - }, - "@vuepress/plugin-theme-data": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/plugin-theme-data/-/plugin-theme-data-2.0.0-beta.63.tgz", - "integrity": "sha512-JLNxa6YTa3WK45j/9sZQsBJGr7aASqQb0dt3CvIitUVHk1n0cpc14nUANbj+3VAQUx6C5qkYcpA9EdDNAUf14Q==", - "dev": true, - "requires": { - "@vue/devtools-api": "^6.5.0", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "@vuepress/shared": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/shared/-/shared-2.0.0-beta.63.tgz", - "integrity": "sha512-xJ90x2RAuYenM4Pn7gbhJ9lkmPBWscM0cff+ypEVI47oV0hKpaDpNLkteT4QjBoRIHyqlz5CFUP+2BMOk9zxCA==", - "dev": true, - "requires": { - "@mdit-vue/types": "^0.12.0", - "@vue/shared": "^3.3.4" - } - }, - "@vuepress/theme-default": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/theme-default/-/theme-default-2.0.0-beta.63.tgz", - "integrity": "sha512-iry9+YGKC8tcZJ5pUCS/nwUdBlbC5YPkyarnu1bs1M2IvXv/a+PR3zxT/BMVdCtZlXk+CqZ1odsoSxXhFZEkxw==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/plugin-active-header-links": "2.0.0-beta.63", - "@vuepress/plugin-back-to-top": "2.0.0-beta.63", - "@vuepress/plugin-container": "2.0.0-beta.63", - "@vuepress/plugin-external-link-icon": "2.0.0-beta.63", - "@vuepress/plugin-git": "2.0.0-beta.63", - "@vuepress/plugin-medium-zoom": "2.0.0-beta.63", - "@vuepress/plugin-nprogress": "2.0.0-beta.63", - "@vuepress/plugin-palette": "2.0.0-beta.63", - "@vuepress/plugin-prismjs": "2.0.0-beta.63", - "@vuepress/plugin-theme-data": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.1.2", - "sass": "^1.63.2", - "sass-loader": "^13.3.1", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "@vuepress/utils": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/@vuepress/utils/-/utils-2.0.0-beta.63.tgz", - "integrity": "sha512-Ow3zmwiCrmpA/Ezs9PRIroa6HBSGjYGEo9kmC2Prfl4CkRTup/rhvVrrPpi3WkqT/B+fKgPQN8ihs5EYazxRtw==", - "dev": true, - "requires": { - "@types/debug": "^4.1.8", - "@types/fs-extra": "^11.0.1", - "@types/hash-sum": "^1.0.0", - "@vuepress/shared": "2.0.0-beta.63", - "debug": "^4.3.4", - "fs-extra": "^11.1.1", - "globby": "^13.1.4", - "hash-sum": "^2.0.0", - "ora": "^6.3.1", - "picocolors": "^1.0.0", - "upath": "^2.0.1" - } - }, - "@vueuse/core": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.2.1.tgz", - "integrity": "sha512-c441bfMbkAwTNwVRHQ0zdYZNETK//P84rC01aP2Uy/aRFCiie9NE/k9KdIXbno0eDYP5NPUuWv0aA/I4Unr/7w==", - "dev": true, - "requires": { - "@types/web-bluetooth": "^0.0.17", - "@vueuse/metadata": "10.2.1", - "@vueuse/shared": "10.2.1", - "vue-demi": ">=0.14.5" - }, - "dependencies": { - "vue-demi": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", - "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", - "dev": true, - "requires": {} - } - } - }, - "@vueuse/metadata": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.2.1.tgz", - "integrity": "sha512-3Gt68mY/i6bQvFqx7cuGBzrCCQu17OBaGWS5JdwISpMsHnMKKjC2FeB5OAfMcCQ0oINfADP3i9A4PPRo0peHdQ==", - "dev": true - }, - "@vueuse/shared": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.2.1.tgz", - "integrity": "sha512-QWHq2bSuGptkcxx4f4M/fBYC3Y8d3M2UYyLsyzoPgEoVzJURQ0oJeWXu79OiLlBb8gTKkqe4mO85T/sf39mmiw==", - "dev": true, - "requires": { - "vue-demi": ">=0.14.5" - }, - "dependencies": { - "vue-demi": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz", - "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==", - "dev": true, - "requires": {} - } - } - }, - "@waline/client": { - "version": "2.15.5", - "resolved": "https://registry.npmjs.org/@waline/client/-/client-2.15.5.tgz", - "integrity": "sha512-gLVeojWXRIRvXzVJwz9hfBokfde6KqZs+Adf7Z1SsEC3jAfyiqjOkdYkH93DhgMWyI0ck6nDlsBDLuePsFVifQ==", - "dev": true, - "requires": { - "@vueuse/core": "^10.1.2", - "autosize": "^6.0.1", - "marked": "^4.3.0", - "vue": "^3.3.2" - } - }, - "@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "@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==", - "dev": true, - "peer": true - }, - "@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==", - "dev": true, - "peer": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true, - "peer": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@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==", - "dev": true, - "peer": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "peer": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "peer": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true, - "peer": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "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/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@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": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "peer": true, - "requires": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true, - "peer": true - }, - "@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==", - "dev": true, - "peer": true - }, - "abortcontroller-polyfill": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz", - "integrity": "sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==", - "dev": true - }, - "acorn": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", - "integrity": "sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==", - "dev": true - }, - "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==", - "dev": true, - "peer": true, - "requires": {} - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "peer": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "dependencies": { - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "peer": true - } - } - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peer": true, - "requires": {} - }, - "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 - }, - "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, - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "artalk": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/artalk/-/artalk-2.5.5.tgz", - "integrity": "sha512-35Dq9sOquQQlxvqZhRtZMp9g2SS94ryNEfSJy9BP9yq005CZoC64DTCBI2WBG+pd9YenihfB5QWwa+jfCZ/5Ew==", - "dev": true, - "requires": { - "abortcontroller-polyfill": "^1.7.5", - "hanabi": "^0.4.0", - "insane": "^2.6.2", - "marked": "^5.0.1" - }, - "dependencies": { - "marked": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-5.1.0.tgz", - "integrity": "sha512-z3/nBe7aTI8JDszlYLk7dDVNpngjw0o1ZJtrA9kIfkkHcIF+xH7mO23aISl4WxP83elU+MFROgahqdpd05lMEQ==", - "dev": true - } - } - }, - "artplayer": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/artplayer/-/artplayer-5.0.9.tgz", - "integrity": "sha512-IM/DShYdmKFEA9jl08LYbTK2Jfz9s7qIjEH0xWjnxvVArUKZZKcoqwr6i54U0c4grtc/Uvb4wtCd78kvtSVlgw==", - "dev": true, - "requires": { - "option-validator": "^2.0.6" - } - }, - "assignment": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/assignment/-/assignment-2.0.0.tgz", - "integrity": "sha512-naMULXjtgCs9SVUEtyvJNt68aF18em7/W+dhbR59kbz9cXWPEvUkCun2tqlgqRPSqZaKPpqLc5ZnwL8jVmJRvw==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "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==", - "dev": true - }, - "autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", - "dev": true, - "requires": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - } - }, - "autosize": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/autosize/-/autosize-6.0.1.tgz", - "integrity": "sha512-f86EjiUKE6Xvczc4ioP1JBlWG7FKrE13qe/DxBCpe8GCipCq2nFw73aO8QEBKHfSbYGDN5eB9jXWKen7tspDqQ==", - "dev": true - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz", - "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.4.0", - "semver": "^6.1.1" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz", - "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.0", - "core-js-compat": "^3.30.1" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz", - "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "balloon-css": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/balloon-css/-/balloon-css-1.2.0.tgz", - "integrity": "sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==", - "dev": true - }, - "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 - }, - "bcp-47": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-1.0.8.tgz", - "integrity": "sha512-Y9y1QNBBtYtv7hcmoX0tR+tUNSFZGZ6OL6vKPObq8BbOhkCoyayF6ogfLTgAli/KuAEbsYHYUNq2AQuY6IuLag==", - "dev": true, - "requires": { - "is-alphabetical": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "bcp-47-match": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-1.0.3.tgz", - "integrity": "sha512-LggQ4YTdjWQSKELZF5JwchnBa1u0pIQSZf5lSdOHEdbVP55h0qICA/FUp3+W99q0xqxYa1ZQizTUH87gecII5w==", - "dev": true - }, - "bcp-47-normalize": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bcp-47-normalize/-/bcp-47-normalize-1.1.1.tgz", - "integrity": "sha512-jWZ1Jdu3cs0EZdfCkS0UE9Gg01PtxnChjEBySeB+Zo6nkqtFfnvtoQQgP1qU1Oo4qgJgxhTI6Sf9y/pZIhPs0A==", - "dev": true, - "requires": { - "bcp-47": "^1.0.0", - "bcp-47-match": "^1.0.0" - } - }, - "bcrypt-ts": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-ts/-/bcrypt-ts-3.0.1.tgz", - "integrity": "sha512-rRvmZZ+wAhsV8PA8bW+BQq5kWZzqmh20VdwqI19D2WdB7TLwNnYUB0wzFkp83WLvgpSqOF4L0w/uPr90Rao66g==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true - }, - "bl": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", - "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", - "dev": true, - "requires": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "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 - }, - "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, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, - "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "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==", - "dev": true - }, - "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 - }, - "cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001509", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001509.tgz", - "integrity": "sha512-2uDDk+TRiTX5hMcUYT/7CSyzMZxjfGu0vAUjS2g0LSD8UoXOv0LtpH4LxGMemsiPq6LCVIUjNwVM0erkOkGCDA==", - "dev": true - }, - "chalk": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.2.0.tgz", - "integrity": "sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==", - "dev": true - }, - "character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "dev": true - }, - "chart.js": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.0.tgz", - "integrity": "sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==", - "dev": true, - "requires": { - "@kurkle/color": "^0.3.0" - } - }, - "cheerio": { - "version": "1.0.0-rc.12", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", - "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==", - "dev": true, - "requires": { - "cheerio-select": "^2.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" - } - }, - "cheerio-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", - "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.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" - } - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "peer": true - }, - "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, - "requires": { - "restore-cursor": "^4.0.0" - } - }, - "cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", - "dev": true - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "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 - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true - }, - "codem-isoboxer": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/codem-isoboxer/-/codem-isoboxer-0.3.9.tgz", - "integrity": "sha512-4XOTqEzBWrGOZaMd+sTED2hLpzfBbiQCf1W6OBGkIHqk1D8uwy8WFLazVbdQwfDpQ+vf39lqTGPa9IhWW0roTA==", - "dev": true - }, - "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, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true - }, - "comment-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/comment-regex/-/comment-regex-1.0.1.tgz", - "integrity": "sha512-IWlN//Yfby92tOIje7J18HkNmWRR7JESA/BK8W7wqY/akITpU5B0JQWnbTjCfdChSrDNb0DrdA9jfAxiiBXyiQ==", - "dev": true - }, - "common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true - }, - "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==", - "dev": true - }, - "core-js": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz", - "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==", - "dev": true - }, - "core-js-compat": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz", - "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==", - "dev": true, - "requires": { - "browserslist": "^4.21.5" - } - }, - "cose-base": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz", - "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", - "dev": true, - "requires": { - "layout-base": "^1.0.0" - } - }, - "create-codepen": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/create-codepen/-/create-codepen-0.0.3.tgz", - "integrity": "sha512-Yr9qDyJEZ32V8rZn+R19zomU/0bjHixp11sB+IgnZ5bEb41XJ86iHT3IXTGdqHF2NVx6dsZ1R4DjpxXvA2/dXg==", - "dev": true - }, - "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, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", - "dev": true - }, - "css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - } - }, - "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 - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true - }, - "custom-event-polyfill": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", - "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==", - "dev": true - }, - "cytoscape": { - "version": "3.25.0", - "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.25.0.tgz", - "integrity": "sha512-7MW3Iz57mCUo6JQCho6CmPBCbTlJr7LzyEtIkutG255HLVd4XuBg2I9BkTZLI/e4HoaOB/BiAzXuQybQ95+r9Q==", - "dev": true, - "requires": { - "heap": "^0.2.6", - "lodash": "^4.17.21" - } - }, - "cytoscape-cose-bilkent": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", - "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", - "dev": true, - "requires": { - "cose-base": "^1.0.0" - } - }, - "cytoscape-fcose": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", - "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", - "dev": true, - "requires": { - "cose-base": "^2.2.0" - }, - "dependencies": { - "cose-base": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz", - "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", - "dev": true, - "requires": { - "layout-base": "^2.0.0" - } - }, - "layout-base": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz", - "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", - "dev": true - } - } - }, - "d3": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.8.5.tgz", - "integrity": "sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==", - "dev": true, - "requires": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - } - }, - "d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dev": true, - "requires": { - "internmap": "1 - 2" - } - }, - "d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "dev": true - }, - "d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - } - }, - "d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "dev": true, - "requires": { - "d3-path": "1 - 3" - } - }, - "d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "dev": true - }, - "d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "dev": true, - "requires": { - "d3-array": "^3.2.0" - } - }, - "d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "dev": true, - "requires": { - "delaunator": "5" - } - }, - "d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "dev": true - }, - "d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - } - }, - "d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "dev": true, - "requires": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "dependencies": { - "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 - } - } - }, - "d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "dev": true - }, - "d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "dev": true, - "requires": { - "d3-dsv": "1 - 3" - } - }, - "d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - } - }, - "d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "dev": true - }, - "d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", - "dev": true, - "requires": { - "d3-array": "2.5.0 - 3" - } - }, - "d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "dev": true - }, - "d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dev": true, - "requires": { - "d3-color": "1 - 3" - } - }, - "d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "dev": true - }, - "d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "dev": true - }, - "d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "dev": true - }, - "d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "dev": true - }, - "d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dev": true, - "requires": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - } - }, - "d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", - "dev": true, - "requires": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - } - }, - "d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "dev": true - }, - "d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dev": true, - "requires": { - "d3-path": "^3.1.0" - } - }, - "d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dev": true, - "requires": { - "d3-array": "2 - 3" - } - }, - "d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dev": true, - "requires": { - "d3-time": "1 - 3" - } - }, - "d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "dev": true - }, - "d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "dev": true, - "requires": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - } - }, - "d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "dev": true, - "requires": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - } - }, - "dagre-d3-es": { - "version": "7.0.10", - "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.10.tgz", - "integrity": "sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==", - "dev": true, - "requires": { - "d3": "^7.8.2", - "lodash-es": "^4.17.21" - } - }, - "dashjs": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/dashjs/-/dashjs-4.7.1.tgz", - "integrity": "sha512-RPUqJGjR4lXrApHfNOd9G6885q8GpQ4rWecYBMdJjXCtnM8sNg9bhqic3Jl0bTgR0Xzl7Jd86qRc1YZbq1wjPw==", - "dev": true, - "requires": { - "bcp-47-match": "^1.0.3", - "bcp-47-normalize": "^1.1.1", - "codem-isoboxer": "0.3.9", - "es6-promise": "^4.2.8", - "fast-deep-equal": "2.0.1", - "html-entities": "^1.2.1", - "imsc": "^1.1.3", - "localforage": "^1.7.1", - "path-browserify": "^1.0.1", - "ua-parser-js": "^1.0.2" - } - }, - "dayjs": { - "version": "1.11.8", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.8.tgz", - "integrity": "sha512-LcgxzFoWMEPO7ggRv1Y2N31hUf2R0Vj7fuy/m+Bg1K8rr+KAs1AEy4y9jd5DXe8pbHgX+srkHNS7TH6Q6ZhYeQ==", - "dev": true - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true - }, - "decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "dev": true, - "requires": { - "character-entities": "^2.0.0" - } - }, - "deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true - }, - "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, - "requires": { - "clone": "^1.0.2" - } - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delaunator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.0.tgz", - "integrity": "sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==", - "dev": true, - "requires": { - "robust-predicates": "^3.0.0" - } - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true - }, - "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "dev": true - }, - "dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==", - "dev": true - }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "dependencies": { - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - } - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" - } - }, - "dompurify": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.0.3.tgz", - "integrity": "sha512-axQ9zieHLnAnHh0sfAamKYiqXMJAVwu+LM/alQ7WDagoWessyWvMSFyW65CqF3owufNu8HBcE4cM2Vflu7YWcQ==", - "dev": true - }, - "domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - } - }, - "echarts": { - "version": "5.4.2", - "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz", - "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==", - "dev": true, - "requires": { - "tslib": "2.3.0", - "zrender": "5.4.3" - } - }, - "ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dev": true, - "requires": { - "jake": "^10.8.5" - } - }, - "electron-to-chromium": { - "version": "1.4.442", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.442.tgz", - "integrity": "sha512-RkrZF//Ya+0aJq2NM3OdisNh5ZodZq1rdXOS96G8DdDgpDKqKE81yTbbQ3F/4CKm1JBPsGu1Lp/akkna2xO06Q==", - "dev": true - }, - "elkjs": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/elkjs/-/elkjs-0.8.2.tgz", - "integrity": "sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==", - "dev": true - }, - "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 - }, - "encode-utf8": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", - "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", - "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", - "dev": true, - "peer": true, - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "dev": true - }, - "envinfo": { - "version": "7.10.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.10.0.tgz", - "integrity": "sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==", - "dev": true - }, - "es-abstract": { - "version": "1.21.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz", - "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.1", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.2.0", - "get-symbol-description": "^1.0.0", - "globalthis": "^1.0.3", - "gopd": "^1.0.1", - "has": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "is-array-buffer": "^3.0.2", - "is-callable": "^1.2.7", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "safe-regex-test": "^1.0.0", - "string.prototype.trim": "^1.2.7", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", - "typed-array-length": "^1.0.4", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" - } - }, - "es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", - "dev": true, - "peer": true - }, - "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "esbuild": { - "version": "0.17.19", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", - "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.17.19", - "@esbuild/android-arm64": "0.17.19", - "@esbuild/android-x64": "0.17.19", - "@esbuild/darwin-arm64": "0.17.19", - "@esbuild/darwin-x64": "0.17.19", - "@esbuild/freebsd-arm64": "0.17.19", - "@esbuild/freebsd-x64": "0.17.19", - "@esbuild/linux-arm": "0.17.19", - "@esbuild/linux-arm64": "0.17.19", - "@esbuild/linux-ia32": "0.17.19", - "@esbuild/linux-loong64": "0.17.19", - "@esbuild/linux-mips64el": "0.17.19", - "@esbuild/linux-ppc64": "0.17.19", - "@esbuild/linux-riscv64": "0.17.19", - "@esbuild/linux-s390x": "0.17.19", - "@esbuild/linux-x64": "0.17.19", - "@esbuild/netbsd-x64": "0.17.19", - "@esbuild/openbsd-x64": "0.17.19", - "@esbuild/sunos-x64": "0.17.19", - "@esbuild/win32-arm64": "0.17.19", - "@esbuild/win32-ia32": "0.17.19", - "@esbuild/win32-x64": "0.17.19" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "peer": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esm": { - "version": "3.2.25", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "dev": true - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "peer": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "peer": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "peer": true - }, - "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 - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "eve-raphael": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/eve-raphael/-/eve-raphael-0.5.0.tgz", - "integrity": "sha512-jrxnPsCGqng1UZuEp9DecX/AuSyAszATSjf4oEcRxvfxa1Oux4KkIPKBAAWWnpdwfARtr+Q0o9aPYWjsROD7ug==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "peer": true - }, - "execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true - }, - "onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "requires": { - "mimic-fn": "^4.0.0" - } - } - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "@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": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "fflate": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.0.tgz", - "integrity": "sha512-FAdS4qMuFjsJj6XHbBaZeXOgaypXp8iw/Tpyuq/w3XA41jjLHT8NPA+n7czH/DDhdncq0nAyDZmPeWXh2qmdIg==", - "dev": true - }, - "filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "requires": { - "minimatch": "^5.0.1" - }, - "dependencies": { - "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, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "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==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flowchart.ts": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/flowchart.ts/-/flowchart.ts-1.0.0.tgz", - "integrity": "sha512-U8FN9kg/U1xPdQ5xW3e/hZBSX7y/07zGESCrJ2mjlT8CLuhzPXHXRJrJ+VyFW0DEJLdj4O7MvJImg3sXeRGt1A==", - "dev": true, - "requires": { - "@types/raphael": "^2.3.3", - "raphael": "^2.3.0", - "tslib": "^2.5.2" - }, - "dependencies": { - "tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", - "dev": true - } - } - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "fraction.js": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", - "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", - "dev": true - }, - "fs-extra": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", - "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "function.prototype.name": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", - "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" - } - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "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==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true - }, - "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 - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "giscus": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/giscus/-/giscus-1.2.8.tgz", - "integrity": "sha512-pufrgQYt1W+4ztiWp/PilLPN8NdyKvpbQ8jNqbAa1g84t6qqyevXHfkOYCi4x4d+y191vJAUc6seL1Dq74yUeA==", - "dev": true, - "requires": { - "lit": "^2.6.1" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "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-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "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==", - "dev": true, - "peer": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3" - } - }, - "globby": { - "version": "13.1.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", - "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", - "dev": true, - "requires": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^4.0.0" - } - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "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==", - "dev": true - }, - "gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dev": true, - "requires": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - } - }, - "hanabi": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/hanabi/-/hanabi-0.4.0.tgz", - "integrity": "sha512-ixJH94fwmmVzUSdxl7TMkVZJmsq4d2JKrxedpM5V1V+91iVHL0q6NnJi4xiDahK6Vo00xT17H8H6b4F6RVbsOg==", - "dev": true, - "requires": { - "comment-regex": "^1.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "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==", - "dev": true - }, - "he": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz", - "integrity": "sha512-DoufbNNOFzwRPy8uecq+j+VCPQ+JyDelHTmSgygrA5TsR8Cbw4Qcir5sGtWiusB4BdT89nmlaVDhSJOqC/33vw==", - "dev": true - }, - "heap": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", - "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", - "dev": true - }, - "hls.js": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.4.7.tgz", - "integrity": "sha512-dvwJXLlYES6wb7DR42uuTrio5sUTsIoWbuNeQS4xHMqfVBZ0KAlJlBmjFAo4s20/0XRhsMjWf5bx0kq5Lgvv1w==", - "dev": true - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", - "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", - "dev": true - }, - "htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - }, - "dependencies": { - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - } - } - }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true - }, - "iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==", - "dev": true - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "dev": true - }, - "immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true - }, - "imsc": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/imsc/-/imsc-1.1.3.tgz", - "integrity": "sha512-IY0hMkVTNoqoYwKEp5UvNNKp/A5jeJUOrIO7judgOyhHT+xC6PA4VBOMAOhdtAYbMRHx9DTgI8p6Z6jhYQPFDA==", - "dev": true, - "requires": { - "sax": "1.2.1" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "insane": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/insane/-/insane-2.6.2.tgz", - "integrity": "sha512-BqEL1CJsjJi+/C/zKZxv31zs3r6zkLH5Nz1WMFb7UBX2KHY2yXDpbFTSEmNHzomBbGDysIfkTX55A0mQZ2CQiw==", - "dev": true, - "requires": { - "assignment": "2.0.0", - "he": "0.5.0" - } - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "dev": true - }, - "is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true - }, - "is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "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==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "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==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "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 - }, - "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 - }, - "is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", - "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "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 - }, - "is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", - "dev": true, - "requires": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "dependencies": { - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "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==", - "dev": true, - "peer": true, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "dependencies": { - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - } - } - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true, - "peer": true - }, - "json-schema": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "peer": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - } - }, - "jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", - "dev": true - }, - "katex": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.8.tgz", - "integrity": "sha512-ftuDnJbcbOckGY11OO+zg3OofESlbR5DRl2cmN8HeWeeFIV7wTXvAOx8kEjZjobhA+9wh2fbKeO6cdcA9Mnovg==", - "dev": true, - "requires": { - "commander": "^8.3.0" - } - }, - "khroma": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.0.0.tgz", - "integrity": "sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true - }, - "layout-base": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz", - "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", - "dev": true - }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "lie": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", - "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", - "dev": true, - "requires": { - "immediate": "~3.0.5" - } - }, - "lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true - }, - "linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", - "dev": true, - "requires": { - "uc.micro": "^1.0.1" - } - }, - "lit": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.5.tgz", - "integrity": "sha512-i/cH7Ye6nBDUASMnfwcictBnsTN91+aBjXoTHF2xARghXScKxpD4F4WYI+VLXg9lqbMinDfvoI7VnZXjyHgdfQ==", - "dev": true, - "requires": { - "@lit/reactive-element": "^1.6.0", - "lit-element": "^3.3.0", - "lit-html": "^2.7.0" - } - }, - "lit-element": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz", - "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==", - "dev": true, - "requires": { - "@lit-labs/ssr-dom-shim": "^1.1.0", - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.7.0" - } - }, - "lit-html": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.4.tgz", - "integrity": "sha512-/Jw+FBpeEN+z8X6PJva5n7+0MzCVAH2yypN99qHYYkq8bI+j7I39GH+68Z/MZD6rGKDK9RpzBw7CocfmHfq6+g==", - "dev": true, - "requires": { - "@types/trusted-types": "^2.0.2" - } - }, - "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==", - "dev": true, - "peer": true - }, - "loadjs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz", - "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA==", - "dev": true - }, - "localforage": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", - "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", - "dev": true, - "requires": { - "lie": "3.1.1" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", - "dev": true - }, - "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, - "requires": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "magic-string": { - "version": "0.30.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", - "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", - "dev": true, - "requires": { - "@jridgewell/sourcemap-codec": "^1.4.13" - } - }, - "markdown-it": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", - "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", - "dev": true, - "requires": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - } - }, - "markdown-it-anchor": { - "version": "8.6.7", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", - "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", - "dev": true, - "requires": {} - }, - "markdown-it-container": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-3.0.0.tgz", - "integrity": "sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==", - "dev": true - }, - "markdown-it-emoji": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/markdown-it-emoji/-/markdown-it-emoji-2.0.2.tgz", - "integrity": "sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==", - "dev": true - }, - "markdownlint": { - "version": "0.28.2", - "resolved": "https://registry.npmjs.org/markdownlint/-/markdownlint-0.28.2.tgz", - "integrity": "sha512-yYaQXoKKPV1zgrFsyAuZPEQoe+JrY9GDag9ObKpk09twx4OCU5lut+0/kZPrQ3W7w82SmgKhd7D8m34aG1unVw==", - "dev": true, - "requires": { - "markdown-it": "13.0.1", - "markdownlint-micromark": "0.1.2" - } - }, - "markdownlint-cli2": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/markdownlint-cli2/-/markdownlint-cli2-0.7.1.tgz", - "integrity": "sha512-N58lw50Ws0WOfCc07B9dPKMnPMbIj6ZCMlszZLVfxBwKN/M+WZqXLdOHyRL2BWCZ3APBxQN9qDEw7Vf1PRqFkg==", - "dev": true, - "requires": { - "globby": "13.1.4", - "markdownlint": "0.28.2", - "markdownlint-cli2-formatter-default": "0.0.4", - "micromatch": "4.0.5", - "strip-json-comments": "5.0.0", - "yaml": "2.2.2" - } - }, - "markdownlint-cli2-formatter-default": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/markdownlint-cli2-formatter-default/-/markdownlint-cli2-formatter-default-0.0.4.tgz", - "integrity": "sha512-xm2rM0E+sWgjpPn1EesPXx5hIyrN2ddUnUwnbCsD/ONxYtw3PX6LydvdH6dciWAoFDpwzbHM1TO7uHfcMd6IYg==", - "dev": true, - "requires": {} - }, - "markdownlint-micromark": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/markdownlint-micromark/-/markdownlint-micromark-0.1.2.tgz", - "integrity": "sha512-jRxlQg8KpOfM2IbCL9RXM8ZiYWz2rv6DlZAnGv8ASJQpUh6byTBnEsbuMZ6T2/uIgntyf7SKg/mEaEBo1164fQ==", - "dev": true - }, - "marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true - }, - "mathjax-full": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/mathjax-full/-/mathjax-full-3.2.2.tgz", - "integrity": "sha512-+LfG9Fik+OuI8SLwsiR02IVdjcnRCy5MufYLi0C3TdMT56L/pjB0alMVGgoWJF8pN9Rc7FESycZB9BMNWIid5w==", - "dev": true, - "requires": { - "esm": "^3.2.25", - "mhchemparser": "^4.1.0", - "mj-context-menu": "^0.6.1", - "speech-rule-engine": "^4.0.6" - } - }, - "maverick.js": { - "version": "0.37.0", - "resolved": "https://registry.npmjs.org/maverick.js/-/maverick.js-0.37.0.tgz", - "integrity": "sha512-1Dk/9rienLiihlktVvH04ADC2UJTMflC1fOMVQCCaQAaz7hgzDI5i0p/arFbDM52hFFiIcq4RdXtYz47SgsLgw==", - "dev": true, - "requires": { - "@maverick-js/signals": "^5.10.3", - "type-fest": "^3.8.0" - } - }, - "mdast-util-from-markdown": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz", - "integrity": "sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - } - }, - "mdast-util-to-string": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz", - "integrity": "sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0" - } - }, - "mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true - }, - "media-captions": { - "version": "0.0.18", - "resolved": "https://registry.npmjs.org/media-captions/-/media-captions-0.0.18.tgz", - "integrity": "sha512-JW18P6FuHdyLSGwC4TQ0kF3WdNj/+wMw2cKOb8BnmY6vSJGtnwJ+vkYj+IjHOV34j3XMc70HDeB/QYKR7E7fuQ==", - "dev": true - }, - "medium-zoom": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/medium-zoom/-/medium-zoom-1.0.8.tgz", - "integrity": "sha512-CjFVuFq/IfrdqesAXfg+hzlDKu6A2n80ZIq0Kl9kWjoHh9j1N9Uvk5X0/MmN0hOfm5F9YBswlClhcwnmtwz7gA==", - "dev": true - }, - "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==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "mermaid": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.2.3.tgz", - "integrity": "sha512-cMVE5s9PlQvOwfORkyVpr5beMsLdInrycAosdr+tpZ0WFjG4RJ/bUHST7aTgHNJbujHkdBRAm+N50P3puQOfPw==", - "dev": true, - "requires": { - "@braintree/sanitize-url": "^6.0.2", - "cytoscape": "^3.23.0", - "cytoscape-cose-bilkent": "^4.1.0", - "cytoscape-fcose": "^2.1.0", - "d3": "^7.4.0", - "dagre-d3-es": "7.0.10", - "dayjs": "^1.11.7", - "dompurify": "3.0.3", - "elkjs": "^0.8.2", - "khroma": "^2.0.0", - "lodash-es": "^4.17.21", - "mdast-util-from-markdown": "^1.3.0", - "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.3", - "ts-dedent": "^2.2.0", - "uuid": "^9.0.0", - "web-worker": "^1.2.0" - } - }, - "mhchemparser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/mhchemparser/-/mhchemparser-4.2.1.tgz", - "integrity": "sha512-kYmyrCirqJf3zZ9t/0wGgRZ4/ZJw//VwaRVGA75C4nhE60vtnIzhl9J9ndkX/h6hxSN7pjg/cE0VxbnNM+bnDQ==", - "dev": true - }, - "micromark": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.2.0.tgz", - "integrity": "sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==", - "dev": true, - "requires": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-core-commonmark": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz", - "integrity": "sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==", - "dev": true, - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "micromark-factory-destination": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz", - "integrity": "sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-label": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz", - "integrity": "sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-factory-space": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", - "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-title": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz", - "integrity": "sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==", - "dev": true, - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-factory-whitespace": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz", - "integrity": "sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==", - "dev": true, - "requires": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-character": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", - "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-chunked": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz", - "integrity": "sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-classify-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz", - "integrity": "sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-combine-extensions": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz", - "integrity": "sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==", - "dev": true, - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-decode-numeric-character-reference": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz", - "integrity": "sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-decode-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz", - "integrity": "sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==", - "dev": true, - "requires": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz", - "integrity": "sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==", - "dev": true - }, - "micromark-util-html-tag-name": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz", - "integrity": "sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==", - "dev": true - }, - "micromark-util-normalize-identifier": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz", - "integrity": "sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==", - "dev": true, - "requires": { - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-resolve-all": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz", - "integrity": "sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==", - "dev": true, - "requires": { - "micromark-util-types": "^1.0.0" - } - }, - "micromark-util-sanitize-uri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz", - "integrity": "sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==", - "dev": true, - "requires": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "micromark-util-subtokenize": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz", - "integrity": "sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==", - "dev": true, - "requires": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "micromark-util-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", - "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", - "dev": true - }, - "micromark-util-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", - "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", - "dev": true - }, - "micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "requires": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - } - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "peer": true - }, - "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==", - "dev": true, - "peer": true, - "requires": { - "mime-db": "1.52.0" - } - }, - "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 - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "mitt": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz", - "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==", - "dev": true - }, - "mj-context-menu": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/mj-context-menu/-/mj-context-menu-0.6.1.tgz", - "integrity": "sha512-7NO5s6n10TIV96d4g2uDpG7ZDpIhMh0QNfGdJw/W47JswFcosz457wqz/b5sAKvl12sxINGFCn80NZHKwxQEXA==", - "dev": true - }, - "mpegts.js": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/mpegts.js/-/mpegts.js-1.7.3.tgz", - "integrity": "sha512-kqZ1C1IsbAQN72cK8vMrzKeM7hwrwSBbFAwVAc7PPweOeoZxCANrc7fAVDKMfYUzxdNkMTnec9tVmlxmKZB0TQ==", - "dev": true, - "requires": { - "es6-promise": "^4.2.5", - "webworkify-webpack": "^2.1.5" - } - }, - "mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true - }, - "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==", - "dev": true - }, - "node-releases": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz", - "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==", - "dev": true - }, - "non-layered-tidy-tree-layout": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", - "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "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==", - "dev": true - }, - "npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "requires": { - "path-key": "^4.0.0" - }, - "dependencies": { - "path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true - } - } - }, - "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, - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "option-validator": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/option-validator/-/option-validator-2.0.6.tgz", - "integrity": "sha512-tmZDan2LRIRQyhUGvkff68/O0R8UmF+Btmiiz0SmSw2ng3CfPZB9wJlIjHpe/MKUZqyIZkVIXCrwr1tIN+0Dzg==", - "dev": true, - "requires": { - "kind-of": "^6.0.3" - } - }, - "ora": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", - "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", - "dev": true, - "requires": { - "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", - "stdin-discarder": "^0.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "requires": { - "entities": "^4.4.0" - }, - "dependencies": { - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - } - } - }, - "parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", - "dev": true, - "requires": { - "domhandler": "^5.0.2", - "parse5": "^7.0.0" - } - }, - "path-browserify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", - "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "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 - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "photoswipe": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-5.3.7.tgz", - "integrity": "sha512-zsyLsTTLFrj0XR1m4/hO7qNooboFKUrDy+Zt5i2d6qjFPAtBjzaj/Xtydso4uxzcXpcqbTmyxDibb3BcSISseg==", - "dev": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "plyr": { - "version": "3.7.8", - "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.8.tgz", - "integrity": "sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==", - "dev": true, - "requires": { - "core-js": "^3.26.1", - "custom-event-polyfill": "^1.0.7", - "loadjs": "^4.2.0", - "rangetouch": "^2.0.1", - "url-polyfill": "^1.1.12" - } - }, - "pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", - "dev": true - }, - "postcss": { - "version": "8.4.24", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", - "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", - "dev": true, - "requires": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dev": true, - "requires": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - } - }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true - }, - "prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", - "dev": true - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "dev": true, - "requires": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "rangetouch": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz", - "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA==", - "dev": true - }, - "raphael": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/raphael/-/raphael-2.3.0.tgz", - "integrity": "sha512-w2yIenZAQnp257XUWGni4bLMVxpUpcIl7qgxEgDIXtmSypYtlNxfXWpOBxs7LBTps5sDwhRnrToJrMUrivqNTQ==", - "dev": true, - "requires": { - "eve-raphael": "0.5.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "requires": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "register-service-worker": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/register-service-worker/-/register-service-worker-1.7.2.tgz", - "integrity": "sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==", - "dev": true - }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "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, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "reveal.js": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/reveal.js/-/reveal.js-4.5.0.tgz", - "integrity": "sha512-Lx1hUWhJR7Y7ScQNyGt7TFzxeviDAswK2B0cn9RwbPZogTMRgS8+FTr+/12KNHOegjvWKH0H0EGwBARNDPTgWQ==", - "dev": true - }, - "robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==", - "dev": true - }, - "rollup": { - "version": "3.25.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.3.tgz", - "integrity": "sha512-ZT279hx8gszBj9uy5FfhoG4bZx8c+0A1sbqtr7Q3KNWIizpTdDEPZbV2xcbvHsnFp4MavCQYZyzApJ+virB8Yw==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", - "dev": true - }, - "sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "dev": true, - "requires": { - "mri": "^1.1.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "safe-regex-test": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", - "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sass": { - "version": "1.63.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.6.tgz", - "integrity": "sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "sass-loader": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.2.tgz", - "integrity": "sha512-CQbKl57kdEv+KDLquhC+gE3pXt74LEAzm+tzywcA0/aHZuub8wTErbjAoNI57rPUWRYRNC5WUnNl8eGJNbDdwg==", - "dev": true, - "requires": { - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz", - "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==", - "dev": true - }, - "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==", - "dev": true, - "peer": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - } - }, - "semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "peer": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "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 - }, - "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, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "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 - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "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 - }, - "sitemap": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", - "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", - "dev": true, - "requires": { - "@types/node": "^17.0.5", - "@types/sax": "^1.2.1", - "arg": "^5.0.0", - "sax": "^1.2.4" - }, - "dependencies": { - "@types/node": { - "version": "17.0.45", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", - "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", - "dev": true - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - } - } - }, - "slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true - }, - "slimsearch": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/slimsearch/-/slimsearch-0.0.3.tgz", - "integrity": "sha512-T/HDohHPxnj9wodoxSzvOAaxwSasTAp4sm36ECk3aAL/EGnfMSdG2dvTghJFDQfqRlG1k8vN6+Na4IiS14BB8A==", - "dev": true - }, - "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 - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "speech-rule-engine": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/speech-rule-engine/-/speech-rule-engine-4.0.7.tgz", - "integrity": "sha512-sJrL3/wHzNwJRLBdf6CjJWIlxC04iYKkyXvYSVsWVOiC2DSkHmxsqOhEeMsBA9XK+CHuNcsdkbFDnoUfAsmp9g==", - "dev": true, - "requires": { - "commander": "9.2.0", - "wicked-good-xpath": "1.3.0", - "xmldom-sre": "0.1.31" - }, - "dependencies": { - "commander": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.2.0.tgz", - "integrity": "sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==", - "dev": true - } - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "stdin-discarder": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", - "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", - "dev": true, - "requires": { - "bl": "^5.0.0" - } - }, - "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, - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "dependencies": { - "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 - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "string.prototype.matchall": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz", - "integrity": "sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4" - } - }, - "string.prototype.trim": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz", - "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimend": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", - "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "string.prototype.trimstart": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", - "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" - } - }, - "stringify-object": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", - "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", - "dev": true, - "requires": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - } - }, - "strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "requires": { - "ansi-regex": "^6.0.1" - } - }, - "strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", - "dev": true - }, - "strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", - "dev": true - }, - "strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true - }, - "strip-json-comments": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.0.tgz", - "integrity": "sha512-V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw==", - "dev": true - }, - "striptags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz", - "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==", - "dev": true - }, - "stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==", - "dev": true - }, - "supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "peer": true - }, - "temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", - "dev": true - }, - "tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", - "dev": true, - "requires": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "dependencies": { - "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 - }, - "type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true - } - } - }, - "terser": { - "version": "5.18.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.18.2.tgz", - "integrity": "sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "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==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.9", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz", - "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.17", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.16.8" - } - }, - "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==", - "dev": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "ts-debounce": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/ts-debounce/-/ts-debounce-4.0.0.tgz", - "integrity": "sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==", - "dev": true - }, - "ts-dedent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", - "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", - "dev": true - }, - "tslib": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", - "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", - "dev": true - }, - "twikoo": { - "version": "1.6.16", - "resolved": "https://registry.npmjs.org/twikoo/-/twikoo-1.6.16.tgz", - "integrity": "sha512-U+yaZsM2h0WBoju5TKrm1sq+pb0WEzIynS8B/x4g7UMS30YlUbKePYU7nKU2bf00xubZvkbmICKRNy07naZhhQ==", - "dev": true - }, - "type-fest": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.12.0.tgz", - "integrity": "sha512-qj9wWsnFvVEMUDbESiilKeXeHL7FwwiFcogfhfyjmvT968RXSvnl23f1JOClTHYItsi7o501C/7qVllscUP3oA==", - "dev": true - }, - "typed-array-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", - "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "is-typed-array": "^1.1.9" - } - }, - "ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", - "dev": true - }, - "uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true - }, - "unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - } - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, - "unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", - "dev": true, - "requires": { - "crypto-random-string": "^2.0.0" - } - }, - "unist-util-stringify-position": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", - "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", - "dev": true, - "requires": { - "@types/unist": "^2.0.0" - } - }, - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - }, - "upath": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/upath/-/upath-2.0.1.tgz", - "integrity": "sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==", - "dev": true - }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "url-polyfill": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz", - "integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A==", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", - "dev": true - }, - "uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "dev": true, - "requires": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - } - }, - "vidstack": { - "version": "0.6.13", - "resolved": "https://registry.npmjs.org/vidstack/-/vidstack-0.6.13.tgz", - "integrity": "sha512-g5wH6Hfc4EQqOI0Mm7qW4D1DWPZfQnlATLZuqpuVAKI8HOz4UGfd1v48MLK9cR+ZfPjVL4/iZLu7YOIdSX3L2g==", - "dev": true, - "requires": { - "maverick.js": "0.37.0", - "media-captions": "0.0.18", - "type-fest": "^3.8.0" - } - }, - "vite": { - "version": "4.3.9", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", - "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", - "dev": true, - "requires": { - "esbuild": "^0.17.5", - "fsevents": "~2.3.2", - "postcss": "^8.4.23", - "rollup": "^3.21.0" - } - }, - "vue": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz", - "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==", - "dev": true, - "requires": { - "@vue/compiler-dom": "3.3.4", - "@vue/compiler-sfc": "3.3.4", - "@vue/runtime-dom": "3.3.4", - "@vue/server-renderer": "3.3.4", - "@vue/shared": "3.3.4" - } - }, - "vue-router": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.2.tgz", - "integrity": "sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ==", - "dev": true, - "requires": { - "@vue/devtools-api": "^6.5.0" - } - }, - "vuepress": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/vuepress/-/vuepress-2.0.0-beta.63.tgz", - "integrity": "sha512-P9AnMkrRHVl5kUlBcMbLMvkWoVFyxopQl9zLVWGnTRBXFqxY5IkfP+BvTVfLRXuW2itC11Q3TW6OnJtlY8V1sQ==", - "dev": true, - "requires": { - "vuepress-vite": "2.0.0-beta.63" - } - }, - "vuepress-plugin-auto-catalog": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-auto-catalog/-/vuepress-plugin-auto-catalog-2.0.0-beta.228.tgz", - "integrity": "sha512-z0JJZqV1oVaptkCnKSl4phGi/SFsyNZRVVQCI1k/viAu615+RIjFpZ4ggoYdCdwTRDswKiUOGyW+4hvQiYOyeQ==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-components": "2.0.0-beta.228", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-blog2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-blog2/-/vuepress-plugin-blog2-2.0.0-beta.228.tgz", - "integrity": "sha512-SBIrMhLMfOApR6L6NNHKiRoaEFqPIcmfVkk1yrYyDdEj7pgkbeZVZ6qXM5w5cIugRp/f0L4o5bBQvkE+osEwig==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "chokidar": "^3.5.3", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-comment2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-comment2/-/vuepress-plugin-comment2-2.0.0-beta.228.tgz", - "integrity": "sha512-tghrog6Iz9eCLeNgOCXCIys7jGwwRvypK7FpqFkCNO+ENELPAdehUISzCQc80Jp2oDJuFBiUlQglbhDTkvnzsQ==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@waline/client": "^2.15.5", - "artalk": "^2.5.5", - "giscus": "^1.2.8", - "twikoo": "^1.6.16", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-components": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-components/-/vuepress-plugin-components-2.0.0-beta.228.tgz", - "integrity": "sha512-569fu0nNfVF0C8XTFXpgDp//x8wt2l3gkjohReScXvJbBqNBqKkmqqhWtglnkYpqM/099H6/A8PuKMLC3ljVwg==", - "dev": true, - "requires": { - "@stackblitz/sdk": "^1.9.0", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "artplayer": "^5.0.9", - "balloon-css": "^1.2.0", - "create-codepen": "0.0.3", - "dashjs": "^4.7.0", - "hls.js": "^1.4.6", - "mpegts.js": "^1.7.3", - "plyr": "^3.7.8", - "qrcode": "^1.5.3", - "vidstack": "^0.6.13", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-reading-time2": "2.0.0-beta.228", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-copy-code2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-copy-code2/-/vuepress-plugin-copy-code2-2.0.0-beta.228.tgz", - "integrity": "sha512-LeAPMw4TeUZk/hFjfeygdH9tHs6oL27+LNc2d1j72fma8es8tJICnmG1PAGOWEPsZZSRlBj5tF+O1M+PUeFMcw==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "balloon-css": "^1.2.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-copyright2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-copyright2/-/vuepress-plugin-copyright2-2.0.0-beta.228.tgz", - "integrity": "sha512-ESBX6xKvQGvzoiUCiFqK9OV0TiSfKFpNtR0NvEaISqQ9X9XI62l9WwqZHLgOKDUiyQ74gRM8CGUFhBHLjDqa6w==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-feed2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-feed2/-/vuepress-plugin-feed2-2.0.0-beta.228.tgz", - "integrity": "sha512-4LCuQEJQGHxtLQ2nES7OZgWNfm22SL5Lo+C/ZQ5HSnzni5AjaToUAnV10rXEH0EZpTC2vgkP7fx6ILy47HjXOQ==", - "dev": true, - "requires": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "cheerio": "1.0.0-rc.12", - "vuepress-shared": "2.0.0-beta.228", - "xml-js": "^1.6.11" - } - }, - "vuepress-plugin-md-enhance": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-md-enhance/-/vuepress-plugin-md-enhance-2.0.0-beta.228.tgz", - "integrity": "sha512-LOjuflbNEo86i4AcS6S2hY45KnZ2z9+4Ps5nNuTN+6VqDqF+Vs0t/a+qk9qNSgLsnVtG8ZVs0S7VnHFKyobn4A==", - "dev": true, - "requires": { - "@babel/core": "^7.22.5", - "@mdit/plugin-align": "^0.4.8", - "@mdit/plugin-attrs": "^0.4.8", - "@mdit/plugin-container": "^0.4.8", - "@mdit/plugin-figure": "^0.4.8", - "@mdit/plugin-footnote": "^0.4.8", - "@mdit/plugin-img-lazyload": "^0.4.8", - "@mdit/plugin-img-mark": "^0.4.8", - "@mdit/plugin-img-size": "^0.4.8", - "@mdit/plugin-include": "^0.4.8", - "@mdit/plugin-katex": "^0.4.8", - "@mdit/plugin-mark": "^0.4.8", - "@mdit/plugin-mathjax": "^0.4.8", - "@mdit/plugin-stylize": "^0.4.8", - "@mdit/plugin-sub": "^0.4.8", - "@mdit/plugin-sup": "^0.4.8", - "@mdit/plugin-tab": "^0.4.8", - "@mdit/plugin-tasklist": "^0.4.8", - "@mdit/plugin-tex": "^0.4.8", - "@mdit/plugin-uml": "^0.4.8", - "@types/js-yaml": "^4.0.5", - "@types/markdown-it": "^12.2.3", - "@vue/repl": "^1.5.0", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "balloon-css": "^1.2.0", - "chart.js": "^4.3.0", - "echarts": "^5.4.2", - "flowchart.ts": "^1.0.0", - "js-yaml": "^4.1.0", - "katex": "^0.16.7", - "markdown-it": "^13.0.1", - "mermaid": "10.2.3", - "reveal.js": "^4.5.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - }, - "dependencies": { - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - } - } - }, - "vuepress-plugin-photo-swipe": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-photo-swipe/-/vuepress-plugin-photo-swipe-2.0.0-beta.228.tgz", - "integrity": "sha512-dxxguqZS0fXpp0S9BPsdaWmkFs2FPWcJu8ltcQgSEvX8mj4V37zHOGa0jLk18ZttEwLY3j0cuvVZh5j9hXnnSw==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "photoswipe": "^5.3.7", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-pwa2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-pwa2/-/vuepress-plugin-pwa2-2.0.0-beta.228.tgz", - "integrity": "sha512-n6dtASnYUrzmbVXWC1/F+iLq8Ee6MmlT4lpNQEo28PJm44Z4K6Dy9A1/YQD62o/8iNrfWAiXRZWfGbd5KLmSMg==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "mitt": "^3.0.0", - "register-service-worker": "^1.7.2", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228", - "workbox-build": "^7.0.0" - } - }, - "vuepress-plugin-reading-time2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-reading-time2/-/vuepress-plugin-reading-time2-2.0.0-beta.228.tgz", - "integrity": "sha512-ui76gbezXvIDnE2kwbuw/1pWvnNu6/R9bUtv568tjQKGbTmI0qN+O44Zz+C8UboG71osW4JbeoZMIq7YWkqNOg==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "vue": "^3.3.4", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-rtl": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-rtl/-/vuepress-plugin-rtl-2.0.0-beta.228.tgz", - "integrity": "sha512-IRvDRKzMqnMMmNYIZ2+EvC4QWpngRb3SVX65MbhkUM3tSHVWWRrgBCW8Mq59ZpdUVNg/9u6wTzt0hUBopIBCrg==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vue": "^3.3.4", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-sass-palette": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-sass-palette/-/vuepress-plugin-sass-palette-2.0.0-beta.228.tgz", - "integrity": "sha512-MYhGOxWn/3JCnJpgJm7RfMDzpVuhjlOGILz3nHMEAoS8kYunqYmWxAz75ZlH6d5Xc+KPzwconviQ+3xuAx8nkg==", - "dev": true, - "requires": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "chokidar": "^3.5.3", - "sass": "^1.63.4", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-search-pro": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-search-pro/-/vuepress-plugin-search-pro-2.0.0-beta.228.tgz", - "integrity": "sha512-urkjXmqOWC3bEbcpFpN5fuF3TkQnSxhZqUwYV8TRTHEWtKIuGDw7gAwSQTTB/iV+CGeSQfb9EHGbGewOPVxaMw==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "cheerio": "1.0.0-rc.12", - "chokidar": "^3.5.3", - "slimsearch": "0.0.3", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-seo2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-seo2/-/vuepress-plugin-seo2-2.0.0-beta.228.tgz", - "integrity": "sha512-Ny9ZaZqvgE+0EPr/glgGMfd/jQPnwqOW8Zct/D7n1wtBS1ga4L4uKWeZK5pmpxcmCKM9omshchMZWdoZ3V95qQ==", - "dev": true, - "requires": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-plugin-sitemap2": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-plugin-sitemap2/-/vuepress-plugin-sitemap2-2.0.0-beta.228.tgz", - "integrity": "sha512-jtljsgr4qbr6brHGnd5gHAA6F/nqAm/qx5oXEmMCrstFmm5BFdj1hjeRGFY0bn6wqqwpUQZf+AI+l4j8FoFOHg==", - "dev": true, - "requires": { - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "sitemap": "^7.1.1", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-shared": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-shared/-/vuepress-shared-2.0.0-beta.228.tgz", - "integrity": "sha512-gwoAaGM6dzYJ004geaFwyfrjRlMg6iUrBCKZIs0ccZYpXLNZwFoxWyYpNjijbEky1B+E2ch6OnirWQ/aS7R7uQ==", - "dev": true, - "requires": { - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "cheerio": "1.0.0-rc.12", - "dayjs": "^1.11.8", - "execa": "^7.1.1", - "fflate": "^0.8.0", - "gray-matter": "^4.0.3", - "semver": "^7.5.2", - "striptags": "^3.2.0", - "vue": "^3.3.4", - "vue-router": "^4.2.2" - } - }, - "vuepress-theme-hope": { - "version": "2.0.0-beta.228", - "resolved": "https://registry.npmjs.org/vuepress-theme-hope/-/vuepress-theme-hope-2.0.0-beta.228.tgz", - "integrity": "sha512-sYzhVWDD/7GHV+dRZZZTnbSkIrRDB9FxVyfTt5ASX0oaGUuoNd6wyHOomWtX52dxzBA7FNNjk3Y4fHP4lL3P7w==", - "dev": true, - "requires": { - "@vuepress/cli": "2.0.0-beta.63", - "@vuepress/client": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/plugin-active-header-links": "2.0.0-beta.63", - "@vuepress/plugin-container": "2.0.0-beta.63", - "@vuepress/plugin-external-link-icon": "2.0.0-beta.63", - "@vuepress/plugin-git": "2.0.0-beta.63", - "@vuepress/plugin-nprogress": "2.0.0-beta.63", - "@vuepress/plugin-prismjs": "2.0.0-beta.63", - "@vuepress/plugin-theme-data": "2.0.0-beta.63", - "@vuepress/shared": "2.0.0-beta.63", - "@vuepress/utils": "2.0.0-beta.63", - "@vueuse/core": "^10.2.0", - "balloon-css": "^1.2.0", - "bcrypt-ts": "^3.0.1", - "cheerio": "1.0.0-rc.12", - "chokidar": "^3.5.3", - "gray-matter": "^4.0.3", - "vue": "^3.3.4", - "vue-router": "^4.2.2", - "vuepress-plugin-auto-catalog": "2.0.0-beta.228", - "vuepress-plugin-blog2": "2.0.0-beta.228", - "vuepress-plugin-comment2": "2.0.0-beta.228", - "vuepress-plugin-components": "2.0.0-beta.228", - "vuepress-plugin-copy-code2": "2.0.0-beta.228", - "vuepress-plugin-copyright2": "2.0.0-beta.228", - "vuepress-plugin-feed2": "2.0.0-beta.228", - "vuepress-plugin-md-enhance": "2.0.0-beta.228", - "vuepress-plugin-photo-swipe": "2.0.0-beta.228", - "vuepress-plugin-pwa2": "2.0.0-beta.228", - "vuepress-plugin-reading-time2": "2.0.0-beta.228", - "vuepress-plugin-rtl": "2.0.0-beta.228", - "vuepress-plugin-sass-palette": "2.0.0-beta.228", - "vuepress-plugin-seo2": "2.0.0-beta.228", - "vuepress-plugin-sitemap2": "2.0.0-beta.228", - "vuepress-shared": "2.0.0-beta.228" - } - }, - "vuepress-vite": { - "version": "2.0.0-beta.63", - "resolved": "https://registry.npmjs.org/vuepress-vite/-/vuepress-vite-2.0.0-beta.63.tgz", - "integrity": "sha512-TMPl/fQi6mqdHyz/NkZbkZHch4aFxmw+Um52vS09ryE4W4jDGK0CY+7nw8RuTkABN/02OzDoAqRaYfwZFXywFw==", - "dev": true, - "requires": { - "@vuepress/bundler-vite": "2.0.0-beta.63", - "@vuepress/cli": "2.0.0-beta.63", - "@vuepress/core": "2.0.0-beta.63", - "@vuepress/theme-default": "2.0.0-beta.63", - "vue": "^3.3.4" - } - }, - "watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "peer": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "web-worker": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.2.0.tgz", - "integrity": "sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==", - "dev": true - }, - "webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "webpack": { - "version": "5.88.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.88.0.tgz", - "integrity": "sha512-O3jDhG5e44qIBSi/P6KpcCcH7HD+nYIHVBhdWFxcLOcIGN8zGo5nqF3BjyNCxIh4p1vFdNnreZv2h2KkoAw3lw==", - "dev": true, - "peer": true, - "requires": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.0", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.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.9", - "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.7", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - } - }, - "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==", - "dev": true, - "peer": true - }, - "webworkify-webpack": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/webworkify-webpack/-/webworkify-webpack-2.1.5.tgz", - "integrity": "sha512-2akF8FIyUvbiBBdD+RoHpoTbHMQF2HwjcxfDvgztAX5YwbZNyrtfUMgvfgFVsgDhDPVTlkbb5vyasqDHfIDPQw==", - "dev": true - }, - "whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "requires": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", - "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", - "dev": true - }, - "which-typed-array": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", - "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" - } - }, - "wicked-good-xpath": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wicked-good-xpath/-/wicked-good-xpath-1.3.0.tgz", - "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==", - "dev": true - }, - "workbox-background-sync": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.0.0.tgz", - "integrity": "sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==", - "dev": true, - "requires": { - "idb": "^7.0.1", - "workbox-core": "7.0.0" - } - }, - "workbox-broadcast-update": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.0.0.tgz", - "integrity": "sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==", - "dev": true, - "requires": { - "workbox-core": "7.0.0" - } - }, - "workbox-build": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.0.0.tgz", - "integrity": "sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==", - "dev": true, - "requires": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "7.0.0", - "workbox-broadcast-update": "7.0.0", - "workbox-cacheable-response": "7.0.0", - "workbox-core": "7.0.0", - "workbox-expiration": "7.0.0", - "workbox-google-analytics": "7.0.0", - "workbox-navigation-preload": "7.0.0", - "workbox-precaching": "7.0.0", - "workbox-range-requests": "7.0.0", - "workbox-recipes": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0", - "workbox-streams": "7.0.0", - "workbox-sw": "7.0.0", - "workbox-window": "7.0.0" - }, - "dependencies": { - "@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", - "dev": true, - "requires": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" - } - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - } - }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - } - }, - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - } - }, - "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, - "requires": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - } - }, - "json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.8" - } - }, - "rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - }, - "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==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - } - }, - "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, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dev": true, - "requires": { - "whatwg-url": "^7.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - } - } - }, - "workbox-cacheable-response": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.0.0.tgz", - "integrity": "sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==", - "dev": true, - "requires": { - "workbox-core": "7.0.0" - } - }, - "workbox-core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.0.0.tgz", - "integrity": "sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==", - "dev": true - }, - "workbox-expiration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.0.0.tgz", - "integrity": "sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==", - "dev": true, - "requires": { - "idb": "^7.0.1", - "workbox-core": "7.0.0" - } - }, - "workbox-google-analytics": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.0.0.tgz", - "integrity": "sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==", - "dev": true, - "requires": { - "workbox-background-sync": "7.0.0", - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" - } - }, - "workbox-navigation-preload": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.0.0.tgz", - "integrity": "sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==", - "dev": true, - "requires": { - "workbox-core": "7.0.0" - } - }, - "workbox-precaching": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.0.0.tgz", - "integrity": "sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==", - "dev": true, - "requires": { - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" - } - }, - "workbox-range-requests": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.0.0.tgz", - "integrity": "sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==", - "dev": true, - "requires": { - "workbox-core": "7.0.0" - } - }, - "workbox-recipes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.0.0.tgz", - "integrity": "sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==", - "dev": true, - "requires": { - "workbox-cacheable-response": "7.0.0", - "workbox-core": "7.0.0", - "workbox-expiration": "7.0.0", - "workbox-precaching": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" - } - }, - "workbox-routing": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.0.0.tgz", - "integrity": "sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==", - "dev": true, - "requires": { - "workbox-core": "7.0.0" - } - }, - "workbox-strategies": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.0.0.tgz", - "integrity": "sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==", - "dev": true, - "requires": { - "workbox-core": "7.0.0" - } - }, - "workbox-streams": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.0.0.tgz", - "integrity": "sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==", - "dev": true, - "requires": { - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0" - } - }, - "workbox-sw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.0.0.tgz", - "integrity": "sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==", - "dev": true - }, - "workbox-window": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.0.0.tgz", - "integrity": "sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==", - "dev": true, - "requires": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "7.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "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 - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "dev": true, - "requires": { - "sax": "^1.2.4" - }, - "dependencies": { - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - } - } - }, - "xmldom-sre": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/xmldom-sre/-/xmldom-sre-0.1.31.tgz", - "integrity": "sha512-f9s+fUkX04BxQf+7mMWAp5zk61pciie+fFLC9hX9UVvCeJQfNHRHXpeo5MPcR0EUf57PYLdt+ZO4f3Ipk2oZUw==", - "dev": true - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", - "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", - "dev": true - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "zrender": { - "version": "5.4.3", - "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz", - "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==", - "dev": true, - "requires": { - "tslib": "2.3.0" - } - } - } -} diff --git a/package.json b/package.json index 4b2cd856..0a88a068 100644 --- a/package.json +++ b/package.json @@ -4,20 +4,30 @@ "description": "Zotero 中文手册", "license": "MIT", "type": "module", + "packageManager": "pnpm@8.11.0", "scripts": { - "docs:build": "vuepress build src", - "docs:clean-dev": "vuepress dev src --clean-cache", "docs:dev": "vuepress dev src", + "docs:clean-dev": "vuepress dev src --clean-cache", "docs:dev-debug": "vuepress dev src --debug", + "docs:build": "vuepress build src", + "lint:prettier": "prettier --write .", + "lint:md": "markdownlint-cli2-fix src/**/*.md", "docs:update-package": "npx vp-update", - "lint:md": "markdownlint-cli2-fix src/**/*.md" + "prepare": "husky install" }, "devDependencies": { - "@vuepress/client": "2.0.0-beta.63", - "markdownlint-cli2": "^0.7.1", - "vue": "^3.3.4", - "vuepress": "2.0.0-beta.63", - "vuepress-plugin-search-pro": "2.0.0-beta.228", - "vuepress-theme-hope": "2.0.0-beta.228" + "@vuepress/client": "2.0.0-rc.0", + "husky": "^8.0.0", + "lint-staged": "^15.1.0", + "markdownlint-cli2": "^0.10.0", + "mermaid": "^10.6.1", + "prettier": "2.8.8", + "vue": "^3.3.9", + "vuepress": "2.0.0-rc.0", + "vuepress-plugin-search-pro": "2.0.0-rc.0", + "vuepress-theme-hope": "2.0.0-rc.0" + }, + "lint-staged": { + "*.md": "prettier --write" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..cc42dda8 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,6808 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +devDependencies: + '@vuepress/client': + specifier: 2.0.0-rc.0 + version: 2.0.0-rc.0 + husky: + specifier: ^8.0.0 + version: 8.0.3 + lint-staged: + specifier: ^15.1.0 + version: 15.1.0 + markdownlint-cli2: + specifier: ^0.10.0 + version: 0.10.0 + mermaid: + specifier: ^10.6.1 + version: 10.6.1 + prettier: + specifier: 2.8.8 + version: 2.8.8 + vue: + specifier: ^3.3.9 + version: 3.3.9 + vuepress: + specifier: 2.0.0-rc.0 + version: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-search-pro: + specifier: 2.0.0-rc.0 + version: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-theme-hope: + specifier: 2.0.0-rc.0 + version: 2.0.0-rc.0(@types/js-yaml@4.0.9)(mermaid@10.6.1)(vuepress@2.0.0-rc.0) + +packages: + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): + resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} + engines: {node: '>=10'} + peerDependencies: + ajv: '>=8' + dependencies: + ajv: 8.12.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: true + + /@babel/code-frame@7.23.4: + resolution: {integrity: sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + dev: true + + /@babel/compat-data@7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.4 + '@babel/generator': 7.23.4 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helpers': 7.23.4 + '@babel/parser': 7.23.4 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.4 + '@babel/types': 7.23.4 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.23.4: + resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-compilation-targets@7.22.15: + resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/helper-validator-option': 7.22.15 + browserslist: 4.22.1 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: true + + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.3): + resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + dev: true + + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): + resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.22.15: + resolution: {integrity: sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-wrap-function@7.22.20: + resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.22.15 + '@babel/types': 7.23.4 + dev: true + + /@babel/helpers@7.23.4: + resolution: {integrity: sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.4 + '@babel/types': 7.23.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.23.4: + resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3): + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.3): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.3): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.3): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.3): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-classes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + dev: true + + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.22.15 + dev: true + + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + dev: true + + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + dev: true + + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.3): + resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.3): + resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + dev: true + + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + dev: true + + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true + + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/preset-env@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-compilation-targets': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.22.15 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.3) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-generator-functions': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-classes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.3) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.3) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.3) + babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.3) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.3): + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/types': 7.23.4 + esutils: 2.0.3 + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.23.4: + resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.0 + dev: true + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.4 + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + dev: true + + /@babel/traverse@7.23.4: + resolution: {integrity: sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.4 + '@babel/generator': 7.23.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.23.4: + resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@braintree/sanitize-url@6.0.4: + resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} + dev: true + + /@esbuild/android-arm64@0.19.7: + resolution: {integrity: sha512-YEDcw5IT7hW3sFKZBkCAQaOCJQLONVcD4bOyTXMZz5fr66pTHnAet46XAtbXAkJRfIn2YVhdC6R9g4xa27jQ1w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.7: + resolution: {integrity: sha512-YGSPnndkcLo4PmVl2tKatEn+0mlVMr3yEpOOT0BeMria87PhvoJb5dg5f5Ft9fbCVgtAz4pWMzZVgSEGpDAlww==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.7: + resolution: {integrity: sha512-jhINx8DEjz68cChFvM72YzrqfwJuFbfvSxZAk4bebpngGfNNRm+zRl4rtT9oAX6N9b6gBcFaJHFew5Blf6CvUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.7: + resolution: {integrity: sha512-dr81gbmWN//3ZnBIm6YNCl4p3pjnabg1/ZVOgz2fJoUO1a3mq9WQ/1iuEluMs7mCL+Zwv7AY5e3g1hjXqQZ9Iw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.7: + resolution: {integrity: sha512-Lc0q5HouGlzQEwLkgEKnWcSazqr9l9OdV2HhVasWJzLKeOt0PLhHaUHuzb8s/UIya38DJDoUm74GToZ6Wc7NGQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.7: + resolution: {integrity: sha512-+y2YsUr0CxDFF7GWiegWjGtTUF6gac2zFasfFkRJPkMAuMy9O7+2EH550VlqVdpEEchWMynkdhC9ZjtnMiHImQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.7: + resolution: {integrity: sha512-CdXOxIbIzPJmJhrpmJTLx+o35NoiKBIgOvmvT+jeSadYiWJn0vFKsl+0bSG/5lwjNHoIDEyMYc/GAPR9jxusTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.7: + resolution: {integrity: sha512-inHqdOVCkUhHNvuQPT1oCB7cWz9qQ/Cz46xmVe0b7UXcuIJU3166aqSunsqkgSGMtUCWOZw3+KMwI6otINuC9g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.7: + resolution: {integrity: sha512-Y+SCmWxsJOdQtjcBxoacn/pGW9HDZpwsoof0ttL+2vGcHokFlfqV666JpfLCSP2xLxFpF1lj7T3Ox3sr95YXww==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.7: + resolution: {integrity: sha512-2BbiL7nLS5ZO96bxTQkdO0euGZIUQEUXMTrqLxKUmk/Y5pmrWU84f+CMJpM8+EHaBPfFSPnomEaQiG/+Gmh61g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.7: + resolution: {integrity: sha512-BVFQla72KXv3yyTFCQXF7MORvpTo4uTA8FVFgmwVrqbB/4DsBFWilUm1i2Oq6zN36DOZKSVUTb16jbjedhfSHw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.7: + resolution: {integrity: sha512-DzAYckIaK+pS31Q/rGpvUKu7M+5/t+jI+cdleDgUwbU7KdG2eC3SUbZHlo6Q4P1CfVKZ1lUERRFP8+q0ob9i2w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.7: + resolution: {integrity: sha512-JQ1p0SmUteNdUaaiRtyS59GkkfTW0Edo+e0O2sihnY4FoZLz5glpWUQEKMSzMhA430ctkylkS7+vn8ziuhUugQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.7: + resolution: {integrity: sha512-xGwVJ7eGhkprY/nB7L7MXysHduqjpzUl40+XoYDGC4UPLbnG+gsyS1wQPJ9lFPcxYAaDXbdRXd1ACs9AE9lxuw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.7: + resolution: {integrity: sha512-U8Rhki5PVU0L0nvk+E8FjkV8r4Lh4hVEb9duR6Zl21eIEYEwXz8RScj4LZWA2i3V70V4UHVgiqMpszXvG0Yqhg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.7: + resolution: {integrity: sha512-ZYZopyLhm4mcoZXjFt25itRlocKlcazDVkB4AhioiL9hOWhDldU9n38g62fhOI4Pth6vp+Mrd5rFKxD0/S+7aQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.7: + resolution: {integrity: sha512-/yfjlsYmT1O3cum3J6cmGG16Fd5tqKMcg5D+sBYLaOQExheAJhqr8xOAEIuLo8JYkevmjM5zFD9rVs3VBcsjtQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.7: + resolution: {integrity: sha512-MYDFyV0EW1cTP46IgUJ38OnEY5TaXxjoDmwiTXPjezahQgZd+j3T55Ht8/Q9YXBM0+T9HJygrSRGV5QNF/YVDQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.7: + resolution: {integrity: sha512-JcPvgzf2NN/y6X3UUSqP6jSS06V0DZAV/8q0PjsZyGSXsIGcG110XsdmuWiHM+pno7/mJF6fjH5/vhUz/vA9fw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.7: + resolution: {integrity: sha512-ZA0KSYti5w5toax5FpmfcAgu3ZNJxYSRm0AW/Dao5up0YV1hDVof1NvwLomjEN+3/GMtaWDI+CIyJOMTRSTdMw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.7: + resolution: {integrity: sha512-CTOnijBKc5Jpk6/W9hQMMvJnsSYRYgveN6O75DTACCY18RA2nqka8dTZR+x/JqXCRiKk84+5+bRKXUSbbwsS0A==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.7: + resolution: {integrity: sha512-gRaP2sk6hc98N734luX4VpF318l3w+ofrtTu9j5L8EQXF+FzQKV6alCOHMVoJJHvVK/mGbwBXfOL1HETQu9IGQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/source-map@0.3.5: + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.20 + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.20: + resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@lit-labs/ssr-dom-shim@1.1.2: + resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} + dev: true + + /@lit/reactive-element@1.6.3: + resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} + dependencies: + '@lit-labs/ssr-dom-shim': 1.1.2 + dev: true + + /@mdit-vue/plugin-component@1.0.0: + resolution: {integrity: sha512-ZXsJwxkG5yyTHARIYbR74cT4AZ0SfMokFFjiHYCbypHIeYWgJhso4+CZ8+3V9EWFG3EHlGoKNGqKp9chHnqntQ==} + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit-vue/plugin-frontmatter@1.0.0: + resolution: {integrity: sha512-MMA7Ny+YPZA7eDOY1t4E+rKuEWO39mzDdP/M68fKdXJU6VfcGkPr7gnpnJfW2QBJ5qIvMrK/3lDAA2JBy5TfpA==} + dependencies: + '@mdit-vue/types': 1.0.0 + '@types/markdown-it': 13.0.7 + gray-matter: 4.0.3 + markdown-it: 13.0.2 + dev: true + + /@mdit-vue/plugin-headers@1.0.0: + resolution: {integrity: sha512-0rK/iKy6x13d/Pp5XxdLBshTD0+YjZvtHIaIV+JO+/H2WnOv7oaRgs48G5d44z3XJVUE2u6fNnTlI169fef0/A==} + dependencies: + '@mdit-vue/shared': 1.0.0 + '@mdit-vue/types': 1.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit-vue/plugin-sfc@1.0.0: + resolution: {integrity: sha512-agMUe0fY4YHxsZivSvplBwRwrFvsIf/JNUJCAYq1+2Sg9+2hviTBZwjZDxYqHDHOVLtiNr+wuo68tE24mAx3AQ==} + dependencies: + '@mdit-vue/types': 1.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit-vue/plugin-title@1.0.0: + resolution: {integrity: sha512-8yC60fCZ95xcJ/cvJH4Lv43Rs4k+33UGyKrRWj5J8TNyMwUyGcwur0XyPM+ffJH4/Bzq4myZLsj/TTFSkXRxvw==} + dependencies: + '@mdit-vue/shared': 1.0.0 + '@mdit-vue/types': 1.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit-vue/plugin-toc@1.0.0: + resolution: {integrity: sha512-WN8blfX0X/5Nolic0ClDWP7eVo9IB+U4g0jbycX3lolIZX5Bai1UpsD3QYZr5VVsPbQJMKMGvTrCEtCNTGvyWQ==} + dependencies: + '@mdit-vue/shared': 1.0.0 + '@mdit-vue/types': 1.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit-vue/shared@1.0.0: + resolution: {integrity: sha512-nbYBfmEi+pR2Lm0Z6TMVX2/iBjfr/kGEsHW8CC0rQw+3+sG5dY6VG094HuFAkiAmmvZx9DZZb+7ZMWp9vkwCRw==} + dependencies: + '@mdit-vue/types': 1.0.0 + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit-vue/types@1.0.0: + resolution: {integrity: sha512-xeF5+sHLzRNF7plbksywKCph4qli20l72of2fMlZQQ7RECvXYrRkE9+bjRFQCyULC7B8ydUYbpbkux5xJlVWyw==} + dev: true + + /@mdit/plugin-align@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-Grg8LuEaJpY74Imd7HEVUTQc8qaq9FM9ntuNILkikguyodBoz1UYEYH6iULaoKbp8N5HphoQh74jq9rTbPjdYQ==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@mdit/plugin-container': 0.6.5(markdown-it@13.0.2) + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-attrs@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-53CMAw/DJ7/bpDG4VVfB6Pq5wm77W6Suv1dFMb0WyfcM8u4nWbd0tCrIXlf0Gj4X/4C8oM5bGtOOLU/xxxgLUA==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-container@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-OEZv3vPzAGxH6OYHI1QVbn+yHdYap3T0ryG1Lzvd498Y4JHUGmHj69LWsKfSDmqKtVq/k4o/XbFwafxwQ/OFxQ==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-demo@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-lUx8fONmZYPg56UnEZjznPHaK/sTL5haY9uOjWCM+42WTKCVQrnsJcCMnJIKd88BROBSP+BdyHzrUxWR9ZSS2g==} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-figure@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-bwgOB3noaJ9CEWdQkIdpkCbxVdv+amS/KkmzeGxK/ut3vflyppeVSif/aiFX9Jo3Y3RZqe3xXajQ7E7bs9DGjQ==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-footnote@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-71zsfKwI90NVmbBv4I1cD4alyFFuW46NLgx06rKTETOseLX5fkGxC4tta2KdZcY0Bd7dvFdZVtUv91in2I3rcg==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-img-lazyload@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-Bed8x88W3boXEOtWDvADqLeJ4rbTxJgpHt882eycGbYGHD6Q4mtJnZOfT1GYrxiPpHtZTpxtGR1AkOV5gW3X0A==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-img-mark@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-qlD/9Kd6EJRdP4pRkg24RffMWsbBOGbwIJiDwFoDtSYO/z0UN3NEZTC603TjufP2lAb4Vqgkq4X1pkV14/28kw==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-img-size@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-rPHt7dr/rlCxzGbBlL2hf8OtCT1F8nZw4MRXB971EX8gAjw1svrZKQBSwSppZt7MHzwPYRH1wRbO8kjhUh+7JQ==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-include@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-2IJV+nhrLxMRKl4QcbyMrK1i8Yp4KfDXiadMJrxSSyZwHu9PP49a4DAbzaE2J2aVI0AvTkg/LLQRZqQkWKtCCA==} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + upath: 2.0.1 + dev: true + + /@mdit/plugin-katex@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-viAovlZhZTske9GqDEyMbibCebdykASJt0Yx182w6GjM4XNuuvsfDqWFe3yANQN7CMTNfYxfaJ/ZSO2UnEc5Lg==} + engines: {node: '>= 18'} + peerDependencies: + katex: ^0.16.9 + markdown-it: ^13.0.2 + peerDependenciesMeta: + katex: + optional: true + markdown-it: + optional: true + dependencies: + '@mdit/plugin-tex': 0.6.5(markdown-it@13.0.2) + '@types/katex': 0.16.7 + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-mark@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-sXIDGlEqoH4iByXMmSW+kg/E/KO4bOv3lHbztu9MGBIIrdOtoZ6PcBNYTNEBynlCIMvLrwa3g7HKxAQT59fHkQ==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-mathjax@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-c2bslbe+z/cRd46aRzD/EumCdUejP49sCwwTAxB7JWjwiDCWO882q/OICrrqjWk+j7qxBFe0lFQwRXWHthCPGg==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + mathjax-full: ^3.2.2 + peerDependenciesMeta: + markdown-it: + optional: true + mathjax-full: + optional: true + dependencies: + '@mdit/plugin-tex': 0.6.5(markdown-it@13.0.2) + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + upath: 2.0.1 + dev: true + + /@mdit/plugin-stylize@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-qQJAzY4FpNeYZk9Wqb0qjtAaJd4aqllmXRts9TpfqGlpdH1HPiSPy+qAq4hs1OnMwimerlJ0tLtn1vFcc1CayQ==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-sub@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-ktzYk0eVHQ1pnZMELKuiI2AEFdCCjHgZNHO/rR2VOsF9OGWiLwtzUM0e+S6pbuY66ui/UxWpyXbZIpSnGhsBdA==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-sup@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-KYCz0PBdVRZn+ke1wiwNZV4ofJvUgad95/T5epwNNi7yW+CbVGVbKkEMVu0pxfNbFCokIy3J6MIWNUqXcacd5Q==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-tab@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-QoyW3rUw3DBBjeoqp5bLsBzNXuqhZ+zY02MC7mKHqUrACgt+Ui3QKmCSwjbO0fL2k3eDERa85QeIFYjXoS/7iA==} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-tasklist@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-Eh5946hQrR+rOhvbOKN3lmFYK77R4UuLkE8NwZeyGrqaKvbZzdTKkPAr+Use87Fnxm7xOhcJiQuC62wQ+k+AKg==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-tex@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-Le8XCodPiN9+gH2dtWH1CKrH7/dMQuz0M8hAZk/2j2w7TTaMb0x622ELCvIgSlnq8xk0mdBphVa3iZ2AyS9evg==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@mdit/plugin-uml@0.6.5(markdown-it@13.0.2): + resolution: {integrity: sha512-xWB03mUnzrHE13Rv7ke6Mlw6b33hTB/GNqb+Z5L6vYFHSM3tAbxhZQIlxJ69hQuAh/mJkrY59JYKSxIbk2u6XA==} + engines: {node: '>= 18'} + peerDependencies: + markdown-it: ^13.0.2 + peerDependenciesMeta: + markdown-it: + optional: true + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@rollup/plugin-babel@5.3.1(@babel/core@7.23.3)(rollup@2.79.1): + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-module-imports': 7.22.15 + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + rollup: 2.79.1 + dev: true + + /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + '@types/resolve': 1.17.1 + builtin-modules: 3.3.0 + deepmerge: 4.3.1 + is-module: 1.0.0 + resolve: 1.22.8 + rollup: 2.79.1 + dev: true + + /@rollup/plugin-replace@2.4.2(rollup@2.79.1): + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + dependencies: + '@rollup/pluginutils': 3.1.0(rollup@2.79.1) + magic-string: 0.25.9 + rollup: 2.79.1 + dev: true + + /@rollup/pluginutils@3.1.0(rollup@2.79.1): + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.1 + rollup: 2.79.1 + dev: true + + /@rollup/rollup-android-arm-eabi@4.5.2: + resolution: {integrity: sha512-ee7BudTwwrglFYSc3UnqInDDjCLWHKrFmGNi4aK7jlEyg4CyPa1DCMrZfsN1O13YT76UFEqXz2CoN7BCGpUlJw==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.5.2: + resolution: {integrity: sha512-xOuhj9HHtn8128ir8veoQsBbAUBasDbHIBniYTEx02pAmu9EXL+ZjJqngnNEy6ZgZ4h1JwL33GMNu3yJL5Mzow==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.5.2: + resolution: {integrity: sha512-NTGJWoL8bKyqyWFn9/RzSv4hQ4wTbaAv0lHHRwf4OnpiiP4P8W0jiXbm8Nc5BCXKmWAwuvJY82mcIU2TayC20g==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.5.2: + resolution: {integrity: sha512-hlKqj7bpPvU15sZo4za14u185lpMzdwWLMc9raMqPK4wywt0wR23y1CaVQ4oAFXat3b5/gmRntyfpwWTKl+vvA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.5.2: + resolution: {integrity: sha512-7ZIZx8c3u+pfI0ohQsft/GywrXez0uR6dUP0JhBuCK3sFO5TfdLn/YApnVkvPxuTv3+YKPIZend9Mt7Cz6sS3Q==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.5.2: + resolution: {integrity: sha512-7Pk/5mO11JW/cH+a8lL/i0ZxmRGrbpYqN0VwO2DHhU+SJWWOH2zE1RAcPaj8KqiwC8DCDIJOSxjV9+9lLb6aeA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.5.2: + resolution: {integrity: sha512-KrRnuG5phJx756e62wxvWH2e+TK84MP2IVuPwfge+GBvWqIUfVzFRn09TKruuQBXzZp52Vyma7FjMDkwlA9xpg==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.5.2: + resolution: {integrity: sha512-My+53GasPa2D2tU5dXiyHYwrELAUouSfkNlZ3bUKpI7btaztO5vpALEs3mvFjM7aKTvEbc7GQckuXeXIDKQ0fg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.5.2: + resolution: {integrity: sha512-/f0Q6Sc+Vw54Ws6N8fxaEe4R7at3b8pFyv+O/F2VaQ4hODUJcRUcCBJh6zuqtgQQt7w845VTkGLFgWZkP3tUoQ==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.5.2: + resolution: {integrity: sha512-NCKuuZWLht6zj7s6EIFef4BxCRX1GMr83S2W4HPCA0RnJ4iHE4FS1695q6Ewoa6A9nFjJe1//yUu0kgBU07Edw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.5.2: + resolution: {integrity: sha512-J5zL3riR4AOyU/J3M/i4k/zZ8eP1yT+nTmAKztCXJtnI36jYH0eepvob22mAQ/kLwfsK2TB6dbyVY1F8c/0H5A==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.5.2: + resolution: {integrity: sha512-pL0RXRHuuGLhvs7ayX/SAHph1hrDPXOM5anyYUQXWJEENxw3nfHkzv8FfVlEVcLyKPAEgDRkd6RKZq2SMqS/yg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sindresorhus/merge-streams@1.0.0: + resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==} + engines: {node: '>=18'} + dev: true + + /@stackblitz/sdk@1.9.0: + resolution: {integrity: sha512-3m6C7f8pnR5KXys/Hqx2x6ylnpqOak6HtnZI6T5keEO0yT+E4Spkw37VEbdwuC+2oxmjdgq6YZEgiKX7hM1GmQ==} + dev: true + + /@surma/rollup-plugin-off-main-thread@2.2.3: + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + dependencies: + ejs: 3.1.9 + json5: 2.2.3 + magic-string: 0.25.9 + string.prototype.matchall: 4.0.10 + dev: true + + /@types/d3-scale-chromatic@3.0.3: + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + dev: true + + /@types/d3-scale@4.0.8: + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + dependencies: + '@types/d3-time': 3.0.3 + dev: true + + /@types/d3-time@3.0.3: + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + dev: true + + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + dependencies: + '@types/ms': 0.7.34 + dev: true + + /@types/estree@0.0.39: + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + dev: true + + /@types/fs-extra@11.0.4: + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 20.10.0 + dev: true + + /@types/hash-sum@1.0.2: + resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==} + dev: true + + /@types/js-yaml@4.0.9: + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + dev: true + + /@types/jsonfile@6.1.4: + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + dependencies: + '@types/node': 20.10.0 + dev: true + + /@types/katex@0.16.7: + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + dev: true + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/markdown-it-emoji@2.0.4: + resolution: {integrity: sha512-H6ulk/ZmbDxOayPwI/leJzrmoW1YKX1Z+MVSCHXuYhvqckV4I/c+hPTf6UiqJyn2avWugfj30XroheEb6/Ekqg==} + dependencies: + '@types/markdown-it': 13.0.7 + dev: true + + /@types/markdown-it@13.0.7: + resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: true + + /@types/mdast@3.0.15: + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + dependencies: + '@types/unist': 2.0.10 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: true + + /@types/node@17.0.45: + resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + dev: true + + /@types/node@20.10.0: + resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} + dependencies: + undici-types: 5.26.5 + dev: true + + /@types/resolve@1.17.1: + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + dependencies: + '@types/node': 20.10.0 + dev: true + + /@types/sax@1.2.7: + resolution: {integrity: sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==} + dependencies: + '@types/node': 17.0.45 + dev: true + + /@types/trusted-types@2.0.7: + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + dev: true + + /@types/unist@2.0.10: + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + dev: true + + /@types/web-bluetooth@0.0.20: + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + dev: true + + /@vitejs/plugin-vue@4.5.0(vite@5.0.2)(vue@3.3.9): + resolution: {integrity: sha512-a2WSpP8X8HTEww/U00bU4mX1QpLINNuz/2KMNpLsdu3BzOpak3AGI1CJYBTXcc4SPhaD0eNRUp7IyQK405L5dQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.2.25 + dependencies: + vite: 5.0.2 + vue: 3.3.9 + dev: true + + /@vue/compiler-core@3.3.9: + resolution: {integrity: sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ==} + dependencies: + '@babel/parser': 7.23.4 + '@vue/shared': 3.3.9 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-dom@3.3.9: + resolution: {integrity: sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg==} + dependencies: + '@vue/compiler-core': 3.3.9 + '@vue/shared': 3.3.9 + dev: true + + /@vue/compiler-sfc@3.3.9: + resolution: {integrity: sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A==} + dependencies: + '@babel/parser': 7.23.4 + '@vue/compiler-core': 3.3.9 + '@vue/compiler-dom': 3.3.9 + '@vue/compiler-ssr': 3.3.9 + '@vue/reactivity-transform': 3.3.9 + '@vue/shared': 3.3.9 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.31 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-ssr@3.3.9: + resolution: {integrity: sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g==} + dependencies: + '@vue/compiler-dom': 3.3.9 + '@vue/shared': 3.3.9 + dev: true + + /@vue/devtools-api@6.5.1: + resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} + dev: true + + /@vue/reactivity-transform@3.3.9: + resolution: {integrity: sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg==} + dependencies: + '@babel/parser': 7.23.4 + '@vue/compiler-core': 3.3.9 + '@vue/shared': 3.3.9 + estree-walker: 2.0.2 + magic-string: 0.30.5 + dev: true + + /@vue/reactivity@3.3.9: + resolution: {integrity: sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw==} + dependencies: + '@vue/shared': 3.3.9 + dev: true + + /@vue/runtime-core@3.3.9: + resolution: {integrity: sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w==} + dependencies: + '@vue/reactivity': 3.3.9 + '@vue/shared': 3.3.9 + dev: true + + /@vue/runtime-dom@3.3.9: + resolution: {integrity: sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ==} + dependencies: + '@vue/runtime-core': 3.3.9 + '@vue/shared': 3.3.9 + csstype: 3.1.2 + dev: true + + /@vue/server-renderer@3.3.9(vue@3.3.9): + resolution: {integrity: sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A==} + peerDependencies: + vue: 3.3.9 + dependencies: + '@vue/compiler-ssr': 3.3.9 + '@vue/shared': 3.3.9 + vue: 3.3.9 + dev: true + + /@vue/shared@3.3.9: + resolution: {integrity: sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA==} + dev: true + + /@vuepress/bundler-vite@2.0.0-rc.0: + resolution: {integrity: sha512-rX8S8IYpqqlJfNPstS/joorpxXx/4WuE7+gDM31i2HUrxOKGZVzq8ZsRRRU2UdoTwHZSd3LpUS4sMtxE5xLK1A==} + dependencies: + '@vitejs/plugin-vue': 4.5.0(vite@5.0.2)(vue@3.3.9) + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + autoprefixer: 10.4.16(postcss@8.4.31) + connect-history-api-fallback: 2.0.0 + postcss: 8.4.31 + postcss-load-config: 4.0.2(postcss@8.4.31) + rollup: 4.5.2 + vite: 5.0.2 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + transitivePeerDependencies: + - '@types/node' + - '@vue/composition-api' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + - ts-node + - typescript + dev: true + + /@vuepress/cli@2.0.0-rc.0: + resolution: {integrity: sha512-XWSIFO9iOR7N4O2lXIwS5vZuLjU9WU/aGAtmhMWEMxrdMx7TQaJbgrfpTUEbHMf+cPI1DXBbUbtmkqIvtfOV0w==} + hasBin: true + dependencies: + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + cac: 6.7.14 + chokidar: 3.5.3 + envinfo: 7.11.0 + esbuild: 0.19.7 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/client@2.0.0-rc.0: + resolution: {integrity: sha512-TwQx8hJgYONYxX+QltZ2aw9O5Ym6SKelfiUduuIRb555B1gece/jSVap3H/ZwyBhpgJMtG4+/Mrmf8nlDSHjvw==} + dependencies: + '@vue/devtools-api': 6.5.1 + '@vuepress/shared': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + transitivePeerDependencies: + - '@vue/composition-api' + - typescript + dev: true + + /@vuepress/core@2.0.0-rc.0: + resolution: {integrity: sha512-uoOaZP1MdxZYJIAJcRcmYKKeCIVnxZeOuLMOOB9CPuAKSalT1RvJ1lztw6RX3q9SPnlqtSZPQXDncPAZivw4pA==} + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/markdown': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + vue: 3.3.9 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/markdown@2.0.0-rc.0: + resolution: {integrity: sha512-USmqdKKMT6ZFHYRztTjKUlO8qgGfnEygMAAq4AzC/uYXiEfrbMBLAWJhteyGS56P3rGLj0OPAhksE681bX/wOg==} + dependencies: + '@mdit-vue/plugin-component': 1.0.0 + '@mdit-vue/plugin-frontmatter': 1.0.0 + '@mdit-vue/plugin-headers': 1.0.0 + '@mdit-vue/plugin-sfc': 1.0.0 + '@mdit-vue/plugin-title': 1.0.0 + '@mdit-vue/plugin-toc': 1.0.0 + '@mdit-vue/shared': 1.0.0 + '@mdit-vue/types': 1.0.0 + '@types/markdown-it': 13.0.7 + '@types/markdown-it-emoji': 2.0.4 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + markdown-it: 13.0.2 + markdown-it-anchor: 8.6.7(@types/markdown-it@13.0.7)(markdown-it@13.0.2) + markdown-it-emoji: 2.0.2 + mdurl: 1.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@vuepress/plugin-active-header-links@2.0.0-rc.0: + resolution: {integrity: sha512-UJdXLYNGL5Wjy5YGY8M2QgqT75bZ95EHebbqGi8twBdIJE9O+bM+dPJyYtAk2PIVqFORiw3Hj+PchsNSxdn9+g==} + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + ts-debounce: 4.0.0 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-back-to-top@2.0.0-rc.0: + resolution: {integrity: sha512-6GPfuzV5lkAnR00BxRUhqMXwMWt741alkq2R6bln4N8BneSOwEpX/7vi19MGf232aKdS/Va4pF5p0/nJ8Sed/g==} + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + ts-debounce: 4.0.0 + vue: 3.3.9 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-container@2.0.0-rc.0: + resolution: {integrity: sha512-b7vrLN11YE7qiUDPfA3N9P7Z8fupe9Wbcr9KAE/bmfZ9VT4d6kzpVyoU7XHi99XngitsmnkaXP4aBvBF1c2AnA==} + dependencies: + '@types/markdown-it': 13.0.7 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/markdown': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + markdown-it: 13.0.2 + markdown-it-container: 3.0.0 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-external-link-icon@2.0.0-rc.0: + resolution: {integrity: sha512-o8bk0oIlj/BkKc02mq91XLDloq1VOz/8iNcRwKAeqBE6svXzdYiyoTGet0J/4iPuAetsCn75S57W6RioDJHMnQ==} + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/markdown': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + vue: 3.3.9 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-git@2.0.0-rc.0: + resolution: {integrity: sha512-r7UF77vZxaYeJQLygzodKv+15z3/dTLuGp4VcYO21W6BlJZvd4u9zqgiV7A//bZQvK4+3Hprylr0G3KgXqMewA==} + dependencies: + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + execa: 8.0.1 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-medium-zoom@2.0.0-rc.0: + resolution: {integrity: sha512-peU1lYKsmKikIe/0pkJuHzD/k6xW2TuqdvKVhV4I//aOE1WxsREKJ4ACcldmoIsnysoDydAUqKT6xDPGyDsH2g==} + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + medium-zoom: 1.1.0 + vue: 3.3.9 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-nprogress@2.0.0-rc.0: + resolution: {integrity: sha512-rI+eK0Pg1KiZE+7hGmDUeSbgdWCid8Vnw0hFKNmjinDzGVmx4m03M6qfvclsI0SryH+lR7itZGLaR4gbTlrz/w==} + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-palette@2.0.0-rc.0: + resolution: {integrity: sha512-wW70SCp3/K7s1lln5YQsBGTog2WXaQv5piva5zhXcQ47YGf4aAJpThDa5C/ot4HhkPOKn8Iz5s0ckxXZzW8DIg==} + dependencies: + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + chokidar: 3.5.3 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-prismjs@2.0.0-rc.0: + resolution: {integrity: sha512-c5WRI7+FhVjdbymOKQ8F2KY/Bnv7aQtWScVk8vCMUimNi7v7Wff/A/i3KSFNz/tge3LxiAeH/Dc2WS/OnQXwCg==} + dependencies: + '@vuepress/core': 2.0.0-rc.0 + prismjs: 1.29.0 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/plugin-theme-data@2.0.0-rc.0: + resolution: {integrity: sha512-FXY3/Ml+rM6gNKvwdBF6vKAcwnSvtXCzKgQwJAw3ppQTKUkLcbOxqM+h4d8bzHWAAvdnEvQFug5uEZgWllBQbA==} + dependencies: + '@vue/devtools-api': 6.5.1 + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + vue: 3.3.9 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/shared@2.0.0-rc.0: + resolution: {integrity: sha512-ikdSfjRv5LGM1iv4HHwF9P6gqTjaFCXKPK+hzlkHFHNZO1GLqk7/BPc4F51tAG1s8TcLhUZc+54LrfgS7PkXXA==} + dependencies: + '@mdit-vue/types': 1.0.0 + '@vue/shared': 3.3.9 + dev: true + + /@vuepress/theme-default@2.0.0-rc.0: + resolution: {integrity: sha512-I8Y08evDmMuD1jh3NftPpFFSlCWOizQDJLjN7EQwcg7jiAP4A7c2REo6nBN2EmP24Mi7UrRM+RnytHR5V+pElA==} + peerDependencies: + sass-loader: ^13.3.2 + peerDependenciesMeta: + sass-loader: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/plugin-active-header-links': 2.0.0-rc.0 + '@vuepress/plugin-back-to-top': 2.0.0-rc.0 + '@vuepress/plugin-container': 2.0.0-rc.0 + '@vuepress/plugin-external-link-icon': 2.0.0-rc.0 + '@vuepress/plugin-git': 2.0.0-rc.0 + '@vuepress/plugin-medium-zoom': 2.0.0-rc.0 + '@vuepress/plugin-nprogress': 2.0.0-rc.0 + '@vuepress/plugin-palette': 2.0.0-rc.0 + '@vuepress/plugin-prismjs': 2.0.0-rc.0 + '@vuepress/plugin-theme-data': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + sass: 1.69.5 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /@vuepress/utils@2.0.0-rc.0: + resolution: {integrity: sha512-Q1ay/woClDHcW0Qe91KsnHoupdNN0tp/vhjvVLuAYxlv/1Obii7hz9WFcajyyGEhmsYxdvG2sGmcxFA02tuKkw==} + dependencies: + '@types/debug': 4.1.12 + '@types/fs-extra': 11.0.4 + '@types/hash-sum': 1.0.2 + '@vuepress/shared': 2.0.0-rc.0 + debug: 4.3.4 + fs-extra: 11.1.1 + globby: 14.0.0 + hash-sum: 2.0.0 + ora: 7.0.1 + picocolors: 1.0.0 + upath: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@vueuse/core@10.6.1(vue@3.3.9): + resolution: {integrity: sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.6.1 + '@vueuse/shared': 10.6.1(vue@3.3.9) + vue-demi: 0.14.6(vue@3.3.9) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /@vueuse/metadata@10.6.1: + resolution: {integrity: sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw==} + dev: true + + /@vueuse/shared@10.6.1(vue@3.3.9): + resolution: {integrity: sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q==} + dependencies: + vue-demi: 0.14.6(vue@3.3.9) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: true + + /acorn@8.11.2: + resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /artplayer@5.0.9: + resolution: {integrity: sha512-IM/DShYdmKFEA9jl08LYbTK2Jfz9s7qIjEH0xWjnxvVArUKZZKcoqwr6i54U0c4grtc/Uvb4wtCd78kvtSVlgw==} + dependencies: + option-validator: 2.0.6 + dev: true + + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: true + + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /autoprefixer@10.4.16(postcss@8.4.31): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.22.1 + caniuse-lite: 1.0.30001564 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.3): + resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.8.6(@babel/core@7.23.3): + resolution: {integrity: sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + core-js-compat: 3.33.3 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.3): + resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) + transitivePeerDependencies: + - supports-color + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /balloon-css@1.2.0: + resolution: {integrity: sha512-urXwkHgwp6GsXVF+it01485Z2Cj4pnW02ICnM0TemOlkKmCNnDLmyy+ZZiRXBpwldUXO+aRNr7Hdia4CBvXJ5A==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /bcrypt-ts@5.0.0: + resolution: {integrity: sha512-0+VFzpOk0oIw8W8DfcCl0+xYbM04ib1u9IqkJCQQr+Vx8Pie4wzXmow+4zEnU0SP72QgPACDn0ARybH7q95Cbw==} + engines: {node: '>=18'} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001564 + electron-to-chromium: 1.4.594 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.22.1) + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + dev: true + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite@1.0.30001564: + resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: true + + /cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + dev: true + + /cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.1.0 + htmlparser2: 8.0.2 + parse5: 7.1.2 + parse5-htmlparser2-tree-adapter: 7.0.0 + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + dev: true + + /cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /core-js-compat@3.33.3: + resolution: {integrity: sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==} + dependencies: + browserslist: 4.22.1 + dev: true + + /cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + dependencies: + layout-base: 1.0.2 + dev: true + + /cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + dependencies: + layout-base: 2.0.1 + dev: true + + /create-codepen@1.0.1: + resolution: {integrity: sha512-XzSWwGCFNeOnNGp3KdCDGaKq4Cp1SvjzpPGQqO0tj1HT3BhksLdl/xQ2ZEY4+0MQ3m1I/K1Fvpm4GGMthtamyA==} + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + dev: true + + /cytoscape-cose-bilkent@4.1.0(cytoscape@3.27.0): + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + dependencies: + cose-base: 1.0.3 + cytoscape: 3.27.0 + dev: true + + /cytoscape-fcose@2.2.0(cytoscape@3.27.0): + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + dependencies: + cose-base: 2.2.0 + cytoscape: 3.27.0 + dev: true + + /cytoscape@3.27.0: + resolution: {integrity: sha512-pPZJilfX9BxESwujODz5pydeGi+FBrXq1rcaB1mfhFXXFJ9GjE6CNndAk+8jPzoXGD+16LtSS4xlYEIUiW4Abg==} + engines: {node: '>=0.10'} + dependencies: + heap: 0.2.7 + lodash: 4.17.21 + dev: true + + /d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + dependencies: + internmap: 1.0.1 + dev: true + + /d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + dependencies: + internmap: 2.0.3 + dev: true + + /d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + dev: true + + /d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + dev: true + + /d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + dependencies: + d3-path: 3.1.0 + dev: true + + /d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + dev: true + + /d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + dev: true + + /d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + dependencies: + delaunator: 5.0.0 + dev: true + + /d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + dev: true + + /d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + dev: true + + /d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + dependencies: + commander: 7.2.0 + iconv-lite: 0.6.3 + rw: 1.3.3 + dev: true + + /d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + dev: true + + /d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + dependencies: + d3-dsv: 3.0.1 + dev: true + + /d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + dev: true + + /d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + dev: true + + /d3-geo@3.1.0: + resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + dev: true + + /d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + dev: true + + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + dev: true + + /d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + dev: true + + /d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + dev: true + + /d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + dev: true + + /d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + dev: true + + /d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + dev: true + + /d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + dependencies: + d3-array: 2.12.1 + d3-shape: 1.3.7 + dev: true + + /d3-scale-chromatic@3.0.0: + resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + d3-interpolate: 3.0.1 + dev: true + + /d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + d3-format: 3.1.0 + d3-interpolate: 3.0.1 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + dev: true + + /d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + dev: true + + /d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + dependencies: + d3-path: 1.0.9 + dev: true + + /d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + dependencies: + d3-path: 3.1.0 + dev: true + + /d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + dependencies: + d3-time: 3.1.0 + dev: true + + /d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + dev: true + + /d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + dev: true + + /d3-transition@3.0.1(d3-selection@3.0.0): + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + dev: true + + /d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + dev: true + + /d3@7.8.5: + resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} + engines: {node: '>=12'} + dependencies: + d3-array: 3.2.4 + d3-axis: 3.0.0 + d3-brush: 3.0.0 + d3-chord: 3.0.1 + d3-color: 3.1.0 + d3-contour: 4.0.2 + d3-delaunay: 6.0.4 + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-dsv: 3.0.1 + d3-ease: 3.0.1 + d3-fetch: 3.0.1 + d3-force: 3.0.0 + d3-format: 3.1.0 + d3-geo: 3.1.0 + d3-hierarchy: 3.1.2 + d3-interpolate: 3.0.1 + d3-path: 3.1.0 + d3-polygon: 3.0.1 + d3-quadtree: 3.0.1 + d3-random: 3.0.1 + d3-scale: 4.0.2 + d3-scale-chromatic: 3.0.0 + d3-selection: 3.0.0 + d3-shape: 3.2.0 + d3-time: 3.1.0 + d3-time-format: 4.1.0 + d3-timer: 3.0.1 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + dev: true + + /dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + dependencies: + d3: 7.8.5 + lodash-es: 4.17.21 + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + has-property-descriptors: 1.0.1 + object-keys: 1.1.1 + dev: true + + /delaunator@5.0.0: + resolution: {integrity: sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw==} + dependencies: + robust-predicates: 3.0.2 + dev: true + + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + + /diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + dev: true + + /dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /dompurify@3.0.6: + resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==} + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /ejs@3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.7 + dev: true + + /electron-to-chromium@1.4.594: + resolution: {integrity: sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==} + dev: true + + /elkjs@0.8.2: + resolution: {integrity: sha512-L6uRgvZTH+4OF5NE/MBbzQx/WYpru1xCBE9respNj6qznEewGUIfhzmm7horWWxbNO2M0WckQypGctR8lH79xQ==} + dev: true + + /emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /encode-utf8@1.0.3: + resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + dev: true + + /entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /envinfo@7.11.0: + resolution: {integrity: sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.2 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.6 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: true + + /es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has-tostringtag: 1.0.0 + hasown: 2.0.0 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild@0.19.7: + resolution: {integrity: sha512-6brbTZVqxhqgbpqBR5MzErImcpA0SQdoKOkcWK/U30HtQxnokIpG3TX2r0IJqbFUzqLjhU/zC1S5ndgakObVCQ==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.7 + '@esbuild/android-arm64': 0.19.7 + '@esbuild/android-x64': 0.19.7 + '@esbuild/darwin-arm64': 0.19.7 + '@esbuild/darwin-x64': 0.19.7 + '@esbuild/freebsd-arm64': 0.19.7 + '@esbuild/freebsd-x64': 0.19.7 + '@esbuild/linux-arm': 0.19.7 + '@esbuild/linux-arm64': 0.19.7 + '@esbuild/linux-ia32': 0.19.7 + '@esbuild/linux-loong64': 0.19.7 + '@esbuild/linux-mips64el': 0.19.7 + '@esbuild/linux-ppc64': 0.19.7 + '@esbuild/linux-riscv64': 0.19.7 + '@esbuild/linux-s390x': 0.19.7 + '@esbuild/linux-x64': 0.19.7 + '@esbuild/netbsd-x64': 0.19.7 + '@esbuild/openbsd-x64': 0.19.7 + '@esbuild/sunos-x64': 0.19.7 + '@esbuild/win32-arm64': 0.19.7 + '@esbuild/win32-ia32': 0.19.7 + '@esbuild/win32-x64': 0.19.7 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fflate@0.8.1: + resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} + dev: true + + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true + + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + dev: true + + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + dev: true + + /giscus@1.3.0: + resolution: {integrity: sha512-A3tVLgSmpnh2sX9uGjo9MbzmTTEJirSyFUPRvkipvy37y9rhxUYDoh9kO37QVrP7Sc7QuJ+gihB6apkO0yDyTw==} + dependencies: + lit: 2.8.0 + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /globby@14.0.0: + resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 1.0.0 + fast-glob: 3.3.2 + ignore: 5.3.0 + path-type: 5.0.0 + slash: 5.1.0 + unicorn-magic: 0.1.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + dependencies: + js-yaml: 3.14.1 + kind-of: 6.0.3 + section-matter: 1.0.0 + strip-bom-string: 1.0.0 + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + dependencies: + get-intrinsic: 1.2.2 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + dev: true + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /husky@8.0.3: + resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true + + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + dev: true + + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + hasown: 2.0.0 + side-channel: 1.0.4 + dev: true + + /internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + dev: true + + /internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: true + + /is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + dev: true + + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + dev: true + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /jake@10.8.7: + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.5 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + + /jest-worker@26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.10.0 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: true + + /khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + dev: true + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: true + + /layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + dev: true + + /layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lilconfig@3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} + dev: true + + /linkify-it@4.0.1: + resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==} + dependencies: + uc.micro: 1.0.6 + dev: true + + /lint-staged@15.1.0: + resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} + engines: {node: '>=18.12.0'} + hasBin: true + dependencies: + chalk: 5.3.0 + commander: 11.1.0 + debug: 4.3.4 + execa: 8.0.1 + lilconfig: 2.1.0 + listr2: 7.0.2 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /listr2@7.0.2: + resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} + engines: {node: '>=16.0.0'} + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.3.0 + wrap-ansi: 8.1.0 + dev: true + + /lit-element@3.3.3: + resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} + dependencies: + '@lit-labs/ssr-dom-shim': 1.1.2 + '@lit/reactive-element': 1.6.3 + lit-html: 2.8.0 + dev: true + + /lit-html@2.8.0: + resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + dependencies: + '@types/trusted-types': 2.0.7 + dev: true + + /lit@2.8.0: + resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + dependencies: + '@lit/reactive-element': 1.6.3 + lit-element: 3.3.3 + lit-html: 2.8.0 + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: true + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + dev: true + + /log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.0 + wrap-ansi: 8.1.0 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /markdown-it-anchor@8.6.7(@types/markdown-it@13.0.7)(markdown-it@13.0.2): + resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} + peerDependencies: + '@types/markdown-it': '*' + markdown-it: '*' + dependencies: + '@types/markdown-it': 13.0.7 + markdown-it: 13.0.2 + dev: true + + /markdown-it-container@3.0.0: + resolution: {integrity: sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==} + dev: true + + /markdown-it-emoji@2.0.2: + resolution: {integrity: sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==} + dev: true + + /markdown-it@13.0.1: + resolution: {integrity: sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 3.0.1 + linkify-it: 4.0.1 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /markdown-it@13.0.2: + resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 3.0.1 + linkify-it: 4.0.1 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /markdownlint-cli2-formatter-default@0.0.4(markdownlint-cli2@0.10.0): + resolution: {integrity: sha512-xm2rM0E+sWgjpPn1EesPXx5hIyrN2ddUnUwnbCsD/ONxYtw3PX6LydvdH6dciWAoFDpwzbHM1TO7uHfcMd6IYg==} + peerDependencies: + markdownlint-cli2: '>=0.0.4' + dependencies: + markdownlint-cli2: 0.10.0 + dev: true + + /markdownlint-cli2@0.10.0: + resolution: {integrity: sha512-kVxjPyKFC+eW7iqcxiNI50RDzwugpXkEX5eQlDso/0IUs9M73jXYguLFHDzgi5KatcxU/57Fu8KoGtkFft9lfA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + globby: 13.2.2 + markdownlint: 0.31.1 + markdownlint-cli2-formatter-default: 0.0.4(markdownlint-cli2@0.10.0) + micromatch: 4.0.5 + strip-json-comments: 5.0.1 + yaml: 2.3.2 + dev: true + + /markdownlint-micromark@0.1.7: + resolution: {integrity: sha512-BbRPTC72fl5vlSKv37v/xIENSRDYL/7X/XoFzZ740FGEbs9vZerLrIkFRY0rv7slQKxDczToYuMmqQFN61fi4Q==} + engines: {node: '>=16'} + dev: true + + /markdownlint@0.31.1: + resolution: {integrity: sha512-CKMR2hgcIBrYlIUccDCOvi966PZ0kJExDrUi1R+oF9PvqQmCrTqjOsgIvf2403OmJ+CWomuzDoylr6KbuMyvHA==} + engines: {node: '>=16'} + dependencies: + markdown-it: 13.0.1 + markdownlint-micromark: 0.1.7 + dev: true + + /mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + dependencies: + '@types/mdast': 3.0.15 + '@types/unist': 2.0.10 + decode-named-character-reference: 1.0.2 + mdast-util-to-string: 3.2.0 + micromark: 3.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-decode-string: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + unist-util-stringify-position: 3.0.3 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + dependencies: + '@types/mdast': 3.0.15 + dev: true + + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: true + + /medium-zoom@1.1.0: + resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /mermaid@10.6.1: + resolution: {integrity: sha512-Hky0/RpOw/1il9X8AvzOEChfJtVvmXm+y7JML5C//ePYMy0/9jCEmW1E1g86x9oDfW9+iVEdTV/i+M6KWRNs4A==} + dependencies: + '@braintree/sanitize-url': 6.0.4 + '@types/d3-scale': 4.0.8 + '@types/d3-scale-chromatic': 3.0.3 + cytoscape: 3.27.0 + cytoscape-cose-bilkent: 4.1.0(cytoscape@3.27.0) + cytoscape-fcose: 2.2.0(cytoscape@3.27.0) + d3: 7.8.5 + d3-sankey: 0.12.3 + dagre-d3-es: 7.0.10 + dayjs: 1.11.10 + dompurify: 3.0.6 + elkjs: 0.8.2 + khroma: 2.1.0 + lodash-es: 4.17.21 + mdast-util-from-markdown: 1.3.1 + non-layered-tidy-tree-layout: 2.0.2 + stylis: 4.3.0 + ts-dedent: 2.2.0 + uuid: 9.0.1 + web-worker: 1.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-factory-destination: 1.1.0 + micromark-factory-label: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-factory-title: 1.1.0 + micromark-factory-whitespace: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-classify-character: 1.1.0 + micromark-util-html-tag-name: 1.2.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + dependencies: + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + dependencies: + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: true + + /micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-types: 1.1.0 + dev: true + + /micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: true + + /micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 1.2.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: true + + /micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + dev: true + + /micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + dev: true + + /micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + dependencies: + micromark-util-symbol: 1.1.0 + dev: true + + /micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + dependencies: + micromark-util-types: 1.1.0 + dev: true + + /micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + dependencies: + micromark-util-character: 1.2.0 + micromark-util-encode: 1.1.0 + micromark-util-symbol: 1.1.0 + dev: true + + /micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + dependencies: + micromark-util-chunked: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + dev: true + + /micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + dev: true + + /micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + dev: true + + /micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + micromark-core-commonmark: 1.1.0 + micromark-factory-space: 1.1.0 + micromark-util-character: 1.2.0 + micromark-util-chunked: 1.1.0 + micromark-util-combine-extensions: 1.1.0 + micromark-util-decode-numeric-character-reference: 1.1.0 + micromark-util-encode: 1.1.0 + micromark-util-normalize-identifier: 1.1.0 + micromark-util-resolve-all: 1.1.0 + micromark-util-sanitize-uri: 1.2.0 + micromark-util-subtokenize: 1.1.0 + micromark-util-symbol: 1.1.0 + micromark-util-types: 1.1.0 + uvu: 0.5.6 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true + + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + + /non-layered-tidy-tree-layout@2.0.2: + resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /option-validator@2.0.6: + resolution: {integrity: sha512-tmZDan2LRIRQyhUGvkff68/O0R8UmF+Btmiiz0SmSw2ng3CfPZB9wJlIjHpe/MKUZqyIZkVIXCrwr1tIN+0Dzg==} + dependencies: + kind-of: 6.0.3 + dev: true + + /ora@7.0.1: + resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==} + engines: {node: '>=16'} + dependencies: + chalk: 5.3.0 + cli-cursor: 4.0.0 + cli-spinners: 2.9.2 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + stdin-discarder: 0.1.0 + string-width: 6.1.0 + strip-ansi: 7.1.0 + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + dependencies: + domhandler: 5.0.3 + parse5: 7.1.2 + dev: true + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /path-type@5.0.0: + resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} + engines: {node: '>=12'} + dev: true + + /photoswipe@5.4.2: + resolution: {integrity: sha512-z5hr36nAIPOZbHJPbCJ/mQ3+ZlizttF9za5gKXKH/us1k4KNHaRbC63K1Px5sVVKUtGb/2+ixHpKqtwl0WAwvA==} + engines: {node: '>= 0.12.0'} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + dev: true + + /postcss-load-config@4.0.2(postcss@8.4.31): + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 3.0.0 + postcss: 8.4.31 + yaml: 2.3.4 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + dev: true + + /prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + dev: true + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true + + /qrcode@1.5.3: + resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + dijkstrajs: 1.0.3 + encode-utf8: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.14.0: + resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} + dev: true + + /regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + dependencies: + '@babel/runtime': 7.23.4 + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + set-function-name: 2.0.1 + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /register-service-worker@1.7.2: + resolution: {integrity: sha512-CiD3ZSanZqcMPRhtfct5K9f7i3OLCcBBWsJjLh1gW9RO/nS94sVzY59iS+fgYBOBqaBpf4EzfqUF3j9IG+xo8A==} + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + dev: true + + /rollup-plugin-terser@7.0.2(rollup@2.79.1): + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + peerDependencies: + rollup: ^2.0.0 + dependencies: + '@babel/code-frame': 7.23.4 + jest-worker: 26.6.2 + rollup: 2.79.1 + serialize-javascript: 4.0.0 + terser: 5.24.0 + dev: true + + /rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /rollup@4.5.2: + resolution: {integrity: sha512-CRK1uoROBfkcqrZKyaFcqCcZWNsvJ6yVYZkqTlRocZhO2s5yER6Z3f/QaYtO8RGyloPnmhwgzuPQpNGeK210xQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.5.2 + '@rollup/rollup-android-arm64': 4.5.2 + '@rollup/rollup-darwin-arm64': 4.5.2 + '@rollup/rollup-darwin-x64': 4.5.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.5.2 + '@rollup/rollup-linux-arm64-gnu': 4.5.2 + '@rollup/rollup-linux-arm64-musl': 4.5.2 + '@rollup/rollup-linux-x64-gnu': 4.5.2 + '@rollup/rollup-linux-x64-musl': 4.5.2 + '@rollup/rollup-win32-arm64-msvc': 4.5.2 + '@rollup/rollup-win32-ia32-msvc': 4.5.2 + '@rollup/rollup-win32-x64-msvc': 4.5.2 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + dev: true + + /sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: true + + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /sass@1.69.5: + resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + dev: true + + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + dev: true + + /section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + dependencies: + extend-shallow: 2.0.1 + kind-of: 6.0.3 + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /serialize-javascript@4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + dependencies: + randombytes: 2.1.0 + dev: true + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.1 + dev: true + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.1 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sitemap@7.1.1: + resolution: {integrity: sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==} + engines: {node: '>=12.0.0', npm: '>=5.6.0'} + hasBin: true + dependencies: + '@types/node': 17.0.45 + '@types/sax': 1.2.7 + arg: 5.0.2 + sax: 1.3.0 + dev: true + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + + /slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + dev: true + + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /slimsearch@2.0.0: + resolution: {integrity: sha512-+G9FHWeVkwOTbEyhFIWvCz1T2fQusbn9756KhttfLygAcdjDOy1hpcPtWjnH4V9lp4qRElbvRqefOnlf/R0OAg==} + engines: {node: '>=18'} + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + dev: true + + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + bl: 5.1.0 + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string-width@6.1.0: + resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==} + engines: {node: '>=16'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 10.3.0 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + internal-slot: 1.0.6 + regexp.prototype.flags: 1.5.1 + set-function-name: 2.0.1 + side-channel: 1.0.4 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.1 + es-abstract: 1.22.3 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-comments@2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@5.0.1: + resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==} + engines: {node: '>=14.16'} + dev: true + + /striptags@3.2.0: + resolution: {integrity: sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==} + dev: true + + /stylis@4.3.0: + resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + dev: true + + /tempy@0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} + dependencies: + is-stream: 2.0.1 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + dev: true + + /terser@5.24.0: + resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.5 + acorn: 8.11.2 + commander: 2.20.3 + source-map-support: 0.5.21 + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + dev: true + + /ts-debounce@4.0.0: + resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==} + dev: true + + /ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + dev: true + + /type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + dev: true + + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: true + + /unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + + /unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + dependencies: + '@types/unist': 2.0.10 + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + dev: true + + /upath@2.0.1: + resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==} + engines: {node: '>=4'} + dev: true + + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.1 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + dev: true + + /uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + dequal: 2.0.3 + diff: 5.1.0 + kleur: 4.1.5 + sade: 1.8.1 + dev: true + + /vite@5.0.2: + resolution: {integrity: sha512-6CCq1CAJCNM1ya2ZZA7+jS2KgnhbzvxakmlIjN24cF/PXhRMzpM/z8QgsVJA/Dm5fWUWnVEsmtBoMhmerPxT0g==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.19.7 + postcss: 8.4.31 + rollup: 4.5.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vue-demi@0.14.6(vue@3.3.9): + resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.9 + dev: true + + /vue-router@4.2.5(vue@3.3.9): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.1 + vue: 3.3.9 + dev: true + + /vue@3.3.9: + resolution: {integrity: sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.3.9 + '@vue/compiler-sfc': 3.3.9 + '@vue/runtime-dom': 3.3.9 + '@vue/server-renderer': 3.3.9(vue@3.3.9) + '@vue/shared': 3.3.9 + dev: true + + /vuepress-plugin-auto-catalog@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-p3RMdAz3or4M1wi7bWVYBDpW1s7vGNYv4Rfk2w/m25toljH00+vd6SE/MtZC+mZ9ha44VBXmtgN3yIVTtOq5Rw==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-components: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - dashjs + - hls.js + - mpegts.js + - plyr + - supports-color + - typescript + - vidstack + dev: true + + /vuepress-plugin-blog2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-jDUxGGkV4ky6fPISdUGzSEMkqAPs8A2OigZELl2lrhIzRZ03boD81PLupinrYy7sklO+wZsO7QMTf9DHWkX7HQ==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + chokidar: 3.5.3 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-comment2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-axgBwfMp1cd28S+PMKBnIPPCtuZqeUUu0ww6Sl29NB3QXyKWYfr+64TtVMkMTw5MrR3Cqhm2kOYdhqF3YU0/jQ==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + '@waline/client': ^2.15.8 + artalk: ^2.6.4 + sass-loader: ^13.3.2 + twikoo: ^1.6.25 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + '@waline/client': + optional: true + artalk: + optional: true + sass-loader: + optional: true + twikoo: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + giscus: 1.3.0 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-components@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-gXujxRlMccljptYk8/hD0cyepIELNqPdqtlv6Cjw+ah9RZBRNArWMHdhY9UTtwQkZxoMP0Oz+7yDgY9YzPWB6A==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + dashjs: ^4.7.2 + hls.js: ^1.4.12 + mpegts.js: ^1.7.3 + plyr: ^3.7.8 + sass-loader: ^13.3.2 + vidstack: ^1.5.6 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + dashjs: + optional: true + hls.js: + optional: true + mpegts.js: + optional: true + plyr: + optional: true + sass-loader: + optional: true + vidstack: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@stackblitz/sdk': 1.9.0 + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + artplayer: 5.0.9 + balloon-css: 1.2.0 + create-codepen: 1.0.1 + qrcode: 1.5.3 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-reading-time2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-copy-code2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-3z1IVlOqrNsywIT6Mv7BFZX8TPEAqoSJR461/bj3A/1UP18c5si3dfQbS72iUV+qnCaL+BT0JqVMvjS43+lXhQ==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + balloon-css: 1.2.0 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-copyright2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-zhoXCyRIBD7ie4dFr/gta2jSgzbaUQlg5U24/yJAdfs/RU+X5k24AzXYhuj6sjWNTXwJHEZt3RYd8pFDnJuZXQ==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-feed2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-pTLrXLePDowWQ8SQfWhvhx1gG1xTkEmcr49wMr2PJP7ij4OCXTsVniT0LMv+fyXX8f+9ZI7w0ZcrQTFG8AdE3A==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + cheerio: 1.0.0-rc.12 + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + xml-js: 1.6.11 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-md-enhance@2.0.0-rc.0(@types/js-yaml@4.0.9)(mermaid@10.6.1)(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-sDP7gEp62phCkPuTtJaLwzKI53b94zqLQ2zajlPkDGTswPyxjOOvCdt2M3bcYM2gnSAV6szZhWuh7VCs1i5D7g==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + '@types/js-yaml': ^4.0.9 + '@types/reveal.js': ^4.4.5 + '@vue/repl': ^2.7.0 + chart.js: ^4.4.0 + echarts: ^5.4.3 + flowchart.ts: ^1.0.1 + katex: ^0.16.9 + mathjax-full: ^3.2.2 + mermaid: ^10.6.1 + reveal.js: ^5.0.2 + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + '@types/reveal.js': + optional: true + '@vue/repl': + optional: true + chart.js: + optional: true + echarts: + optional: true + flowchart.ts: + optional: true + katex: + optional: true + mathjax-full: + optional: true + mermaid: + optional: true + reveal.js: + optional: true + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@babel/core': 7.23.3 + '@mdit/plugin-align': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-attrs': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-container': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-demo': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-figure': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-footnote': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-img-lazyload': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-img-mark': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-img-size': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-include': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-katex': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-mark': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-mathjax': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-stylize': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-sub': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-sup': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-tab': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-tasklist': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-tex': 0.6.5(markdown-it@13.0.2) + '@mdit/plugin-uml': 0.6.5(markdown-it@13.0.2) + '@types/js-yaml': 4.0.9 + '@types/markdown-it': 13.0.7 + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + balloon-css: 1.2.0 + js-yaml: 4.1.0 + markdown-it: 13.0.2 + mermaid: 10.6.1 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-photo-swipe@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-oZfEdoVRO/gX+2vvULmE3aaUnfNA1M3AWDR9K0Bt96CiQBHBFQ6ebP2j5naImOCoK0eKpSUS+2UHBasUFDSxHw==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + photoswipe: 5.4.2 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-pwa2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-VEz6e0wPl9Tht55puS9NlpYFyZ3iWxHy3gzACaAiInr8r4j8Kt1WjkGIKY0VnEf4f/8B71HnIhSRJ+m2EEWgrA==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + mitt: 3.0.1 + register-service-worker: 1.7.2 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + workbox-build: 7.0.0 + transitivePeerDependencies: + - '@types/babel__core' + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-reading-time2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-zi4xJWuhVEfXW+i4v3lqf/nKzeJmTDOhUg+Uluw0Bu4r7P4mA1J8w2bY4pVsGvvjY/PqaRgoA/nkGMM75M4Umw==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + vue: 3.3.9 + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-rtl@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-0Kzd9mffJ8SepIBHssebgayq5VYRfLp+D6CHSWnTr5Ase9MR3WvQhAc74EfZExD+R6pXy52OdiVcNH4NMPmAKw==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + vue: 3.3.9 + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-sass-palette@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-dgvwBdUaAmuNwCnHdOcZ4LBA+W2RUP7zprz1rQWAn16YhgARTkXIkTO69r3AXT2QxrjKKH5r6fC7L1Zq6DMPrA==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + chokidar: 3.5.3 + sass: 1.69.5 + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-search-pro@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-XMxi8QLXV/MhJDozV/NldD7eNu4ou1yEqahTBwlwrkJ5M45Gv2ZzbRYXD70kC0VSTUD76EAqz7RLuOKiAhJr8g==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + cheerio: 1.0.0-rc.12 + chokidar: 3.5.3 + slimsearch: 2.0.0 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-seo2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-V0jMT/Lv2ktOoe2wssMG/zip07wd0GKxJyXY9qEc9B5OOw8KZRYO9frD85YprUCOHEYjwu+sHbI+kUQRaSb+eg==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-plugin-sitemap2@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-TyG4PzuYnEVV4hQVRzJYYWMmvknJz3+bJ2aoEEYvNfGXxMgi4H2FvVlMunRO/Tkh8qC7QKg8vz/ArEzxG4HwuQ==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + sitemap: 7.1.1 + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-shared@2.0.0-rc.0(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-Rr5n/A1o8qnyvZEWkrI8is9ktQhTc+6P56QjHM3bCI2XRDFfwnUNi8hCSl4KA0/MQOESMHmWnL4izRD7Jprh5A==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + cheerio: 1.0.0-rc.12 + dayjs: 1.11.10 + execa: 8.0.1 + fflate: 0.8.1 + gray-matter: 4.0.3 + semver: 7.5.4 + striptags: 3.2.0 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + - typescript + dev: true + + /vuepress-theme-hope@2.0.0-rc.0(@types/js-yaml@4.0.9)(mermaid@10.6.1)(vuepress@2.0.0-rc.0): + resolution: {integrity: sha512-wZgmpRo9jE+cy7aHTdU9fhjRayVpe88GSCnRMfkzJxpDDlvuiItmHNJAGTg3E0NQHzhjI5pbuVGGqQoX7qsDxg==} + engines: {node: '>=18.16.0', npm: '>=8', pnpm: '>=7', yarn: '>=2'} + peerDependencies: + sass-loader: ^13.3.2 + vuepress: 2.0.0-rc.0 + vuepress-vite: 2.0.0-rc.0 + vuepress-webpack: 2.0.0-rc.0 + peerDependenciesMeta: + sass-loader: + optional: true + vuepress: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/cli': 2.0.0-rc.0 + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/plugin-active-header-links': 2.0.0-rc.0 + '@vuepress/plugin-container': 2.0.0-rc.0 + '@vuepress/plugin-external-link-icon': 2.0.0-rc.0 + '@vuepress/plugin-git': 2.0.0-rc.0 + '@vuepress/plugin-nprogress': 2.0.0-rc.0 + '@vuepress/plugin-prismjs': 2.0.0-rc.0 + '@vuepress/plugin-theme-data': 2.0.0-rc.0 + '@vuepress/shared': 2.0.0-rc.0 + '@vuepress/utils': 2.0.0-rc.0 + '@vueuse/core': 10.6.1(vue@3.3.9) + balloon-css: 1.2.0 + bcrypt-ts: 5.0.0 + cheerio: 1.0.0-rc.12 + chokidar: 3.5.3 + gray-matter: 4.0.3 + vue: 3.3.9 + vue-router: 4.2.5(vue@3.3.9) + vuepress: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + vuepress-plugin-auto-catalog: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-blog2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-comment2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-components: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-copy-code2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-copyright2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-feed2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-md-enhance: 2.0.0-rc.0(@types/js-yaml@4.0.9)(mermaid@10.6.1)(vuepress@2.0.0-rc.0) + vuepress-plugin-photo-swipe: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-pwa2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-reading-time2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-rtl: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-sass-palette: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-seo2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-plugin-sitemap2: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + vuepress-shared: 2.0.0-rc.0(vuepress@2.0.0-rc.0) + transitivePeerDependencies: + - '@types/babel__core' + - '@types/js-yaml' + - '@types/reveal.js' + - '@vue/composition-api' + - '@vue/repl' + - '@waline/client' + - artalk + - chart.js + - dashjs + - echarts + - flowchart.ts + - hls.js + - katex + - mathjax-full + - mermaid + - mpegts.js + - plyr + - reveal.js + - supports-color + - twikoo + - typescript + - vidstack + dev: true + + /vuepress-vite@2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9): + resolution: {integrity: sha512-+2XBejeiskPyr2raBeA2o4uDFDsjtadpUVmtio3qqFtQpOhidz/ORuiTLr2UfLtFn1ASIHP6Vy2YjQ0e/TeUVw==} + engines: {node: '>=18.16.0'} + hasBin: true + peerDependencies: + '@vuepress/client': 2.0.0-rc.0 + vue: ^3.3.4 + dependencies: + '@vuepress/bundler-vite': 2.0.0-rc.0 + '@vuepress/cli': 2.0.0-rc.0 + '@vuepress/client': 2.0.0-rc.0 + '@vuepress/core': 2.0.0-rc.0 + '@vuepress/theme-default': 2.0.0-rc.0 + vue: 3.3.9 + transitivePeerDependencies: + - '@types/node' + - '@vue/composition-api' + - less + - lightningcss + - sass + - sass-loader + - stylus + - sugarss + - supports-color + - terser + - ts-node + - typescript + dev: true + + /vuepress@2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9): + resolution: {integrity: sha512-sydt/B7+pIw926G5PntYmptLkC5o2buXKh+WR1+P2KnsvkXU+UGnQrJJ0FBvu/4RNuY99tkUZd59nyPhEmRrCg==} + engines: {node: '>=18.16.0'} + hasBin: true + dependencies: + vuepress-vite: 2.0.0-rc.0(@vuepress/client@2.0.0-rc.0)(vue@3.3.9) + transitivePeerDependencies: + - '@types/node' + - '@vue/composition-api' + - '@vuepress/client' + - less + - lightningcss + - sass + - sass-loader + - stylus + - sugarss + - supports-color + - terser + - ts-node + - typescript + - vue + dev: true + + /web-worker@1.2.0: + resolution: {integrity: sha512-PgF341avzqyx60neE9DD+XS26MMNMoUQRz9NOZwW32nPQrF6p77f1htcnjBSEV8BGMKZ16choqUG4hyI0Hx7mA==} + dev: true + + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + dev: true + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /workbox-background-sync@7.0.0: + resolution: {integrity: sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==} + dependencies: + idb: 7.1.1 + workbox-core: 7.0.0 + dev: true + + /workbox-broadcast-update@7.0.0: + resolution: {integrity: sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-build@7.0.0: + resolution: {integrity: sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==} + engines: {node: '>=16.0.0'} + dependencies: + '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) + '@babel/core': 7.23.3 + '@babel/preset-env': 7.23.3(@babel/core@7.23.3) + '@babel/runtime': 7.23.4 + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.3)(rollup@2.79.1) + '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) + '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) + '@surma/rollup-plugin-off-main-thread': 2.2.3 + ajv: 8.12.0 + common-tags: 1.8.2 + fast-json-stable-stringify: 2.1.0 + fs-extra: 9.1.0 + glob: 7.2.3 + lodash: 4.17.21 + pretty-bytes: 5.6.0 + rollup: 2.79.1 + rollup-plugin-terser: 7.0.2(rollup@2.79.1) + source-map: 0.8.0-beta.0 + stringify-object: 3.3.0 + strip-comments: 2.0.1 + tempy: 0.6.0 + upath: 1.2.0 + workbox-background-sync: 7.0.0 + workbox-broadcast-update: 7.0.0 + workbox-cacheable-response: 7.0.0 + workbox-core: 7.0.0 + workbox-expiration: 7.0.0 + workbox-google-analytics: 7.0.0 + workbox-navigation-preload: 7.0.0 + workbox-precaching: 7.0.0 + workbox-range-requests: 7.0.0 + workbox-recipes: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + workbox-streams: 7.0.0 + workbox-sw: 7.0.0 + workbox-window: 7.0.0 + transitivePeerDependencies: + - '@types/babel__core' + - supports-color + dev: true + + /workbox-cacheable-response@7.0.0: + resolution: {integrity: sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-core@7.0.0: + resolution: {integrity: sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==} + dev: true + + /workbox-expiration@7.0.0: + resolution: {integrity: sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==} + dependencies: + idb: 7.1.1 + workbox-core: 7.0.0 + dev: true + + /workbox-google-analytics@7.0.0: + resolution: {integrity: sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==} + dependencies: + workbox-background-sync: 7.0.0 + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + dev: true + + /workbox-navigation-preload@7.0.0: + resolution: {integrity: sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-precaching@7.0.0: + resolution: {integrity: sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==} + dependencies: + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + dev: true + + /workbox-range-requests@7.0.0: + resolution: {integrity: sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-recipes@7.0.0: + resolution: {integrity: sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==} + dependencies: + workbox-cacheable-response: 7.0.0 + workbox-core: 7.0.0 + workbox-expiration: 7.0.0 + workbox-precaching: 7.0.0 + workbox-routing: 7.0.0 + workbox-strategies: 7.0.0 + dev: true + + /workbox-routing@7.0.0: + resolution: {integrity: sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-strategies@7.0.0: + resolution: {integrity: sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==} + dependencies: + workbox-core: 7.0.0 + dev: true + + /workbox-streams@7.0.0: + resolution: {integrity: sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==} + dependencies: + workbox-core: 7.0.0 + workbox-routing: 7.0.0 + dev: true + + /workbox-sw@7.0.0: + resolution: {integrity: sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==} + dev: true + + /workbox-window@7.0.0: + resolution: {integrity: sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==} + dependencies: + '@types/trusted-types': 2.0.7 + workbox-core: 7.0.0 + dev: true + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + dependencies: + sax: 1.3.0 + dev: true + + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} + engines: {node: '>= 14'} + dev: true + + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + dev: true + + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true diff --git a/src/.vuepress/config.ts b/src/.vuepress/config.ts index 15554bd0..688601a3 100644 --- a/src/.vuepress/config.ts +++ b/src/.vuepress/config.ts @@ -1,27 +1,47 @@ import { defineUserConfig } from "vuepress"; import theme from "./theme.js"; import { searchProPlugin } from "vuepress-plugin-search-pro"; +import { baiduTongjiPlugin } from "./plugins/baiduTongji.js"; export default defineUserConfig({ - base: "/", + base: "/", - locales: { - "/": { - lang: "zh-CN", - title: "Zotero 中文小组", - description: "Zotero 非官方中文维护小组", - }, + locales: { + "/": { + lang: "zh-CN", + title: "Zotero 中文小组", + description: "Zotero 非官方中文维护小组", }, + }, - theme, - plugins: [ - searchProPlugin({ - // 索引全部内容 - indexContent: true, - // 为分类和标签添加索引 - }), - ], + theme, - // Enable it with pwa - // shouldPrefetch: false, + markdown: { + headers: { + level: [2, 3, 4, 5], + }, + }, + + plugins: [ + searchProPlugin({ + // 索引全部内容 + indexContent: true, + // 为分类和标签添加索引 + }), + + baiduTongjiPlugin({ + keys: + process.env.CONTEXT === "production" + ? [ + "fc5b45ae006a231c1d5cff4610df7267", // lin + "fc904ee59939c7c2284063619b0ef533", // northword + ] + : [], + }), + ], + + // Enable it with pwa + // shouldPrefetch: false, + // Enable it with pwa + // shouldPrefetch: false, }); diff --git a/src/.vuepress/navbar.ts b/src/.vuepress/navbar.ts index bfe55fc9..59b3e20c 100644 --- a/src/.vuepress/navbar.ts +++ b/src/.vuepress/navbar.ts @@ -1,48 +1,54 @@ import { navbar } from "vuepress-theme-hope"; export const zhNavbar = navbar([ - "/", + { text: "首页", icon: "home", link: "/" }, { text: "Zotero 百科全书", icon: "article", link: "/user-guide/" }, { text: "中文插件商店", icon: "config", - link: "https://zotero-chinese.gitee.io/zotero-plugins/", + link: "https://plugins.zotero-chinese.com/", }, { text: "中文 CSL 样式", icon: "format", link: "https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/", }, - { - text: "开发手册", - icon: "code", - children: [ - { - text: "插件开发手册", - icon: "code", - link: "/plugin-dev-guide/" - }, - { - text: "CSL 中文文档", - icon: "code", - link: "/csl-dev-guide/" - }, - ], - }, { text: "更多", icon: "more", children: [ { - text: "贡献指南", - icon: "creative", - link: "/contribution-guide/" + text: "开发手册", + icon: "code", + children: [ + { + text: "插件开发手册", + icon: "code", + link: "/plugin-dev-guide/", + }, + { + text: "CSL 中文文档", + icon: "code", + link: "/csl-dev-guide/", + }, + ], }, { text: "关于", - icon: "about", - link: "/about/" - } - ] + icon: "more", + children: [ + { + text: "贡献指南", + icon: "creative", + link: "/contributing/", + }, + { + text: "关于 Zotero 中文小组", + icon: "creative", + link: "/about/", + }, + ], + }, + ], }, ]); diff --git a/src/.vuepress/plugins/baiduTongji.ts b/src/.vuepress/plugins/baiduTongji.ts new file mode 100644 index 00000000..d2581067 --- /dev/null +++ b/src/.vuepress/plugins/baiduTongji.ts @@ -0,0 +1,29 @@ +/** + * 百度统计 + * @see https://www.npmjs.com/package/@vuepress-plume/vuepress-plugin-baidu-tongji + * + */ +export function baiduTongjiPlugin(arg: { keys: string[] }) { + return { + name: "vuepress-plugin-baidu-tongji", + extendsPage: (page) => { + if (arg.keys.length == 0) { + return; + } + page.frontmatter.head = page.frontmatter.head || []; + page.frontmatter.head?.push([ + "script", + { + type: "text/javascript", + }, + "var _hmt = _hmt || []", + ]); + arg.keys.forEach((key) => { + page.frontmatter.head?.push([ + "script", + { src: `https://hm.baidu.com/hm.js?${key}` }, + ]); + }); + }, + }; +} diff --git a/src/.vuepress/public/assets/image/advanced.svg b/src/.vuepress/public/assets/image/advanced.svg new file mode 100644 index 00000000..c27ede59 --- /dev/null +++ b/src/.vuepress/public/assets/image/advanced.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/blog.svg b/src/.vuepress/public/assets/image/blog.svg new file mode 100644 index 00000000..00fc40d7 --- /dev/null +++ b/src/.vuepress/public/assets/image/blog.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/features.svg b/src/.vuepress/public/assets/image/features.svg new file mode 100644 index 00000000..6d627393 --- /dev/null +++ b/src/.vuepress/public/assets/image/features.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/.vuepress/public/assets/image/layout.svg b/src/.vuepress/public/assets/image/layout.svg new file mode 100644 index 00000000..da754b58 --- /dev/null +++ b/src/.vuepress/public/assets/image/layout.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/.vuepress/public/favicon.ico b/src/.vuepress/public/favicon.ico index b411f79d..63d1b1bb 100644 Binary files a/src/.vuepress/public/favicon.ico and b/src/.vuepress/public/favicon.ico differ diff --git a/src/.vuepress/public/logo.png b/src/.vuepress/public/logo.png index d5a29af9..63d1b1bb 100644 Binary files a/src/.vuepress/public/logo.png and b/src/.vuepress/public/logo.png differ diff --git a/src/.vuepress/sidebar.ts b/src/.vuepress/sidebar.ts deleted file mode 100644 index ecbc2fea..00000000 --- a/src/.vuepress/sidebar.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { sidebar } from "vuepress-theme-hope"; - -export const zhSidebar = sidebar({ - "/user-guide/": "structure", - "/plugin-dev-guide/": "structure", - "/csl-dev-guide/": "structure", - "/contribution-guide/": "structure", - "/": "heading", -}); diff --git a/src/.vuepress/sidebar/csl-dev-guide.ts b/src/.vuepress/sidebar/csl-dev-guide.ts new file mode 100644 index 00000000..075cc560 --- /dev/null +++ b/src/.vuepress/sidebar/csl-dev-guide.ts @@ -0,0 +1,15 @@ +import { arraySidebar } from "vuepress-theme-hope"; + +export const cslDevGuide = arraySidebar([ + // "", + "primer", + "xml-basic", + "specification", + { + text: "附录", + prefix: "appendix/", + collapsible: true, + children: "structure", + }, + "translating-locale-files", +]); diff --git a/src/.vuepress/sidebar/index.ts b/src/.vuepress/sidebar/index.ts new file mode 100644 index 00000000..815361c8 --- /dev/null +++ b/src/.vuepress/sidebar/index.ts @@ -0,0 +1,22 @@ +import { userGuide } from "./user-guide"; +import { cslDevGuide } from "./csl-dev-guide"; +import { pluginDevGuide } from "./plugin-dev-guide"; +import { sidebar } from "vuepress-theme-hope"; + +export const zhSidebar = sidebar({ + "/user-guide/": userGuide, + "/plugin-dev-guide/": "structure", + "/csl-dev-guide/": cslDevGuide, + "/": [ + "about", + "code_of_conduct", + "contributors", + { + text: "贡献者指南", + icon: "build", + prefix: "contributing", + collapsible: true, + children: ["contributing", "markdown", "vscode-dev", "build"], + }, + ], +}); diff --git a/src/.vuepress/sidebar/plugin-dev-guide.ts b/src/.vuepress/sidebar/plugin-dev-guide.ts new file mode 100644 index 00000000..439ce072 --- /dev/null +++ b/src/.vuepress/sidebar/plugin-dev-guide.ts @@ -0,0 +1,3 @@ +import { arraySidebar } from "vuepress-theme-hope"; + +export const pluginDevGuide = arraySidebar([""]); diff --git a/src/.vuepress/sidebar/user-guide.ts b/src/.vuepress/sidebar/user-guide.ts new file mode 100644 index 00000000..9bf776eb --- /dev/null +++ b/src/.vuepress/sidebar/user-guide.ts @@ -0,0 +1,68 @@ +import { arraySidebar } from "vuepress-theme-hope"; + +export const userGuide = arraySidebar([ + // "", + "why-use-zotero", + "quick-start", + { + text: "基础使用", + icon: "module", + // prefix: "basic-usage", + collapsible: true, + children: [ + "install", + "add-items", + "organize-library", + "take-notes", + "feed", + ], + }, + { + text: "创建参考文献", + icon: "code", + // prefix: "generate-bibliography", + collapsible: true, + children: [ + "citation-styles", + "ms-word-plugin", + "wps-plugin", + "create-bibliographies-within-zotero", + "create-bibliographies-via-zbib", + ], + }, + { + text: "同步、协作与备份", + icon: "language", + // prefix: "sync-collaboration-backup", + collapsible: true, + children: ["sync", "sync-via-webdav", "group", "backup"], + }, + { + text: "插件", + icon: "plugin", + prefix: "plugins", + collapsible: true, + children: "structure", + }, + { + text: "常见问题", + icon: "question", + prefix: "faqs", + collapsible: true, + children: "structure", + }, + { + text: "进阶教程", + icon: "creative", + // prefix: "advanced", + collapsible: true, + children: ["add-items-adv", "import-from-other-software.html"], + }, + { + text: "杂项", + icon: "advance", + prefix: "misc", + collapsible: true, + children: "structure", + }, +]); diff --git a/src/.vuepress/styles/index.scss b/src/.vuepress/styles/index.scss index f6af3878..e8b4e4b1 100644 --- a/src/.vuepress/styles/index.scss +++ b/src/.vuepress/styles/index.scss @@ -1 +1,14 @@ // place your custom styles here +.home { + .vp-hero-info-wrapper { + min-height: 600px; + } +} + +h3 { + font-weight: bold; +} + +h4 { + font-weight: bold; +} diff --git a/src/.vuepress/styles/palette.scss b/src/.vuepress/styles/palette.scss index 356a4282..d9e4cab7 100644 --- a/src/.vuepress/styles/palette.scss +++ b/src/.vuepress/styles/palette.scss @@ -1,2 +1,3 @@ // you can change colors here -$theme-color: #096dd9; +// $theme-color: #096dd9; +$theme-color: #846c9c; diff --git a/src/.vuepress/theme.ts b/src/.vuepress/theme.ts index 4e86839f..1864ac4a 100644 --- a/src/.vuepress/theme.ts +++ b/src/.vuepress/theme.ts @@ -3,23 +3,25 @@ import { zhNavbar } from "./navbar"; import { zhSidebar } from "./sidebar"; export default hopeTheme({ - // hostname: "https://vuepress-theme-hope-docs-demo.netlify.app", + hostname: "https://zotero-chinese.com", author: { name: "Zotero Chinese", - url: "https://zotero-cn.github.io", + url: "https://github.com/zotero-chinese", }, iconAssets: "iconfont", logo: "/logo.png", - repo: "northword/zotero-guide-zh", + repo: "zotero-chinese/wiki", docsDir: "src", hotReload: true, + sidebarSorter: ["readme", "order", "filename", "title"], + headerDepth: 4, locales: { "/": { @@ -29,10 +31,14 @@ export default hopeTheme({ // sidebar sidebar: zhSidebar, - footer: "Zotero 中文小组 | 查看贡献指南", + footer: + "Zotero 中文小组 | 贡献指南 | 参与讨论 | 加入 QQ 群组", displayFooter: true, + copyright: + "

本工作以 CC BY-SA 4.0 协议授权

", + // page meta metaLocales: { editLink: "在 GitHub 上编辑此页", @@ -40,34 +46,40 @@ export default hopeTheme({ }, }, - // encrypt: { - // config: { - // "/demo/encrypt.html": ["1234"], - // "/zh/demo/encrypt.html": ["1234"], - // }, - // }, - plugins: { comment: { - // @ts-expect-error: You should generate and use your own comment service - provider: "Waline", + provider: "Giscus", + repo: "zotero-chinese/wiki", + repoId: "R_kgDOJZD4iQ", + category: "文档评论区", + categoryId: "DIC_kwDOJZD4ic4CbJJB", }, // all features are enabled for demo, only preserve features you need here mdEnhance: { align: true, attrs: true, - chart: true, - codetabs: true, + // chart: true, + checkLinks: { + // 仅在开发模式下检查链接 + status: "always", + ignore: [ + // 忽略以 `/api/` 开头的链接 + /^\/api\//, + // 忽略 `/playground.html` + "/playground.html", + ], + }, + // codetabs: true, // demo: true, // echarts: true, figure: true, - flowchart: true, + // flowchart: true, gfm: true, imgLazyload: true, imgSize: true, include: true, - katex: true, + // katex: true, mark: true, mermaid: true, // playground: { @@ -96,6 +108,10 @@ export default hopeTheme({ // vuePlayground: true, }, + // autoCatalog: { + // orderGetter: (page) => {return page.routeMeta} + // }, + // uncomment these if you want a pwa // pwa: { // favicon: "/favicon.ico", diff --git a/src/README.md b/src/README.md index 559b176e..384aedae 100644 --- a/src/README.md +++ b/src/README.md @@ -1,54 +1,146 @@ --- +containerClass: home home: true icon: home -title: 首页 +title: Zotero 中文小组 heroImage: /logo.png +bgImage: https://theme-hope-assets.vuejs.press/bg/6-light.svg +bgImageDark: https://theme-hope-assets.vuejs.press/bg/6-dark.svg +bgImageStyle: + background-attachment: fixed heroText: Zotero 中文小组 -tagline: Zotero 非官方中文小组,维护中文文档、CSL 样式等。 +tagline: Zotero 非官方中文小组,维护中文文档等 actions: - text: Zotero 用户手册 💡 link: /user-guide/ type: primary - text: 插件商店 - link: https://zotero-chinese.gitee.io/zotero-plugins/ + link: https://plugins.zotero-chinese.com/ -features: - - title: Zotero 百科全书 - icon: article - details: Zotero 中文教程一站式解决。 - link: /user-guide/ +highlights: + - header: Zotero 中文资源 + description: 一些关于 Zotero 的中文资源 + image: /assets/image/features.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/2-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/2-dark.svg + bgImageStyle: + background-repeat: repeat + background-size: initial + features: + - title: Zotero 百科全书 + icon: article + details: Zotero 中文教程一站式解决 + link: /user-guide/ - - title: 插件商店 - icon: config - details: 好用的 Zotero 插件收录,提供国内镜像下载地址。 - link: https://zotero-chinese.gitee.io/zotero-plugins/ - - - title: 中文 CSL 样式 - icon: format - details: 支持双语排版的 CSL 样式。 - link: https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/ - - - title: 插件开发手册 - icon: code - details: 其实 Zotero 插件开发入门很容易! - link: /plugin-dev-guide/ - - - title: CSL 开发手册 - icon: code - details: 来看如何自定义一个自己需要的参考文献格式。 - link: /csl-dev-guide/ - - - title: 更多 - icon: advance - details: 贡献指南、关于页面等。 - link: /about/ -copyright: false -footer: 使用 VuePress Theme Hope 主题 | MIT 协议, 版权所有 © 2022-Present Zotero Chinese ---- + - title: 插件商店 + icon: config + details: 好用的 Zotero 插件收录,提供国内镜像下载地址 + link: https://plugins.zotero-chinese.com/ + + - title: 中文 CSL 样式 + icon: format + details: 支持双语排版的 CSL 样式 + link: https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/ + + - title: 插件开发手册 + icon: code + details: 其实 Zotero 插件开发入门很容易! + link: /plugin-dev-guide/ + + - title: CSL 开发手册 + icon: code + details: 来看如何自定义一个自己需要的参考文献格式 + link: /csl-dev-guide/ + + - title: 更多 + icon: advance + details: 贡献指南、关于页面等 + link: /about/ + + - header: Zotero 官方 + description: Zotero 官方提供的链接 + image: /assets/image/advanced.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/4-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/4-dark.svg + highlights: + - title: Zotero 下载 + icon: sitemap + details: Zotero 安装包和 Connector 下载 + link: https://www.zotero.org/ + + - title: Zotero 官方文档(英文) + icon: article + details: Zotero 官方提供的使用手册,最为准确,但仅维护英文 + link: https://www.zotero.org/support/ + + - title: Zotero 官方论坛(英文) + icon: community + details: Zotero 官方运营的论坛,你可以在这里发布求助、反馈问题等 + link: https://forums.zotero.org/discussions -这是项目主页的案例。你可以在这里放置你的主体内容。 + - title: CSL 官方样式 + icon: decorate + details: 在这里可以预览并下载 Citation Language Style 组织下的样式 + link: https://www.zotero.org/styles -想要使用此布局,你需要在页面 front matter 中设置 `home: true`。 + - header: 参与社区建设 + description: 参与讨论、参与维护、共同进步! + image: /assets/image/layout.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/5-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/5-dark.svg + highlights: + - title: GitHub ISSUE + icon: github + details: 你可以在 ISSUE 里提出文档等的不足、改进建议 + link: https://github.com/zotero-chinese/wiki/issues -配置项的相关说明详见 [项目主页配置](https://theme-hope.vuejs.press/zh/guide/layout/home/)。 + - title: Gitee 讨论 + icon: gitee + details: 你可以在 Gitee 里提出关于 Zotero 使用的问题 + link: https://gitee.com/zotero-chinese/zotero-chinese/issues + + - title: 贡献者指南 + icon: like + details: 查看如何为项目做出贡献 + link: /contributing/ + + - title: QQ 群 + icon: group + details: 加入群聊,独学而无友,则孤陋而寡闻 + link: / + + # - title: 更多 + # icon: more + # details: 更多方式 + # link: ./guide/interface/others.html + + - header: 关于 + image: /assets/image/blog.svg + bgImage: https://theme-hope-assets.vuejs.press/bg/1-light.svg + bgImageDark: https://theme-hope-assets.vuejs.press/bg/1-dark.svg + features: + - title: 主要维护者 + icon: people + details: 长期维护者 + # link: ./guide/feature/comment.html + + - title: 全部贡献者 + icon: people + details: 查看全部贡献者 + # link: ./guide/feature/page-info.html + + # - title: 贡献者指南 + # icon: lock + # details: 你可以为你的特定页面或特定目录进行加密,以便陌生人不能随意访问它们 + # # link: ./guide/feature/encrypt.html + - title: 组织链接 + icon: repo + details: GitHub 组织链接 + # link: ./guide/feature/search.html + +copyright: false +footer: Deploys by Netlify
使用 VuePress Theme Hope 主题 | MIT 协议,版权所有 © 2022-Present Zotero Chinese +date: 2023-04-19 21:14:04 +updated: 2023-07-20 16:51:54 +--- diff --git a/src/about.md b/src/about.md new file mode 100644 index 00000000..15020ed5 --- /dev/null +++ b/src/about.md @@ -0,0 +1,12 @@ +--- +title: 关于 Zotero 中文小组 +icon: like +--- + +# 关于 Zotero 中文小组 + +::: tip + +待办,关于页面 + +::: diff --git a/src/assets/033a4684b6867c7e4dc87acd6423c99a_MD5.png b/src/assets/033a4684b6867c7e4dc87acd6423c99a_MD5.png new file mode 100644 index 00000000..912c0167 Binary files /dev/null and b/src/assets/033a4684b6867c7e4dc87acd6423c99a_MD5.png differ diff --git a/src/assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5.png b/src/assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5.png new file mode 100644 index 00000000..b25c4410 Binary files /dev/null and b/src/assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5.png differ diff --git a/src/assets/15e71e5849e591f2252b7e706e8d6707_MD5.png b/src/assets/15e71e5849e591f2252b7e706e8d6707_MD5.png new file mode 100644 index 00000000..7ea7c044 Binary files /dev/null and b/src/assets/15e71e5849e591f2252b7e706e8d6707_MD5.png differ diff --git a/src/assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5.png b/src/assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5.png new file mode 100644 index 00000000..a365f0fd Binary files /dev/null and b/src/assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5.png differ diff --git a/src/assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5.png b/src/assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5.png new file mode 100644 index 00000000..b47e8b75 Binary files /dev/null and b/src/assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5.png differ diff --git a/src/assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5.png b/src/assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5.png new file mode 100644 index 00000000..e273c6ca Binary files /dev/null and b/src/assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5.png differ diff --git a/src/assets/22d87fc4f7495df92efaebe988b38136_MD5.png b/src/assets/22d87fc4f7495df92efaebe988b38136_MD5.png new file mode 100644 index 00000000..6332fefe Binary files /dev/null and b/src/assets/22d87fc4f7495df92efaebe988b38136_MD5.png differ diff --git a/src/assets/28f02608aa879ed189ecfecfcab57d16_MD5.png b/src/assets/28f02608aa879ed189ecfecfcab57d16_MD5.png new file mode 100644 index 00000000..3dea326d Binary files /dev/null and b/src/assets/28f02608aa879ed189ecfecfcab57d16_MD5.png differ diff --git a/src/assets/2a4390faa87ca714c9264b8f3bae4b64_MD5.png b/src/assets/2a4390faa87ca714c9264b8f3bae4b64_MD5.png new file mode 100644 index 00000000..e946a560 Binary files /dev/null and b/src/assets/2a4390faa87ca714c9264b8f3bae4b64_MD5.png differ diff --git a/src/assets/46510f422020d39fa7a495030129abe3_MD5.png b/src/assets/46510f422020d39fa7a495030129abe3_MD5.png new file mode 100644 index 00000000..5d85caa9 Binary files /dev/null and b/src/assets/46510f422020d39fa7a495030129abe3_MD5.png differ diff --git a/src/assets/474334b603ae0913ad81a0ddd1dcbe91_MD5.png b/src/assets/474334b603ae0913ad81a0ddd1dcbe91_MD5.png new file mode 100644 index 00000000..30fdb1f5 Binary files /dev/null and b/src/assets/474334b603ae0913ad81a0ddd1dcbe91_MD5.png differ diff --git a/src/assets/47516f8b73477847a13a2c861e80ed10_MD5.png b/src/assets/47516f8b73477847a13a2c861e80ed10_MD5.png new file mode 100644 index 00000000..5d760733 Binary files /dev/null and b/src/assets/47516f8b73477847a13a2c861e80ed10_MD5.png differ diff --git a/src/assets/4c392ee9159b3a2ab22f4a5dc63b27b0_MD5.png b/src/assets/4c392ee9159b3a2ab22f4a5dc63b27b0_MD5.png new file mode 100644 index 00000000..c8596282 Binary files /dev/null and b/src/assets/4c392ee9159b3a2ab22f4a5dc63b27b0_MD5.png differ diff --git a/src/assets/4de80b5cd85863024d63689cdf806721_MD5.png b/src/assets/4de80b5cd85863024d63689cdf806721_MD5.png new file mode 100644 index 00000000..cb4451a8 Binary files /dev/null and b/src/assets/4de80b5cd85863024d63689cdf806721_MD5.png differ diff --git a/src/assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5.png b/src/assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5.png new file mode 100644 index 00000000..18ca4dbc Binary files /dev/null and b/src/assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5.png differ diff --git a/src/assets/56bb224283b259e7ad53bba8c4074d12_MD5.png b/src/assets/56bb224283b259e7ad53bba8c4074d12_MD5.png new file mode 100644 index 00000000..ed93cc96 Binary files /dev/null and b/src/assets/56bb224283b259e7ad53bba8c4074d12_MD5.png differ diff --git a/src/assets/5db26b70fa394ac4b20c8f9702899bc6_MD5.png b/src/assets/5db26b70fa394ac4b20c8f9702899bc6_MD5.png new file mode 100644 index 00000000..3e06c8dd Binary files /dev/null and b/src/assets/5db26b70fa394ac4b20c8f9702899bc6_MD5.png differ diff --git a/src/assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5.png b/src/assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5.png new file mode 100644 index 00000000..90291298 Binary files /dev/null and b/src/assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5.png differ diff --git a/src/assets/60cbda53f8de56de50bdb15d9dfc8b78_MD5.png b/src/assets/60cbda53f8de56de50bdb15d9dfc8b78_MD5.png new file mode 100644 index 00000000..d691aa68 Binary files /dev/null and b/src/assets/60cbda53f8de56de50bdb15d9dfc8b78_MD5.png differ diff --git a/src/assets/67c928f040091835a073775ea418ff4c_MD5.png b/src/assets/67c928f040091835a073775ea418ff4c_MD5.png new file mode 100644 index 00000000..538989f4 Binary files /dev/null and b/src/assets/67c928f040091835a073775ea418ff4c_MD5.png differ diff --git a/src/assets/6b8137561c99a0795bdcb48f57fab85e_MD5.png b/src/assets/6b8137561c99a0795bdcb48f57fab85e_MD5.png new file mode 100644 index 00000000..04cfd326 Binary files /dev/null and b/src/assets/6b8137561c99a0795bdcb48f57fab85e_MD5.png differ diff --git a/src/assets/6dd98ac109ac059509e72720c885e733_MD5.png b/src/assets/6dd98ac109ac059509e72720c885e733_MD5.png new file mode 100644 index 00000000..f5d60ceb Binary files /dev/null and b/src/assets/6dd98ac109ac059509e72720c885e733_MD5.png differ diff --git a/src/assets/741b873973ac5df93faf93cd1a195db2_MD5.png b/src/assets/741b873973ac5df93faf93cd1a195db2_MD5.png new file mode 100644 index 00000000..55933491 Binary files /dev/null and b/src/assets/741b873973ac5df93faf93cd1a195db2_MD5.png differ diff --git a/src/assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5.png b/src/assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5.png new file mode 100644 index 00000000..d2240c51 Binary files /dev/null and b/src/assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5.png differ diff --git a/src/assets/7f7e2dca1e509cf53dffb18431304d0c_MD5.png b/src/assets/7f7e2dca1e509cf53dffb18431304d0c_MD5.png new file mode 100644 index 00000000..a5f418fc Binary files /dev/null and b/src/assets/7f7e2dca1e509cf53dffb18431304d0c_MD5.png differ diff --git a/src/assets/80cebc82ab653f229fecd246e695ed10_MD5.png b/src/assets/80cebc82ab653f229fecd246e695ed10_MD5.png new file mode 100644 index 00000000..ba8bdee9 Binary files /dev/null and b/src/assets/80cebc82ab653f229fecd246e695ed10_MD5.png differ diff --git a/src/assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5.png b/src/assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5.png new file mode 100644 index 00000000..86a48a24 Binary files /dev/null and b/src/assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5.png differ diff --git a/src/assets/83ee28582510c7573aceb4284b3c4ac0_MD5.png b/src/assets/83ee28582510c7573aceb4284b3c4ac0_MD5.png new file mode 100644 index 00000000..b495a3ee Binary files /dev/null and b/src/assets/83ee28582510c7573aceb4284b3c4ac0_MD5.png differ diff --git a/src/assets/8a33ca40095a62ad5b3c6857dc6add55_MD5.png b/src/assets/8a33ca40095a62ad5b3c6857dc6add55_MD5.png new file mode 100644 index 00000000..5b701f4e Binary files /dev/null and b/src/assets/8a33ca40095a62ad5b3c6857dc6add55_MD5.png differ diff --git a/src/assets/8addbd81b3d85f5501f1a58020ab3191_MD5.png b/src/assets/8addbd81b3d85f5501f1a58020ab3191_MD5.png new file mode 100644 index 00000000..2396eee6 Binary files /dev/null and b/src/assets/8addbd81b3d85f5501f1a58020ab3191_MD5.png differ diff --git a/src/assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5.png b/src/assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5.png new file mode 100644 index 00000000..45c9e974 Binary files /dev/null and b/src/assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5.png differ diff --git a/src/assets/8e686e20166cd2b80650413b68a0df0e_MD5.png b/src/assets/8e686e20166cd2b80650413b68a0df0e_MD5.png new file mode 100644 index 00000000..33deb4af Binary files /dev/null and b/src/assets/8e686e20166cd2b80650413b68a0df0e_MD5.png differ diff --git a/src/assets/9383416a28f689e820457d0baf6d4158_MD5.png b/src/assets/9383416a28f689e820457d0baf6d4158_MD5.png new file mode 100644 index 00000000..9898d964 Binary files /dev/null and b/src/assets/9383416a28f689e820457d0baf6d4158_MD5.png differ diff --git a/src/assets/9958cfad093ea585c48823597c949a33_MD5.png b/src/assets/9958cfad093ea585c48823597c949a33_MD5.png new file mode 100644 index 00000000..7df8496c Binary files /dev/null and b/src/assets/9958cfad093ea585c48823597c949a33_MD5.png differ diff --git a/src/assets/9d07a67981c445f862fa46bddbfcd0db_MD5.png b/src/assets/9d07a67981c445f862fa46bddbfcd0db_MD5.png new file mode 100644 index 00000000..b6d4edfb Binary files /dev/null and b/src/assets/9d07a67981c445f862fa46bddbfcd0db_MD5.png differ diff --git a/src/assets/a01d83b2dbe0f1d2c356c891336416ec_MD5.png b/src/assets/a01d83b2dbe0f1d2c356c891336416ec_MD5.png new file mode 100644 index 00000000..78bc3bcf Binary files /dev/null and b/src/assets/a01d83b2dbe0f1d2c356c891336416ec_MD5.png differ diff --git a/src/assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5.png b/src/assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5.png new file mode 100644 index 00000000..e7e0b701 Binary files /dev/null and b/src/assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5.png differ diff --git a/src/assets/a2f3237d76883f049b272f29abdf0c51_MD5.png b/src/assets/a2f3237d76883f049b272f29abdf0c51_MD5.png new file mode 100644 index 00000000..fb1822b5 Binary files /dev/null and b/src/assets/a2f3237d76883f049b272f29abdf0c51_MD5.png differ diff --git a/src/assets/a81c5f82bdf314dc4b746e5265fe0773_MD5.png b/src/assets/a81c5f82bdf314dc4b746e5265fe0773_MD5.png new file mode 100644 index 00000000..b1a644f7 Binary files /dev/null and b/src/assets/a81c5f82bdf314dc4b746e5265fe0773_MD5.png differ diff --git a/src/assets/aab13e38e1dbeb28f675129f45f38af8_MD5.png b/src/assets/aab13e38e1dbeb28f675129f45f38af8_MD5.png new file mode 100644 index 00000000..9146398f Binary files /dev/null and b/src/assets/aab13e38e1dbeb28f675129f45f38af8_MD5.png differ diff --git a/src/assets/b8282b0cdce33505057400c176ea2cc5_MD5.png b/src/assets/b8282b0cdce33505057400c176ea2cc5_MD5.png new file mode 100644 index 00000000..1cd0ccc7 Binary files /dev/null and b/src/assets/b8282b0cdce33505057400c176ea2cc5_MD5.png differ diff --git a/src/assets/cd4a48155186f0307118c55deb327ed4_MD5.png b/src/assets/cd4a48155186f0307118c55deb327ed4_MD5.png new file mode 100644 index 00000000..b0f1a33f Binary files /dev/null and b/src/assets/cd4a48155186f0307118c55deb327ed4_MD5.png differ diff --git a/src/assets/d566856af09a69bd03db196b1e3744cf_MD5.png b/src/assets/d566856af09a69bd03db196b1e3744cf_MD5.png new file mode 100644 index 00000000..6723a119 Binary files /dev/null and b/src/assets/d566856af09a69bd03db196b1e3744cf_MD5.png differ diff --git a/src/assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5.png b/src/assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5.png new file mode 100644 index 00000000..75749a24 Binary files /dev/null and b/src/assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5.png differ diff --git a/src/assets/d755599b6302d243d9938064d33f45a4_MD5.png b/src/assets/d755599b6302d243d9938064d33f45a4_MD5.png new file mode 100644 index 00000000..7f0c7637 Binary files /dev/null and b/src/assets/d755599b6302d243d9938064d33f45a4_MD5.png differ diff --git a/src/assets/d8772b1c75f067c9322b337c5b6fe717_MD5.png b/src/assets/d8772b1c75f067c9322b337c5b6fe717_MD5.png new file mode 100644 index 00000000..4cefcf00 Binary files /dev/null and b/src/assets/d8772b1c75f067c9322b337c5b6fe717_MD5.png differ diff --git a/src/assets/df5d7f252fb711f5362abd06c293f8fd_MD5.png b/src/assets/df5d7f252fb711f5362abd06c293f8fd_MD5.png new file mode 100644 index 00000000..6d6c1a2f Binary files /dev/null and b/src/assets/df5d7f252fb711f5362abd06c293f8fd_MD5.png differ diff --git a/src/assets/e05c956235f0b444099562d95e36a500_MD5.png b/src/assets/e05c956235f0b444099562d95e36a500_MD5.png new file mode 100644 index 00000000..bca005b7 Binary files /dev/null and b/src/assets/e05c956235f0b444099562d95e36a500_MD5.png differ diff --git a/src/assets/e2f9f84e616a8113ce86de71f95e6764_MD5.png b/src/assets/e2f9f84e616a8113ce86de71f95e6764_MD5.png new file mode 100644 index 00000000..d0f31076 Binary files /dev/null and b/src/assets/e2f9f84e616a8113ce86de71f95e6764_MD5.png differ diff --git a/src/assets/e32b58ee1c85587c51497c81de98d39a_MD5.png b/src/assets/e32b58ee1c85587c51497c81de98d39a_MD5.png new file mode 100644 index 00000000..92259439 Binary files /dev/null and b/src/assets/e32b58ee1c85587c51497c81de98d39a_MD5.png differ diff --git a/src/assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5.png b/src/assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5.png new file mode 100644 index 00000000..a6ebfb8f Binary files /dev/null and b/src/assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5.png differ diff --git a/src/assets/endnote-export.png b/src/assets/endnote-export.png new file mode 100644 index 00000000..93921ad2 Binary files /dev/null and b/src/assets/endnote-export.png differ diff --git a/src/assets/endnote-menu.png b/src/assets/endnote-menu.png new file mode 100644 index 00000000..92763966 Binary files /dev/null and b/src/assets/endnote-menu.png differ diff --git a/src/assets/endnote-save.png b/src/assets/endnote-save.png new file mode 100644 index 00000000..00556b63 Binary files /dev/null and b/src/assets/endnote-save.png differ diff --git a/src/assets/endnote-toxml.png b/src/assets/endnote-toxml.png new file mode 100644 index 00000000..e781923d Binary files /dev/null and b/src/assets/endnote-toxml.png differ diff --git a/src/assets/endnote-xml-open.png b/src/assets/endnote-xml-open.png new file mode 100644 index 00000000..53728285 Binary files /dev/null and b/src/assets/endnote-xml-open.png differ diff --git a/src/assets/endnote-xml.png b/src/assets/endnote-xml.png new file mode 100644 index 00000000..fa1dc432 Binary files /dev/null and b/src/assets/endnote-xml.png differ diff --git a/src/assets/endnote-zotero-caution.png b/src/assets/endnote-zotero-caution.png new file mode 100644 index 00000000..73441066 Binary files /dev/null and b/src/assets/endnote-zotero-caution.png differ diff --git a/src/assets/endnote-zotero-import-option.png b/src/assets/endnote-zotero-import-option.png new file mode 100644 index 00000000..a829ded9 Binary files /dev/null and b/src/assets/endnote-zotero-import-option.png differ diff --git a/src/assets/endnote-zotero-import-option2.png b/src/assets/endnote-zotero-import-option2.png new file mode 100644 index 00000000..a5585cad Binary files /dev/null and b/src/assets/endnote-zotero-import-option2.png differ diff --git a/src/assets/endnote-zotero-import.png b/src/assets/endnote-zotero-import.png new file mode 100644 index 00000000..c83616e0 Binary files /dev/null and b/src/assets/endnote-zotero-import.png differ diff --git a/src/assets/endnote-zotero-succ.png b/src/assets/endnote-zotero-succ.png new file mode 100644 index 00000000..2b3d8ab0 Binary files /dev/null and b/src/assets/endnote-zotero-succ.png differ diff --git a/src/assets/f12861c197d522f4d27795857b2eb167_MD5.png b/src/assets/f12861c197d522f4d27795857b2eb167_MD5.png new file mode 100644 index 00000000..0c99e252 Binary files /dev/null and b/src/assets/f12861c197d522f4d27795857b2eb167_MD5.png differ diff --git a/src/assets/f2974abc4c735ba534351be3deeb9427_MD5.png b/src/assets/f2974abc4c735ba534351be3deeb9427_MD5.png new file mode 100644 index 00000000..1df015fe Binary files /dev/null and b/src/assets/f2974abc4c735ba534351be3deeb9427_MD5.png differ diff --git a/src/assets/f30e9f8627698b66e84c9bdc9a595663_MD5.png b/src/assets/f30e9f8627698b66e84c9bdc9a595663_MD5.png new file mode 100644 index 00000000..81da4395 Binary files /dev/null and b/src/assets/f30e9f8627698b66e84c9bdc9a595663_MD5.png differ diff --git a/src/assets/f38b68d04c167de25cd6e1f59b3dea59_MD5.png b/src/assets/f38b68d04c167de25cd6e1f59b3dea59_MD5.png new file mode 100644 index 00000000..30e0404b Binary files /dev/null and b/src/assets/f38b68d04c167de25cd6e1f59b3dea59_MD5.png differ diff --git a/src/assets/f81582c347a14412dfbd1d3f98b0267b_MD5.png b/src/assets/f81582c347a14412dfbd1d3f98b0267b_MD5.png new file mode 100644 index 00000000..abdad91e Binary files /dev/null and b/src/assets/f81582c347a14412dfbd1d3f98b0267b_MD5.png differ diff --git a/src/assets/fb54e92ec7ed8c0a631028f76695a78a_MD5.png b/src/assets/fb54e92ec7ed8c0a631028f76695a78a_MD5.png new file mode 100644 index 00000000..4b13946a Binary files /dev/null and b/src/assets/fb54e92ec7ed8c0a631028f76695a78a_MD5.png differ diff --git a/src/assets/fcbe2e6cdb021edcad348da71e947a2a_MD5.png b/src/assets/fcbe2e6cdb021edcad348da71e947a2a_MD5.png new file mode 100644 index 00000000..a6a1de20 Binary files /dev/null and b/src/assets/fcbe2e6cdb021edcad348da71e947a2a_MD5.png differ diff --git a/src/assets/fec738499e295fe7967677534303846a_MD5.png b/src/assets/fec738499e295fe7967677534303846a_MD5.png new file mode 100644 index 00000000..0e25a3f3 Binary files /dev/null and b/src/assets/fec738499e295fe7967677534303846a_MD5.png differ diff --git a/src/assets/icon-collection.png b/src/assets/icon-collection.png new file mode 100644 index 00000000..daf712f0 Binary files /dev/null and b/src/assets/icon-collection.png differ diff --git a/src/assets/icon-connector-document.png b/src/assets/icon-connector-document.png new file mode 100644 index 00000000..dbc2f6cb Binary files /dev/null and b/src/assets/icon-connector-document.png differ diff --git a/src/assets/icon-connector-folder.png b/src/assets/icon-connector-folder.png new file mode 100644 index 00000000..4aee553e Binary files /dev/null and b/src/assets/icon-connector-folder.png differ diff --git a/src/assets/icon-connector-journal.png b/src/assets/icon-connector-journal.png new file mode 100644 index 00000000..835bb0ec Binary files /dev/null and b/src/assets/icon-connector-journal.png differ diff --git a/src/assets/icon-connector-thesis.png b/src/assets/icon-connector-thesis.png new file mode 100644 index 00000000..8c1db492 Binary files /dev/null and b/src/assets/icon-connector-thesis.png differ diff --git a/src/assets/icon-connector-webpage.png b/src/assets/icon-connector-webpage.png new file mode 100644 index 00000000..5bca7711 Binary files /dev/null and b/src/assets/icon-connector-webpage.png differ diff --git a/src/assets/icon-connertor-zotero.png b/src/assets/icon-connertor-zotero.png new file mode 100644 index 00000000..6e417283 Binary files /dev/null and b/src/assets/icon-connertor-zotero.png differ diff --git a/src/assets/icon-pdf.png b/src/assets/icon-pdf.png new file mode 100644 index 00000000..66429355 Binary files /dev/null and b/src/assets/icon-pdf.png differ diff --git "a/src/assets/icon-reader-\346\226\207\345\255\227\346\263\250\351\207\212.png" "b/src/assets/icon-reader-\346\226\207\345\255\227\346\263\250\351\207\212.png" new file mode 100644 index 00000000..b2cd4127 Binary files /dev/null and "b/src/assets/icon-reader-\346\226\207\345\255\227\346\263\250\351\207\212.png" differ diff --git "a/src/assets/icon-reader-\351\200\211\346\241\206\346\263\250\351\207\212.png" "b/src/assets/icon-reader-\351\200\211\346\241\206\346\263\250\351\207\212.png" new file mode 100644 index 00000000..f4685286 Binary files /dev/null and "b/src/assets/icon-reader-\351\200\211\346\241\206\346\263\250\351\207\212.png" differ diff --git "a/src/assets/icon-reader-\351\253\230\344\272\256\346\263\250\351\207\212.png" "b/src/assets/icon-reader-\351\253\230\344\272\256\346\263\250\351\207\212.png" new file mode 100644 index 00000000..9f35d83a Binary files /dev/null and "b/src/assets/icon-reader-\351\253\230\344\272\256\346\263\250\351\207\212.png" differ diff --git a/src/assets/icon-word-unlink.png b/src/assets/icon-word-unlink.png new file mode 100644 index 00000000..e1b42862 Binary files /dev/null and b/src/assets/icon-word-unlink.png differ diff --git "a/src/assets/icon-word-\345\210\267\346\226\260.png" "b/src/assets/icon-word-\345\210\267\346\226\260.png" new file mode 100644 index 00000000..a14c9039 Binary files /dev/null and "b/src/assets/icon-word-\345\210\267\346\226\260.png" differ diff --git "a/src/assets/icon-word-\346\217\222\345\205\245\345\274\225\346\226\207-large.png" "b/src/assets/icon-word-\346\217\222\345\205\245\345\274\225\346\226\207-large.png" new file mode 100644 index 00000000..8a22fb33 Binary files /dev/null and "b/src/assets/icon-word-\346\217\222\345\205\245\345\274\225\346\226\207-large.png" differ diff --git "a/src/assets/icon-word-\346\217\222\345\205\245\345\274\225\346\226\207.png" "b/src/assets/icon-word-\346\217\222\345\205\245\345\274\225\346\226\207.png" new file mode 100644 index 00000000..645f13d3 Binary files /dev/null and "b/src/assets/icon-word-\346\217\222\345\205\245\345\274\225\346\226\207.png" differ diff --git "a/src/assets/icon-word-\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271.png" "b/src/assets/icon-word-\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271.png" new file mode 100644 index 00000000..06a9964a Binary files /dev/null and "b/src/assets/icon-word-\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271.png" differ diff --git "a/src/assets/icon-word-\346\267\273\345\212\240\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-larger.png" "b/src/assets/icon-word-\346\267\273\345\212\240\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-larger.png" new file mode 100644 index 00000000..87147e6d Binary files /dev/null and "b/src/assets/icon-word-\346\267\273\345\212\240\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250-larger.png" differ diff --git "a/src/assets/icon-word-\346\267\273\345\212\240\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" "b/src/assets/icon-word-\346\267\273\345\212\240\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" new file mode 100644 index 00000000..958228f8 Binary files /dev/null and "b/src/assets/icon-word-\346\267\273\345\212\240\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" differ diff --git "a/src/assets/icon-\344\271\246\347\261\215.png" "b/src/assets/icon-\344\271\246\347\261\215.png" new file mode 100644 index 00000000..47639f1c Binary files /dev/null and "b/src/assets/icon-\344\271\246\347\261\215.png" differ diff --git "a/src/assets/icon-\344\274\232\350\256\256\350\256\272\346\226\207.png" "b/src/assets/icon-\344\274\232\350\256\256\350\256\272\346\226\207.png" new file mode 100644 index 00000000..8fad4c18 Binary files /dev/null and "b/src/assets/icon-\344\274\232\350\256\256\350\256\272\346\226\207.png" differ diff --git "a/src/assets/icon-\345\210\240\351\231\244\346\240\207\347\255\276.png" "b/src/assets/icon-\345\210\240\351\231\244\346\240\207\347\255\276.png" new file mode 100644 index 00000000..a0af4a16 Binary files /dev/null and "b/src/assets/icon-\345\210\240\351\231\244\346\240\207\347\255\276.png" differ diff --git "a/src/assets/icon-\346\210\221\347\232\204\346\226\207\345\272\223.png" "b/src/assets/icon-\346\210\221\347\232\204\346\226\207\345\272\223.png" new file mode 100644 index 00000000..2c2d6059 Binary files /dev/null and "b/src/assets/icon-\346\210\221\347\232\204\346\226\207\345\272\223.png" differ diff --git "a/src/assets/icon-\346\226\207\347\214\256\344\277\241\346\201\257\347\252\227\346\240\274.png" "b/src/assets/icon-\346\226\207\347\214\256\344\277\241\346\201\257\347\252\227\346\240\274.png" new file mode 100644 index 00000000..63dab0a0 Binary files /dev/null and "b/src/assets/icon-\346\226\207\347\214\256\344\277\241\346\201\257\347\252\227\346\240\274.png" differ diff --git "a/src/assets/icon-\346\226\260\345\273\272\345\210\206\347\261\273.png" "b/src/assets/icon-\346\226\260\345\273\272\345\210\206\347\261\273.png" new file mode 100644 index 00000000..f4093a20 Binary files /dev/null and "b/src/assets/icon-\346\226\260\345\273\272\345\210\206\347\261\273.png" differ diff --git "a/src/assets/icon-\347\254\224\350\256\260.png" "b/src/assets/icon-\347\254\224\350\256\260.png" new file mode 100644 index 00000000..c8cf2d3f Binary files /dev/null and "b/src/assets/icon-\347\254\224\350\256\260.png" differ diff --git "a/src/assets/icon-\347\254\224\350\256\260\351\231\204\344\273\266.png" "b/src/assets/icon-\347\254\224\350\256\260\351\231\204\344\273\266.png" new file mode 100644 index 00000000..4debc7a3 Binary files /dev/null and "b/src/assets/icon-\347\254\224\350\256\260\351\231\204\344\273\266.png" differ diff --git "a/src/assets/icon-\347\275\221\351\241\265\345\277\253\347\205\247.png" "b/src/assets/icon-\347\275\221\351\241\265\345\277\253\347\205\247.png" new file mode 100644 index 00000000..8fe0c358 Binary files /dev/null and "b/src/assets/icon-\347\275\221\351\241\265\345\277\253\347\205\247.png" differ diff --git "a/src/assets/icon-\351\200\232\350\277\207\346\240\207\350\257\206\347\254\246\346\267\273\345\212\240\346\235\241\347\233\256.png" "b/src/assets/icon-\351\200\232\350\277\207\346\240\207\350\257\206\347\254\246\346\267\273\345\212\240\346\235\241\347\233\256.png" new file mode 100644 index 00000000..567851a3 Binary files /dev/null and "b/src/assets/icon-\351\200\232\350\277\207\346\240\207\350\257\206\347\254\246\346\267\273\345\212\240\346\235\241\347\233\256.png" differ diff --git "a/src/assets/icon-\351\223\276\346\216\245\347\232\204\351\231\204\344\273\266.png" "b/src/assets/icon-\351\223\276\346\216\245\347\232\204\351\231\204\344\273\266.png" new file mode 100644 index 00000000..500b64cd Binary files /dev/null and "b/src/assets/icon-\351\223\276\346\216\245\347\232\204\351\231\204\344\273\266.png" differ diff --git a/src/assets/image-Refresh.png b/src/assets/image-Refresh.png new file mode 100644 index 00000000..b60ca948 Binary files /dev/null and b/src/assets/image-Refresh.png differ diff --git "a/src/assets/image-Tara-\345\210\233\345\273\272\345\244\207\344\273\275.png" "b/src/assets/image-Tara-\345\210\233\345\273\272\345\244\207\344\273\275.png" new file mode 100644 index 00000000..62849009 Binary files /dev/null and "b/src/assets/image-Tara-\345\210\233\345\273\272\345\244\207\344\273\275.png" differ diff --git "a/src/assets/image-Tara-\345\244\207\344\273\275\346\201\242\345\244\215\345\256\214\346\210\220.png" "b/src/assets/image-Tara-\345\244\207\344\273\275\346\201\242\345\244\215\345\256\214\346\210\220.png" new file mode 100644 index 00000000..4692515a Binary files /dev/null and "b/src/assets/image-Tara-\345\244\207\344\273\275\346\201\242\345\244\215\345\256\214\346\210\220.png" differ diff --git "a/src/assets/image-Tara-\345\244\207\344\273\275\346\226\207\344\273\266.png" "b/src/assets/image-Tara-\345\244\207\344\273\275\346\226\207\344\273\266.png" new file mode 100644 index 00000000..6115b679 Binary files /dev/null and "b/src/assets/image-Tara-\345\244\207\344\273\275\346\226\207\344\273\266.png" differ diff --git "a/src/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275.png" "b/src/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275.png" new file mode 100644 index 00000000..b9c876be Binary files /dev/null and "b/src/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275.png" differ diff --git "a/src/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275\346\210\220\345\212\237.png" "b/src/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275\346\210\220\345\212\237.png" new file mode 100644 index 00000000..2da062d3 Binary files /dev/null and "b/src/assets/image-Tara-\345\257\274\345\207\272\345\244\207\344\273\275\346\210\220\345\212\237.png" differ diff --git "a/src/assets/image-Tara-\345\257\274\345\207\272\347\232\204\345\244\207\344\273\275.png" "b/src/assets/image-Tara-\345\257\274\345\207\272\347\232\204\345\244\207\344\273\275.png" new file mode 100644 index 00000000..2e756bd2 Binary files /dev/null and "b/src/assets/image-Tara-\345\257\274\345\207\272\347\232\204\345\244\207\344\273\275.png" differ diff --git "a/src/assets/image-Tara-\346\201\242\345\244\215\345\244\207\344\273\275.png" "b/src/assets/image-Tara-\346\201\242\345\244\215\345\244\207\344\273\275.png" new file mode 100644 index 00000000..5e4dd033 Binary files /dev/null and "b/src/assets/image-Tara-\346\201\242\345\244\215\345\244\207\344\273\275.png" differ diff --git "a/src/assets/image-Tara-\351\200\211\346\213\251\350\246\201\346\201\242\345\244\215\347\232\204\345\244\207\344\273\275.png" "b/src/assets/image-Tara-\351\200\211\346\213\251\350\246\201\346\201\242\345\244\215\347\232\204\345\244\207\344\273\275.png" new file mode 100644 index 00000000..b38f4769 Binary files /dev/null and "b/src/assets/image-Tara-\351\200\211\346\213\251\350\246\201\346\201\242\345\244\215\347\232\204\345\244\207\344\273\275.png" differ diff --git a/src/assets/image-add-attachment.webp b/src/assets/image-add-attachment.webp new file mode 100644 index 00000000..8b8b0469 Binary files /dev/null and b/src/assets/image-add-attachment.webp differ diff --git "a/src/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260.png" "b/src/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260.png" new file mode 100644 index 00000000..3a655ab2 Binary files /dev/null and "b/src/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260.png" differ diff --git "a/src/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260\345\257\271\350\257\235\346\241\206.png" "b/src/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260\345\257\271\350\257\235\346\241\206.png" new file mode 100644 index 00000000..b5f62e37 Binary files /dev/null and "b/src/assets/image-betternotes-\345\257\274\345\207\272\347\254\224\350\256\260\345\257\271\350\257\235\346\241\206.png" differ diff --git "a/src/assets/image-betternotes-\346\267\273\345\212\240\345\210\260\344\270\273\347\254\224\350\256\260.png" "b/src/assets/image-betternotes-\346\267\273\345\212\240\345\210\260\344\270\273\347\254\224\350\256\260.png" new file mode 100644 index 00000000..412a7f09 Binary files /dev/null and "b/src/assets/image-betternotes-\346\267\273\345\212\240\345\210\260\344\270\273\347\254\224\350\256\260.png" differ diff --git "a/src/assets/image-bib-\345\244\215\345\210\266\347\273\223\346\236\234.png" "b/src/assets/image-bib-\345\244\215\345\210\266\347\273\223\346\236\234.png" new file mode 100644 index 00000000..34fae646 Binary files /dev/null and "b/src/assets/image-bib-\345\244\215\345\210\266\347\273\223\346\236\234.png" differ diff --git "a/src/assets/image-bib-\351\200\211\346\213\251\346\240\267\345\274\217.png" "b/src/assets/image-bib-\351\200\211\346\213\251\346\240\267\345\274\217.png" new file mode 100644 index 00000000..4648c379 Binary files /dev/null and "b/src/assets/image-bib-\351\200\211\346\213\251\346\240\267\345\274\217.png" differ diff --git "a/src/assets/image-bib-\351\246\226\351\241\265.png" "b/src/assets/image-bib-\351\246\226\351\241\265.png" new file mode 100644 index 00000000..5fbba838 Binary files /dev/null and "b/src/assets/image-bib-\351\246\226\351\241\265.png" differ diff --git a/src/assets/image-build-dev-server-1.png b/src/assets/image-build-dev-server-1.png new file mode 100644 index 00000000..44fb8216 Binary files /dev/null and b/src/assets/image-build-dev-server-1.png differ diff --git "a/src/assets/image-build-pr\351\242\204\350\247\210-1.png" "b/src/assets/image-build-pr\351\242\204\350\247\210-1.png" new file mode 100644 index 00000000..22cc2bb4 Binary files /dev/null and "b/src/assets/image-build-pr\351\242\204\350\247\210-1.png" differ diff --git "a/src/assets/image-build-\345\210\233\345\273\272\346\226\260\345\210\206\346\224\257-1.png" "b/src/assets/image-build-\345\210\233\345\273\272\346\226\260\345\210\206\346\224\257-1.png" new file mode 100644 index 00000000..99df6630 Binary files /dev/null and "b/src/assets/image-build-\345\210\233\345\273\272\346\226\260\345\210\206\346\224\257-1.png" differ diff --git "a/src/assets/image-build-\345\220\257\345\212\250\345\274\200\345\217\221\346\234\215\345\212\241\345\231\250-1.png" "b/src/assets/image-build-\345\220\257\345\212\250\345\274\200\345\217\221\346\234\215\345\212\241\345\231\250-1.png" new file mode 100644 index 00000000..1b11ea4c Binary files /dev/null and "b/src/assets/image-build-\345\220\257\345\212\250\345\274\200\345\217\221\346\234\215\345\212\241\345\231\250-1.png" differ diff --git "a/src/assets/image-build-\345\256\211\350\243\205\344\276\235\350\265\226-1.png" "b/src/assets/image-build-\345\256\211\350\243\205\344\276\235\350\265\226-1.png" new file mode 100644 index 00000000..7d85942b Binary files /dev/null and "b/src/assets/image-build-\345\256\211\350\243\205\344\276\235\350\265\226-1.png" differ diff --git "a/src/assets/image-build-\346\216\250\351\200\201\344\277\256\346\224\271-1.png" "b/src/assets/image-build-\346\216\250\351\200\201\344\277\256\346\224\271-1.png" new file mode 100644 index 00000000..af287cc3 Binary files /dev/null and "b/src/assets/image-build-\346\216\250\351\200\201\344\277\256\346\224\271-1.png" differ diff --git "a/src/assets/image-build-\346\217\220\344\272\244\344\277\256\346\224\271-1.png" "b/src/assets/image-build-\346\217\220\344\272\244\344\277\256\346\224\271-1.png" new file mode 100644 index 00000000..e73787e7 Binary files /dev/null and "b/src/assets/image-build-\346\217\220\344\272\244\344\277\256\346\224\271-1.png" differ diff --git "a/src/assets/image-build-\346\233\264\346\226\260main\345\210\206\346\224\257-1.png" "b/src/assets/image-build-\346\233\264\346\226\260main\345\210\206\346\224\257-1.png" new file mode 100644 index 00000000..ca80255b Binary files /dev/null and "b/src/assets/image-build-\346\233\264\346\226\260main\345\210\206\346\224\257-1.png" differ diff --git a/src/assets/image-contribute-vscode-new-branch.png b/src/assets/image-contribute-vscode-new-branch.png new file mode 100644 index 00000000..844c0360 Binary files /dev/null and b/src/assets/image-contribute-vscode-new-branch.png differ diff --git a/src/assets/image-contribution-guide-vscode1.png b/src/assets/image-contribution-guide-vscode1.png new file mode 100644 index 00000000..15438046 Binary files /dev/null and b/src/assets/image-contribution-guide-vscode1.png differ diff --git a/src/assets/image-contribution-new-branch-name.png b/src/assets/image-contribution-new-branch-name.png new file mode 100644 index 00000000..4c301974 Binary files /dev/null and b/src/assets/image-contribution-new-branch-name.png differ diff --git a/src/assets/image-contribution-switch-to-new-branch.png b/src/assets/image-contribution-switch-to-new-branch.png new file mode 100644 index 00000000..cbca9744 Binary files /dev/null and b/src/assets/image-contribution-switch-to-new-branch.png differ diff --git "a/src/assets/image-emoji\345\217\230\346\210\220\351\273\221\347\231\275.jpg" "b/src/assets/image-emoji\345\217\230\346\210\220\351\273\221\347\231\275.jpg" new file mode 100644 index 00000000..eed104c8 Binary files /dev/null and "b/src/assets/image-emoji\345\217\230\346\210\220\351\273\221\347\231\275.jpg" differ diff --git "a/src/assets/image-emoji\347\224\261\351\273\221\347\231\275\345\217\230\346\210\220\345\275\251\350\211\262.jpg" "b/src/assets/image-emoji\347\224\261\351\273\221\347\231\275\345\217\230\346\210\220\345\275\251\350\211\262.jpg" new file mode 100644 index 00000000..2360f6f7 Binary files /dev/null and "b/src/assets/image-emoji\347\224\261\351\273\221\347\231\275\345\217\230\346\210\220\345\275\251\350\211\262.jpg" differ diff --git a/src/assets/image-endnote-link-citation-to-bib.png b/src/assets/image-endnote-link-citation-to-bib.png new file mode 100644 index 00000000..4d7699fe Binary files /dev/null and b/src/assets/image-endnote-link-citation-to-bib.png differ diff --git a/src/assets/image-feed-1.png b/src/assets/image-feed-1.png new file mode 100644 index 00000000..f886ae01 Binary files /dev/null and b/src/assets/image-feed-1.png differ diff --git a/src/assets/image-feed-10.png b/src/assets/image-feed-10.png new file mode 100644 index 00000000..9ac9a586 Binary files /dev/null and b/src/assets/image-feed-10.png differ diff --git a/src/assets/image-feed-11.png b/src/assets/image-feed-11.png new file mode 100644 index 00000000..f1f144ce Binary files /dev/null and b/src/assets/image-feed-11.png differ diff --git a/src/assets/image-feed-12.png b/src/assets/image-feed-12.png new file mode 100644 index 00000000..aebc1368 Binary files /dev/null and b/src/assets/image-feed-12.png differ diff --git a/src/assets/image-feed-13.png b/src/assets/image-feed-13.png new file mode 100644 index 00000000..059b7b14 Binary files /dev/null and b/src/assets/image-feed-13.png differ diff --git a/src/assets/image-feed-14.png b/src/assets/image-feed-14.png new file mode 100644 index 00000000..31b3ae12 Binary files /dev/null and b/src/assets/image-feed-14.png differ diff --git a/src/assets/image-feed-15.png b/src/assets/image-feed-15.png new file mode 100644 index 00000000..0106e548 Binary files /dev/null and b/src/assets/image-feed-15.png differ diff --git a/src/assets/image-feed-16.png b/src/assets/image-feed-16.png new file mode 100644 index 00000000..32962b1c Binary files /dev/null and b/src/assets/image-feed-16.png differ diff --git a/src/assets/image-feed-17.png b/src/assets/image-feed-17.png new file mode 100644 index 00000000..1b0fdffa Binary files /dev/null and b/src/assets/image-feed-17.png differ diff --git a/src/assets/image-feed-18.png b/src/assets/image-feed-18.png new file mode 100644 index 00000000..9a5b9a4a Binary files /dev/null and b/src/assets/image-feed-18.png differ diff --git a/src/assets/image-feed-19.png b/src/assets/image-feed-19.png new file mode 100644 index 00000000..9c6b6d2c Binary files /dev/null and b/src/assets/image-feed-19.png differ diff --git a/src/assets/image-feed-2.png b/src/assets/image-feed-2.png new file mode 100644 index 00000000..3989a14c Binary files /dev/null and b/src/assets/image-feed-2.png differ diff --git a/src/assets/image-feed-20.png b/src/assets/image-feed-20.png new file mode 100644 index 00000000..b9e3d02a Binary files /dev/null and b/src/assets/image-feed-20.png differ diff --git a/src/assets/image-feed-21.png b/src/assets/image-feed-21.png new file mode 100644 index 00000000..447e7482 Binary files /dev/null and b/src/assets/image-feed-21.png differ diff --git a/src/assets/image-feed-22.png b/src/assets/image-feed-22.png new file mode 100644 index 00000000..045bb507 Binary files /dev/null and b/src/assets/image-feed-22.png differ diff --git a/src/assets/image-feed-23.png b/src/assets/image-feed-23.png new file mode 100644 index 00000000..1f568f89 Binary files /dev/null and b/src/assets/image-feed-23.png differ diff --git a/src/assets/image-feed-24.png b/src/assets/image-feed-24.png new file mode 100644 index 00000000..c82fdbbe Binary files /dev/null and b/src/assets/image-feed-24.png differ diff --git a/src/assets/image-feed-25.png b/src/assets/image-feed-25.png new file mode 100644 index 00000000..9f90764f Binary files /dev/null and b/src/assets/image-feed-25.png differ diff --git a/src/assets/image-feed-26.png b/src/assets/image-feed-26.png new file mode 100644 index 00000000..82b26114 Binary files /dev/null and b/src/assets/image-feed-26.png differ diff --git a/src/assets/image-feed-3.png b/src/assets/image-feed-3.png new file mode 100644 index 00000000..5e166860 Binary files /dev/null and b/src/assets/image-feed-3.png differ diff --git a/src/assets/image-feed-5.png b/src/assets/image-feed-5.png new file mode 100644 index 00000000..8a6352c9 Binary files /dev/null and b/src/assets/image-feed-5.png differ diff --git a/src/assets/image-feed-6.png b/src/assets/image-feed-6.png new file mode 100644 index 00000000..00fb0bbf Binary files /dev/null and b/src/assets/image-feed-6.png differ diff --git a/src/assets/image-feed-7.png b/src/assets/image-feed-7.png new file mode 100644 index 00000000..a74217a9 Binary files /dev/null and b/src/assets/image-feed-7.png differ diff --git a/src/assets/image-feed-8.png b/src/assets/image-feed-8.png new file mode 100644 index 00000000..a337341f Binary files /dev/null and b/src/assets/image-feed-8.png differ diff --git a/src/assets/image-feed-9.png b/src/assets/image-feed-9.png new file mode 100644 index 00000000..6f24a35e Binary files /dev/null and b/src/assets/image-feed-9.png differ diff --git a/src/assets/image-fork-repo-1.png b/src/assets/image-fork-repo-1.png new file mode 100644 index 00000000..5e16f0e3 Binary files /dev/null and b/src/assets/image-fork-repo-1.png differ diff --git a/src/assets/image-fork-repo-2-1.png b/src/assets/image-fork-repo-2-1.png new file mode 100644 index 00000000..9f6ed9e5 Binary files /dev/null and b/src/assets/image-fork-repo-2-1.png differ diff --git a/src/assets/image-get-metadata-cn1.webp b/src/assets/image-get-metadata-cn1.webp new file mode 100644 index 00000000..7c4cbbc4 Binary files /dev/null and b/src/assets/image-get-metadata-cn1.webp differ diff --git a/src/assets/image-get-metadata-cnki-error.jpg b/src/assets/image-get-metadata-cnki-error.jpg new file mode 100644 index 00000000..67402289 Binary files /dev/null and b/src/assets/image-get-metadata-cnki-error.jpg differ diff --git a/src/assets/image-get-metadata-cnki-template.jpg b/src/assets/image-get-metadata-cnki-template.jpg new file mode 100644 index 00000000..76e04eaf Binary files /dev/null and b/src/assets/image-get-metadata-cnki-template.jpg differ diff --git a/src/assets/image-get-metadata-cnki.jpg b/src/assets/image-get-metadata-cnki.jpg new file mode 100644 index 00000000..52726f70 Binary files /dev/null and b/src/assets/image-get-metadata-cnki.jpg differ diff --git a/src/assets/image-get-metadata-en1.webp b/src/assets/image-get-metadata-en1.webp new file mode 100644 index 00000000..b352d43d Binary files /dev/null and b/src/assets/image-get-metadata-en1.webp differ diff --git a/src/assets/image-get-metadata-en2.webp b/src/assets/image-get-metadata-en2.webp new file mode 100644 index 00000000..54dcf433 Binary files /dev/null and b/src/assets/image-get-metadata-en2.webp differ diff --git "a/src/assets/image-github\344\270\213\350\275\275\345\274\225\346\226\207\346\240\274\345\274\217.png" "b/src/assets/image-github\344\270\213\350\275\275\345\274\225\346\226\207\346\240\274\345\274\217.png" new file mode 100644 index 00000000..7664be9b Binary files /dev/null and "b/src/assets/image-github\344\270\213\350\275\275\345\274\225\346\226\207\346\240\274\345\274\217.png" differ diff --git a/src/assets/image-group-10.png b/src/assets/image-group-10.png new file mode 100644 index 00000000..0aec79f8 Binary files /dev/null and b/src/assets/image-group-10.png differ diff --git a/src/assets/image-group-11.png b/src/assets/image-group-11.png new file mode 100644 index 00000000..78ce9333 Binary files /dev/null and b/src/assets/image-group-11.png differ diff --git a/src/assets/image-group-12.png b/src/assets/image-group-12.png new file mode 100644 index 00000000..a458959c Binary files /dev/null and b/src/assets/image-group-12.png differ diff --git a/src/assets/image-group-13.png b/src/assets/image-group-13.png new file mode 100644 index 00000000..6bfbb4cb Binary files /dev/null and b/src/assets/image-group-13.png differ diff --git a/src/assets/image-group-14.png b/src/assets/image-group-14.png new file mode 100644 index 00000000..00c7cab7 Binary files /dev/null and b/src/assets/image-group-14.png differ diff --git a/src/assets/image-group-15.png b/src/assets/image-group-15.png new file mode 100644 index 00000000..41b4fcae Binary files /dev/null and b/src/assets/image-group-15.png differ diff --git a/src/assets/image-group-16.png b/src/assets/image-group-16.png new file mode 100644 index 00000000..f34fc033 Binary files /dev/null and b/src/assets/image-group-16.png differ diff --git "a/src/assets/image-iOS\345\220\214\346\255\245\347\231\273\351\231\206.png" "b/src/assets/image-iOS\345\220\214\346\255\245\347\231\273\351\231\206.png" new file mode 100644 index 00000000..df7a1af8 Binary files /dev/null and "b/src/assets/image-iOS\345\220\214\346\255\245\347\231\273\351\231\206.png" differ diff --git "a/src/assets/image-iOS\346\226\207\347\214\256\345\220\214\346\255\245\346\210\220\345\212\237.png" "b/src/assets/image-iOS\346\226\207\347\214\256\345\220\214\346\255\245\346\210\220\345\212\237.png" new file mode 100644 index 00000000..e57b2bc7 Binary files /dev/null and "b/src/assets/image-iOS\346\226\207\347\214\256\345\220\214\346\255\245\346\210\220\345\212\237.png" differ diff --git "a/src/assets/image-iOS\346\226\207\347\214\256\351\230\205\350\257\273.png" "b/src/assets/image-iOS\346\226\207\347\214\256\351\230\205\350\257\273.png" new file mode 100644 index 00000000..5a8c23b3 Binary files /dev/null and "b/src/assets/image-iOS\346\226\207\347\214\256\351\230\205\350\257\273.png" differ diff --git "a/src/assets/image-iOS\347\231\273\351\231\206.jpg" "b/src/assets/image-iOS\347\231\273\351\231\206.jpg" new file mode 100644 index 00000000..4109be41 Binary files /dev/null and "b/src/assets/image-iOS\347\231\273\351\231\206.jpg" differ diff --git "a/src/assets/image-iOS\351\246\226\351\241\265.png" "b/src/assets/image-iOS\351\246\226\351\241\265.png" new file mode 100644 index 00000000..a26c392f Binary files /dev/null and "b/src/assets/image-iOS\351\246\226\351\241\265.png" differ diff --git a/src/assets/image-importing_standardized_formats_1.webp b/src/assets/image-importing_standardized_formats_1.webp new file mode 100644 index 00000000..94ee95b8 Binary files /dev/null and b/src/assets/image-importing_standardized_formats_1.webp differ diff --git a/src/assets/image-importing_standardized_formats_2.webp b/src/assets/image-importing_standardized_formats_2.webp new file mode 100644 index 00000000..41ce9671 Binary files /dev/null and b/src/assets/image-importing_standardized_formats_2.webp differ diff --git a/src/assets/image-importing_standardized_formats_3.webp b/src/assets/image-importing_standardized_formats_3.webp new file mode 100644 index 00000000..639fc04d Binary files /dev/null and b/src/assets/image-importing_standardized_formats_3.webp differ diff --git a/src/assets/image-importing_standardized_formats_4.webp b/src/assets/image-importing_standardized_formats_4.webp new file mode 100644 index 00000000..0d385077 Binary files /dev/null and b/src/assets/image-importing_standardized_formats_4.webp differ diff --git a/src/assets/image-importing_standardized_formats_5.webp b/src/assets/image-importing_standardized_formats_5.webp new file mode 100644 index 00000000..0f848dc4 Binary files /dev/null and b/src/assets/image-importing_standardized_formats_5.webp differ diff --git a/src/assets/image-importing_standardized_formats_6.webp b/src/assets/image-importing_standardized_formats_6.webp new file mode 100644 index 00000000..dee85c0c Binary files /dev/null and b/src/assets/image-importing_standardized_formats_6.webp differ diff --git a/src/assets/image-manual-add-item-1.png b/src/assets/image-manual-add-item-1.png new file mode 100644 index 00000000..f8ccf6a3 Binary files /dev/null and b/src/assets/image-manual-add-item-1.png differ diff --git a/src/assets/image-manual-add-item-2.png b/src/assets/image-manual-add-item-2.png new file mode 100644 index 00000000..c6bf44bf Binary files /dev/null and b/src/assets/image-manual-add-item-2.png differ diff --git a/src/assets/image-manual-add-item-3.png b/src/assets/image-manual-add-item-3.png new file mode 100644 index 00000000..4a1fb716 Binary files /dev/null and b/src/assets/image-manual-add-item-3.png differ diff --git a/src/assets/image-manual-add-item-4.png b/src/assets/image-manual-add-item-4.png new file mode 100644 index 00000000..bb690dcd Binary files /dev/null and b/src/assets/image-manual-add-item-4.png differ diff --git a/src/assets/image-manual-add-item-5.png b/src/assets/image-manual-add-item-5.png new file mode 100644 index 00000000..8d6173c8 Binary files /dev/null and b/src/assets/image-manual-add-item-5.png differ diff --git "a/src/assets/image-menu-\346\226\207\344\273\266.png" "b/src/assets/image-menu-\346\226\207\344\273\266.png" new file mode 100644 index 00000000..ad7ce0a8 Binary files /dev/null and "b/src/assets/image-menu-\346\226\207\344\273\266.png" differ diff --git a/src/assets/image-miniconda-install.png b/src/assets/image-miniconda-install.png new file mode 100644 index 00000000..0786f26e Binary files /dev/null and b/src/assets/image-miniconda-install.png differ diff --git a/src/assets/image-python-install.png b/src/assets/image-python-install.png new file mode 100644 index 00000000..e744951b Binary files /dev/null and b/src/assets/image-python-install.png differ diff --git "a/src/assets/image-reader-\345\210\222\351\200\211.png" "b/src/assets/image-reader-\345\210\222\351\200\211.png" new file mode 100644 index 00000000..f0724d8c Binary files /dev/null and "b/src/assets/image-reader-\345\210\222\351\200\211.png" differ diff --git "a/src/assets/image-reader-\346\263\250\351\207\212.png" "b/src/assets/image-reader-\346\263\250\351\207\212.png" new file mode 100644 index 00000000..e445e9d0 Binary files /dev/null and "b/src/assets/image-reader-\346\263\250\351\207\212.png" differ diff --git "a/src/assets/image-reader-\346\263\250\351\207\212\350\257\246\346\203\205.png" "b/src/assets/image-reader-\346\263\250\351\207\212\350\257\246\346\203\205.png" new file mode 100644 index 00000000..2c36ae65 Binary files /dev/null and "b/src/assets/image-reader-\346\263\250\351\207\212\350\257\246\346\203\205.png" differ diff --git "a/src/assets/image-reader-\347\247\273\345\212\250\351\200\211\351\241\271\345\215\241.png" "b/src/assets/image-reader-\347\247\273\345\212\250\351\200\211\351\241\271\345\215\241.png" new file mode 100644 index 00000000..61f6e0ef Binary files /dev/null and "b/src/assets/image-reader-\347\247\273\345\212\250\351\200\211\351\241\271\345\215\241.png" differ diff --git "a/src/assets/image-reader-\350\256\276\347\275\256\346\263\250\351\207\212\351\242\234\350\211\262.png" "b/src/assets/image-reader-\350\256\276\347\275\256\346\263\250\351\207\212\351\242\234\350\211\262.png" new file mode 100644 index 00000000..419c8eaa Binary files /dev/null and "b/src/assets/image-reader-\350\256\276\347\275\256\346\263\250\351\207\212\351\242\234\350\211\262.png" differ diff --git a/src/assets/image-rename-attachment.png b/src/assets/image-rename-attachment.png new file mode 100644 index 00000000..ad9149c4 Binary files /dev/null and b/src/assets/image-rename-attachment.png differ diff --git a/src/assets/image-run-cmd.png b/src/assets/image-run-cmd.png new file mode 100644 index 00000000..7cf63f36 Binary files /dev/null and b/src/assets/image-run-cmd.png differ diff --git a/src/assets/image-run-python-version.png b/src/assets/image-run-python-version.png new file mode 100644 index 00000000..66440920 Binary files /dev/null and b/src/assets/image-run-python-version.png differ diff --git a/src/assets/image-settings-reinstalll-word-plugin.png b/src/assets/image-settings-reinstalll-word-plugin.png new file mode 100644 index 00000000..0b6b8967 Binary files /dev/null and b/src/assets/image-settings-reinstalll-word-plugin.png differ diff --git a/src/assets/image-tools-addon.png b/src/assets/image-tools-addon.png new file mode 100644 index 00000000..e61bfd5c Binary files /dev/null and b/src/assets/image-tools-addon.png differ diff --git "a/src/assets/image-translators\346\226\207\344\273\266.png" "b/src/assets/image-translators\346\226\207\344\273\266.png" new file mode 100644 index 00000000..f011ce27 Binary files /dev/null and "b/src/assets/image-translators\346\226\207\344\273\266.png" differ diff --git a/src/assets/image-update-official-translators.jpg b/src/assets/image-update-official-translators.jpg new file mode 100644 index 00000000..f76de927 Binary files /dev/null and b/src/assets/image-update-official-translators.jpg differ diff --git a/src/assets/image-update-translator-chrome-1.jpg b/src/assets/image-update-translator-chrome-1.jpg new file mode 100644 index 00000000..c0fe18a1 Binary files /dev/null and b/src/assets/image-update-translator-chrome-1.jpg differ diff --git a/src/assets/image-update-translator-chrome-2.jpg b/src/assets/image-update-translator-chrome-2.jpg new file mode 100644 index 00000000..7fc49385 Binary files /dev/null and b/src/assets/image-update-translator-chrome-2.jpg differ diff --git a/src/assets/image-update-translator-safari-1.jpg b/src/assets/image-update-translator-safari-1.jpg new file mode 100644 index 00000000..dd839de6 Binary files /dev/null and b/src/assets/image-update-translator-safari-1.jpg differ diff --git a/src/assets/image-update-translator-safari-2.jpg b/src/assets/image-update-translator-safari-2.jpg new file mode 100644 index 00000000..3aad702b Binary files /dev/null and b/src/assets/image-update-translator-safari-2.jpg differ diff --git a/src/assets/image-update-unofficial-translators.jpg b/src/assets/image-update-unofficial-translators.jpg new file mode 100644 index 00000000..3b5ef817 Binary files /dev/null and b/src/assets/image-update-unofficial-translators.jpg differ diff --git "a/src/assets/image-word-zotero\347\252\227\346\240\274.png" "b/src/assets/image-word-zotero\347\252\227\346\240\274.png" new file mode 100644 index 00000000..1b3ef760 Binary files /dev/null and "b/src/assets/image-word-zotero\347\252\227\346\240\274.png" differ diff --git "a/src/assets/image-word-\345\210\207\346\215\242\347\273\217\345\205\270\350\247\206\345\233\276.png" "b/src/assets/image-word-\345\210\207\346\215\242\347\273\217\345\205\270\350\247\206\345\233\276.png" new file mode 100644 index 00000000..ee0d6078 Binary files /dev/null and "b/src/assets/image-word-\345\210\207\346\215\242\347\273\217\345\205\270\350\247\206\345\233\276.png" differ diff --git "a/src/assets/image-word-\345\237\237\344\273\243\347\240\201.png" "b/src/assets/image-word-\345\237\237\344\273\243\347\240\201.png" new file mode 100644 index 00000000..d5a27ed0 Binary files /dev/null and "b/src/assets/image-word-\345\237\237\344\273\243\347\240\201.png" differ diff --git "a/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-\346\267\273\345\212\240\345\244\232\346\235\245\346\272\220.png" "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-\346\267\273\345\212\240\345\244\232\346\235\245\346\272\220.png" new file mode 100644 index 00000000..61612457 Binary files /dev/null and "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270-\346\267\273\345\212\240\345\244\232\346\235\245\346\272\220.png" differ diff --git "a/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270.png" "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270.png" new file mode 100644 index 00000000..60aec1f7 Binary files /dev/null and "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206-\347\273\217\345\205\270.png" differ diff --git "a/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206.png" "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206.png" new file mode 100644 index 00000000..e4448ac9 Binary files /dev/null and "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206.png" differ diff --git "a/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\2062.png" "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\2062.png" new file mode 100644 index 00000000..dd58f5c5 Binary files /dev/null and "b/src/assets/image-word-\345\274\225\346\226\207\345\257\271\350\257\235\346\241\2062.png" differ diff --git "a/src/assets/image-word-\347\241\256\350\256\244\344\277\235\345\255\230\344\277\256\346\224\271.png" "b/src/assets/image-word-\347\241\256\350\256\244\344\277\235\345\255\230\344\277\256\346\224\271.png" new file mode 100644 index 00000000..2a8a2358 Binary files /dev/null and "b/src/assets/image-word-\347\241\256\350\256\244\344\277\235\345\255\230\344\277\256\346\224\271.png" differ diff --git "a/src/assets/image-word-\347\274\226\350\276\221\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" "b/src/assets/image-word-\347\274\226\350\276\221\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" new file mode 100644 index 00000000..f1408db2 Binary files /dev/null and "b/src/assets/image-word-\347\274\226\350\276\221\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" differ diff --git "a/src/assets/image-word-\347\274\226\350\276\221\345\274\225\346\226\207.png" "b/src/assets/image-word-\347\274\226\350\276\221\345\274\225\346\226\207.png" new file mode 100644 index 00000000..4fba9e55 Binary files /dev/null and "b/src/assets/image-word-\347\274\226\350\276\221\345\274\225\346\226\207.png" differ diff --git "a/src/assets/image-word\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271\347\252\227\346\240\274.png" "b/src/assets/image-word\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271\347\252\227\346\240\274.png" new file mode 100644 index 00000000..14ba5825 Binary files /dev/null and "b/src/assets/image-word\346\226\207\346\241\243\351\246\226\351\200\211\351\241\271\347\252\227\346\240\274.png" differ diff --git a/src/assets/image-wps-install.png b/src/assets/image-wps-install.png new file mode 100644 index 00000000..941b471f Binary files /dev/null and b/src/assets/image-wps-install.png differ diff --git a/src/assets/image-wps-plugin-ui-buttons.png b/src/assets/image-wps-plugin-ui-buttons.png new file mode 100644 index 00000000..7fbb91cf Binary files /dev/null and b/src/assets/image-wps-plugin-ui-buttons.png differ diff --git a/src/assets/image-wps-plugin-ui.png b/src/assets/image-wps-plugin-ui.png new file mode 100644 index 00000000..0d632e6b Binary files /dev/null and b/src/assets/image-wps-plugin-ui.png differ diff --git a/src/assets/image-wps-success.png b/src/assets/image-wps-success.png new file mode 100644 index 00000000..fa55d5d0 Binary files /dev/null and b/src/assets/image-wps-success.png differ diff --git a/src/assets/image-wps-vba-plugin-install-path.png b/src/assets/image-wps-vba-plugin-install-path.png new file mode 100644 index 00000000..66ebbf07 Binary files /dev/null and b/src/assets/image-wps-vba-plugin-install-path.png differ diff --git a/src/assets/image-wps-warn1.png b/src/assets/image-wps-warn1.png new file mode 100644 index 00000000..96264b59 Binary files /dev/null and b/src/assets/image-wps-warn1.png differ diff --git a/src/assets/image-wps-warn2.png b/src/assets/image-wps-warn2.png new file mode 100644 index 00000000..9186b468 Binary files /dev/null and b/src/assets/image-wps-warn2.png differ diff --git "a/src/assets/image-wps-\346\262\241\346\234\211\346\230\276\347\244\272\345\212\240\350\275\275\351\241\271.png" "b/src/assets/image-wps-\346\262\241\346\234\211\346\230\276\347\244\272\345\212\240\350\275\275\351\241\271.png" new file mode 100644 index 00000000..a8a33395 Binary files /dev/null and "b/src/assets/image-wps-\346\262\241\346\234\211\346\230\276\347\244\272\345\212\240\350\275\275\351\241\271.png" differ diff --git a/src/assets/image-zoo-download-pdf.png b/src/assets/image-zoo-download-pdf.png new file mode 100644 index 00000000..cbe100b2 Binary files /dev/null and b/src/assets/image-zoo-download-pdf.png differ diff --git "a/src/assets/image-zoo-webdav\350\256\276\347\275\256.png" "b/src/assets/image-zoo-webdav\350\256\276\347\275\256.png" new file mode 100644 index 00000000..e4c31f08 Binary files /dev/null and "b/src/assets/image-zoo-webdav\350\256\276\347\275\256.png" differ diff --git "a/src/assets/image-zoo\345\212\240\350\275\275\346\225\260\346\215\256.png" "b/src/assets/image-zoo\345\212\240\350\275\275\346\225\260\346\215\256.png" new file mode 100644 index 00000000..f6f7e1d6 Binary files /dev/null and "b/src/assets/image-zoo\345\212\240\350\275\275\346\225\260\346\215\256.png" differ diff --git "a/src/assets/image-zoo\346\267\273\345\212\240zotero\345\257\206\351\222\245.png" "b/src/assets/image-zoo\346\267\273\345\212\240zotero\345\257\206\351\222\245.png" new file mode 100644 index 00000000..32d45e47 Binary files /dev/null and "b/src/assets/image-zoo\346\267\273\345\212\240zotero\345\257\206\351\222\245.png" differ diff --git a/src/assets/image-zotero-about-zotero.png b/src/assets/image-zotero-about-zotero.png new file mode 100644 index 00000000..88537987 Binary files /dev/null and b/src/assets/image-zotero-about-zotero.png differ diff --git a/src/assets/image-zotero-addon-manager.png b/src/assets/image-zotero-addon-manager.png new file mode 100644 index 00000000..ee0ff6f0 Binary files /dev/null and b/src/assets/image-zotero-addon-manager.png differ diff --git a/src/assets/image-zotero-group-new-group.png b/src/assets/image-zotero-group-new-group.png new file mode 100644 index 00000000..69b011fe Binary files /dev/null and b/src/assets/image-zotero-group-new-group.png differ diff --git a/src/assets/image-zotero-layers.acceleration.disabled.png b/src/assets/image-zotero-layers.acceleration.disabled.png new file mode 100644 index 00000000..9813e34a Binary files /dev/null and b/src/assets/image-zotero-layers.acceleration.disabled.png differ diff --git a/src/assets/image-zotero-plugin-install.png b/src/assets/image-zotero-plugin-install.png new file mode 100644 index 00000000..3f893276 Binary files /dev/null and b/src/assets/image-zotero-plugin-install.png differ diff --git a/src/assets/image-zotero-plugin-update.png b/src/assets/image-zotero-plugin-update.png new file mode 100644 index 00000000..ab5e6b08 Binary files /dev/null and b/src/assets/image-zotero-plugin-update.png differ diff --git "a/src/assets/image-zotero-webdav\347\275\221\345\235\200\350\256\276\347\275\256.png" "b/src/assets/image-zotero-webdav\347\275\221\345\235\200\350\256\276\347\275\256.png" new file mode 100644 index 00000000..4318e15d Binary files /dev/null and "b/src/assets/image-zotero-webdav\347\275\221\345\235\200\350\256\276\347\275\256.png" differ diff --git "a/src/assets/image-zotero-\344\277\256\346\224\271font.name-list.emoji.png" "b/src/assets/image-zotero-\344\277\256\346\224\271font.name-list.emoji.png" new file mode 100644 index 00000000..7fde6e08 Binary files /dev/null and "b/src/assets/image-zotero-\344\277\256\346\224\271font.name-list.emoji.png" differ diff --git "a/src/assets/image-zotero-\345\210\233\345\273\272\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" "b/src/assets/image-zotero-\345\210\233\345\273\272\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" new file mode 100644 index 00000000..9aa324e7 Binary files /dev/null and "b/src/assets/image-zotero-\345\210\233\345\273\272\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" differ diff --git "a/src/assets/image-zotero-\345\220\214\346\255\245\345\233\276\346\240\207.png" "b/src/assets/image-zotero-\345\220\214\346\255\245\345\233\276\346\240\207.png" new file mode 100644 index 00000000..75de83a2 Binary files /dev/null and "b/src/assets/image-zotero-\345\220\214\346\255\245\345\233\276\346\240\207.png" differ diff --git "a/src/assets/image-zotero-\345\256\211\350\243\205\346\234\254\345\234\260\345\274\225\346\226\207\346\240\274\345\274\217.png" "b/src/assets/image-zotero-\345\256\211\350\243\205\346\234\254\345\234\260\345\274\225\346\226\207\346\240\274\345\274\217.png" new file mode 100644 index 00000000..a7f38769 Binary files /dev/null and "b/src/assets/image-zotero-\345\256\211\350\243\205\346\234\254\345\234\260\345\274\225\346\226\207\346\240\274\345\274\217.png" differ diff --git "a/src/assets/image-zotero-\345\256\230\346\226\271\345\274\225\346\226\207\346\240\274\345\274\217.png" "b/src/assets/image-zotero-\345\256\230\346\226\271\345\274\225\346\226\207\346\240\274\345\274\217.png" new file mode 100644 index 00000000..59baab26 Binary files /dev/null and "b/src/assets/image-zotero-\345\256\230\346\226\271\345\274\225\346\226\207\346\240\274\345\274\217.png" differ diff --git "a/src/assets/image-zotero-\345\270\220\345\217\267\347\231\273\351\231\206.png" "b/src/assets/image-zotero-\345\270\220\345\217\267\347\231\273\351\231\206.png" new file mode 100644 index 00000000..24cee009 Binary files /dev/null and "b/src/assets/image-zotero-\345\270\220\345\217\267\347\231\273\351\231\206.png" differ diff --git "a/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275.png" "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275.png" new file mode 100644 index 00000000..88f06e75 Binary files /dev/null and "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275.png" differ diff --git "a/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\345\256\211\350\243\205\345\256\214\346\210\220.png" "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\345\256\211\350\243\205\345\256\214\346\210\220.png" new file mode 100644 index 00000000..7cbead92 Binary files /dev/null and "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\345\256\211\350\243\205\345\256\214\346\210\220.png" differ diff --git "a/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\345\256\211\350\243\205\346\226\271\345\274\217.png" "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\345\256\211\350\243\205\346\226\271\345\274\217.png" new file mode 100644 index 00000000..06d5a0fa Binary files /dev/null and "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\345\256\211\350\243\205\346\226\271\345\274\217.png" differ diff --git "a/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\347\256\241\347\220\206.png" "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\347\256\241\347\220\206.png" new file mode 100644 index 00000000..e2f9fad9 Binary files /dev/null and "b/src/assets/image-zotero-\345\274\225\346\226\207\346\240\274\345\274\217\347\256\241\347\220\206.png" differ diff --git "a/src/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251.png" "b/src/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251.png" new file mode 100644 index 00000000..17181014 Binary files /dev/null and "b/src/assets/image-zotero-\346\210\221\345\220\214\346\204\217\346\211\277\346\213\205\351\243\216\351\231\251.png" differ diff --git "a/src/assets/image-zotero-\346\217\222\344\273\266\345\256\211\350\243\205\345\244\261\350\264\245.png" "b/src/assets/image-zotero-\346\217\222\344\273\266\345\256\211\350\243\205\345\244\261\350\264\245.png" new file mode 100644 index 00000000..c9e4bfec Binary files /dev/null and "b/src/assets/image-zotero-\346\217\222\344\273\266\345\256\211\350\243\205\345\244\261\350\264\245.png" differ diff --git "a/src/assets/image-zotero-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256.png" "b/src/assets/image-zotero-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256.png" new file mode 100644 index 00000000..9bbba910 Binary files /dev/null and "b/src/assets/image-zotero-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256.png" differ diff --git "a/src/assets/image-zotero-\347\231\273\351\231\206webdav\350\264\246\346\210\267.png" "b/src/assets/image-zotero-\347\231\273\351\231\206webdav\350\264\246\346\210\267.png" new file mode 100644 index 00000000..ad39c5fd Binary files /dev/null and "b/src/assets/image-zotero-\347\231\273\351\231\206webdav\350\264\246\346\210\267.png" differ diff --git "a/src/assets/image-zotero-\347\246\201\347\224\250\346\217\222\344\273\266.png" "b/src/assets/image-zotero-\347\246\201\347\224\250\346\217\222\344\273\266.png" new file mode 100644 index 00000000..85ff8507 Binary files /dev/null and "b/src/assets/image-zotero-\347\246\201\347\224\250\346\217\222\344\273\266.png" differ diff --git "a/src/assets/image-zotero-\347\274\226\350\276\221\345\231\250.png" "b/src/assets/image-zotero-\347\274\226\350\276\221\345\231\250.png" new file mode 100644 index 00000000..b9ed7e6d Binary files /dev/null and "b/src/assets/image-zotero-\347\274\226\350\276\221\345\231\250.png" differ diff --git "a/src/assets/image-zotero-\350\216\267\345\217\226\346\233\264\345\244\232\345\274\225\346\226\207\346\240\274\345\274\217.png" "b/src/assets/image-zotero-\350\216\267\345\217\226\346\233\264\345\244\232\345\274\225\346\226\207\346\240\274\345\274\217.png" new file mode 100644 index 00000000..b38ec96e Binary files /dev/null and "b/src/assets/image-zotero-\350\216\267\345\217\226\346\233\264\345\244\232\345\274\225\346\226\207\346\240\274\345\274\217.png" differ diff --git "a/src/assets/image-zotero-\351\200\200\345\207\272\350\264\246\346\210\267.png" "b/src/assets/image-zotero-\351\200\200\345\207\272\350\264\246\346\210\267.png" new file mode 100644 index 00000000..01189f3e Binary files /dev/null and "b/src/assets/image-zotero-\351\200\200\345\207\272\350\264\246\346\210\267.png" differ diff --git "a/src/assets/image-zotero-\351\200\211\346\213\251\345\217\202\350\200\203\346\226\207\347\214\256.png" "b/src/assets/image-zotero-\351\200\211\346\213\251\345\217\202\350\200\203\346\226\207\347\214\256.png" new file mode 100644 index 00000000..7cc138dd Binary files /dev/null and "b/src/assets/image-zotero-\351\200\211\346\213\251\345\217\202\350\200\203\346\226\207\347\214\256.png" differ diff --git "a/src/assets/image-zotero-\351\200\211\346\213\251\345\274\225\346\226\207\346\240\274\345\274\217\345\217\212\350\276\223\345\207\272\346\226\271\345\274\217.png" "b/src/assets/image-zotero-\351\200\211\346\213\251\345\274\225\346\226\207\346\240\274\345\274\217\345\217\212\350\276\223\345\207\272\346\226\271\345\274\217.png" new file mode 100644 index 00000000..b3e470fa Binary files /dev/null and "b/src/assets/image-zotero-\351\200\211\346\213\251\345\274\225\346\226\207\346\240\274\345\274\217\345\217\212\350\276\223\345\207\272\346\226\271\345\274\217.png" differ diff --git "a/src/assets/image-zotero-\351\273\221\350\211\262\351\201\256\346\214\241.png" "b/src/assets/image-zotero-\351\273\221\350\211\262\351\201\256\346\214\241.png" new file mode 100644 index 00000000..873c6383 Binary files /dev/null and "b/src/assets/image-zotero-\351\273\221\350\211\262\351\201\256\346\214\241.png" differ diff --git "a/src/assets/image-zotero\345\256\230\346\226\271-\346\217\222\345\205\245\345\274\225\346\226\207.png" "b/src/assets/image-zotero\345\256\230\346\226\271-\346\217\222\345\205\245\345\274\225\346\226\207.png" new file mode 100644 index 00000000..0ff94ddd Binary files /dev/null and "b/src/assets/image-zotero\345\256\230\346\226\271-\346\217\222\345\205\245\345\274\225\346\226\207.png" differ diff --git "a/src/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-connector.png" "b/src/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-connector.png" new file mode 100644 index 00000000..89c3a88f Binary files /dev/null and "b/src/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-connector.png" differ diff --git "a/src/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-\347\256\241\347\220\206\346\235\241\347\233\256.png" "b/src/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-\347\256\241\347\220\206\346\235\241\347\233\256.png" new file mode 100644 index 00000000..41a63518 Binary files /dev/null and "b/src/assets/image-zotero\345\256\230\346\226\271-\346\270\262\346\237\223\345\233\276-\347\256\241\347\220\206\346\235\241\347\233\256.png" differ diff --git "a/src/assets/image-\344\270\213\350\275\275Zotero.png" "b/src/assets/image-\344\270\213\350\275\275Zotero.png" new file mode 100644 index 00000000..ee9bbed2 Binary files /dev/null and "b/src/assets/image-\344\270\213\350\275\275Zotero.png" differ diff --git "a/src/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\345\257\274\345\205\245\346\235\241\347\233\256.png" "b/src/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\345\257\274\345\205\245\346\235\241\347\233\256.png" new file mode 100644 index 00000000..c3c4e3bd Binary files /dev/null and "b/src/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\345\257\274\345\205\245\346\235\241\347\233\256.png" differ diff --git "a/src/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\346\267\273\345\212\240\346\235\241\347\233\256-\345\257\271\350\257\235\346\241\206.png" "b/src/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\346\267\273\345\212\240\346\235\241\347\233\256-\345\257\271\350\257\235\346\241\206.png" new file mode 100644 index 00000000..d312e829 Binary files /dev/null and "b/src/assets/image-\344\273\216\346\265\217\350\247\210\345\231\250\346\267\273\345\212\240\346\235\241\347\233\256-\345\257\271\350\257\235\346\241\206.png" differ diff --git "a/src/assets/image-\344\275\277\347\224\250\345\205\263\351\224\256\350\257\215\345\222\214\346\240\207\351\242\230\350\207\252\345\212\250\347\273\231\346\235\241\347\233\256\346\267\273\345\212\240\346\240\207\347\255\276.png" "b/src/assets/image-\344\275\277\347\224\250\345\205\263\351\224\256\350\257\215\345\222\214\346\240\207\351\242\230\350\207\252\345\212\250\347\273\231\346\235\241\347\233\256\346\267\273\345\212\240\346\240\207\347\255\276.png" new file mode 100644 index 00000000..0dd1c215 Binary files /dev/null and "b/src/assets/image-\344\275\277\347\224\250\345\205\263\351\224\256\350\257\215\345\222\214\346\240\207\351\242\230\350\207\252\345\212\250\347\273\231\346\235\241\347\233\256\346\267\273\345\212\240\346\240\207\347\255\276.png" differ diff --git "a/src/assets/image-\344\275\277\347\224\250\346\240\207\350\257\206\347\254\246\345\257\274\345\205\245\346\235\241\347\233\256.png" "b/src/assets/image-\344\275\277\347\224\250\346\240\207\350\257\206\347\254\246\345\257\274\345\205\245\346\235\241\347\233\256.png" new file mode 100644 index 00000000..c9f949aa Binary files /dev/null and "b/src/assets/image-\344\275\277\347\224\250\346\240\207\350\257\206\347\254\246\345\257\274\345\205\245\346\235\241\347\233\256.png" differ diff --git "a/src/assets/image-\344\275\277\347\224\250\347\273\217\345\205\270\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206.png" "b/src/assets/image-\344\275\277\347\224\250\347\273\217\345\205\270\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206.png" new file mode 100644 index 00000000..eab537fe Binary files /dev/null and "b/src/assets/image-\344\275\277\347\224\250\347\273\217\345\205\270\345\274\225\346\226\207\345\257\271\350\257\235\346\241\206.png" differ diff --git "a/src/assets/image-\345\210\240\351\231\244\350\207\252\345\212\250\346\240\207\347\255\276.png" "b/src/assets/image-\345\210\240\351\231\244\350\207\252\345\212\250\346\240\207\347\255\276.png" new file mode 100644 index 00000000..35f3d8da Binary files /dev/null and "b/src/assets/image-\345\210\240\351\231\244\350\207\252\345\212\250\346\240\207\347\255\276.png" differ diff --git "a/src/assets/image-\345\220\210\345\271\266\351\207\215\345\244\215\346\235\241\347\233\256.png" "b/src/assets/image-\345\220\210\345\271\266\351\207\215\345\244\215\346\235\241\347\233\256.png" new file mode 100644 index 00000000..04adda32 Binary files /dev/null and "b/src/assets/image-\345\220\210\345\271\266\351\207\215\345\244\215\346\235\241\347\233\256.png" differ diff --git "a/src/assets/image-\345\233\236\346\224\266\347\253\231.png" "b/src/assets/image-\345\233\236\346\224\266\347\253\231.png" new file mode 100644 index 00000000..e137783b Binary files /dev/null and "b/src/assets/image-\345\233\236\346\224\266\347\253\231.png" differ diff --git "a/src/assets/image-\345\235\232\346\236\234\344\272\221-\345\257\206\347\240\201.png" "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\345\257\206\347\240\201.png" new file mode 100644 index 00000000..95738169 Binary files /dev/null and "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\345\257\206\347\240\201.png" differ diff --git "a/src/assets/image-\345\235\232\346\236\234\344\272\221-\346\267\273\345\212\240\345\272\224\347\224\250.png" "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\346\267\273\345\212\240\345\272\224\347\224\250.png" new file mode 100644 index 00000000..a018d1ac Binary files /dev/null and "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\346\267\273\345\212\240\345\272\224\347\224\250.png" differ diff --git "a/src/assets/image-\345\235\232\346\236\234\344\272\221-\347\224\237\346\210\220\345\257\206\347\240\201.png" "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\347\224\237\346\210\220\345\257\206\347\240\201.png" new file mode 100644 index 00000000..17de3957 Binary files /dev/null and "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\347\224\237\346\210\220\345\257\206\347\240\201.png" differ diff --git "a/src/assets/image-\345\235\232\346\236\234\344\272\221-\350\264\246\346\210\267\344\277\241\346\201\257.png" "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\350\264\246\346\210\267\344\277\241\346\201\257.png" new file mode 100644 index 00000000..6a832527 Binary files /dev/null and "b/src/assets/image-\345\235\232\346\236\234\344\272\221-\350\264\246\346\210\267\344\277\241\346\201\257.png" differ diff --git "a/src/assets/image-\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217.png" "b/src/assets/image-\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217.png" new file mode 100644 index 00000000..00ba7d3a Binary files /dev/null and "b/src/assets/image-\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217.png" differ diff --git "a/src/assets/image-\345\257\274\345\207\272\347\254\224\350\256\260.png" "b/src/assets/image-\345\257\274\345\207\272\347\254\224\350\256\260.png" new file mode 100644 index 00000000..b8caf6f1 Binary files /dev/null and "b/src/assets/image-\345\257\274\345\207\272\347\254\224\350\256\260.png" differ diff --git "a/src/assets/image-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275.png" "b/src/assets/image-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275.png" new file mode 100644 index 00000000..a0366970 Binary files /dev/null and "b/src/assets/image-\345\274\225\346\226\207\346\240\274\345\274\217\344\270\213\350\275\275.png" differ diff --git "a/src/assets/image-\345\275\251\350\211\262\346\240\207\347\255\276.png" "b/src/assets/image-\345\275\251\350\211\262\346\240\207\347\255\276.png" new file mode 100644 index 00000000..bd0d34c6 Binary files /dev/null and "b/src/assets/image-\345\275\251\350\211\262\346\240\207\347\255\276.png" differ diff --git "a/src/assets/image-\346\211\213\345\212\250\345\234\250github\344\270\213\350\275\275translators.png" "b/src/assets/image-\346\211\213\345\212\250\345\234\250github\344\270\213\350\275\275translators.png" new file mode 100644 index 00000000..20f7d950 Binary files /dev/null and "b/src/assets/image-\346\211\213\345\212\250\345\234\250github\344\270\213\350\275\275translators.png" differ diff --git "a/src/assets/image-\346\211\213\345\212\250\346\233\264\346\226\260translators.png" "b/src/assets/image-\346\211\213\345\212\250\346\233\264\346\226\260translators.png" new file mode 100644 index 00000000..481e226e Binary files /dev/null and "b/src/assets/image-\346\211\213\345\212\250\346\233\264\346\226\260translators.png" differ diff --git "a/src/assets/image-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256translators\346\226\207\344\273\266\345\244\271.png" "b/src/assets/image-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256translators\346\226\207\344\273\266\345\244\271.png" new file mode 100644 index 00000000..65abd5a3 Binary files /dev/null and "b/src/assets/image-\346\225\260\346\215\256\345\202\250\345\255\230\344\275\215\347\275\256translators\346\226\207\344\273\266\345\244\271.png" differ diff --git "a/src/assets/image-\346\226\207\345\272\223\345\220\210\351\233\206-1.png" "b/src/assets/image-\346\226\207\345\272\223\345\220\210\351\233\206-1.png" new file mode 100644 index 00000000..95f0d7f2 Binary files /dev/null and "b/src/assets/image-\346\226\207\345\272\223\345\220\210\351\233\206-1.png" differ diff --git "a/src/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206-\350\217\234\345\215\225.png" "b/src/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206-\350\217\234\345\215\225.png" new file mode 100644 index 00000000..934418f1 Binary files /dev/null and "b/src/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206-\350\217\234\345\215\225.png" differ diff --git "a/src/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206.png" "b/src/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206.png" new file mode 100644 index 00000000..5f456931 Binary files /dev/null and "b/src/assets/image-\346\226\260\345\273\272\345\220\210\351\233\206.png" differ diff --git "a/src/assets/image-\346\226\260\345\273\272\345\255\220\345\220\210\351\233\206.png" "b/src/assets/image-\346\226\260\345\273\272\345\255\220\345\220\210\351\233\206.png" new file mode 100644 index 00000000..9fdb4b9a Binary files /dev/null and "b/src/assets/image-\346\226\260\345\273\272\345\255\220\345\220\210\351\233\206.png" differ diff --git "a/src/assets/image-\346\226\260\345\273\272\347\254\224\350\256\260.png" "b/src/assets/image-\346\226\260\345\273\272\347\254\224\350\256\260.png" new file mode 100644 index 00000000..db763898 Binary files /dev/null and "b/src/assets/image-\346\226\260\345\273\272\347\254\224\350\256\260.png" differ diff --git "a/src/assets/image-\346\230\276\347\244\272\345\255\220\351\233\206\345\220\210\344\270\255\347\232\204\346\235\241\347\233\256.png" "b/src/assets/image-\346\230\276\347\244\272\345\255\220\351\233\206\345\220\210\344\270\255\347\232\204\346\235\241\347\233\256.png" new file mode 100644 index 00000000..956ca580 Binary files /dev/null and "b/src/assets/image-\346\230\276\347\244\272\345\255\220\351\233\206\345\220\210\344\270\255\347\232\204\346\235\241\347\233\256.png" differ diff --git "a/src/assets/image-\346\233\264\346\226\260\346\226\207\346\241\243\346\227\266\345\207\272\351\224\231.png" "b/src/assets/image-\346\233\264\346\226\260\346\226\207\346\241\243\346\227\266\345\207\272\351\224\231.png" new file mode 100644 index 00000000..debc5a7c Binary files /dev/null and "b/src/assets/image-\346\233\264\346\226\260\346\226\207\346\241\243\346\227\266\345\207\272\351\224\231.png" differ diff --git "a/src/assets/image-\346\240\207\347\255\276-emoji.png" "b/src/assets/image-\346\240\207\347\255\276-emoji.png" new file mode 100644 index 00000000..22889992 Binary files /dev/null and "b/src/assets/image-\346\240\207\347\255\276-emoji.png" differ diff --git "a/src/assets/image-\346\240\207\347\255\276-\346\230\237\346\240\207\346\210\226\351\242\234\350\211\262.png" "b/src/assets/image-\346\240\207\347\255\276-\346\230\237\346\240\207\346\210\226\351\242\234\350\211\262.png" new file mode 100644 index 00000000..a2464f48 Binary files /dev/null and "b/src/assets/image-\346\240\207\347\255\276-\346\230\237\346\240\207\346\210\226\351\242\234\350\211\262.png" differ diff --git "a/src/assets/image-\346\240\207\347\255\276.png" "b/src/assets/image-\346\240\207\347\255\276.png" new file mode 100644 index 00000000..61e685cf Binary files /dev/null and "b/src/assets/image-\346\240\207\347\255\276.png" differ diff --git "a/src/assets/image-\346\240\207\347\255\276\347\256\241\347\220\206.png" "b/src/assets/image-\346\240\207\347\255\276\347\256\241\347\220\206.png" new file mode 100644 index 00000000..6e1df601 Binary files /dev/null and "b/src/assets/image-\346\240\207\347\255\276\347\256\241\347\220\206.png" differ diff --git "a/src/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274.png" "b/src/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274.png" new file mode 100644 index 00000000..bd6e8d64 Binary files /dev/null and "b/src/assets/image-\346\267\273\345\212\240\346\235\241\347\233\256\345\220\216\344\277\241\346\201\257\347\252\227\346\240\274.png" differ diff --git "a/src/assets/image-\346\267\273\345\212\240\346\240\207\347\255\276-\346\267\273\345\212\240\351\242\234\350\211\262.png" "b/src/assets/image-\346\267\273\345\212\240\346\240\207\347\255\276-\346\267\273\345\212\240\351\242\234\350\211\262.png" new file mode 100644 index 00000000..ff68560b Binary files /dev/null and "b/src/assets/image-\346\267\273\345\212\240\346\240\207\347\255\276-\346\267\273\345\212\240\351\242\234\350\211\262.png" differ diff --git "a/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260.png" "b/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260.png" new file mode 100644 index 00000000..bf51fb69 Binary files /dev/null and "b/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260.png" differ diff --git "a/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\2603.png" "b/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\2603.png" new file mode 100644 index 00000000..ab2e2d87 Binary files /dev/null and "b/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\2603.png" differ diff --git "a/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260\350\217\234\345\215\225.png" "b/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260\350\217\234\345\215\225.png" new file mode 100644 index 00000000..ccf2cc41 Binary files /dev/null and "b/src/assets/image-\346\267\273\345\212\240\347\254\224\350\256\260\350\217\234\345\215\225.png" differ diff --git "a/src/assets/image-\346\267\273\345\212\240\351\231\204\344\273\266.png" "b/src/assets/image-\346\267\273\345\212\240\351\231\204\344\273\266.png" new file mode 100644 index 00000000..46b34554 Binary files /dev/null and "b/src/assets/image-\346\267\273\345\212\240\351\231\204\344\273\266.png" differ diff --git "a/src/assets/image-\347\233\256\346\240\207zotero\347\211\210\346\234\254.png" "b/src/assets/image-\347\233\256\346\240\207zotero\347\211\210\346\234\254.png" new file mode 100644 index 00000000..06db279b Binary files /dev/null and "b/src/assets/image-\347\233\256\346\240\207zotero\347\211\210\346\234\254.png" differ diff --git "a/src/assets/image-\347\241\256\350\256\244\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217.png" "b/src/assets/image-\347\241\256\350\256\244\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217.png" new file mode 100644 index 00000000..a7b38bf0 Binary files /dev/null and "b/src/assets/image-\347\241\256\350\256\244\345\256\211\350\243\205\345\274\225\346\226\207\346\240\274\345\274\217.png" differ diff --git "a/src/assets/image-\347\262\230\350\264\264\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" "b/src/assets/image-\347\262\230\350\264\264\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" new file mode 100644 index 00000000..49452282 Binary files /dev/null and "b/src/assets/image-\347\262\230\350\264\264\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.png" differ diff --git "a/src/assets/image-\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\346\262\241\346\234\211\345\217\215\345\272\224.png" "b/src/assets/image-\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\346\262\241\346\234\211\345\217\215\345\272\224.png" new file mode 100644 index 00000000..dd385b70 Binary files /dev/null and "b/src/assets/image-\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\346\262\241\346\234\211\345\217\215\345\272\224.png" differ diff --git "a/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\345\256\211\350\243\205\346\217\222\344\273\266.png" "b/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\345\256\211\350\243\205\346\217\222\344\273\266.png" new file mode 100644 index 00000000..fc30ebef Binary files /dev/null and "b/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\345\256\211\350\243\205\346\217\222\344\273\266.png" differ diff --git "a/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\346\217\220\344\272\244\345\271\266\346\216\250\351\200\201.png" "b/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\346\217\220\344\272\244\345\271\266\346\216\250\351\200\201.png" new file mode 100644 index 00000000..6aa470b0 Binary files /dev/null and "b/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\346\217\220\344\272\244\345\271\266\346\216\250\351\200\201.png" differ diff --git "a/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\350\277\233\350\241\214\345\257\271\345\272\224\347\232\204\346\233\264\346\224\271.png" "b/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\350\277\233\350\241\214\345\257\271\345\272\224\347\232\204\346\233\264\346\224\271.png" new file mode 100644 index 00000000..b030e01d Binary files /dev/null and "b/src/assets/image-\350\264\241\347\214\256\346\214\207\345\215\227-\350\277\233\350\241\214\345\257\271\345\272\224\347\232\204\346\233\264\346\224\271.png" differ diff --git "a/src/assets/image-\351\200\211\346\213\251\346\240\207\347\255\276\351\242\234\350\211\262\345\217\212\344\275\215\347\275\256.png" "b/src/assets/image-\351\200\211\346\213\251\346\240\207\347\255\276\351\242\234\350\211\262\345\217\212\344\275\215\347\275\256.png" new file mode 100644 index 00000000..3b166313 Binary files /dev/null and "b/src/assets/image-\351\200\211\346\213\251\346\240\207\347\255\276\351\242\234\350\211\262\345\217\212\344\275\215\347\275\256.png" differ diff --git "a/src/assets/image-\351\200\232\350\277\207\346\213\226\346\213\275\347\224\237\346\210\220\345\217\202\350\200\203\346\226\207\347\214\256.gif" "b/src/assets/image-\351\200\232\350\277\207\346\213\226\346\213\275\347\224\237\346\210\220\345\217\202\350\200\203\346\226\207\347\214\256.gif" new file mode 100644 index 00000000..bc684ba4 Binary files /dev/null and "b/src/assets/image-\351\200\232\350\277\207\346\213\226\346\213\275\347\224\237\346\210\220\345\217\202\350\200\203\346\226\207\347\214\256.gif" differ diff --git "a/src/assets/image-\351\224\256\345\205\245\345\206\205\345\256\271\346\233\277\346\215\242\346\211\200\351\200\211\346\226\207\345\255\227.png" "b/src/assets/image-\351\224\256\345\205\245\345\206\205\345\256\271\346\233\277\346\215\242\346\211\200\351\200\211\346\226\207\345\255\227.png" new file mode 100644 index 00000000..fe6da2c3 Binary files /dev/null and "b/src/assets/image-\351\224\256\345\205\245\345\206\205\345\256\271\346\233\277\346\215\242\346\211\200\351\200\211\346\226\207\345\255\227.png" differ diff --git "a/src/assets/image-\351\246\226\351\241\265\345\267\246\344\270\213\350\247\222\346\240\207\347\255\276\345\214\272\345\237\237.png" "b/src/assets/image-\351\246\226\351\241\265\345\267\246\344\270\213\350\247\222\346\240\207\347\255\276\345\214\272\345\237\237.png" new file mode 100644 index 00000000..a2dfbb51 Binary files /dev/null and "b/src/assets/image-\351\246\226\351\241\265\345\267\246\344\270\213\350\247\222\346\240\207\347\255\276\345\214\272\345\237\237.png" differ diff --git a/src/assets/index-bnnote.png b/src/assets/index-bnnote.png new file mode 100644 index 00000000..30d44135 Binary files /dev/null and b/src/assets/index-bnnote.png differ diff --git a/src/assets/word-copy-bib.png b/src/assets/word-copy-bib.png new file mode 100644 index 00000000..95437c02 Binary files /dev/null and b/src/assets/word-copy-bib.png differ diff --git a/src/assets/word-export-folder.png b/src/assets/word-export-folder.png new file mode 100644 index 00000000..27698ca0 Binary files /dev/null and b/src/assets/word-export-folder.png differ diff --git a/src/assets/word-export-reference-copy.png b/src/assets/word-export-reference-copy.png new file mode 100644 index 00000000..63ff6d9d Binary files /dev/null and b/src/assets/word-export-reference-copy.png differ diff --git a/src/assets/word-export-reference-format.png b/src/assets/word-export-reference-format.png new file mode 100644 index 00000000..11b87eb2 Binary files /dev/null and b/src/assets/word-export-reference-format.png differ diff --git a/src/assets/word-export-reference.png b/src/assets/word-export-reference.png new file mode 100644 index 00000000..a5b8ab2a Binary files /dev/null and b/src/assets/word-export-reference.png differ diff --git a/src/assets/word-finder-path.png b/src/assets/word-finder-path.png new file mode 100644 index 00000000..2da2b8a7 Binary files /dev/null and b/src/assets/word-finder-path.png differ diff --git a/src/assets/word-zotero-import.png b/src/assets/word-zotero-import.png new file mode 100644 index 00000000..e595124d Binary files /dev/null and b/src/assets/word-zotero-import.png differ diff --git a/src/assets/word-zotero-succ.png b/src/assets/word-zotero-succ.png new file mode 100644 index 00000000..7d461b0d Binary files /dev/null and b/src/assets/word-zotero-succ.png differ diff --git a/src/assets/wps-pluginfile-list.png b/src/assets/wps-pluginfile-list.png new file mode 100644 index 00000000..7130088a Binary files /dev/null and b/src/assets/wps-pluginfile-list.png differ diff --git a/src/code_of_conduct.md b/src/code_of_conduct.md new file mode 100644 index 00000000..817a063a --- /dev/null +++ b/src/code_of_conduct.md @@ -0,0 +1,91 @@ +--- +icon: group +--- + +# 贡献者公约 + +## 我们的承诺 + +身为社区成员、贡献者和领袖,我们承诺使社区参与者不受骚扰,无论其年龄、体型、可见或不可见的缺陷、族裔、性征、性别认同和表达、经验水平、教育程度、社会与经济地位、国籍、相貌、种族、种姓、肤色、宗教信仰、性倾向或性取向如何。 + +我们承诺以有助于建立开放、友善、多样化、包容、健康社区的方式行事和互动。 + +## 我们的准则 + +有助于为我们的社区创造积极环境的行为例子包括但不限于: + +- 表现出对他人的同情和善意 +- 尊重不同的主张、观点和感受 +- 提出和大方接受建设性意见 +- 承担责任并向受我们错误影响的人道歉 +- 注重社区共同诉求,而非个人得失 + +不当行为例子包括: + +- 使用情色化的语言或图像,及性引诱或挑逗 +- 嘲弄、侮辱或诋毁性评论,以及人身或政治攻击 +- 公开或私下的骚扰行为 +- 未经他人明确许可,公布他人的私人信息,如物理或电子邮件地址 +- 其他有理由认定为违反职业操守的不当行为 + +## 责任和权力 + +社区领袖有责任解释和落实我们所认可的行为准则,并妥善公正地对他们认为不当、威胁、冒犯或有害的任何行为采取纠正措施。 + +社区领导有权力和责任删除、编辑或拒绝或拒绝与本行为准则不相符的评论(comment)、提交(commits)、代码、维基(wiki)编辑、议题(issues)或其他贡献,并在适当时机知采取措施的理由。 + +## 适用范围 + +本行为准则适用于所有社区场合,也适用于在公共场所代表社区时的个人。 + +代表社区的情形包括使用官方电子邮件地址、通过官方社交媒体帐户发帖或在线上或线下活动中担任指定代表。 + +## 监督 + +辱骂、骚扰或其他不可接受的行为可通过 ISSUE 向负责监督的社区领袖报告。 +所有投诉都将得到及时和公平的审查和调查。 + +所有社区领袖都有义务尊重任何事件报告者的隐私和安全。 + +## 处理方针 + +社区领袖将遵循下列社区处理方针来明确他们所认定违反本行为准则的行为的处理方式: + +### 1. 纠正 + +**社区影响**:使用不恰当的语言或其他在社区中被认定为不符合职业道德或不受欢迎的行为。 + +**处理意见**:由社区领袖发出非公开的书面警告,明确说明违规行为的性质,并解释举止如何不妥。或将要求公开道歉。 + +### 2. 警告 + +**社区影响**:单个或一系列违规行为。 + +**处理意见**:警告并对连续性行为进行处理。在指定时间内,不得与相关人员互动,包括主动与行为准则执行者互动。这包括避免在社区场所和外部渠道中的互动。违反这些条款可能会导致临时或永久封禁。 + +### 3. 临时封禁 + +**社区影响**: 严重违反社区准则,包括持续的不当行为。 + +**处理意见**: 在指定时间内,暂时禁止与社区进行任何形式的互动或公开交流。在此期间,不得与相关人员进行公开或私下互动,包括主动与行为准则执行者互动。违反这些条款可能会导致永久封禁。 + +### 4. 永久封禁 + +**社区影响**:行为模式表现出违反社区准则,包括持续的不当行为、骚扰个人或攻击或贬低某个类别的个体。 + +**处理意见**:永久禁止在社区内进行任何形式的公开互动。 + +## 参见 + +本行为准则改编自 [Contributor Covenant][homepage] 2.1 版, 参见 [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]。 + +社区处理方针灵感来源于 [Mozilla's code of conduct enforcement ladder][Mozilla CoC]。 + +有关本行为准则的常见问题的答案,参见 [https://www.contributor-covenant.org/faq][FAQ]。 +其他语言翻译参见 [https://www.contributor-covenant.org/translations][translations]。 + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/src/contributing/build.md b/src/contributing/build.md new file mode 100644 index 00000000..9f17b72d --- /dev/null +++ b/src/contributing/build.md @@ -0,0 +1,245 @@ +--- +title: 构建指南 +icon: build +date: 2023-07-21 11:08:04 +updated: 2023-09-22 15:23:36 +--- + +# 构建指南 + +## 项目概览 + +本文档使用 Markdown 语法编写,产生的 Markdown 文件托管在 GitHub 上。使用 VuePress 作为静态页面生成器将 Markdown 文件构建为 HTML,使用 VuePress-theme-hope 作为 VuePress 的主题拓展其语法和布局。使用 Netlify 作为持续集成供应商。 + +目前仓库地址为 , + +以下介绍了一次完整修改所需的步骤。 + +::: tip + +为了降低操作门槛,本指南所述操作步骤均尽可能使用了图形化界面。对于熟悉 Git 的同学,仍可使用自己喜欢的方式进行操作。 + +::: + +## 环境配置 + +### 所需软件安装 + +本文的需要 Node.js 和 Git 安装在你的电脑上,后续步骤假定你已经安装这些程序且可以简单使用,若没有安装这些软件请跟随本小节指引完成安装。 + +为了方便编辑和提交,我们还推荐安装 `VS Code` 和 `GitHub Desktop` 两个软件。 + +:::: details 安装 Git + +所有文档均使用 `Git` 进行版本控制。以下步骤假定 + +用户已安装 git。若未安装,可以使用以下命令安装或更新 git: + +::: tabs + +@tab Fedora + +```bash +sudo dnf install git +``` + +@tab Ubuntu/Debian + +```bash +sudo apt install git +``` + +@tab macOS + +```bash +brew install git +``` + +@tab Windows + +打开 ,下载并安装 Git for Windows。 + +::: + +安装完成后,还需设置个人信息。打开终端,运行以下命令 + +(将 `zotero-user` 和 `` 替换成个人对应的信息): + +```bash +# 设置用户姓名和邮箱 +$ git config --global user.name "zotero-user" +$ git config --global user.email "zotero-user@gmail.com" + +# 查看 ~/.gitconfig +$ cat ~/.gitconfig +[user] + name = zotero-user + email = zotero-user@gmail.com +``` + +::: details Git 和 GitHub 学习资料 + +以下修改文档并提交的步骤中使用了 Git 的一些常用选项,可以参考以下资料学习更多用法: + +- [git 简明指南](http://rogerdudler.github.io/git-guide/index.zh.html) +- [廖雪峰的 Git 教程](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000) +- [GotGitHub](http://www.worldhello.net/gotgithub/index.html) +- [How to Use Git and Git Workflows – a Practical Guide](https://www.freecodecamp.org/news/practical-git-and-git-workflows/amp/) +- [Pro Git](https://git-scm.com/book/zh/) + +GitHub 相关资料: + +- [GitHub 中文文档](https://docs.github.com/cn/github) +- [Understanding the GitHub flow](https://guides.github.com/introduction/flow/) + +::: + +:::: + +::: details 安装 Node.js + +安装 Node. js + +::: + +::: details 安装 VS Code + +安装 + +::: + +::: details 安装 GitHub Desktop + +安装 + +::: + +### 克隆和复制仓库 + +1. 复制 (fork) 仓库至个人 GitHub 帐号 + + 点击项目主页 右上角的 Fork 按钮,将该项目复刻到个人 GitHub 账户下。 + + ![复刻仓库](../assets/image-fork-repo-1.png) + + ![复刻仓库2](../assets/image-fork-repo-2-1.png) + + 复制完成后,个人 GitHub 帐号下便有了 仓库。 + +2. 克隆个人 GitHub 帐号下的复刻仓库到本地(复刻仓库默认是本地克隆仓库的远程 origin) + + 打开 VS Code,点击 `欢迎页面` 的 `克隆 Git 仓库…`,在弹出窗口中选中 `从 GitHub 克隆`,然后选择自己账户下的 fork 仓库,确认,克隆完成后根据提示打开文件夹。 + + ![克隆Git仓库](../assets/8c581efa5ed9f3ac9d5771b89204bd6b_MD5.png) + + ![从GitHub克隆](../assets/741b873973ac5df93faf93cd1a195db2_MD5.png) + + ![选择仓库](../assets/28f02608aa879ed189ecfecfcab57d16_MD5.png) + + ::: tip + + 如果你对 Git 或命令行不了解,可以考虑使用 [GitHub 客户端](https://desktop.github.com/) 或 VS Code 提供的图形化版本控制管理器作为命令行的替代。 + + ::: + +### 安装依赖 + +通过下面的命令安装依赖项。 + +```bash +npm install -g pnpm +pnpm install +``` + +![安装依赖](../assets/image-build-安装依赖-1.png) + +::: info + +上述“环境配置”步骤只需在第一次修改代码时执行一次,一旦复制或克隆某仓库后,就无需再次复制或克隆。 + +::: + +## 修改文档 + +1. 在本地创建并切换至新分支,假定新分支名为 `pr-workflow`(分支名需简短、描述性且独特): + + ![创建新分支](../assets/image-build-创建新分支-1.png) + +2. 启动开发服务器 + 使用以下命令启动开发服务器,如下图,开发服务器启动后,会给出几个本地链接,访问任一链接(通常为 Local)即可得到预览。 + + ```bash + pnpm run docs:dev + ``` + + ![启动开服务器](../assets/image-build-启动开发服务器-1.png) + + 开发服务器会监听所有 `.md` 文件的修改,当有文件发生保存时,服务器会自动更新预览并刷新网页。 + + ![开发服务器](../assets/image-build-dev-server-1.png) + +3. 在新建分支中对文档做修改,修改过程中,可以随时在浏览器中检查修改效果 + + 使用 Markdown 语法编写文档,如果你不清楚本文档所用的 Markdown 语法,请参阅 [Markdown 语法](markdown.md)。 + +4. 提交 commit + + 在左侧 " 源代码管理 " 选项卡中,输入一个简短的提交描述,点击提交,然后将修改推送到线上。 + + ![提交修改](../assets/image-build-提交修改-1.png) + + ![推送修改](../assets/image-build-推送修改-1.png) + + ::: tip + + 如前所述,提交命令也可以在 GitHub Desktop 中完成。 + + ::: + + ::: warning + + 不建议直接在 main 分支中进行修改和提交,这可能会给你自己造成麻烦。 + + 仓库对 main 分支开启了推送保护,对 main 分支的修改只能通过 Pull Request 进行,无法直接 Push。 + + ::: + +## Pull Request + +1. 提交 PR + + 进入个人 GitHub 帐号下的复制仓库(即 )。 + + 一般 GitHub 会自动提示有可提交的 PR,点击 “Compare & pull request”,输入此 PR 的标题和具体描述, + + 最后点击 “Create pull request” 即可。 + +2. 审核、评论以及修改 PR + + 文档维护者收到 PR 后,会对代码进行审核、评论以及修改,并决定是否接受(merge)或结束该 PR。 + + PR 发起后,Netlify 机器人会自动部署一个预览版本,可以在这里查看预览。 + + ![netlify预览pr](../assets/image-build-pr预览-1.png) + + 提交的 PR 在接收前可能需要读者多次修改。这种情况并不要创建新 PR,只需继续本地 pr-workflow 分支中修改并提交,然后再次推送 pr-workflow 分支至远程 origin 即可,修改将自动添加到已提交的 PR 中。 + + 推送新的修改后,可以选择在该 PR 中留言,以通知维护者已提交新的修改。 + +3. PR 被接受并合并至官方 main 分支后,则可以更新 main 分支,并删除 pr-workflow 分支 + + ![更新main分支](../assets/image-build-更新main分支-1.png) + +## 其他的脚本 + +### pnpm run docs:build + +构建脚本,用于将 markdown 构建为网页。 + +贡献者可以在提交前运行一次,查看是否有报错。 + +一般情况下,图片路径错误、链接错误会导致报错。 + +### pnpm run lint:md + +运行 Markdown Lint。 diff --git a/src/contributing/contributing.md b/src/contributing/contributing.md new file mode 100644 index 00000000..13d88e09 --- /dev/null +++ b/src/contributing/contributing.md @@ -0,0 +1,91 @@ +--- +title: 贡献指南 +icon: build +date: 2023-07-20 23:05:53 +updated: 2023-11-23 22:56:02 +--- + +# 贡献指南 + +Zotero 中文文档接受多种形式的贡献,请阅读这一份指南,以更快、更有效地参与到文档的维护中。 + +## 文档维护的内容和主要方式 + +文档的维护与更新主要包括几个方面: + +- 修正错别字、语句不通等 +- 修正文档中的错误或不清晰的描述 +- 调整章节结构,使文档条理更清晰 +- 增加示例、专题或入门教程 +- 等 + +参与文档的维护的主要方式: + +1. 在 GitHub 上的文档源码仓库下 [提交 ISSUE](https://github.com/zotero-chinese/wiki/issues) +2. 在 GitHub Zotero Chinese 组织的 [Discussions 上讨论](https://github.com/orgs/zotero-chinese/discussions)(也可以直接点击文档网页底部的“参与讨论”) +3. 在网页底部评论区留言 +4. 修改文档源码并提交 Pull Request (不熟悉 Pull Request 的读者可以参考 Pull Request 流程) + +## 提交 / 参与议题 / 讨论 + +读者可以在前述的几种途径参与讨论。 + +::: note + +读者需要一个 GitHub 账户才能提交发起或参与讨论。 + +::: + +## 修改文档 + +若只是对文档做简单的微调,比如修改简单的别字、语句不通或不清晰的描述等,可以直接通过 GitHub 在线修改并提交,参阅后文 [简单修改](#简单修改)。 + +若需要对文档做大量修改,可在经过讨论后,选择 [线下修改](build.md)。 + +::: note + +文档源码开源托管在 [GitHub](https://github.com/) 上,因此读者需要一个 GitHub 账户才能提交 PR。 + +::: + +### 简单修改 + +1. 在线修改 + + 打开需要修改的文档网页,点击末尾左下角的 “在 GitHub 上编辑此页”,网页会自动跳转到 GitHub 编辑文档源码的页面。 + + 如果提示需要 fork 才能继续则点击即可。 + + 编辑需要修改的地方,文档风格和 Markdown 语法请参阅 [文档风格指南 #Markdown 语法](markdown.md#文档语法风格)。 + +2. 提交修改 + + 修改完后,在下方的 “Commit changes” 中输入有关此次修改的标题和具体描述。输入一个简短的新分支名字。 + + 点击 “Commit changes” 提交修改。 + +3. 提交 PR + + 在 “Open a pull request” 页面中,输入此 PR 的标题和具体描述。点击 “Create pull request” 即可。 + + PR 提交后,CI 工具会自动对提交的 PR 生成一个预览链接并评论在 PR 中,可以在此预览修改的结果。 + + 维护者将尽快审核这些修改。 + +### 稍微大量修改 + +例如你需要添加一篇文章,上传一些图片等,且对 Git 不甚了解,那么可以使用这种方式在线修改,这可以避免你下载很多软件。 + +请参考 [使用 vscode.dev 指南](vscode-dev.md)。 + +### 大量修改 + +如果你需要做较大量修改,例如增加几篇文章,或长期贡献/维护仓库,可以采用这种方式:完全本地修改,可以在本地预览修改的效果,修改后再推送到 GitHub。 + +请参考 [完全构建指南](build.md)。 + +### 注意事项 + +- Commit 的注释信息应该是描述性的 +- 希望读者对审稿人/维护者的评论和意见保持开放的心态,并努力改进代码或文档 +- 新的 PR 不一定会及时审核,取决于审稿人/维护者的当时的工作时间 diff --git a/src/contributing/markdown.md b/src/contributing/markdown.md new file mode 100644 index 00000000..b098b770 --- /dev/null +++ b/src/contributing/markdown.md @@ -0,0 +1,401 @@ +--- +title: 文档风格指南 +icon: markdown +date: 2023-07-20 23:46:54 +updated: 2023-11-23 22:39:41 +--- + +# 文档风格指南 + +## 文件命名 + +文档网站根据每个 Markdown 源文件的路径确定每个页面的路由。因而,确定文件名时应慎重,一旦确定,尽量不要再改动。 +由于 Windows 不区分文件名大小写,故而 `option-B.md` 和 `option-b.md` 在 Windows 下会出现冲突。 + +我们使用的文件的命名规则是: + +- 文件名一律采用小写字母 +- 文件名应尽量使用单词全称,避免使用各种形式的简写 +- 若文件名中含多个单词,应使用连字符 (hyphen) `-` 连接 + +## 文档 Frontmatter 规范 + +通过 Frontmatter 为每个 Markdown 页面引入配置。 + +Frontmatter 必须在 Markdown 文件的顶部,并且被包裹在一对三短划线中间。下面是一个基本的示例: + +```md +--- +title: 页面的标题 +icon: markdown +author: + - name: 作者1 + url: https://github.com/windingwind + - name: 作者2 + url: https://northword.cn + - name: 作者3 +date: 2023-07-20 23:46:54 +updated: 2023-07-21 18:39:41 +--- + + + +... +``` + +下面是一些常用的 Frontmatter 键: + +| 键 | 类型 | 必填 | 默认值 | 描述 | +| ---------- | ------ | ---- | -------------- | ---------------------------------------------------------------------------------------------------------------- | +| title | string | 否 | 第一个一级标题 | 页面的标题。如果你不在 Frontmatter 中设置 title ,那么页面中第一个一级标题(即 # title)的内容会被当作标题使用。 | +| shortTitle | string | 否 | 标题 | 当前页面的短标题,会在导航栏、侧边栏和路径导航中作为首选。 | +| icon | string | 否 | 无 | 当前页面的图标 | +| author | - | 否 | - | 见下述 | +| data | string | 否 | 文件的创建日期 | 文档的创建日期 | +| update | string | 否 | 文件的更新日期 | 该值其实无用,页面显示的最后更新时间是 Git 提交时间 | + +::: note `author` 详解 + +`author` 由一组 `author.name` 和 `author.url` / `author.email` 组成,其中 `url` 和 `email` 都是可选的。 + +尤其需要注意的是缩进,name 前空二格,加一个短横线 `-`,空一格。`url` 或 `email` 与 `name` 保持对齐,不需要加 `-`。 + +::: + +::: details 更多的 Frontmatter 可以参考框架的文档 + +- [信息 Frontmatter 配置 | vuepress-theme-hope (vuejs.press)](https://theme-hope.vuejs.press/zh/config/frontmatter/info.html) +- [布局 Frontmatter 配置 | vuepress-theme-hope (vuejs.press)](https://theme-hope.vuejs.press/zh/config/frontmatter/layout.html#dir) + +::: + +## 文档语法风格 + +所有教程均采用 Markdown 语言编写,下面列出了一些本文档中可能用到的语法和注意事项。 + +### 标题 + +```md +# 一级标题 + +## 二级标题 + +### 三级标题 + +#### 四级标题 +``` + +::: tip + +一级标题是文档名,对应页面标题。一篇文档应有且只有一个一级标题 + +::: + +- 文档内容从二级标题开始。 +- 文档中标题级别应逐级递增,例如:二级标题内应跟随三级标题,而不能越过三级标题直接使用四级标题 +- 标题不应含有特殊字符:如 latex 公式,代码块,数字编号等,不应以标点符号结尾 +- 标题前后空一行。 + +### 正文文本 + +```md +正文段落 1 +(空行) +正文段落 2 +``` + +::: tip + +- 中文字符与英文字符和数字之间应加上空格,如 `中文 ABC 中文` 而非 `中文ABC中文` + `中文 123 中文` 而非 `中文123中文` +- 标点符号采用全角,如 `,`、`。`、`:`、`、`、`?` 等 + 标点符号与中文字符、英文字符以及数字之间不需加空格 +- 大小写应正确,如:`Zotero` 不是 `zotero`,`GitHub` 不是 `github` +- 正文中部分专有词和特殊符号,可以放入 [`行内代码`](#代码) 来表示,美观且不容易发生错误,例如: + 操作步骤:`编辑` - `首选项` - `引用` 。 + +::: + +### 文字样式 + +```md +这是一段文本, +**用两对星号包裹的内容会被加粗**, +而*只用一对星号包裹的内容会显示为斜体*, +用~~两对波浪线包裹的内容会显示为删除~~, +上下标:19^th^ H~2~O, +你可以标记 ==重要的内容== 。 +``` + +预览: +这是一段文本, +**用两对星号包裹的内容会被加粗**, +而*只用一对星号包裹的内容会显示为斜体*, +用~~两对波浪线包裹的内容会显示为删除~~, +上下标:19^th^ H~2~O, +你可以标记 ==重要的内容== 。 + +### 无序列表和有序列表 + +```md +#### 无序列表 + +- item 1 + - 更多的列表项 + - 更多的列表项 + - 更多的列表项 +- item 2 +- item 3 + +#### 有序列表 + +1. item 1 +2. item 2 +3. item 3 +``` + +### 链接 + +```md +[相对路径访问主页](../README.md) + +[相对路径访问贡献指南](./contributing.md) +``` + +### 图片 + +```md +![图片描述](../.vuepress/public/assets/icon/chrome-192.png) +``` + +::: tip + +所有的图片资源都应放入 `src/assets` 内,尽量以通俗的方式描述图片内容。 + +::: + +::: warning + +我们不使用 HTML 语法 `` 标签来引入图片,请使用标准的 Markdown 语法。 + +::: + +### 视频 + +```md +一个 B 站视频: + + + +一个自定义空降地址的 B 站视频: + + +``` + +::: tip + +受限于存储空间,文档不支持插入本地视频,引入视频请上传 bilibili,然后以以上语法引入视频。 + +::: + +### 表格 + +使用 GitHub 风格表格: + +```md +| 居中 | 右对齐 | 左对齐 | +| :-----------: | -------------: | :------------- | +| 居中使用`:-:` | 右对齐使用`-:` | 左对齐使用`:-` | +| b | aaaaaaaaa | aaaa | +| c | aaaa | a | +``` + +::: tip + +第二行表示对其方式的 `:` 不是必须的,当没有时,会默认为居左。 + +::: + +### 代码 + +#### 行内代码 + +```md +行内代码效果: `code` +``` + +行内代码效果: `code` + +#### 块级代码 + +````md +```js +var foo = function (bar) { + return bar++; +}; + +console.log(foo(5)); +``` +```` + +三个反引号后跟随代码块语言:`md`、`js`、`plain`(纯文本) 等。 + +预览: + +```js +var foo = function (bar) { + return bar++; +}; + +console.log(foo(5)); +``` + +### 告示块 + +#### 提示 + +```md +::: tip + +这是一个提示 + +::: +``` + +::: tip + +这是一个提示 + +::: + +#### 备注 + +```md +::: note + +这是一个备注 + +::: +``` + +::: note + +这是一个备注 + +::: + +#### 注意 + +```md +::: warning + +这是一个警告 + +::: +``` + +::: warning + +这是一个警告 + +::: + +#### 警告 + +```md +::: danger + +这是一个警告 + +::: +``` + +::: danger + +这是一个警告 + +::: + +#### 详情 + +```md +::: details + +这是一个折叠可见内容 + +::: +``` + +::: details + +这是一个折叠可见内容 + +::: + +#### 自定义标题 + +:::: tip 自定义标题 + +通过在 `tip`、`warning`、`danger`、`details` 后添加文字,可以自定义块标题,例如: + +```md +::: tip 自定义标题 + +通过在 `tip`、`warning`、`danger`、`details` 后添加文字 + +::: +``` + +:::: + +#### 嵌套显示 + +支持两级嵌套,第一级的标志使用四个冒号`::::`,例如: + +```md +:::: details 嵌套显示 + +::: tip + +这是第二级提示。 + +::: + +:::: +``` + +:::: details 嵌套显示 + +::: tip + +这是第二级提示。 + +::: + +:::: + +### 脚注 + +```md +这是一段文本[^1] + +[^1]: 这是一个脚注 +``` + +脚注内容就近放置,以方便阅读源文本。 + +### 引用 + +```md +这是一段正文文本 + +> 这是一段引用文本 + +这是另一段正文文本 +``` + +::: tip + +除上述文字样式外,不使用 html 语法改变文字样式,仅在特殊情况下使用 html 语法增添文档的趣味性。 + +::: diff --git a/src/contributing/vscode-dev.md b/src/contributing/vscode-dev.md new file mode 100644 index 00000000..705f3383 --- /dev/null +++ b/src/contributing/vscode-dev.md @@ -0,0 +1,74 @@ +--- +title: 通过 VSCode.dev 网站在线更改本文档 +icon: build +--- + +# 通过 VSCode.dev 网站在线更改本文档 + +1. 打开 +2. 等待页面加载完成 +3. 根据提示登录 GitHub 账号 + + ![根据提示登录 GitHub 账号](../assets/image-contribution-guide-vscode1.png) + +4. 根据提示安装推荐的插件 + + ![安装插件](../assets/image-贡献指南-安装插件.png) + +5. 新建分支 + 切换到 `源代码管理`窗格,依次选择`···` 按钮——`分支`——`创建分支`,输入分支名,并按回车确认。创建完成后根据提示切换到新分支。 + + ![新建分支](../assets/image-contribute-vscode-new-branch.png) + + ![输入新分支的名字](../assets/image-contribution-new-branch-name.png) + + ![切换到新分支](../assets/image-contribution-switch-to-new-branch.png) + + ::: tip 为什么要创建新分支? + + 严格地说,所有的修改都应在新分支进行,这有利于 Git 的管理。 + + 具体的,如果要同时修改多个内容,某一部分内容被合并,但另一部分内容仍在修改,这时候只在主分支修改显然是不够用的。 + + 此外,主仓库对 PR 采取 `splash and merge` 策略,这会把某一分支的所有提交压缩为一个提交然后合入主分支,这有利于保持仓库提交历史的简洁和线性关系,fork 仓库全部在主分支修改时,将无法自动保持与主仓库的提交历史同步,而使用新分支修改就没有这些烦恼。 + + ::: + +6. 进行对应的修改 + + ![进行对应的修改](../assets/image-贡献指南-进行对应的更改.png) + + ::: tip 上传文件 + 图片可以通过在 `src/assets/` 文件夹右击,点击 `上传` 来上传到仓库。 + + 也可以直接 `ctrl+v` 粘贴图片。 + ::: + + ::: tip 文档风格和语法 + 文档的写作风格和语法等请参阅 [文档风格指南 #Markdown 语法](markdown.md#文档语法风格)。 + ::: + +7. 提交并推送 + + ![提交并推送](../assets/image-贡献指南-提交并推送.png) + +8. 发起 Pull Request +9. 等待社区管理员审核合并 + +PR 发起后,机器人会自动检查 PR 内容是否符合规范,也会部署一个预览版本,可以在这里查看预览。 + +![netlify预览pr](../assets/image-build-pr预览-1.png) + +::: tip 哪些情况会导致检查错误? + +仓库的自动检查包含格式检查和构建检查。格式上,仓库使用 Markdown Lint 作为规范,如果你使用 VS Code 且安装了推荐的插件,那么通常 Lint 检查是可以通过的。 + +构建检查失败最可能的原因就是图片、链接等错误,如图片等目录级别错误、大小写错误、相对链接不存在等。 + +::: + +::: tip 如何更新 PR? + +已经发起的 PR,可以直接在这个 PR 对应的分支上继续提交新的内容以更新这个 PR。 + +::: diff --git a/src/contribution-guide/README.md b/src/contribution-guide/README.md deleted file mode 100644 index 692df6ab..00000000 --- a/src/contribution-guide/README.md +++ /dev/null @@ -1 +0,0 @@ -# 贡献指南 diff --git a/src/contribution-guide/demo/README.md b/src/contribution-guide/demo/README.md deleted file mode 100644 index b2abca1c..00000000 --- a/src/contribution-guide/demo/README.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: 主要功能与配置演示 -index: false -icon: discover -category: - - 使用指南 ---- - -## 目录 - -- [Markdown 展示](markdown.md) - -- [页面展示](page.md) - -- [禁用展示](disable.md) - -- [加密展示](encrypt.md) diff --git a/src/contribution-guide/demo/disable.md b/src/contribution-guide/demo/disable.md deleted file mode 100644 index d6f6ab3c..00000000 --- a/src/contribution-guide/demo/disable.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -title: 布局与功能禁用 -icon: config -order: 3 -category: - - 使用指南 -tag: - - 禁用 - -navbar: false -sidebar: false - -breadcrumb: false -pageInfo: false -contributors: false -editLink: false -lastUpdated: false -prev: false -next: false -comment: false -footer: false - -backtotop: false ---- - -你可以通过设置页面的 Frontmatter,在页面禁用功能与布局。 - - - -本页面就是一个示例,禁用了如下功能: - -- 导航栏 -- 侧边栏 -- 路径导航 -- 页面信息 -- 贡献者 -- 编辑此页链接 -- 更新时间 -- 上一篇/下一篇 链接 -- 评论 -- 页脚 -- 返回顶部按钮 diff --git a/src/contribution-guide/demo/encrypt.md b/src/contribution-guide/demo/encrypt.md deleted file mode 100644 index 25370d00..00000000 --- a/src/contribution-guide/demo/encrypt.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -icon: lock -category: - - 使用指南 -tag: - - 文章加密 ---- - -# 密码加密的文章 - -实际的文章内容。 - -段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字段落 1 文字。 - -段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字段落 2 文字。 diff --git a/src/contribution-guide/demo/markdown.md b/src/contribution-guide/demo/markdown.md deleted file mode 100644 index fa7ab15d..00000000 --- a/src/contribution-guide/demo/markdown.md +++ /dev/null @@ -1,403 +0,0 @@ ---- -title: Markdown 展示 -icon: markdown -order: 2 -category: - - 使用指南 -tag: - - Markdown ---- - -VuePress 主要从 Markdown 文件生成页面。因此,你可以使用它轻松生成文档或博客站点。 - -你应该创建和编写 Markdown 文件,以便 VuePress 可以根据文件结构将它们转换为不同的页面。 - - - -## Markdown 介绍 - -如果你是一个新手,还不会编写 Markdown,请先阅读 [Markdown 介绍](https://theme-hope.vuejs.press/zh/cookbook/markdown/) 和 [Markdown 演示](https://theme-hope.vuejs.press/zh/cookbook/markdown/demo.html)。 - -## Markdown 配置 - -VuePress 通过 Frontmatter 为每个 Markdown 页面引入配置。 - -::: info - -Frontmatter 是 VuePress 中很重要的一个概念,如果你不了解它,你需要阅读 [Frontmatter 介绍](https://theme-hope.vuejs.press/zh/cookbook/vuepress/page.html#front-matter)。 - -::: - -## Markdown 扩展 - -VuePress 会使用 [markdown-it](https://github.com/markdown-it/markdown-it) 来解析 Markdown 内容,因此可以借助于 markdown-it 插件来实现 [语法扩展](https://github.com/markdown-it/markdown-it#syntax-extensions) 。 - -### VuePress 扩展 - -为了丰富文档写作,VuePress 对 Markdown 语法进行了扩展。 - -关于这些扩展,请阅读 [VuePress 中的 Markdown 扩展](https://theme-hope.vuejs.press/zh/cookbook/vuepress/markdown.html)。 - -### 主题扩展 - -通过 [`vuepress-plugin-md-enhance`][md-enhance],主题扩展了更多 Markdown 语法,提供更加丰富的写作功能。 - -#### 自定义容器 - -::: v-pre - -安全的在 Markdown 中使用 {{ variable }}。 - -::: - -::: info 自定义标题 - -信息容器,包含 `代码` 与 [链接](#自定义容器)。 - -```js -const a = 1; -``` - -::: - -::: tip 自定义标题 - -提示容器 - -::: - -::: warning 自定义标题 - -警告容器 - -::: - -::: danger 自定义标题 - -危险容器 - -::: - -::: details 自定义标题 - -详情容器 - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/container.html) - -#### 代码块 - -::: code-tabs - -@tab pnpm - -```bash -pnpm add -D vuepress-theme-hope -``` - -@tab yarn - -```bash -yarn add -D vuepress-theme-hope -``` - -@tab:active npm - -```bash -npm i -D vuepress-theme-hope -``` - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/code-tabs.html) - -#### 上下角标 - -19^th^ H~2~O - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/sup-sub.html) - -#### 自定义对齐 - -::: center - -我是居中的 - -::: - -::: right - -我在右对齐 - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/align.html) - -#### Attrs - -一个拥有 ID 的 **单词**{#word}。 - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/attrs.html) - -#### 脚注 - -此文字有脚注[^first]. - -[^first]: 这是脚注内容 - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/footnote.html) - -#### 标记 - -你可以标记 ==重要的内容== 。 - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/mark.html) - -#### 任务列表 - -- [x] 计划 1 -- [ ] 计划 2 - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/tasklist.html) - -### 图片增强 - -支持为图片设置颜色模式和大小 - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/image.html) - -#### 卡片 - -```card -title: Mr.Hope -desc: Where there is light, there is hope -logo: https://mrhope.site/logo.svg -link: https://mrhope.site -color: rgba(253, 230, 138, 0.15) -``` - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/card.html) - -#### 图表 - -::: chart 一个散点图案例 - -```json -{ - "type": "scatter", - "data": { - "datasets": [ - { - "label": "散点数据集", - "data": [ - { "x": -10, "y": 0 }, - { "x": 0, "y": 10 }, - { "x": 10, "y": 5 }, - { "x": 0.5, "y": 5.5 } - ], - "backgroundColor": "rgb(255, 99, 132)" - } - ] - }, - "options": { - "scales": { - "x": { - "type": "linear", - "position": "bottom" - } - } - } -} -``` - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/chart.html) - -#### Echarts - -::: echarts 一个折线图案例 - -```json -{ - "xAxis": { - "type": "category", - "data": ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] - }, - "yAxis": { - "type": "value" - }, - "series": [ - { - "data": [150, 230, 224, 218, 135, 147, 260], - "type": "line" - } - ] -} -``` - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/echarts.html) - -#### 流程图 - -```flow -cond=>condition: 是否执行操作? -process=>operation: 操作 -e=>end: 结束 - -cond(yes)->process->e -cond(no)->e -``` - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/flowchart.html) - -#### Mermaid - -```mermaid ---- -title: Flowchart ---- -flowchart TB - c1-->a2 - subgraph one - a1-->a2 - end - subgraph two - b1-->b2 - end - subgraph three - c1-->c2 - end - one --> two - three --> two - two --> c2 -``` - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/mermaid.html) - -#### Tex 语法 - -$$ -\frac {\partial^r} {\partial \omega^r} \left(\frac {y^{\omega}} {\omega}\right) -= \left(\frac {y^{\omega}} {\omega}\right) \left\{(\log y)^r + \sum_{i=1}^r \frac {(-1)^i r \cdots (r-i+1) (\log y)^{r-i}} {\omega^i} \right\} -$$ - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/tex.html) - -#### 导入文件 - - - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/include.html) - -#### 代码演示 - -::: normal-demo 一个普通 Demo - -```html -

VuePress Theme Hope

-

非常强大!

-``` - -```js -document.querySelector("#very").addEventListener("click", () => { - alert("非常强大"); -}); -``` - -```css -span { - color: red; -} -``` - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/demo.html) - -#### 样式化 - -向 Mr.Hope 捐赠一杯咖啡。 _Recommended_ - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/stylize.html) - -#### 交互演示 - -::: playground#ts TS 案例 - -@file index.ts - -```ts -const msg = "hello world"; - -const speak = (msg: string) => console.log(msg); - -speak(msg); -``` - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/playground.html) - -#### Vue 交互演示 - -::: vue-playground Vue 交互演示 - -@file App.vue - -```vue - - - -``` - -::: - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/vue-playground.html) - -#### 幻灯片 - -@slidestart - -## 幻灯片 1 - -一个有文字和 [链接](https://mrhope.site) 的段落 - ---- - -## 幻灯片 2 - -- 项目 1 -- 项目 2 - ---- - -## 幻灯片 3.1 - -```js -const a = 1; -``` - --- - -## 幻灯片 3.2 - -$$ -J(\theta_0,\theta_1) = \sum_{i=0} -$$ - -@slideend - -- [查看详情](https://theme-hope.vuejs.press/zh/guide/markdown/presentation.html) - -[md-enhance]: https://theme-hope.vuejs.press/md-enhance/zh/ diff --git a/src/contribution-guide/demo/page.md b/src/contribution-guide/demo/page.md deleted file mode 100644 index dc6c0af1..00000000 --- a/src/contribution-guide/demo/page.md +++ /dev/null @@ -1,72 +0,0 @@ ---- -# 这是文章的标题 -title: 页面配置 -# 这是页面的图标 -icon: page -# 这是侧边栏的顺序 -order: 1 -# 设置作者 -author: Ms.Hope -# 设置写作时间 -date: 2020-01-01 -# 一个页面可以有多个分类 -category: - - 使用指南 -# 一个页面可以有多个标签 -tag: - - 页面配置 - - 使用指南 -# 此页面会在文章列表置顶 -sticky: true -# 此页面会出现在文章收藏中 -star: true -# 你可以自定义页脚 -footer: 这是测试显示的页脚 -# 你可以自定义版权信息 -copyright: 无版权 ---- - -`more` 注释之前的内容被视为文章摘要。 - - - -## 页面信息 - -你可以在 Markdown 的 Frontmatter 中设置页面信息。 - -- 作者设置为 Ms.Hope。 -- 写作日期为 2020 年 1 月 1 日 -- 分类为 “使用指南” -- 标签为 “页面配置” 和 “使用指南” - -## 页面内容 - -你可以自由在这里书写你的 Markdown。 - -::: tip - -- 你可以将图片和 Markdown 文件放置在一起,但是你需要使用**相对链接**`./` 进行引用。 - -- 对于 `.vuepress/public` 文件夹的图片,请使用绝对链接 `/` 进行引用。 - -::: - -主题包含了一个自定义徽章可以使用: - -> 文字结尾应该有深蓝色的 徽章文字 徽章。 - -## 页面结构 - -此页面应当包含: - -- [路径导航](https://theme-hope.vuejs.press/zh/guide/layout/breadcrumb.html) -- [标题和页面信息](https://theme-hope.vuejs.press/zh/guide/feature/page-info.html) -- [TOC (文章标题列表)](https://theme-hope.vuejs.press/zh/guide/layout/page.html#标题列表) -- [贡献者、更新时间等页面元信息](https://theme-hope.vuejs.press/guide/feature/meta.html) -- [评论](https://theme-hope.vuejs.press/zh/guide/feature/comment.html) -- [导航栏](https://theme-hope.vuejs.press/zh/guide/layout/navbar.html) -- [侧边栏](https://theme-hope.vuejs.press/zh/guide/layout/sidebar.html) -- [页脚](https://theme-hope.vuejs.press/zh/guide/layout/footer.html) -- 返回顶部按钮 - -你可以通过主题选项和页面 Frontmatter 自定义它们。 diff --git a/src/contribution-guide/guide/bar/README.md b/src/contribution-guide/guide/bar/README.md deleted file mode 100644 index 96d3c98a..00000000 --- a/src/contribution-guide/guide/bar/README.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Bar 功能 -icon: creative ---- - -## 介绍 - -我们支持 bar 功能,... - -## 详情 - -- [baz](baz.md) -- ... diff --git a/src/contribution-guide/guide/bar/baz.md b/src/contribution-guide/guide/bar/baz.md deleted file mode 100644 index bcaaa8e5..00000000 --- a/src/contribution-guide/guide/bar/baz.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Baz -icon: info ---- - -功能详情... diff --git a/src/contribution-guide/guide/foo/README.md b/src/contribution-guide/guide/foo/README.md deleted file mode 100644 index 7965ad09..00000000 --- a/src/contribution-guide/guide/foo/README.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Foo 功能 -icon: config ---- - -## 介绍 - -我们支持 foo 功能,... - -## 详情 - -- [ray](ray.md) -- ... diff --git a/src/contribution-guide/guide/foo/ray.md b/src/contribution-guide/guide/foo/ray.md deleted file mode 100644 index b07aad2f..00000000 --- a/src/contribution-guide/guide/foo/ray.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: Ray -icon: config ---- - -功能详情... diff --git a/src/contributors.md b/src/contributors.md new file mode 100644 index 00000000..45c4402b --- /dev/null +++ b/src/contributors.md @@ -0,0 +1,15 @@ +--- +icon: group +--- + +# 贡献者名单 + +::: tip + +待办,通过 `all-contributors` 或 `contrib.rocks` 显示所有贡献者。 + +需要将原语雀贡献者同步过来。 + +::: + +[![contributors](https://contrib.rocks/image?repo=zotero-chinese/wiki)](https://github.com/zotero-chinese/wiki/graphs/contributors) diff --git a/src/csl-dev-guide/README.md b/src/csl-dev-guide/README.md index e53761a6..4630befc 100644 --- a/src/csl-dev-guide/README.md +++ b/src/csl-dev-guide/README.md @@ -1 +1,23 @@ -# CSL 手册 +--- +title: CSL 中文文档 +date: 2022-08-01 16:23:04 +updated: 2023-07-22 20:39:20 +--- + +# CSL 中文文档 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +CSL (Citation Style Language) 是一种基于 XML 的语言,用来描述或格式化引用和参考文献目录的开源语言。使用 CSL 的参考文献管理软件包括 Zotero,Mendeley,Papers。 + +Zotero 文件管理软件开源且简单。CSL 的发展与 Zotero 有一定的关系,Zotero 也是第一个使用 CSL 的文献管理软件。$\LaTeX$ 一直是国际上期刊投稿的主流,但现在的越来越多的国际期刊除提供 $\LaTeX$ 模板外,同时还支持 Word 格式投稿。国内投稿或者各种报告大多要求都是 Word 格式。Zotero 可以在 Word 中生成和 $\LaTeX$ 同样漂亮的引用和参考文献目录。 + +由 CSL 编写的 style 定义了引用和参考文献目录的格式。Zotero 就是通过 style 来生成指定格式的引用和参考文献目录。据统计,现在已经有超过 9000 个 style,覆盖了大多数的常见的 SCI 期刊。在 Zotero 中能很容易检索到对应期刊的 style。但是即使有这么多的 style,仍然有可能有的期刊没有对应的 style。此外,有的 style 年代久远,已经不符合期刊 author guideline 中的要求,因此,我们需要学习 CSL 来定制需要的 style,至少能在已有的 style 上修改来满足期刊的要求。但是遗憾的是,国内 CSL 的资料几乎没有。 + +本项目是对 [CSL 英文文档](https://docs.citationstyles.org/en/stable/primer.html) 的翻译。本人能力有限,理解和翻译有误处请大家谅解,同时欢迎 issue 和 pull。 + +本文档基于 [Welcome to CSL-chinese’s documentation! — CSL-chinese documentation](https://csl-chinese.readthedocs.io/en/latest/) 修改。 + +> [!danger] 译者注 +> 文档中,凡标注 Work in progress 的均为正在施工的页面,无法确保与现有英文文档相一致,无法确保译文修改前后的一致性、准确性,请酌情阅读。 diff --git a/src/csl-dev-guide/appendix/appendix1-categories.md b/src/csl-dev-guide/appendix/appendix1-categories.md new file mode 100644 index 00000000..599553d5 --- /dev/null +++ b/src/csl-dev-guide/appendix/appendix1-categories.md @@ -0,0 +1,37 @@ +--- +title: 附录 I 学科分类 +date: 2022-08-01 16:42:15 +updated: 2022-08-03 10:27:14 +--- + +# 附录 I 学科分类 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +- anthropology 人类学 +- astronomy 天文学 +- biology 生物学 +- botany 植物学 +- chemistry 化学 +- communications 通讯 +- engineering 工程学 +- generic-base - used for generic styles like Harvard and APA 通用基础 - 用于通用样式,像哈弗和 `APA` +- geography 地理学 +- geology 地质学 +- history 历史 +- humanities 人文学科 +- law 法学 +- linguistics 语言学 +- literature 文学 +- math 数学 +- medicine 药物学 +- philosophy 哲学 +- physics 物理学 +- political_science 政治科学 +- psychology 心理学 +- science 科学 +- social_science 社会科学 +- sociology 社会学 +- theology 神学 +- zoology 动物学 diff --git a/src/csl-dev-guide/appendix/appendix2-terms.md b/src/csl-dev-guide/appendix/appendix2-terms.md new file mode 100644 index 00000000..aa309933 --- /dev/null +++ b/src/csl-dev-guide/appendix/appendix2-terms.md @@ -0,0 +1,123 @@ +--- +title: 附录 II 术语 +date: 2022-08-01 16:43:59 +updated: 2022-08-03 10:28:07 +--- + +# 附录 II 术语 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +术语在本地化文件中使用 + +## Locators/用来定位的术语 + +- book 书 +- chapter 章 +- column +- figure 图 +- folio 作品集 +- issue 议题/问题 +- line 行 +- note 笔记/注记 +- opus 作品(音乐作品) +- page 页 +- paragraph 段 +- part 部分 +- section 节 +- sub verbo 词条 +- verse 诗 +- volume 卷 + +## Months/月 + +- month-01 +- month-02 +- month-03 +- month-04 +- month-05 +- month-06 +- month-07 +- month-08 +- month-09 +- month-10 +- month-11 +- month-12 + +## Ordinals/序数 + +- ordinal +- ordinal-00 through ordinal-99 +- long-ordinal-01 +- long-ordinal-02 +- long-ordinal-03 +- long-ordinal-04 +- long-ordinal-05 +- long-ordinal-06 +- long-ordinal-07 +- long-ordinal-08 +- long-ordinal-09 +- long-ordinal-10 + +## Quotation marks/引号 + +- open-quote +- close-quote +- open-inner-quote +- close-inner-quote + +## Roles/角色 + +- author 作者 +- collection-editor 文集编辑 +- composer 作曲者 +- container-author 文章作者 +- director 主任/导演 +- editor 编辑 +- editorial-director 编辑部主任 +- editortranslator +- illustrator 插画者 +- interviewer 采访者 +- original-author 原作者 +- recipient 收件人 +- reviewed-author 复查作者 +- translator 译者 + +## Seasons/季节 + +- season-01 +- season-02 +- season-03 +- season-04 + +## Miscellaneous/其他 + +- accessed +- ad +- and +- and others +- anonymous +- at +- available at +- bc +- by +- circa +- cited +- edition +- et-al +- forthcoming +- from +- ibid +- in +- in press +- internet +- interview +- letter +- no date +- online +- presented at +- reference +- retrieved +- scale +- version diff --git a/src/csl-dev-guide/appendix/appendix3-types.md b/src/csl-dev-guide/appendix/appendix3-types.md new file mode 100644 index 00000000..e8c09153 --- /dev/null +++ b/src/csl-dev-guide/appendix/appendix3-types.md @@ -0,0 +1,46 @@ +--- +title: 附录 III 文献类型 +date: 2022-08-01 16:47:15 +updated: 2022-08-03 10:28:14 +--- + +# 附录 III 文献类型 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +- article 文章 +- article-magazine 杂志文章 +- article-newspaper 新闻文章 +- article-journal 期刊文章 +- bill +- book 书 +- broadcast +- chapter 章节 +- dataset 数据集 +- entry +- entry-dictionary +- entry-encyclopedia +- figure 图 +- graphic +- interview 采访 +- legislation +- legal_case +- manuscript +- map 地图 +- motion_picture +- musical_score +- pamphlet +- paper-conference +- patent +- post 海报 +- post-weblog +- personal_communication 私人交流 +- report 报告 +- review +- review-book +- song 歌曲 +- speech 演讲 +- thesis 学位论文 +- treaty +- webpage 网页 diff --git a/src/csl-dev-guide/appendix/appendix4-variables.md b/src/csl-dev-guide/appendix/appendix4-variables.md new file mode 100644 index 00000000..29a12aad --- /dev/null +++ b/src/csl-dev-guide/appendix/appendix4-variables.md @@ -0,0 +1,272 @@ +--- +title: 附录 IV 变量 +date: 2022-08-01 16:47:15 +updated: 2022-08-03 10:28:18 +--- + +# 附录 IV 变量 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +## 标准变量 + +- abstract 项目的摘要(例:期刊文章的摘要) + +- annote 读者关于项目内容的笔记 + +- archive 保存项目的存档 + +- archive_location 存档的位置 + +- archive-place 存档的地理位置 + +- authority + +- call-number + + call number (to locate the item in a library) + +- citation-label + + label identifying the item in in-text citations of label styles (e.g. "Ferr78"). May be assigned by the CSL processor based on item metadata. + +- citation-number + + index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor) + +- collection-title + + title of the collection holding the item (e.g. the series title for a book) + +- container-title + + title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article) + +- container-title-short + + short/abbreviated form of "container-title" (also accessible through the "short" form of the "container-title" variable) + +- dimensions + + physical (e.g. size) or temporal (e.g. running time) dimensions of the item + +- DOI + + Digital Object Identifier (e.g. "10.1128/AEM.02591-07") + +- event + + name of the related event (e.g. the conference name when citing a conference paper) + +- event-place + + geographic location of the related event (e.g. "Amsterdam, the Netherlands") + +- first-reference-note-number + + number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes. + +- genre + + class, type or genre of the item (e.g. "adventure" for an adventure movie, "PhD dissertation" for a PhD thesis) + +- ISBN + + International Standard Book Number + +- ISSN + + International Standard Serial Number + +- jurisdiction + + geographic scope of relevance (e.g. "US" for a US patent) + +- keyword 关键字 + +- locator + + a cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the [Locators](https://docs.citationstyles.org/en/stable/specification.html#locators) term list), which determines which term is rendered by `cs:label` when the "locator" variable is selected. + +- medium + + medium description (e.g. "CD", "DVD", etc.) + +- note + + (short) inline note giving additional item details (e.g. a concise summary or commentary) + +- original-publisher + + original publisher, for items that have been republished by a different publisher + +- original-publisher-place + + geographic location of the original publisher (e.g. "London, UK") + +- original-title 最初版本的题目 + +- page 项目的页码范围 + +- page-first 页码范围的第一个页码 + +- PMCID + + PubMed Central reference number + +- PMID + + PubMed reference number + +- publisher 出版商/出版社 + +- publisher-place 出版社的地理位置 + +- references + + resources related to the procedural history of a legal case + +- reviewed-title + + title of the item reviewed by the current item + +- scale + + scale of e.g. a map + +- section + + container section holding the item (e.g. "politics" for a newspaper article) + +- source + + from whence the item originates (e.g. a library catalog or database) + +- status + + (publication) status of the item (e.g. "forthcoming") + +- title + + primary title of the item + +- title-short + + short/abbreviated form of "title" (also accessible through the "short" form of the "title" variable) + +- URL 链接 + +- version 版本 + +- year-suffix + + disambiguating year suffix in author-date styles (e.g. "a" in "Doe, 1999a") + +## 数据变量 + +Number variables are a subset of the [Standard Variables](https://docs.citationstyles.org/en/stable/specification.html#standard-variables). + +- chapter-number + + 章序号 + +- collection-number + + number identifying the collection holding the item (e.g. the series number for a book) + +- edition + + 版本序号(注意和 version 的区别) + +- issue + + (container) issue holding the item (e.g. "5" when citing a journal article from journal volume 2, issue 5) + +- number + + number identifying the item (e.g. a report number) + +- number-of-pages + + 引用项目的总的页数 + +- number-of-volumes + + total number of volumes, usable for citing multi-volume books and such + +- volume + + (container) volume holding the item (e.g. "2" when citing a chapter from book volume 2) + +## 日期变量 + +- accessed + + date the item has been accessed + +- container + + ? + +- event-date + + date the related event took place + +- issued + + date the item was issued/published + +- original-date + + (issue) date of the original version + +- submitted + + date the item (e.g. a manuscript) has been submitted for publication + +## 名字变量 + +- author + +- collection-editor + + editor of the collection holding the item (e.g. the series editor for a book) + +- composer + + composer (e.g. of a musical score) + +- container-author + + author of the container holding the item (e.g. the book author for a book chapter) + +- director + + director (e.g. of a film) + +- editor + +- editorial-director + + managing editor ("Directeur de la Publication" in French) + +- illustrator + + illustrator (e.g. of a children’s book) + +- interviewer + + interviewer (e.g. of an interview) + +- original-author + +- recipient + + recipient (e.g. of a letter) + +- reviewed-author + + author of the item reviewed by the current item + +- translator diff --git a/src/csl-dev-guide/appendix/appendix5-page-range-formats.md b/src/csl-dev-guide/appendix/appendix5-page-range-formats.md new file mode 100644 index 00000000..85559fb3 --- /dev/null +++ b/src/csl-dev-guide/appendix/appendix5-page-range-formats.md @@ -0,0 +1,34 @@ +--- +title: 附录 V 页码范围格式 +date: 2022-08-01 16:47:15 +updated: 2022-08-03 10:28:22 +--- + +# 附录 V 页码范围格式 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +`cs:style` 元素中的 `page-range-format` 表示了页码的缩写规则,其取值可能是: + +`"chicago"` + +| 第一个数字 | 第二个数字 | 例 | +| ---------------------------------------- | -------------------------------------------------- | ------------------------------------ | +| 小于 100 | 使用所有的位数 | 3–10; 71–72 | +| 100 或者 100 的整数 | 使用所有的位数 | 100–104; 600–613; 1100–1123 | +| 100 到 109 (包括对应 100 的倍数的范围) | 仅使用有变化的部分,忽略不需要的 0 | 107–8; 505–17; 1002–6 | +| 110 到 199 (包括对应 100 的倍数的范围) | 根据需要使用两位数或者更多 | 321–25; 415–532; 11564–68; 13792–803 | +| 4 位数 | 如果数字是 4 位并且其中有 3 位不同,使用所有的位数 | 1496–1504; 2787–2816 | + +`"expanded"` + +​ 扩展模式,不适用缩写。eg. 42–45、321–328、2787–2816 + +`"minimal"` + +​ 第二个数字中重复的所有数字都被省略:42–5,321–8,2787–816 + +`"minimal-two"` + +​ 和 `"minimal"` 类似,但当第二个数字有两个或者两个以上的数字时,第二个数字至少保留两位。 diff --git a/src/csl-dev-guide/appendix/appendix6-links.md b/src/csl-dev-guide/appendix/appendix6-links.md new file mode 100644 index 00000000..875f9f92 --- /dev/null +++ b/src/csl-dev-guide/appendix/appendix6-links.md @@ -0,0 +1,23 @@ +--- +title: 附录 VI 链接 +date: 2022-08-01 16:49:45 +updated: 2022-08-03 10:28:33 +--- + +# 附录 VI 链接 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules: + +If the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows: + +1. `url`: output as is +2. `doi`: prepend with “[https://doi.org/](https://doi.org/)” +3. `pmid`: prepend with “[https://www.ncbi.nlm.nih.gov/pubmed/](https://www.ncbi.nlm.nih.gov/pubmed/)” +4. `pmcid`: prepend with “[https://www.ncbi.nlm.nih.gov/pmc/articles/](https://www.ncbi.nlm.nih.gov/pmc/articles/)” + +If the identifier is rendered as a URI, include rendered URI components (e.g. “[https://doi.org/](https://doi.org/)”) in the link anchor. Do not include any other affix text in the link anchor (e.g. “Available from: “, “doi: “, “PMID: “). + +Citation processors should include an option flag for calling applications to disable bibliography linking behavior. diff --git a/src/csl-dev-guide/primer.md b/src/csl-dev-guide/primer.md new file mode 100644 index 00000000..1f86d1d6 --- /dev/null +++ b/src/csl-dev-guide/primer.md @@ -0,0 +1,528 @@ +--- +title: CSL 介绍 +order: 1 +date: 2022-08-01 16:23:04 +updated: 2023-07-22 20:42:39 +--- + +# CSL 介绍 + +## 前言 + +`CSL` 是一种基于 `XML` 的开放 (开源) 语言,用来描述引用和参考文献的格式。对 `CSL` 更加技术和详细的描述见 [CSL 规范](specification.md)。 + +## CSL 是什么 + +如果你写过论文的话,你可能在其中引用了别人的论文。参考文献在学术交流中很重要,因为它可以提供引用的来源,并且可以把已经发表的研究联系到一起。但是,手动设置引用格式和参考文献目录非常耗时,而且不同的期刊有自己的引用格式。 + +参考文献管理软件可以解决上面的问题。像 Zotero、Mendeley、Papers 等软件不仅能帮助你管理参考文献,而且可以自动地生成引用的参考文献目录。为了设置特定的引用格式,这些软件需要能识别的对引用格式的描述,这种描述就是 Citation Style Language(CSL)。 + +## 引文格式 + +引文格式有很多很多种,我们最常用的就是国标(信息与文献 参考文献著录规则),最新的国标代号是 `(GB/T 7714-2015)`。大多数的引用格式都属于几个基本类别,如下: + +### In-text Styles + +引用格式可以分为两个主要的类型。第一种就是 `in-text styles`,正文中的引用直接指向参考文献目录中的一个或者多个条目。`in-text styles` 还可以细分为 `author-date,author,numeric` 和 `label` 格式。 + +在 `CSL` 中,每个单独的 `pointer` 称为一个引用。例如,引文 `“(Doe et al. 2002, Smith 1997)”` 包含两个引用:一个是 `Doe et al.` 在 2002 年发表的文献,另外一个是 `Smith`1997 年发表的文献。 + +#### `author-date` 和 `author` 格式 + +`author-date` 引用格式会显示作者的名字和发表的日期,比如:`(Van der Klei et al. 1991; Zwart et al. 1983)`。`author` 只显示作者名字,例如:`(Gidijala et al.)`。参考文献条目一般使用字母表顺序对作者进行排序。 + +应该注意的是,许多引用格式使用了令人疑惑的 `Harvard` 术语来指代 `author-date` 格式,但是大多数这些格式与哈佛大学并没有关系。而且也并不存在一个官方的 `Harvard` 格式。 + +::: note 参考文献条目实例 + +Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active _Penicillium chrysogenum_ isopenicillin N synthase in the yeast _Hansenula polymorpha_. BMC Biotechnol 8: 29. + +van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of _Hansenula polymorpha_: a physiological study. Arch Microbiol 156: 15-23. + +Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385. + +::: + +#### `numeric` 格式 + +`numeric` 格式由数字组成,比如 `[1,2]` 和 `[3]`。参考文献条目一般使用作者首字母排序或者使用第一次在正文中的引用顺序排序。国标就是一种典型的 `numeric` 格式。 + +::: note 参考文献条目实例 + +1. Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active _Penicillium chrysogenum_ isopenicillin N synthase in the yeast _Hansenula polymorpha_. BMC Biotechnol 8: 29. + +2. Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385. + +3. van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of _Hansenula polymorpha_: a physiological study. Arch Microbiol 156: 15-23. + +::: + +#### `numeric` 复合格式 + +复合格式是 `numeric` 格式的变体。这种风格在化学领域很流行。`CSL` 中暂时不支持这种格式,这里也不多作介绍。 + +::: note 参考文献条目实例 + +1. Gidijala L, et al. (2008) BMC Biotechnol 8: 29. + +2. a) Zwart KB, et al. (1983) Antonie van Leeuwenhoek 49: 369-385, b) van der Klei IJ, et al. (1991) Arch Microbiol 156: 15-23. + +::: + +#### 标签格式 + +这种引用格式由 `keys` 构成,例 `[GBKv2008]` 和 `[ZwVH1983; vaHV1991]`。`CSL` 对这种格式支持有限,这里也不多作介绍。 + +::: note 参考文献条目实例 + +\[GBKv2008] Gidijala L, Bovenberg RA, Klaassen P, van der Klei IJ, Veenhuis M, et al. (2008) Production of functionally active _Penicillium chrysogenum_ isopenicillin N synthase in the yeast _Hansenula polymorpha_. BMC Biotechnol 8: 29. + +\[vaHV1991] van der Klei IJ, Harder W, Veenhuis M (1991) Methanol metabolism in a peroxisome-deficient mutant of _Hansenula polymorpha_: a physiological study. Arch Microbiol 156: 15-23. + +\[ZwVH1983] Zwart KB, Veenhuis M, Harder W (1983) Significance of yeast peroxisomes in the metabolism of choline and ethanolamine. Antonie van Leeuwenhoek 49: 369-385. + +::: + +### Note Styles + +引用格式的第二类为 `Note` 格式。引用中的 `marker` 可以是数字或者符号,例如 `[*]` 或者 `[†]`。每个 `marker` 指向脚注或者尾注。`CSL` 不能设置使用哪些数字或者符号用于 `marker`,这些应该用字处理软件 (比如 `word`) 设置。与上面的 `in-text` 格式不同,尾注或者脚注通常显示的信息更多。 + +::: note 参考文献条目实例 + +\[\*] Voyage to St. Kilda’ (3rd edit. 1753), p. 37. + +\[†] Sir J. E. Tennent, ‘Ceylon,’ vol. ii. 1859, p. 107. + +::: + +## CSL 生态 + +要明白 `CSL` 是怎么运作的,首先要了解 `CSL` 的生态。`Style` 指的是 CSL 样式,`Item Metadata` 指的是每篇参考文献的作者,题目等信息,`Locale Files` 是为实现与语言无关(指英语,汉语等)的格式的本地化文件,`Citation Details` 指的是影响引文信息或参考文献列表表现的细节,比如顺序,位置等。 + +![csl-infrastructure](https://docs.citationstyles.org/en/stable/_images/csl-infrastructure.png) + +### 独立格式和从属格式 + +`CSL` 的一切都是围绕 `style` 的,但是并不是所有的 `style` 都是相似的。主要包括两种格式:独立格式 `(independent styles)` 和从属格式 `(dependent styles)`。 + +独立格式有 2 种功能,首先,需要先定义一种引用格式。具体格式是什么样的,是 `author-date` 格式还是 `note` 格式? 引用的顺序是按字母排序还是按日期排序?参考文献条目中是不是包含 `DOI`?使用什么标点符号以及使用大写还是小写?文献发表年限在文献题目前还是后?等等,这些都是引用格式定义的。第二个功能是:`CSL` 必须是能自我解释的,可以称之为格式的**元数据**。元数据中可以包括该 `CSL` 对应的期刊标题,以及该期刊的联接,该 `CSL` 的创建者等。 + +从属格式则仅包括格式的元数据,没有对引用格式的定义。从属格式必须指定它的参考格式 (父格式),从属格式的引用将使用它的父格式的引用格式。 + +当多个格式使用相同的引用格式时,从属格式非常有用。以一个出版社旗下的不同期刊为例,如果每个期刊都使用独立格式,则每个 `CSL` 都要完整的对引用格式的描述,即使他们的引用格式都是相同的。这样就导致 `CSL` 太庞大,冗余太多。这种情况下,从属格式就比较适合。例如,`"Nature"`,`"Nature Biotechnology"` 和 `"Nature Chemistry"` 都使用同样的引用格式。因此,只需要创建一个 `"Nature"` 的独立格式,将 `"Nature Biotechnology"` 和 `"Nature Chemistry"` 格式都定义为 `"Nature"` 格式的从属格式。这样,如果 `"Nature"` 的出版社想改变引用格式,只需要改变 `"Nature"` 期刊格式的 `CSL` 就可以,不需要改变它的从属格式对应的 `CSL`。 + +### Locale 文件 + +事实上,大多数独立格式并不是完全独立的。 + +以下面的条目为例: + +> Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (1999, September 28). Method and system for placing a purchase order via a communications network. Retrieved from + +你可以使用一种独立的 `CSL` 格式来描述这个条目,在格式种编码就可以实现。例如,在最后的链接前加上 `"Retrieved from"`,或者使用 `"YYYY, Month DD"` 作为日期的格式。但是这样的一种 `CSL`,只能在美式英语中使用,如果使用德语写作,就必须修改样式中对应的翻译和日期格式。 + +幸运的是,独立格式可以依据 `CSL locale files`(以下也翻译为 本地化文件 ) 来实现通用项的翻译,日期格式和语法的转换。例如:我们可以重写 `CSL` 格式使用 `"retrieved"` 和 `"from"` 项,并使用本地化的日期格式。如果我们将 `CSL` 样式 (同格式) 的使用环境设置为美式英语,该样式将从 `US English locale file` 检索和翻译对应的项,并生成上述引用。如果将英语换为德语,就会使用德语对应的 `locale file`,生成的引用如下: + +> Hartman, P., Bezos, J. P., Kaphan, S., & Spiegel, J. (28. September 1999). Method and system for placing a purchase order via a communications network. Abgerufen von + +因此,使用 `CSL locale files` ,可以编写与语言无关的 `CSL` 样式。如上面展示的,这样的格式可以轻易的在不同的语言中转换。但是语言是很复杂的,`CSL automatic localization` 并不能支持所有的语言特色。但是,语言无关的样式仍然是有意义的,如果你要自己修改 `CSL` 样式来适应自己选择的语言环境,参考这些语言无关的样式将更容易实现。 + +`Locale file` 还有一个好处,那就是,我们只需要为每种语言定义一次通用的翻译,日期格式和语法。这样可以保证样式紧凑,并使 `locale file` 更容易维护。由于给定语言的引用格式并不是一直和 `locale file` 中定义的转换格式一致,因此,我们也可以自己选择性的重写任何在 `locale file` 中定义的项目。下面独立格式解析中的 `locale` 元素就是为实现这一功能设置的。 + +### Item Metadata + +接下来就是引用中需要的参考文献条目的细节:条目元数据。 + +例如:一篇期刊文章可能需要作者的名字,发表的年份,文章题目,期刊名称,卷和期,出现的页码范围以及 `DOI`(数字文献唯一标识),所有这些信息都有助于读者识别和查找这篇文章。 + +参考文献管理软件可以轻松的创建文献的这些细节信息。但是,很多参考文献管理软件都有自己的格式来存储这些元素据,大多数都支持通用的 `bibliographic exchange formats`,比如 `BixTex` 和 `RIS`。`citeproc-js`CSL 处理器引入了一种基于 `JSON` 的格式,用于以 `citeproc-js` 可以理解的方式来存储元数据。其他的一些 `CSL` 处理器后来采用了这种 `“CSL JSON”` 格式(也称为 `“citeproc JSON”`)。 + +译者注:这里讲的似乎有些繁琐。总的来说,是我们需要每篇文章的作者,题目,发表期刊等信息来生成对应的条目。文献管理软件可以很方便的提供这些信息。至于其内部存储的方式,使用的时候并不需要关心,类似 `Zotero` 的文献管理软件会自动使用这些信息和 `CSL` 生成引用信息。 + +### 引用细节 + +对于给定的引用格式,引文和条目的展示不仅取决于被引用项的元数据,还取决于这些项被引用的上下文。我们将这类特定于上下文的信息称为引用细节。 + +例如:引用时对条目的排序会影响他们在参考文献中的位置(在下面独立格式的 `citation` 和 `bibliography` 章节中提到)。 + +### CSL 处理器 + +有了 CSL 样式,`locale file`,元数据和引用细节,我们现在需要一个软件来解析这些信息,并以正确的格式生成引用和参考文献条目。用来完成这些功能的软件就是 `CSL` 处理器。 + +大多数的参考文献管理软件使用的是免费开源的 `CSL` 处理器,比如:`citeproc-js`。 + +## 理解 CSL 格式 + +到现在为止,我们已经知道什么是 `CSL`、怎么使用它、以及它怎么运作的。接下来我们将深入到 `CSL` 文件内部,分析它的 `XML` 代码。`XML基础.md` 文件中简单介绍了 `XML`,看完后可以读懂并编辑简单的 `XML` 文件。如果想更多的了解 `XML`,可以在网上查找 `XML` 教程。 + +### 从属格式解析 + +下面是一个 `CSL` 从属格式文件: + +```xml + + +``` + +如 `XML基础.md` 文件中的描述:一行给出了 `xml` 的声明。根元素为 `style`,其中包含了一个子元素 `info`。`info` 元素中又包含了很多元素,其中很多元素都有内容和属性。`xmlns、version` 和 `defaults-locale` 都是元素 `style` 的属性,分别指定了??、版本和使用的语言,这里为美国英语。 + +大多数从属格式都是电子表格自动生成的,下面的注释也给出了指向电子表格的联接。 + +```xml + +``` + +元素 `info` 里包含了大多数 `style` 的元数据,比如: + +`style` 的题目(也是期刊的题目): + +```xml +Applied and Environmental Microbiology +``` + +样式的 ID,是文献管理软件用来区分不同 `style` 的标志: + +```xml +http://www.zotero.org/styles/applied-and-environmental-microbiology +``` + +`style` 自己的链接。该链接指向了网上的副本。 + +```xml + +``` + +从属格式需要指定它的父格式,父格式为独立格式。这里的父格式为 `American Society for Microbiology` + +```xml + +``` + +为了更好的维护格式,因此需要指定格式的文档链接。这里文档的链接转到了期刊的主页。 + +```xml + +``` + +为了便于分类,还可以在 `category` 元素中设置它的属性。这里分别设置了引用格式为 `numeric`,领域为 `biology`。 + +```xml + + +``` + +当期刊创建格式的时候,可以在 `issn` 元素和 `eissn` 元素中保存其打印标准国际连续出版物号 `(ISSN)` 和其电子版本 `(ESSIN)`。 + +```xml +0099-2240 +1098-5336 +``` + +`updated` 元素保存了最后一次更新的时间戳: + +```xml +2014-04-30T03:45:36+00:00 +``` + +`rights` 元素中保存了该 CSL 格式的证书: + +```xml +This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License +``` + +### 独立格式解析 + +下面是一个独立格式的实例,实例中定义了引用格式,所以要比从属格式要大一些。这里的示例只是一个简化的例子,实际的格式比这个还要大很多。但这个简化的例子仍然是完整有效的。 + +```xml + + +``` + +#### 结构 + +首先看一下根元素 `style` 的子元素。 + +```xml + + +``` + +相比于从属格式只有 `info` 一个子元素,独立格式的根元素有除了 `info·` 以外,还有 `locale 、 macro 、citation、bibliography` 四个子元素。 + +这些子元素的作用分别是: + +- `info` 该元素在独立格式中的作用和从属格式中相同,都是用来保存基本的格式元数据。 +- `locale` 该元素可以用来从 `locale file` 中重写 `locale data` +- `macro` 用来存储 CSL 代码,这些代码可能应用在 `citation 、bibliography` 或者其他的 `macro` 元素中。 +- `citation` 定义文中引用的格式。 +- `bibliography` 定义参考文献目录的格式。 + +以下从 `style` 根元素开始分析。 + +#### 根元素/style 元素 + +```xml + +``` + +在从属格式中我们已经了解了 `xmlns` 和 `version` 属性,`class` 是新的属性,用来告诉 `CSL processor`(CSL 处理器) 使用的引用格式是什么。 + +#### info 元素 + +独立格式的元数据通常比从属格式的元数据更加全面: + +```xml + + Example Style + http://www.zotero.org/styles/example + + + + + John Doe + JohnDoe@example.com + + + Jane Doe + + + Bill Johnson + + + + 2014-10-15T18:17:09+00:00 + This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License + +``` + +`title、style ID、"self" link、categories、time stamp、license` 和从属格式作用都是相同的,但有些许差别。首先,独立格式不依赖父格式,通常是提供一个 `template(模板)` 链接,表明当前的独立格式是以模板格式链接创建的(这样写的原因是,通常情况下,凭空写一个 `CSL` 比较困难,但是借助一个模板改写则容易的多)。这里的模板是 `APA style`。此外,`info` 还倾向于给定一个或者多个 `document` 链接,用来指向引文格式的在线描述。 + +为了致谢 `CSL` 格式的创建者,他们的名字和联系方式也可以添加到格式文件中。在当前的例子中,有一个作者和两个贡献者。作者通常完成了创建格式的大部分工作,贡献者一般只提供了一些小的改进。 + +#### citation 元素和 macro 元素 + +接下来分析 `macros` 和 `citation` 元素。`citation` 元素用来描述引用的格式。 + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +上面的代码可以生成类似 `“(A.C. Smith et al., 2002; W. Wallace, J. Snow, 1999)”` 这样的格式。为了理解这种引用格式在 CSL 中式如何编码的,要先分析 `citation` 元素中的 `layout` 元素。`layout` 元素中的 `prefix`、`suffix` 和 `delimiter` 属性分别定义了前缀(这里为 `(`),后缀(这里为 `)`)以及条目分隔符(这里为 `;`)。也就是说整个条目要放在圆括号中,条目之间以 `;` 分隔。每个条目的格式在 `layout` 元素的内容中定义。其内容中的 `group` 元素包括了 `author` 和 `issue-year` macros,并且以 `,` 分隔。 + +`macro` 元素是一种辅助元素,在其他元素或者其他 `macro` 元素中使用。通过其名字也可以看出,其与其他语言中的 **宏** 类似,这里暂不翻译。每个 `macro` 都含有 `name` 属性。 + +**注:**以下为了方便描述,将对应的 `macro` 元素直接以 `name` 指代,例:`name` 为 `author` 的 `macro` 元素直接称为 `author` 元素。 + +`author` 元素的 `name`的属性指定了名称,`variable`属性保存了具体的作者值,`initialize-with` 表明作者值为首字母缩写,每个首字母后面为 `.`。 + +`issued-year` 元素以分支语句开始,分支语句以 `choose` 元素定义,其中包含 `if` 和 `else` 元素。如果参考文献有日期,则保存在 `issued` 变量中,如果 `issued-year` 元素被引用,日期的年份将被印出,否则就印出 `no date`。 + +`layout` 元素中的 `group` 元素的 `author` 用来印出在 `author` 元素中存储的值,`issued-year` 则用来印出 `issued-year` 元素储存的值。 + +为什么不直接把 `macro` 中的内容放在 `citation` 元素中呢?使用 `macro` 有什么好处呢?在上面的例子中,`macro` 的使用简化了 `citation` 元素的结构。此外,上述的两个 `macro` 总共被调用了 4 次(两次在 `citation` 元素中,两次在 `bibliography` 元素中),如果不使用 `macro`,必须多次重复这些代码。因此 `macro` 的使用提供了更紧凑的样式。 + +再看 `citation` 元素,其中含有两个属性 `et-al-min` 和 `et-al-use-first`。这里的值分别为 `3、1`,表示作者大于等于 `3` 个的时候,使用印出第一个作者,后面跟 `et al` 术语。 + +`citation` 元素中还包括了 `sort` 元素,其中包括了两个 `key` 元素,用来表明引用的排列顺序。第一个 `key` 元素中引用了 `author` 宏,第二个宏引用了 `issued-year` 宏,表明,先按作者作者字母排序,然后按文献发表年份排序。 + +#### bibliography 元素 + +`citation` 元素定义了引用的格式,`bibliography` 定义了参考文献条目的格式。 + +```xml + + + + + + + + + + + + + + + + + +... + + + + + + + + + + + + + + + + + + + + +``` + +上述的例子中的 `bibliography` 实际上只适用于一种类型:期刊文章。它生成的条目的格式是: + +> A.C. Smith, D. Williams, T. Johnson. 2002. Story of my life. Journal of Biographies, 12(2), 24—27. W. Wallace, J. Snow. 1999. Winter is coming. Journal of Climate Dynamics, 6(9), 97—102. + +我们怎么定义这种格式呢?首先,`bibliography` 元素的结构和 `citation` 元素很相似,不同的是,这里的 `layout` 元素用来定义参考文献条目的格式。除了给出 `author` 和 `issued-year`,参考文献条目还需要给出每个条目的 `title`、`container-title`(对期刊文章来说,就是期刊的名称)、`volume`、`issue` 和 `page`。这里 `layout` 元素使用属性 `suffix` 和 `delimiter` 分别指定了 `group` 的后缀为 `.`,以及 `group` 之间的分隔符为 `,`。 + +和 `citation` 元素相同,`bibliography` 也包括了一个 `sort` 元素,用来对参考文献条目进行排序。这里的三个 `key` 分别为 `author`、`issued-year` 和 `title`。 + +#### locale 元素 + +最后介绍的是 `loacle` 元素。正如上面写道的,`CSL locale file` 允许 `CSL` 样式快速转换为不同的语言。但是,有时需要覆盖默认翻译。 + +```xml + + + without date + + +``` + +对 US English 来说,`"no date"` 项的内容就是 `"no date"`。但是在我们的例子中,我们想使用 `"without date"` 去替换它。为了重写默认的翻译,我们可以使用类似上面的 `locale` 元素。对一个没有日期的条目来说,这种重写会导致引用变为像 `(D. Williams, without date)` 这样的格式。 + +`locale` 的 `xml:lang` 属性被设置为 `en`,这告诉 CSL 样式当样式被用于英语写作的时候,重写 `"no date"`。如果我们在德语写作的时候使用该 `CSL`,该样式将会依据 `German locale file` 印出德语的翻译 (`ohne Datum`) + +## 更进一步 + +这里只给出了一个基本的介绍。有关 `CSL` 更详细的介绍可以查看 `CSL` 标准文档或者其他参考文档。 diff --git a/src/csl-dev-guide/specification.md b/src/csl-dev-guide/specification.md new file mode 100644 index 00000000..852fb4ae --- /dev/null +++ b/src/csl-dev-guide/specification.md @@ -0,0 +1,2155 @@ +--- +title: CSL 1.0.2 规范 +order: 2 +date: 2022-08-01 16:55:26 +updated: 2023-07-22 20:49:04 +--- + +# CSL 1.0.2 规范 + +主要作者:[Rintze M. Zelle, PhD](https://twitter.com/rintzezelle)、 [Brenton M. Wiernik](https://twitter.com/bmwiernik)、Frank G. Bennett, Jr.、 Bruce D’Arcus、Denis Maier + +其他贡献者:Julien Gonzalez、Sebastian Karcher、Sylvester Keil、Cormac Relf、Lars Willighagen and other CSL contributors. + +译者:[Mao Zhou](https://github.com/ZMAlt)、 [Northword](https://github.com/northword)。 + +此工作以  [Creative Commons Attribution-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-sa/4.0/) 授权。 + +## 介绍 + +CSL(Citation Style Language,引文样式语言) 是一种基于 XML 的格式,用来描述引文、注释和参考文献的格式,他提供了: + +- 一种开放的 (开源的) 格式 +- 紧凑、稳定的样式 +- 对样式要求的广泛支持 +- 样式自动本地化 +- 对样式发布和更新的基本支持 +- 数千种免费提供的样式(CC BY-SA 授权) + +有关的其他文档,CSL 议程,样式和本地化文件详见 [CSL 项目主页](https://citationstyles.org/)。 + +## 翻译习惯 + +这里将列出一些常用的术语的译文,并不能保证翻译的准确性。为保持准确性,后文的描述中可能会在译文旁标注原文。 + +| 原文 | 译文 | 备注 | +| ------------------- | ---------- | -------- | +| locale files/locale | 本地化文件 | 区域文件 | +| styles | 样式 | | +| citation | 引文 | | +| macro | 宏 | | +| | | | + +## 术语 + +关键字 MUST,MUST NOT,REQUIRED,SHALL,SHALL NOT,SHOULD,SHOULD NOT,RECOMMENDED,MAY 和 OPTIONAL 按 [IETF RFC 2119](http://tools.ietf.org/html/rfc2119) 中的描述解释。 + +::: note 译者注:关于 IETF RFC 2119 协议 + +RFC ,即 **R**equest **f**or **C**omments,意见征求稿,是由 [The Internet Engineering Task Force](http://www.ietf.org/) 制作的文档,其中许多是各种 Internet 协议的官方标准。 + +RFC 2119 协议全文:< + +**MUST**:必须的。通过它描述的对象,是强制要求的。它与 REQUIRED 和 SHALL 含义相同。 + +**MUST NOT**:不允许的。通过它描述的对象也是强制的。与 SHALL NOT 同义。 + +**SHOULD**:在通常情况下,应当这样。但是,特殊情况下除外。与 RECOMMENDED 同义。 + +**SHOULD NOT**:在通常情况下,不是这样。但是,特殊情况下除外。与 NOT RECOMMENDED 同义。 + +**MAY**:可选的描述对象。与 OPTIONAL 同义。 + +::: + +## 命名空间 + +> Namespacing + +CSL XML 命名空间 URI 是 。 + +在本规范中,当提及 CSL 元素时,命名空间前缀为 `cs:` ,但对于根元素 `cs:style` 或 `cs:locale` 的默认命名空间声明(用 `xmlns` 属性设置),通常省略 `cs:`。 + +## 空格处理 + +::: warning + +Whitespace Handling +翻译有一些疑惑,请参阅原文,欢迎提出改善意见。 + +::: + +CSL styles are valid XML, but CSL processors MUST NOT normalize attribute values by trimming leading or trailing whitespace from attributes which define text that is intended for output: + +CSL 样式是有效的 XML,但是 CSL 处理器不会(MUST NOT)通过修剪以下属性值前后的空格来规范输出。 + +- after-collapse-delimiter +- cite-group-delimiter +- delimiter +- initialize-with +- name-delimiter +- names-delimiter +- prefix +- range-delimiter +- sort-separator +- suffix +- year-suffix-delimiter +- value + +## 文件类型 + +CSL 文件有 3 种类型:独立样式、从属样式(都使用 `.csl` 作为扩展名),以及 本地化文件(名字为 `locales-xx-XX.xml`,其中 `xx-XX` 表示语言以及其方言,例如 `en-US` 表示美式英语)。 + +### 独立样式 + +独立样式包含了对引文,笔记以及参考书目的描述。虽然它们大多数都是自成一体的(即不依赖其他样式),但是(默认)依赖于本地化文件。 + +### 从属样式 + +从属样式是独立样式的别名(alias),其仅包含样式元数据,不包括任何格式的指示。 + +通过将具有相同引用风格的期刊(例如 "Nature Biotechnology","Nature Nanotechnology")的从属样式链接到一个单独的独立样式(例如 "Nature Journals"),从属样式就不再需要再重复一遍格式说明。 + +::: note 译者注 + +也就是说从属样式是依赖其他样式的,被依赖的样式成为称为**父样式**。 + +::: + +### 本地化文件 + +每个本地化文件包含一系列对某种特定的语言 / 方言的本地化数据(术语翻译,本地化日期格式以及语法选项)。 + +::: note 译者注 + +本地化文件主要用于在不同的语言环境中使用样式,比如在中文环境中使用,中文对应的本地化文件可以将英文中的 `et al.` 替换为 `等` 。 + +::: + +## XML 声明 + +> XML Declaration + +每个样式或者本地化文件应该以 XML 声明开头,指定具体的 XML 版本以及字符编码。多数情况下,XML 声明可以是: + +```xml + +``` + +## 样式的结构 + +::: warning + +此节尚未校对完成 + +::: + +### 根元素 `cs:style` + +样式的根元素是 `cs:style`。在 [独立样式](#独立样式) 中,根元素有以下几种属性: + +#### `class` + +🏳️ Default: *none* — 决定样式的 [引文格式](./primer.md#引文格式) 是 in-text 类型(值 `in-text`) 或者 note 类型(值 `note`)。 + +::: note 译者注 + +in-text 表示引文在文字中,note 表示引文不在文字中,可能是脚注等。 + +::: + +#### `default-locale` + +🏳️ Default: *none* · Optional — 为本地化设值默认的 locale。值必须是 [locale code](http://books.xmlschemata.org/relaxng/ch19-77191.html)。 + +::: tip 译者注:常用 local_code + +zh-CN:中文(中国) +zh-hk:中文(台湾) +zh:中文 +en-US: +可以参阅 [Language Strings | Microsoft Docs](https://docs.microsoft.com/zh-cn/windows/win32/wmformat/language-strings) + +::: + +#### `version` + +🏳️ Default: *none* · ⚠ Required — 样式的 CSL 版本。对于 CSL 1.0 兼容样式,必须是 `1.0`。 + +此外,`cs:style` 可能携带任意的 [全局选项](specification.md#全局选项) 和 [可继承的名称选项](specification.md#可继承的名称选项) 。 + +在这些属性中,[从属样式](#从属样式) 中,只有 `version` 是必须的, `default-locale` 属性可以设置用来代替的默认的本地化文件 。其他的属性是可以忽略的。 + +下面是一个 [独立样式](#独立样式) 的 `cs:style` 示例,第一行是 XML 声明: + +```xml + + +``` + +#### Locale + +来自 `"locales-xx-XX.xml"`locale file 的本地化数据可以通过 `cs:locale` 元素来重定义或者补充定义。`cs:locale` 元素应该放在 `cs:info` 元素后。 + +`cs:locale` 元素的 `xml:lang` 属性是可选的,必须设置为 [xsd:language locale code](http://books.xmlschemata.org/relaxng/ch19-77191.html) 中的一种,用来确定使用的语言环境(或方言,见 [locale fallback](locale fallback))。 + +对于 `cs:locale` 元素的详细使用,另见 [术语](#术语)、[本地化日期格式](#本地化日期格式) 和 [本地化选项](#本地化选项)。 + +下面是一个 `cs:locale` 元素的例子: + +```xml + +``` + +**Locale Fallback** + +本地化文件为语言方言提供了本地化数据;可选的 `cs:locale` 元素的 `xml:lang` 属性设置为一种语言 (例如, `"en"` 代表英语 ) 或者方言 (例如, `"en-US"` 代表美式英语 ) ,`xml:lang` 属性也可能缺失。Localr fallback 是一种在上述的属性设置中检索来确定本地化单元的机制。这些本地化单元包括日期格式,本地化选项或者术语的特定形式。 + +对于同一种语言的方言,一种被称为初级方言,其他都是二级方言。下面展示了部分语言的初级方言和二级方言: + +| 初级方言 | 二级方言 | +| -------- | ------------ | +| de-DE | de-AT, de-CH | +| en-US | en-GB | +| pt-PT | pt-BR | +| zh-CN | zh-TW | + +这里用一个例子来描述 Locale fallback。如果要选择 `"de-AT"`(Austrian German) 作为使用环境,本地化单元可以来自下面的源(优先级逐渐降低): + +A. 样式文件中的 `cs:locale` 元素 + +- `xml:lang` 设置为方言 `"de-AT"` +- `xml:lang` 设置为 `"de"` +- `xml:lang` 不设置 + +B. Locale files/本地化文件 + +- `xml:lang` 设置为方言 `"de-AT"` +- `xml:lang` 设置为对应的初级方言 `"de-DE"` (standard german) +- `xml:lang` 设置为 `"en-US"` + +也就是说,如果要使用 `"de-AT"` 语言,首先在 Locale files 中寻找 `"de"` 对应的 `locales-de-XX.xml` 文件,即 `"locales-de-AT.xml"` 和 `"locales-de-DE.xml"`,由于要设置的语言环境是方言 `"de-AT"`,所以选择 `de-AT` 对应的 locale file `locales-de-AT.xml`。接下来,如果 csl 文件中包含 `cs:locale` 元素,将会覆盖 `locales-de-AT.xml` 文件的设置。 + +## 本地化文件的结构 + +::: warning WORK IN PROGRESS + +此页面正在施工中。 + +::: + +尽管本地化数据可以包括在 csl 文件中 (见 [Locale](#locale)),但是本地化文件可以方便的提供本地化数据的设置,包括术语,日期格式以及语法选项。 + +每个本地化文件包括了一种语言方言的本地化数据。本地化文件中根元素为 `cs:locale`(样式/style 中则为 `cs:style` 元素)。在 `cs:locale` 根元素中,属性 `xml:lang` 用来设置方言。同时这一设置选项也用来对本地化文件命名(`"xx-XX"` 文件名为 `locales-xx-XX.xml`)。此外,根元素必须携带 `version` 属性,表明本地化文件的 CSL 版本(对 CSL 1.0 兼容的 locale file 必须设置为 `"1.0"`)。本地化文件有和样式同样的命名空间。`cs:locale` 元素可能包含 `cs:info` 作为第一个子元素,同时,必须含有 `cs:terms`、`cs:date`、`cs:style-options` 子元素。下面是一个 本地化文件的部分示例: + +```xml + + + + + + + + + + + + + + + n.d. + et al. + + page + pages + + + p. + pp. + + + +``` + +### Info + +`cs:info` 元素用来给出本地化文件的元数据。它含有以下子元素: + +`cs:translator`(可选) + +​ `cs:translator` 用来致谢翻译者,并且能使用多次。在这个元素中。子元素 `cs:name` 必须出现一次,`cs:uri` 则是可选的。这些子元素应该分别包括翻译者的名字,地址和 URI。(与样式中类似) + +`cs:rights`(可选) + +​ 可能出现一次。`cs:rights` 的内容用来指定本地化文件发布版本的 license。该元素可能会携带 `license` 属性来指定 `license` 的 URI,`xml:lang` 属性则用来指定元素内容的语言(值必须是 [xsd:language locale code](http://books.xmlschemata.org/relaxng/ch19-77191.html))。 + +`cs:updates`(可选) + +​ `cs:updated` 元素的内容必须是一个 `[时间戳]` 来指定本地化文件最后一次更新的时间。 + +### Terms(术语) + +术语是本地化的字符串,比如通过使用 `"and"` 术语,`"Doe and Smith"` 在语言环境从英语到德语的转换中会自动变为 `"Doe und Smith"`。术语用 `cs:term` 元素定义,是 `cs:terms` 元素的子元素。每个 `cs:term` 元素必须携带一个 `name` 属性,其属性值可以设置为 [附录 II 术语](#附录 II 术语) 列表中的值。 + +术语可以直接在 `cs:term` 的内容中定义,或者,在某些情况下,比如在需要单数和复数的情况下可以分别在子元素 `cs:single` 和 `cs:multiple` 中定义, (例如:`"page"` 和 `"pages"`)。 + +术语必须使用 `cs:term` 元素来定义,并在其中使用 `form` 属性来设置特定格式,`form` 可以设置的值为: + +- `"long"` - (默认值), e.g. "editor" and "editors" for the "editor" term +- `"short"` - e.g. "ed." and "eds." for the term "editor" +- `"verb"` - e.g. "edited by" for the term "editor" +- `"verb-short"` - e.g. "ed." for the term "editor" +- `"symbol"` - e.g. "§" and "§§" for the term "section" + +如果一个样式使用了一个没有定义的格式,则会会退到其他形式,比如 `"werb-short"` 会回退到 `"verb"`,`"symbol"` 会回退到 `"short"`,`"verb"` 和 `"short"` 都会回退到 `"long"`。如果没有可以用的语言环境或者 form 格式,改术语的渲染结果就会显示为空字符串。 + +`cs:term` 元素可以使用 `match`,`gender` 和 `gender-form` 属性来设置数字变量渲染为序数(比如,`first`,`2nd`)。具体见下面的 [序数后缀](#序数后缀) 和 [特定序数](#性别特定序数)。 + +术语内容不应该包括 Latex 以及 HTML 等标记。上标可以使用 Unicode 上标字符。 + +#### 序数后缀 + +数字变量可以使用 `cs:number` 元素以 `"ordinal"` 格式(即序数格式)渲染,比如:`2nd`。序数的后缀则是使用术语来定义的。 + +`"ordinal"` 术语定义了默认的序数后缀格式,但这些默认的后缀可以被下面的术语对某些数字进行覆盖: + +- `"ordinal-00"` 到 `"ordinal-09"` - 默认地,当术语名称的最后一位数字与要渲染的数字的最后一个数字相同时,将使用在这个范围内的对应的术语。比如:`"ordinal-00"` 能够匹配数字 0 、10、20 等等。通过设置属性 `match` 为 `"last-two-difits"`(默认值为 `"last-digit"`),匹配范围将为变为两位,例如:0、100、200 等。当 `match` 术语设置为 `"whole-number"` 时,只有术语与要渲染的数字相同时,才会实现匹配。 +- `"ordinal-10"` 到 `"ordinal-99"`- 默认地,当要渲染的数字的最后两位和术语中相同时,使用这个范围的术语。当 `match` 属性设置为 `"whole-number"` 时(默认为 `"last-two-digits"`),只有术语与要渲染的数字相同时,才会实现匹配。 + +当渲染的数据对上面的两组都匹配时(比如:13 可以同时匹配 `"ordinal-03"` 和 `"ordinal-13"`),则使用 `"ordinal-10"` 到 `"ordinal-99"`。 + +序数术语在 CSL 1.0.1 和 CSL 1.0 中表现时不同的。当样式和本地化文件中都没有定义 `"ordinal"` 术语,但是定义了 `"ordinal-00"` 到 `"ordinal-04"`,原始的 CSL 1.0 的方案被使用,`"ordinal-01"` 用于以 1 结尾的数字(以 11 结尾的数字除外),`" ordinal-02"` 用于以 2 结尾的数字(以 12 结尾的数字除外),`"ordinal -03"` 表示以 3 结尾(那些以 13 结尾的除外),`"ordinal-04"` 表示所有其他数字。 + +#### 性别特定序数 + +一些语言使用特定的有别于性别的序数。例如,如果目标名词是男性,英语中的 "1st" 和 "first" 在法语中就翻译为 "1er" 和 "premier",如果目标名词是女性,就翻译为 "1re" 和 "première"。 + +女性和男性在术语使用上的不同可以使用性别格式 `gender-form` 的属性来设置(分别设置为 `feminine` 和 `masculine`),详情见 [Ordinals 序数](#ordinals-序数)(没有性别的术语表示中性)。这里涉及到两类目标名词: + +1. [数字变量](#数字变量) 附带的术语 + +2. 月份术语(见 [Months 月](#months-月))。 + +在术语设置为 `"long"`(默认),并且在 `gender` 属性被设置时(设置为 `"feminine"` 和 `"masculine"`),这些名词即使用相应的性别变体。当数字变量以序数 `"ordinal"` 或者 `long-ordinal` 形式时,将使用相同性别的序数词,如果没定义女性或男性变体,则使用中性变体。当 `"day"` 日期部分以序数 `"ordinal"` 形式呈现时,序数性别和月的术语匹配。 + +下面给出 `1re éd.`(`"1st ed."`)、`"1er janvier"`(`"January 1st"`)和 `"3e édition"`(`"3rd edition"`)的示例: + +```xml + + + + + édition + éditions + + éd. + janvier + e + re + er + + +``` + +### 本地化日期格式 + +在 `cs:date` 元素中,本地化数据格式有两种格式:一种是 `"numeric"`(例:`12-15-2005`),另外一种是 `"text"`(例:`December 15,2005`)。格式在 `cs:date` 元素中,使用 `form` 属性来设置。 + +日期格式使用 `cs:date-part` 子元素来构建(见 [Date-part](https://docs.citationstyles.org/en/stable/specification.html#date-part))。当 `cs:date-part` 的 `name` 属性设置为 `"day"`、`"month"`、或 `"year"` 时,反应了日期显示的顺序为日、月河年。日期可以使用 `cs:date` 和 `cs:date-part` 元素中的 [formatting](https://docs.citationstyles.org/en/stable/specification.html#formatting) 和 [text-case](https://docs.citationstyles.org/en/stable/specification.html#text-case) 属性设置。`cs:date` 元素中的 `delimiter` 属性用来设置 `cs:date-part` 中不同部分的间隔,并且词缀也可以应用于 `cs:date-part` 元素。(译注:这里的词缀指的是前后的括号等等。) + +**注**:定义本地化日期格式时,不允许在 `cs:date` 上使用词缀。此限制适用于将特定于语言环境的词缀(在 cs:date-part 元素上设置)与任何特定于样式的词缀(在调用 cs:date 元素上设置)分开,例如括号: + +```xml + + + +``` + +### 本地化选项 + +本地化选项有两个,`limit-day-ordinals-to-day-1` 和 `punctuation-in-quote` (见 [Locale Options](https://docs.citationstyles.org/en/stable/specification.html#locale-options))。这些全局选项(同时影响引文和参考文献条目)在 `cs:style-options` 中被设置为可选属性。 + +## 渲染元素 + +::: warning WORK IN PROGRESS + +此页面正在施工中。 + +::: + +渲染元素指定了在引文或参考文献条目中需要包含哪些条目元数据,以及以何种方式排序,并对其格式进行控制。 + +### Layout + +`cs:layout` 渲染元素是 `cs:citation` 元素和 `cs:bibliography` 元素的的必要子元素。`cs:layout` 必须包含一个或者多个渲染元素,并且可能携带 [`affixes`](#词缀) 和 [`formattig`](#格式化) 属性。在 `cs:citation` 元素中,[`delimiter`](#分隔符-delimiter) 属性用来指定一个引文中的不同引用的间隔符。例如:一个 `"(1,2)"` 类型的引文可以使用下面的代码实现: + +```xml + + + + + +``` + +### Text + +`cs:text` 渲染元素用来输出文字。其必须携带下面的属性来确定什么部分需要渲染: + +- `variable`- 渲染一个变量的文本内容。属性值必须是 [标准变量](#标准变量)。可以与 `form` 属性一起选择变量的 `"long"`(默认)或 `"short"` 形式(例如:设置题目,完整题目或者简写)。如果选择了 `"short"` 形式,但是却没法获得,就使用 `"long"` 形式来渲染。 +- `macro` - 渲染宏的文字输出。属性值必须和 `cs:macro` 元素的 `name` 属性的值相匹配。 +- `term` - 渲染术语。属性必须是 [附录 II 术语](#附录 II 术语) 中的术语列表中的一个。通过设置复数属性 `plura l` 来这只其使用单数还是复数形式,其中 `"true"` 为默认,表示使用复数形式,设置为 `"false"` 表示使用单数形式。 使用 `form` 属性可以设置术语的形式,其值可以为 `"long"` (默认)、`"short"`、`"verb"`、`"verb-short"` 或者 `"symbol"` (见 [术语](#术语)). +- `value` - 渲染属性值自己。 + +一个 `cs:text` 的渲染 `title` 变量的例子: + +```xml + +``` + +`cs:text` 可能会携带 [affixes](https://docs.citationstyles.org/en/stable/specification.html#affixes),[display](https://docs.citationstyles.org/en/stable/specification.html#display),[formatting](https://docs.citationstyles.org/en/stable/specification.html#formatting),[quotes](https://docs.citationstyles.org/en/stable/specification.html#quotes),[strip-periods](https://docs.citationstyles.org/en/stable/specification.html#strip-periods) 和 [text-case](https://docs.citationstyles.org/en/stable/specification.html#text-case) 属性。 + +### Date + +`cs:date` 渲染元素输出必须从 [日期变量](#日期变量) 列表中的选择。日期可以以本地化或者非本地化格式呈现。 + +[本地化的日期格式](#本地化日期格式) 通过可选的 `form` 属性来选择,其值必须设置为 `"numeric"`(完全的数字格式 ,例如:12-15-2005)或者 `"text"`(非数字的月份格式,例如: December 15, 2005)。本地化日期格式可以通过两种方式进行自定义。第一种:`date-parts` 属性可以用来设置不同的日期组成部分。其值可以设置为: + +- `"year-month-day"` - 默认值,渲染年,月,日 +- `"year-month"` - 渲染年月 +- `"year"` - 只渲染年 + +第二种,`cs:date` 可以含有一个或者多个 `cs:date-part` 子元素(见 [Date-part](#date-part))。在这些子元素中可以设置属性来覆盖之前的本地化设置(例如:要获得所有语言环境的缩写月份,可以将月份的 `cs:date-part` 元素的 `form` 属性设置为 `"short"`)。这些 `cs:date-part` 子元素不影响各个日期部分渲染的顺序和以及其是否渲染。`cs:date-part` 元素中不能使用词缀 [Affixes](#词缀). + +没有属性 `form` 的情况下,`cs:date` 则描述了一个自带的非本地化的日期格式。其日期格式使用 `cs:date-part` 子元素来构建。在使用 `name` 属性并设置为 `day`,`month` 或 `year` 时,这些元素的顺序反应了其显示顺序。日期可以在 `cs:date-part` 元素中使用 [`formatting`](格式化) 属性以及多个 `cs:date-part` 的属性来格式化(见 [Date-part](#date-part))。`cs:date` 中的 `delimiter` 属性可以用来设置 `cs:date-part` 元素不同日期部分的分隔符,此外,[词缀](#词缀) 可以用在 `cs:date-part` elements。 + +本地化的日期或者是非本地化的日期,, `cs:date` 都可能携带 [affixes](https://docs.citationstyles.org/en/stable/specification.html#affixes),[display](https://docs.citationstyles.org/en/stable/specification.html#display),[formatting](https://docs.citationstyles.org/en/stable/specification.html#formatting) 和 [text-case](https://docs.citationstyles.org/en/stable/specification.html#text-case) 属性。 + +#### Date-part + +`cs:date-part` 元素用来控制日期的各个部分怎么渲染。除了其父元素 `cs:date` 调用了本地化日期格式,这些子元素同样可以决定哪些部分出现以及各部分的渲染顺序。`cs:date-part` 元素描述了 `name` 属性选择的日期部分,其 `name` 值可以是: + +**"day"** + +​ 对于 `"day"` 来说,`cs:date-part` 可能会携带 `form` 属性,值可以设置为: + +- "numeric" - (默认),例如,每个月第一天显示为 `1` +- "numeric-leading-zeros" - 不够的位数用 0 补齐,例如,`01` +- "ordinal" - 使用序数形式,例如,`1st` + + 有的语言种,比如法语,只在月份的第一天使用 `"oridinal"` 也就是序数形式("1er janvier","2 janvier","3 janvier" 等)。这种输出可以通过 `"oridinal"` 以及 `limit-day-oridinals-to-day-1` 属性来设置 (see [本地化选项](#本地化选项))。 + +**"month"** + +​ 对于 `"month"` 来说,`cs:date-part` 可能会携带 [`strip-periods`](#strip-periods) 和 `form` 属性。在 locale files 中,月份缩写应该后面要加点(例如: "Jan.", "Feb.")。点可以设置 `strip-periods` 为 `"true"` 去掉。`form` 属性可以设置为: + +- "long" - 默认,例如:`January` +- "short" - 例如:`Jan.` +- "numeric" - 例如:`1` +- "numeric-leading-zeros" - 例如:`01` + +**"year"** + +​ 对 `"year"` 来说,`cs:date-part` 可能会携带 `form` 属性,值可以设置为: + +- "long" - 默认,例如:`2020` +- "short" - 例如:`20` + +`cs:date-part` 也可能携带 [formatting](https://docs.citationstyles.org/en/stable/specification.html#formatting),[text-case](https://docs.citationstyles.org/en/stable/specification.html#text-case) 和 `range-delimiter` 属性。除在 `cs:date` 元素中使用,其他情况下,`cs:date-part` 是可以使用词缀的。 + +#### Date Ranges + +默认的日期范围中的分隔符是短线(en-dash),比如:`May–July 2008`。可以在 `cs:date-part` 元素中通过 `range-delimiter` 属性来设置常用的分隔符。当日期范围被渲染的时候,范围分隔符从 `cs:date-part` 元素中提取,并且匹配两个日期差别中最大的部分("year","month",或 "day")。如下面的例子,将会渲染出类似 `"1-4 May 2008", "May–July 2008"` 和 `"May 2008/June 2009"` 的日期范围。 + +```xml + +``` + +#### AD and BC + +`"ad"` 一词(Anno Domini)自动附加到小于四位数的正年份(例如,`"79"` 变为 `"79AD"`)。`"bc"` 一词(Before Christ)自动附加到负年份(例如,`"-2500"` 变为 `"2500BC"`)。 + +#### Seasons + +如果日期中包含了季节而不是月份,日期术语 (`"season-01"` 到 `"season-04"`, 分别代表春夏秋冬) 将取代月份术语。比如,下面将会被渲染为 `"May 2008"` 和 `"Winter 2009"`。 + +```xml + +``` + +#### Approximate Dates + +近似日期,在 `is-uncertain-date` 属性设置为 `"true"` 时即渲染(见 [choose](#choose))。例如:下面的例子讲渲染出 `2005`(正常日期)和 `ca.2003`(近似日期)的结果。 + +```xml + +``` + +### Number + +`cs:number` 渲染元素输出 `variable` 属性选择的数字变量。[数字变量](#数字变量) 是 [标准变量](#标准变量) 的子集。 + +使用 `cs:number` 元素来渲染数字变量时,如果只包含数字内容 (使用 `is-numeric` 属性设置,见 [Choose](https://docs.citationstyles.org/en/stable/specification.html#choose)),数字就被提取出来并渲染。变量内容包含非数字内容时,变量内容将呈现为原样。 + +在提取的过程中,用连字符分隔的数字将去掉中间的空格("2 - 4" 变为 "2-4")。用逗号分隔的数字在逗号后会添加一个空格,并删掉其余的空格 ("2,3" 和 "2 , 3" 变为 "2, 3")。当数字使用 `&` 分隔时,在前后各添加一个空格 ("2&3" 变为 "2 & 3")。 + +提取的数字可以通过 `form` 属性行进格式化,其值可以设置为: + +- "numeric" - 默认,例如: "1", "2", "3" +- "ordinal" - 序数数字,例如: "1st", "2nd", "3rd"。序数后缀可以使用术语定义 (见 [序数后缀](#序数后缀). +- "long-ordinal" - 长序数,例如: "first", "second", "third"。畅序数使用术语 "long-ordinal-01" 到 "long-ordinal-10" 定义, 用来在数字 1 到 10 使用。对于其他的数字,长序数渲染的结果讲和序数相同. +- "roman" - 罗马数字,例如:"i", "ii", "iii" + +带有前缀或者后缀的数字不能使用罗马数字进行排序或者渲染(例如:"2E" 仍然时 "2E")。没有词缀的数字可以被分别转换("2, 3" 可以转换为 "2nd, 3rd", "second, third" 或者 "ii, iii")。 + +`cs:number` 元素可能会携带 [affixes](https://docs.citationstyles.org/en/stable/specification.html#affixes),[display](https://docs.citationstyles.org/en/stable/specification.html#display),[formatting](https://docs.citationstyles.org/en/stable/specification.html#formatting) 和 [text-case](https://docs.citationstyles.org/en/stable/specification.html#text-case) 属性。 + +### Names + +`cs:names` 元素用来输出一个或多个 [名字变量](#名字变量)的内容(通过必选属性 `variable` 来选择),每个 `names` 元素可以包含一个或者多个名称变量(例如:`"author"` 名称变量会携带引用项中所有的作者名称)。如果选择了多个变量,每个变量将会按顺序单独渲染,但当选择中包括编辑和翻译(`"editor"` 和 `"translator"`)不适用。当包含的内容中有两个名字变量相同时,则只渲染一个。另外,如果 `cs:names` 元素中包含 `cs:label` 元素,`"editortranslator"` 将用来代替 `"editor"` 和 `"translator"`(例如:Doe(editor & tranlator))。`cs:names` 元素中的 [`delimiter`](#分隔符-delimiter) 属性可以用来分割不同的名字变量(例如:`Doe, Smith (editors); Johnson (translator)` 中间使用了分号隔开)。 + +```xml + + +``` + +`cs:names` 有四个子元素:`cs:name`,`cs:et-al`,`cs:substitute` 和 `cs:label`。 `cs:names` 元素可能会携带 [affixes](https://docs.citationstyles.org/en/stable/specification.html#affixes), [display](https://docs.citationstyles.org/en/stable/specification.html#display) 和 [formatting](https://docs.citationstyles.org/en/stable/specification.html#formatting) 属性。 + +#### Name + +`cs:name` 元素的一个可选的子元素 `cs:names` 可以用来描述单个 `names` 的格式,以及名称变量中不同 `names` 的分隔。`cs:name` 可能携带下面的属性: + +`and` + +​ 在名称变量中用来设置倒数第二个名字和倒数第一个名字的分隔符。可选的值为 `"text"`("Doe, Johnson and Smith") 或者 `"symbol"`(eg: "Doe, Johnson & Smith")。 + +`delimiter` + +​ 在名称变量中设置字符串来分隔名称。默认的是 `","`(e.g. "Doe, Smith")。 + +`delimiter-precedes-et-al` + +​ 确定在使用 `et-al` 缩写的情况下,在截断的姓名列表和 `et-al` 术语之间何时使用分隔符或者空格。该属性可选的值有: + +- "contextual" - (default), 在作者列表中有 2 个及以上的人时使用 + - 1 name: "J. Doe et al." + - 2 names: "J. Doe, S. Smith, et al." 两个人,则在最后一个人名和 `et-al` 间使用 `,` 分隔 +- "after-inverted-name" - 在 `name-as-sort-order` 属性使当前的名字发生了颠倒时使用。例如:当 `name-as-sort-order` 属性设置为 `"first"` 时,第一个名字的前后部分 Doe 和 J 发生了反转,因此在第一个名字后面使用了分隔符 `,` + - "Doe, J., et al." + - "Doe, J., S. Smith et al." +- "always" - 不论几个名字或者怎样的设置,总是使用 + - 1 name: "J. Doe, et al." + - 2 names: "J. Doe, S. Smith, et al." +- "never" - 禁止使用分隔符,不论几个名字。 + - 1 name: "J. Doe et al." + - 2 names: "J. Doe, S. Smith et al." + +`delimiter-precedes-last` + +在名字列表中确定何时使用分隔符来分割最后一个作者和倒数第二个作者。如果 `and` 没有被设置,则不论 `delimiter-precedes-last` 属性的值,名字分隔符总是使用。 + +- "contextual" - 默认,当名字列表中的名字有 3 个或以上时使用。下面在使用 3 个名字时,在 `and` 前使用了分隔符 `,` + - 2 个名字: "J. Doe and T. Williams" + - 3 个名字: "J. Doe, S. Smith, and T. Williams" +- "after-inverted-name" - 在 `name-as-sort-order` 属性使当前的名字发生了颠倒时使用。例如:当 `name-as-sort-order` 属性设置为 `"first"` 时,仅在第一个名字后使用了分隔符 `,` + - "Doe, J., and T. Williams" + - "Doe, J., S. Smith and T. Williams" +- "always" - 分隔符一直使用。 + - 2 names: "J. Doe, and T. Williams" + - 3 names: "J. Doe, S. Smith, and T. Williams" +- "never" - 禁用分隔符 + - 2 names: "J. Doe and T. Williams" + - 3 names: "J. Doe, S. Smith and T. Williams" + +`et-al-min`/`et-al-use-first` + +通过设置这两个属性,可是使用 `et-al` 对名字列表进行缩写。如果名字变量中的名字的数目超过了 `et-al-min` 属性设置的值,则达到 `et-al-use-first` 设置的名称数量后,渲染的名字列表将被截断。`"et-al"`(或者 `"and others"`)术语用来添加到截断列表的后面(见 [et-al](#et-al))。默认地,当名字列表被截断到单个名字,则名字和 `"et-al"` 术语之间使用空格进行隔开(例如:Doe et al.)。当一个名字列表被截断到两个或者三个名字,则使用分隔符(例如:Doe, Smith, et al.)。这些行为可以使用 `delimiter-precedes-et-al` 属性来设置。 + +`et-al-subsequent-min`/`st-al-subsequent-use-first` + +如果使用了这两个属性,则属性的值分别替换 `et-al-min` 和 `et-al-use-first` 的值以便后续引用。 + +`et-al-use-last` + +当该属性设置为 `"true"` 时,(默认为 `"false"`),则使用下面的格式:截断的名称列表,分隔符,省略号,名称列表最后一个名字。这个属性只能在名称列表有多余两个的名称时使用。例: + +``` +A. Goffeau, B. G. Barrell, H. Bussey, R. W. Davis, B. Dujon, H. +Feldmann, … S. G. Oliver +``` + +--- + +下面讨论的属性将只会影响单个人的名字,这里先给出名字的组成部分。单个人的名字必须含有 "family" 部分,还可以含有 "given","suffix","non-dropping-particle",和 "dropping particle" 等部分。下面对这些部分分别进行解释: + +- "family" - 姓氏,必须去掉 particle(译注:暂译为粒子)和后缀 +- "given" - 全名 "John Edward" 或者 J. E. +- "suffix" - 名字后缀,比如:外国人常用的 Jr 或者罗马数字(经常翻译为 xx 世,比如伊丽莎白二世) "Jr." in "John Smith Jr." 或者 "III" in "Bill Gates III" +- "non-dropping-particle" - 不可删除(省略)的粒子。当只显示姓氏的时候,不能省略 ("de" in the Dutch surname "de Koning") ,但是可能会在姓氏中分别对待,比如在排序的时候 +- "dropping-particle" - 可删除的粒子。当只显示姓氏的是欧,可以省略 ("van" in "Ludwig van Beethoven", which becomes "Beethoven") + +下面的属性将会影响单个人的名称的渲染: + +`form` + +指定是否显示名字的所有部分(默认为 `"long"`),或者只显示姓氏和不可省略粒子(值为 `"short"`)。除这两种情况外,还可以设置为 `"count"`,返回使用 `cs:names` 元素渲染的部分的总数(考虑 `et-al` 缩写和编辑/翻译等折叠的影响)。 + +`initialize` + +当该属性设置为 `"false` 时(默认的结果为 `"true"`),并且 `"initialize-with"` 属性被设置时,全名将不使用缩写。但是,如果在全名中有单独的大写字母的时候,仍然会添加 ``"initialize-with"` 的值。例如:当 `initialize` 设置为 `"false"`,并且`initialize-with` 设置为 `"."` 时,James T kirk 将会变为 James T. Kirk。 + +`initialize-with` + +当该实行被设置时,全名将会使用缩写。该属性将会在每个首字母后添加属性值,比如:上述的名字会变为 J.J. Doe。对于合成的全名,例如:Jean-luc,可以使用全局的带有连字符的 `initialize-with-hyphen` 属性来设置其缩写形式(见 [人名中的连字符](#人名中的连字符))。 + +`name-as-sort-order` + +指定名字的显示顺序为:姓,然后是名,例如:John Doe 变为 Doe,John。该属性值可以设置为: + +- "first" - 属性只影响名字变量中的第一个名字 +- "all" - 属性将会影响所有的名字 + +注意:即使 `name-as-sort-order` 改变了名字内部的顺序,最终显示的顺序不一定与包含粒子和后缀的名字的相同(见 [名字内部顺序](#名字内部顺序))。`name-as-sort-order` 只影响以拉丁字母或者西里尔字母书写的名字。其他字母书写的名字(比如,亚洲的大部分名字)总是将全名中的姓显示在前面。 + +`sort-separator` + +设置名字的不同部分由于 `name-as-sort-order` 属性导致的内部位置变换后的分隔符。默认值为 `","`(Doe, John)。和 `name-as-sort-order` 属性相同,该属性只适用于拉丁字母和西里尔字母的名字。 + +`cs:name` 元素也可以携带 [词缀](#词缀) 和 [格式化](#格式化)。 + +#### 名字内部顺序 + +名字内部各部分的顺序取决于 `cs:name` 元素中 `form` 和 `name-as-sort-order` 属性和 `cs:style` 元素中的 `demote-non-droping-particle` 属性的设置。名称各部分的显示和排序的属性通常是不同的。下面将对名字顺序进行简单的介绍: + +**拉丁/西里尔名字的显示顺序** + +--- + +条件:`form` 属性设置为 `"long"` + +顺序:1. 名 2. 可省略粒子 3. 不可省略粒子 4. 姓 5. 后缀 + +示例:Jean de La Fontaine III + +--- + +条件:`form` 属性设置为 `"long"`,`name-as-sort-order` 属性激活,`demote-non-dropping-particle` 属性设置为 `"never"` 或者 `"sort-only"` + +顺序:1. 不可省略粒子 2. 姓 3. 名 4. 可省略粒子 5. 后缀 + +示例:La Fontaine, Jean de, III + +--- + +条件:`form` 属性设置为 `"long"`,`name-as-sort-order` 属性激活,`demote-non-dropping-particle` 属性设置为 `"display-and-sort"` + +顺序:1. 姓 2. 名 3. 可省略粒子 4. 不可省略粒子 5. 后缀 + +示例:Fontaine, Jean de La III + +--- + +条件:`form` 属性设置为 `"short"` + +顺序:1. 不可省略粒子 2. 姓 + +示例:La Fontaine + +--- + +**拉丁/西里尔名字的排序顺序** + +--- + +条件:`demote-non-dropping-particle` 属性设置为 `"never"` + +顺序:1. 不可省略粒子 + 姓 2. 可省略粒子 3. 名 4. 后缀 + +示例:La Fontaine de Jean III + +--- + +条件:`demote-non-dropping-particle` 属性设置为 `"sort-only"` 或者 `"display-and-sort"` + +顺序:1. 姓 2. 可省略粒子 + 不可省略粒子 3. 名 4. 后缀 + +示例:Fontaine de La Jean III + +--- + +**非拉丁和非西里尔名字的显示和排序顺序** + +--- + +条件:`form` 属性设置为 `"long"` + +顺序:1. 姓 2. 名 + +示例:张三 或者 Zhang San + +--- + +条件:`form` 属性设置为 `"short"` + +顺序:1. 姓 + +示例:张 或者 Zhang + +--- + +#### 名字格式化 + +`cs:name` 元素可能会携带一个或者两个 `cs:name-part` 子元素来对名字的小部分进行特定的格式化。`cs:name-part` 必须携带 `name` 属性,设置为 `"given"` 或者 `"family"`。 + +如果设置为 `"given"`,`cs:name-part` 元素的 [格式化](#格式化) 和 [文字大小写](#文字大小写) 属性会影响 `"given"` 和 `"dropping-particle"` 部分。[词缀](#词缀) 出现在 `"given"` 左右,将该部分扩起来。 + +如果设置为 `"family"`,`cs:name-part` 元素的 [格式化](#格式化) 和 [文字大小写](#文字大小写) 属性会影响 `"given"` 和 `"non-dropping-particle"` 部分。[词缀](#词缀) 出现在 `"family"` 左右,将该部分扩起来。 + +`"suffix"` 部分不受 name-part 部分格式限制。`cs:name-part` 元素不影响 name-part 渲染的顺序。下面的代码,将产生类似 Jane DOE 的效果: + +```xml + + + + + +``` + +#### Et-al + +Et-al 缩写通过 `et-al-…` 属性来控制(见 [Name](#name)),同时也可以使用可选的 `cs:et-al` 元素设置,`cs:et-al` 元素必须放在 `cs:name` 元素后。`term` 属性可以被设置为 `"et-al"`(默认)或者 `"and others"`。[格式化](#格式化) 属性可以用来设置 et-al 的格式,下面是 `"et-al"` 术语的一个例子: + +```xml + + + +``` + +#### Substitute + +可选的 `cs:substitute` 元素,是 `cs:names` 的子元素,且必须是最后一个子元素,在父元素 `cs:names` 中指定的 [名字变量](#名字变量) 为空时添加替换。替换必须放在 `cs:substitute` 元素中,并且必须包含一个或者多个渲染元素(除 `cs:layout`)。`cs:names` 的简洁版本没有子元素,继承了 `cs:names` 元素中在 `cs:name` 和 `cs:et-al` 子元素的属性值。如果 `cs:substitute` 元素包含了多个子元素,第一个非空的元素用于替换。替换变量在输出的其余部分被抑制,以防止重复。下面的例子中:`"author"` 名称变量为空时,就被 `"editor"` 名称变量替换,在没有 editor 时,则使用 `"title"` 宏替换。 + +```xml + + + + + + + + +``` + +#### Label in `cs:names` + +`cs:label` 元素是可选的(见 [Label](#label)),而且必须位于 `cs:name` 和 `cs:et-al` 元素后,在 `cs:substitute` 元素前。当 `cs:label` 作为 `cs:names` 元素的子元素时,`cs:label` 不能携带 `variable` 属性,而是使用父元素 `cs:names` 中的变量。第二个区别是:`form` 属性可以设置为 `"verb"` 或者 `"verb-short"`,其所有允许的值为: + +- "long" - (默认), 例如, "editor" 术语渲染为 "editor" 和 "editors" +- "short" - 例如,"editor" 术语渲染为 "ed." 和 "eds" +- "verb" - 例如,"editor" 术语渲染为 "edited by" +- "verb-short" - 例如,"editor" 术语渲染为 "ed." +- "symbol" - 例如,"section" 术语渲染为 "§" 和 "§§" + +### Label + +`cs:label` 渲染元素输出与所选变量匹配的术语,该属性必须设置为 "locator"、"page" 或数字变量之一。只有当选择的变量是非空的时候,术语才会渲染。例如: + +```xml + + +``` + +可以生成 `"page 3"` 或者 `"pages 5-7"`。`cs:label` 可能会携带下面的属性: + +`form` + +​ 选择术语的形式,可以设置为下面的值: + +- "long" - (默认), 例如: "page" 术语渲染为 "page"/"pages" +- "short" - 例如: "page" 术语渲染为 "p."/"pp." +- "symbol" - 例如: "section" 术语渲染为 "§"/"§§" + +`plural` + +​ 设置术语的复数形式,可以使用下面的值: + +- "contextual" - (默认),复数形式的渲染和具体的内容相匹配。当内容中包含多个数字时,使用复数形式。如下面的渲染结果:"page 1","pages 1-3","volume 2","volumes 2 & 4"。或者在使用 `number-of-pages` 和 `number-of-volumes` 时,数字大于 1,例如: ("1 volume" 和 "3 volumes"。 +- "always" - 总是使用复数形式,不管具体的内容如何。例如:"pages 1" 和 "pages 1-3" +- "never" - 禁止使用复数形式,不管具体内容: "page 1" 和 "page 1-3" + +`cs:label` 也可能会携带 [affixes](https://docs.citationstyles.org/en/stable/specification.html#affixes), [formatting](https://docs.citationstyles.org/en/stable/specification.html#formatting), [text-case](https://docs.citationstyles.org/en/stable/specification.html#text-case) 和 [strip-periods](https://docs.citationstyles.org/en/stable/specification.html#strip-periods) 属性。 + +### Group + +`cs:group` 元素必须包含一个或者多个渲染元素(除了 `cs:layout`)。`cs:group` 可以携带 `delimiter` 属性来分隔子元素以及 `affixes`、`display` 和 `formatting` 属性。`cs:group` 隐含的条件,当以下情况出现时,`cs:group` 和它的子元素将会被抑制:a) 在 `cs:group` 中至少一个渲染元素调用了变量(直接地或者通过宏调用),b) 所有被调用得变量都为空。 + +```xml + + + + + + + +``` + +上述代码可以生成 `"retrieved from http://dx.doi.org/10.1128/AEM.02591-07"` 类似得结果,但是当 URL 为空的时候,不生成结果。 + +### Choose + +`cs:choose` 元素允许有条件的渲染元素。下面的例子的意思为:在 `"issud"` 日期变量存在的情况下,就实施渲染,如果不存在,就给出 `"no date"` 术语: + +```xml + + + + + + + + +``` + +`cs:choose` 元素中必须还有 `cs:if` 子元素,后面还可以有一个或者多个 `cs:else-if` 子元素以及一个可选的用来结尾的 `cs:else` 元素。`cs:if` 和 `cs:else-if` 元素可能回包含任意个除 `cs:layout` 的渲染元素。由于空的 `cs:else` 元素是多余的,所以 `cs:else` 元素必须至少包含一个渲染元素。`cs:if` 和 `cs:else-if` 元素必须含有一个或多个判断条件,这些条件可以使用下买的属性设置: + +`disambiguate` + +​ 当改属性设置为 `"true"`(唯一允许的值) 的时候,在元素内容消除了两个相同的引用时渲染。当所有其他消除歧义的方法都不能识别唯一的目标时,才进行消除歧义的尝试。 + +`is-numeric` + +​ 测试给定的变量([附录 IV 变量](#附录 IV 变量))是不是包含数字部分。如果内容仅由数字构成,则识别为数字。数字可以带有前缀、后缀("D2","2b","L2d")、并且可能被逗号,连字符或 `&` 分隔("2, 3","2-4","2 & 4")。 例如, "2nd" 被识别为 "true" ,但 "second" 和 "2nd edition" 被识别为 "false". + +`is-uncertain-date` + +​ 判断给定的 [日期变量](#日期变量) 是不是包含 [近似日期](#Approximate Dates)。 + +`locator` + +​ 判断位置是不是和给定的位置符合。这里的位置主要是在一个文档中的位置,比如,题目,第几段。使用 "sub-verbo" 判断是不是 "sub-verbo" 类型 + +`position` + +​ 判断引用的位置湿否和给定的位置匹配。当在 `cs:bibliography` 中调用时,`position` 的结果为 "false"。位置可以使用下面的选项测试: + +- "first": 第一个引用项的位置 +- "ibid"/"ibid-with-locator"/"subsequent": 引用先前引用的项目的引用,Such cites may also have the "ibid" or "ibid-with-locator" position when: + + 1. the current cite immediately follows on another cite, within the same citation, that references the same item + + or + + 1. the current cite is the first cite in the citation, and the previous citation consists of a single cite referencing the same item + + If either requirement is met, the presence of locators determines which position is assigned: + + - **Preceding cite does not have a locator**: if the current cite has a locator, the position of the current cite is "ibid-with-locator". Otherwise the position is "ibid". + - **Preceding cite does have a locator**: if the current cite has the same locator, the position of the current cite is "ibid". If the locator differs the position is "ibid-with-locator". If the current cite lacks a locator its only position is "subsequent". + +- "near-note": position of a cite following another cite referencing the same item. Both cites have to be located in foot or endnotes, and the distance between both cites may not exceed the maximum distance (measured in number of foot or endnotes) set with the `near-note-distance` option (see [Note Distance](https://docs.citationstyles.org/en/stable/specification.html#note-distance)). + +Whenever position="ibid-with-locator" tests true, position="ibid" also tests true. And whenever position="ibid" or position="near-note" test true, position="subsequent" also tests true. + +`type` + +​ 测试项目是不是和给定的类型匹配([附录 III 类型](#附录 III 类型))。这里的类型指条目的类型,例如,书,期刊文献,学位论文。 + +`variable` + +​ 测试给定变量([附录 IV 变量](#附录 IV 变量))的默认的形式 (long) 是不是为空。 + +--- + +除了 `disambiguate` 外,所有的条件都允许有多个测试值,多个测试值使用空格分隔("book thesis")。 + +`cs:if` 元素和 `cs:else-if` 元素可能会携带 `match` 属性用来控制判断的逻辑,`match` 可设置的值为: + +- "all" - 默认,仅当所有给定测试值都为 true 的时候结果才为 true +- "any" - 当任意一个值为 true 的时候,结果就为 true +- "none" - 当没有值测试为 true 的时候,结果为 true + +## 样式的行为 + +::: warning WORK IN PROGRESS + +此页面正在施工中。 + +::: + +### 选项 + +样式可以使用不同的元素来进行特定的配置。在 `cs:citation` 元素中设置元素可以配置特定的 [引文选项](#引文选项);在 `cs:bibliography` 元素和 [全局选项](#全局选项)(同时影响引文和参考文献条目)中,可以配置特定的参考文献条目。继承的名字选项可以在 `cs:style`,`cs:style` 和 `cs:bibliography` 中设置。最后,[本地化选项](#本地化选项) 可以在 `cs:locale` 元素中设置。 + +#### 引文选项 + +##### 消除歧义 + +当一个引用对应多个参考文献条目的时候会产生歧义。下面有四种方法用来消除歧义: + +1. 显示更多作者姓名 +2. 扩展姓名(添加缩写或者完整的名) +3. 添加年份后缀 +4. 在 `cs:choose` 的 `disambiguate` 属性为 true 的时候,实行渲染 + +方法 2 也可以在全局名称歧义消除异己整个文档中有歧义的地方。 + +消除歧义的方法在下面属性被设置的时候,将会被激活,并且按上述列表中的方法进行尝试: + +`disambiguate-add-names` 步骤 1 + +​ 如果设置为 `"true"`(默认为 `false`),使用 et-al 缩写锁代替的名字列表会逐个的加入到渲染列表中,知道添加的名字可以消除引用歧义为止。 + +`disambiguate-add-givenname` 步骤 2 + +​ 如果设置为 `"true"`(默认为 `false`),产生歧义的名字将被扩展。名字扩展可以使用 `givenname-disambiguation-rule` 设置。下面是一个例子。 + +| 含有歧义的引用 | 消除歧义的引用 | +| ---------------------------- | ---------------------------------- | +| (Simpson 2005; Simpson 2005) | (H. Simpson 2005; B. Simpson 2005) | +| (Doe 1950; Doe 1950) | (John Doe 1950; Jane Doe 1950) | + +如果不能通过扩展名字来实现消除歧义,当 `disambiguate-add-names` 属性设置为 `"true"`, the names still hidden as a result of et-al abbreviation after the disambiguation attempt of `disambiguate-add-names` are added one by one to all members of a set of ambiguous cites, until no more cites in the set can be disambiguated by adding expanded names. + +`givenname-disambiguation-rule` + +用来指定 a) 名字扩展的目的是不是仅限于消除歧义,还是对消除歧义的名字有其他的目的 (只有在后面的情况中,有歧义的名字才会在明确的引用中扩展,例如:从 (Doe 1950; Doe 2000) 扩展到 (Jane Doe 1950; John Doe 2000)) b) 名称扩展是针对全部还是针对每个引用的名字 c) 扩展名字的方法。 + +**扩展单个名字** + +​ 扩展单个名字的步骤是: + +1. 如果 `initialize-with` 被设置并且 `initialize` 的值为默认的 true: + (a) 可以通过 `"long"` 而不是 `"short"` 的形式来渲染首字母 (e.g. Doe 变为 J. Doe) + (b) 如果 `initialize` 设置为 `"flase"`,完整的姓名被渲染,而不是首字母(J. Doe 变为 John Doe) +2. 如果 `initialize-with` 没有被设置,使用 `"long"` 格式渲染完整的姓名(Doe 变为 John Doe) + +**消除歧义法则** + +​ `givenname-disambiguation-rule` 属性可设置的值为: + +​ "all-name" + +​ 名字扩展具有消除名字歧义和消除引用歧义的双重目的。在渲染的有歧义的名称中,所有的有歧义的或者没有歧义的名字都将被消除歧义。 + +​ "all-names-with-initials" + +​ 和 "all-name" 一样,但是名称的扩展仅限于缩写。当 `initialize-with` 没被设置或者 `initialize` 被设置为 `"false"` 时,不会进行消除歧义的尝试。 + +​ "primary-name" + +​ 和 "all-name" 一样,但是消除歧义仅限于每个引用的第一个名字。 + +​ "primary-name-with-initials" + +​ 和 "all-names-with-initials" 一样,但是消除歧义仅限于每个引用的第一个名字。 + +​ "by-cite" + +​ 默认,和 "all-name" 一样,但是名称扩展的目的仅限于消除引用的歧义,只有有歧义的名字在有歧义的引用中才会被影响,并且在引用的第一个名字消除歧义后就停止消除歧义。 + +`disambiguate-add-year-suffix` 步骤 3 + +如果设置为 `"true"`(默认为 `"false"`),字母序的年后缀将会被添加到有歧义的名字上("Doe 2007, Doe 2007" 变为 "Doe 2007a, Doe 2007b")。当字母序到达 `"z"`,后,就会启用两个字母("z", "aa", "ab", …, "az", "ba" 等等)。 + +--- + +如果应用上述的歧义消除方法后仍然存在歧义,则尝试通过 `disambiguate` 条件来渲染不同的引用 [步骤 4] (见 [choose](#choose))。 + +##### 引用分组 + +通过引用分组,可以将相同名称的文本引用放在一起,比如:(Doe 1999; Smith 2002; Doe 2006; Doe et al. 2007) 将会变为 (Doe 1999; Doe 2006; Smith 2002; Doe et al. 2007)。引用分组在引用排序和消除歧义后执行。分组后的引用保持其相对顺序,并移到第一个改组中引用出现的第一个位置。 + +引用分组可以在 `cs:citation` 元素中通过设置 `cite-group-delimiter` 属性或者 `collapse` 属性(见 [cite collapsing](#cite collapsing))激活。 + +`cite-group-delimiter` + +激活引用分组并为引用组中的引用指定分隔符,默认为 `","`。例如,当 `cs:citation` 元素中的 `cs:layout` 中的 `delimiter` 设置为 `";"` 时,`collapse` 设置为 `"year"`,`cite-group-delimiter` 设置为 `","`,将生成类似 "(Doe 1999,2001; Jones 2000)" 的引用。 + +##### cite collapsing/引用折叠 + +author 或者 author-date 类型的引用格式中的引用分组和数字格式中的引用范围可以通过 `collapse` 属性来折叠。折叠引用组中分隔符可以是使用 `year-suffix-delimiter` 和 `after-collapse-delimiter` 属性来设置: + +`collapse` + +激活引用分组和折叠。允许的值为: + +- "citation-number" - 当使用数字样式的时候,折叠引用数字的范围(通过 `"citation-number"` 变量来渲染) ,例如:`[1, 2, 3, 5]` 变为 `[1–3, 5]`。只有升序的引用才可以折叠,比如: `[3, 2, 1]` 将不会折叠。 +- "year" - 通过压缩相同的名字来折叠引用分组,例如: "(Doe 2000, Doe 2001)" 变为 "(Doe 2000, 2001)"。 +- "year-suffix" - 对名字相同的折叠项,折叠相同的年份,例如: "(Doe 2000a, 2000b)" 变为 "(Doe 2000a, b)"。 +- "year-suffix-ranged" - 对名字相同的折叠项,折叠年份范围,例如: "(Doe 2000a, b, c, e)" 变为 "(Doe 2000a–c,e)"。 + +当 `disambiguate-add-year-suffix` 设置为 `"false"` 时,或者引用中包含位置(例如:“(Doe 2000a-c, 2000d, p. 5, 2000e,f)”,"Doe 2000d" 有一个页码位置),"year-suffix" 和 "year-suffix-ranged" 回退到 "year"。 + +`year-suffix-delimiter` + +​ 设置年份后缀的分隔符。默认在 `cs:citation` 元素的 `cs:layout` 中设置。例如:当 `collapse` 设置为 `"year-suffix"`,`cs:citation` 中的 `cs:layout` 的 `delimiter` 元素设置为 `";"`,并且 `year-suffix-delimiter` 设置为 `","` 时,渲染结果将类似于 "(Doe 1999a,b; Jones 2000)"。 + +`after-collapse-delimiter` + +​ 设置折叠后的引用组要使用的分隔符。默认在 `cs:citation` 元素的 `cs:layout` 中设置。例如:当 `collapse` 设置为 `"year"`,`cs:citation` 中的 `cs:layout` 的 `delimiter` 元素设置为 `","`,并且 `after-collapse-delimiter` 设置为 `";"` 时,渲染结果将类似于 "(Doe 1999, 2001; Jones 2000, Brown 2001)"。 + +##### 标注距离 + +`near-note-distance` + +当有一个预先的标注时,`"near-note"` 位置是我引用被判断为真,这种预先的标注可以为 a) 指向同一个项目 b) 当前注视以前的脚注或尾注。(译注:不知道讲了什么) + +#### 参考文献目录选项 + +##### 空白 + +`hanging-indent` + +​ 如果设置为 `"true"`(默认为 `"false"`),参考文献列表将采用悬挂缩进渲染。 + +`second-field-align` + +​ 如果该属性被设置,则书目条目的后续行沿第二字段对齐。 使用 "flush" 时,第一个字段与边距齐平。 对于 "margin",第一个字段放在 margin 中,随后的行与 margin 对齐。例如,当第一个字段设置为 `` + +``` +9. Adams, D. (2002). The Ultimate Hitchhiker's Guide to the + Galaxy (1st ed.). +10. Asimov, I. (1951). Foundation. +``` + +`line-spacing` + +​ 指定垂直方向的行距。默认值为 `"1"`,即单倍行距。可以被设置为任意正整数,用来表示对应倍数的行距。 + +`entry-spacing` + +​ 指定不同条目垂直方向的距离,默认值为 `"1"`,即一倍距离,可以被设置为任意正整数,用来表示对应倍数的距离。 + +##### 参考文献分组 + +`subsequent-author-substitute` + +​ 如果该属性被设置,则此属性将用上一条条目中的名称替换参考文献条目中的名字。具体的代替方案取决于 `subsequent-author-substitute-rule` 属性的值。替换仅限于 `cs:names` 元素中渲染的第一个名字。 + +`subsequent-author-substitute-rule` + +​ 用来指定 `subsequent-author-substitute` 的结果怎么替换。允许的值为: + +- "complete-all" - 默认值,当名字变量中的所有渲染的名字和上一个参考文献条目相同时,`subsequent-author-substitute` 属性的值将代替整个名字列表(包括标点和术语,比如 et-al 和 and 等术语),但 `cs:names` 元素中设置的后缀将不会被代替。 +- "complete-each" - 和 "complete-all" 一样,需要完整的匹配,但是 `subsequent-author-substitute` 属性的值将会代替所有被渲染的名字。 +- "partial-each" - 当有一个或者多个名字变量中的渲染名字和上一个条目中相同时,使用 `subsequent-author-substitute` 属性代替对应的值。匹配从第一个名字开始,直到不匹配的名字为止。 +- "partial-first" - 和 "partial-each" 相同,但是替换仅限于第一个名字。 + +对下面的例子: + +```xml +Doe. 1999. +Doe. 2000. +Doe, Johnson & Williams. 2001. +Doe & Smith. 2002. +Doe, Stevens & Miller. 2003. +Doe, Stevens & Miller. 2004. +Doe, Williams et al. 2005. +Doe, Williams et al. 2006. +``` + +当 `subsequent-author-substitute` 设置为 `"-"`,并且 `subsequent-author-substitute-rule` 设置为 `"complete-all"`,渲染结果将变为: + +```xml +Doe. 1999. +---. 2000. +Doe, Johnson & Williams. 2001. +Doe & Smith. 2002. +Doe, Stevens & Miller. 2003. +---. 2004. +Doe, Williams et al. 2005. +---. 2005. +``` + +当 `subsequent-author-substitute-rule` 设置为 `"complete-each"` 时,渲染的结果为: + +```xml +Doe. 1999. +---. 2000. +Doe, Johnson & Williams. 2001. +Doe & Smith. 2002. +Doe, Stevens & Miller. 2003. +---, --- & ---. 2004. +Doe, Williams et al. 2005. +---, --- et al. 2006. +``` + +当 `subsequent-author-substitute-rule` 设置为 `"partial-each"` 时,渲染的结果为: + +```xml +Doe. 1999. +---. 2000. +Doe, Johnson & Williams. 2001. +--- & Smith. 2002. +Doe, Stevens & Miller. 2003. +---, --- & ---. 2004. +Doe, Williams et al. 2005. +---, --- et al. 2005. +``` + +当 `subsequent-author-substitute-rule` 设置为 `"partial-first"` 时,渲染的结果为: + +```xml +Doe. 1999. +---. 2000. +Doe, Johnson & Williams. 2001. +--- & Smith. 2002. +Doe, Stevens & Miller. 2003. +---, Stevens & Miller. 2004. +Doe, Williams et al. 2005. +---, Williams et al. 2005. +``` + +#### 全局选项 + +##### 人名中的连字符 + +`initialize-with-hyphen` + +​ 该属性用来制定合成名字中间是不是使用连字符。例如,`"Jean-Luc"` 是一个合成名字,如果该属性设置为 `"true"`(默认),渲染结果为 `"J.-L."`,如果设置为 `"false"`,渲染结果为 `"J.L."`。 + +##### 页码范围 + +`page-range-format` + +​ 用来设置页码范围的格式,是不是使用简写来压缩。其可选的值有:`"chicago"` ("321–28"), `"expanded"` ( "321–328"), `"minimal"` ("321–8"), 或者 `" minimal-two"` ("321–28")。每一组值前面表示可选的属性值,后面是渲染结果的例子。也可见 [附录 V 页码范围格式](#附录 V 页码范围格式)。使用 `page-range-delimiter` 属性可以用来设置页面范围分割的符号,该属性在 CSL 1.0.1 中引入,默认是一个破折号。如果改属性没有设置,就默认使用破折号。 + +##### Name Particles + +​ 西方人的名字中经常包括一个或者多个小部分,例如,`"de"` 在荷兰人的名字中 `"W. de Koning"`。在仅显示姓氏时,这些小部分可以分为必须保留和可删除(或译为不可省略和可省略)两种类型:这两种类型分别称为 `non-dropping` 部分和 `dropping` 部分。一个单个的名字可以同时包括这两种类型(不能删除的类型始终位于可删除类型的后面)。例如,`"W. de Koning"` 和法国名字 `"Jean de la Fontaine"` 可以被解构为: + +```json +{ + "author": [ + { + "given": "W.", + "non-dropping-particle": "de", + "family": "Koning" + }, + { + "given": "Jean", + "dropping-particle": "de", + "non-dropping-particle": "La", + "family": "Fontaine" + } + ] +} +``` + +在仅显示姓氏的时候,只保留不能删除的部分,`"De koning"` 和 `"La Fontaine"`。 + +在名字倒写的情况下,即姓氏在名字之前,在姓氏后面始终添加 `dropping particle`,但是 `non-dropping` 部分可以前置(例如,`"de Koning, W."`)或者后置(`Koning, W. de`)。在名字倒写,不可省略粒子前置时,可以使用下面的方式对名字进行排序:排序 A:将不可省略粒子和姓一起保留作为主排序键值的一部分;排序 B:通过将不可省略粒子和姓分开,并使其成为二级排序键值,并加入可省略粒子(如果有): + +**Sort order A: 不可省略粒子不降级** + +- 主排序键值 "La Fontaine" +- 次排序键值 "de" +- 第三排序键值: "Jean" + +**Sort order B: 不可省略粒子降级** + +- 主排序键值 "Fontaine" +- 次排序键值 "de La" +- 第三排序键值 "Jean" + +对不可省略粒子的设置可以使用 `demote-non-dropping-particle` 选项: + +`demote-non-dropping-particle` + +​ 用来设置在倒写的名字中不可省略粒子的显示和排序方式(例如 Koning W. de)。可设置的值为: + +- "never": 不可省略粒子被作为姓中的一部分对待,并附加可省略粒子("de Koning, W." "La Fontaine, Jean de")。不可省略粒子作为主排序键值的一部分 (排序 A,例如. "de Koning, W." 将出现在首字母 "D" 的区域). +- "sort-only": 显示的方式和 "never" 相同,但是不可省略粒子降级作为二级排序键值。(排序 B, "de Koning, W." 出现在首字母 "K" 的区域). +- "display-and-sort" (默认),可省略粒子和不可省略粒子在最后( "Koning, W. de" 和 "Fontaine, Jean de La")。对名字排序,所有的粒子都是二级排序键值的一部分。(排序 B,"Koning, W. de" 出现在首字母 "K" 的区域). + +某些名字中包含的粒子禁止被降级。在这些情况中,粒子将和姓合并到一起,比如,对于法国名字 Charles de Gaulle + +```json +{ + "author": [ + { + "family": "de Gaulle", + "given": "Charles" + } + ] +} +``` + +#### 可继承的名称选项 + +​ `cs:names` 和 `cs:name` 元素的属性也可以在 `cs:style`、`cs:citation` 和 `cs:bibliography` 元素中设置。这样就不需要每次在 `cs:names` 和 `cs:name` 出现的时候赋值。 + +​ 可以在 `cs:name` 元素中继承的属性有 `and`, `delimiter-precedes-et-al`, `delimiter-precedes-last`, `et-al-min`, `et-al-use-first`, `et-al-use-last`, `et-al-subsequent-min`, `et-al-subsequent-use-first`, `initialize`, `initialize-with`, `name-as-sort-order` 和 `sort-separator`。`name-form` 属性和 `name-delimiter` 属性对英语 `cs:name` 元素中的 `form` 和 `delimiter` 属性。同样地,`names-delimiter` 属性对应 `cs:names` 元素中的 `delimiter` 属性。 + +​ 当一个可继承的名称属性在 `cs:style`,`cs:citation` 和 `cs:bibliography` 中设置时,其值将作用于改元素包含的所有的 `cs:names` 元素。如果一个属性在多个可继承的层次设置,最底层的值发挥作用。 + +#### 局部选项 + +`limit-day-ordinals-to-day-1` + +​ 日期格式在 `cs:date` 和 `cs:date-part` 元素中定义。默认地,当 `cs:date-part` 元素中的 `name` 设置为 `"day"`,`form` 属性设置为 `"ordinal"` 时,所有的天(1 到 31)将会以序数形式渲染,例如:"January 1st","January 2nd" 等等。通过将 `limit-day-ordinals-to-day-1` 属性设置为 `"true"`(默认值为 `"false"`),序数格式将仅限于每个月的第一天,其他的天将不使用序数格式。这在某些语言中出现,比如法语,"1er janvier","2 janvier","3 janvier"。 + +`punctuation-in-quote` + +​ 当 `cs:text` 元素渲染时,如果 `quotes` 属性设置为 `"true"`(见 [格式化](#格式化)),并且在输出后有逗号或者句号,`punctuation-in-quote` 属性可以控制标点放在括号的内还是外,`"false"` 为外(默认),`"true"` 为内。 + +### 排序 + +​ `cs:citation` 和 `cs:bibliography` 元素可以在 `cs:layout` 元素之前携带一个 `cs:sort` 子元素,来实现对引文或者参考文献条目的排序。在缺失 `cs:sort` 元素时,引文和文献条目将会使用他们在文章中出现的顺序来排序。 + +​ `cs:sort` 元素必须包含一个或者多个 `cs:key` 子元素,可以在该元素中设置变量([附录 IV 变量](#附录 IV 变量))或者宏名来实现排序。对于每个 `cs:key` 元素,排序的顺序可以通过设置 `sort` 属性来设置为升序(`"ascending"`,默认)或者降序(`"descending"`)。属性 `names-min`,`names-use-first`,`names-use-last` 可以用来覆盖 `et-al-min`/`et-al-subsequent-min`, `et-al-use-first`/`et-al-subsequent-use-first` 和 `et-al-use-last` 属性的值,并且可以通过 `cs:key` 影响所有的名字. + +​ 排序的键值是按顺序求值的,也就是说:首先,使用第一个排序键值对所有的项目进行排序。然后使用第二个键值对第一个键值排序后的结果进行排序,直到所有的键值都完成排序为止。如果键值为空,就放到最后。 + +​ 这里给出一个例子:其中首先引用 `"author"` 宏进行排序,并且使用 `et al.` 来对较长的作者序列进行代替。然后,使用 `"issued"` 变量来进行第二次排序,使用降序: + +```xml + + + + + + + + + +``` + +​ 变量或者宏的排序键值可以与 `"normal"` 渲染的输出不同,具体要依赖下面的细节: + +#### 排序变量 + +​ `cs:key` 元素通过 `variable` 变量属性调用变量的排序键值。名称变量、日期变量和数字变量除外: + +**名称**: [名字变量](#名字变量) 通过变量属性被调用,例如 ``,当 `form` 属性设置为 `"long"`,`name-as-sort-order` 属性设置为 `"all"`,返回名字列表字符串。 + +**日期**:[日期变量](#日期变量) 通过 `variable` 属性被调用,返回 `YYYYMMDD` 格式。使用 0 代替缺失的日期部分,例如:`December 2000` 渲染为 `20001200`。因此,简略的日期在升序排列的时候更加靠前,例如:2000, May 2000, May 1st 2000。负数的年份(即公元前)将被反向排序,比如:100BC, 50BC, 50AD, 100AD。排序过程中,季节将被忽略,因为南北半球的季节顺序不同。在日期范围中,开始的日期用于主要排序,结束日期用于次要排序,例如:2000–2001, 2000–2005, 2002–2003, 2002–2009。在具有相同的开始日期时,日期范围将放在单独的日期后,例如:2000, 2000–2002。 + +**数字**:[数字变量](#数字变量) 通过 `variable` 属性来调用,返回整数(`form` 设置为 `"numeric"`)如果原始的变量值仅由非数字文本组成,则将该值作为文本字符串返回。 + +#### 排序宏 + +​ 变量排序的键值是由字符串值组成,没有富文本标记。通过宏属性中的键值 `cs:key` 来调用。下面为一些特殊情况。 + +​ 对于名字排序,使用相同的宏而不是直接使用名字变量来渲染和排序有 4 个好处。第一,可以使用替换,例如:可以使用 `"editor"` 变量代替空的 `"author"` 变量。第二,可以使用 et-al 缩写,在宏里使用 `et-al-min`/`et-al-subsequent-min`, `et-al-use-first`/`et-al-subsequent-use-first` 和 `et-al-use-last` 可选属性,或者覆盖 `cs:key` 元素中的 `names-min`, `names-use-first` 和 `names-use-last` 。当 et-al 缩写出现的时候,`"et-al"` 和 `"and others"` 术语不会包括在排序键值中。第三,名字可以只使用姓来排序,即使用宏,其中的 `cs:name` 扽 `form` 属性设置为 `"short"`。最后,通过调用宏,将 `cs:name` 中的 `form` 属性设置为 `"count"`,可以按姓名列表中姓名的数目进行排序。至于使用 `variable` 属性对姓名进行排序,将 `cs:name` 中的 `name-as-sort-order` 属性设置为 `"all"`,返回值为排序后的名称列表。 + +​ 在宏中带有 `cs:number` 的 [数字变量](#数字变量) 的和日期变量的渲染方法和通过变量的调用相同。唯一的区别是:如果通过 `variable` 属性调用日期变量,将返回完整的日期。相反地,宏调用则只返回原本要渲染的日期部分。例如: + +### 范围分隔符 + +​ "citation-number" 和 "year-suffix" 变量的折叠范围以短划线分隔,例如 "(1-3,5)" 和 "(Doe 2000a-c,e)"。 + +​ "locator" 变量总是使用一个短划线代替任意的连字符。 对 "page" 变量来说,只有 `cs:style` 中的 `page-ran ge-format` 属性被设置时,替换才会执行(见 [页码范围](#范围分隔符))。 + +### 格式化 + +​ 下面的属性可以在 `cs:date`, `cs:date-part`, `cs:et-al`, `cs:group`, `cs:label`, `cs:layout`, `cs:name`, `cs:name-part`, `cs:names`, `cs:number` 和 `cs:text` 中设置: + +`font-style` + +用来设置字体,可能的值为: + +- "normal" 默认 +- "italic" 设置文字的斜体 +- "oblique" 设置没有斜体的文字倾斜 + +`font-variant` + +Allows for the use of small capitals, 值可以设置为: + +- "normal" 默认 +- "small-caps" + +`font-weight` + +设置字宽,值可以为: + +- "normal" 默认 +- "bold" +- "light" + +`text-decoration` + +设置下划线,值可以为: + +- "none" 默认 +- "underline" + +`vertical-align` + +设置垂直对齐,值可以为: + +- "baseline" 默认 +- "sup" 上标 +- "sub" 下标 + +### 词缀 + +​ 前缀属性 `prefix` 和后缀属性 `suffix` 可以在 `cs:date`(使用 `cs:date` 定义本地化格式除外),`cs:date-part`(`cs:date` 调用本地化格式除外)、`cs:group`、`cs:label`、`cs:layout`、`cs:name`、`cs:names`、`cs:number` 以及 `cs:text` 中设置。属性值用来在输出的前面或者后面添加东西,但是只有输出的时候才会渲染。除在 `cs:layout` 中设置外,词缀将出现在同一个元素的 [格式化](#格式化)、[引用](#引用-quotes)、[strip-periods](#strip-periods) 和 [text-case](#文字大小写) 的影响范围的外面,也就是这些属性的设置对前缀和后缀没有影响。作为一种解决方法,在父元素 `cs:group` 中设置上述属性,会产生影响。 + +### 分隔符 delimiter + +​ `delimiter` 属性可以在 `cs:date`(用来分隔日期的各部分,如年和月;在 `cs:date` 调用本地化格日期格式时,分隔符将被禁用)、`cs:name`(分隔名字变量中不同的名字列表)、`cs:name`(分隔名字列表中的名字)、`cs:group` 以及 `cs;layout`(分隔子元素的输出)中设置分隔符。 + +### 显示 display + +`display` 属性可用于将各个参考文献条目构成一个或者多个文本块。如果使用该属性,所有的渲染元素都在该属性的控制下。(译注:是用来设置对齐效果的)属性可能的值为: + +- "block" - 两边对其 +- "left-margin" - 左对齐。 +- "right-inline" - 右对齐 +- "indent" - 缩进。 + +**例** + +A. 除使用 `second-field-align` 外,使用 `"left-margin"` 和 `"roght-inline"` 可以实现相同的渲染效果。这种操作方式潜在的好处是,可以在最终的输出中进一步控制块的格式,例如,在 HTML 的 CSS 或者 Word 的样式中。 + +```xml + + + + + + + + +``` + +B. 每个作者的出版物列表。当 `subsequent-author-substitute` 设置为空字符串时,具有相同作者的条目的作者名字只渲染一次。 + +```xml + + + + + + + + + + + + + + + + + + + +``` + +渲染结果将类似下面: + +| Author1 | | +| ----------------- | ------------------ | +| year-publication1 | title-publication1 | +| year-publication2 | title-publication2 | +| Author2 | | +| year-publication3 | title-publication3 | +| year-publication4 | title-publication4 | + +C. 带有注释的条目,注释显示在参下方的缩进块中。 + +```xml + + + + + + + + +``` + +### 引用 quotes + +​ `quotes` 属性可以在 `cs:text` 中设置。当设置为 `"true"` 时(默认为 `"false"`),渲染文本将会被包含在引用中。本地化的 `punctuation-in-quote` 选项控制用来连接的逗号或者句号是出现在引号的内部还是外部(默认外部),见 [Locale options](#Locale options)。 + +### Strip-periods + +​ `strip-periods` 属性可以在 `cs:label` 或者 `cd:text` 中设置,此外,当 `name` 被设置为 `"month"` 时,也可以在 `cs:date-part` 中设置。当该属性被设置为 `true` 的时候(默认的是 `"false"`),所有文本中的句号(英文中为点)将会被删除。 + +### 文字大小写 + +​ `text-case` 属性可以在 `cs:date`,`cs:date-part`,`cs:label`,`cs:name-part`,`cs:number` 和 `cs:text` 中设置,可设置的值为: + +- "lowercase": 使用小写字母渲染文本 +- "uppercase": 使用大写字母渲染文本 +- "capitalize-first": 如果第一个词是小写的,将首字母设置为大写 +- "capitalize-all": 将每个小写词的首字母设置为大写 +- "sentence": renders text in sentence case(以句子的格式设置?) +- "title": renders text in title case(以标题的格式来设置?) + +#### 句子大小写转换 + +句子大小写转换 (在 "Text-case" 中设置为 "sentence"), + +1. 对于大写字符串,字符串的第一个字符保持为大写。其它字母表示为小写 +2. 对于大小写混合的字符串,如果单词是小写,第一个单词的首字符大写,其它所有单词的大小写保持不变。 + +CSL 处理器不能识别专有名词。因此,可以将句子大小写的字符转缺的转换为标题大小写,反之亦然。因此,通常最好在句子大小写的情况下存储注入标题之类的字符串,并且仅在样式需要其它大小写的情况下菜使用文本大小写。 + +#### 标题大小写转换 + +标题大小写转换 (在 "Text-case" 中设置为 "title") 对英语来说: + +1. 对大写的字符串,每个单词的第一个字母保持大写,其它的字母保持小写。 +2. 对于小写或者是混合的字符串,每个小写字符串的首字母大写。大写的字符串或者是混合的字符串保持原样。 + +两种情况下,`stop words` 必须是小写的,除非他们是第一个或者对后一个单词,或者跟在冒号后面。`stop words` 包括:`"a", "an", "and", "as", "at", "but", "by", "down", "for", "from", "in", "into", "nor", "of", "on", "onto", "or", "over", "so", "the", "till", "to", "up", "via", "with", "yet"`. + +**非英语项目** + +​ 由于许多语言不使用标题大小写,标题大小写转换 (在 "Text-case" 中设置为 "title") 仅影响英语项目。 + +​ 如果 `cs:style` 中的 `default-locale` 属性没有设置,或者设置为 `en` 开头的单词,则假定为英语环境。如果某项的元数据包含一个语言字段,而且该字段不是以 `"en"` 开头的,才被视为是非英语环境。 + +​ 同样的,`default-locale` 被这是为除 `en` 开头的字段,就假定为非英语。如果项目是以 `en` 开头的字段,就被视为是英语。 + +## 附录 I 学科分类 + +::: note WIP +此小节正在施工中 +::: + +- anthropology 人类学 +- astronomy 天文学 +- biology 生物学 +- botany 植物学 +- chemistry 化学 +- communications 通讯 +- engineering 工程学 +- generic-base - used for generic styles like Harvard and APA 通用基础 - 用于通用样式,像哈弗和 `APA` +- geography 地理学 +- geology 地质学 +- history 历史 +- humanities 人文学科 +- law 法学 +- linguistics 语言学 +- literature 文学 +- math 数学 +- medicine 药物学 +- philosophy 哲学 +- physics 物理学 +- political_science 政治科学 +- psychology 心理学 +- science 科学 +- social_science 社会科学 +- sociology 社会学 +- theology 神学 +- zoology 动物学 + +## 附录 II 术语 + +::: note WIP +此小节正在施工中 +::: + +术语在本地化文件中使用 + +### Locators 用来定位的术语 + +- book 书 +- chapter 章 +- column +- figure 图 +- folio 作品集 +- issue 议题/问题 +- line 行 +- note 笔记/注记 +- opus 作品(音乐作品) +- page 页 +- paragraph 段 +- part 部分 +- section 节 +- sub verbo 词条 +- verse 诗 +- volume 卷 + +### Months 月 + +- month-01 +- month-02 +- month-03 +- month-04 +- month-05 +- month-06 +- month-07 +- month-08 +- month-09 +- month-10 +- month-11 +- month-12 + +### Ordinals 序数 + +- ordinal +- ordinal-00 through ordinal-99 +- long-ordinal-01 +- long-ordinal-02 +- long-ordinal-03 +- long-ordinal-04 +- long-ordinal-05 +- long-ordinal-06 +- long-ordinal-07 +- long-ordinal-08 +- long-ordinal-09 +- long-ordinal-10 + +### Quotation marks 引号 + +- open-quote +- close-quote +- open-inner-quote +- close-inner-quote + +### Roles 角色 + +- author 作者 +- collection-editor 文集编辑 +- composer 作曲者 +- container-author 文章作者 +- director 主任/导演 +- editor 编辑 +- editorial-director 编辑部主任 +- editortranslator +- illustrator 插画者 +- interviewer 采访者 +- original-author 原作者 +- recipient 收件人 +- reviewed-author 复查作者 +- translator 译者 + +### Seasons 季节 + +- season-01 +- season-02 +- season-03 +- season-04 + +### Miscellaneous 其他 + +- accessed +- ad +- and +- and others +- anonymous +- at +- available at +- bc +- by +- circa +- cited +- edition +- et-al +- forthcoming +- from +- ibid +- in +- in press +- internet +- interview +- letter +- no date +- online +- presented at +- reference +- retrieved +- scale +- version + +## 附录 III 文献类型 + +::: note WIP +此小节正在施工中 +::: + +- article 文章 +- article-magazine 杂志文章 +- article-newspaper 新闻文章 +- article-journal 期刊文章 +- bill +- book 书 +- broadcast +- chapter 章节 +- dataset 数据集 +- entry +- entry-dictionary +- entry-encyclopedia +- figure 图 +- graphic +- interview 采访 +- legislation +- legal_case +- manuscript +- map 地图 +- motion_picture +- musical_score +- pamphlet +- paper-conference +- patent +- post 海报 +- post-weblog +- personal_communication 私人交流 +- report 报告 +- review +- review-book +- song 歌曲 +- speech 演讲 +- thesis 学位论文 +- treaty +- webpage 网页 + +## 附录 IV 变量 + +::: note WIP +此小节正在施工中 +::: + +### 标准变量 + +- abstract 项目的摘要(例:期刊文章的摘要) + +- annote 读者关于项目内容的笔记 + +- archive 保存项目的存档 + +- archive_location 存档的位置 + +- archive-place 存档的地理位置 + +- authority + +- call-number + + call number (to locate the item in a library) + +- citation-label + + label identifying the item in in-text citations of label styles (e.g. "Ferr78"). May be assigned by the CSL processor based on item metadata. + +- citation-number + + index (starting at 1) of the cited reference in the bibliography (generated by the CSL processor) + +- collection-title + + title of the collection holding the item (e.g. the series title for a book) + +- container-title + + title of the container holding the item (e.g. the book title for a book chapter, the journal title for a journal article) + +- container-title-short + + short/abbreviated form of "container-title" (also accessible through the "short" form of the "container-title" variable) + +- dimensions + + physical (e.g. size) or temporal (e.g. running time) dimensions of the item + +- DOI + + Digital Object Identifier (e.g. "10.1128/AEM.02591-07") + +- event + + name of the related event (e.g. the conference name when citing a conference paper) + +- event-place + + geographic location of the related event (e.g. "Amsterdam, the Netherlands") + +- first-reference-note-number + + number of a preceding note containing the first reference to the item. Assigned by the CSL processor. The variable holds no value for non-note-based styles, or when the item hasn’t been cited in any preceding notes. + +- genre + + class, type or genre of the item (e.g. "adventure" for an adventure movie, "PhD dissertation" for a PhD thesis) + +- ISBN + + International Standard Book Number + +- ISSN + + International Standard Serial Number + +- jurisdiction + + geographic scope of relevance (e.g. "US" for a US patent) + +- keyword 关键字 + +- locator + + a cite-specific pinpointer within the item (e.g. a page number within a book, or a volume in a multi-volume work). Must be accompanied in the input data by a label indicating the locator type (see the [Locators](https://docs.citationstyles.org/en/stable/specification.html#locators) term list), which determines which term is rendered by `cs:label` when the "locator" variable is selected. + +- medium + + medium description (e.g. "CD", "DVD", etc.) + +- note + + (short) inline note giving additional item details (e.g. a concise summary or commentary) + +- original-publisher + + original publisher, for items that have been republished by a different publisher + +- original-publisher-place + + geographic location of the original publisher (e.g. "London, UK") + +- original-title 最初版本的题目 + +- page 项目的页码范围 + +- page-first 页码范围的第一个页码 + +- PMCID + + PubMed Central reference number + +- PMID + + PubMed reference number + +- publisher 出版商/出版社 + +- publisher-place 出版社的地理位置 + +- references + + resources related to the procedural history of a legal case + +- reviewed-title + + title of the item reviewed by the current item + +- scale + + scale of e.g. a map + +- section + + container section holding the item (e.g. "politics" for a newspaper article) + +- source + + from whence the item originates (e.g. a library catalog or database) + +- status + + (publication) status of the item (e.g. "forthcoming") + +- title + + primary title of the item + +- title-short + + short/abbreviated form of "title" (also accessible through the "short" form of the "title" variable) + +- URL 链接 + +- version 版本 + +- year-suffix + + disambiguating year suffix in author-date styles (e.g. "a" in "Doe, 1999a") + +### 数字变量 + +Number variables are a subset of the [Standard Variables](https://docs.citationstyles.org/en/stable/specification.html#standard-variables). + +- chapter-number + + 章序号 + +- collection-number + + number identifying the collection holding the item (e.g. the series number for a book) + +- edition + + 版本序号(注意和 version 的区别) + +- issue + + (container) issue holding the item (e.g. "5" when citing a journal article from journal volume 2, issue 5) + +- number + + number identifying the item (e.g. a report number) + +- number-of-pages + + 引用项目的总的页数 + +- number-of-volumes + + total number of volumes, usable for citing multi-volume books and such + +- volume + + (container) volume holding the item (e.g. "2" when citing a chapter from book volume 2) + +### 日期变量 + +- accessed + + date the item has been accessed + +- container + + ? + +- event-date + + date the related event took place + +- issued + + date the item was issued/published + +- original-date + + (issue) date of the original version + +- submitted + + date the item (e.g. a manuscript) has been submitted for publication + +### 名字变量 + +- author + +- collection-editor + + editor of the collection holding the item (e.g. the series editor for a book) + +- composer + + composer (e.g. of a musical score) + +- container-author + + author of the container holding the item (e.g. the book author for a book chapter) + +- director + + director (e.g. of a film) + +- editor + +- editorial-director + + managing editor ("Directeur de la Publication" in French) + +- illustrator + + illustrator (e.g. of a children’s book) + +- interviewer + + interviewer (e.g. of an interview) + +- original-author + +- recipient + + recipient (e.g. of a letter) + +- reviewed-author + + author of the item reviewed by the current item + +- translator + +## 附录 V 页码范围格式 + +::: note WIP +此小节正在施工中 +::: + +`cs:style` 元素中的 `page-range-format` 表示了页码的缩写规则,其取值可能是: + +`"chicago"` + +| 第一个数字 | 第二个数字 | 例 | +| ---------------------------------------- | -------------------------------------------------- | ------------------------------------ | +| 小于 100 | 使用所有的位数 | 3–10; 71–72 | +| 100 或者 100 的整数 | 使用所有的位数 | 100–104; 600–613; 1100–1123 | +| 100 到 109 (包括对应 100 的倍数的范围) | 仅使用有变化的部分,忽略不需要的 0 | 107–8; 505–17; 1002–6 | +| 110 到 199 (包括对应 100 的倍数的范围) | 根据需要使用两位数或者更多 | 321–25; 415–532; 11564–68; 13792–803 | +| 4 位数 | 如果数字是 4 位并且其中有 3 位不同,使用所有的位数 | 1496–1504; 2787–2816 | + +`"expanded"` + +​ 扩展模式,不适用缩写。eg. 42–45、321–328、2787–2816 + +`"minimal"` + +​ 第二个数字中重复的所有数字都被省略:42–5,321–8,2787–816 + +`"minimal-two"` + +​ 和 `"minimal"` 类似,但当第二个数字有两个或者两个以上的数字时,第二个数字至少保留两位。 + +## 附录 VI 链接 + +::: note WIP +此小节正在施工中 +::: + +The CSL syntax does not have support for configuration of links. However, processors should include links on bibliographic references, using the following rules: + +If the bibliography entry for an item renders any of the following identifiers, the identifier should be anchored as a link, with the target of the link as follows: + +1. `url`: output as is +2. `doi`: prepend with “[https://doi.org/](https://doi.org/)” +3. `pmid`: prepend with “[https://www.ncbi.nlm.nih.gov/pubmed/](https://www.ncbi.nlm.nih.gov/pubmed/)” +4. `pmcid`: prepend with “[https://www.ncbi.nlm.nih.gov/pmc/articles/](https://www.ncbi.nlm.nih.gov/pmc/articles/)” + +If the identifier is rendered as a URI, include rendered URI components (e.g. “[https://doi.org/](https://doi.org/)”) in the link anchor. Do not include any other affix text in the link anchor (e.g. “Available from: “, “doi: “, “PMID: “). + +Citation processors should include an option flag for calling applications to disable bibliography linking behavior. diff --git a/src/csl-dev-guide/translating-locale-files.md b/src/csl-dev-guide/translating-locale-files.md new file mode 100644 index 00000000..108f6d20 --- /dev/null +++ b/src/csl-dev-guide/translating-locale-files.md @@ -0,0 +1,30 @@ +--- +title: Locale File +date: 2022-08-02 16:02:13 +updated: 2022-08-03 10:17:57 +--- + +# Locale File + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +## 前言 + +​ 这篇文档描述了如何帮助改进 CSL 样式的语言支持,主要是将 CSL locale file 翻译为需要的语言。 + +​ 用户总是会选择一个特定的语言环境或者 CSL 语言环境,例如:"British Psychological Society" 的 CSL 样式将会生成英式英语的引文和参考文献目录,中国使用的国标将会生成中文的引文和参考文献目录(可以有英文条目)。在使用的语言环境不是 CSL 定义的语言环境时,使用 Locale file 就会实现自动的本地化。 + +​ 所有的 CSL 样式,都依赖于 locale file,这些本地化文件中包含了本地化数据,用来指定引文和参考文献目录中的术语,日期格式和语法规则怎么本地化。在单独的本地化文件保存这些数据,而不是在 CSL 样式文件中(尽管 CSL 样式文件中可以使用 `cs:locale` 元素对本地化文件中的设置进行覆盖),有很多好处:1. 本地化更加容易维护;2. 样式文件更加的紧凑; 3. 样式可以是语言无关的。 + +​ 下面,我们将描述本地化文件的结构,给出如何转换所有部分的指示,并且解释如何提交这些转换。如果想获得更多的有关本地化的信息,可以查看 [CSL 规范](./specification.md)。 + +## 开始 + +​ CSL 本地化文件在 GitHub 的仓库地址为。 + +​ 每个本地化文件都包含一种对应语言的本地化数据。本地化文件的名字为 "locales-xx-XX.xml",这里的 "xx-XX" 是 [BCP 47 langues code 语言代码](http://people.w3.org/rishida/utils/subtags/) 中的一种。这个 [GitHub wiki 仓库](https://github.com/citation-style-language/locales/wiki) 列出了本地化 code,对应的语言和该仓库中储存的所有语言环境的软换状态(是否完成,或在制作中)。 + +## 转换 Locale Files + +> todo diff --git a/src/csl-dev-guide/xml-basic.md b/src/csl-dev-guide/xml-basic.md new file mode 100644 index 00000000..c5403a9c --- /dev/null +++ b/src/csl-dev-guide/xml-basic.md @@ -0,0 +1,111 @@ +--- +title: XML 基础 +date: 2022-08-01 16:23:04 +updated: 2022-08-03 10:17:53 +--- + +# XML 基础 + +> [!warning] WORK IN PROGRESS +> 此页面正在施工中。 + +`CSL` 基于 `XML(eXtensible Markup Language)`。`XML` 是一种标记语言,这里只介绍基本的术语,以理解 `CSL` 文件格式。 + +```xml + # 文档声明 + + # 注释 + + # 根元素,文档的第一个元素,有且仅有一个 + # 子元素 + # 属性 + # 元素文本 + +``` + +上面的代码时一个简单的 `XML` 结构。为了方便说明使用了 `#`符号作为注释符号,`#`并不是真正的注释符号,`XML`的注释格式为文档中的第二行所示的形式。 + +第一行为声明,或者称为序言,总是在文档的最前面。包括了`XML` 的版本、编码信息以及是否依赖外部文档等。这一行代码会告诉解析器或浏览器这个文件应该按照 XML 规则进行解析。 + +第二行为 `XML` 文档的注释。格式为 ``。 + +剩下的代码为 `XML` 文件的根元素,根元素也是元素,根元素是文档的第一个元素,有且仅有一个。 + +## 元素 + +元素由开始标签,元素内容和结束标签构成。其中可以包含属性、元素和注释。根元素包含了其他所有元素。 + +```xml +内容 +``` + +`title` 为元素名。 + +元素有 4 种形式。 + +```xml +1. 空元素 + 或者 + +2. 带有属性的空元素 + 或者 + +3. 带有内容的元素 +21000 + +4. 带有内容和属性的元素 +21000 # MoneyKind 为属性 21000为元素值 +或者是 + +Style =" LX2000" +CPU =" PIII600" +RAM ="128M " + + +``` + +所有的元素都包含在根元素中,为根元素的子元素,子元素还还可以包含子元素。 + +## 属性 + +属性是对元素及其内容的描述,用 `=` 隔开。属性必须包含在一对单引号或者双引号之间。 + +```xml + # 其中的 id 就是属性 后面的值就是属性值 +非诚勿扰 # 子元素 +70 + + +# 空元素的属性 + + +# 属性的另外一种形式 + +Style =" LX2000" +CPU =" PIII600" +RAM ="128M " + +``` + +每个元素中,一个属性最多出现一次,一个属性只能有一个值。 + +如果属性有多个值,这需要采取 `XML` 协议以外的方式来表示,如采用逗号或分号间隔,对于 [CSS](https://zh.wikipedia.org/wiki/CSS) 类或标识符的名字可用空格来分隔。 + +## 预定义实体表 + +`xml` 文件中某些符号无法正常表达,比如 `<` 或者 `>`,不处理的话会导致混乱。 + +| 所定义的实体 | 所代表的字符 | +| ------------ | ------------ | +| `<` | < | +| `>` | >`` | +| `"` | " | +| `'` | ' | +| `&` | & | + +```xml +John asked "What's your name?" + +中间的结果: +John asked "What's your name? " +``` diff --git a/src/plugin-dev-guide/README.md b/src/plugin-dev-guide/README.md index 6a30de24..d8f7ea57 100644 --- a/src/plugin-dev-guide/README.md +++ b/src/plugin-dev-guide/README.md @@ -1 +1,13 @@ +--- +title: 插件开发指南 +date: 2023-04-20 10:06:59 +updated: 2023-07-20 16:51:54 +--- + # 插件开发指南 + +::: tip + +待完善,前托管于语雀的开发者文档主要针对 Zotero 6,鉴于插件在 Zotero 7 相对 Zotero 6 变动较大,因此插件开发者文档需要重写。 + +::: diff --git a/src/user-guide/00-why-use-zotero.md b/src/user-guide/00-why-use-zotero.md deleted file mode 100644 index e77c1a9b..00000000 --- a/src/user-guide/00-why-use-zotero.md +++ /dev/null @@ -1,60 +0,0 @@ ---- -title: Zotero 是什么 -# order: 1 ---- - -::: info - -本节是官方文档的翻译。 - -::: - -## Zotero 是什么 - -Zotero是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用Zotero将使你的学术生产效率大增。 - -- 你是否仍在花费大量时间整理阅读过和刚下载的文献? -- 你是否仍在为找不到自己记忆中那篇文献而苦恼? -- 你是否还在焦虑刚刚读完文献却脑袋空空? -- 你是否还在手打插入的引文? - -Zotero将是你优秀的科研助手! - -## 为什么用 Zotero 而不是其他? - -### Zotero 优势 - -![截屏2022-10-23 20.14.48.png](https://cdn.nlark.com/yuque/0/2022/png/33660448/1666527514495-d395e828-16b2-489e-b7bd-f1e8fc82e870.png#averageHue=%23fcfcfc&clientId=u163f925c-f032-4&errorMessage=unknown%20error&from=drop&height=234&id=klsY9&name=%E6%88%AA%E5%B1%8F2022-10-23%2020.14.48.png&originHeight=1114&originWidth=1128&originalType=binary&ratio=1&rotation=0&showTitle=false&size=60666&status=error&style=none&taskId=u5618195d-a9a0-47d4-b500-b659ccff858&title=&width=237) - -![截屏2022-10-23 20.15.01.png](https://cdn.nlark.com/yuque/0/2022/png/33660448/1666527657816-d5869ac9-9a01-413c-aa17-5bab041fa522.png#averageHue=%23f5f6f4&clientId=u163f925c-f032-4&errorMessage=unknown%20error&from=drop&height=185&id=r433z&name=%E6%88%AA%E5%B1%8F2022-10-23%2020.15.01.png&originHeight=752&originWidth=970&originalType=binary&ratio=1&rotation=0&showTitle=false&size=198360&status=error&style=none&taskId=ufbd1834d-192e-457c-8c9f-2ef046a2391&title=&width=239) - -![截屏2022-10-23 20.15.09.png](https://cdn.nlark.com/yuque/0/2022/png/33660448/1666527496566-fd990aab-f97f-427f-b3f4-b376c7e87dcf.png#averageHue=%23f2f2f1&clientId=u163f925c-f032-4&errorMessage=unknown%20error&from=drop&height=202&id=KYrOe&name=%E6%88%AA%E5%B1%8F2022-10-23%2020.15.09.png&originHeight=806&originWidth=994&originalType=binary&ratio=1&rotation=0&showTitle=false&size=216679&status=error&style=none&taskId=u5b06a3e8-cb79-4334-9d23-1b50232fb35&title=&width=249) - -一键抓取文献,保存一切 -拥有多个分级目录与标签管理 -支持海量引用格式 -Zotero兼具简单的操作方式与强大的功能。通过一份简单的教程(后面的文档)你将快速上手Zotero的基本功能,而其他专业的功能你也能够通过社交媒体和Zotero官网上丰富的信息逐渐掌握,其中包含大量优秀的插件,这得益于Zotero是一款开源软件。 -Zotero社区的有力支持。当使用Zotero遇到问题时,你可以收到Zotero开发人员或者专家社区人员的回复,并且Zotero的插件编写者与使用爱好者遍布各地,你可以非常方便的通过你的社交媒体联系到他们。 -Zotero关注你的隐私安全并且无需付费。Zotero由独立的非营利组织开发,对你的数据没有任何财务利益。并且它是一个开源软件,这意味着如果Zotero目前的运营团队并没有将你的利益放在首位,其他任何人都可以自由地获取Zotero的源代码,继续对他进行维护和改进。 - -### EndNote - -EndNote只支持二级目录,而Zotero支持多级分类。 -EndNote不支持标签,而在Zotero中你可以轻松的通过标签进行查找、分类和管理。 -Endnote是一款收费软件:标准版官网售价1818RMB,教育版官网售价1218RMB。 - -### Mendeley - -Mendeley免费但不开源。 -Mendeley的数据迁移到新的电脑比较麻烦,这可能会耗费你大量的时间精力。 -Mendeley的使用并不能够完全离线,在国内的网络环境下,你可能偶尔会面临无法登陆Mendeley网站以致于无法使用软件的情况。 - -### NoteExpress - -NoteExpress是一款国产文献管理软件,对中文文献和中文数据库的支持较为优秀,但是他同样是一款付费软件,永久授权标准版1980RMB。 -NoteExpress只支持Windows系统,Mac和Linux系统则被拒之门外。 - -### 知网研学 - -知网研学支持的数据库较少,在Mac上甚至只支持CNKI学术总库。 -知网研学的订阅费用,高校版198RMB/年,标准版998RMB/年,尊享版3298RMB/年,还请自行体会。 diff --git "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/01-\345\256\211\350\243\205.md" "b/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/01-\345\256\211\350\243\205.md" deleted file mode 100644 index a86b8641..00000000 --- "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/01-\345\256\211\350\243\205.md" +++ /dev/null @@ -1,49 +0,0 @@ ---- -title: Zotero 的下载和安装 -# order: 2 ---- - -## 主程序(PC) - -请在 [Zotero官网 (https://zotero.org)](https://zotero.org) 下载对应自己操作系统的安装包。 -![image.png](https://cdn.nlark.com/yuque/0/2022/png/32594373/1662086662454-3387bcac-d7c3-4ffb-9303-f47083cba825.png#clientId=u5dcd1765-e673-4&from=paste&height=723&id=KVMVB&name=image.png&originHeight=1085&originWidth=1549&originalType=binary&ratio=1&rotation=0&showTitle=false&size=180647&status=done&style=none&taskId=ubae05bbd-8381-401f-a602-f1f8ad196a1&title=&width=1032.6666666666667) - -## 浏览器插件 Zotero Connector - -Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。 - -请在主程序安装完成后,打开常用的浏览器,点击上图右侧的 Install Connector 按钮下载。 - -支持常用浏览器:Chrome(谷歌浏览器),Firefox(火狐浏览器),Edge(微软自带浏览器),Safari(MacOS自带浏览器)。 - -::: tip -💡 Tips -由于 Google Chrome Store 在国内无法正常访问,所以如果没有科学上网的手段,建议在国内使用 Microsoft Edge 作为替代品。MS Edge 目前也基于 Chromium 项目,与 Chrome 具备几乎相同的网络兼容性,且可以享受在国内完全可用的同步与扩展服务。 - -如果你使用谷歌浏览器且无法打开插件下载页面,可在其他镜像站下载。例如: - -- [https://www.crxsoso.com/webstore/detail/ekhagklcjbdpajgpjgmbionohlpdbjgc](https://www.crxsoso.com/webstore/detail/ekhagklcjbdpajgpjgmbionohlpdbjgc) - -::: - -下载安装完毕后,在浏览器右上角可看到插件图标(![image.png](https://cdn.nlark.com/yuque/0/2022/png/32594373/1662087218127-8ab6804f-80bc-4cb2-9e11-8e82828b0469.png#clientId=u5dcd1765-e673-4&from=paste&height=28&id=udf17bcec&name=image.png&originHeight=42&originWidth=43&originalType=binary&ratio=1&rotation=0&showTitle=false&size=933&status=done&style=none&taskId=ud26b24c9-5caf-45da-ae4a-bcea60a6d4c&title=&width=28.666666666666668)或![image.png](https://cdn.nlark.com/yuque/0/2022/png/32594373/1662087227151-d31df1bc-19b2-440d-b6c9-b21925270753.png#clientId=u5dcd1765-e673-4&from=paste&height=28&id=u758c7015&name=image.png&originHeight=42&originWidth=43&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1206&status=done&style=none&taskId=ubb84eeb6-e5e5-40fe-b186-0fa3c786f49&title=&width=28.666666666666668))。此时,浏览器插件已经安装成功了。 - -当你打开一个可抓取文献的网页时,插件图标会显示为![image.png](https://cdn.nlark.com/yuque/0/2022/png/32594373/1662087257103-ea9a0027-edbc-4219-a216-c21b9719e0f5.png#clientId=u5dcd1765-e673-4&from=paste&height=28&id=ub8d5f94c&name=image.png&originHeight=42&originWidth=43&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1195&status=done&style=none&taskId=u23eca17c-fab3-46d3-8f7f-ee987ed0a11&title=&width=28.666666666666668),![image.png](https://cdn.nlark.com/yuque/0/2022/png/32594373/1662087322376-af8e59a1-b3f4-4143-ae9d-5c73871df2f1.png#clientId=u5dcd1765-e673-4&from=paste&height=28&id=u470272bf&name=image.png&originHeight=42&originWidth=43&originalType=binary&ratio=1&rotation=0&showTitle=false&size=1558&status=done&style=none&taskId=u139e3553-9583-4482-be96-762b4b6dac8&title=&width=28.666666666666668)或![image.png](https://cdn.nlark.com/yuque/0/2022/png/32594373/1662087453775-ce0c6dee-3036-4841-99e2-329ca994e5ab.png#clientId=u5dcd1765-e673-4&from=paste&height=28&id=ude98fadc&name=image.png&originHeight=42&originWidth=43&originalType=binary&ratio=1&rotation=0&showTitle=false&size=813&status=done&style=none&taskId=ub56ed3d5-846f-4041-a854-aead62711c8&title=&width=28.666666666666668)等。稍后当我们设置完成,点击插件图标即可抓取文献。具体使用方法将在 [将条目添加进文献库](https://zotero.yuque.com/staff-gkhviy/zotero/lx3yts?view=doc_embed) 小节中展开。 - -## 其他平台客户端 - -### IOS - -Zotero 官方目前已开发有 IOS 客户端,在 App store 搜索下载 Zotero 即可。 - -::: warning - -⚠️要使用IOS客户端,需要使用官方同步或webdav同步二者之一,才能顺利同步附件。其他使用zotfile等链接文件的同步方式不支持,未来也不会支持。 - -::: - -### Android - -Zotero 官方尚未开发 Android 客户端,但官方已在招聘 Android 开发工程师。目前 Android 用户可使用以下第三方客户端: - -- Zoo for Zotero:[https://play.google.com/store/apps/details?id=com.mickstarify.zooforzotero](https://play.google.com/store/apps/details?id=com.mickstarify.zooforzotero) (或网上搜索安装包下载) diff --git "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/02-\346\267\273\345\212\240\346\235\241\347\233\256.md" "b/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/02-\346\267\273\345\212\240\346\235\241\347\233\256.md" deleted file mode 100644 index 9393688b..00000000 --- "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/02-\346\267\273\345\212\240\346\235\241\347\233\256.md" +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: 向文献库中添加条目 ---- \ No newline at end of file diff --git "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/03-\347\256\241\347\220\206\346\226\207\347\214\256\345\272\223.md" "b/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/03-\347\256\241\347\220\206\346\226\207\347\214\256\345\272\223.md" deleted file mode 100644 index accc9335..00000000 --- "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/03-\347\256\241\347\220\206\346\226\207\347\214\256\345\272\223.md" +++ /dev/null @@ -1 +0,0 @@ -# 组织、管理你的文献库 diff --git "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/04-\351\230\205\350\257\273\344\270\216\347\254\224\350\256\260.md" "b/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/04-\351\230\205\350\257\273\344\270\216\347\254\224\350\256\260.md" deleted file mode 100644 index 3d4a2d0a..00000000 --- "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/04-\351\230\205\350\257\273\344\270\216\347\254\224\350\256\260.md" +++ /dev/null @@ -1 +0,0 @@ -# 阅读文献、添加笔记 diff --git "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/README.md" "b/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/README.md" deleted file mode 100644 index e4e2a742..00000000 --- "a/src/user-guide/01-\345\277\253\351\200\237\345\274\200\345\247\213/README.md" +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 快速开始 -# order: 2 -index: false ---- \ No newline at end of file diff --git "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/01-\345\234\250Zotero\344\270\255\347\224\237\346\210\220\345\217\202\350\200\203\346\226\207\347\214\256.md" "b/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/01-\345\234\250Zotero\344\270\255\347\224\237\346\210\220\345\217\202\350\200\203\346\226\207\347\214\256.md" deleted file mode 100644 index 8e1017c1..00000000 --- "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/01-\345\234\250Zotero\344\270\255\347\224\237\346\210\220\345\217\202\350\200\203\346\226\207\347\214\256.md" +++ /dev/null @@ -1 +0,0 @@ -# 直接生成参考文献表 diff --git "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/02-\345\234\250Word\344\270\255\346\217\222\345\205\245\345\217\202\350\200\203\346\226\207\347\214\256.md" "b/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/02-\345\234\250Word\344\270\255\346\217\222\345\205\245\345\217\202\350\200\203\346\226\207\347\214\256.md" deleted file mode 100644 index 820c5c8c..00000000 --- "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/02-\345\234\250Word\344\270\255\346\217\222\345\205\245\345\217\202\350\200\203\346\226\207\347\214\256.md" +++ /dev/null @@ -1 +0,0 @@ -# 在 Word 中插入参考文献 diff --git "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/03-\345\274\225\346\226\207\346\240\267\345\274\217.md" "b/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/03-\345\274\225\346\226\207\346\240\267\345\274\217.md" deleted file mode 100644 index edf48511..00000000 --- "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/03-\345\274\225\346\226\207\346\240\267\345\274\217.md" +++ /dev/null @@ -1 +0,0 @@ -# 引文的样式 diff --git "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/README.md" "b/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/README.md" deleted file mode 100644 index e8be1403..00000000 --- "a/src/user-guide/02-\345\217\202\350\200\203\346\226\207\347\214\256/README.md" +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 创建引文和参考文献表 -# order: 2 -index: false ---- \ No newline at end of file diff --git "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/01-\345\220\214\346\255\245.md" "b/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/01-\345\220\214\346\255\245.md" deleted file mode 100644 index caf79c7e..00000000 --- "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/01-\345\220\214\346\255\245.md" +++ /dev/null @@ -1 +0,0 @@ -# 数据与文件的同步 diff --git "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/02-\347\276\244\347\273\204.md" "b/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/02-\347\276\244\347\273\204.md" deleted file mode 100644 index 4055dabe..00000000 --- "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/02-\347\276\244\347\273\204.md" +++ /dev/null @@ -1 +0,0 @@ -# 群组 diff --git "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/03-\345\244\207\344\273\275.md" "b/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/03-\345\244\207\344\273\275.md" deleted file mode 100644 index b08e36c3..00000000 --- "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/03-\345\244\207\344\273\275.md" +++ /dev/null @@ -1 +0,0 @@ -# 备份 diff --git "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/README.md" "b/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/README.md" deleted file mode 100644 index 61bfee7d..00000000 --- "a/src/user-guide/03-\345\220\214\346\255\245-\345\215\217\344\275\234-\345\244\207\344\273\275/README.md" +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 同步、协作与备份 -# order: 3 -index: false ---- \ No newline at end of file diff --git "a/src/user-guide/04-\346\217\222\344\273\266/README.md" "b/src/user-guide/04-\346\217\222\344\273\266/README.md" deleted file mode 100644 index 5e1d1596..00000000 --- "a/src/user-guide/04-\346\217\222\344\273\266/README.md" +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 插件与功能拓展 -# order: 4 -index: false ---- \ No newline at end of file diff --git "a/src/user-guide/05-\345\205\266\344\273\226/README.md" "b/src/user-guide/05-\345\205\266\344\273\226/README.md" deleted file mode 100644 index f07c662a..00000000 --- "a/src/user-guide/05-\345\205\266\344\273\226/README.md" +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 其他内容 -# order: 5 -index: false ---- \ No newline at end of file diff --git "a/src/user-guide/06-\345\270\270\350\247\201\351\227\256\351\242\230/README.md" "b/src/user-guide/06-\345\270\270\350\247\201\351\227\256\351\242\230/README.md" deleted file mode 100644 index ba8eef5e..00000000 --- "a/src/user-guide/06-\345\270\270\350\247\201\351\227\256\351\242\230/README.md" +++ /dev/null @@ -1,5 +0,0 @@ ---- -title: 常见问题 -# order: 6 -index: false ---- \ No newline at end of file diff --git a/src/user-guide/README.md b/src/user-guide/README.md index 3bf10efb..ed746630 100644 --- a/src/user-guide/README.md +++ b/src/user-guide/README.md @@ -1,14 +1,20 @@ --- title: Zotero 百科全书 +icon: creative +index: false +date: 2023-04-19 22:27:07 +updated: 2023-07-20 16:51:54 --- +# Zotero 百科全书 + ::: info 在 Zotero 使用过程中遇到问题,先上 Zotero 百科全书搜索一下! -本文档由 [Zotero CN](https://github.com/zotero-cn) 团队维护。有任何问题,欢迎在文档下方留言! +本文档由 [Zotero Chinese](https://github.com/zotero-chinese) 团队维护。有任何问题,欢迎在文档下方留言! -本文档中转地址:[https://zotero-cn.github.io/zotero/](https://zotero-cn.github.io/zotero/) +本文档地址:[https://zotero-chinese.com/](https://zotero-chinese.com/) ::: @@ -25,15 +31,15 @@ title: Zotero 百科全书 ## ⭐️ 常用文档和链接 - Zotero 官方 - - Zotero 官网: - - Zotero 官方手册: - - Zotero 论坛: + - [Zotero 官网](https://www.zotero.org/) + - [Zotero 官方手册](https://www.zotero.org/support/) + - [Zotero 论坛](https://forums.zotero.org/discussions) - Zotero 资源 - - Zotero 常用插件下载国内镜像: - - CSL 中文样式文件: + - [Zotero 常用插件下载国内镜像](https://plugins.zotero-chinese.com/#/) + - [中文 CSL 样式](https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl/) - Zotero 开发者 - - Zotero 插件开发者中文文档:[Zotero 插件开发中文文档](https://zotero.yuque.com/books/share/8d230829-6004-4934-b4c6-685a7001bfa0?view=doc_embed) - - CSL 中文文档:,[https://zotero.yuque.com/books/share/78e75bbf-3ea4-421a-a258-880dab008abf?#](https://zotero.yuque.com/books/share/78e75bbf-3ea4-421a-a258-880dab008abf?#) 《CSL 中文文档》 + - [Zotero 插件开发中文文档](https://zotero.yuque.com/books/share/8d230829-6004-4934-b4c6-685a7001bfa0?view=doc_embed) + - [CSL 中文文档](../csl-dev-guide/README.md) - 更多 Zotero 相关文档 - Zotero Better Notes 笔记插件中文文档:[Zotero Better Notes:基于知识的笔记插件](https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60?view=doc_embed) @@ -42,8 +48,8 @@ title: Zotero 百科全书 以往的 Zotero 社区存在两大问题: - 网络资料不便搜索且良莠不齐 -网上有许多关于 Zotero 的使用帖子或教程,但分散在各处,不方便搜索。许多内容过时或错误,使用者按照错误的教程操作带来更多问题。 + 网上有许多关于 Zotero 的使用帖子或教程,但分散在各处,不方便搜索。许多内容过时或错误,使用者按照错误的教程操作带来更多问题。 - 答疑效率低下 -以往 Zotero 使用中遇到问题,往往在群里提问,或者在相关教程/视频下留言,消息容易被刷掉或遗漏,效率低下。 + 以往 Zotero 使用中遇到问题,往往在群里提问,或者在相关教程/视频下留言,消息容易被刷掉或遗漏,效率低下。 -为了解决上述问题,我们创建了这个 Zotero 百科全书文档,权威、准确、一站式解决Zotero使用问题。 +为了解决上述问题,我们创建了这个 Zotero 百科全书文档,权威、准确、一站式解决 Zotero 使用问题。 diff --git a/src/user-guide/add-items-adv.md b/src/user-guide/add-items-adv.md new file mode 100644 index 00000000..75991ff2 --- /dev/null +++ b/src/user-guide/add-items-adv.md @@ -0,0 +1,108 @@ +--- +title: 手动导入或创建条目 +icon: add +author: + - name: 可口可乐 + url: https://github.com/wakewon +date: 2023-11-25 12:13:00 +updated: 2023-11-25 12:13:00 +--- + +# 添加条目的进阶方法 + +如果以上常用方法均无法成功获得文献条目,Zotero 也提供了更多进阶方法来获得条目。 + +## 由通用格式的引用信息导入(通用方法) + +大多数学术网站均提供了将文献信息导出为通用格式的功能。如果 Zotero Connector 无法直接从网页抓取文献信息,可以试试从网站上导出通用格式的引用信息,然后再在 Zotero 直接导入这一引文信息,最后再手动将附件附在导入的条目上。这里有 Zotero 支持导入的格式列表: +[How do I import BibTeX or other standardized formats?](https://www.zotero.org/support/kb/importing_standardized_formats) + +::: tip + +本方法可以用来从网站/其他软件批量导出/迁移文献信息至 Zotero。 + +::: + +::: warning + +请注意,此方法导入的**只有文献信息,是不会包含附件的。** + +- 对于 **外文** 文献:你可以右键点击导入后的条目,然后点击“找到可用的 PDF”按钮,由 Zotero 查找可用的附件。如果你安装有 Sci-Hub 插件,也可以借助该插件来补充附件。 +- 对于 **中文** 文献:知网以外的中文文献基本没有自动补充附件的可能。 + + +**请尽量避免批量为多个条目抓取附件!** 批量抓取可能导致你被风控或封禁(特别是知网)。 + +::: + +这里以一篇万方上的学位论文为例简要介绍一下这一方法: + +1. 打开论文的详情页,点击 `引用` 按钮; + +2. 选择一个 Zotero 支持的通用格式; + + ![从网站导出通用格式的文献数据](../assets/image-importing_standardized_formats_1.webp) + +3. 下载包含引用信息的文件/复制包含引用信息的文本(具体操作因网站不同而略有区别); + +4. 在 Zotero 文献列表页面点击 `文件/File` -> `导入/Import` 或 `从剪贴板导入/Import from Clipboard` (根据你的实际情况选择使用哪个功能); + + ![点击导入](../assets/image-importing_standardized_formats_2.webp) + +5. 根据界面提示完成导入(这里以通过文件导入为例演示); + + ![从文件导入](../assets/image-importing_standardized_formats_3.webp){width=60%} + + ![选择导入的文件](../assets/image-importing_standardized_formats_4.webp){width=60%} + + ![设定从文件导入的选项](../assets/image-importing_standardized_formats_5.webp){width=60%} + +6. 导入完成后,该条目会混入文库中。你可以在左边栏分类列表最下面的 `未分类条目/Unfiled Item` 中按照年份排序来方便地找到刚刚导入的条目,将其拖入你需要的分类中: + + ![找到导入的文献](../assets/image-importing_standardized_formats_6.webp) + +::: tip + +1. 这样导入基本意味着无法自动抓取附件(毕竟,对于好抓取附件的网站,也不会这么难导入)。你需要手动下载附件,然后将附件添加到这一条目上。详见[添加附件教程](./add-items.md#添加附件); + +2. 不同导出格式里的信息可能略有差异,而且可能都不完整甚至有错,你可以后续自己手动编辑右边栏中的 `信息/Info` 进行调整; + + > 以万方为例, **RefWorks** 格式导入的结果中 `分类/Type` 信息是分类号(TP311.52),而不是学位类型(硕士/博士); **EndNote** 格式的结果中将导师姓名也写入了作者列表,而且将两个导师的姓名直接写成了第二作者的姓和名; **Bibtex** 格式的结果中没有摘要,而且分类写为了硕士论文。 + +3. 你也可以去百度学术这一类的受支持的通用检索网站抓取/导出引用信息。 + +4. 有条件的话尽量还是直接从网页上抓取,毕竟这么导入有可能出现各种填写不规范的情况,也可能缺少一些信息。 + +::: + +## 手动创建条目(万能方法) + +如果你的文献非常特殊,全网也检索不到(比如一些古籍),你依然可以使用纯手动的方法为它创建一个条目。 + +1. 新建一个空白条目; + +- 如果你目前还没有这篇文献的文件,可以直接点击菜单栏里的 `文件` -> `新建条目` ,然后选择你所需的文献类型(此处以最常见的 `期刊文章` 为例): + + ![创建期刊文章条目](../assets/image-manual-add-item-1.png){width=60%} + +- 如果你已经在 Zotero 文库中添加了文献的文件,可以右键点击这个文件,然后点击 `创建父条目...` ,并在弹出的窗口中点击 `手动录入` : + + ![为已有的附件创建父条目](../assets/image-manual-add-item-2.png){width=60%} + + ![点击手动录入按钮](../assets/image-manual-add-item-3.png){width=60%} + +1. 在右边栏里完善文献信息。 + + 创建了条目后,Zotero 会自动选中这一新建的条目,此时你可以在右边栏里修改这个条目的类型,也可以完善这个条目的详细信息(也就是这篇文献的元数据)。为了正确地引用这个条目,不漏掉信息,请尽可能全面地填写右边的信息(当然,如果这是你自己的一篇文档,或者是个 PPT,未来也不会用于再文献里引用,那就无所谓了)。 + +- 先将条目修改为正确的文献类型(这里以书籍为例): + + ![选择正确的文献类型](../assets/image-manual-add-item-4.png) + +- 然后手动填写文献的相关信息(如标题、作者、发布日期……) + + ![手动填写必要的文献信息](../assets/image-manual-add-item-5.png){width=60%} + +## 从其他工具导入 + +Zotero 可以将条目从 EndNote、Mendeley、Word 引用 等地方迁移到库中,详情请参阅 [从其他工具导入条目到 Zotero](./import-from-other-software.md)。 diff --git a/src/user-guide/add-items.md b/src/user-guide/add-items.md new file mode 100644 index 00000000..3ebc7d01 --- /dev/null +++ b/src/user-guide/add-items.md @@ -0,0 +1,276 @@ +--- +title: 添加条目 +icon: add +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +# 添加条目 + +## 条目与附件 + +在使用 Zotero 之前,我希望可以引入几个术语: + +### 条目 Item + +Zotero 的基本文件单元,用来表示一篇论文、一本书等的题录信息,引用时使用的条目中储存的信息。下面是一些常见的条目类别: + +| 图标 | 类型 | +| :----------------------------------------------: | :------: | +| | 默认 | +| ![webpage](../assets/icon-connector-webpage.png) | 普通网页 | +| ![journal](../assets/icon-connector-journal.png) | 期刊文章 | +| ![会议论文](../assets/icon-会议论文.png) | 会议论文 | +| ![thesis](../assets/icon-connector-thesis.png) | 学位论文 | +| ![书籍](../assets/icon-书籍.png) | 图书 | +| ![folder](../assets/icon-connector-folder.png) | 多个项目 | + +### 附件 Attachments + +附件,通常是文件,例如论文的全文 PDF、支持材料等。常见的附件包括: + +- PDF 附件 ![icon-pdf.png](../assets/icon-pdf.png) +- 笔记附件 ![icon-笔记附件.png](../assets/icon-笔记附件.png) +- 网页快照 ![icon-网页快照.png](../assets/icon-网页快照.png) + +附件既可以作为独立项添加,也可以作为常规 Zotero 条目的子项添加。一般来说,文件当做条目的子项添加。当一篇文献只有附件而没有条目的时候是不能被成功引用的,而一篇文献有条目信息而没有附件时,并不影响正常的引用。 + +## 添加条目 + +### 通过浏览器添加条目(推荐) + +::: tip + +使用这种方法需要确保以安装浏览器插件 Zotero Connector。如未安装,请参考:[Zotero 下载与安装](install.md) 。 + +::: + +通过浏览器添加条目是最方便的途径之一,也是 Zotero 的特色功能之一。 + +当所在的网页呈现出不同的内容类型时,Zotero Connector 会显示不同的图标(各种类别的图标见 [#条目-item](#条目-item))。例如,如果打开的是一篇期刊文章,那么图标就会变成下图(红框圈出)。 + +![从浏览器导入条目](../assets/image-从浏览器导入条目.png) + +点击该图标,将在网页右上角显示如下的对话框,选择保存的合集位置,添加标签,即可将网页对应的文献的元数据录入 Zotero : + +![从浏览器添加条目-对话框](../assets/image-从浏览器添加条目-对话框.png) + +此时打开 Zotero,将会自动定位到保存时选择的合集: + +![添加条目后信息窗格](../assets/image-添加条目后信息窗格.png) + +::: tip + +Connector 抓取中文文献能力依靠中文 Translator 支持,更新 Translator 请参考: +[如何更新 Translator](./faqs/update-translators.md)。 + +Connector 抓取文献错误解决:[从浏览器抓取条目时发生错误 / 抓取时不能自动下载 PDF / 无法自动给添加的 PDF 附件创建条目](https://zotero.yuque.com/staff-gkhviy/zotero/mribmi?view=doc_embed) + +如果抓取失败且尝试了上述办法仍然不能解决,请手动下载 PDF 附件并通过附件添加条目。 + +::: + +### 通过附件添加条目(推荐) + +对于已有 PDF 文件的文献,可以通过将 PDF 文件拖拽到 Zotero 中来添加这篇文献的附件。添加附件后,Zotero 会自动通过 PDF 来识别文献 —— 英文文献通常通过识别 PDF 的元数据,中文文献则识别文件名(中文文献文件识别能力由 茉莉花 插件提供)。 + +::: note + +不管是中文文献还是英文文献,都 **存在一定的概率无法成功匹配到信息并自动创建条目** 。如果遇到问题了,还是 **建议回到期刊官网的论文详情页抓取信息并创建条目** ,然后将 PDF 文件以附件的形式添加到该条目上(将附件拖到该条目上即可,但不要拖到条目之间的间隙里)。如果 Zotero 确实不支持抓取你正在使用的网站,你也可以采用后文的进阶方法创建条目。 + +::: + +#### 英文文献附件自动识别 + +很多英文文献的 PDF 附件中带有论文的元数据,而 Zotero 也支持通过 PDF 附件中的元数据自动抓取文献信息并自动创建副条目。具体操作如下: + +1. 从网页上下载好文献的 PDF 附件。 + +2. 将 PDF 附件 直接拖入 Zotero 文献列表中的空白区域。 + + ::: details 列表种没有空白区域了怎么办? + + 如果页面上没有空白区域了,可以 将附件拖到任意两个条目中间的间隙处 ,此时相邻条目间隙处会出现一个横线,如上图所示。请不要将附件直接拖到条目上,因为拖到条目上是另一个功能:将这一文件作为附件添加到该条目中。 + + ![拖入附件](./../assets/image-add-attachment.webp) + + ::: + +3. 此时,界面右上角同步按钮旁会多显示一个图标,这意味着 Zotero 正在检索并匹配这一条目信息。 + + ![获取元数据](./../assets/image-get-metadata-en1.webp) + +4. 匹配完成后,Zotero 会自动使用元数据创建父条目,并将这一 PDF 文件作为附件添加到新生成的条目中。 + + ![获取元数据成功](./../assets/image-get-metadata-en2.webp) + +#### 中文文献附件自动识别 + +::: info 中文 PDF/CAJ 识别依赖茉莉花插件 + +中文论文的 PDF/CAJ 附件中通常并没有完善的论文的元数据,Zotero 本身也并不支持为中文文献抓取元数据。 + +对于中文文献,茉莉花(Jasminum)插件 可以 通过 **文件名** 自动检索元数据并创建条目。 **添加附件的方式与英文文献相同** ,文献添加后茉莉花会自动检索文献、创建条目并将附件移动到条目中。 + +![获取元数据成功](./../assets/image-get-metadata-cn1.webp) + +如果你没有安装茉莉花,请前往 [插件商店](https://plugins.zotero-chinese.com) 下载安装插件。关于什么是插件,请参阅 [关于插件](./plugins/about-plugin.md)。 + +::: + +由于为中文文献抓取知网元数据时需要根据文件名检索文献信息, 这一功能对文件名的要求较高。具体要求请看如下说明: + +1. 文件名的格式完全符合茉莉花插件设置中的格式(中文文件名必须为:应该是 `标题_第一作者.pdf` 或 `标题_第一作者.caj`)。不是该命名格式的文件将直接导致识别失败。 + + ::: details 修改文件名识别模板 + + 文件名的命名格式 (用于匹配导入附件的文件名中的文献信息)可以在 Zotero 首选项中茉莉花插件的设置中的 文件名模板设置 进行修改。这里 **默认的设置内容和知网上直接下载下来的文件名是一致的。** + + ![文件名格式](./../assets/image-get-metadata-cnki-template.jpg) + + ::: + +2. 标题/姓名内容中不含(以下划线为代表的)特殊标点符号(可以尝试将这些符号替换为空格再尝试检索匹配) + +3. 文件名没有被添加额外的内容(如重复文件自动添加的编号或 xx 看图王一类的无关信息)。 + + 如果文献名称比较特别,或文件名里有标点,或者文件名被编辑过,都很有可能会匹配失败并报错。 如下图所示: + + ![错误文件名](./../assets/image-get-metadata-cnki-error.jpg) + +如果因附件名称不规范导致抓取失败,建议你去网页上检索这篇文献并抓取文献信息(元数据),再把这一附件拖入刚刚抓好的文献条目里。 + +你也可以先将文件名更改成符合前面规定的样子,在 Zotero 中先选中 PDF 附件,然后去右边栏中编辑文件名,并 **勾选上“重命名相关文件”** ,然后再尝试前文提到的手动触发检索匹配: + +![重命名附件](./../assets/image-rename-attachment.png) + +::: warning 请不要一次性大批量导入文献 + +请务必注意,如果一次性导入的文献过多, **自动检索元数据过于频繁依然可能导致被知网风控** 。如果需要导入的文献很多,建议分多次进行,每次仅少量导入一小部分文献。 + +::: + +:::: details 重新抓取中文 PDF/CAJ 元数据 + +如果你 **之前添加的中文附件未能自动创建父条目** ,你也可以使用这一功能来重新 **手动触发一次检索匹配** : + +1. 右键点击 **不附属于任何条目的 PDF/CAJ 附件** 。 + +2. 点击 知网助手,然后点击 抓取知网元数据。 + + ![抓取知网元数据](./../assets/image-get-metadata-cnki.jpg) + + ::: tip + + 请注意,这一功能仅对不属于任何条目的附件文件有效 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里只会有 更新知网引用数 的功能。 + + ::: + +:::: + +### 通过标识符添加条目 + +如果已知文献的 ISBN、DOI、PMID 或 arXiv ID 等标识符, 则可以通过这些标识符将文献导入到 Zotero 中。 + +在 Zotero 中,点击![通过标识符添加条目图标](../assets/icon-通过标识符添加条目.png), 输入标识符,如 DOI: 10.1016/j.cej.2020.125798,然后回车,则对应的文献就会被导入到库中。 + +如果要一次输入多个标识符,在输入第一个标识符后按 Shift + Enter 会进入多行模式,随后输入其余标识符(每行一个),并通过 Enter 换行。输入完成后,再按 Shift + Enter 即可一次导入所有项目。 + +![使用标识符导入条目](../assets/image-使用标识符导入条目.png) + +::: tip + +这一功能对中文文献(论文、书籍等)基本无效。请使用其他方式为中文文献添加条目。 + +::: + +### 更多方法 + +如果以上常用方法均无法成功获得文献条目,Zotero 也提供了更多进阶方法来获得条目。相关教程请查看 [手动导入或创建条目教程](add-items-adv.md)。 + +若需要从其他引文管理器迁移到 Zotero,请参阅 [从其他软件导入](./import-from-other-software.md)。 + +## 编辑条目 + +::: tip 始终及时校准条目 + +使用 Zotero(或任何其他参考文献管理器)进行引用时,在将项目保存到库中后,应始终检查项目的准确性。 + +Zotero 并不能保证自动抓取的数据 100% 正确,有时 Zotero 收到的元数据是不完整或不正确的。 + +我们应始终意识到这个问题,养成导入后随手校正的习惯。 + +需要注意的字段请见下“编辑条目”小节。 + +::: + +从以上方法导入的数据并不一定是完全正确的,最好养成导入条目后随手校正的习惯。 + +如下图所示,在中心窗格中选择一个条目后,右侧(标准视图)或下侧(堆栈视图)会显示该条目的书目信息。多数条目都可以直接单击进行编辑,更改自动保存。 + +![添加条目后信息窗格](../assets/image-添加条目后信息窗格.png) + +以下是一些比较特殊的字段,拿出来单独介绍: + +### 条目类型 + +请尤其注意这一个选项,这直接决定在引用时,该条目以什么方式出现。且该项在通过浏览器导入时非常容易出错。 + +最典型的错误就是将“期刊文章/学位论文”等识别为“网页”。这会导致部分引文格式后出现 `[EB/OL]` 等文献标识符。 + +这时我们应该重新导入或手动更正。 + +### 期刊缩写 + +部分期刊要求使用“期刊标题的缩写”进行引用,Zotero 将“期刊名全称”和“期刊名缩写”分别保存在“期刊”和“期刊缩写”两个字段中。 + +抓取时不一定能准确获得期刊缩写,写论文引用前最好校正一下。 + +通常期刊缩写的差别多数在于加不加 `.`,例如“Applied Surface Science”可以缩写为“Appl Surf Sci”或“Appl. Surf. Sci.”。我们建议总是存储为加 `.` 的格式。因为去掉 `.` 总是比加上 `.` 更方便,在引用时,对于需要不加 `.` 的期刊就可以通过 CSL 直接去掉 `.`。 + +::: tip 插件推荐 + +插件 [Linter for Zotero](https://github.com/northword/zotero-format-metadata) 提供了自动获取期刊的 ISO 4 缩写的功能,可前往 [插件商店](https://plugins.zotero-chinese.com)下载安装。 + +::: + +### 标题 + +#### 标题中的上下标 + +```html +下标内容 +上标内容 +斜体 +粗体 +``` + +详细请参阅:[在 Word 参考文献表中实现斜体及上下标效果](./faqs/word-addon.md#参考文献中论文题目实现斜体及上标下标效果)。 + +::: tip 插件推荐 + +插件 [Linter for Zotero](https://github.com/northword/zotero-format-metadata) 提供了辅助输入这些富文本标签的功能,可前往 [插件商店](https://plugins.zotero-chinese.com)下载安装。 + +::: + +#### 标题的大小写 + +我们建议您始终将标题以“句子大小写”的形式存储在 Zotero 库中,这有利于 CSL 进行格式转换。 + +什么是“句子大小写”? + +```plain +- 标题大小写:Mechanism of Ce-Modified Birnessite-MnO2 in Promoting SO2 Poisoning Resistance for Low-Temperature NH3-SCR +- 句子大小写:Mechanism of Ce-Modified Birnessite-MnO2 in promoting SO2 poisoning resistance for low-temperature NH3-SCR +``` + +### 额外 + +所有其他自定义字段均应保存在“额外”字段,保存在该字段的数据应为若干个键值对,每行一个。CSL 引用时可以通过键来调用值。 + +## 添加附件 + +- 存储的附件![icon-pdf.png](../assets/icon-pdf.png):默认情况下,存储文件存储在 Zotero 数据目录中,Zotero 会自动管理它们,包括在 Zotero 中删除附件项时删除它们。如果使用文件同步功能,Zotero 会自动在设备之间同步存储的附件,并将它们储存在官方网盘(或 WebDAV 网盘)中。 +- 链接的附件![icon-链接的附件.png](../assets/icon-链接的附件.png):对于链接文件,Zotero 只存储指向计算机上原始文件位置的链接。链接文件不会同步,如果附件项在 Zotero 中被删除,链接文件也不会被删除,Zotero 程序也不支持链接文件的同步。(可以简单理解为链接的文件在 Zotero 中作用类似于 Windows 的快捷方式) + +![添加附件](../assets/image-添加附件.png) diff --git a/src/user-guide/backup.md b/src/user-guide/backup.md new file mode 100644 index 00000000..5c78d4e1 --- /dev/null +++ b/src/user-guide/backup.md @@ -0,0 +1,236 @@ +--- +title: 备份 +icon: profile +author: + - name: Chikit-L + url: https://github.com/Chikit-L + - name: Northword + url: https://northword.dev +date: 2023-06-28 21:19:25 +updated: 2023-10-04 18:38:54 +--- + +# 备份 + +我们强烈建议您定期备份 Zotero 数据目录。虽然同步是确保您可以在计算机发生问题时恢复库的好方法,但它并不能完全替代正确的备份:Zotero 服务器仅存储库的最新版本,并且只需要一个(可能是自动)同步以更改服务器副本(尽管可以从 Zotero 的自动备份恢复一些无意的更改)。 + +在本页中,我们首先介绍 Zotero 运行所需的三类文件,然后介绍若干种备份这些文件的方式。 + +## 概述 + +我们将构成 Zotero 正常运行的文件分为三部分: + +- Zotero 程序文件 (Program Files) +- Zotero 数据文件 (Zotero Data Folder) +- Zotero 用户配置文件 (Zotero Profile Directory) + +### 程序文件 + +这些文件构成 Zotero 程序的主体,包含了 Zotero 程序的二进制文件(例如 `zotero.exe` 等) 和相关的库文件,不包括您的数据和个性化设置。 + +这些文件由安装包释放,通常无需额外备份。 + +### 数据文件 + +这个目录包含了 Zotero 存储的所有数据,包括您的文献条目信息、笔记、附件、标签、文件夹结构、转换器和引文样式等。这是最重要的部分,因为它包含了您的研究资料。备份数据文件可确保您不会失去已收集的所有信息。 + +#### 数据文件位置 + +除非您在 Zotero 首选项的高级窗格中选择了自定义数据目录,否则您的 Zotero 数据将存储在以下与操作系统相关的目录中: + +| 系统类型 | 默认位置 | +| ---------------------------- | --------------------------------------------- | +| macOS | `/Users//Zotero` | +| Windows 7 and higher Windows | `C:\Users\\Zotero` | +| Windows XP/2000 | `C:\Documents and Settings\\Zotero` | +| Linux | `~/Zotero` | + +::: tip + +查找 Zotero 数据的最简单、最可靠的方法是单击 `Zotero 首选项` 的 `高级` 选项卡中的 `显示数据目录` 按钮。这将始终显示当前正在使用的数据目录,并且是查找数据目录的推荐方法。 + +如果您无法访问 Zotero 首选项,搜索文件名`zotero.sqlite`也可以帮助您找到 Zotero 数据目录。 + +::: + +#### 数据文件内容 + +```bash +northword@Yoga-Northword MINGW64 /d/Northword/Documents/Zotero +$ tree -L 1 +. +|-- about config.xul +|-- cache +|-- locate +|-- logs +|-- storage +|-- styles +|-- translators +|-- zotero.sqlite +`-- zotero.sqlite.bak +``` + +数据目录中最重要的文件是 `zotero.sqlite` 文件,它是包含大部分数据的数据库:项目元数据、注释、标签等。当 Zotero 启动时,它会读取 `zotero.sqlite` 文件。 + +该目录还包含一个 `storage` 文件夹,其中包含 8 个字符的子文件夹(例如`N7SMB24A`),其中包含所有文件附件,例如 PDF、网页快照、音频文件或您导入的任何其他文件。 (链接的文件不会复制到此子文件夹中。) + +您的数据目录可能包含其他几个文件和文件夹。其中可以包括 `zotero.sqlite.bak` ( `zotero.sqlite` 的自动备份,如果现有 `zotero.sqlite.bak` 文件在过去 12 小时内未更新,则定期更新)和 `zotero.sqlite.[number].bak` 文件(在某些 Zotero 更新期间创建的 `zotero.sqlite` 自动备份),以及诸如 `locate` 、 `logs` 等文件夹, `pipes` 、 `styles` 和 `translators` 在 Zotero 启动时自动创建。 + +::: warning + +在复制、删除或移动任何这些文件之前,请确保 Zotero 已关闭。如果在移动这些文件之前不这样做可能会损坏您的数据。 + +::: + +### 用户配置文件 + +用户配置文件包括您的个性化设置、插件及其配置、数据库位置等。备份用户配置文件可确保您可以轻松地还原您的个性化 Zotero 设置和工作环境。 + +#### 用户配置文件位置 + +| 系统类型 | 默认位置 | +| ---------------------------- | --------------------------------------------------------------------------------------------- | +| macOS | `/Users//Library/Application Support/Zotero/Profiles/` | +| Windows 7 and higher Windows | `C:\Users\<用户名>\AppData\Roaming\Zotero\Zotero\Profiles\<8位随机字符>.default` | +| Windows XP/2000 | `C:\Documents and Settings\\Application Data\Zotero\Zotero\Profiles\` | +| Linux | `~/.zotero/zotero/` | + +::: tip macOS + +默认情况下,`/Users/<用户名>/Library` 文件夹是隐藏的。要访问它,请单击桌面,按住 `Option` 键,单击 Finder 的 `转到` 菜单,然后从菜单中选择 `资源库`。 + +::: + +::: tip Windows + +默认情况下, `AppData` 是隐藏的,可以在资源管理器搜索栏键入 `%appdata%`,然后按回车,即可进入 `AppData\Roaming` 目录。 + +::: + +#### 用户配置文件内容 + +这个目录包含 Zotero 的首选项配置,插件信息及其插件配置等。下面列出了部分目录文件: + +```bash +northword@Yoga-Northword MINGW64 ~/AppData/Roaming/Zotero/Zotero/Profiles/1y2hj8ud.default +$ tree -L 1 +. +|-- bookmarkbackups +|-- browser-extension-data +|-- extensions +|-- extensions.json +|-- prefs.js +|-- times.json +|-- treePrefs.json +|-- webappsstore.sqlite +`-- xulstore.json +``` + +其中 `prefs.js` 包含 Zotero 的所有首选项,`extensions/` 目录 和 `extensions.json` 包含 Zotero 插件的安装包和安装、启用等信息。 + +::: warning + +如无必要,不要修改这个目录里的任何文件,不当的修改可能导致 Zotero 无法正常启动。 + +::: + +## 手动备份 + +手动备份可以实现数据的无损备份,包括但不仅限于账户、插件、设置、文献等数据。 + +首先您需要在新电脑上安装 Zotero,然后将下列表格中旧电脑的数据文件拷贝到新电脑的同一位置。 + +| 旧电脑 | 新电脑 | +| -------------------------------------------------------------------------- | ---------------------------------------------------------------------- | +| `C:\Users<用户名>\AppData\Roaming\Zotero\Zotero\Profiles\*.default` 中文件 | `C:\Users<用户名>\AppData\Roaming\Zotero\Zotero\Profiles\*.default` 中 | +| Zotero-`首选项`-`高级`-`文件和文件夹`-`数据储存位置`中的文件 | 同一路径 | + +例如:电脑的用户名为`zotero-chinese`,旧电脑将 Zotero 安装在 `D:\Program Files\Zotero` 目录下,数据储存位置设置为 `C:\Users\zotero-chinese\Zotero`。 + +在新电脑中,应该要做的是 + +1. 安装 Zotero,并确保 Zotero 处于关闭状态。 + +2. 将 **旧电脑** `****.default` 中的文件 拷贝至 **新电脑** `****.default` 中(注意不是复制文件夹本身,而是替换其文件和子文件夹) + +3. 将 **旧电脑** `C:\Users\zotero-chinese\Zotero` 拷贝至 **新电脑** `C:\Users\zotero-chinese\Zotero`中 + +4. 打开 Zotero,即可。 + +## 使用插件蒲公英 `Tara` 进行数据的备份和恢复 + +::: tip Tara + +[Tara](https://github.com/l0o0/tara/blob/master/README_zh-CN.md) 是一个用于备份和恢复 Zotero 配置的插件,支持备份: + +✅ 备份已安装插件 +✅ 备份 CSL 文件 +✅ 备份转换器 (translators) +✅ 备份 Locate 文件夹 +✅ 备份 Zotero 配置及插件配置 + +下载地址:[GitHub](https://github.com/l0o0/tara) 或 [中文社区插件合集页](https://plugins.zotero-chinese.com) + +::: + +### 创建备份 + +下载安装 Tara 插件后,通过点击 `Tara` 图标来创建一个备份 + +![开始备份](../assets/image-Tara-创建备份.png) + +创建成功后,会在 Zotero 中生成一个 `Tara_backup` 的条目并自动生成一个 ZIP 格式的附件,这个就是备份文件。 + +如果你再点一次创建,会再生成个附件,你可以选择不同时间段的备份文件进行恢复。 + +![备份文件](../assets/image-Tara-备份文件.png) + +### 恢复备份 + +点击`恢复` + +![恢复备份](../assets/image-Tara-恢复备份.png) + +可以根据时间来选择要恢复的备份 + +![选择要恢复备份](../assets/image-Tara-选择要恢复的备份.png) + +等待备份恢复完成,再重启 Zotero + +![备份恢复完成](../assets/image-Tara-备份恢复完成.png) + +### 导出备份文件 + +点击`导出` + +![导出备份](../assets/image-Tara-导出备份.png) + +等待完成后,去备份目录查看文件是否生成 + +![导出备份成功](../assets/image-Tara-导出备份成功.png) + +导出时,会将当成的配置信息和插件导出到一个单独 ZIP 文件中,导出的备份会默认储存在 `数据储存文件夹\backup` 下。 + +![导出的备份文件](../assets/image-Tara-导出的备份.png) + +### 在新电脑上进行数据恢复 + +在新电脑上安装了 Zotero,此时 Zotero 上没有任何插件,配置都是默认的。这时,你可以把第三步导出的 2 个文件复制到新电脑上。 + +在新电脑 Zotero 上,先安装 `Tara.xpi` 插件。 + +插件安装成功,点击恢复,会出现一个文件选择的窗中,选择第三部中所生成的备份文件,之后 Zotero 会恢复对应的插件及相关配置。 + +### 在不同电脑上同步备份 + +当你在多个电脑上同时使用 Zotero 时,可以通过 Zotero 的 `同步功能` 来实现数据的快速备份和恢复。 + +首先在不同电脑上分别配置同步,然后可以在 A 电脑上创建一个备份,备份文件是随条目一起同步的。那 B 电脑 Zotero 应该会自动同步了创建的备份条目 `Tara_backup` 及对应的附件。 + +当你在 B 电脑的 Zotero 上点击恢复,选择 A 电脑上刚创建的备份。这样两台电脑上的 Zotero 配置和插件信息就一起同步了。 + +::: tip 注意修改 Tara 的 “备份 Locate” 设置 + +由于不同系统平台或主机上的文件路径可能不一致,tara 在备份时默认过滤掉了 `locate` 文件夹,可以通过点击 `Tara 图标-设置` 进行修改。 + +::: diff --git a/src/user-guide/citation-styles.md b/src/user-guide/citation-styles.md new file mode 100644 index 00000000..6d158c80 --- /dev/null +++ b/src/user-guide/citation-styles.md @@ -0,0 +1,58 @@ +--- +title: 引文的样式 +icon: format +date: 2023-06-28 21:17:47 +updated: 2023-09-14 16:51:54 +--- + +# 引文的样式 + +Zotero 使用 Citation Style Language 来生成引文格式,Zotero 官方提供了一组 CSL 格式,可以在 Zotero 内下载安装。但是官方的引用格式对国内期刊支持不全,且目前(CSL 1.0.2)仍未支持双语排版(“et al”与“等”混排),所以国内有热心开发者维护了一份第三方引文格式,读者可以按需下载使用。 + +## 几个术语 + +- 引注 Citation: +- 参考文献表 bibliography: +- 样式 / CSL 样式: + +- 顺序编码制 num: +- 作者-年份 author-data: +- 脚注制 note: + +## 官方引文格式下载 + +打开`编辑`——`设置`——`引用`——`获取额外样式` + +![引文格式管理](../assets/image-zotero-引文格式管理.png) + +在该对话框中键入需要的样式的关键词,通常是期刊的名称,下方会列出符合项。 + +![获取更多引文格式](../assets/image-zotero-获取更多引文格式.png) + +![官方引文格式下载](../assets/image-zotero-官方引文格式.png) + +## 第三方引文格式 + +如果上述引文格式不符合你的要求,可到[中文 CSL 样式](https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl#readme)下载更多 CSL 引文格式: + +1. 首先你需要在 [中文 CSL 样式](https://github.com/redleafnew/Chinese-STD-GB-T-7714-related-csl#readme) 页面上找到合适的 CSL 样式,并记住其名称,然后将引文格式下载下来: + + ![下载引文](../assets/image-github下载引文格式.png) + + ::: warning + + 注意需要在 Zotero 处于启动状态时点击,可以直接安装。若 Zotero 没有弹出窗口,则右击 - 另存为,将其保存为 `.csl` 文件,然后双击打开 CSL 文件。 + + ::: + + ::: tip + + 如果上面的网站无法打开,可以访问镜像站: + + ::: + +2. 在弹出的窗口中点击“确定”后即可将想要的引文格式添加到 Zotero,供后续引用使用。 + + ![确认安装引文格式](../assets/image-确认安装引文格式.png) + + ![安装引文格式](../assets/image-安装引文格式.png) diff --git a/src/user-guide/creat-bibliographies-via-zotero-bib.md b/src/user-guide/creat-bibliographies-via-zotero-bib.md new file mode 100644 index 00000000..303928b4 --- /dev/null +++ b/src/user-guide/creat-bibliographies-via-zotero-bib.md @@ -0,0 +1,28 @@ +--- +title: 使用 Zotero bib 生成参考文献表 +date: 2023-06-28 21:14:03 +updated: 2023-09-22 21:36:24 +--- + +# 使用 Zotero bib 生成参考文献表 + +Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。 + +地址: + +使用: + +1. 打开上述链接 +2. 在下图输入框中输入需要引用的条目链接/识别符等,然后点击“Cite” + + ![image](../assets/image-bib-首页.png) + +3. 该条条目将会显示如下引用信息,你可以在下图红框处选择样式。 + + ![image](../assets/image-bib-选择样式.png) + +4. 继续重复第 2 步可以添加多个条目 +5. 已添加的条目将会存储在浏览器,下次打开网页仍然可以看到,知道你清除浏览器 Cookie 或手动删除。 +6. 点击“Copy to Clipboard”可以将结果复制到粘贴板。 + + ![image](../assets/image-bib-复制结果.png) diff --git a/src/user-guide/create-bibliographies-via-zbib.md b/src/user-guide/create-bibliographies-via-zbib.md new file mode 100644 index 00000000..a897a145 --- /dev/null +++ b/src/user-guide/create-bibliographies-via-zbib.md @@ -0,0 +1,34 @@ +--- +title: 使用 Zotero bib 生成参考文献表 +date: 2023-06-28 21:14:03 +updated: 2023-10-07 20:08:24 +--- + +# 使用 Zotero bib 生成参考文献表 + +Zotero bib 是 Zotero 官方维护的一个引文生成器,使用它,你可以不下载 Zotero,或不将条目导入 Zotero 库,即可生成对应的引用格式。 + +地址: + +::: warning + +这种方法生成的引文是纯文本,无法更新,仅适用于临时使用的场景。例如某文档确定只需要引几篇文档,且不想导入这几篇文档到自己的库。 + +::: + +使用: + +1. 打开 +2. 在下图输入框中输入需要引用的条目链接/识别符等,然后点击“Cite” + + ![zbib首页](../assets/image-bib-首页.png) + +3. 该条条目将会显示如下引用信息,你可以在下图红框处选择样式。 + + ![zbib选择样式](../assets/image-bib-选择样式.png) + +4. 继续重复第 2 步可以添加多个条目 +5. 已添加的条目将会存储在浏览器,下次打开网页仍然可以看到,知道你清除浏览器 Cookie 或手动删除。 +6. 点击“Copy to Clipboard”可以将结果复制到粘贴板。 + + ![zbib复制结果](../assets/image-bib-复制结果.png) diff --git a/src/user-guide/create-bibliographies-within-zotero.md b/src/user-guide/create-bibliographies-within-zotero.md new file mode 100644 index 00000000..6762bc2e --- /dev/null +++ b/src/user-guide/create-bibliographies-within-zotero.md @@ -0,0 +1,49 @@ +--- +title: 直接生成参考文献表 +icon: copy +date: 2023-06-28 21:16:47 +updated: 2023-09-22 21:37:03 +--- + +# 直接生成参考文献表 + +除了前述的在文字处理器中添加引文外,Zotero 也提供了直接导出参考文献表的方法: + +::: tip 什么时候使用这种方法? + +- 分享文献引文 +- 需要在 PowerPoint 中添加参考文献表 +- 只是想用文章快速生成参考文献,不想使用 Word 插件 + +::: + +## 在 Zotero 里通过菜单生成引注或参考文献表 + +1. 先选择需要引用的文献 + + ![选择参考文献](../assets/image-zotero-选择参考文献.png) + +2. 右键,在菜单中选择 用所选条目创建参考文献表 + + ![创建参考文献表](../assets/image-zotero-创建参考文献表.png) + +3. 接着根据自己的需要选择需要的 参考文献格式 以及 输出方式 + + ![选择引文格式及输出方式](../assets/image-zotero-选择引文格式及输出方式.png) + +4. 如果上一步输出方式选择复制到剪贴板中,此时上述文献的参考文献表就已经复制好了,在任意位置粘贴即可看到。 + + ::: info + + 注意:参考文献表的顺序 与 第一步中选择文献的顺序有关 + + ::: + + ![粘贴参考文献表](../assets/image-粘贴参考文献表.png) + +::: tip 插件推荐 + +[Zutilo](https://github.com/wshanks/Zutilo) 插件(仅适配 Zotero 6,2023.10.7)提供了生成参考文献表的快捷键。 +[Zotero Actions & Tags](https://github.com/windingwind/zotero-actions-tags/discussions) 插件(仅适配 Zotero 7,2023.10.7)配合自定义脚本也可以添加生成参考文献表的快捷键。 + +::: diff --git "a/src/user-guide/faqs/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.md" "b/src/user-guide/faqs/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.md" new file mode 100644 index 00000000..9681b20e --- /dev/null +++ "b/src/user-guide/faqs/Emoji\345\217\230\346\210\220\344\272\206\351\273\221\347\231\275\350\257\245\345\246\202\344\275\225\350\247\243\345\206\263.md" @@ -0,0 +1,25 @@ +--- +title: Emoji 变成黑白该如何解决 +date: 2023-10-24 11:07:47 +updated: 2023-10-24 11:07:54 +--- + +# Emoji 变成黑白该怎么办 + +近期许多同学在系统更新后发现 Zotero 中 emoji 变成黑白了,初步判断这是由于系统更新出现的问题。 + +![emoji变成黑白](../../assets/image-emoji变成黑白.jpg) + +该问题可以通过修改 `Zotero 设置` 来解决 + +具体操作步骤如下: + +1. 在菜单编辑选择“首选项”: + ![编辑器](../../assets/image-zotero-编辑器.png) +2. 弹出如下图所示的对话框。 + 点击“I accept the risk” + ![同意承担风险](../../assets/image-zotero-我同意承担风险.png) +3. 在搜索框中输入 emoji,双击搜索到的 `font.name-list.emoji`,修改为 `EmojiOne Mozilla`。然后重新启动 Zotero,即可解决问题。 + ![修改为"EmojiOne Mozilla](../../assets/image-zotero-修改font.name-list.emoji.png) +4. Emoji 成功变回彩色,问题解决 + ![emoji由黑白变成彩色](../../assets/image-emoji由黑白变成彩色.jpg) diff --git a/src/user-guide/faqs/README.md b/src/user-guide/faqs/README.md new file mode 100644 index 00000000..769d9788 --- /dev/null +++ b/src/user-guide/faqs/README.md @@ -0,0 +1,11 @@ +--- +title: 常见问题 +# order: 6 +index: false +date: 2023-06-28 21:38:21 +updated: 2023-07-20 16:51:54 +--- + +# 常见问题 + + diff --git a/src/user-guide/faqs/update-translators.md b/src/user-guide/faqs/update-translators.md new file mode 100644 index 00000000..091fb311 --- /dev/null +++ b/src/user-guide/faqs/update-translators.md @@ -0,0 +1,143 @@ +--- +title: 如何更新 Translator +date: 2023-09-14 21:17:47 +updated: 2023-11-23 16:51:00 +--- + +# 如何更新 Translator + +在使用 Zotero 的过程中,我们经常需要更新 translators 来实现从网页快速抓取文献信息。通常,我们可以借助 Zotero 本身的功能以及 茉莉花 插件快速完成该操作。但当 Zotero 或 茉莉花 插件出现故障无法完成一键自动更新时,我们也可以手动下载新版的 translators 文件,并进行手动更新。 + +::: note 提醒 + +这里的 translator 指的是 Zotero 从浏览器网页抓取文献信息时所需的转换器,在 Zotero 中有时也被称作是“翻译器”。如果你遇到的是语言翻译问题(如标题翻译、摘要翻译、文献阅读中的句段翻译等),通常与本文讲的 translator 无关,请参照 Translate for Zotero 插件的教程进行排查。 + +::: + +## 方法 1:一键自动更新 + +1. 安装新版茉莉花插件 + + 更新 translator 之前请确保你安装的 茉莉花 插件已经是最新版本。如果你的 茉莉花 插件版本过低,更新可能会失败。最新的 茉莉花 插件安装包可在这里下载,然后覆盖安装即可: + + 中文插件商店:[https://plugins.zotero-chinese.com/](https://plugins.zotero-chinese.com/) + + 茉莉花 插件主页:[https://github.com/l0o0/jasminum](https://github.com/l0o0/jasminum) + + ::: tip + + 如果你在安装插件中遇到问题,请阅读 [插件安装教程](../plugins/about-plugin.md) 。 + + ::: + +2. 在 Zotero 首选项中,进入 高级 设置,点击下方“自动检查转换器和样式的更新”后面的 立即更新 按钮。 + + ![更新官方 translator](../../assets/image-update-official-translators.jpg){width=60%} + + ::: tip + + 建议取消勾选“自动检查转换器和样式的更新”前面的复选框,这样可以避免非官方维护中文转换器被意外替换为官方的版本。如果遇到了文献抓取失败的问题,可再按照本文档的方法更新。 + + ::: + +3. 进入 茉莉花 插件的设置,转到 非官方维护中文翻译器 部分,然后点击 更新全部 按钮。 + + ![更新非官网维护中文翻译器](../../assets/image-update-unofficial-translators.jpg){width=60%} + +4. 更新 **每一个浏览器** 中 Zotero Connector 插件里的 translators。 + + ::: details Google Chrome 和 Microsoft Edge + + 1. 右键点击 Zotero Connector 按钮,然后点击 选项 + + ![Chrome更新translator1](../../assets/image-update-translator-chrome-1.jpg) + + 2. 点击 Advanced 中的 Update Translators 按钮,**连续多点几(十)次** + + ![Chrome更新translator2](../../assets/image-update-translator-chrome-2.jpg) + + ::: + + ::: details Apple Safari + + 1. 在网页空白处点鼠标右键,然后点击 Zotero Preference + + ![Safari更新translator1](../../assets/image-update-translator-safari-1.jpg) + + 2. 点击 Advanced 中的 Update Translators 按钮,**连续多点几(十)次** + + ![Chrome更新translator2](../../assets/image-update-translator-safari-2.jpg) + + ::: + + ::: warning + + **这一步骤非常关键!** 请务必确保为 **每一个浏览器** 中的 Zotero Connector 插件更新 translators! + + 点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 **连续多点几(十)次** 通常更有效。 + + ::: + +5. 重启浏览器。 + +6. 此时你已经完成了 translators 的更新。此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 4 和步骤 5 。 + +## 方法 2:手动替换文件更新 + +1. 在 Zotero-编辑-首选项-高级-文件和文件夹 找到自己的数据储存位置。 + + 例如,下图中的数据储存位置就是 `E:\Zotero File`,这里也可以点击“打开数据文件夹”快速打开你的数据文件夹。 + + ![数据储存位置](../../assets/image-zotero-数据储存位置.png) + +2. 找到数据文件夹中的 translators 文件夹(对上图而言就是 `E:\Zotero File\translators`),这里是 Zotero translators 的存放位置 + + ![translators的存放位置](../../assets/image-数据储存位置translators文件夹.png) + +3. 在 [Zotero translators 中文维护小组](https://github.com/l0o0/translators_CN) 下载最新的 translators + + ![手动在GitHub上下载translators](../../assets/image-手动在github下载translators.png) + +4. 将下载的 zip 文件解压后选择其中所有的 translators 文件(.js 文件),并复制 + + ![选择所有的translators文件](../../assets/image-translators文件.png) + +5. 将所有的 translators 粘贴到第 1 步中 translators 文件夹并替换,此时已经完成 Zotero 中 translators 文件的更新 + + ![替换旧的translators](../../assets/image-手动更新translators.png) + +6. 更新 **每一个浏览器** 中 Zotero Connector 插件里的 translators。 + + ::: details Google Chrome 和 Microsoft Edge + + 1. 右键点击 Zotero Connector 按钮,然后点击 选项 + + ![Chrome更新translator1](../../assets/image-update-translator-chrome-1.jpg) + + 2. 点击 Advanced 中的 Update Translators 按钮,**连续多点几(十)次** + + ![Chrome更新translator2](../../assets/image-update-translator-chrome-2.jpg) + + ::: + + ::: details Apple Safari + + 1. 在网页空白处点鼠标右键,然后点击 Zotero Preference + + ![Safari更新translator1](../../assets/image-update-translator-safari-1.jpg) + + 2. 点击 Advanced 中的 Update Translators 按钮,**连续多点几(十)次** + + ![Chrome更新translator2](../../assets/image-update-translator-safari-2.jpg) + + ::: + + ::: warning + + **这一步骤非常关键!** 请务必确保为 **每一个浏览器** 中的 Zotero Connector 插件更新 translators! + + 点击 Update Translators 按钮时,请不要吝惜你的鼠标,经验上 **连续多点几(十)次** 通常更有效。 + + ::: + +此时你已经完成了 translators 的更新,此时如果你的浏览器仍然不能完成对文献的识别,在确保步骤 1-5 正确的前提下,可重复几次步骤 6。 diff --git a/src/user-guide/faqs/word-addon.md b/src/user-guide/faqs/word-addon.md new file mode 100644 index 00000000..06e9f8a6 --- /dev/null +++ b/src/user-guide/faqs/word-addon.md @@ -0,0 +1,350 @@ +--- +title: 关于 Word 加载项的各种问题 +author: + - name: Northword + - name: winding + - name: ShareStuff + - name: Chikit_L +date: 2023-10-04 11:38:09 +updated: 2023-10-04 12:06:21 +--- + +# 关于 Word 加载项的各种问题 + +本页面整理了一些使用字处理插件常遇到的一些问题,你可以在右侧大纲栏(部分窄屏设备也可能在左侧)快速定位到你需要的内容。 + +如果没有在本页面找到你需要的问题,可以参考官方文档 [Zotero 文字处理插件报告的一些问题以及可能的解决方案](https://www.zotero.org/support/word_processor_plugin_troubleshooting)。 + +如果仍没有找到你需要的问题,可以考虑在 Zotero 中文社区提问咨询或前往 Zotero 官方论坛发帖求助。 + +## 格式问题 + +由文字处理插件生成的引文和参考书目可能会以与周围文本不同的样式(字体、字体大小等)显示。可以通过更改默认样式来更改生成文本的外观。例如,在 LibreOffice 中,通过格式 → 样式和格式或按 F12 打开样式管理器。右键单击“默认”,选择“修改”,然后对此样式进行所需的更改。在 Word 中,在“格式”→“样式”中打开样式管理器,或者单击功能区“主页”选项卡上的“样式窗格”或“管理样式”按钮。 + +参考书目格式由您在 Zotero 文档首选项中选择的引文样式控制,并且应符合所使用样式的要求。可以通过编辑“Bibliography”(Word)或“Bibliography 1”(LibreOffice)文字处理程序样式来修改参考书目的格式。 + +## 参考文献中论文题目实现斜体及上标、下标效果 + +一些论文的题目需要在参考文献中表现为上标、下标或者斜体:如 CO~2~,H^+^、_Nature_,这该如何实现呢? + +方式一:~~插入参考文献后在 Word 中手动修改,但是这种方法每次刷新后需要重新设置非常麻烦。~~(这是不正确的方式,不推荐) + +方式二:在 Zotero 中修改该文献的条目信息,通过在题目中添加以下代码来实现上标、下标、斜体、加粗的效果,添加完后返回 Word 刷新引文: + +```html +上标 +下标 +斜体 +加粗 +``` + +:::: details 示例 + +::: note 标题 + +`Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR` + +`Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR` + +::: + +::: note 参考文献表 + +[1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO2 resistance of birnessite for low-temperature NH3-SCR, Chem. Eng. J. 399 (2020) 125798. . + +[1] X. Fang, Y. Liu, L. Chen, Y. Cheng, Influence of surface active groups on SO~2~ resistance of birnessite for low-temperature NH~3~-SCR, Chem. Eng. J. 399 (2020) 125798. . + +::: + +如上示例在 Zotero 条目信息中对需要为下标的单词两侧分别加上 ``和``,回到在 Word 中点击 `Refresh` 刷新条目信息即可看到下标效果已经成功实现。 + +![点击`Refresh`刷新条目信息](../../assets/image-Refresh.png) + +:::: + +::: tip 使用 Linter 插件快捷插入 + +插件 [Linter for Zotero](https://github.com/northword/zotero-format-metadata) 提供了辅助输入这些富文本标签的功能,可前往 [插件商店](https://plugins.zotero-chinese.com)下载安装。 + +::: + +::: tip 使用 Quicker 快捷插入 + +使用 quicker 动作可以也可以方便的实现同样的效果: + +- [添加斜体标识](https://getquicker.net/Sharedaction?code=98c3d460-22b5-49ab-99c2-08d9c6b06ad1) +- [添加加粗标识](https://getquicker.net/Sharedaction?code=dc815b9a-f463-4233-99c5-08d9c6b06ad1) +- [添加上标标识](https://getquicker.net/Sharedaction?code=dee60abc-d1f5-40ad-99c3-08d9c6b06ad1) +- [添加下标标识](https://getquicker.net/Sharedaction?code=b44c0592-89fa-41c2-99c4-08d9c6b06ad1) + +::: + +## Word 中没有 Zotero 选项卡 + +一些朋友在 Word 中的 Zotero 选项卡突然消失了,或者使用的时候报错要求重装/升级该加载项。 **这一加载项需要在 Zotero 首选项 中安装** 。具体步骤如下: + +1. 保存好正在编辑的 Word 文档,并**彻底退出 Word**。 +2. 打开 `Zotero 首选项`。 +3. 在 `引用/Cite` -`文字处理软件/Word Processors` 中点击 `重新安装 Microsoft Word 加载项/Reinstall Microsoft Word Add-in` 即可完成安装/更新/重装。 + +![重新安装Word插件](../../assets/image-settings-reinstalll-word-plugin.png) + +:::warning + +如果退出 Word 后重新安装这一加载项仍然报错,建议重启电脑后再尝试。 + +::: + +若上图的【**文字处理软件/Word Processors**】没有内容显示,则需要在 Zotero 软件界面,单击打开【**工具/Tools**】-【**插件/Add-ons**】 + +![image.png](../../assets/image-tools-addon.png) + +找到【**Zotero Word for Windows Integration**】插件,确保其没有处理禁用状态。 + +![image.png](../../assets/image-zotero-addon-manager.png) + +## 报错“无法与 Zotero 通讯” + +::: info 待办 + +::: + +## Zotero 在更新文档时出错 + +::: tip + +本小节在翻译 [官方文档](https://www.zotero.org/support/kb/debugging_broken_documents) 的基础上,进行了再次整合,以 Microsoft Word 为例进行操作。如果您使用的是 Google Docs 或者 LibreOffice ,可访问 [官方文档 | 排除文字处理器文档中的错误](https://www.zotero.org/support/kb/debugging_broken_documents) 获取帮助。 + +::: + +![更新文档时出错](../../assets/image-更新文档时出错.png) + +如果您在尝试在一个**新的空文档**中使用 Zotero 时出错,请参阅 [文字处理器插件故障排除](https://www.zotero.org/support/word_processor_plugin_troubleshooting)。 + +如果您可以在新的空 Word 文档中插入引文,但在**现有文档**中使用 Zotero 时出现错误,可以按照以下步骤进行问题排查: + +1. 检查 Word 设置 + + 在`文件-选项-高级`,勾选 `键入内容替换所选文字`,问题即可得到解决。 + 如问题未得到解决,请按照后续步骤逐步进行排查。 + + ![键入内容替换所选文字](../../assets/image-键入内容替换所选文字.png) + +2. 重启 Zotero 和 Word。 + +3. 确保您使用的是最新版本的 Zotero 和 Word。 + +4. 排除故障时,禁用 Word 中的修订功能,因为它在使用 Zotero 时会产生复杂的效果。 + 如果在插入或修改 Zotero 引文时启用了修订功能,它可能会将文档中的许多或所有 Zotero 引文标记为已更改。如果您以前启用了修订功能,请尝试接受所有更改,看看这是否能解决问题。 + +5. 检查图片标题中的引用。Zotero 不会让你插入它们,但如果你将引用复制到标题中,这很可能是问题的根源。删除这部分引用。 + +6. 尝试将文档内容复制并粘贴到新文档中,以查看问题是否消失。您可能需要点击 `Document Preferences` 按钮,您的旧引用才会被识别。 + +7. 通过复制文件本身,而不是通过复制和粘贴内容,制作文档的副本,用于调试。 + +8. 如果在 Windows 上使用 OneDrive,请将文档的副本保存到本地硬盘,或者尝试删除文件名中的任何空格。OneDrive 会干扰插件的使用,请在使用 Zotero 过程中避免与 Onedrive 同时使用。 + +9. 打开复制的文件,检查切换到不同的参考书目样式后是否出现错误。 + +10. 如果文档有参考书目(bibliography,),请删除它后检查是否仍然出现错误。 + +11. 调试时,如果您在 Word 插件中使用字段模式,显示字段代码而不是格式化文本可能会有所帮助。为此,请在 Word 中按 Alt/Option-F9(或 Alt/Option-Fn-F9)。 + +12. **隔离有问题的引用。** + 在文档副本中,每次删除一半内容,看看错误是否仍然发生。如果没有,使用 "撤消" 恢复已删除的部分,然后尝试删除另一半。对出现错误的部分重复删除一半的过程,如果两个部分都出现错误,则随机选取一个。继续这样做,直到找到出现问题时必须存在的最小部分(最好只有一个引文)。从原始文档中删除孤立的引文,问题就会消失(除非有多个断开的引文,在这种情况下您需要重复该过程)。 + +## 您已经修改该引文,是否保留更改? + +![image.png](../../assets/image-word-确认保存修改.png) + +该弹窗通常是用户手动修改了引文或参考文献表,比如该弹窗即为某文献在文中编码为“[1]”,用户手动把它修改为了“[111]”,Zotero 再次刷新时会询问用户是否保留这些修改? + +如果用户需要保留自己的修改,则点击“是 yes”,如果用户需要抛弃自己的修改,使用 Zotero 生成的内容,则需要选择“否 No”。 + +:::danger + +注意:请谨慎选择“是 Yes”,该操作会让 Zotero 不再更新此处! + +::: + +::: warning + +所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是手动修改! + +所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是手动修改! + +所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目,而不是手动在域代码上修改! + +::: + +如果已经点了 “是 yes”,Zotero 不再对这一处引文进行更新,而后续又想要 Zotero 对其更新,可以参照下一节。 + +### 使 Zotero 恢复对引文的更新 + +首先分析一下 Word 加载项 在 Word 留下的域代码结构,以 [https://doi.org/10.1021/acscatal.0c05697](https://doi.org/10.1021/acscatal.0c05697) 为例,其正常插入 Word 后产生的域代码为: + +::: details Zotero 引文在 Word 中产生的域代码截图 + +![image.png](../../assets/image-word-域代码.png) + +::: + +其中标黄部分是标识这是一个 Word 域代码块的声明,可以不去管,重点在包含在其中的 json 内容,为了方便理解,将其格式化后显示如下: + +::: details 上述可以正常更新的域代码格式化后的代码 + +```json +{ + "citationID": "gr3uElq7", + "properties": { + "formattedCitation": "\\super [1]\\nosupersub{}", + "plainCitation": "[1]", + "noteIndex": 0 + }, + "citationItems": [ + { + "id": 2220, + "uris": ["http://zotero.org/users/7424907/items/SUW7JYI9"], + "itemData": { + "id": 2220, + "type": "article-journal", + "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.", + "archive": "Q1", + "archive_location": "工程技术1区 Top", + "call-number": "8.04", + "collection-title": "无", + "container-title": "Fuel", + "DOI": "10.1016/j.fuel.2022.124116", + "ISSN": "0016-2361", + "journalAbbreviation": "Fuel", + "language": "en", + "license": "8.04", + "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是", + "page": "124116", + "source": "能源与燃料2区 工程:化工1区", + "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen", + "title-short": "Regulating oxygen species for promoted deep oxidation of toluene", + "volume": "321", + "author": [ + { + "family": "Zhang", + "given": "Luyue" + }, + { + "family": "Liu", + "given": "Yongjun" + }, + { + "family": "Fang", + "given": "Xue" + }, + { + "family": "Cheng", + "given": "Yan" + } + ], + "issued": { + "date-parts": [["2022", 8, 1]] + } + } + } + ], + "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json" +} +``` + +::: + +其被修改后,域代码则会变为: + +::: details 不能正常更新的域代码 + +```json {6} +{ + "citationID": "gr3uElq7", + "properties": { + "formattedCitation": "\\super [1]\\nosupersub{}", + "plainCitation": "[1]", + "dontUpdate": true, + "noteIndex": 0 + }, + "citationItems": [ + { + "id": 2220, + "uris": ["http://zotero.org/users/7424907/items/SUW7JYI9"], + "itemData": { + "id": 2220, + "type": "article-journal", + "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.", + "archive": "Q1", + "archive_location": "工程技术1区 Top", + "call-number": "8.04", + "collection-title": "无", + "container-title": "Fuel", + "DOI": "10.1016/j.fuel.2022.124116", + "ISSN": "0016-2361", + "journalAbbreviation": "Fuel", + "language": "en", + "license": "8.04", + "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是", + "page": "124116", + "source": "能源与燃料2区 工程:化工1区", + "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen", + "title-short": "Regulating oxygen species for promoted deep oxidation of toluene", + "volume": "321", + "author": [ + { + "family": "Zhang", + "given": "Luyue" + }, + { + "family": "Liu", + "given": "Yongjun" + }, + { + "family": "Fang", + "given": "Xue" + }, + { + "family": "Cheng", + "given": "Yan" + } + ], + "issued": { + "date-parts": [["2022", 8, 1]] + } + } + } + ], + "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json" +} +``` + +::: + +可以看到,多了第六行 `"dontUpdate": true,`,我们将这一行去掉,再更新域代码,即可恢复 Zotero 对该处的更新。 + +## 字段是代码而不是引文/参考书目文本 + +::: tip 待办 + + + +::: + +## 引文或参考书目总是以灰色或其他颜色突出显示 + +::: tip 待办 + + + +::: + +## 没有监测到引用 + +::: tip 待办 + + + +::: diff --git "a/src/user-guide/faqs/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.md" "b/src/user-guide/faqs/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.md" new file mode 100644 index 00000000..1d98a1f6 --- /dev/null +++ "b/src/user-guide/faqs/\342\200\234\350\216\267\345\217\226\346\233\264\345\244\232\346\240\267\345\274\217\342\200\235\346\211\223\344\270\215\345\274\200\346\200\216\344\271\210\345\212\236.md" @@ -0,0 +1,39 @@ +--- +title: “获取更多样式”打不开怎么办 +date: 2023-10-26 20:37:47 +updated: 2023-10-26 20:37:47 +--- + +# “获取更多样式”打不开怎么办 + +近期许多同学在添加引文格式的时候,却发现 Zotero 内部 `获取更多样式` 点了但是却一直没有反应,可以通过尝试以下三种方法解决问题: + +![点击“获取更多样式”没有反应](../../assets/image-获取更多样式没有反应.png) + +1. 禁用插件 + + 这种问题可能是由于安装的插件发生冲突所导致,点击 `工具-附件组件`后禁用第三方插件后,重启 Zotero 该问题即可解决。 + `可以优先排查Zotero Style插件` + ![禁用插件](../../assets/image-zotero-禁用插件.png) + +2. 退出 Zotero 账户。 + + 依次点击 `编辑-首选项-同步` 下 `退出账户`,之后重启 Zotero 该问题可解决。 + + ![退出Zotero账户](../../assets/image-zotero-退出账户.png) + +3. 手动安装 + + 如果前两种方法都不能解决问题,可以手动安装引文样式的方法来实现引文样式的安装。 + 打开从[Zotero 样式库](https://www.zotero.org/styles)下载其他样式,搜索所需要的`期刊`(例如`Nature`) + ![选择需要的引文格式下载](../../assets/image-zotero-引文格式下载.png) + + 此时,会进行引文格式的安装方式 + ![引文格式安装方式](../../assets/image-zotero-引文格式安装方式.png) + + ① 选择`OK`时,Zotero 会将所选择的引文格式自动下载安装,完成后,网页右上角会有完成提醒。 + ![引文格式安装完成](../../assets/image-zotero-引文格式安装完成.png) + + ② 选择`Cancel`时,浏览器会下载所选择的引文格式到本地,然后通过`Zotero-编辑-首选项-引用-样式` 下 `+`安装安装刚刚所下载的引文格式 + ![引文格式下载完成](../../assets/image-引文格式下载.png) + ![安装本地引文格式](../../assets/image-zotero-安装本地引文格式.png) diff --git "a/src/user-guide/faqs/\343\200\220\344\275\277\347\224\250\343\200\221Zotero-3\347\247\215\350\216\267\345\276\227\347\237\245\347\275\221pdf\347\232\204\346\226\271\346\263\225.md" "b/src/user-guide/faqs/\343\200\220\344\275\277\347\224\250\343\200\221Zotero-3\347\247\215\350\216\267\345\276\227\347\237\245\347\275\221pdf\347\232\204\346\226\271\346\263\225.md" new file mode 100644 index 00000000..919e0979 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\344\275\277\347\224\250\343\200\221Zotero-3\347\247\215\350\216\267\345\276\227\347\237\245\347\275\221pdf\347\232\204\346\226\271\346\263\225.md" @@ -0,0 +1,92 @@ +--- +title: 【使用】Zotero-3种获得知网pdf的方法 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +## 一、English  进入海外版 + +### 在已经登录的情况下-点击 ENGLISH + + + +**中文简体版** + +[**https://kns8.cnki.net**](https://kns8.cnki.net) + +使用指南: + +**中文繁体版** + +[**https://tra.oversea.cnki.net/index/**](https://tra.oversea.cnki.net/index/) + +使用指南: + +**英文版** + +[**https://oversea.cnki.net/index/**](https://oversea.cnki.net/index/) + +## 二、油猴插件 + +### (一)下载油猴插件 + +1. 网址 + [Tampermonkey • 首页](https://www.tampermonkey.net/) + + + +### (二)中国知网 CNKI 硕博论文 PDF 下载 插件安装 + +#### 1\. 插件安装网址 + +[Greasy Fork - 安全、实用的用户脚本大全](https://greasyfork.org/zh-CN/) + + + +#### 2. 中国知网 CNKI 硕博论文 PDF 下载 插件搜索 + +[中国知网 CNKI 硕博论文 PDF 下载 (greasyfork.org)](https://greasyfork.org/zh-CN/scripts?q=%E4%B8%AD%E5%9B%BD%E7%9F%A5%E7%BD%91CNKI%E7%A1%95%E5%8D%9A%E8%AE%BA%E6%96%87PDF%E4%B8%8B%E8%BD%BD) + + + +#### 3\. 我这边已经按安装了 就是重新安装了 没有安装的就是安装 + + + + + +#### 4\. 入群必看文件 群主传的去看看 看完不吃亏不上当 进入了群 我不允许还有人不知道这个 🦭 + + + +## 三、caj 转 pdf + +### (一)全球学术快报 + +[全球学术快报首页 (cnki.net)](https://m.cnki.net/mcnkidown/index.html) + + + +### (二)操作方法 + +#### 1. 点击导入 把下载的 caj 导入到全球学术快报 + + + +#### 2\. 点击批量操作 + + + +#### 3. 选择要导出的文档——点击三个点——导出 PDF + + + +### (三)优点 + +#### 1\. 知网官方出的软件 + +#### 2. caj 转 pdf 导出速度比打印导出快很多 + +#### 3\. 批量操作 批量导入 批量导出 + + diff --git "a/src/user-guide/faqs/\343\200\220\344\275\277\347\224\250\343\200\221Zotero\350\277\220\350\241\214\350\265\267\346\235\245\345\215\241\351\241\277.md" "b/src/user-guide/faqs/\343\200\220\344\275\277\347\224\250\343\200\221Zotero\350\277\220\350\241\214\350\265\267\346\235\245\345\215\241\351\241\277.md" new file mode 100644 index 00000000..e76ded70 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\344\275\277\347\224\250\343\200\221Zotero\350\277\220\350\241\214\350\265\267\346\235\245\345\215\241\351\241\277.md" @@ -0,0 +1,73 @@ +--- +title: 【使用】Zotero运行起来卡顿 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +## 一、电脑问题 + +### (一) 硬件方面的猜想 + +#### 1.系统如果是安装在机械硬盘,相较于固态硬盘运行速度有着很大的差别,固态硬盘会更快。(ps:我之前是安在机械的,后来换了固态,开机之前 5 分钟(机械)之后 10 几秒(固态)) + +#### 2.Zotero 程序安装在机械硬盘上,虽然系统是固态,但是受到机械运行速度限制会有所减慢 + +### (二) 系统方面的猜想 + +#### 1.后台程序过多,导致系统运行速度变慢 + +#### 2.系统需要更新,右下角出现黄色的显示 + +#### 3.Zotero 显卡使用的 windows 自动调控的,没有使用高性能显卡,没有调到性能模式 + +#### 4.zoteo 打开久了受到 window 休眠的影响,会导致软件使用速度不佳 + +## 二、Zotero 的问题 + +### (一) 插件方面的猜想 + +#### Zotero 插件过多容易导致 Zotero 运行速度缓慢,下面列举我遇到,会卡一下的插件 + +#### 1.容易卡的茉莉花插件的使用中 pdftk 插件抓目录的时候会弹窗一下,执行 cmd 命令 + +#### 2.插件 Better BibTex for Zotero 对文献进行设置 key,容易卡着 + +#### 3.预览插件可能会导致 Zotero 运行卡顿 + +### (二) Rss 订阅方面的猜想 + +#### 如果在 Rss 订阅了很多的期刊,设置的更新时间间隔比较小的话,启动的时候期刊状态更新容易卡着 + +### (三) 同步方面的猜想 + +#### 如果在 Zotero 里面设置了自动同步的话,在文献进行同步更新的时候,占用系统资源造成系统卡死。这个常见于大量文献未能同步阶段,常见的就是使用 WebDAV 进行附件同步过程中 + +### (四)文献数量方面的猜想 + +#### 文献过多会,导致 Zotero 运行速度缓慢 + +## 三、解决措施 + +### (一) 开机启动项设置,利用管理软件进行开机启动项设置,这里推荐火绒吧(火绒相较于 360 体积小操作简单,但是清理和安全方面 360 占优势,不过 360 需要配置一下才能关闭广告设置)去官网下载火绒后,可以在功能里面看到一个启动项管理,在里面把不用的软件禁用一下,这样可以避免开机时候和使用的时候,应用程序过多 + +### (二) 利用管理软件,对于系统垃圾进行清除,我之前帮同学清理过垃圾,才一个月没有帮,拿到以后 40 几 G 的垃圾 + +### (三) 进行系统更新,虽然微软说是下载更新的时候,不影响电脑正常的使用,只是正常,降速了 + +### (四) 在系统设置里面选择游戏-游戏模式-显示卡,再选择桌面应用,把 Zotero.exe 放进去选择高性能显示卡 + +### (五) 不需要的插件可以再插件选项中禁用 + +### (六) 如果使用 WebDAV,那就先将文件同步好再去使用,如果上传流量没了等下月,去把设置里面的自动同步给关了 + +### (七) 期刊设置时间适当延长一下 + +…… + +### (N) 关于开机启动项的禁用进行补充一下,有些开机启动不要关,关也只关自己认识的   + +#### 如 office clik run 那个关了,用 office 就会卡 + +#### 打印什么的,这个不建议关,因为你不晓得那天需要用笔记本接打印机,我之前关了,结果有一天要接打印机,死活用不好,最后才发现我自己关了那个 + +#### 如果你用了桌面管理软件的话,可以加入开机启动中,开机自动将桌面文件进行管理,比如我用的 360 桌面助手,就将它加入启动项里面了,不过有个不习惯的就是文件保存到桌面不能立即点,要等一会 diff --git "a/src/user-guide/faqs/\343\200\220\345\220\214\346\255\245\343\200\221\345\210\207\346\215\242\345\220\214\346\255\245\346\226\271\346\241\210.md" "b/src/user-guide/faqs/\343\200\220\345\220\214\346\255\245\343\200\221\345\210\207\346\215\242\345\220\214\346\255\245\346\226\271\346\241\210.md" new file mode 100644 index 00000000..0b0164a9 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\345\220\214\346\255\245\343\200\221\345\210\207\346\215\242\345\220\214\346\255\245\346\226\271\346\241\210.md" @@ -0,0 +1,48 @@ +--- +title: 【同步】切换同步方案 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +# 我安装有 ZotFile,或者附件中有链接的附件,该如何转为 WebDAV 同步方案 + +通过[【同步】如何确定目前采用的是哪种同步方案](https://zotero.yuque.com/books/share/93bfca90-00d8-4228-8d3a-305863c70f50/agofi0)的判断方法,你应该已经能很明确地知道自己目前使用的是何种同步方案了。如果你之前已经选用了 ZotFile + 同步盘的同步方式,确定自己希望转为 WebDAV 同步方式,可以用以下方法转为 WebDAV 同步。 + +⚠️ 请务必确保你的 ZotFile 插件版本不低于 5.1.1 + +1. 打开 Zotero 菜单栏=>编辑=>首选项=>高级=>文件与文件夹,设置如下: + + + +2. 点击 Zotero 菜单栏工具=>ZotFile Preferences,修改如下: + + + +对于 Location of Files,一定要选择 Attach stored copy of file(s),否则无法切换到坚果云 WebDAV 方式,PaperShip 中也无法下载 PDF。 + +这一步的含义是 ZotFile 不再移动文献附件,而是直接采用 storage 文件夹的绝对路径。 + +到此,相关的路径设置就搞定了,下面需要将同步盘中的文献附件转移到默认的 storage 目录。 + +3. 如果想要更快地转移,可以全选 My Library 中的文献,然后在右键菜单中点击 Rename Attachments,即可将文献附件从同步盘转移到默认的 storage 目录。(旧版本插件的 [Rename Attachments] 按钮现在叫 [Rename and Move],按钮的位置还在老地方,功能也是和原来一样的) + + + +同时,文献附件的图标也会从【PDF logo + 🔗】变为【PDF logo】。👇 + +4. 文献附件转移完毕后,就彻底取消了【ZotFile + 同步盘】方式的所有设置。接下来,如果你想要切换为【Zotero + 坚果云 WebDAV】方式,可以按照[通过 WebDAV 同步](https://zotero.yuque.com/books/share/93bfca90-00d8-4228-8d3a-305863c70f50/lub19i)进行相关设置。 + +# 我已经详细了解 ZotFile + 同步盘 方案的原理、注意事项和潜在风险了,但还是想转换到 ZotFile + 同步盘 方案 + +无论你之前采用的是官方数据同步/ WebDAV 同步/无同步,切换到 ZotFile + 同步盘 方案的方法都是一样的。即:按照前文的教程设置好各个路径位置,然后全选文献,触发一次 Rename and move 即可。 + +# 关于附件同步的一点说明 + +问题:我能否按照自己的想法整理附件,同时也能让附件在移动端的 Zotero 客户端中打开 + +答案:不能。 + +目前来说,**以上的两种方案不能共存。要么忍受 Zotero 官方/WebDAV 同步时,网盘里的附件全都被放在 zip 压缩包里;要么放弃在 iPhone/iPad 上的 Zotero 官方客户端或 Papership 应用中查看 PDF 附件。** +(不过你依然是可以在 iPhone/iPad 上的 Zotero 官方客户端里查看条目信息一类的) + +重命名附件无需借助 ZotFile。见 diff --git "a/src/user-guide/faqs/\343\200\220\345\220\214\346\255\245\343\200\221\345\246\202\344\275\225\347\241\256\345\256\232\347\233\256\345\211\215\351\207\207\347\224\250\347\232\204\346\230\257\345\223\252\347\247\215\345\220\214\346\255\245\346\226\271\346\241\210.md" "b/src/user-guide/faqs/\343\200\220\345\220\214\346\255\245\343\200\221\345\246\202\344\275\225\347\241\256\345\256\232\347\233\256\345\211\215\351\207\207\347\224\250\347\232\204\346\230\257\345\223\252\347\247\215\345\220\214\346\255\245\346\226\271\346\241\210.md" new file mode 100644 index 00000000..89ba376d --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\345\220\214\346\255\245\343\200\221\345\246\202\344\275\225\347\241\256\345\256\232\347\233\256\345\211\215\351\207\207\347\224\250\347\232\204\346\230\257\345\223\252\347\247\215\345\220\214\346\255\245\346\226\271\346\241\210.md" @@ -0,0 +1,41 @@ +--- +title: 【同步】如何确定目前采用的是哪种同步方案 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +很多人在初次配置时参考了多个教程,有很多教程也没有详细讲明到底采用的是何种方案,有何优缺点,以至于有很多人其实并不知道自己目前使用的是何种方案。这里给出三种判断方式(第一种判断方法为主要方法。如果出现冲突, **以第一种方法的判断结果为准** ): + +## 判断方法 1:通过电脑上的 PDF 附件进行判断 + +在你电脑上的 Zotero 打开文献条目列表,随便找一个条目,展开这一条目。 + +- 如果 **PDF 附件图标上没有“链条”标记** ,说明你用的是 **官方云同步/WebDAV 同步/没有同步** 。样式如下图: + + 这样的附件还保存在你的 Zotero 数据目录内的默认位置, **在正确配置 WebDAV 同步之后** 可以在官方的 Zotero 应用或第三方的 Papership 应用中打开。(当然,直接下血本购入官方的同步方案就更可以了) +- 如果 **PDF 附件图标上存在“链条”标记** ,说明你用的是 **ZotFile + 同步盘** 方案。样式如下图: + + 这样的附件已经被移动到了其他的地方,Zotero 里仅仅保存的是一个文件链接(相当于是一个快捷方式)。这样的文件 **无论你怎么设置也是不可能** 在官方的 Zotero 应用或第三方的 Papership 应用中正常打开的。 + **注:** 无论你 ZotFile 中设置的目标目录在哪,甚至哪怕你把 ZotFile 目标目录设置成了 Zotero 默认的数据存储位置, **只要你的 PDF 附件图标上有“链条”标记,它就属于类似于 ZotFile + 同步盘的方案。** 这意味着它就一定是无法在移动端 Zotero 客户端里打开的,就算 WebDAV 都配置对了也不行。 + +## 判断方法 2:通过网盘中的附件判断 + +有的人可能说了:我也用了坚果云,为啥我的就不行呢? + +坚果云确实是国内少有的支持 WebDAV 的网盘/同步盘,但 **你使用了坚果云不代表你采用了 WebDAV 的方式进行同步** 。 +(而且,设置了 WebDAV 同步也可能因为同时设置了 ZotFile 导致实际用的依然不是 WebDAV) +你可以额外通过以下方法判断你的 WevDAV 同步设置是否成功: + +- 如果你打开 \[坚果云\] 或其他(支持 WebDAV 的)同步盘中的 \[Zotero\] 文件夹,看到里面的文件是一堆后缀名为“.prop”和“.zip”的文件,那恭喜你,你的 WebDAV 同步设置是正确的。 + + …….....\\Zotero\\XX.zip (如果有附件下载问题打开查看此 zip 内是否包含对应的 pdf…… \* .....\\Zotero\\XX.prop + ‼️ 但是!注意了,只是有这两类文件还不够, **你依然需要去看方法 1 中的 PDF 附件图标上有没有“链条”** 。 +- 如果你打开 \[坚果云\] 或其他(支持 WebDAV 的)同步盘中的 \[Zotero\] 文件夹,发现 **里面还有其他文件夹,或者能在里面直接看见 PDF 格式的附件** ,那对不起,你一定用了 ZotFile + 同步盘的方案,而且 **你的 WebDAV 并未起到同步附件的作用** 。 + +## 判断方法 3:通过 ZotFile 的设置来判断 + +鉴于绝大多数纠结这个问题的人都是用了 ZotFile 而且不知道里面各项设置的意义,这里额外补充一种判断方式。 + +- 如果你在 \[ZotFile 偏好设置/ZotFile Preferences\] 中 \[通用设置/General Settings\] 下,选择了 \[文件位置/Location of Files\] 中的 **第一个选项 \[Attach stored copy of file(s)\]** ,说明你使用的是 **官方云同步/WebDAV 同步/没有同步** 。 + +- 如果你在 \[ZotFile 偏好设置/ZotFile Preferences\] 中 \[通用设置/General Settings\] 下,选择了 \[文件位置/Location of Files\] 中的 **第二个选项 \[Custom Location\]** ,那无论你这个目录设置在哪,使用的都是 **ZotFile + 同步盘** 方案,或者单纯只是本地的异地存储(是的,就算你这个位置设置得和 Zotero 的 \[数据存储位置/Data Directory Location\] 完全一致,你也依然使用的是 ZotFile 异地存储方案,因为你的附件仍然像判断方法 1 里一样是带链接的)。 diff --git "a/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207_\346\217\222\344\273\266\343\200\221Word \345\212\240\350\275\275\351\241\271\347\233\270\345\205\263\351\227\256\351\242\230.md" "b/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207_\346\217\222\344\273\266\343\200\221Word \345\212\240\350\275\275\351\241\271\347\233\270\345\205\263\351\227\256\351\242\230.md" new file mode 100644 index 00000000..69af3535 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207_\346\217\222\344\273\266\343\200\221Word \345\212\240\350\275\275\351\241\271\347\233\270\345\205\263\351\227\256\351\242\230.md" @@ -0,0 +1,187 @@ +--- +title: 【引文|插件】Word 加载项相关问题 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +# Word 中没有 Zotero 选项卡 + +一些朋友在 Word 中的 Zotero 选项卡突然消失了,或者使用的时候报错要求重装/升级该加载项。 **这一加载项需要在 \[Zotero 首选项\] 中安装** 。具体步骤如下: + +1. 保存好正在编辑的 Word 文档,并**彻底退出 Word**。 +2. 打开 \[Zotero 首选项\]。 +3. 在 \[引用/Cite\] -> \[文字处理软件/Word Processors\] 中点击 \[重新安装 Microsoft Word 加载项/Reinstall Microsoft Word Add-in\] 即可完成安装/更新/重装。 + + +如果退出 Word 后重新安装这一加载项仍然报错,建议重启电脑后再尝试。 + +# 报错“无法与 Zotero 通讯” + +# 您已经修改该引文,是否保留更改? + + + +该弹窗通常是用户手动修改了引文或参考文献表,比如该弹窗即为某文献在文中编码为“\[1\]”,用户手动把它修改为了“\[111\]”,Zotero 再次刷新时会询问用户是否保留这些修改? + +如果用户需要保留自己的修改,则点击“是 yes”,如果用户需要抛弃自己的修改,使用 Zotero 生成的内容,则需要选择“否 No”。 + +注意:请谨慎选择“是 Yes”,该操作会让 Zotero 不再更新此处! + +注意: + +所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是手动修改! + +所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是手动修改! + +所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目,而不是手动在域代码上修改! + +如果已经点了 “是 yes”,Zotero 不再对这一处引文进行更新,而后续又想要 Zotero 对其更新,可以参照以下方法: + +## 使 Zotero 恢复对引文的更新 + +首先分析一下 Word 加载项 在 Word 留下的域代码结构,以 为例,其正常插入 Word 后产生的域代码为: + + + +其中标黄部分是标识这是一个 Word 域代码块的声明,可以不去管,重点在包含在其中的 json 内容,为了方便理解,将其格式化后显示如下: + +```plain +{ + "citationID": "gr3uElq7", + "properties": { + "formattedCitation": "\\super [1]\\nosupersub{}", + "plainCitation": "[1]", + "noteIndex": 0 + }, + "citationItems": [ + { + "id": 2220, + "uris": [ + "http://zotero.org/users/7424907/items/SUW7JYI9" + ], + "itemData": { + "id": 2220, + "type": "article-journal", + "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.", + "archive": "Q1", + "archive_location": "工程技术1区 Top", + "call-number": "8.04", + "collection-title": "无", + "container-title": "Fuel", + "DOI": "10.1016/j.fuel.2022.124116", + "ISSN": "0016-2361", + "journalAbbreviation": "Fuel", + "language": "en", + "license": "8.04", + "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是", + "page": "124116", + "source": "能源与燃料2区 工程:化工1区", + "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen", + "title-short": "Regulating oxygen species for promoted deep oxidation of toluene", + "volume": "321", + "author": [ + { + "family": "Zhang", + "given": "Luyue" + }, + { + "family": "Liu", + "given": "Yongjun" + }, + { + "family": "Fang", + "given": "Xue" + }, + { + "family": "Cheng", + "given": "Yan" + } + ], + "issued": { + "date-parts": [ + [ + "2022", + 8, + 1 + ] + ] + } + } + } + ], + "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json" +} +``` + +其被修改后,域代码则会变为: + +```plain +{ + "citationID": "gr3uElq7", + "properties": { + "formattedCitation": "\\super [1]\\nosupersub{}", + "plainCitation": "[1]", + "dontUpdate": true, + "noteIndex": 0 + }, + "citationItems": [ + { + "id": 2220, + "uris": [ + "http://zotero.org/users/7424907/items/SUW7JYI9" + ], + "itemData": { + "id": 2220, + "type": "article-journal", + "abstract": "To explore effective way for the complete catalytic degradation of toluene at low temperature, catalysts with diverse activity of adsorbed oxygen (Oads) and lattice oxygen (Olatt) are synthesized by introducing Sr2+ into the birnessite structure. Sr modification highly improved low-temperature catalytic activity and CO2 selectivity of toluene oxidation under moist condition, especially on the BS-7.5 (Sr:Mn = 0.075) catalyst. A series of physiochemical characterizations and DFT calculations identified abundant Olatt with higher activity in Sr-doped birnessite and higher activity of Oads in pure birnessite. In situ DRIFTS analysis further confirmed that activation of Olatt introduced by Sr replacement of Mn governed the reaction process towards continuous deep oxidation of toluene. These findings provide a deeper understanding of the mechanism of toluene degradation and strongly pave a way for improving the complete catalytic oxidation performance of VOCs at low temperature over MnO2 catalysts from the aspect of regulating active oxygen-related properties.", + "archive": "Q1", + "archive_location": "工程技术1区 Top", + "call-number": "8.04", + "collection-title": "无", + "container-title": "Fuel", + "DOI": "10.1016/j.fuel.2022.124116", + "ISSN": "0016-2361", + "journalAbbreviation": "Fuel", + "language": "en", + "license": "8.04", + "note": "JCR分区: Q1\n中科院分区升级版: 工程技术1区\n中科院分区基础版: 工程技术2区\n影响因子: 8.04\n5年影响因子: 6.63\nEI: 是", + "page": "124116", + "source": "能源与燃料2区 工程:化工1区", + "title": "Regulating oxygen species for promoted deep oxidation of toluene: A comparative study of adsorbed oxygen and lattice oxygen", + "title-short": "Regulating oxygen species for promoted deep oxidation of toluene", + "volume": "321", + "author": [ + { + "family": "Zhang", + "given": "Luyue" + }, + { + "family": "Liu", + "given": "Yongjun" + }, + { + "family": "Fang", + "given": "Xue" + }, + { + "family": "Cheng", + "given": "Yan" + } + ], + "issued": { + "date-parts": [ + [ + "2022", + 8, + 1 + ] + ] + } + } + } + ], + "schema": "https://github.com/citation-style-language/schema/raw/master/csl-citation.json" +} +``` + +可以看到,多了第六行 `"dontUpdate": true,`,我们将这一行去掉,再更新域代码,即可恢复 Zotero 对该处的更新。 diff --git "a/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207_\346\217\222\344\273\266\343\200\221\345\234\250WPS\344\270\255\344\275\277\347\224\250Zotero Word\346\217\222\344\273\266.md" "b/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207_\346\217\222\344\273\266\343\200\221\345\234\250WPS\344\270\255\344\275\277\347\224\250Zotero Word\346\217\222\344\273\266.md" new file mode 100644 index 00000000..f3bca35b --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207_\346\217\222\344\273\266\343\200\221\345\234\250WPS\344\270\255\344\275\277\347\224\250Zotero Word\346\217\222\344\273\266.md" @@ -0,0 +1,201 @@ +--- +title: 【引文|插件】在WPS中使用Zotero Word插件 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +# 前言(很重要哦!) + +**Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝**[**在 Word 中插入引文**](https://zotero.yuque.com/staff-gkhviy/zotero/ms-office#%20%E3%80%8A%E5%9C%A8%20Word%20%E4%B8%AD%E6%8F%92%E5%85%A5%E5%BC%95%E6%96%87%E3%80%8B) + +**🔊🔊🔊\*\***必看!!!**:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击**Add/Edit Citation 等这 6 个按钮**,尤其是一定要多次点击**Refresh**和**Unlink Citations**按钮,检查是否正常使用!!!(无法正常使用请见本文档**四、Refresh/Unlink Citations 莫名失效\*\*) + +**以下是 WPS 的 Zotero Word 加载项的常见问题及解决方法,均以 Window 系统为例演示 📝:** + +# 一、没有显示 Zotero 加载项 + + + +**❓**如上图所示,WPS 的文档界面不显示 Zotero 加载项。**解决办法如下**: + +## 1、检查 Microsoft Word 加载项 + +检查 Zotero 是否已正常安装好 **Microsoft Word 加载项**。安装此加载项的步骤,详见 Zotero 百科全书的[【引文|插件】Word 加载项相关问题](https://zotero.yuque.com/staff-gkhviy/zotero/bqx0x4)(点击左侧蓝字自查) + + + +1)若上图的【**文字处理软件/Word Processors**】没有内容显示,则需要在 Zotero 软件界面,单击打开【**工具/Tools**】-【**插件/Add-ons**】 + + + +2)找到【**Zotero Word for Windows Integration**】插件,单击【**disable**】将其移除,再单击【**Restart now**】,重启后,再单击【**Enable**】完成安装。 + + + +### + +## 2、WPS.VBA 插件的安装 + +若 WPS 为**个人版**,需额外安装 [**VBA 插件**](https://pan.baidu.com/s/1y-cjisA6Lxbnw3r3g_jmKA?pwd=moyu)(点击左侧蓝字获取插件) + +**🏷️ 注**: WPS 专业版等版本一般已自带 VBA 宏功能,Zotero 加载项如有使用问题,也可选择安装 VBA 插件。 + +1)将 WPS.VBA 安装程序**下载并保存**到电脑,确保 WPS 程序是 **未运行** 状态。 + + + +2)**双击**打开 WPS.VBA 安装程序,依次单击【**Next**】,最后单击【**Finish**】。用 WPS 打开任意一个 Word 文档,检查是否正常显示 Zotero 加载项。 + + + +**🏷️ 注:** 若 WPS.VBA 安装后,仍未显示 Zotero 加载项,或需将【**宏安全性**】设成低(但不建议)。除此外可见下方**3、补充 Zotero.dotm 文件** + +## 3、补充 Zotero.dotm 文件 + +1)在 Zotero 图标处**右键单击**,单击【**打开文件所在的位置**】打开 Zotero 安装路径 + + + +2)依次双击打开【**extensions**】-【**】-【install**】文件夹,复制 **Zotero.dotm** 文件。 + + + + + +**🏷️ 注**:如果上图文件夹位置没有 Zotero.dotm,可点击右侧蓝字获取 [**Zotero.dotm**](https://pan.baidu.com/s/1EMfR5KRi8Mxxn9Wa7UR7Ag?pwd=moyu) + +3)在 WPS 图标处**右键单击**,单击【**打开文件所在的位置**】打开 WPS 安装路径。 + + + +**🏷️ 注**:以上前提是确保 WPS 已关闭,不在运行中!!! + +4)找到并打开**版本最新**的文件夹(即**数字最大**),再依次打开【**office6**】-【**startup**】 + + + + + +5)在 WPS 的【**startup**】启动项文件夹内,粘贴 **Zotero.dotm** 文件。再次用 WPS 打开任一 Word 文档,检查 WPS 是否已显示 Zotero 加载项。 + + + +# 二、Zotero 加载项出现弹窗报错 + + + +**❓**如上图所示,在 WPS 使用 Zotero 加载项的各个按钮时,会出现弹窗警告。**解决方法如下**: + +## 1、解决方法一 + +新建一个 Word 文档,先用 **Office** 打开此文档,用 Zotero 加载项 **插入一篇文献** 后,保存此文档即可。 + + + +**🏷️ 注**:设置较简单,仅适用于**同时安装 Office 和 WPS**。以后再使用时,可能还会报错。 + +如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的**前后或内部** + +解决方法:将光标定位在远离上述位置如正文文字处 + +## 2、解决方法二 + +1)单击【**开发者工具**】-【**加载项**】,弹出的对话框单击【**选用**】。 + + + +**🏷️ 注**:设置较复杂,适用于 **同时装有 Office 和 WPS** 或 **只装有 WPS** + +**🏷️ 注**:若【**开发工具**】选项卡的内容为灰色,即无法点击操作。 + +**解决方法**:安装 WPS.VBA 插件(详见本文档 **WPS.VBA 插件的安装**) + +或需升级更新 WPS 版本,以及可能需要安装使用 WPS 专业版等版本。 + +2)弹出对话框,双击进入上方地址栏并复制**地址**,或地址栏处右键单击,再单击【**将地址复制为文本**】。复制好地址后,即可关闭当前窗口。 + + + +3)单击【**文件**】选项卡,再单击【**打开**】。将 **地址** 粘贴至【**文件名**】,【**文件类型**】选择 **所有文件**,然后单击【**打开**】。 + + + + + +4)选中 **Normal.dotm** 文件,单击【**打开**】,随之打开名为 **Normal.dotm** 文档。 + + + +5)在 **Normal.dotm** 文档内,依次单击【**文件**】-【**文档加密**】-【**属性**】 + + + +6)在 **Normal.dotm** 属性对话框,切换到【**自定义**】窗口,【**名称**】和【**取值**】分别输入 **ZOTERO_PREF_1** 和 **1** ,点击【**添加**】。同理,再添加上 **ZOTERO_PREF_2** 和 **1** ,最后点击【**确定**】。 + + + +这一步完成的效果如下: + + + +7)左上角单击【**保存**】图标或快捷键 **Ctrl+S** 保存 **Normal.dotm** 文档。重新用 WPS 打开一个 Word 文档检查是否不再出现报错窗口。 + + + +**🏷️ 注**:如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的**前后或内部** + +解决方法:将光标定位在远离上述位置如正文文字处 + +# **三、Refresh/Unlink Citations 问号图标** + + + +**❓**如上图所示,**Refresh** 和 **Unlink Citations** 图标显示为问号,**解决办法如下**: + +## 1、直接安装美化后的图标文件 + +1)我已创建 5 种 [Refresh 和 Unlink Citations 图标](https://pan.baidu.com/s/1BXjo-ZOT971qlsY-zboIdA?pwd=moyu)(任选其一),可直接安装使用。点击上方蓝字即可获取,首先将其**下载并保存**到电脑(如下图所示)。 + + + +**🏷️ 注**:只需选择使用一个自己喜爱的图标文件或可自己编辑设计图标。 + +下方是 5 个已编辑好的 **Refresh** 和 **Unlink Citations** 图标的图片展示。 + + + +2)将上述**任一 Zotero**文件,粘贴至 WPS 的**启动项文件夹**内(详见本文档的 **补充 Zotero.dotm 文件**) + +3)用 WPS 打开任一 Word 文档,但是会显示有 2 个 Zotero 加载项。 + + + +**🏷️ 注**:因为没更换 Zotero 安装路径的 Zotero.dotm,且 Office Word 的启动项文件夹未放置 Zotero.dotm。 + +这样做的考虑是:保持 Office Word 的 Refresh 和 Unlink Citations 图标不变动,同时保留原有的 Zotero.dotm,以备不时之需。当然也可自己按喜好设置更换。 + +### 只保留 1 个 Zotero 加载项 + +1)依次单击【**开发者工具**】-【**加载项**】。 单击选中 **Zotero.dotm**,单击【**禁用**】。 + + + +2)**Zotero.dotm** 前面方框,此刻已更改成 **取消勾选**,点击【**确定**】即可。 + + + +# 四、Refresh/Unlink Citations 莫名失效 + +有时新建 Word 文档,用 WPS 打开后,无故出现点击 Refresh 和 Unlink Citations 功能失效(即无响应或莫名删掉引文 Citation)。 + +**解决方法**: + +1)不要将光标置于插入引文 Citaion 和参考文献 References 的位置(即将光标定位在远离上述位置如正文文字处,再点击 Refresh 按钮) + +2)重启 WPS,或新建一个 Word 文档,再用 WPS 打开。或必要时重启电脑即可正常使用。 + +**🔊🔊🔊 必看!!!**:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击**Add/Edit Citation 等这 6 个按钮**,尤其是一定要多次点击**Refresh**和**Unlink Citations**按钮,检查是否正常使用!!! + +# 致谢 + +👍 到这里,在 WPS 中使用 Zotero Word 加载项的使用已接近尾声。在此由衷地感谢来自 b 站、知乎、CSDN 等网站的大神们分享的有关 WPS 的 Zotero Word 加载项使用的宝贵经验!!! diff --git "a/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207\343\200\221Zotero \345\260\206\345\274\225\346\263\250\351\223\276\346\216\245\345\210\260\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.md" "b/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207\343\200\221Zotero \345\260\206\345\274\225\346\263\250\351\223\276\346\216\245\345\210\260\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.md" new file mode 100644 index 00000000..8976dbee --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\345\274\225\346\226\207\343\200\221Zotero \345\260\206\345\274\225\346\263\250\351\223\276\346\216\245\345\210\260\345\217\202\350\200\203\346\226\207\347\214\256\350\241\250.md" @@ -0,0 +1,250 @@ +--- +title: 【引文】Zotero 将引注链接到参考文献表 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +date: 2022-07-29 20:23:17 updated: 2022-09-03 21:02:05 + +## 描述 + +建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”: + + + +Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [\[1\]](https://zotero.yuque.com/staff-gkhviy/zotero/ftmtx2#fn1)。 + +从 Zotero 论坛发现了通过 Word 宏实现的功能 [\[2\]](https://zotero.yuque.com/staff-gkhviy/zotero/ftmtx2#fn2),虽有一些缺陷,但基本可以达成需求。 + +## 配置及使用 + +在 Word 里新建一个宏,添加宏代码如下: + +```VB +Public Sub ZoteroLinkCitation() + +' get selected area (if applicable) + Dim nStart&, nEnd& + nStart = Selection.Start + nEnd = Selection.End + +' toggle screen updating + Application.ScreenUpdating = False + +' define variables + Dim title As String + Dim titleAnchor As String + Dim style As String + Dim fieldCode As String + Dim numOrYear As String + Dim pos&, n1&, n2&, n3& + + ActiveWindow.View.ShowFieldCodes = True + Selection.Find.ClearFormatting + +' find the Zotero bibliography + With Selection.Find + .Text = "^d ADDIN ZOTERO_BIBL" + .Replacement.Text = "" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute + + ' add bookmark for the Zotero bibliography + With ActiveDocument.Bookmarks + .Add Range:=Selection.Range, Name:="Zotero_Bibliography" + .DefaultSorting = wdSortByName + .ShowHidden = True + End With + + ' loop through each field in the document + For Each aField In ActiveDocument.Fields + ' check if the field is a Zotero in-text reference + '################################################## + If InStr(aField.Code, "ADDIN ZOTERO_ITEM") > 0 Then + fieldCode = aField.Code + '############# + ' Prepare + ' Plain citation== Format of Textfield shown + ' must be in Brackets + Dim plain_Cit As String + plCitStrBeg = """plainCitation"":""[" + plCitStrEnd = "]""" + n1 = InStr(fieldCode, plCitStrBeg) + n1 = n1 + Len(plCitStrBeg) + n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1 + plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2) + 'Reference 'as shown' in word as a string + + 'Title array in fieldCode (all referenced Titles within this field) + Dim array_RefTitle(32) As String + i = 0 + Do While InStr(fieldCode, """title"":""") > 0 + n1 = InStr(fieldCode, """title"":""") + Len("""title"":""") + n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), """,""") - 1 + n1 + If n2 < n1 Then 'Exception the type 'Article' + n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), "}") - 1 + n1 - 1 + End If + array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1) + fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1) + i = i + 1 + Loop + Titles_in_Cit = i + + 'Number array with References shown in PlainCit + 'Numer is equal or less than Titels, depending on the type + '[3], [8]-[10]; [2]-[4]; [2], [4], [5] + ' All citations have to be in Brackets each! [3], [8] not [3, 8] + ' This doesnt work otherwise! + ' --> treatment of other delimiters could be implemented here + Dim RefNumber(32) As String + i = 0 + Do While (InStr(plain_Cit, "]") Or InStr(plain_Cit, "[")) > 0 + n1 = InStr(plain_Cit, "[") + n2 = InStr(plain_Cit, "]") + RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1)) + plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1) + i = i + 1 + Loop + Refs_in_Cit = i + 'treat only the shown references (skip the rest) + '[3], [8]-[10] --> skip [9] + 'Order of titles given from fieldcode, not checked! + If Titles_in_Cit > Refs_in_Cit Then + array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1) + i = 1 + Do While Refs_in_Cit + i <= Titles_in_Cit + array_RefTitle(Refs_in_Cit + i - 1) = "" + i = i + 1 + Loop + End If + + '############# + 'Make the links + For Refs = 0 To Refs_in_Cit - 1 Step 1 + title = array_RefTitle(Refs) + array_RefTitle(Refs) = "" + ' make title a valid bookmark name + titleAnchor = title + titleAnchor = MakeValidBMName(titleAnchor) + + ActiveWindow.View.ShowFieldCodes = False + Selection.GoTo What:=wdGoToBookmark, Name:="Zotero_Bibliography" + + '' locate the corresponding reference in the bibliography + '' by searching for its title + Selection.Find.ClearFormatting + With Selection.Find + .Text = Left(title, 255) + .Replacement.Text = "" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute + + ' select the whole caption (for mouseover tooltip) + Selection.MoveStartUntil ("["), Count:=wdBackward + Selection.MoveEndUntil (vbBack) + lnkcap = "[" & Selection.Text + lnkcap = Left(lnkcap, 70) + + ' add bookmark for the reference within the bibliography + Selection.Shrink + With ActiveDocument.Bookmarks + .Add Range:=Selection.Range, Name:=titleAnchor + .DefaultSorting = wdSortByName + .ShowHidden = True + End With + + ' jump back to the field + aField.Select + ' find and select the numeric part of the field which will become the hyperlink + Selection.Find.ClearFormatting + With Selection.Find + .Text = RefNumber(Refs) + .Replacement.Text = "" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute + + numOrYear = Selection.Range.Text & "" + + ' store current style + style = Selection.style + ' Generate the Hyperlink -->Forward! + ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:="" & numOrYear + ' reset the style + Selection.style = style + + ' comment if you want standard link style + aField.Select + With Selection.Font + .Underline = wdUnderlineNone + .ColorIndex = wdBlack + End With + + Next Refs 'References in Cit + + End If 'If Zotero-Field + '######################### + + Next aField ' next field + + ' go back to original range selected + ActiveWindow.View.ShowFieldCodes = False + ActiveDocument.Range(nStart, nEnd).Select + + End Sub + Function MakeValidBMName(strIn As String) + Dim pFirstChr As String + Dim i As Long + Dim tempStr As String + strIn = Trim(strIn) + pFirstChr = Left(strIn, 1) + If Not pFirstChr Like "[A-Za-z]" Then + strIn = "A_" & strIn + End If + For i = 1 To Len(strIn) + Select Case Asc(Mid$(strIn, i, 1)) + Case 49 To 57, 65 To 90, 97 To 122 + tempStr = tempStr & Mid$(strIn, i, 1) + Case Else + tempStr = tempStr & "_" + End Select + Next i + tempStr = Replace(tempStr, " ", " ") + MakeValidBMName = Left(tempStr, 40) + End Function +``` + +## 缺陷和注意事项 + +- 手动更新引注时会出现引注已被修改的弹窗 +- 无法实现从参考文献表跳转到引注 +- 同时引用多个引注时只能链接最后一个。 + +--- + +1. 来源添加 [↩︎](https://zotero.yuque.com/staff-gkhviy/zotero/ftmtx2#fnref1) + +2. [Word: Possibility to link references and bibliography in a document? -  Zotero Forums](https://forums.zotero.org/discussion/comment/324312/#Comment_324312) [↩︎](https://zotero.yuque.com/staff-gkhviy/zotero/ftmtx2#fnref2) diff --git "a/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\345\257\274\345\205\245\343\200\221\345\257\274\345\205\245PDF\345\271\266\350\207\252\345\212\250\347\224\237\346\210\220\346\235\241\347\233\256.md" "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\345\257\274\345\205\245\343\200\221\345\257\274\345\205\245PDF\345\271\266\350\207\252\345\212\250\347\224\237\346\210\220\346\235\241\347\233\256.md" new file mode 100644 index 00000000..c201605d --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\345\257\274\345\205\245\343\200\221\345\257\274\345\205\245PDF\345\271\266\350\207\252\345\212\250\347\224\237\346\210\220\346\235\241\347\233\256.md" @@ -0,0 +1,50 @@ +【抓取|导入】导入 PDF 并自动生成条目 + +虽然这里给出了这个方法,但**仍然建议你优先选择从网页上抓取附件。** 期刊官网上论文详情页上的信息通常最全且最新,从论文详情页抓取条目信息最可靠。 + +**这一方法适用于批量添加文献的需求,也适用于使用校外访问/镜像站的朋友。** + +# 添加英文文献 + +很多英文文献的 PDF 附件中带有论文的元数据,而 Zotero 也支持通过 PDF 附件中的元数据自动抓取文献信息并自动创建副条目。具体操作如下 + +1. 从网页上下载好文献的 PDF 附件; +2. 将 PDF 附件 **直接拖入 Zotero 文献列表中的空白区域** ; + + 注:如果页面上没有空白区域了,可以 **将附件拖到任意两个条目中间的间隙处** ,此时相邻条目间隙处会出现一个横线,如上图所示。请不要将附件直接拖到条目上,因为拖到条目上是另一个功能:将这一文件作为附件添加到该条目中。 +3. 此时,界面右上角同步按钮旁会多显示一个图标,这意味着 Zotero 正在检索并匹配这一条目信息。 + +4. 匹配完成后,Zotero 会自动使用元数据创建父条目,并将这一 PDF 文件作为附件添加到新生成的条目中。 + + +# 添加中文文献 + +中文论文的 PDF/CAJ 附件中通常并没有完善的论文的元数据,Zotero 本身也并不支持为中文文献抓取元数据。 + +对于中文文献,[茉莉花(Jasminum)插件](https://gitee.com/link?target=https%3A%2F%2Fgithub.com%2Fl0o0%2Fjasminum)可以 **通过文件名** 自动检索元数据并创建条目。 **添加附件的方式与英文文献相同** ,文献添加后茉莉花会自动检索文献、创建条目并将附件移动到条目中。 + + +如果你 **之前添加的中文附件未能自动创建父条目** ,你也可以使用这一功能来重新 **手动触发一次检索匹配** : + +1. 右键点击 **不附属于任何条目的 PDF/CAJ 附件** ; +2. 点击 \[知网助手/CNKI\],然后点击 \[抓取知网元数据……\]。 + + 注意: **这一功能仅对不属于任何条目的附件文件有效** 。如果这一附件已经有了条目了,也就不能重新触发抓取了。右键菜单里只会有 \[更新知网引用数\] 的功能。 + + (茉莉花插件更新的引用量信息会放在 \[其他/Extra\] 字段,这一位置目前与 Zotero IF Pro Max 的标签集存放位置相同。如果你同时在使用 Zotero IF Pro Max,请关注下这个问题) + +此外,由于这一功能元数据是根据文件名检索得到的, **这一功能对文件名的要求较高** ,基本上要求: + +- 文件名的格式完全符合茉莉花插件设置中的格式; +- 标题/姓名内容中不含(以下划线为代表的)特殊标点符号(可以尝试将这些符号替换为空格再尝试检索匹配); +- 文件名没有被添加额外的内容(如重复文件自动添加的编号或 xx 看图王一类的无关信息)。 + +**文件名的命名格式** (用于匹配导入附件的文件名中的文献信息)可以在 Zotero 首选项中茉莉花插件的设置中修改。这里 **默认的设置内容和知网上直接下载下来的文件名是一致的。** + + +**如果文献名称比较特别,或文件名里有标点,或者文件名被编辑过,都很有可能会匹配失败并报错。** 如下图所示 + + +# 如果失败了…… + +不管是中文文献还是英文文献,都 **存在一定的概率无法成功匹配到信息并自动创建条目** 。如果遇到问题了,还是 **建议回到期刊官网的论文详情页抓取信息并创建条目** ,然后将 PDF 文件以附件的形式添加到该条目上(将附件拖到该条目上即可,但不要拖到条目之间的间隙里)。如果 Zotero 确实不支持抓取你正在使用的网站,你也可以使用下面的最后一招。 diff --git "a/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\345\257\274\345\205\245\343\200\221\345\257\274\345\205\245\351\200\232\347\224\250\346\240\274\345\274\217\347\232\204\345\274\225\347\224\250\344\277\241\346\201\257.md" "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\345\257\274\345\205\245\343\200\221\345\257\274\345\205\245\351\200\232\347\224\250\346\240\274\345\274\217\347\232\204\345\274\225\347\224\250\344\277\241\346\201\257.md" new file mode 100644 index 00000000..7417503a --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\345\257\274\345\205\245\343\200\221\345\257\274\345\205\245\351\200\232\347\224\250\346\240\274\345\274\217\347\232\204\345\274\225\347\224\250\344\277\241\346\201\257.md" @@ -0,0 +1,30 @@ +--- +title: 【抓取|导入】导入通用格式的引用信息 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +由于各种各样奇怪的问题、奇怪的限制,可能你确实没有办法从某个网站抓取条目,但你也确实找不到其他替代的检索网站。如果你遇到了这种头疼事,可以试试从网站上导出通用格式的引用信息,然后再在 Zotero 直接导入这一引文信息,最后再手动将附件附在导入的条目上。这里有 Zotero 支持导入的格式列表: +[-\> \[Zotero 官网\] How do I import BibTeX or other standardized formats?](https://www.zotero.org/support/kb/importing_standardized_formats) + +这里以一篇万方上的学位论文为例简要介绍一下这一方法: + +1. 打开论文的详情页,点击 \[引用\] 按钮; +2. 选择一个 Zotero 支持的通用格式; + +3. 下载包含引用信息的文件/复制包含引用信息的文本(具体操作因网站不同而略有区别); +4. 在 Zotero 文献列表页面点击 \[文件/File\] -> \[导入/Import\] 或 \[从剪贴板导入/Import from Clipboard\] (根据你的实际情况选择使用哪个功能); + +5. 根据界面提示完成导入(这里以通过文件导入为例演示); + + + +6. 导入完成后,该条目会混入文库中。你可以在左边栏分类列表最下面的 \[未分类条目/Unfiled Item\] 中按照年份排序来方便地找到刚刚导入的条目,将其拖入你需要的分类中: + + +- 注 1:这样导入基本意味着无法自动抓取附件(毕竟,对于好抓取附件的网站,也不会这么难导入)。你需要手动下载附件,然后将附件添加到这一条目上; + + 当然,你也可以直接把下载好的附件拖到这一条目上,效果是一样的。 +- 注 2:不同导出格式里的信息可能略有差异,而且可能都不完整甚至有错,你可以后续自己手动编辑右边栏中的 \[信息/Info\] 进行调整(以万方为例, **RefWorks** 格式导入的结果中 \[分类/Type\] 信息是分类号(TP311.52),而不是学位类型(硕士/博士); **EndNote** 格式的结果中将导师姓名也写入了作者列表,而且将两个导师的姓名直接写成了第二作者的姓和名; **Bibtex** 格式的结果中没有摘要,而且分类写为了硕士论文)。 +- 注 3:你也可以去百度学术这一类的受支持的通用检索网站抓取/导出引用信息。 +- 注 4:有条件的话尽量还是直接从网页上抓取,毕竟这么导入有可能出现各种填写不规范的情况,也可能缺少一些信息。 diff --git "a/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\346\217\222\344\273\266\343\200\221Zotero Connector\346\265\217\350\247\210\345\231\250\346\217\222\344\273\266\345\256\211\350\243\205\351\227\256\351\242\230.md" "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\346\217\222\344\273\266\343\200\221Zotero Connector\346\265\217\350\247\210\345\231\250\346\217\222\344\273\266\345\256\211\350\243\205\351\227\256\351\242\230.md" new file mode 100644 index 00000000..60455c7d --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226_\346\217\222\344\273\266\343\200\221Zotero Connector\346\265\217\350\247\210\345\231\250\346\217\222\344\273\266\345\256\211\350\243\205\351\227\256\351\242\230.md" @@ -0,0 +1,23 @@ +--- +title: 【抓取|插件】Zotero Connector浏览器插件安装问题 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +正常来说,Zotero 在安装时会自动在浏览器里安装这一个插件,但有可能因为各种原因未成功安装。 + +# Chrome 或 Edge 用户 + +如果浏览器中没有 Zotero Connecter 导致无法抓取元数据,请根据使用的浏览器选择对应的版本安装: +[-\> Microsoft Edge | 官方](https://microsoftedge.microsoft.com/addons/detail/zotero-connector/nmhdhpibnnopknkmonacoephklnflpho) +[-\> Google Chrome | 官方](https://chrome.google.com/webstore/detail/zotero-connector/ekhagklcjbdpajgpjgmbionohlpdbjgc?hl=zh) +[-\> Google Chrome | 替代源:极简插件](https://chrome.zzzmh.cn/info?token=ekhagklcjbdpajgpjgmbionohlpdbjgc) + +如果 Chrome 在安装插件时提示“无法从该网站添加应用、扩展程序和用户脚本”,请参照下面这篇教程处理: +[-\> 如何在 Chrome 中安装第三方插件](https://chrome.zzzmh.cn/help?token=setup) + +# Safari 用户 + +Zotero 6.0 以上版本才有支持 Safari 的插件。如果你还未安装新版 Zotero,或安装以后 Safari 里依然找不到 Zotero Connecter,你可以重新下载新的 Zotero 安装包,并重新(覆盖)安装。 +[-\> Zotero 官方下载页面](https://www.zotero.org/download/) +如果重装后还是没有,或许你可以考虑重启下电脑,或者在抓取文献元数据时改用别的浏览器(毕竟这个插件似乎也不是那么好使)。 diff --git "a/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226\343\200\221\344\273\216\346\265\217\350\247\210\345\231\250\346\212\223\345\217\226\346\235\241\347\233\256\346\227\266\345\217\221\347\224\237\351\224\231\350\257\257 _ \346\212\223\345\217\226\346\227\266\344\270\215\350\203\275\350\207\252\345\212\250\344\270\213\350\275\275PDF _ \346\227\240\346\263\225\350\207\252\345\212\250\347\273\231\346\267\273\345\212\240\347\232\204PDF\351\231\204\344\273\266\345\210\233\345\273\272.md" "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226\343\200\221\344\273\216\346\265\217\350\247\210\345\231\250\346\212\223\345\217\226\346\235\241\347\233\256\346\227\266\345\217\221\347\224\237\351\224\231\350\257\257 _ \346\212\223\345\217\226\346\227\266\344\270\215\350\203\275\350\207\252\345\212\250\344\270\213\350\275\275PDF _ \346\227\240\346\263\225\350\207\252\345\212\250\347\273\231\346\267\273\345\212\240\347\232\204PDF\351\231\204\344\273\266\345\210\233\345\273\272.md" new file mode 100644 index 00000000..97fa38b3 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\212\223\345\217\226\343\200\221\344\273\216\346\265\217\350\247\210\345\231\250\346\212\223\345\217\226\346\235\241\347\233\256\346\227\266\345\217\221\347\224\237\351\224\231\350\257\257 _ \346\212\223\345\217\226\346\227\266\344\270\215\350\203\275\350\207\252\345\212\250\344\270\213\350\275\275PDF _ \346\227\240\346\263\225\350\207\252\345\212\250\347\273\231\346\267\273\345\212\240\347\232\204PDF\351\231\204\344\273\266\345\210\233\345\273\272.md" @@ -0,0 +1,101 @@ +--- +title: 【抓取】从浏览器抓取条目时发生错误 / 抓取时不能自动下载PDF / 无法自动给添加的PDF附件创建条目 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +【抓取】从浏览器抓取条目时发生错误 / 抓取时不能自动下载 PDF / 无法自动给添加的 PDF 附件创建条目 + +# 写在最前:达到什么程度算是抓取基本成功了? + +Zotero Connector 在网页上能抓取两类东西: + +- **文献信息(文献条目的元数据):**只要浏览器插件图标或 Zotero 内抓取的条目图标不是蓝色(如下图抓取失败的图标),即能够**能够正确地识别出文献类型** ,就已经意味着文献信息/元数据**抓取成功**。 +- **PDF 附件**成功抓取的前提是: + +- 该条目有 PDF 附件 +- 有权限下载文献(例如在校外网,极可能无法下载文献) +- 当前网站的转换器(或称翻译器)支持抓取 PDF。对于知网需要更新转换器。 +- 网络稳定且运气正常 + + + +**如果条目抓取正常,只是抓不到附件,通常是无解的。PDF 附件能正常抓到就抓,抓不到就手动添加。**继续折腾下去很可能是浪费了大把的时间,且很难有任何的积极效果。 + +如果你不能正确地抓取文献信息,或者抓取后的条目里文献信息缺失,那下面这一篇文档对你很重要,请 **务必仔细阅读每一点提醒** 。这些提醒会对你帮助很大。 + +# 如何解决知网等国内网站抓取失败的问题 + +以下的操作需要用到 茉莉花(Jasminum)插件。如果你还没有安装,请先参照下面这个教程安装茉莉花插件: +[#I5004K:📃【常见问题】Zotero 插件安装和更新的问题(包括 Zotero Connecter 浏览器插件的问题)](https://gitee.com/qnscholar/zotero-if-pro-max/issues/I5004K) +茉莉花插件可以在这里下载到: +[-\> \[GitHub\] 茉莉花 Jasminum 插件官方主页下载页面](https://github.com/l0o0/jasminum/releases) +[-\> \[国内镜像仓库\]](https://zotero-chinese.gitee.io/zotero-plugins/#/) + +1. 在 Zotero 首选项中,进入 \[高级/Advanced\] 设置。 +2. **更新官方的 translator:** 点击下方“自动检查更新的转换器和样式” 后面的 \[立即更新/Update now\] 按钮(这里的 translator 可能会被翻译成 \[转换器/翻译器/翻译人员\]。如果你遇到了这几个描述,他们说的是同一个东西)。 + +3. **更新第三方维护的中文网站 translator:** 进入茉莉花插件的设置,打开 \[Unofficial Translator Repository\] 选项卡,先点击 \[刷新/Refresh\] 按钮,然后点击 \[Update All\] 按钮。 + +4. ‼️ **重要步骤** ‼️ 按照这个视频中的教程,更新 **每一个浏览器中** Zotero Connector 插件里的 translator: + [-\> \[Bilibili\] 如何在浏览器中更新转换器/翻译器/translator](https://www.bilibili.com/video/BV1F54y1k73n/) + **注 1:** 如果你是按照本文的方法操作的, **只需要观看视频 04:00 之后的部分** 并完成里面的操作。视频前半段的工作已经借助茉莉花插件完成了。 + **注 2:** Safari 用户可以在网页空白处点一下鼠标右键,然后点 \[Zotero Preferences\] 即可进入设置。其他浏览器的设置位置略有差异但都和视频里的位置大同小异,可以自己找找。 + + + +5. 至此,你应该能解决绝大多数数据抓取/附件下载的问题了。 + +- 注:translator 的更新可能会十分频繁。如果这次更新 translator 未能解决你的问题,你也可以过一阵再重做以上所有步骤,再次检查是否有更新。 + +# 有哪些页面可用来抓取 + +不是所有页面都可以用 Zotero Connector 进行抓取。即便是在同一个网站,也有部分页面是无法抓取的。这里作如下提醒: + +1. **尽量不要在搜索结果页(批量)抓取,尤其是在谷歌学术和知网的时候更要避免。** 批量抓取时 Zotero 会以极快的速度连续访问该网站,很可能触发该网站的风险控制,给未来带来无尽的麻烦。轻则弹一个验证码验证一下你是否是机器人,重了的话也可能会直接封禁你的 IP(对于学校买了数据库正版版权的那些网站,被封了 IP 可能会被学校请去喝一杯茶)。此外,知网在搜索结果页抓取的时候基本上是完全无法自动下载附件的,所以也不建议这么干。 +2. **不要在在线阅读界面或者下载了 PDF 后的阅读界面抓取。** 这些页面都是无法识别,无法抓取的。你应该 **在论文详情页面抓取项目** ,也就是在搜索结果中点击 **论文标题** 进去的那个页面。 +3. **不要在 Sci-hub 中抓取文献信息。** Sci-hub 中的文献信息很可能不全,而且大概率会抓取失败。Sci-hub 只适合用来下载文件附件,其他任何事情都不适合。建议你复制页面上的 doi 号,然后打开下面这一网址,在右侧粘贴 doi 号并解析,即可访问文献官方详情页: + [-\> \[DOI 官网\] 解析 doi 号](https://www.doi.org) + 你也可以使用 DOI 号借助 Zotero 中的这一功能快速创建条目并获取文献信息: + + 如果通过这一方法得到的条目信息不全,你可以手动补充,或者还是回前面提到的文献详情页抓。 +4. **不要在任何的镜像站以及学校的网页版校外访问中抓取。** 具体原因和解决方案见下文的详细解释。 + +# 镜像站及校外访问的问题 + +1. **几乎所有的镜像站都是抓不了的** 。Zotero Connector 需要依靠网址来确定调用哪个 translator 来解析网页上的数据。所有的镜像站、图书馆的镜像站会改变原有的网址(改为镜像站自己的网址,或者带上了学校的域名)。 **只要网址不是原网站本来的样子,统统都抓不了。** + 【注意】 **切勿在谷歌学术等网站的镜像站直接抓取文献信息,这样的抓取一定会失败。** 你可以点击搜索结果进入论文详情页,确认网址是期刊官网后再在详情页抓取。如果详情页的网址也不正确,你也可以复制该文献的 doi 号,然后打开下面这一网址,在右侧粘贴 doi 号并解析,即可访问文献官方详情页:[-\> \[DOI 官网\] 解析 doi 号](https://www.doi.org) + 当然,如果你能直接访问谷歌学术官网(而不是任何镜像站)也就不会有这个问题了。 +2. 如果你希望在校外抓取 **知网** 的文献,建议试试 **知网官方的校外访问** : + [-\> 中国知网校外访问系统](http://fsso.cnki.net) + (这个校外访问系统可以直接抓文献信息,并几乎像是在学校一样可以正常抓取/下载 PDF 附件。但并不是所有学校都能用这个系统,如果你的学校不支持的话,请继续看下一种方法。 +3. 如果你在用 **学校图书馆的镜像站** ,很可能会导致抓取失效。请尽量使用学校提供的 **带有客户端的校外访问工具** ,带有客户端的一般不会改变网址,不影响条目抓取。目前,知网的第三方 translator 已经支持了部分学校的网页版校外访问(WebVPN)。请先按照前面的步骤使用茉莉花更新所有的翻译器/translator,然后再尝试抓取。如果依然不行,请继续看下一种方法。 +4. **还有一种结合使用官网和镜像站的妥协方法,这理论上适合包括知网在内的各种网站。** 你可以直接访问期刊官方网站(不走学校的校外访问)仅抓取条目信息 ,然后借助学校的校外访问另外手动下载附件,最终手动在 Zotero 条目中添加这一附件(右击条目,点击 \[添加附件\] -> \[添加文件的副本\],然后选择你手动下载的附件)。) + +# 抓取附件及信息处理 + +1. 如果你还想进一步抓取硕博论文的 PDF 附件,你还可以试试 **知网国际站** : + [-\> 可下载硕博论文 PDF 附件的知网国际站](https://chn.oversea.cnki.net/) + (如果你在校外,可以先在前面提到的 **知网官方的校外访问** 登录进去,然后再来这里下载/抓取) +2. 如果你想在抓知网内容的时候 **合并中文作者的姓名** ,又或者希望 **指定在知网抓取时优先获取 CAJ 格式的附件还是 PDF 格式的附件** ,可以看这个仓库的说明: + [-\> \[Gitee\] Zotero translators 中文维护小组](https://gitee.com/l0o0/translators_CN) + 重点关注后面的 \[ **如何在 Zotero Connector 中添加中文姓名处理以及保留知网 CAJ 格式文件的设置** \] 部分。 +3. 如果你已经抓取了一些中文文献,文献库里现存姓名分开的条目,可以多选需要合并姓名的条目,借助 \[茉莉花/Jasminum\] 插件中的功能进行(批量)合并: + + +# 一些和特定站点相关的提醒 + +1. **知网:强烈不建议在搜索结果页面批量抓取文献** ,在这里抓也很可能不能顺带着自动下载附件。其他网站也不建议批量抓取,过高频率的访问(批量抓取的时候访问频率很高)可能会导致你被该网站封禁。知网如果抓取附件失败有很多种可能的原因。请先 **确保网站上直接下载附件时不会要求你输入验证码** ,然后再尝试能否成功抓取附件。如果不要求输入验证码了还不能抓,建议按照前面说的更新 translator。如果还不能,建议放弃。 +2. **谷歌学术:**基于与上一点同样的原因, **不建议在谷歌学术的检索结果页面批量抓取文献** 。过多的批量抓取可能导致你的 IP 被封。 +3. **万方** 最近似乎在抽风,可能也是网页有调整 translator 不好使了。万方的 translator 最近已经有更新了,你也可以更新之后再尝试。更新后目前已知万方的搜索结果页上的抓取还是会失败的,但是文献信息详情页的抓取应该已经基本正常了。 +4. **Pubmed** 遇到问题的人也很多,如果你也遇到问题了多担待着点。 +5. **豆瓣** 上抓取的信息目前会混入很多乱七八糟的代码,这恐怕是 translator 的问题。除非 translator 的作者更新新版本解决这一问题,或者你自己会开发 translator 帮忙解决这一问题,否则靠自己解决不了。对于图书类的信息抓取,可以改用: + [-\> 国家图书馆文津搜索](http://find.nlc.cn) +6. **维普** 好像是彻底不行了,换别的网站看看。 + +**其他方法** + +- 重启电脑 +- 换一个文献网站,如期刊官方主页上的论文详情页 +- 参见[导入 PDF 并自动生成条目](https://zotero.yuque.com/books/share/93bfca90-00d8-4228-8d3a-305863c70f50/fd5rx1) +- 参见[导入通用格式的引用信息](https://zotero.yuque.com/books/share/93bfca90-00d8-4228-8d3a-305863c70f50/kr3y09) diff --git "a/src/user-guide/faqs/\343\200\220\346\217\222\344\273\266\343\200\221\345\246\202\344\275\225\346\217\220\344\272\244\351\224\231\350\257\257\346\212\245\345\221\212.md" "b/src/user-guide/faqs/\343\200\220\346\217\222\344\273\266\343\200\221\345\246\202\344\275\225\346\217\220\344\272\244\351\224\231\350\257\257\346\212\245\345\221\212.md" new file mode 100644 index 00000000..b7b3104a --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\217\222\344\273\266\343\200\221\345\246\202\344\275\225\346\217\220\344\272\244\351\224\231\350\257\257\346\212\245\345\221\212.md" @@ -0,0 +1,5 @@ +--- +title: 【插件】如何提交错误报告 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- diff --git "a/src/user-guide/faqs/\343\200\220\346\217\222\344\273\266\343\200\221\346\217\222\344\273\266\345\256\211\350\243\205\344\270\216\346\233\264\346\226\260\347\233\270\345\205\263\351\227\256\351\242\230.md" "b/src/user-guide/faqs/\343\200\220\346\217\222\344\273\266\343\200\221\346\217\222\344\273\266\345\256\211\350\243\205\344\270\216\346\233\264\346\226\260\347\233\270\345\205\263\351\227\256\351\242\230.md" new file mode 100644 index 00000000..96f235e9 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\217\222\344\273\266\343\200\221\346\217\222\344\273\266\345\256\211\350\243\205\344\270\216\346\233\264\346\226\260\347\233\270\345\205\263\351\227\256\351\242\230.md" @@ -0,0 +1,35 @@ +--- +title: 【插件】插件安装与更新相关问题 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +关于插件的安装方法与常用插件介绍,请参见[插件与功能扩展](https://zotero.yuque.com/books/share/93bfca90-00d8-4228-8d3a-305863c70f50/addons)。 + +# 无法打开插件页面 + +**如果你能看到 \[插件/Add-ons\] 选项,点击这一按钮的时候却没反应:** 请先完全退出 Zotero(Windows 用户关闭窗口后可能需要再任务管理器中结束 Zotero 相关的进程,macOS 用户建议使用 Command+Q 快捷键完全退出),然后再重新尝试。如果退出重开后依然没有,请重启电脑,然后再尝试。这是 Zotero 的一个 Bug。 + +# 插件页面显示过大超出屏幕 + +**如果你能打开窗口,却发现窗口顶部捅破了天际,看不到上面的内容:** 请先把窗口左右方向拉窄,这样顶部就回自己跳出来了;然后再把上下方向拉矮,把窗口调整到合适的位置,一段时间之内应该就会都是正常的了。这大概也是 Zotero 的一个祖传 Bug。 + +# 插件安装包格式特殊 + +**如果你下载到的插件安装包格式比较特殊** (如 .zoteroplugin 文件或 .zip 文件),这些文件可能不能在手动安装的文件选择窗口中选中。对于这些特殊格式的安装包,你 **只需要把安装包文件拖至前文中提到的插件列表页即可安装** 。 + +# 插件安装提示无法安装插件“%S” + +**如果安装的时候提示** `无法安装插件“%S”……`: + +1. 请检查下载的插件格式。如果从 GitHub 下载,安装包在右侧的 Release 中的 xpi 文件。请不要下载源码。 + + + +2. 请检查插件安装包是否损坏。重新下载一遍。 + +# 插件检查更新时提示未找到更新 + +可能是确实没有更新,也可能是无法链接到 GitHub。请在插件镜像寻找你需要的安装包: + +即使你能够打开 GitHub 页面,也并不代表 Zotero 能够顺利下载到插件更新。这取决于网络情况。 diff --git "a/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\345\246\202\344\275\225\350\207\252\345\256\232\344\271\211\346\226\207\347\214\256\345\210\227\350\241\250\347\232\204\345\255\227\346\256\265.md" "b/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\345\246\202\344\275\225\350\207\252\345\256\232\344\271\211\346\226\207\347\214\256\345\210\227\350\241\250\347\232\204\345\255\227\346\256\265.md" new file mode 100644 index 00000000..2a78cbc7 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\345\246\202\344\275\225\350\207\252\345\256\232\344\271\211\346\226\207\347\214\256\345\210\227\350\241\250\347\232\204\345\255\227\346\256\265.md" @@ -0,0 +1,7 @@ +--- +title: 【文库】如何自定义文献列表的字段 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +在文献列表中,鼠标右键点击列表顶部的信息标题栏,然后按需开启需要显示的字段即可。 diff --git "a/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\347\247\273\351\231\244\346\235\241\347\233\256\344\270\216\345\210\240\351\231\244\346\235\241\347\233\256.md" "b/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\347\247\273\351\231\244\346\235\241\347\233\256\344\270\216\345\210\240\351\231\244\346\235\241\347\233\256.md" new file mode 100644 index 00000000..43ac6a44 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\347\247\273\351\231\244\346\235\241\347\233\256\344\270\216\345\210\240\351\231\244\346\235\241\347\233\256.md" @@ -0,0 +1,15 @@ +--- +title: 【文库】移除条目与删除条目 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +从分类中移除条目不影响其他分类,条目不会进入回收站,不会被删除,只是会从当前分类移除; + +如果一个条目不属于任何分类,将在未分类条目一栏显示。 + +要删除条目,请点击“删除条目”然后在回收站一栏彻底删除。 + +如果你的附件是以链接形式存储,彻底删除条目的同时不会从磁盘删除附件。 + + diff --git "a/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\351\207\215\345\221\275\345\220\215\351\231\204\344\273\266\357\274\210Zotero\350\207\252\345\270\246\357\274\211.md" "b/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\351\207\215\345\221\275\345\220\215\351\231\204\344\273\266\357\274\210Zotero\350\207\252\345\270\246\357\274\211.md" new file mode 100644 index 00000000..701222b3 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\346\226\207\345\272\223\343\200\221\351\207\215\345\221\275\345\220\215\351\231\204\344\273\266\357\274\210Zotero\350\207\252\345\270\246\357\274\211.md" @@ -0,0 +1,21 @@ +--- +title: 【文库】重命名附件(Zotero自带) +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +Zotero 6 及以上自带重命名附件功能,无需借助 ZotFile。 + +# 设置位置 + +编辑-首选项-常规-使用父类元数据自动重命名附件文件。开启即可。 + + + +# 设置重命名格式 + +见 + +Zotero 自动重命名从连接器(又称 translator 浏览器插件,见相关章节)保存的附件。 此字符串控制这些名称的格式。 %c 是创建者,%y 是年份,%t 是标题,每个部分周围的花括号表示“仅当内部指定的字段非空时才包含此部分”,{50} 表示“截断 50 个字符”。 您可以重新排列这些以满足您的需要。 + + diff --git "a/src/user-guide/faqs/\343\200\220\351\227\256\351\242\230\346\241\210\344\276\213\343\200\221\345\235\232\346\236\234\344\272\221\351\207\214\346\234\211\346\210\221\346\212\223\345\217\226\347\232\204pdf\357\274\214\350\200\214\344\270\224\346\230\257\346\214\211\347\205\247\346\234\237\345\210\212\345\271\264\344\273\275\345\210\206\347\261\273\345\245\275\347\232\204.md" "b/src/user-guide/faqs/\343\200\220\351\227\256\351\242\230\346\241\210\344\276\213\343\200\221\345\235\232\346\236\234\344\272\221\351\207\214\346\234\211\346\210\221\346\212\223\345\217\226\347\232\204pdf\357\274\214\350\200\214\344\270\224\346\230\257\346\214\211\347\205\247\346\234\237\345\210\212\345\271\264\344\273\275\345\210\206\347\261\273\345\245\275\347\232\204.md" new file mode 100644 index 00000000..d348df4b --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\351\227\256\351\242\230\346\241\210\344\276\213\343\200\221\345\235\232\346\236\234\344\272\221\351\207\214\346\234\211\346\210\221\346\212\223\345\217\226\347\232\204pdf\357\274\214\350\200\214\344\270\224\346\230\257\346\214\211\347\205\247\346\234\237\345\210\212\345\271\264\344\273\275\345\210\206\347\261\273\345\245\275\347\232\204.md" @@ -0,0 +1,89 @@ +--- +title: 【问题案例】坚果云里有我抓取的pdf,而且是按照期刊年份分类好的 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +## 0、总结 + +### (一)步骤 + +#### 统一用 Zotero 管理的格式,在不同步的情况下,备份一遍数据 + +#### 用 zotflie 管理的方式对于 pdf 重新管理,copy 一份重新管理的到其他位置,再切换同步方案回 zoteor 管理格式 + +### (二)缺点 + +#### 手动进行同步,切换有点麻烦,改换同步方案,坚果云流量 1g 可能不够用 + +### (三)优点 + +#### Zotero 管理格式,所有终端都可以一键同步,因为 ipad 以及安卓是没有插件的,ZotFile 管理格式不适用。坚果云每个月流量都会更新,不一定都要一下子全部切换回去,可以慢慢传 + +## 一、背景 + +### (一)之前是用 windows,在 E 盘新建了一个“Zotero 云端同步”的文件夹,文件夹里就是按照期刊年份这样分类好的。用坚果云进行同步 + +### (二)中途换了 mac,之前同步的文件夹好像没有在 mac 上同步,现在 Mac 上有一个 Zotero 文件夹,里面的 storage 文件夹里都是一些 + + + +## 二、问题分析 + +### 由描述所知 + +### (一)window 上是采用的 zotflie 的管理方式进行同步 + +### (二)mac 上采用的是 Zotero 自带的管理格式进行的同步 + +## 三、明确目的 + +#### 坚果云里有我抓取的 pdf,而且是按照期刊年份分类好的 + +#### 可以拆开进行依次解决 + +### (一)问题 1:抓取的 pdf,而且是按照期刊年份分类好的 + +### (二)问题 2:抓取的 pdf 进行第三方云盘的同步 + +## 四、解决问题 + +### (一)解决问题 1 + +#### 已知 ZotFile 插件可以实现在 Zotero 管理格式下,进行(抓取的 pdf,而且是按照期刊 年份分类好的),但是要注意的一点是关闭自动同步,以及备份好相应的数据 + +#### 1. 步骤一:采用 Zotero 自带的命名方式以 WebDAV 格式进行同步 + +##### 原因有三 + +###### 其一,以 Zotero 自带的命名方式,多终端(win,mac)可以无阻进行同步,在一些安装不了插件的终端### (比如 ipad,以及以后的安卓)也可以进行使用,且同步不需要多余的操作 + +###### 其二,(抓取的 pdf,而且是按照期刊 年份分类好的),虽然是 pdf 好看,看似有条理了,但是用 Zotero 软件里面就可以进行查看了,是一样的效果。而且还不影响你用 ZotFile 实现(抓取的 pdf,而且是按照期刊 年份分类好的),在不同步的情况下用 ZotFile 改一下管理方式就可以了 + +###### 其三,想要把笔记压在 pdf 本体上,会导致污染 pdf,而且也做不了多少笔记。再加上上从 chartro 作者那边得知,Zotero 笔记的大小上限是 500k,所以我们采用 better notes(最近大佬有一波大的更新,敬请期待)的方式,联合 obsidian 进行管理,是一个不错的解决方式 + +#### 2\. 步骤二:如何确定目前采用的是哪种同步方案 + +此处为语雀内容卡片,点击链接查看: + +#### 3\. 步骤三:windows 切换同步方案 + +此处为语雀内容卡片,点击链接查看: + +#### 4. 步骤四:windows 通过 WebDAV 同步(这里以坚果云举例子) + +此处为语雀内容卡片,点击链接查看: + +#### 5. 步骤五:widows 关闭同步,备份一遍数据。用 zotflie 管理的方式对于 pdf 重新管理,copy 一份重新管理的到其他位置,再切换同步方案回 zoteor 管理格式 + +#### 6. 步骤六:在 mac 上进行同步刷新 + +### (二)解决问题 2 + +#### 在(一)里面得到了 pdf 的文件夹,可以直接进行压缩,进行文件多端发送,也可以,放到坚果云上面同步 + +#### but,我咋觉得,这个问题的终极目的是采用,ZotFile 管理格式,win mac 都用这一管理格式,实现文献管理查看。我没有 mac 电脑,我虚拟机里面的 mac 密码给忘了,没有进行实验,这个得问一下[@winding](https://zotero.yuque.com/yuqueyonghuzbufdu) + +#### 不知道是不是下面这个,可以实现这个效果不,不过按照这个方法以后,ipad 和以后出得安卓就不能正常同步了。要进行取舍,至于发现更好得方法,以后再更新@ + +此处为语雀内容卡片,点击链接查看: diff --git "a/src/user-guide/faqs/\343\200\220\351\230\205\350\257\273\343\200\221\351\241\265\351\235\242\346\227\213\350\275\254\357\274\232zotero\347\234\213\346\226\207\347\214\256\345\244\252\344\271\205\344\272\206\351\242\210\346\244\216\347\226\274.md" "b/src/user-guide/faqs/\343\200\220\351\230\205\350\257\273\343\200\221\351\241\265\351\235\242\346\227\213\350\275\254\357\274\232zotero\347\234\213\346\226\207\347\214\256\345\244\252\344\271\205\344\272\206\351\242\210\346\244\216\347\226\274.md" new file mode 100644 index 00000000..255669a5 --- /dev/null +++ "b/src/user-guide/faqs/\343\200\220\351\230\205\350\257\273\343\200\221\351\241\265\351\235\242\346\227\213\350\275\254\357\274\232zotero\347\234\213\346\226\207\347\214\256\345\244\252\344\271\205\344\272\206\351\242\210\346\244\216\347\226\274.md" @@ -0,0 +1,19 @@ +--- +title: 【阅读】页面旋转:zotero看文献太久了颈椎疼 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +## 一、单面旋转 + +### 在显示缩略图里面右键 + + + +## 二、全部文档进行旋转(注:在 6.0.16 版本更新已经没有了) + +### 学习太久要注意休息哦,左转转右转转 + +### 在阅读界面,鼠标点到文献上,按快捷键 R 可以快速旋转 + + diff --git "a/src/user-guide/faqs/\345\234\250word\351\207\214\351\235\242\344\275\277\347\224\250zotero\344\270\200\344\272\233\345\245\207\345\245\207\346\200\252\346\200\252\347\232\204\351\227\256\351\242\230.md" "b/src/user-guide/faqs/\345\234\250word\351\207\214\351\235\242\344\275\277\347\224\250zotero\344\270\200\344\272\233\345\245\207\345\245\207\346\200\252\346\200\252\347\232\204\351\227\256\351\242\230.md" new file mode 100644 index 00000000..05f088c3 --- /dev/null +++ "b/src/user-guide/faqs/\345\234\250word\351\207\214\351\235\242\344\275\277\347\224\250zotero\344\270\200\344\272\233\345\245\207\345\245\207\346\200\252\346\200\252\347\232\204\351\227\256\351\242\230.md" @@ -0,0 +1,35 @@ +--- +title: 在word里面使用zotero一些奇奇怪怪的问题 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +在 Word 里面使用 Zotero 一些奇奇怪怪的问题 + +### 一、Word 的 Zotero 被禁用了怎么办 + +#### 以 Word 为例,点击程序左上角的【Office 按钮】 + +#### 选择如下图所示的【Word 选项】 + +#### 选择选项中的【加载项】 + +#### 在【加载项】的【管理】菜单中,可以选择如下图不同的加载项 + +#### 选择一个想设置的加载项,然后点击【转到】按钮 + +#### 接下来出现的界面里可以勾选或者取消某些加载项的复选框,然后点击【确定】按钮 + +#### 选择其中的【禁用项目】后可以启用被禁用的加载项内容 + +### 二、Zotero Word 插件在那个文件夹 + +#### C:\\Program Files (x86)\\Zotero\\extensions\\\\install + +### 三、Zotero 中文字处理软件加载不了 Word,应该怎么办? + +### 四、Word 里面的 Zotero 插件不能搜索文献,只能用经典视图选中文献怎么办 + +#### 重新禁用再启用一下 Word 插件,不行再重装 + +#### 估计设置的原因,可以新建一个 profile,或把 Word 启动项中的 Zotero.dotm 删除,重新添加,试试 diff --git "a/src/user-guide/faqs/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.md" "b/src/user-guide/faqs/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.md" new file mode 100644 index 00000000..623f029c --- /dev/null +++ "b/src/user-guide/faqs/\350\247\243\345\206\263pdf\345\233\276\347\211\207\344\270\212\347\232\204\351\273\221\350\211\262\351\201\256\346\214\241.md" @@ -0,0 +1,23 @@ +--- +title: 如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 +date: 2023-09-14 21:17:47 +updated: 2023-09-14 16:51:54 +--- + +# 如何解决 Zotero 中 pdf 文件图片上有黑色遮挡的问题 + +部分同学在使用 Zotero 官方阅读器阅读 pdf 的时候,可能会碰到图片出现黑色遮挡的情况。 + +![黑色遮挡](../../assets/image-zotero-黑色遮挡.png) + +根据 [Zotero 官方答复](https://forums.zotero.org/discussion/97306/black-shade-on-the-figures-when-opening-pdf-by-zotero-report-id-942401037) ,这个问题可能是由显卡不兼容导致,可以尝试通过更新显卡驱动来解决,或者通过修改 Zotero 设置,以降低部分图形性能为代价,解决这个问题。 + +具体操作步骤如下: + +1. 在菜单编辑选择“首选项”: + ![编辑器](../../assets/image-zotero-编辑器.png) +1. 弹出如下图所示的对话框。 + 点击“I accept the risk” + ![同意承担风险](../../assets/image-zotero-我同意承担风险.png) +1. 在搜索框中输入 acceleration,双击搜索到的 layers.acceleration.disabled,Value 将变为 true。然后重新启动 Zotero,即可解决问题。 + ![将 layers.acceleration.disabled 设置为 true](../../assets/image-zotero-layers.acceleration.disabled.png) diff --git a/src/user-guide/feed.md b/src/user-guide/feed.md new file mode 100644 index 00000000..203859e0 --- /dev/null +++ b/src/user-guide/feed.md @@ -0,0 +1,175 @@ +--- +title: Feed +icon: rss +author: + - name: 阿狸 +--- + +# Feed RSS + +Feed 是发现新研究的好方法。通过 Feed,您可以订阅来自期刊、网站、出版商、机构、研究小组或其他来源的更新,并快速查找新文章或作品。如果您在出版物的提要中找到想要保存并进一步阅读的项目,只需单击按钮即可将其添加到您的 Zotero 库中。 + +- 追踪期刊目录更新 +- 追踪数据库中某些【关键词】相关的文献更新情况 +- 订阅任意网站的内容更新,例如 b 站 up 主的视频更新... + +## Zotero 订阅设置 + +在 Zotero 主界面,左上角工具栏选择 ![群组icon](../assets/image-feed-1.png) - 新建订阅 - 从网址... + +![新建订阅](../assets/image-feed-2.png) + +之后会弹出以下窗口 + +![输入网址](../assets/image-feed-3.png) + +在网址栏填入订阅网址(如何获取请往下拉),Zotero 识别成功之后会自动填入标题(可以自己手动更改,**Zotero 不会根据期刊订阅先后给订阅的期刊排序,可以手动在期刊名前面加上 1234 或者字母来排序**)并且进行高级选项设置,保存之后即可在主界面左侧`订阅`处看到订阅的内容及更新。 + +![订阅条目列表](../assets/image-feed-5.png) + +### 订阅来源 + +**从网址订阅:**"从网址订阅"是最直接、最方便的添加 RSS 订阅的方式,只需要提供订阅源的链接即可,是我们用 Zotero 追踪期刊更新时最常用的方式,**以下涉及的实例也将基于此方式进行。** + +**OPML 订阅**:"来自 OPML"主要用于之前有使用其它 RSS 阅读器,从其它阅读器中导入已经订阅的内容至 Zotero 中,**一般用户很少涉及此方式,故不过多介绍。** + +### 高级选项 + +![高级选项](../assets/image-feed-6.png) + +【更新订阅每 N 小时】:即设定订阅间隔,每 N 个小时从订阅 URL 爬取期刊目录,加载在该【订阅】界面。如果 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,如果有内容更新,就会加载出现在 Zotero 订阅界面。 + +【删除**已读**提要题目于之后 N 天】:即点击了该条目查看右侧的条目详细信息(Zotero 会自动设置为"已读"状态)N 天后在期刊订阅界面删除该条目,如果不想删除已读条目,则将 N 设置为一个较大的数值,例如 1000000。 + +【删除**未读**提要条目于之后 N 天】:即该条目一直处于未点击查看该条目的具体信息,N 天后在期刊订阅界面删除该条目。如果不想删除未读条目,则将 N 设置为一个较大的数值,例如 1000000。 + +以上三项订阅参数的默认设置入口(Zotero7): + +Win:编辑 - 首选项 - 高级 - 订阅 + +Mac:Zotero - 首选项 - 高级 - 订阅 + +在此设置页面中,可以设置对订阅的条目按"最早条目在先" / "最新条目在先"的排序。 + +![订阅首选项](../assets/image-feed-7.png) + +### 从"订阅"添加文献条目到"我的文库"/"群组文库" + +Zotero 的订阅内容并不会保存在个人文库中,也不可以直接引用"订阅"中的条目,因此需要引用则需要将其添加到"我的文库"(也可以共享到群组文库) + +![添加到文库](../assets/image-feed-8.png) + +点开 Zotero 某一期刊/RSS 订阅内容,点击具体条目,看到右侧信息栏,点击![添加到文库icon](../assets/image-feed-9.png) 中的 ▽ 倒三角图标,选择你想要保存到的本地文库文件夹 📂/在线群组文件夹 📂,再点击"添加到 XXXX",即可从订阅中添加到自己的文献库/某个群组文库中(可以同时添加到若干个文库)。 + +### 订阅界面右键功能介绍 + +> 在订阅界面点击某个具体的订阅期刊,右键即可出现以下菜单选项 + +![订阅右键菜单](../assets/image-feed-10.png) + +> **更新订阅**:除了 Zotero 自动按照订阅某期刊时"高级选项"的更新选项去更新订阅外,手动更新订阅,如有最新内容则自动加载到右侧具体条目面板中 +> +> **标记订阅为已读**:Zotero 订阅界面中未读的期刊/具体文献条目将会**加粗**显示,点击该选项将会**设置该期刊所有内容为已读状态,取消加粗显示。** +> +> **编辑订阅**:回到"**2、高级选项**"中的设置界面,可以更改某一个期刊的高级选项,便于进行个性化订阅设置。 +> +> **退订订阅**:即从订阅面板删除该订阅期刊,会有确认取消窗口避免误删,请慎重选择! + +## 订阅网址(RSS 链接)获取 + +### 中文期刊订阅------以知网、万方数据库为例 + +#### 知网 + +进入 [知网期刊导航界面](https://navi.cnki.net/knavi/journals/index?uniplatform=NZKPT),在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【出版来源检索】> + +![知网搜索期刊](../assets/image-feed-11.png) + +在搜索结果界面,点击进入期刊页面 + +![知网搜索期刊](../assets/image-feed-12.png) + +在期刊主页左上角找到并点击【RSS 订阅】 + +![知网创建rss](../assets/image-feed-13.png) + +复制浏览器地址栏中的网址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。 + +![知网复制地址](../assets/image-feed-14.png) + +#### 万方数据库 + +进入[万方智搜](https://c.wanfangdata.com.cn/periodical)()界面,在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【搜期刊】 + +![万方搜期刊](../assets/image-feed-15.png) + +进入搜索结果界面点击期刊名称 + +![万方](../assets/image-feed-16.png) + +进入期刊主页后,找到页面中部的【feed 订阅】选项,点击【rss 订阅】 + +![万方](../assets/image-feed-17.png) + +跳转如下页面后,浏览器地址栏的网址即 RSS 订阅链接,复制浏览器地址栏中的网址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。 + +![万方](../assets/image-feed-18.png) + +### 英文期刊订阅 + +一般而言英文期刊/数据库都在期刊页面提供了 RSS 订阅选项,只需要找 RSS 图标![RSS图标](../assets/image-feed-19.png) ,即可获取订阅网址(RSS 地址) + +打开 Annual Review of Psychology 网页,找到右上角的 RSS feed ![RSS图标](../assets/image-feed-19.png) +符号,点击打开 + +![Annual Review of Psychology](../assets/image-feed-20.png) + +打开之后如下图示,复制浏览器地址栏的网址,即 RSS 地址,进入 Zotero,按照"一、Zotero 订阅设置"步骤填入并设置即可。 + +![复制链接](../assets/image-feed-21.png) + +### 关键词订阅(PubMed 为例) + +打开 [PubMed](https://pubmed.ncbi.nlm.nih.gov/) 官网,在搜索栏输入你想追踪的文献关键词,例如"heat wave",点击搜索 + +![PubMed](../assets/image-feed-22.png) + +如下图示,点击搜索框下面的"Create RSS",进入该关键词订阅的设置界面 + +![PubMed订阅](../assets/image-feed-23.png) + +在设置界面,修改为合适"Number of items displayed"(追踪的文献条目数量),点击"Create RSS",生成"RSS Feed link"后点击 copy,将其按照"一、Zotero 订阅设置"的方法填入 Zotero,即可订阅追踪该关键词的相关文献进展。 + +![PubMed 修改数量](../assets/image-feed-24.png) + +### 配合 RSSHub Radar 订阅任意网站内容 + +RSSHub Radar 是 [RSSHub](https://www.appinn.com/rssbud-with-rsshub-for-ios/) +的衍生项目,用来快速发现当前网页的 RSS 地址,如果支持 RSSHub 则显示 +RSSHub 地址,支持包括**Zotero**、 [Tiny Tiny RSS](https://www.appinn.com/tiny-tiny-rss/)、FreshRSS、Feedly、Inoreader 在内的 11 款阅读器一键订阅。 + +主要功能: + +- 快速发现和订阅当前页面自带的 RSS +- 快速发现和订阅当前页面支持的 RSSHub +- 快速发现当前网站支持的 RSSHub +- 支持一键订阅 RSS 到 Tiny Tiny + +RSS、Miniflux、FreshRSS、Feedly、Inoreader、Feedbin、The Old Reader、Feeds.Pub、本地阅读器一旦检测出 RSS 地址,RSSHub Radar 就会在角标上显示出数量。 + +RSSHub Radar 浏览器插件下载与安装(含教程):GitHub 主页、Gitee 镜像主页、RSSHub Radar 与 Zotero 联动。 + +![bili为例](../assets/image-feed-25.png) + +打开你想关注的 UP 主(以 sharestuff 为例),点击浏览器右上角的 RSSHub +Radar 插件图标 + +![RSSHUB订阅bili](../assets/image-feed-26.png) + +选择所需要订阅的内容,点击"复制",进入 Zotero 进行 URL 订阅即可。 + +## 订阅功能常见问题及解决方法(更新中) + +1、**填入网址后不能自动识别与保存的解决方法**:检查或更换网络,重启 Zotero 后第一时间进入订阅填入网址,能够自动识别并填充标题即可成功订阅;部分网址需要在科学网络的情况下才能识别成功,如遇外网期刊订阅无法保存时,需要保证自己的网络足够科学。 + +2、**订阅间隔设置不当导致的条目重复问题**:在 Zotero6 中该问题较为常见,尚未完美的解决方案,只能根据期刊更新周期设定订阅间隔。例如《社会学研究》为双月刊,建议从其发刊日时添加订阅,N 设定为 2X30X24 小时。某些 Zotero 版本,如果高级选项的【更新订阅每 N 小时】中 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,导致期刊【订阅】界面出现重复文献条目。 diff --git a/src/user-guide/group.md b/src/user-guide/group.md new file mode 100644 index 00000000..6532d926 --- /dev/null +++ b/src/user-guide/group.md @@ -0,0 +1,128 @@ +--- +title: 群组 +icon: group +author: + - name: Ali + - name: Northword +date: 2023-06-28 21:19:17 +updated: 2023-12-06 18:51:54 +--- + +# 群组 + +## 功能简介 + +- **课题组协作、小组合作**:文献条目及其附件(包括笔记注释)实时共享同步到群组成员的 Zotero 客户端(桌面端、移动端、网页端)。 +- **双向跨库分享文献条目**:“我的文库”可与“群组文库”中的文献条目(item)进行双向跨库复制/移动。 +- **Zotero 的移动端(暂仅支持 iOS)支持阅读、修改群组的文献条目**信息及其附件(笔记、全文 PDF 等) +- **不限制群组成员数量** +- **配合 Chartero 插件可以实时查看成员某文献条目的阅读时间** + +::: warning 群组依赖 Zotero 账号 + +群组的条目和附件同步均能且仅能通过 Zotero 官方同步服务同步,因此在使用群组功能前,你必须登录 Zotero 账户,如果你没有登录,请阅读 [同步](./sync.md#数据的同步) 小节完成账号注册和登录。 + +::: + +## 创建群组 + +有两种方式创建群组: + +1. 在 Zotero 客户端中点击如下按钮: + + ![创建群组](../assets/image-zotero-group-new-group.png) + +2. 在[Zotero 群组页面](https://www.zotero.org/groups) 点击 `Create a New Group` 按钮。 + +在打开的页面中,为群组输入一个名字,选择[群组的类型](#群组类型),并依次进行[群组设置](#群组设置),即可完成创建。 + +### 群组类型 + +群组有三类,分别是 `私有群组 (Private)`、`公开, 限定成员制群组 (Public, Closed Membership)` 和 `公开, 开放成员群组 (Private)` 三类,下表对比了三种群组类型的特点。 + +| 项 | 私有群组 | 公开,限定成员制 | 公开,开放成员 | +| ------------ | -------- | ---------------- | -------------- | +| 谁可以看到 | 仅成员 | 所有人 | 所有人 | +| 谁可以加入 | 邀请 | 邀请或申请 | 所有人 | +| 条目附件共享 | 支持 | 支持 | 不支持 | + +群组类型也可以之后可以在群组设置继续更改。 + +### 群组设置 + +群组设置页面主要有三个设置项,分别对应条目的读取、编辑、附件的编辑三类权限。 + +- 读取权限:谁可以看到该群组图书馆中的项目? + - Anyone on the internet 所有人 + - Any group member 仅所有群组成员 +- 编辑权限:谁可以在该组的库中添加、编辑和删除项目? + - Any group member 所有成员 + - Only group admins 仅群组管理员 +- 文件编辑权限:谁可以使用组中存储的文件?(公共开放组不能启用文件存储) + - Any group member 任何团体成员 + - Only group admins 仅群组管理员 + - No group file storage 无群组文件存储 + +关于群组成员、群组管理员等的设置,请见 [群组管理](#群组管理) 小节。 + +### 关于群组的附件 + +1. 一般用户默认会存储和分享群组空间只会占用创建者(即群主)的官方云存储空间(300M 免费)。 +2. 群组功能目前仅支持官方云储存空间进行同步附件(例如文献的 PDF、笔记等),因此创建“Private”/“Public Closed”群组类型的用户,建议使用 [WebDAV 方案进行“我的文献库”的同步](./sync.md#通过-webdav-同步附件),把 300M 免费空间留给群组内文献条目附件的同步。 +3. 如果 300M 空间用尽,可以进入 Zotero 官网,在右上角的 Upgrade Storage 中升级付费计划(需要国外 VISA 信用卡)。 +4. Zotero 群组的付费存储空间只需要群主付费,其他成员无需承担。 + +## 加入群组 + +### 1、官网群组搜索 🔍 + +适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。 + +在 [Zotero 官网群组搜索页面](https://www.zotero.org/search/type/group),可以通过群组的名称,搜索到目标群组。 + +![搜索群组](../assets/image-group-10.png) + +在接下来的搜索结果页面中点击目标群组名称,进入该群组的主页 + +![点击群组名称](../assets/image-group-11.png) + +在主页点击右侧的 Join,即可申请加入该群组。 + +![群组详情页面](../assets/image-group-12.png) + +- Public Open 的群组点击 `Join` 之后即可加入 +- Public Closed 需要等管理员或者群主通过申请才可以加入 + +Zotero 客户端重启之后即可在右侧"群组文库"看到所加入的群组。 + +### 2、群组链接 🔗 + +适用于 Public Closed、Public Open 两种类型的群组,所有人均可操作。 + +群组成员(群主、管理员、成员)进入 [Zotero 群组页面](https://www.zotero.org/groups/),点击群组名称,进入群组页面,浏览器地址栏的网址即为群组链接,可以分享给他人,他人打开即可申请加入(同上图)。 + +![群组页面链接](../assets/image-group-13.png) + +### 3、管理员邀请 ✉️ + +适用于所有群组,包括 Private、Public Closed、Public Open 三种类型,仅群主和管理员可以操作。 + +群组成员(群主、管理员、成员)进入 [Zotero 群组页面](https://www.zotero.org/groups/),点击群组名称下方的 `Members Settings` + +![members settings](../assets/image-group-14.png) + +跳转后点击页面左下角 `Send More Invitations` + +![发送邀请链接](../assets/image-group-15.png) + +在邀请成员界面的方框内,输入被邀请人的 Zotero 用户名或者注册 Zotero 时所用的电子邮箱。可以同时邀请多人(用英文逗号分隔即可),输入完成之后点击下方的 `Invite Members`,即可完成邀请。被邀请人注册 Zotero 时所用的邮箱将会受到邀请邮件,进入接受邀请即可。 + +![输入被邀请者用户名](../assets/image-group-16.png) + +## 群组管理 + +群组成员(群主、管理员)进入[Zotero 群组页面](https://www.zotero.org/groups/),点击群组名称下方的 `Manage Profile`,可以设置头像、名称、群组所属类别等信息,也可在此页面解散群组。 + +点击 `Manage Members` 可以管理成员,例如审批加群申请、新增成员、移除成员、改变成员权限等。 + +点击群组名进入群组详情页,右侧红色按钮 `leave` 可以退出群组,退出后需要重启 Zotero 客户端。 diff --git a/src/user-guide/import-from-other-software.md b/src/user-guide/import-from-other-software.md new file mode 100644 index 00000000..37abb38c --- /dev/null +++ b/src/user-guide/import-from-other-software.md @@ -0,0 +1,154 @@ +--- +author: + - name: 阿狸 +icon: copy +--- + +# 从其他软件导入条目 + +## 从 Endnote 导入 + +**1、复制要导出的文献到新库(New library)** + +注意:默认位置通常在**我的文档/Endnote.data**,此步骤使用于无法找到默认库的文件路径的用户,如能找到,请跳到**2、导出 Endnote 题录和附件**。 +打开 Endnote 软件,点击左上角工具栏【Referrence】=>【Copy Reference To】=>【New Library...】 + +![Endnote菜单](../assets/endnote-menu.png) + +如下图示,在弹出来的文件浏览器页面选择一个容易找到的文件夹(以桌面为例,图中步骤 ①),接着自定义库的名称(后续导入 Zotero 内成为一个新文件夹默认使用该名称,图中步骤 ② 以**test**为例),点击【Save】 + +![Endnote输出目录](../assets/endnote-save.png) + +Endnote 内打开保存的新库,点击左上角工具栏【File】=>【Export】 + +![Endnote导出](../assets/endnote-export.png) + +**2、导出 Endnote 题录和附件** + +如下图所示,在弹出的窗口选择**1、复制要导出的文献到新库**中所保存的新库目录(也可以找到默认目录,该目录下包含“PDF”、“sdb”),但请不要选择“PDF”/“sdb”这两个子目录!!! +图中 ② 处请选择 XML 格式,然后点击保存,test.data 文件夹下将会出现一个后缀名为 xml 的文件。 + +![Endnote XML](../assets/endnote-xml.png) + +![Endnote 选择XML格式](../assets/endnote-toxml.png) + +**3、导入 Zotero** + +打开 Zotero,在左上角工具栏选择【文件】=>【导入...】 + +![Zotero 菜单](../assets/endnote-zotero-import.png) + +如下图示,在弹出的 import 窗口界面选择【A file(BibTex,RIS,Zotero RDF,etc.)】,点击继续 + +![Zotero导入选项](../assets/endnote-zotero-import-option.png) + +在弹出的文件浏览器界面选择步骤**2、导出 Endnote 题录和附件**中保存的 xml 文件,点击【Open】 + +![选择文件](../assets/endnote-xml-open.png) + +在弹出的 import 界面中如下图选择以下两个选项,将导入的题录单独放在一个文件夹,然后将条目的 PDF 附件也导入到 Zotero 的存储文件夹中,便于 Zotero 同步(否则只是存储文件链接,在其他设备打不开附件),最后点击【继续】。 + +![Zotero导入向导第二步](../assets/endnote-zotero-import-option2.png) + +如下图所示,Endnote 的题录和附件则导入成功。 + +![Zotero 导入完成](../assets/endnote-zotero-succ.png) + +请注意,如下图示,如果 Zotero 在 EndNote XML 数据中遇到它不支持的任何字段(例如,自定义字段、作者地址、作者隶属关系),它会将这些数据添加到附加到导入项目的注释笔记中。这些注释将标记为“\_EndnoteXML 导入”。如果导入增加了许多这些注释笔记,Zotero 的性能可能会受到负面影响。您应该查看其中每个注释,以确定是否需要保留数据并删除任何不必要的注释笔记。此外,还应检查这些注释笔记,以确定是否可以将任何数据迁移到正确的 Zotero 字段(如果以非标准方式使用 EndNote 字段,这一点尤其重要)。 + +![Zotero导入非标字段](../assets/endnote-zotero-caution.png) + +## 从 Microsoft Word 导入 + +**1、下载 bibtex.xsl 文件** + +下载地址: + +**2、Word 软件添加 bibtex 样式** + +目录如下(详细步骤以 Mac 为例) + +Mac 目录: + +`/Applications/Microsoft Word.app/Contents/Resources/Style` + +Windows 目录 + +Word 2010 for Windows: + +`C:\Program Files\Microsoft Office\\Bibliography\Style` + +Word 2016/2019/Office 365 for Windows: + +`C:\Users\\AppData\Roaming\Microsoft\Bibliography\Style` + +打开访达,左上角工具栏点击【前往】=>【前往文件夹】 + +![Word 导出](../assets/word-export-folder.png) + +在弹出的窗口粘贴上面提到的 Mac 路径,按 Enter 键 + +![选择路径](../assets/word-finder-path.png) + +将下载好的 bibtex.xsl 文件复制到该文件夹下。 + +![复制bib](../assets/word-copy-bib.png) + +**3、Word 引文导出** + +打开 Word 文件,如下图中 ① 所示,在选项卡中点击【引用】,紧接着点击图中 ② 所示,切换引文格式 + +![Word切换引文格式](../assets/word-export-reference.png) + +选择“Bibtex Export” + +![选择bibtex export](../assets/word-export-reference-format.png) + +即可看到文末参考文献列表的引文格式发生了变化,复制下图所示区域的代码到剪切板。 + +![复制代码](../assets/word-export-reference-copy.png) + +**4、导入 Zotero** + +打开 Zotero,在“我的文库”中选择(或新建后选中)一个文件夹,用于存放要导入的文献条目,在左上角工具栏点击【文件】=>【从剪切板导入】 + +![导入Zotero菜单](../assets/word-zotero-import.png) + +即可如下图所示,成功导入 Word 文档中引用的文献。 + +![导入完成](../assets/word-zotero-succ.png) + +## 其他工具软件 + +详细信息请见官方链接:[https://www.zotero.org/support/moving_to_zotero](https://www.zotero.org/support/moving_to_zotero)。 + +- Mendeley: +- Citavi: +- Plain text reference lists: +- Bib(La)TeX: +- JabRef: + +## Zotero 支持导入的文件格式 + +- Zotero RDF +- CSL JSON +- BibTeX +- BibLaTeX +- RIS(Can be convenient for quick edits between export & import because of its simple structure) +- Bibliontology RDF +- MODS (Metadata Object Description Schema) +- Endnote XML(Best format for exporting from Endnote) +- Citavi XML(Best format for exporting from Citavi) +- MAB2 +- MARC +- MARCXML +- MEDLINE/nbib +- OVID Tagged(使用教程参考 +- PubMed XML +- RefWorks Tagged(Best format for exporting from RefWorks) +- Web of Science Tagged +- Refer/BibIX(Generally avoid if any other option is available) +- XML ContextObject +- Unqualified Dublin Core RDF + +您还可以通过支持【导出上述文件格式的网站或软件】中导入题录到 Zotero,例如 Reference Manager、RefWorks、Papers、Google Scholar Library、ReadCube 等,方法是下载好以上的标准化的参考格式文件,例如 RIS、BibTeX 或 CSL JSON,然后通过单击“文件”→“导入...”导入 Zotero,然后选择“文件”,即可导入 Zotero。 diff --git a/src/user-guide/install.md b/src/user-guide/install.md new file mode 100644 index 00000000..7e96b543 --- /dev/null +++ b/src/user-guide/install.md @@ -0,0 +1,57 @@ +--- +title: 安装 +# order: 2 +icon: install +date: 2023-04-19 22:27:07 +updated: 2023-07-20 16:51:54 +--- + +# 安装 + +## 主程序(PC) + +请在 [Zotero 官网 (https://zotero.org)](https://zotero.org) 下载对应自己操作系统的安装包。 + +![image.png](../assets/image-下载Zotero.png) + +## 浏览器插件 Zotero Connector + +Zotero 相较于其他文献管理软件的一大优势就是可以直接从网页中抓取元数据并存入数据库,这个过程通过浏览器插件 Zotero Connector 实现。 + +请在主程序安装完成后,打开常用的浏览器,点击上图右侧的 Install Connector 按钮下载。 + +支持常用浏览器:Chrome(谷歌浏览器),Firefox(火狐浏览器),Edge(微软自带浏览器),Safari(macOS 自带浏览器)。 + +::: tip + +💡 Tips + +由于 Google Chrome Store 在国内无法正常访问,所以如果没有科学上网的手段,建议在国内使用 Microsoft Edge 作为替代品。MS Edge 目前也基于 Chromium 项目,与 Chrome 具备几乎相同的网络兼容性,且可以享受在国内完全可用的同步与扩展服务。 + +如果你使用谷歌浏览器且无法打开插件下载页面,可在其他镜像站下载。例如: + +- [https://www.crxsoso.com/webstore/detail/ekhagklcjbdpajgpjgmbionohlpdbjgc](https://www.crxsoso.com/webstore/detail/ekhagklcjbdpajgpjgmbionohlpdbjgc) + +::: + +下载安装完毕后,在浏览器右上角可看到插件图标(![icon-connector-document.png](../assets/icon-connector-document.png)或![image.png](../assets/icon-connertor-zotero.png))。此时,浏览器插件已经安装成功了。 + +当你打开一个可抓取文献的网页时,插件图标会显示为![icon-connector-document.png](../assets/icon-connector-document.png),![image.png](../assets/icon-connertor-zotero.png)或![image.png](../assets/icon-connertor-zotero.png)等。稍后当我们设置完成,点击插件图标即可抓取文献。具体使用方法将在 [将条目添加进文献库](https://zotero.yuque.com/staff-gkhviy/zotero/lx3yts?view=doc_embed) 小节中展开。 + +## 其他平台客户端 + +### iOS + +Zotero 官方目前已开发有 iOS 客户端,在 App store 搜索下载 Zotero 即可。 + +::: warning + +⚠️ 要使用 iOS 客户端,需要使用官方同步或 WebDAV 同步二者之一,才能顺利同步附件。其他使用 ZotFile 等链接文件的同步方式不支持,未来也不会支持。 + +::: + +### Android + +Zotero 官方尚未开发 Android 客户端,但官方已在招聘 Android 开发工程师。目前 Android 用户可使用以下第三方客户端: + +- Zoo for Zotero:[https://play.google.com/store/apps/details?id=com.mickstarify.zooforzotero](https://play.google.com/store/apps/details?id=com.mickstarify.zooforzotero) (或网上搜索安装包下载) diff --git a/src/user-guide/misc/README.md b/src/user-guide/misc/README.md new file mode 100644 index 00000000..1c6730e0 --- /dev/null +++ b/src/user-guide/misc/README.md @@ -0,0 +1,7 @@ +--- +title: 其他 +# order: 5 +index: false +date: 2023-06-28 21:45:15 +updated: 2023-07-20 16:51:54 +--- diff --git "a/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/Rsshub \345\234\250docker\344\270\212\346\200\216\344\271\210\351\205\215\347\275\256.md" "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/Rsshub \345\234\250docker\344\270\212\346\200\216\344\271\210\351\205\215\347\275\256.md" new file mode 100644 index 00000000..1f7e3d11 --- /dev/null +++ "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/Rsshub \345\234\250docker\344\270\212\346\200\216\344\271\210\351\205\215\347\275\256.md" @@ -0,0 +1,7 @@ +--- +title: Rsshub 在docker上怎么配置 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +Rsshub 在 docker 上怎么配置 diff --git "a/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/docker\345\274\200\345\220\257\351\201\207\345\210\260\347\232\204\344\270\200\344\272\233bug.md" "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/docker\345\274\200\345\220\257\351\201\207\345\210\260\347\232\204\344\270\200\344\272\233bug.md" new file mode 100644 index 00000000..0b0b63a6 --- /dev/null +++ "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/docker\345\274\200\345\220\257\351\201\207\345\210\260\347\232\204\344\270\200\344\272\233bug.md" @@ -0,0 +1,7 @@ +--- +title: docker开启遇到的一些bug +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +docker 开启遇到的一些 bug diff --git "a/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/windows\347\224\265\350\204\221\346\200\216\344\271\210\345\274\200\345\220\257\350\231\232\346\213\237\345\214\226.md" "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/windows\347\224\265\350\204\221\346\200\216\344\271\210\345\274\200\345\220\257\350\231\232\346\213\237\345\214\226.md" new file mode 100644 index 00000000..bb77dc8f --- /dev/null +++ "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/windows\347\224\265\350\204\221\346\200\216\344\271\210\345\274\200\345\220\257\350\231\232\346\213\237\345\214\226.md" @@ -0,0 +1,7 @@ +--- +title: windows电脑怎么开启虚拟化 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +windows 电脑怎么开启虚拟化 diff --git "a/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/\345\257\271\344\272\216Rsshub\347\232\204\350\241\245\345\205\205\350\257\264\346\230\216.md" "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/\345\257\271\344\272\216Rsshub\347\232\204\350\241\245\345\205\205\350\257\264\346\230\216.md" new file mode 100644 index 00000000..e961e699 --- /dev/null +++ "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/\345\257\271\344\272\216Rsshub\347\232\204\350\241\245\345\205\205\350\257\264\346\230\216.md" @@ -0,0 +1,19 @@ +--- +title: 对于Rsshub的补充说明 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +对于 Rsshub 的补充说明 + + + + + +这个好像有一键部署,不过最近 Heroku 收费了,enm,还需要研究研究一下 Docker 镜像 + +rsshub 那个页面好像改版了,之前一键部署的没了,我再去找找 + +可以补充一下啊 docker 的一些东西,docker 比较好一点,我有点想把 heroku 给关了,heroku 对于国内用户使用不太好,而 docker 就算没有内网穿透也还是可以直接进行信息信息的整合,不过 docker 配置还是有点门槛吧,写一点东西吧 + +最近看到简悦有些 ng 的一篇文章,我想能不能把我的 ipad 上的 reede 5 给利用起来了 diff --git "a/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/\346\200\216\344\271\210\345\256\211\350\243\205\345\215\207\347\272\247\345\210\260wsl2\357\274\237.md" "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/\346\200\216\344\271\210\345\256\211\350\243\205\345\215\207\347\272\247\345\210\260wsl2\357\274\237.md" new file mode 100644 index 00000000..a17c6377 --- /dev/null +++ "b/src/user-guide/misc/Rsshub docker\351\205\215\347\275\256\357\274\210\345\206\205\347\275\221\347\251\277\351\200\217\350\277\230\346\262\241\346\234\211\346\266\211\345\217\212\357\274\211/\346\200\216\344\271\210\345\256\211\350\243\205\345\215\207\347\272\247\345\210\260wsl2\357\274\237.md" @@ -0,0 +1,7 @@ +--- +title: 怎么安装升级到wsl2? +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +怎么安装升级到 wsl2? diff --git a/src/user-guide/misc/link-citation-to-bibliography.md b/src/user-guide/misc/link-citation-to-bibliography.md new file mode 100644 index 00000000..69464f71 --- /dev/null +++ b/src/user-guide/misc/link-citation-to-bibliography.md @@ -0,0 +1,250 @@ +--- +date: 2022-07-29 20:23:17 +author: + - name: Northword + url: https://northword.dev +updated: 2023-10-04 11:59:36 +title: 在 Word 中把引注链接到参考文献表 +--- + +# 在 Word 中把引注链接到参考文献表 + +## 描述 + +建立引注(citation)与参考文献表(bibliography)之间的单向超链接(引用 -> 参考书目),类似于 endnotes 的“Link in-text citations to references in the bibliography”: + +![EndNote 中关于链接引注和参考文献表的选项](../../assets/image-endnote-link-citation-to-bib.png) + +Zotero 官方不提供该功能,这是因为 Zotero 使用的 CSL 处理器将 citation 渲染为一个 filed,无法添加超链接 [^1]。 + +从 Zotero 论坛发现了通过 Word 宏实现的功能 [^2],虽有一些缺陷,但基本可以达成需求。 + +## 配置及使用 + +在 Word 里新建一个宏,添加宏代码如下: + +```vbnet +Public Sub ZoteroLinkCitation() + +' get selected area (if applicable) + Dim nStart&, nEnd& + nStart = Selection.Start + nEnd = Selection.End + +' toggle screen updating + Application.ScreenUpdating = False + +' define variables + Dim title As String + Dim titleAnchor As String + Dim style As String + Dim fieldCode As String + Dim numOrYear As String + Dim pos&, n1&, n2&, n3& + + ActiveWindow.View.ShowFieldCodes = True + Selection.Find.ClearFormatting + +' find the Zotero bibliography + With Selection.Find + .Text = "^d ADDIN ZOTERO_BIBL" + .Replacement.Text = "" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute + + ' add bookmark for the Zotero bibliography + With ActiveDocument.Bookmarks + .Add Range:=Selection.Range, Name:="Zotero_Bibliography" + .DefaultSorting = wdSortByName + .ShowHidden = True + End With + + ' loop through each field in the document + For Each aField In ActiveDocument.Fields + ' check if the field is a Zotero in-text reference + '################################################## + If InStr(aField.Code, "ADDIN ZOTERO_ITEM") > 0 Then + fieldCode = aField.Code + '############# + ' Prepare + ' Plain citation== Format of Textfield shown + ' must be in Brackets + Dim plain_Cit As String + plCitStrBeg = """plainCitation"":""[" + plCitStrEnd = "]""" + n1 = InStr(fieldCode, plCitStrBeg) + n1 = n1 + Len(plCitStrBeg) + n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), plCitStrEnd) - 1 + n1 + plain_Cit = Mid$(fieldCode, n1 - 1, n2 - n1 + 2) + 'Reference 'as shown' in word as a string + + 'Title array in fieldCode (all referenced Titles within this field) + Dim array_RefTitle(32) As String + i = 0 + Do While InStr(fieldCode, """title"":""") > 0 + n1 = InStr(fieldCode, """title"":""") + Len("""title"":""") + n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), """,""") - 1 + n1 + If n2 < n1 Then 'Exception the type 'Article' + n2 = InStr(Mid(fieldCode, n1, Len(fieldCode) - n1), "}") - 1 + n1 - 1 + End If + array_RefTitle(i) = Mid(fieldCode, n1, n2 - n1) + fieldCode = Mid(fieldCode, n2 + 1, Len(fieldCode) - n2 - 1) + i = i + 1 + Loop + Titles_in_Cit = i + + 'Number array with References shown in PlainCit + 'Numer is equal or less than Titels, depending on the type + '[3], [8]-[10]; [2]-[4]; [2], [4], [5] + ' All citations have to be in Brackets each! [3], [8] not [3, 8] + ' This doesnt work otherwise! + ' --> treatment of other delimiters could be implemented here + Dim RefNumber(32) As String + i = 0 + Do While (InStr(plain_Cit, "]") Or InStr(plain_Cit, "[")) > 0 + n1 = InStr(plain_Cit, "[") + n2 = InStr(plain_Cit, "]") + RefNumber(i) = Mid(plain_Cit, n1 + 1, n2 - (n1 + 1)) + plain_Cit = Mid(plain_Cit, n2 + 1, Len(plain_Cit) - (n2 + 1) + 1) + i = i + 1 + Loop + Refs_in_Cit = i + 'treat only the shown references (skip the rest) + '[3], [8]-[10] --> skip [9] + 'Order of titles given from fieldcode, not checked! + If Titles_in_Cit > Refs_in_Cit Then + array_RefTitle(Refs_in_Cit - 1) = array_RefTitle(Titles_in_Cit - 1) + i = 1 + Do While Refs_in_Cit + i <= Titles_in_Cit + array_RefTitle(Refs_in_Cit + i - 1) = "" + i = i + 1 + Loop + End If + + '############# + 'Make the links + For Refs = 0 To Refs_in_Cit - 1 Step 1 + title = array_RefTitle(Refs) + array_RefTitle(Refs) = "" + ' make title a valid bookmark name + titleAnchor = title + titleAnchor = MakeValidBMName(titleAnchor) + + ActiveWindow.View.ShowFieldCodes = False + Selection.GoTo What:=wdGoToBookmark, Name:="Zotero_Bibliography" + + '' locate the corresponding reference in the bibliography + '' by searching for its title + Selection.Find.ClearFormatting + With Selection.Find + .Text = Left(title, 255) + .Replacement.Text = "" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute + + ' select the whole caption (for mouseover tooltip) + Selection.MoveStartUntil ("["), Count:=wdBackward + Selection.MoveEndUntil (vbBack) + lnkcap = "[" & Selection.Text + lnkcap = Left(lnkcap, 70) + + ' add bookmark for the reference within the bibliography + Selection.Shrink + With ActiveDocument.Bookmarks + .Add Range:=Selection.Range, Name:=titleAnchor + .DefaultSorting = wdSortByName + .ShowHidden = True + End With + + ' jump back to the field + aField.Select + ' find and select the numeric part of the field which will become the hyperlink + Selection.Find.ClearFormatting + With Selection.Find + .Text = RefNumber(Refs) + .Replacement.Text = "" + .Forward = True + .Wrap = wdFindContinue + .Format = False + .MatchCase = False + .MatchWholeWord = False + .MatchWildcards = False + .MatchSoundsLike = False + .MatchAllWordForms = False + End With + Selection.Find.Execute + + numOrYear = Selection.Range.Text & "" + + ' store current style + style = Selection.style + ' Generate the Hyperlink -->Forward! + ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:="", SubAddress:=titleAnchor, ScreenTip:=lnkcap, TextToDisplay:="" & numOrYear + ' reset the style + Selection.style = style + + ' comment if you want standard link style + aField.Select + With Selection.Font + .Underline = wdUnderlineNone + .ColorIndex = wdBlack + End With + + Next Refs 'References in Cit + + End If 'If Zotero-Field + '######################### + + Next aField ' next field + + ' go back to original range selected + ActiveWindow.View.ShowFieldCodes = False + ActiveDocument.Range(nStart, nEnd).Select + + End Sub + Function MakeValidBMName(strIn As String) + Dim pFirstChr As String + Dim i As Long + Dim tempStr As String + strIn = Trim(strIn) + pFirstChr = Left(strIn, 1) + If Not pFirstChr Like "[A-Za-z]" Then + strIn = "A_" & strIn + End If + For i = 1 To Len(strIn) + Select Case Asc(Mid$(strIn, i, 1)) + Case 49 To 57, 65 To 90, 97 To 122 + tempStr = tempStr & Mid$(strIn, i, 1) + Case Else + tempStr = tempStr & "_" + End Select + Next i + tempStr = Replace(tempStr, " ", " ") + MakeValidBMName = Left(tempStr, 40) + End Function +``` + +## 缺陷和注意事项 + +- 手动更新引注时会出现引注已被修改的弹窗 +- 无法实现从参考文献表跳转到引注 +- 同时引用多个引注时只能链接最后一个。 + +[^1]: 来源添加 +[^2]: [Word: Possibility to link references and bibliography in a document? -  Zotero Forums](https://forums.zotero.org/discussion/comment/324312/#Comment_324312) diff --git a/src/user-guide/misc/wps-plugin-vba.md b/src/user-guide/misc/wps-plugin-vba.md new file mode 100644 index 00000000..7844a764 --- /dev/null +++ b/src/user-guide/misc/wps-plugin-vba.md @@ -0,0 +1,264 @@ +--- +title: 通过 VBA 在 WPS 中使用 Word 插件 +author: + - name: winding + - name: 不秃燃的小老弟 +date: 2022-11-08 11:38:09 +updated: 2023-10-04 12:06:44 +--- + +# 通过 VBA 在 WPS 中使用 Word 插件 + +## 前言(很重要哦!) + +:::info + +**Zotero Word 插件在 WPS 的使用操作与 Office Word 类似,因此不再展开说明,点击下方蓝字可查看 📝**[**在 Word 中插入引文**](../ms-word-plugin.md) + +::: + +> **🔊🔊🔊 必看!!!**:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击**Add/Edit Citation 等这 6 个按钮**,尤其是一定要多次点击**Refresh**和**Unlink Citations**按钮,检查是否正常使用!!!(无法正常使用请见本文档 **四、Refresh/Unlink Citations 莫名失效**) + +:::warning + +**以下是 WPS 的 Zotero Word 加载项的常见问题及解决方法,均以 Window 系统为例演示 📝:** + +::: + +## 一、没有显示 Zotero 加载项 + +![image.png](../../assets/image-wps-没有显示加载项.png) + +:::info + +如上图所示,WPS 的文档界面不显示 Zotero 加载项。**解决办法如下**: + +::: + +### 1、检查 Microsoft Word 加载项 + +检查 Zotero 是否已正常安装好**Microsoft Word 加载项**。安装此加载项的步骤,详见 Zotero 百科全书的 [【引文|插件】Word 加载项相关问题](../faqs/word-addon.md)(点击左侧蓝字自查) + +![重新安装 Word 插件](../../assets/image-settings-reinstalll-word-plugin.png) + +### 2、WPS.VBA 插件的安装 + +若 WPS 为**个人版**,需额外安装 [**VBA 插件**](https://pan.baidu.com/s/1y-cjisA6Lxbnw3r3g_jmKA?pwd=moyu)(点击左侧蓝字获取插件) + +:::warning + +WPS 专业版等版本一般已自带 VBA 宏功能,Zotero 加载项如有使用问题,也可选择安装 VBA 插件。 + +::: + +1)将 WPS.VBA 安装程序**下载并保存**到电脑,确保 WPS 程序是 **未运行**状态。 + +![image.png](../../assets/fb54e92ec7ed8c0a631028f76695a78a_MD5.png) + +2)**双击**打开 WPS. VBA 安装程序,依次单击【**Next**】,最后单击【**Finish**】。用 WPS 打开任意一个 Word 文档,检查是否正常显示 Zotero 加载项。 + +![image.png](../../assets/f30e9f8627698b66e84c9bdc9a595663_MD5.png) + +:::warning + +若 WPS. VBA 安装后,仍未显示 Zotero 加载项,或需将【**宏安全性**】设成低(但不建议)。除此外可见下方**3、补充 Zotero. dotm 文件** + +::: + +### 3、补充 Zotero.dotm 文件 + +1)在 Zotero 图标处**右键单击**,单击【**打开文件所在的位置**】打开 Zotero 安装路径 + +![image.png](../../assets/e2f9f84e616a8113ce86de71f95e6764_MD5.png) + +2)依次双击打开【**extensions**】-【**】-【install**】文件夹,复制 **Zotero.dotm** 文件。 + +![image.png](../../assets/8addbd81b3d85f5501f1a58020ab3191_MD5.png) + +![image.png](../../assets/67c928f040091835a073775ea418ff4c_MD5.png) + +:::warning + +如果上图文件夹位置没有 Zotero.dotm,可点击右侧蓝字获取 [**Zotero.dotm**](https://pan.baidu.com/s/1EMfR5KRi8Mxxn9Wa7UR7Ag?pwd=moyu) + +::: + +3)在 WPS 图标处**右键单击**,单击【**打开文件所在的位置**】打开 WPS 安装路径。 + +![image.png](../../assets/1e7deb7a378eadbeda2d05f2ed6408ca_MD5.png) + +:::warning + +以上前提是确保 WPS 已关闭,不在运行中!!! + +::: + +4)找到并打开**版本最新**的文件夹(即**数字最大**),再依次打开【**office6**】-【**startup**】 + +![image.png](../../assets/2a4390faa87ca714c9264b8f3bae4b64_MD5.png) + +![image.png](../../assets/6dd98ac109ac059509e72720c885e733_MD5.png) + +5)在 WPS 的【**startup**】启动项文件夹内,粘贴 **Zotero.dotm** 文件。再次用 WPS 打开任一 Word 文档,检查 WPS 是否已显示 Zotero 加载项。 + +![image.png](../../assets/50a0fa1a34f38c62dcbd4cc31b579087_MD5.png) + +## 二、Zotero 加载项出现弹窗报错 + +![image.png](../../assets/b8282b0cdce33505057400c176ea2cc5_MD5.png) + +:::info + +如上图所示,在 WPS 使用 Zotero 加载项的各个按钮时,会出现弹窗警告。**解决方法如下**: + +::: + +### 1、解决方法一 + +新建一个 Word 文档,先用 **Office**打开此文档,用 Zotero 加载项 **插入一篇文献**后,保存此文档即可。 + +![image.png](../../assets/83ee28582510c7573aceb4284b3c4ac0_MD5.png) + +:::warning + +设置较简单,仅适用于**同时安装 Office 和 WPS**。以后再使用时,可能还会报错。 + +如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的**前后或内部** + +解决方法:将光标定位在远离上述位置如正文文字处 + +::: + +### 2、解决方法二 + +1)单击【**开发者工具**】-【**加载项**】,弹出的对话框单击【**选用**】。 + +![image.png](../../assets/a24bbdd6425f0d2aea3a7f34a0989386_MD5.png) + +:::warning + +设置较复杂,适用于 **同时装有 Office 和 WPS**或 **只装有 WPS** + +::: + +:::warning + +若【**开发工具**】选项卡的内容为灰色,即无法点击操作。 + +**解决方法**:安装 WPS. VBA 插件(详见本文档 **WPS. VBA 插件的安装**) + +或需升级更新 WPS 版本,以及可能需要安装使用 WPS 专业版等版本。 + +::: + +2)弹出对话框,双击进入上方地址栏并复制**地址**,或地址栏处右键单击,再单击【**将地址复制为文本**】。复制好地址后,即可关闭当前窗口。 + +![image.png](../../assets/81ab37e57b20cd4223c7e3b4c42f0232_MD5.png) + +3)单击【**文件**】选项卡,再单击【**打开**】。将 **地址** 粘贴至【**文件名**】,【**文件类型**】选择 **所有文件**,然后单击【**打开**】。 + +![image.png](../../assets/6b8137561c99a0795bdcb48f57fab85e_MD5.png) + +![image.png](../../assets/d8772b1c75f067c9322b337c5b6fe717_MD5.png) + +4)选中 **Normal.dotm** 文件,单击【**打开**】,随之打开名为 **Normal.dotm** 文档。 + +![image.png](../../assets/4de80b5cd85863024d63689cdf806721_MD5.png) + +5)在 **Normal.dotm** 文档内,依次单击【**文件**】-【**文档加密**】-【**属性**】 + +![image.png](../../assets/5ff7f644bdf93f26d18e48f2f0ee3c43_MD5.png) + +6)在 **Normal.dotm** 属性对话框,切换到【**自定义**】窗口,【**名称**】和【**取值**】分别输入 **ZOTERO_PREF_1** 和 **1** ,点击【**添加**】。同理,再添加上 **ZOTERO_PREF_2** 和 **1** ,最后点击【**确定**】。 + +![image.png](../../assets/fcbe2e6cdb021edcad348da71e947a2a_MD5.png) + +这一步完成的效果如下: + +![image.png](../../assets/a2f3237d76883f049b272f29abdf0c51_MD5.png) + +7)左上角单击【**保存**】图标或快捷键 **Ctrl+S** 保存 **Normal.dotm** 文档。重新用 WPS 打开一个 Word 文档检查是否不再出现报错窗口。 + +![image.png](../../assets/8a33ca40095a62ad5b3c6857dc6add55_MD5.png) + +:::warning + +如仍报错:可能是将光标置于插入引文 Citaion 和参考文献 References 位置的**前后或内部** + +解决方法:将光标定位在远离上述位置如正文文字处 + +::: + +## **三、Refresh/Unlink Citations 问号图标** + +![image.png](../../assets/d566856af09a69bd03db196b1e3744cf_MD5.png) + +:::info + +如上图所示,**Refresh**和 **Unlink Citations**图标显示为问号,**解决办法如下**: + +::: + +### 1、直接安装美化后的图标文件 + +1)我已创建 5 种 [Refresh 和 Unlink Citations 图标](https://pan.baidu.com/s/1BXjo-ZOT971qlsY-zboIdA?pwd=moyu)(任选其一),可直接安装使用。点击上方蓝字即可获取,首先将其**下载并保存**到电脑(如下图所示)。 + +![image.png](../../assets/a01d83b2dbe0f1d2c356c891336416ec_MD5.png) + +:::warning + +只需选择使用一个自己喜爱的图标文件或可自己编辑设计图标。 + +::: + +下方是 5 个已编辑好的 **Refresh**和 **Unlink Citations**图标的图片展示。 + +![image.png](../../assets/15e71e5849e591f2252b7e706e8d6707_MD5.png) + +2)将上述**任一 Zotero**文件,粘贴至 WPS 的**启动项文件夹**内(详见本文档的 **补充 Zotero.dotm 文件**) + +3)用 WPS 打开任一 Word 文档,但是会显示有 2 个 Zotero 加载项。 + +![image.png](../../assets/7b352103fed9e315ab8c3543f0ceb4f1_MD5.png) + +:::warning + +因为没更换 Zotero 安装路径的 Zotero.dotm,且 Office Word 的启动项文件夹未放置 Zotero.dotm。 + +::: + +:::info + +这样做的考虑是:保持 Office Word 的 Refresh 和 Unlink Citations 图标不变动,同时保留原有的 Zotero. dotm,以备不时之需。当然也可自己按喜好设置更换。 + +::: + +#### 只保留 1 个 Zotero 加载项 + +1)依次单击【**开发者工具**】-【**加载项**】。 单击选中 **Zotero.dotm**,单击【**禁用**】。 + +![image.png](../../assets/df5d7f252fb711f5362abd06c293f8fd_MD5.png) + +2)**Zotero.dotm** 前面方框,此刻已更改成 **取消勾选**,点击【**确定**】即可。 + +![image.png](../../assets/aab13e38e1dbeb28f675129f45f38af8_MD5.png) + +## 四、Refresh/Unlink Citations 莫名失效 + +有时新建 Word 文档,用 WPS 打开后,无故出现点击 Refresh 和 Unlink Citations 功能失效(即无响应或莫名删掉引文 Citation)。 + +**解决方法**: + +1)不要将光标置于插入引文 Citaion 和参考文献 References 的位置(即将光标定位在远离上述位置如正文文字处,再点击 Refresh 按钮) + +2)重启 WPS,或新建一个 Word 文档,再用 WPS 打开。或必要时重启电脑即可正常使用。 + +> **🔊🔊🔊 必看!!!**:当新建一个空白的 Word 文档用 WPS 打开撰写论文等情况时:一定要先用 WPS 里的 Zotero Word 加载项插入几个文献,再点击**Add/Edit Citation 等这 6 个按钮**,尤其是一定要多次点击**Refresh**和**Unlink Citations**按钮,检查是否正常使用!!! + +## 致谢 + +:::info + +👍 到这里,在 WPS 中使用 Zotero Word 加载项的使用已接近尾声。在此由衷地感谢来自 b 站、知乎、CSDN 等网站的大神们分享的有关 WPS 的 Zotero Word 加载项使用的宝贵经验!!! + +::: diff --git "a/src/user-guide/misc/\345\234\250 Tex \344\270\255\346\217\222\345\205\245\345\274\225\346\226\207.md" "b/src/user-guide/misc/\345\234\250 Tex \344\270\255\346\217\222\345\205\245\345\274\225\346\226\207.md" new file mode 100644 index 00000000..1a2b9f51 --- /dev/null +++ "b/src/user-guide/misc/\345\234\250 Tex \344\270\255\346\217\222\345\205\245\345\274\225\346\226\207.md" @@ -0,0 +1,7 @@ +--- +title: 在 Tex 中插入引文 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +在 Tex 中插入引文 diff --git "a/src/user-guide/misc/\346\234\237\345\210\212\350\277\275\350\270\252\357\274\232RSS\350\256\242\351\230\205.md" "b/src/user-guide/misc/\346\234\237\345\210\212\350\277\275\350\270\252\357\274\232RSS\350\256\242\351\230\205.md" new file mode 100644 index 00000000..848248d5 --- /dev/null +++ "b/src/user-guide/misc/\346\234\237\345\210\212\350\277\275\350\270\252\357\274\232RSS\350\256\242\351\230\205.md" @@ -0,0 +1,142 @@ +--- +title: 期刊追踪:RSS订阅 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +期刊追踪:RSS 订阅 + +# 功能简介 + +- 追踪期刊目录更新 +- 追踪数据库中某些【关键词】相关的文献更新情况 +- 订阅任意网站的内容更新,例如 b 站 up 主的视频更新... + +# 1.Zotero 订阅设置 + +在 Zotero 主界面,左上角工具栏选择**=>新建订阅=>来自 URL 订阅** + + + +之后会弹出以下窗口,需要填入**URL,**Zotero 识别成功之后会自动填入**标题(**可以自己手动更改)并且进行**高级设置,保存**之后即可在主界面左侧**订阅**处看到订阅的内容及更新**。** + + + + + +## 1.1 URL 订阅 + +**“来自 URL”是最直接、最方便的添加 RSS 订阅的方式,只需要提供订阅源的链接即可,是我们用 Zotero 追踪期刊更新时最常用的方式,以下涉及的实例也将基于此方式进行。** + +## 1.2 OPML 订阅 + +“**来自 OPML**”主要用于之前有使用其它 RSS 阅读器,从其它阅读器中导入已经订阅的内容至 Zotero 中,一般用户不会使用此方式,故不过多介绍。 + +## 1.3 高级设置 + + + +【更新订阅每**N**小时】,即设定订阅间隔,每**N**个小时从订阅 URL 爬取期刊目录,加载在该【订阅】界面。例如《社会学研究》为双月刊,建议从其发刊日时添加订阅,N 设定为 2X30X24 小时。如果 N 设置为 24,则每 24 小时会刷新一遍订阅,订阅界面会 24 小时加载一次期刊目录,导致期刊【订阅】界面出现重复文献条目。以下为【订阅】界面因为设置**订阅间隔 N**并不契合期刊更新间隔时出现的条目重复示例。 + + + +订阅间隔设置不当导致的条目重复问题尚未完美的解决方案,只能根据期刊更新周期设定订阅间隔 + +【删除已读提要题目于之后 N 天】,即点击了该条目查看右侧的条目详细信息(Zotero 会自动设置为“已读”状态)N 天后在期刊订阅界面删除该条目,如果不想删除已读条目,则将 N 设置为一个较大的数值,例如 1000000。 + +【删除未读提要条目于之后 N 天】,即该条目一直处于未点击查看该条目的具体信息,N 天后在期刊订阅界面删除该条目。如果不想删除未读条目,则将 N 设置为一个较大的数值,例如 1000000。 + +以上三项订阅参数的默认设置入口: + +Win:**编辑\*\***=>首选项=>高级=>订阅\*\* + +Mac:**Zotero\*\***=>首选项=>高级=>订阅\*\* + + + +## 1.4 填入 URL 后不能自动识别与保存的解决方法 + +检查或更换网络,重启 Zotero 后第一时间进入订阅填入 URL,能够自动识别并填充标题即可成功订阅;部分 URL 需要在科学网络的情况下才能识别成功,因此此时需要保证自己的网络足够科学。 + +# 2.中文期刊订阅——以知网为例 + +进入[知网期刊导航界面](https://navi.cnki.net/knavi/journals/index?uniplatform=NZKPT),在【搜索框 🔍】输入想要订阅的【中文期刊全称】,并点击【出版来源检索】 + + + +在搜索结果界面,点击进入期刊页面 + + + +在期刊主页左上角找到并点击【RSS 订阅】 + + + +复制浏览器地址栏中的 URL,进入 Zotero + + + +在 Zotero 主界面,左上角工具栏选择**=>新建订阅=>来自 URL 订阅,在弹出的界面填入 URL,自动识别好标题之后自己根据需要修改标题**(Zotero 不会根据期刊订阅先后排序,可以手动在期刊名前面加上 1234 或者字母来排序),并且设置好订阅参数,点击【保存】,即可在左侧订阅界面看到该期刊的目录 + + + + + +# 3.英文期刊订阅——以 Annual Review of Psychology 为例 + +打开[Annual Review of Psychology](https://www.annualreviews.org/journal/psych)网页,找到右上角的 RSS feed符号,点击打开 + + + +打开之后如下图示,**复制浏览器地址栏的 URL 链接** + + + +在 Zotero 主界面,左上角工具栏选择**=>新建订阅=>来自 URL 订阅,在弹出的窗口中把刚刚复制的链接粘贴到“URL”中,**Zotero 会自动识别并填入标题(标题出来之后自己可以自定义修改)**,并参照本章 1.3 设置好高级选项**的内容,**点击保存**,即可在主界面**“订阅”**处看到该期刊的最新期刊目录。 + + + +# 4.关键词订阅(PubMed 专属) + +打开[PubMed](https://pubmed.ncbi.nlm.nih.gov/) 官网,在搜索栏输入你想追踪的文献关键词,例如“heat wave”,点击搜索 + + + +如下图示,点击搜索框下面的**“Create RSS”,进入该关键词订阅的设置界面** + + + +在设置界面,修改为合适“Number of items displayed”(追踪的文献条目数量),点击**“Create RSS”,生成“RSS Feed link”后点击 copy,将其在 Zotero 订阅设置中填入,**即可订阅追踪该关键词的相关文献进展。 + +# 5.配合 RSSHub Radar 订阅任意网站内容——以 b 站为例 + +## 5.1 RSSHub Radar 简介 + +RSSHub Radar 是 [RSSHub](https://www.appinn.com/rssbud-with-rsshub-for-ios/) 的衍生项目,用来快速发现当前网页的 RSS 地址,如果支持 RSSHub 则显示 RSSHub 地址,支持包括**Zotero**、 [Tiny Tiny RSS](https://www.appinn.com/tiny-tiny-rss/)、FreshRSS、Feedly、Inoreader 在内的 11 款阅读器一键订阅。 + +主要功能: + +- 快速发现和订阅当前页面自带的 RSS +- 快速发现和订阅当前页面支持的 RSSHub +- 快速发现当前网站支持的 RSSHub +- 支持一键订阅 RSS 到 Tiny Tiny RSS、Miniflux、FreshRSS、Feedly、Inoreader、Feedbin、The Old Reader、Feeds.Pub、本地阅读器 + +一旦检测出 RSS 地址,RSSHub Radar 就会在角标上显示出数量。 + +**RSSHub Radar 浏览器插件下载与安装(含教程):**[**GitHub 主页**](https://github.com/DIYgod/RSSHub-Radar)**、**[**Gitee 镜像主页**](https://gitee.com/mirrors/RSSHub-Radar) + +## 5.2 RSSHub Radar 与 Zotero 联动 + + + +打开你想关注的 UP 主(以 sharestuff 为例),点击浏览器右上角的 RSSHub Radar 插件图标 + + + +选择所需要订阅的内容,点击**“复制”,进入 Zotero 进行 URL 订阅**即可 + +# 6.从“订阅”添加文献条目到“我的文库”/“群组” + + + +点开 Zotero 某一期刊/RSS 订阅内容,点击具体条目,看到右侧的信息栏,**点击右侧信息栏的 ▽ 倒三角图标**,选择你想要保存到的本地文库文件夹 📂/在线群组文件夹 📂,再点击**“添加到 XXXX”**,即可从订阅中添加到自己的文献库中。 diff --git "a/src/user-guide/misc/\351\200\232\350\277\207 Zotfile \344\270\216\347\254\254\344\270\211\346\226\271\347\275\221\347\233\230\345\244\207\344\273\275.md" "b/src/user-guide/misc/\351\200\232\350\277\207 Zotfile \344\270\216\347\254\254\344\270\211\346\226\271\347\275\221\347\233\230\345\244\207\344\273\275.md" new file mode 100644 index 00000000..4b8e5fa8 --- /dev/null +++ "b/src/user-guide/misc/\351\200\232\350\277\207 Zotfile \344\270\216\347\254\254\344\270\211\346\226\271\347\275\221\347\233\230\345\244\207\344\273\275.md" @@ -0,0 +1,95 @@ +--- +title: 通过 Zotfile 与第三方网盘备份 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +通过 ZotFile 与第三方网盘备份 + +在使用这一种同步方法之前,请在此确认你对这种同步方式有透彻了解,并愿意承担其可能带来的数据丢失、同步失败等风险。 + +**不建议新手使用这种方式同步!** + +⚠️ 请务必确保你的 ZotFile 插件版本不低于 5.1.1。之前的老版本(尤其是 5.1.0 版本)存在一个 Bug,会带来很多问题。 +(ZotFile 插件的版本号可以在 \[工具\] -> \[插件\] -> \[ZotFile\] -> \[更多\] 里看到) + +**这两个文档对于你正确使用 ZotFile 插件非常重要,请务必仔细阅读。只有深入地理解了 Zotero 链接的附件的特点,才能避免在未来的使用中犯错。** + +- ZotFile + 同步盘 方案的基本配置方法 + [-> [微信推文] ZotFile + 同步盘,实现 Zotero 文献跨平台同步!](https://mp.weixin.qq.com/s/0heWcOlwgrF6GHmPTc-poA) + 推文中关于 **\[数据源目录/Source Folder for Attaching New Files\]** 的解释可能存在问题,详见下面的详细解释。 +- ZotFile + 同步盘 方案的进一步介绍 + [-> [知乎专栏] Zotero 文件同步](https://zhuanlan.zhihu.com/p/361587962) + 注:该文章中第 3.3 节关于 **\[数据源目录\]** 的解释存在一些问题, **不建议使用这一 \[数据源目录\] 去监控 Zotero \[数据存储目录\] 中的变更** (这样的做法没有意义。实际上,不设置这一 \[数据源目录\],也完全不影响 ZotFile 自动监控新添加的附件文件,并自动重命名附件)。 + +# ZotFile 中 \[数据源目录\] 的设置及 Attach New Files 功能的解读 + +\[数据源目录/Source Folder for Attaching New Files\] 这一项设置主要是 **配合 ZotFile 的 \[Attach New File\] 功能** 使用的。这是一个需要手动触发的功能,适用于网页抓取条目成功但下载附件失败的情况,可以方便 **给选中的条目添加刚刚手动下载好的附件** 。正常从网页抓取时,不会用到这一功能。 + +你可以 **将 \[数据源目录\] 设置为网页浏览器 \[默认的下载文件夹\]** ,这样在你手动下载一个附件后,可以直接在 Zotero 中右键点击预先抓取好的(没有附件的)条目,然后点击 \[Attach New File\] 即可自动将刚刚下载到下载文件夹中的 PDF 文档作为附件附加到这一条目上(并自动进行后续的重命名、移动的操作)。 + + +实际上,绝大多数人都几乎不会想起用 ZotFile 的 \[Attach New File\] 功能,这意味着 **你甚至可以完全不设置 \[数据源目录/Source Folder for Attaching New Files\] 而不影响日常的使用。** 也正因如此,各个教程中即便为这一设置填入了有悖于这一功能原意的内容,也不会产生什么后果(对于 ZotFile 的用户来说,大多数人已经将 Zotero 数据存储位置中的附件异地迁移了,使用这一功能的时候大概率并不会匹配到任何文件)。如果这一部分的介绍并不能让你很好地了解这一功能,或者并不打算尝试使用这一功能, **这一个选项完全可以留空** 。 + +# 一个可供 \[ZotFile + 同步盘方案\] 参考的目录设置方案 + +一个必要的补充知识: **绝对路径 = 根目录 \+ 相对路径** +**绝对路径** 就是你附件实际存储的位置。实际上打开附件的时候需要的是绝对路径。 +**根目录** 是你所有附件存放的那个总文件夹。在不同的设备上,附件存放总文件夹的位置不必相同,只需在每个设备上分别把根目录路径设为当前设备上的附件存放总文件夹的位置即可。 +**相对路径** 是存储在条目信息里的路径片段,指明了每一个附件在附件存放总文件夹中的相对位置。 + +**这里举一个例子方便理解:** +在老电脑 A 上,所有附件都存在了 D:\Documents\ZoteroAttachments 这一目录下,此时电脑 A 上的根目录应当设置为 D:\Documents\ZoteroAttachments; +在新电脑 B 上,使用了同步盘将附件同步到了 E:\CloudDrive\ZoteroData 这一目录下,没关系,只需将电脑 B 上的根目录设为 E:\CloudDrive\ZoteroData 即可; +假设,你有一个名为我也不知道起个啥名字好.pdf 的文档附件,存放在附件总目录中的垃圾文件夹里。此时,它的相对路径也就是\垃圾\我也不知道起个啥名字好.pdf。在条目中,也会这样记录这一附件的相对存储位置; +在老电脑 A 上,这一附件的绝对路径拼合后就会变成 D:\Documents\ZoteroAttachments\垃圾\我也不知道起个啥名字好.pdf; +而在新电脑 B 上,因为根目录设置的不同,这一附件的绝对路径拼合后则会变成 E:\CloudDrive\ZoteroData\垃圾\我也不知道起个啥名字好.pdf; +由于两个电脑上都正确拼合出了该附件正确的完整路径(绝对路径),两个电脑上都是可以正常打开这一附件的。 +这也意味着,只要使用相对路径,并正确地设置了链接附件的根目录,就没必要苛求不同电脑上必须把附件存储文件夹放在完全相同的路径下了。而如果使用绝对路径,就必须放在完全相同的位置才能正常打开。 + +## Zotero 和 ZotFile 设置中一共有四个位置需要设定 + +**Zotero 首选项中:** + +1. **链接附件的根目录 Lincked Attachments Base Directory** (右图中的橙色内容) + 这一设置可以方便你在不同电脑中同步附件。当使用 ZotFile + 同步盘 方案时,需要 **将这一设置与 ZotFile 偏好设置中的** **文件位置 Location of Files** **保持一致** 。 + 在不同的电脑上,这一位置可以不同,只需在每个电脑上保证它与 ZotFile 偏好设置中的 文件位置 Location of Files 保持一致,且这个文件夹里有你的全部附件即可。 +2. **数据存储位置 Data Ditrctory Location** (右图中的红色内容) + 这是 Zotero 数据库的存储位置,建议保持默认。其实,ZotFile + 同步盘 方案已经把体积最大的附件给异地保存了,Zotero 自己的数据存储位置通常并不会太大, **直接保持默认设置就好** 。 + 如果你执意要改,也可以,但切勿把这一文件夹放在任何同步盘中,也切勿使用任何同步工具来同步/备份这一文件夹。此外,这一路径中也尽量不要有中文。 **在修改后,你需要手动把原来的数据存储位置复制/移动到新的位置去** ,否则你的文库会空空如也。 + 有个别朋友说改了这个设置后出现了一些问题,所以建议你在修改时把数据存储位置的文件夹复制到新位置,而不是移动。如果修改后翻车了,还可以再改回来。 + +**ZotFile 偏好设置中:** + +1. **数据源目录 Source Folder for Attaching New Files** (左图中的蓝色内容) + 如前文的介绍,这一项设置主要是配合 ZotFile 的 \[Attach New File\] 功能使用的。建议将其设置成网页浏览器的默认下载文件夹,如果不需要的话也可以不设置这个路径(留空)。 +2. **文件位置 Location of Files** (左图中的橙色内容) + ZotFile 插件最主要的功能就是将附件异地保存,也就是将这里修改成 自定义位置 Custom Location。当你把这个位置设置成一个同步盘中的目录的时候,也就是传说中的 ZotFile + 同步盘 方案了。当然,如果你没有同步需求,你也可以只是设置成一个普通的本地文件夹,从而实现文献的整理。 + 在设置的时候,这一位置应与 Zotero 首选项中的 链接附件的根目录 Lincked Attachments Base Directory 保持一致 + 然而,强烈不建议将这一设置设为 Zotero 首选项中的 数据存储位置 Data Ditrctory Location,也不建议你设置成数据存储位置中的任何子文件夹。这样的设置毫无意义,还可能让你混淆 Zotero 自己的同步与 同步盘同步 的关系。 + +**为方便理解,这张图展示了四个目录之间的关系以及他们设置的内容:** + + + +- 注 1: **如果你使用 WebDAV 方案,仅仅想借助 ZotFile 插件重命名附件,上图中橙字的设置请保持安装时的原默认设置** ,即 \[ZotFile Preferences\] 中的 \[Location of Files\] 请设置为 **\[Attach sorted copy of file(s)\]** ,而绝对不能自定义。只要自定义了这一位置,就一定不是 WebDAV 同步方案。相应的,Zotero 首选项中的 [Lincked Attachments Base Directory] 也使用 [绝对路径/Absolute Paths] 即可( **将 \[Base directory\] 留空** )。 +- 注 2:如果你之前已经自己更改过 注 1 中提到的 \[Location of Files\] ,希望切换到 WebDAV 方案,请参考后文的转换方法。 +- 注 3: **图中红字和蓝字的介绍和警告对于 WebDAV 方案同样适用。** +- 注 4:选用 \[WebDAV 方案\] 依然可以借助 ZotFile 来重命名附件,但也 **只能重命名附件,不能移动位置!** 请确保 注 1 中提到的设置为默认值。 + +## 删除条目/删除附件时需要注意的问题 + +**ZotFile 更名后的链接的附件所对应的 PDF 附件本体是不会随着条目和链接一同删除掉的。** 对于这一问题,建议安装 Delitem 插件,然后右键点击附件,然后 **使用插件提供的删除功能来删除条目/附件** : +这一插件可以在这里下载到: + +**请务必注意,使用这个插件删除附件的时候,附件源文件本体是直接被彻底删除的,不可恢复。** 条目和链接会进回收站,等待进一步处理。如果恢复条目和附件的链接,附件的链接会无法打开(因为附件源文件已经彻底被删了)。使用其他同步方案的没这个问题。 + +## 如果使用了 ZotFile + 同步盘 方案,如何在移动端阅读文献 + +很多人问了, **用了这一方案是否意味着无法在 iPad 上的 Zotero 官方客户端打开附件了?** +**恐怕是的,但没办法。选择这一方法确实就等同于告别了 iPad 上的官方 Zotero 应用,也告别了 Papership** 。不过这一方案配合 PDF Expert 或 Drawboard PDF 也可以较为方便地找到附件,并在编辑后方便地把编辑后的文件自动存回 iCloud/OneDrive。 + +- 你可以前往 Zotero 官网在线查看文献列表,也可以在 Zotero 的 iOS 官方客户端或安卓的 Zoo for Zotero 里查看文献列表和笔记。只不过,此时文献附件是打不开的。 +- 打开附件的时候,建议配合 PDF Expert 或 Drawboard PDF 这两个应用使用。因为他们都支持直接打开 iCloud 中的文件,并将更改存到 iCloud 里(也许 OneDrive 也行?我没有试过)。 +- WPS 会员也可以考虑使用 WPS 的同步文件夹来同步文献,并使用 WPS 进行编辑 +- 使用其他软件标记的高亮,可能无法在 Zotero 中使用内置阅读器的查看编辑。 diff --git "a/src/user-guide/misc/\351\253\230\347\272\247\350\256\276\347\275\256.md" "b/src/user-guide/misc/\351\253\230\347\272\247\350\256\276\347\275\256.md" new file mode 100644 index 00000000..e5c87505 --- /dev/null +++ "b/src/user-guide/misc/\351\253\230\347\272\247\350\256\276\347\275\256.md" @@ -0,0 +1,125 @@ +--- +title: 高级设置 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +本节是< 的翻译版本。> + +您可以通过 Zotero 中的首选项窗口编辑大多数 Zotero 设置。 但是,Zotero 和 Zotero 连接器都支持额外的隐藏首选项。 这些设置可能接受的测试较少和/或旨在用于更高级的用途。 + +## Zotero + +要查看 Zotero 首选项的完整列表,包括许多隐藏的首选项,请转到 Zotero 首选项的高级窗格并单击“设置编辑器”。 在出现的列表顶部的过滤器字段中输入“Zotero”。 用户可以安全更改的首选项如下所述。 + +大多数 Zotero 隐藏首选项都以“extensions.Zotero”开头。 + + + + + +### 通用设置 + +这些通用隐藏设置允许您定制化 Zotero 。 + +| | | | +| ------------------------------ | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 设置名称 | 默认值 | 描述 | +| attachmentRenameFormatString | '{%c - }{%y - }{%t{50}}' | Zotero 自动重命名从连接器(又称 translator 浏览器插件,见相关章节)保存的附件。 此字符串控制这些名称的格式。 %c 是创建者,%y 是年份,%t 是标题,每个部分周围的花括号表示“仅当内部指定的字段非空时才包含此部分”,{50} 表示“截断 50 个字符”。 您可以重新排列这些以满足您的需要。 | +| backup.interval | 1440 | Zotero 自动备份数据库的最长间隔(以分钟为单位)。 默认值为每 24 小时(1440 分钟) | +| backup.numBackups | 2 | Zotero 应该保留多少自动数据库备份。 多余的备份最先删除。 这不包括在数据库升级期间进行的备份。 请注意,将其设置得太高可能会导致数据库升级备份被覆盖。 | +| capitalizeTitles | true | 默认情况下,Zotero 将重新命名您抓取条目的标题(例如,删除所有大写字母)。 将此首选项切换为 false,您将保留标题的原始信息。 | +| debug.level | 5 | 启用 debug.log 时,确定显示的调试级别中的最低值(1-5,其中 5 为最低) | +| debug.log | false | 用于调试 Zotero。见[debug output](https://www.zotero.org/support/debug_output). | +| debug.time | false | 启用 debug.log 时,显示上一次调试调用的毫秒数 | +| fontSize | “1.0” | 此首选项允许您增加或减少 Zotero 界面中文本的大小。 | +| httpServer.enabled | true | 如果设置为 true,Zotero 将侦听来自 Zotero 连接器的请求(例如,允许将项目从连接器保存到 Zotero)。 | +| httpServer.port | 23119 | 如果启用了 httpServer.enabled,这是 Zotero 将侦听来自 Zotero 连接器的连接的端口。 | +| sortAttachmentsChronologically | false | 如果设置为 true,您的附件将按您添加它们的顺序而不是按字母顺序排序。 | +| sortNotesChronologically | false | 如果设置为 true,您的笔记将按您添加它们的顺序而不是按字母顺序排序。 | + +### PDF Reader 阅读器 + +| | | | +| ------------------------------- | ------ | ----------------------------------------------------------- | +| 设置名称 | 默认值 | 描述 | +| sortNotesChronologically.reader | true | 按时间倒序对条目进行排序。 如果为 false,则按字母顺序排序。 | + +### Note Editor 笔记编辑器 + +| | | | +| ---------------- | ------ | ------------------------------------------------------------------- | +| 设置名称 | 默认值 | 描述 | +| note.fontSize | 14 | 注意字体大小 — 可从“查看”菜单设置,但其他值(包括小数)可以手动设置 | +| note.smartQuotes | true | 自动将 straight quotes 转换为 typographic quotes | + +### Translator 转换器设置 + +这些隐藏设置允许您控制某些特定条目格式的导入/导出转换器的行为。 所有翻译器隐藏首选项都以“extensions.Zotero.translators”开头。 + +| | | | | +| ------------------------------------ | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | +| 设置名称 | 默认值 | 描述 | 应用于 | +| RIS.import.ignoreUnknown | true | 不要在注释中存储无法映射到 Zotero 字段的值。 | RIS import translator | +| RIS.import.keepID | false | 不要从“ID -”标签中删除值。 可用于在 EndNote 中查找项目。 | RIS import translator | +| BibTeX.export.dontProtectInitialCase | false | 如果只有第一个字母大写,则不要用大括号将单词括起来。 如果您在 Zotero 中以标题大小写输入标题,则很有用(不推荐)。

false: {Tame {The} {BeaST}}

true: {Tame The {BeaST}}

请注意,如果第一个单词不包含内部大写字母,则永远不会被{}包围 | BibTeX export translator | +| BibTeX.export.simpleCitekey | null | 默认情况下,仅对新添加的条目使用 citekey 的新简单格式(不允许除破折号和下划线之外的任何特殊字符)。 将此隐藏键设置为 true,将始终使用这种简单的 citekeys。 | BibTeX export translator | + +### 全文索引 + +这些设置处理 Zotero 从导入文件创建全文索引的能力。 + +| | | | +| ------------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 设置名称 | 默认值 | 描述 | +| search.useLeftBound | true | 确定 Zotero 是仅根据左边界查找单词匹配,还是在单词中的任何位置查找匹配。 将此设置为 false 可能对英语以外的语言有益,但可能会显着减慢 Zotero 的搜索功能。 | + +### Report + +这些选项允许您自定义您的 report 显示行为。 + +| | | | +| --------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 设置名称 | 默认值 | 描述 | +| report.includeAllChildItems | true | 默认情况下,仅选择报告的父项会导致这些项的子注释和附件也包含在内。 如果 includeAllChildItems 设置为 false,则仅包含您选择的项目。 无论此设置如何,选择父项和子项的组合都将导致仅显示选定的项。 | +| report.combineChildItems | true | 默认情况下,Zotero 将报告中的子注释和附件分组在其父项下。 将此切换为 false 将导致注释与其父项分开显示。 这对于有兴趣将 Zotero 的笔记功能用作大纲工具的人很有帮助。 | + +### 引文快速复制设置 + +| | | | +| ------------------------------------------------ | ------ | ----------------------------------------------------------------------------------------------------------- | +| 设置名称 | 默认值 | 描述 | +| export.quickCopy.compatibility.indentBlockquotes | true | Word 和 TextEdit 不会自行缩进块引用,需要启用此功能。 在 LibreOffice 中产生额外的缩进,可以正确处理块引用。 | +| export.quickCopy.compatibility.Word | false | 将 Word Normal 样式添加到段落并启用双倍行距。 LibreOffice 将条件样式代码作为文档注释插入。 | +| quickCopy.quoteBlockquotes.plainText | true | 在纯文本输出中的块引用段落周围添加引号 | +| quickCopy.quoteBlockquotes.richText | true | 在富文本输出中为块引用段落添加引号 | + +### Word 插件 + +| | | | +| --------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------- | +| 设置名称 | 默认值 | 描述 | +| integration.keepAddCitationDialogRaised | false | 如果将其切换为 true,则可以将 Zotero Word 插件界面用于添加引文始终位于最前面。 并防止它隐藏在您正在使用的 Word 窗口后面。 | + +## Zotero 连接器 Connector + +要查看 Zotero 连接器的隐藏设置,请打开连接器的首选项(通过右键单击保存按钮并在 Chrome 和 Firefox 中选择首选项/选项,或在 Safari 中长按保存按钮)。 然后,单击“高级”,然后单击“配置编辑器”。 + + + + + + + +### 转换器设置 + +Zotero 连接器支持一些通常适用于所有转换器或特定网站转换器的设置。 要使用这些设置,在 Zotero 连接器配置编辑器中,单击“添加设置”。 键入或粘贴首选项的名称,然后单击“确定”。 从下表中输入适当的首选项值(例如,true 或 1),然后再次单击“确定”。 + +| | | | | +| ------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| 设置名称 | 默认值 | 描述 | 应用于 | +| translators.attachSupplementary | false | 转换器在导入项目时应尝试附加补充数据。 | [All web translators implementing this behavior](https://forums.zotero.org/discussion/21880/supplementary-information/#Comment_153889) | +| translators.supplementaryAsLink | false | 补充数据附件应作为链接附加,而不是下载。 如果禁用 attachSupplementary,则此选项无效。 将此选项设置为“true”可以保持快速访问补充数据的便利性,但可以加快从 Web 保存项目的速度。 | [All web translators implementing this behavior](https://forums.zotero.org/discussion/21880/supplementary-information/#Comment_153889) | +| translators.ACS.highResPDF | 0 | 确定附加的全文 PDF 版本: 0 - 带链接的 PDF; 1 - 高分辨率 PDF; 2 - 两者 | ACS Publications | + +注意:补充数据首选项仅适用于转换器支持此行为的网站。 如果您遇到没有导入补充数据的站点,请在 Zotero 论坛上报告: [Zotero forums](https://www.zotero.org/forum)。 diff --git a/src/user-guide/ms-word-plugin.md b/src/user-guide/ms-word-plugin.md new file mode 100644 index 00000000..1be8d6e6 --- /dev/null +++ b/src/user-guide/ms-word-plugin.md @@ -0,0 +1,193 @@ +--- +title: 在 Word 中插入参考文献 +icon: article +date: 2023-06-28 21:17:07 +updated: 2023-07-21 19:01:31 +--- + +这些是使用 Zotero for MS Office Word 插件的说明。 + +要在 WPS 中使用插件,请参见 [在 WPS 中使用 Zotero Word 插件](./wps-plugin.md)。 + +## Zotero Word 插件选项卡 + +![Zotero Word 插件选项卡](../assets/image-word-zotero窗格.png) + +一般情况下,Zotero 安装时会安装 Zotero Word 插件,其会在 Microsoft Word 里添加一个 Zotero 选项卡。如果你的 Word 里没有 Zotero 选项卡,请参见 [故障排除 | 安装 Zotero 的 Word 插件](./faqs/word-addon.md#word-中没有-zotero-选项卡) 。 + +Zotero 选项卡包含以下图标: + +| 名称 | 图标 | 描述 | +| ------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| 添加/编辑引注 | ![插入引文](../assets/icon-word-插入引文-large.png) | 在光标位置添加新引注或编辑文档中的现有引注。 | +| 添加/编辑参考文献表 | ![添加参考文献表](../assets/icon-word-添加参考文献表-larger.png) | 在光标位置插入参考文献表或编辑现有书目。 | +| 添加笔记 | | | +| 文档首选项 | ![文档首选项](../assets/icon-word-文档首选项.png) | 打开“文档首选项”窗口,例如更改引文样式。 | +| 刷新 | ![刷新](../assets/icon-word-刷新.png) | 立即刷新所有引注和参考文献表,更新 Zotero 库中已更改的项目元数据。 | +| 取消链接引注 | ![unlink](../assets/icon-word-unlink.png) | 通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,删除域代码是不可逆的,通常只能在文档的最终副本中完成。 | + +## 文档首选项 + +![Word文档首选项窗格](../assets/image-word文档首选项窗格.png) + +“文档首选项”窗口允许您设置以下针对该文档的设置: + +1. **引文样式** + + 一般情况下,你只需要修改这一项,其余设置均保持默认即可。 + +2. 设置引注和参考文献表的格式的语言。 +3. 对于基于注释的样式,例如“China National Standard GB/T 7714-2015(note,Chinese)”,引文是插入为脚注还或尾注。 + + 脚注和尾注的样式和格式由 Word(而不是 Zotero)控制。 + +4. 将引文存储为字段还是书签 + + 默认为“字段”。除非您需要使用 LibreOffice 与同事协作,否则应始终选择“字段”。 + +5. 对于缩写期刊标题的样式(例如,“Nature”),是否使用 MEDLINE 缩写列表来缩写标题。 + + 如果选择此选项(默认值),则 Zotero 中“ ”字段的内容将被忽略。 + +6. **是否自动更新引注和参考文献表** + 一般情况下开启即可。当文档中引文非常多,每次更新都会卡顿时,可以关闭此功能,添加一部分或最终手动进行更新。 + +## 添加引注 + +您可以通过单击“添加/编辑引注”(![插入引文](../assets/icon-word-插入引文.png))按钮开始添加/编辑引用。 + +在一个未添加过引文的文档中,按下按钮将首先显示“文档首选项”窗口以让用户选择一个样式文件,之后按下按钮将显示引文对话框。 + +引文对话框用于从 Zotero 库中选择项目,并创建引文。 + +开始在对话框中键入标题的一部分、一个或多个作者的姓氏和/或年份。匹配项将立即显示在对话框下方。 + +![引文对话框](../assets/image-word-引文对话框.png) + +通过单击项目或在项目突出显示时按 Enter/Return 键来选择该项目。该项目将以阴影气泡的形式显示在对话框中。再次按 Enter/Return 键以插入引文并关闭“添加引文”框。 + +![引文对话框](../assets/image-word-引文对话框2.png) + +在“添加引文”对话框中,您可以单击被引用项目的气泡,然后单击“在我的库中打开(或组库的名称)”以在 Zotero 中查看该项目。 + +孤立的项目(未连接到 Zotero 数据库中的任何项目)将没有“在我的库中打开”按钮。如果孤立项目是由协作者从其“我的媒体库”或您无权访问的群组中插入的,或者您已从 Zotero 资料库中删除了这些项目,则这些项目可能存在。 + +![编辑引文](../assets/image-word-编辑引文.png) + +## 添加参考文献表 + +单击“添加/编辑参考文献表”(![添加参考文献表](../assets/icon-word-添加参考文献表.png))按钮会在光标位置插入参考文献表。 + +Zotero 将根据文档中的引文自动更新参考书目。 + +在极少数情况下,如果要将未在文档中引用的项目添加到书目中,可以再次单击“添加/编辑书目”按钮,这将打开 [书目编辑器](https://www.zotero.org/support/word_processor_plugin_usage#editing_the_bibliography)。在 Word 中对书目进行的手动编辑将在下次 Zotero 刷新文档时被覆盖。 + +## 切换到“经典视图” + +“添加/编辑引注”对话框有默认版与经典版两种,下图为经典版的示例: + +![经典引文对话框](../assets/image-word-引文对话框-经典.png) + +您可以通过单击“添加引文对话框”左侧的“Z”图标并选择“经典视图”来切换到“经典视图”引文对话框。 + +![切换经典视图](../assets/image-word-切换经典视图.png) + +要永久切换到经典视图,请勾选 Zotero -编辑 -首选项 -“引用”选项卡 -使用经典添加引文对话框。 + +![使用经典引文对话框](../assets/image-使用经典引文对话框.png) + +### 经典视图下使用多来源引用 + +单击引文选取对话框左下角“多重来源”,右侧会出现多重来源列表,将引文从左侧拾取到右侧即可。 + +### 经典视图下多重来源的引文排序 + +![经典引文对话框-添加多来源](../assets/image-word-引文对话框-经典-添加多来源.png) + +Keep Source Order + +## 自定义引用 + +可以通过各种方式自定义引文。 + +如果引文只是不正确或缺少数据,请首先确保 Zotero 中的项目元数据正确完整,然后单击插件中的“刷新”以使用任何更改更新文档。 + +可以通过引文对话框进行其他自定义。单击文档中的现有引文,然后单击“添加/编辑引文”以打开引文对话框,然后单击引文气泡以打开引文选项窗口,您可以在其中进行以下更改。 + +![编辑引文](../assets/image-word-编辑引文.png) + +### 页码和其他定位器(图、表等) + +在某些情况下,您希望引用项目的某个部分,例如某个页面,页码范围或卷。这种额外的引文特定信息(例如,引文“Doe et al.,2001 年,page 4-7”中的“page 4-7”)被称为“定位器”。 + +引用选项窗口具有不同定位器类型的下拉列表(默认为“page”),以及一个可在其中输入定位器值(例如“4-7”)的文本框。要引用除所列定位符以外的定位符(例如“表”),请使用“后缀”字段。 + +您还可以在插入引文时添加页码。搜索项目,在选择项目之前或之后,但在按 Enter 将引文插入到文档中之前,键入“p.34”、“p34”,甚至只是键入“34”,页码将添加到引文中。 + +### 前缀和后缀 + +“前缀”和“后缀”文本框允许您指定文本,分别位于自动生成的引用之前和之后。例如,您可能想要“cf. Tribe 1999, see also see……”,而不是“Tribe 1999”。 + +前缀和后缀字段中的任何文本都可以使用 HTML 标记 `(斜体)、(粗体)、<子>(下标)和(上标)` 进行格式设置。例如,键入 `cf`。`example` 将显示为 `_cf_. example`。 + +前缀和后缀可以应用于引文中的每个项目,以创建复杂的引文。例如:“(参见 Smith 1776 的经典例子; 马克思 1867 年提出和另一种观点)”。通过在“前缀”和“后缀”字段中输入文本来修改引文始终比直接在 Word 中的引文字段中键入内容更可取。手动修改将阻止 Zotero 自动更新引文。 + +### 省略作者:在文本中使用作者 + +使用作者日期样式,作者经常被移到文本中,并从以下括号括起来的引文中省略,例如:“……根据史密斯(1776)的说法,劳动分工至关重要……“。要从引用中省略作者,请选中“省略作者”框(这将导致引用类似于“(1776)”而不是“(Smith,1776)”),并将作者的姓名(“Smith”)作为文档中常规文本的一部分。 + +#### 包含多个被引用项目的引文 + +![引文对话框](../assets/image-word-引文对话框2.png) + +要创建包含多个引文的引文(例如,数字样式为`[2,4-6]`,作者日期样式为“(Smith 1776, Schumpeter 1962)”),请在“添加引文”框中一个接一个地添加它们。选择第一个项目后,不要按 Enter/Return 键,而是键入下一个项目的作者、标题或年份。 + +某些引文样式要求一个文本内引文中的项目按字母顺序排序(例如,“(Doe 2000, Grey 1994, Smith 2008)”)或按时间顺序排序(“(Grey 1994, Doe 2000, Smith 2008)”)。Zotero 将自动遵循这些排序规则。 + +- 若要禁用引文中引文的自动排序,请拖动引文以在“添加引文”框中重新排列引文。您也可以单击“添加引文”框左侧的“Z”图标,然后取消选中“将源排序”选项。_此选项仅对指定引文排序顺序的引文样式显示。_ 要恢复自动排序,请重新选中“保持源已排序”选项。 + +#### 其他更改 + +如果您的引文仍未按所需方式显示,您可以直接在文档中编辑引文,但请注意,这样做会阻止 Zotero 自动更新引文以反映文档中的其他更改(例如,对于“同上”或给定名称消除歧义)。在您进行手动编辑后,Zotero 将要求您确认是否要保留编辑并防止引文自动更新。最好是在要进行的更改的文本中做注释,等到准备好提交文档,然后在使用“取消链接引文”后在文档的副本中进行更改。 + +如果您认为引用样式中存在错误,请发布到 Zotero 论坛,以便我们可以进行调查,并在必要时更正样式。如果样式已更新,则文档将自动更新,以便在您下次刷新文档时反映任何更改。 + +## 编辑参考书目 + +当您在文档中添加和删除引文时,Zotero 将自动更新参考书目以反映您的更改。一般来说,这就是你所要做的。 + +但是,在极少数情况下,您可能希望将未引用的来源添加到参考书目中(例如,综述中包含的项目,但论文中未引用的项目)或删除文本中引用但不应包含在参考书目中的项目(例如,个人通信)。为此,请再次单击“添加/编辑书目”(![添加参考文献表](../assets/icon-word-添加参考文献表.png))按钮以打开“编辑书目”窗口: + +![编辑参考文献表](../assets/image-word-编辑参考文献表.png) + +然后,您可以使用箭头添加或删除项目。 + +虽然也可以在此窗口中编辑书目参考文献的文本或格式,但不鼓励这样做。如果您更改了库中的数据,Zotero 不会自动更新此处编辑的引用。在这里编辑参考文献也有些不可靠; 一些用户报告说,当 Zotero 引用时,此处所做的修改有时不会持续存在,以及其他问题。 + +如果您需要编辑书目中的项目,最好在提交文档之前将其作为最后一步。首先,保存文档的备份副本。然后,单击“取消链接引文”按钮(![icon-Word-unlink](../assets/icon-word-unlink.png))以断开文档与 Zotero 的连接,并将所有引文和书目转换为常规文本。最后,对参考书目文本进行调整。 + +此过程可用于对参考书目进行各种细微的修改,包括: + +- 在综述或荟萃分析中包含的参考文献之前添加星号 `*` +- 以粗体、斜体或全大写设置特定作者的姓名 +- 添加有关项目的批注或注释 +- 为书目子部分添加标题(例如,主要来源与次要来源) + +::: warning + +- 对样式格式的一般更正应在 [CSL 引文样式](https://www.zotero.org/support/styles) 进行,而不是在此处进行。 +- 对项目数据的更正应该在 Zotero 库中进行,而不是在这里。 + +::: + +## 注意事项 + +::: warning + +所有的引注顺序更改都应在 Word “引文编辑对话框”中进行,而不是直接在 Word 里手动修改! +所有的引注/参考文献表的样式修改都应在 CSL 文件中进行,而不是直接在 Word 里手动修改! +所有的条目信息,如作者、标题、期刊、期卷页等,都应在 Zotero 中更新条目信息,而不是直接在 Word 里手动修改! + +::: + +另有一些 Word 加载项的问题解决可见 [常见问题 Word 加载项相关问题](./faqs/word-addon.md) 。 diff --git a/src/user-guide/organize-library.md b/src/user-guide/organize-library.md new file mode 100644 index 00000000..211dd0dd --- /dev/null +++ b/src/user-guide/organize-library.md @@ -0,0 +1,158 @@ +--- +title: 组织、管理你的文献库 +icon: class +date: 2023-06-28 21:14:16 +updated: 2023-07-20 16:51:54 +--- + +# 组织、管理你的文献库 + +> 本节的所有操作都在 Zotero 主界面中。对于分类和条目,可以按住 shift 或者 ctrl/cmd 多选。 + +## 分类管理 + +分类的图标类似文件夹:![image.png](../assets/icon-collection.png)。分类是所有文献条目的父级(也允许存在不属于任何分类的条目)可在主界面左侧查看分类列表,类似于文件夹的列表。可以拖动分类来归纳到不同层级。 + +在个人账户中,所有分类都属于![image.png](../assets/icon-我的文库.png)。在群组中,分类属于各自的群组。 + +![image.png](../assets/image-文库合集-1.png) + +:::warning + +❓ 分类有什么用? + +分类类似于文件夹,你可以将不同主题/领域的文献放在同一个分类下。进一步的,还可以根据细分领域或者方法、时期、参考意义等,根据自己需要进一步归档到子分类。 + +::: + +### 新建分类 + +在主界面左上角,点击![image.png](../assets/icon-新建分类.png),即可新建分类(collection)。 + +或者,在菜单栏=>文件,新建分类: + +![image.png](../assets/image-新建合集-菜单.png) + +![image.png](../assets/image-新建合集.png) + +或者,右键单击现有的分类来创建子分类: + +![image.png](../assets/image-新建子合集.png) + +> 💡 如何知道文献属于哪个或哪些分类? +> 用鼠标点击选中文献条目后,按住 Ctrl/Cmd,文献所属的(分类)文件夹就会黄色高亮显示。 +> 💡 关于多级分类的显示问题 +> 默认情况下,如果分类结构类似: +> +> - 一级分类 +> - 二级分类 +> - 三级分类 + +则二、三级分类内的文献都会在一级分类中显示,尽管你可能没有手动将其添加到一级分类。 + +> 可以通过菜单栏=>查看=>从子集合中显示条目来开启/关闭这一功能。关闭后,所有文献仅会在其所属的分类中显示。 +> ![image.png](../assets/image-显示子集合中的条目.png) + +### 删除分类 + +右键单击现有分类,选择删除即可。 + +## 条目管理 + +### 在分类之间移动条目 + +要**复制**到新的分类,在主界面直接将条目拖入左侧栏的其他分类,选择的文献条目会**同时存在**于当前分类和拖入的新分类(类似复制 - 粘贴了一份条目的快捷方式,但两个分类中存放的其实是同一个文献条目)。 + +> 💡 文献条目与分类的关系 +> 文献条目在分类中以类似快捷方式的形式存在,你可以同时向多个分类添加、移动、删除其中的文献条目,而文献本身不受影响(因为添加移动删除的都是其快捷方式而非本体)。 + +要**移动**到新的分类并从旧的分类中移除(类似于剪切 - 粘贴,文献将不再出现在原本分类),请在拖动时按住 shift。 + +要**移除**当前分类下的条目,选中后右键=>移除条目,或者按 delete 键(这不会删除条目)。 + +### 去除重复条目 + +在左侧栏有重复条目入口,点击后可以看到整个库中的重复条目,并可以手动确认要保留的版本,然后执行合并。 + +![image.png](../assets/image-合并重复条目.png) + +### 删除条目 + +要删除条目,选中后右键=>删除条目。条目将被移动到回收站。在清空回收站后,条目将被彻底删除。 + +在左侧栏打开回收站,可以选择内容并还原/彻底删除。右键点击回收站,可以清空回收站。 + +![image.png](../assets/image-回收站.png) + +### 导出条目或 PDF + +选中分类或条目,可通过右键导出为 RDF 等方便分享给其他 Zotero 用户或文献管理软件的格式; + +要导出 PDF(带高亮注释),请选中一个或多个条目后,从菜单栏 文件=>导出 PDFs: + +![image.png](../assets/image-menu-文件.png) + +## 标签管理 + +Zotero 通过标签来管理文献。对于同一类文献,可为其添加标签,来快速筛选、查找和定位。 + +标签根据添加方式分为两类:自动标签与用户标签。自动标签是 Zotero 在抓取文献时提取的关键字;手动标签是用户添加的标签。下图中,橙色为自动标签,蓝色为手动标签。 + +![image.png](../assets/image-标签管理.png) + +> 💡 关于自动标签 +> Zotero 会自动为新文献添加自动标签。可在菜单栏=>编辑=>首选项=>常规=>使用关键词和标题自动给条目添加标签来开启/关闭这个功能。 + +![image.png](../assets/image-使用关键词和标题自动给条目添加标签.png) + +### 添加/删除标签 + +在主界面中,选中条目,在右侧栏的标签面板可以进行添加/删除。点击 Add 可新增标签,点击已有标签右侧的![image.png](../assets/icon-删除标签.png)可以删除标签。 + +![image.png](../assets/image-标签.png) + +如果要删除所有自动标签,可在左下角标签栏的功能按钮中选择“删除此文献库中的自动标签”。 + +![image.png](../assets/image-删除自动标签.png) + +### 利用标签快速筛选文献 + +在主界面的左下角是标签栏,可以点击其中的数个标签来筛选对应的文献条目。 + +![image.png](../assets/image-首页左下角标签区域.png) + +### 设置彩色标签/设置星级 + +Zotero 支持最多 9 种彩色标签。通过为标签赋予颜色,可以: + +- 具有彩色标签的条目上有彩色方块显示:![image.png](../assets/image-彩色标签.png) +- 如果标签内容是 emoji 表情符号,将会显示符号内容,例如 ⭐:![image.png](../assets/image-标签-emoji.png) +- 通过快捷键(数字 1-9)快速添加标签 + +设置方法是: + +1. 通过前述添加标签的方法添加你需要的标签到任意一个文献(例如,⭐) +2. 此时可以在主界面左下角的标签管理器中看到这个标签。右键单击,选择“指派颜色”。 + + ![添加标签](../assets/image-添加标签-添加颜色.png) + +3. 在弹出窗口中设置一个颜色与快捷键位置(不能重复)。 + + ![选择标签颜色及位置](../assets/image-选择标签颜色及位置.png) + +4. 此时在库中可以看到标签颜色或 emoji 图形。 + + ![星标或颜色](../assets/image-标签-星标或颜色.png) + +### 自动未读与批量增删标签 + +插件 Zotero Tag 提供了许多标签管理的实用功能,包括: + +- 自动为新条目添加未读标签 +- 自动在 PDF 关闭时移除未读标签 +- 使用快捷键对条目/PDF 注释批量增加/移除单个或多个标签 +- 在其他用户自定义的动作触发时自动为条目/PDF 注释设置单个或多个标签 +- 通过右键菜单批量增加或移除标签 +- 通过右键菜单移除不常用的标签 + +可在 [https://github.com/windingwind/zotero-tag](https://github.com/windingwind/zotero-tag) 下载。(如果无法访问 GitHub,可从中文镜像 [https://zotero-chinese.gitee.io/zotero-plugins/#/](https://zotero-chinese.gitee.io/zotero-plugins/#/) 下载) diff --git a/src/user-guide/plugins/README.md b/src/user-guide/plugins/README.md new file mode 100644 index 00000000..22305fcd --- /dev/null +++ b/src/user-guide/plugins/README.md @@ -0,0 +1,9 @@ +--- +title: 插件 +# order: 4 +index: false +date: 2023-06-28 21:38:06 +updated: 2023-07-20 16:51:54 +--- + +# 插件 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\344\270\213\350\275\275\345\256\211\350\243\205.md" "b/src/user-guide/plugins/Zotero PDF Translate/\344\270\213\350\275\275\345\256\211\350\243\205.md" new file mode 100644 index 00000000..f7122814 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\344\270\213\350\275\275\345\256\211\350\243\205.md" @@ -0,0 +1,17 @@ +--- +title: 下载安装 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +下载安装 + + + +- 从[Releases Page](https://github.com/windingwind/zotero-pdf-translate/releases)页面下载安装包(.xpi 文件) ,或从 + +如果你正在使用火狐/Firefox 浏览器,请鼠标右键单击`xpi`文件并选择另存为。直接下载会报错。 + +- 打开 Zotero,在上方菜单栏选择工具=>Addons/插件 +- 打开插件安装窗口,将下载的`xpi`文件拖入窗口内,点击确定 +- 重启 Zotero。现在可在插件安装窗口看见 PDF Translate 插件,完成安装 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\212\237\350\203\275\344\273\213\347\273\215.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\212\237\350\203\275\344\273\213\347\273\215.md" new file mode 100644 index 00000000..bc862f39 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\212\237\350\203\275\344\273\213\347\273\215.md" @@ -0,0 +1,83 @@ +--- +title: 功能介绍 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +功能介绍 + +# 划词翻译 + +在阅读器界面,选中文本,即可进行翻译。 + +如果勾选了自动翻译,则结果在弹窗与右侧栏自动出现;否则点击翻译按钮或使用快捷键`ctrl/command+T`来手动翻译。可在设置中选择是否自动翻译。 + + + +## 翻译引擎与字典引擎 + +对于单个词语,插件会首先尝试使用字典引擎进行翻译,包括详细的释义、音标、例句等(视具体选择的字典引擎而定)。 + +可在右侧栏切换翻译引擎与语言设置。可在设置中启用、调整或关闭字典引擎。 + +部分服务支持发音(服务名称带有 🔊 图标)。 + +有时候出现单个字/词能翻译,整句话不能翻译的情况,是因为单个词使用的字典引擎正常,而翻译引擎异常。请参见常见问题进行排查。 + +❗ 不带*的翻译引擎可能存在无法使用、结果不准确、时不时翻译失败的可能。建议使用带*的翻译引擎。 + +💡 带有\*的翻译引擎需要设置密钥,否则无法使用。请在设置页面中根据格式要求输入对应服务的密钥,详见设置章节。 + +## 拼接文本并翻译 + +部分情况下,翻译内容跨页或跨节,不方便一次性选取。使用拼接文本可将多段选取内容一次性翻译。 + +在右侧栏勾选`拼接选取`,或者在选中文本时按住`alt`键,即可多次拼接选中文本内容。 + +## 复制内容 + +弹窗中的内容可选中复制,也可双击复制全文。 + +也可以通过右侧栏下方按钮复制源文本,结果或两者。 + +## 弹窗大小 + +弹窗默认大小为自适应,可在设置中改为记住大小,并通过拖拽弹窗右下角的把柄来调整其长宽。 + +## 右侧栏 + +右侧栏包含了一些翻译选项,并有翻译源文本及结果。可在设置中自定义其中元素的显示与顺序。 + +# 批注翻译 + +批注翻译默认自动开启,会将新的批注文本进行翻译并将结果放在批注评论(comment)中。可在设置中关闭自动翻译批注,或设置批注翻译结果存放位置。 + +也可通过左侧批注栏中,每个批注左上角的按钮手动翻译批注。 + +翻译批注后,可在右侧栏中编辑源文本并重新翻译。翻译结果将会更新到批注中。可在设置中禁用这一行为。 + +# 翻译结果加入笔记 + +如果右侧栏已有笔记打开,在选中文本后,弹窗中会出现`添加到笔记`按钮。点击可将选中文本及其翻译添加到右侧笔记中。 + +可在设置中禁用这一行为。 + +# 标题翻译 + +在库视图中,选中一个或多个文献条目,右键点击,在菜单中选择`标题翻译`即可。快捷键为`ctrl/command+T`。翻译结果将存在条目的短标题栏,并会在条目列表中显示。 + +快捷键还可以用于切换条目列表显示原标题/翻译后的标题。 + +# 摘要翻译 + +与标题翻译一样,选中文献条目后在右键菜单中选择`更多翻译选项-翻译摘要`即可。翻译结果将存在条目的摘要栏。 + +# 独立翻译窗口与多引擎结果对比 + +在阅读界面右侧栏单击“在独立窗口中打开”按钮,可打开独立窗口。 + + + +右上角的`📌`按钮可固定窗口在阅读时始终置顶; + +右上角的`+`按钮可添加一个对比翻译引擎。翻译时,可以同时对比多个翻译引擎的结果。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232DeepL.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232DeepL.md" new file mode 100644 index 00000000..ea5b2dee --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232DeepL.md" @@ -0,0 +1,19 @@ +--- +title: 密钥申请:DeepL +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:DeepL + +# 申请方法 + +申请: + +请注意,DeepL 需要特定地区银行卡才可以注册。 + +有两类订阅:DeepL 客户端与 DeepL API。需要 API 订阅。同时请确认订阅类型是 Free 还是 Pro,选择对应的引擎。 + +# 密钥格式 + +DeepL 的 API 验证密钥,在 DeepL 官网的账户信息页面可以看到。格式类似 xxx-xxx-xxx:fx。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232OpenL.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232OpenL.md" new file mode 100644 index 00000000..60a01cd0 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232OpenL.md" @@ -0,0 +1,21 @@ +--- +title: 密钥申请:OpenL +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:OpenL + +# 申请步骤 + +申请: + + + +# 密钥格式 + +service1,service2,...#API 密钥(service codes 用','分隔). + +支持的 service codes: deepl,youdao,tencent,aliyun,baidu,caiyun,wechat,sogou,azure,ibm,aws,google, 见[Service Code](https://docs.openl.club/#/API/format?id=%e7%bf%bb%e8%af%91%e6%9c%8d%e5%8a%a1%e4%bb%a3%e7%a0%81%e5%90%8d) + +例如,你需要使用 deepl 和 youdao,你的 API 密钥(上图粉红色一长串)是 112233,则填写`deepl,youdao#112233`。其他更多或更少服务同理。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\260\217\347\211\233.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\260\217\347\211\233.md" new file mode 100644 index 00000000..bd6f2269 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\260\217\347\211\233.md" @@ -0,0 +1,21 @@ +--- +title: 密钥申请:小牛 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:小牛 + +# 申请方法 + +登录 [小牛(opens new window)](https://niutrans.vip/) + +注册成为小牛翻译开放平台用户,登录小牛控制台,在<个人中心>页基本信息部分可看到,查看及复制前需先点击右侧显示,将\*\*符号变为具体数字。注:APIKEY 在 24 小时之内只允许重置一次。 + + + +可能需要在微信公众号领取流量才可以使用。定期签到可领取每日流量。 + +# 密钥格式 + +填入上面的 API-KEY。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\275\251\344\272\221.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\275\251\344\272\221.md" new file mode 100644 index 00000000..35a3f9d9 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\275\251\344\272\221.md" @@ -0,0 +1,52 @@ +--- +title: 密钥申请:彩云 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:彩云 + +# 申请步骤 + +登录 [彩云科技开放平台(opens new window)](https://dashboard.caiyunapp.com/user/sign_in/) +(登录之前需要"邮箱注册"和"邮箱验证", 这里就不演示了) + +登录后会看到这个, 先填 "1\. 账户信息": + + + +第一步请自己填写 + + + +再填第二步 (2\. 令牌的申请信息): + + + +第二步这样填: +先选择 "彩云小译 API"(右侧那个) + +然后其他信息这样填: + +应用名: Zotero PDF Translate 应用链接: 应用开发情况: 文献管理软件 Zotero 插件 + + + +填完后长这样: + + + +提交即可,彩云会审核,耗时大概 1-2 天, +如果通过了会看到: + + + +点击红色箭头指向的 蓝色链接 进去 (令牌下面那一行) + + +复制这个 Token 即可 + + +# 密钥格式 + +填入上面的令牌 Token。例如,你的 token 是 112233aabbcc,则填入 112233aabbcc。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\276\256\350\275\257.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\276\256\350\275\257.md" new file mode 100644 index 00000000..fd035d6c --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\345\276\256\350\275\257.md" @@ -0,0 +1,29 @@ +--- +title: 密钥申请:微软 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:微软 + +# 申请步骤 + +官方文档: + +1. 打开 ,点击 start free. 登录或注册微软账号,选择 free subscription (免费订阅).[](https://user-images.githubusercontent.com/33902321/157784190-0b8e7d93-79d5-4d30-a272-c14e2fe97cf2.png) +2. 打开 + [](https://user-images.githubusercontent.com/33902321/157785103-3fda6893-94e6-4d60-817b-5b9cc190442a.png) +3. 点击 Next. 您不必更改额外内容。检查状态并单击创建。 + [](https://user-images.githubusercontent.com/33902321/157785351-e7e6b784-b16b-46a0-b560-8fcc2f767880.png) +4. 等待服务就绪。你可以在 Azure 主页中看到你的新翻译服务。 + [](https://user-images.githubusercontent.com/33902321/157785519-b7ad07cc-1781-4011-8430-fbe73563a9fb.png) +5. 单击上面显示的一项。复制密钥(KEY)。 + [](https://user-images.githubusercontent.com/33902321/157785637-6c3ec9f8-8c19-4bc6-98ee-2afdfeed1c72.png) + +恭喜!现在,您可以在剪贴板中获取密钥。在设置界面的翻译引擎的密钥栏粘贴。单击“确定”。 + +# 密钥格式 + +填入上面复制的 KEY。 + +例如,上面复制了 KEY 是 aabbcc112233,则填入 aabbcc112233。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\346\234\211\351\201\223\346\231\272\344\272\221.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\346\234\211\351\201\223\346\231\272\344\272\221.md" new file mode 100644 index 00000000..595684b3 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\346\234\211\351\201\223\346\231\272\344\272\221.md" @@ -0,0 +1,57 @@ +--- +title: 密钥申请:有道智云 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:有道智云 + +# 申请步骤 + +登录 + + + +登录后长这样 + + + +第一步:我们先创建应用 应用管理 -> 我的应用 -\> 创建应用 + + + +接入方式: 选 API +应用名称: 任意 + + + +第二步:创建实例 +接下来 "自然语言翻译" -> 翻译实例 -\> 创建实例 + + + + + +第三步:去应用里面,绑定实例: + + + +最后一步:复制 "应用 ID" 和 "应用密钥" + + + +# 密钥格式 + +应用 ID#应用密钥#VOCABID(可选) + +例如,你的应用 ID 是 112233,应用密钥是 aabbcc,则应该填入`112233#aabbcc`。 + +如果你需要设置词典 id(VOCABID),例如你的词典 id 是 999,则填入`112233#aabbcc#999`。词典 id 可省略。 + +## 关于 VOCABID + +登录控制台,选择文本翻译服务,点击右侧的术语表,选择新建,填写表名称和语言方向,添加需要的术语表,然后获取对应词表 id 即可。 + +# 官方文档 + +[Official Document](https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html) diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\347\231\276\345\272\246.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\347\231\276\345\272\246.md" new file mode 100644 index 00000000..2d6be3fa --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\347\231\276\345\272\246.md" @@ -0,0 +1,37 @@ +--- +title: 密钥申请:百度 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:百度 + +# 申请步骤 + +登录 [百度翻译开放平台(opens new window)](https://fanyi-api.baidu.com/api/trans/product/index) + +申请时这样填: + + + +- 您的应用名称是什么: + Zotero PDF Translate +- 有无应用相关的介绍链接: + +- 请简单介绍下您的应用: + 使用机器翻译功能,翻译文献 +- 服务器地址: 留空不填 + +进入 [开发者信息(opens new window)](https://fanyi-api.baidu.com/api/trans/product/desktop?req=developer) + + +复制 APP ID 和 密钥 + + +# 密钥格式 + +APPID#密钥#ACTION(可选, 见, 默认 0) + +例如,你的 APPID 是 112233,密钥是 aabbcc,则应该填入`112233#aabbcc`。 + +如果你需要设置自定义术语干预(ACTION),例如你的 action 是 999,则填入 112233#aabbcc#999。action 可省略,默认是 0。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\347\231\276\345\272\246\345\236\202\347\233\264\351\242\206\345\237\237\347\277\273\350\257\221.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\347\231\276\345\272\246\345\236\202\347\233\264\351\242\206\345\237\237\347\277\273\350\257\221.md" new file mode 100644 index 00000000..3a117f17 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\347\231\276\345\272\246\345\236\202\347\233\264\351\242\206\345\237\237\347\277\273\350\257\221.md" @@ -0,0 +1,28 @@ +--- +title: 密钥申请:百度垂直领域翻译 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:百度垂直领域翻译 + +# 申请步骤 + +与百度翻译相同,在此处申请: + +# 密钥格式 + +APPID#密钥#DOMAIN_CODE + +例如,你的 APPID 是 112233,密钥是 aabbcc,领域码(DOMAIN_CODE)是生物医药(medicine),则应该填入`112233#aabbcc#medicine`。 + +| | | | +| --------------- | ------------ | ------------ | +| **Domain Code** | **领域** | **语言方向** | +| electronics | 电子科技领域 | 中文-->英语 | +| finance | 金融财经领域 | 中文-->英语 | +| finance | 金融财经领域 | 英语-->中文 | +| mechanics | 水利机械领域 | 中文-->英语 | +| medicine | 生物医药领域 | 中文-->英语 | +| medicine | 生物医药领域 | 英语-->中文 | +| novel | 网络文学领域 | 中文-->英语 | diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\350\205\276\350\256\257.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\350\205\276\350\256\257.md" new file mode 100644 index 00000000..3582c7ef --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\257\206\351\222\245\347\224\263\350\257\267\357\274\232\350\205\276\350\256\257.md" @@ -0,0 +1,27 @@ +--- +title: 密钥申请:腾讯 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +密钥申请:腾讯 + +登录[腾讯云(opens new window)](http://cloud.tencent.com/) +**访问管理 -> 用户 -\> 用户列表** +为了安全新建一个"子用户"。我这里是已经建立好了 + + +这个"子用户"只有"文本翻译"权限,没有其他任何权限 + +"API 密钥" -> 复制 SecretId 和 SecretKey + +别忘了启用翻译 API, 左上角搜索到之后进行启用 + + +# 密钥格式 + + + +SecretId#SecretKey#Region(可选, 默认 ap-shanghai)#ProjectId(可选, 默认 0) + +例如,你这里的 SecretId 是 ABCD,SecretKey 是 112233,则填入`ABCD#112233`。若无特殊不需要填写其他字段。 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\270\270\347\224\250\350\256\276\347\275\256.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\270\270\347\224\250\350\256\276\347\275\256.md" new file mode 100644 index 00000000..954d0f87 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\347\224\250\350\256\276\347\275\256/\345\270\270\347\224\250\350\256\276\347\275\256.md" @@ -0,0 +1,65 @@ +--- +title: 常用设置 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +常用设置 + +在`菜单栏-编辑-首选项`打开设置页面。 + +基本栏中,包含了功能开关,翻译服务设置;高级栏中,包含了界面设置与策略设置。 + + + +# 翻译服务设置 + + + +## 翻译服务一览 + +| | | | | +| ------------------------------------ | ---------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| **翻译引擎** | **需要密钥** | **申请密钥与格式要求** | **支持语言** | +| Google Translate/谷歌 | No | | [100+](https://translate.google.com/about/languages/)**国内不稳定** | +| Google Translate(API)/谷歌 API | No | | Use translate.googleapis.com**国内不稳定** | +| CNKI/CNKI 学术翻译 | No | | [en-zh](https://dict.cnki.net/) | +| Youdao Translate/有道 | No | | [100+?](https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html)**不稳定** | +| Youdao Zhiyun/有道智云\* | Yes | | [100+](https://ai.youdao.com/DOCSIRMA/html/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E7%BF%BB%E8%AF%91/API%E6%96%87%E6%A1%A3/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1/%E6%96%87%E6%9C%AC%E7%BF%BB%E8%AF%91%E6%9C%8D%E5%8A%A1-API%E6%96%87%E6%A1%A3.html) | +| Niu Translate(Trial)/小牛试用 | No | | [100+](https://niutrans.com/documents/contents/trans_text#accessMode)**不稳定** | +| Niu Translate/小牛\* | Yes | | [100+](https://niutrans.com/documents/contents/trans_text#accessMode) | +| Microsoft Translate/微软\* | Yes(free 2M) | | [200+](https://docs.microsoft.com/en-us/azure/cognitive-services/translator/language-support) | +| LingoCloud(Caiyun) Translate/彩云\* | Yes | | [zh, en, ja, es, fr, ru](https://open.caiyunapp.com/LingoCloud_API_in_5_minutes) | +| DeepL Translate/DeepL(Free or Pro)\* | Yes(free 500k) | | [100+](https://www.deepl.com/pro?cta=header-prices/#developer)**国内无法注册** | +| Baidu Translate/百度\* | Yes(free-QPS1/free-2M) | | [200+](https://fanyi-api.baidu.com/product/11) | +| Baidu Field/百度垂直领域\* | Yes(free-QPS1/free-2M) | | [en-zh](https://fanyi-api.baidu.com/product/12) | +| Tencent Translate/腾讯 | Yes(QPS5, free-5M) | | [15](https://cloud.tencent.com/document/product/551/7372) | +| OpenL\* | Yes | | | + +❗ 不带*的翻译引擎可能存在无法使用、结果不准确、时不时翻译失败的可能。建议使用带*的翻译引擎。 + +💡 带有\*的翻译引擎需要设置密钥,否则无法使用。请在设置页面中根据格式要求输入对应服务的密钥,详见设置章节。 + +## 密钥申请 + +可以在**上一节的表格**找到如何申请的链接。请仔细阅读并**按照格式要求**填写密钥字段! + +见子章节。在下面的红框中**按照格式要求**粘贴你的密钥。 + + + +本节部分材料及图片来自 + +# 界面设置 + +可在此处调整侧栏的显示内容与翻译结果显示字号。右侧可预览字号与行间距。 + + + +# 按文献语言禁用自动翻译 + +对文献条目的语言一栏匹配的文献,将禁用自动翻译。 + +例如,需要禁用中文文献的自动翻译,则推荐填写`zh,zh_CN,zh-CN,中文,中文;` + + diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\350\247\201\351\227\256\351\242\230/\345\212\237\350\203\275\351\227\256\351\242\230.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\350\247\201\351\227\256\351\242\230/\345\212\237\350\203\275\351\227\256\351\242\230.md" new file mode 100644 index 00000000..0d4f6728 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\350\247\201\351\227\256\351\242\230/\345\212\237\350\203\275\351\227\256\351\242\230.md" @@ -0,0 +1,35 @@ +--- +title: 功能问题 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +功能问题 + +# 手动翻译 + +转到编辑->首选项->PDF Translate>基本,取消选中自动翻译,确定。单击弹出窗口或侧栏上的翻译按钮进行翻译。 + +# 翻译快捷键 + +选择一些文本后按快捷键 Ctrl+T。如果您在库视图中,将显示/隐藏标题的翻译。 + +# 拼接多次选中的文本并一起翻译 + +在 PDF 中选择文本时按 Alt/Option,或在侧栏中勾选拼接选取,然后翻译。 + +# 翻译结果不是我想要的语言 + +默认目标语言与 Zotero 语言相同。转到编辑->首选项->PDF Translate->基本,然后更改语言设置,确定。 + +# 更改字体大小或行间距 + +转到编辑->首选项->PDF Translate->高级并设置字体大小或行高。 + +# 手动调整/保持弹窗大小 + +转到编辑->首选项->PDF Translate->高级并设置记住弹窗大小。 + +弹窗右下角可拖动调整大小。 + + diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\350\247\201\351\227\256\351\242\230/\347\277\273\350\257\221\351\224\231\350\257\257.md" "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\350\247\201\351\227\256\351\242\230/\347\277\273\350\257\221\351\224\231\350\257\257.md" new file mode 100644 index 00000000..1e021942 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\345\270\270\350\247\201\351\227\256\351\242\230/\347\277\273\350\257\221\351\224\231\350\257\257.md" @@ -0,0 +1,71 @@ +--- +title: 翻译错误 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +翻译错误 + +一个典型的翻译错误提示(中文或英文): + +``` +[Request Error] +Engine not available, invalid secret, or request too fast. +Use another translation engine or post the issue here: +https://github.com/windingwind/zotero-pdf-translate/issues +The message below is not Zotero or the PDF Translate addon, but from +Google(API).(此处显示出现错误的翻译引擎) +Error: Request timed out(此处显示错误提示) +``` + +# 能翻译单个词语但不能翻译句子 + +单个词默认由词典引擎翻译,句子由翻译引擎翻译。此时是翻译服务出现问题,请参考下文解决办法。 + +# Google 翻译 + +**任何**问题都是因为中国大陆访问谷歌受到网络限制。 + +另外,谷歌翻译中国已宣布停止服务。 + +- 即使你能够访问谷歌翻译的网页? + +请检查代理设置。 + +- 即使你之前可能能够使用? + +网络限制随时可能发生变化。 + +Google 翻译出现问题时,请立刻考虑换一个翻译引擎。除非你愿意尝试修改 HOSTS 或具有代理能力,没有其他解决办法。 + +本文不提供相关操作的指导。 + +对于插件版本>=0.8.29,可在 Googel 或 Goolge(API)的密钥/secret 栏填入代理网址(须有效)的方式解决 Google 翻译无法访问的问题。例如`https://translate.3822808.com` ` https://translate.amz.wang``https://gtranslate.cdn.haah.net `等(以上网址来源网络,不确保有效性) + +# CNKI 翻译问题 + +当短时间内翻译频率过高,会触发人机验证。请到 [https://dict.cnki.net/index#](https://dict.cnki.net/index) 手动翻译任意词语,通过人机验证后即可继续使用。 + +# 确认翻译引擎是否需要密钥 + +翻译引擎后面带`*`的都是需要密钥的引擎,需要自己自行注册账号获取密钥,获取密钥请参考: + +## 无需密钥的翻译服务 + +这些翻译服务采用模拟网页访问的方式,因此不稳定且可能由于大量访问被短暂封禁。遇到问题请考虑换用需要密钥的翻译服务。 + +对于短暂封禁:可等待一段时间; + +对于服务被关闭:没有任何解决办法; + +对于翻译结果质量较差:没有任何解决办法。 + +## 需密钥的翻译服务 + +请按以下顺序检查: + +1. 是否正确设置密钥?请根据 检查密钥格式是否正确。 +2. 登录对应翻译服务的官网,检查账户余量。部分翻译服务在开通账号后,还需要额外操作来领取免费翻译额度或开通翻译服务。(例如,小牛、百度等) +3. 确认网络环境是否能够访问对应服务(例如,DeepL 在部分地区可能无法顺畅访问) + +如果仍然无法解决问题,请到 diff --git "a/src/user-guide/plugins/Zotero PDF Translate/\346\226\207\346\241\243\347\256\200\344\273\213.md" "b/src/user-guide/plugins/Zotero PDF Translate/\346\226\207\346\241\243\347\256\200\344\273\213.md" new file mode 100644 index 00000000..1f9ac1c9 --- /dev/null +++ "b/src/user-guide/plugins/Zotero PDF Translate/\346\226\207\346\241\243\347\256\200\344\273\213.md" @@ -0,0 +1,57 @@ +--- +title: 文档简介 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +文档简介 + +# 关于 PDF Translate + + + +Zotero PDF Translate 是由@windingwind 开发的,用于文献管理软件 Zotero 的翻译插件。它完全开源、免费,主要功能有: + +- 划词翻译(自动/手动) +- 标题、摘要翻译与源文本/翻译结果显示切换 +- 批注翻译(自动/手动) +- 支持 15+种翻译服务与 4+种字典服务 +- 自定义翻译侧栏 UI,支持同时使用多种翻译引擎 + +插件深度集成了 Zotero 文献阅读功能。主页是 + +本文档主要介绍了翻译插件的基本功能,使用方法。 + +# 如何使用本文档 + +## 善用搜索 + +在 PC 端打开本文档,可在左侧大纲进行跳转与搜索。上方搜索栏可以搜索全文。 + +例如,如果你想了解关于“密钥设置”,则可直接在上方搜索栏中键入“密钥”。 + +## 留言讨论 + +欢迎在文档下方留言,讨论关于插件的问题。你的问题也可能帮助到其他人。 + +对于 Bug 报告或明确的功能请求,请直接在 GitHub 提 Issue。 + +## 分享知识 + +如果觉得本文档有用,欢迎分享给有需要的人! + +# 常用文档和链接 + +Zotero 下载: + +GitHub 主页: + +插件下载(请下载 xpi 文件): + +如果无法访问 GitHub,请在中文插件镜像 + +笔记插件文档《Zotero Better Notes:基于知识的笔记插件》: + +Zotero 文档《Zotero 百科全书》(施工中): + +Zotero 插件开发文档《Zotero 插件开发中文文档》:[https://zotero.yuque.com/books/share/8d230829-6004-4934-b4c6-685a7001bfa0?#](https://zotero.yuque.com/books/share/8d230829-6004-4934-b4c6-685a7001bfa0) diff --git a/src/user-guide/plugins/about-plugin.md b/src/user-guide/plugins/about-plugin.md new file mode 100644 index 00000000..94cd8be9 --- /dev/null +++ b/src/user-guide/plugins/about-plugin.md @@ -0,0 +1,80 @@ +--- +title: 关于 Zotero 插件 +date: 2023-11-10 11:48:00 +updated: 2023-11-28 15:29:00 +--- + +# 关于 Zotero 插件 + +## 什么是插件?插件可以做什么? + +谈到 Zotero 插件,可能指的有三种东西: + +- 安装在 Zotero 里的,用于增强 Zotero 的功能,一般大家提起 `Zotero 插件` 都指的是这一类。本文档中提到的 Zotero 插件都指这一种。 +- (不是 Zotero 插件,是浏览器插件)安装在浏览器里的 Zotero Connecter,用于从网页上抓取文献元数据并存到 Zotero 里。 +- (不是 Zotero 插件,是 Word 加载项)在 Microsoft Word 中的,正确称呼是 Word 加载项,用来插入引用和参考文献信息。 + +## 获取插件 + +- 官方插件收录链接: +- 国内镜像: + +::: tip 火狐浏览器用户请选择另存为 + +插件的后缀名为 `.xpi` , 如果下载到后缀为 `.xpi` 的文件,不要解压,解压后会导致插件无法安装。 + +`.xpi` 也是火狐浏览器的插件后缀,因此火狐浏览器无法直接通过点击链接进行下载,需要右击链接,选择另存为,才可将插件保存至本地。 + +::: + +::: tip Zotero 6 与 Zotero 7 的插件互不兼容 + +Zotero 6(正式版)和 Zotero 7(测试版)的插件互不兼容,请在下载插件安装包时下载与你 Zotero 版本适配的版本。[中文插件商店](https://plugins.zotero-chinese.com/)中有注明兼容的目标 Zotero 版本,下载时请务必注意。 + +Zotero 7 目前仍为测试版,使用中可能会遇到一些新问题,相关的解决方案也仍不够完善。对于绝大多数一般用户,建议继续使用 Zotero 6 正式版,并跟随正式版的更新节奏升级。 + +::: + +## 安装插件 + +依次点击 `Zotero 菜单栏` => `工具(Tools)`=> `附加组件(Add-on)`,然后将下载的 xpi 文件拖入插件窗口,即可完成安装。 + +或者点击`右上角的齿轮` => `Install Add-on From File...` => `选择刚刚下载的 xpi 文件`,即可安装成功。 + +![安装插件](../../assets/image-zotero-plugin-install.png) + +::: tip + +对于部分老版本的插件,可能需要点击 `Restart now` 或者手动重启 Zotero 才可生效。 + +::: + +::: details 无法安装插件"%S"。它可能无法与该版本的 Zotero 兼容 + +![插件安装失败](../../assets/image-zotero-插件安装失败.png) + +一些同学在安装插件的时候发现插件安装失败,Zotero 提醒不兼容。这种情况是由于下载的插件版本与插件所支持 Zotero 的版本不一致所导致的。 + +首先需要确定自己 Zotero 的版本,依次点击 `帮助` => `关于 Zotero`,即可看到自己 Zotero 的版本(如图则是 Zotero 6) + +![确定自己的版本号](../../assets/image-zotero-about-zotero.png) + +在[国内镜像](https://plugins.zotero-chinese.com/#/)下载插件时,查看页面中`目标 Zotero 版本`找到适合自己的插件版本,点击后面的下载链接就可以下载到适合自己的插件。 + +![目标 Zotero 版本](../../assets/image-%E7%9B%AE%E6%A0%87zotero%E7%89%88%E6%9C%AC.png) + +::: + +## 更新插件 + +![升级插件](../../assets/image-zotero-plugin-update.png) + +依次点击 `Zotero 菜单栏` => `工具(Tools)`=> `附加组件(Add-on)` => `右上角的齿轮` => `Check for Updates` 后 Zotero 会对插件的版本进行检查,并自动对插件进行更新。 + +::: tip + +由于大部分插件的更新页面在 GitHub,国内部分地区可能无法直接访问,从而无法通过以上方式实现对插件的更新。如果无法直接访问插件的更新,可在此处下载最新版: + +下载后,无需卸载原插件,按照安装插件的流程直接覆盖安装即可实现对插件的更新。 + +::: diff --git "a/src/user-guide/plugins/\344\270\255\346\226\207\346\226\207\347\214\256\345\242\236\345\274\272\357\274\232\350\214\211\350\216\211\350\212\261\346\217\222\344\273\266.md" "b/src/user-guide/plugins/\344\270\255\346\226\207\346\226\207\347\214\256\345\242\236\345\274\272\357\274\232\350\214\211\350\216\211\350\212\261\346\217\222\344\273\266.md" new file mode 100644 index 00000000..83cbc8c4 --- /dev/null +++ "b/src/user-guide/plugins/\344\270\255\346\226\207\346\226\207\347\214\256\345\242\236\345\274\272\357\274\232\350\214\211\350\216\211\350\212\261\346\217\222\344\273\266.md" @@ -0,0 +1,58 @@ +--- +title: 中文文献增强:茉莉花插件 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +比起其他的文献管理软件,原生的 Zotero 对中文支持并没有好到哪里去,但是得益于开源社区的维护,我们可以通过第三方 translator 库 [GitHub.com/l0o0/translators_CN](https://github.com/l0o0/translators_CN) 极大的提高其中文文献抓取能力。 + +该库的主要维护者还开发了插件 [Jasminum - 茉莉花](https://github.com/l0o0/jasminum) 来继续增强 Zotero 的中文支持,茉莉花插件提供了如下功能: + +1. 拆分或合并 Zotero 中条目作者姓和名 +2. 根据知网上下载的文献文件来抓取引用信息(就是根据文件名) +3. 添加中文 PDF/CAJ 时,自动拉取知网数据,该功能默认关闭。需要到设置中开启,注意添加的文件名需要含有中文,全英文没有效果(还是根据文件名) +4. 为知网的学位论文 PDF 添加书签 +5. 更新中文 translators +6. 拉取文献引用次数,是否核心期刊 + +## 安装茉莉花 + +### 01. 下载安装 Jasminum 插件 + +在 [Latest Release · l0o0/jasminum (GitHub.com)](https://github.com/l0o0/jasminum/releases/latest) 下载 `.xpi` 文件,插件安装见 。 + +此处为语雀内容卡片,点击链接查看: + +### 02. 配置 PDFtk + +#### 2.1 下载与安装 PDFtk + +**Windows** + +下载并安装 [PDFtk server](https://www.pdflabs.com/tools/pdftk-server/) ,记录安装路径(eg. `C: \Program Files (x86)\PDFtk`)。 + +**macOS** + +MAC 用户参考 [这里](https://github.com/l0o0/jasminum#%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8) 。 + +#### 2.2 在茉莉花中配置 PDFtk 路径 + +在 Zotero——edit——Preferences——Jasminum——Setting——PDFtk Server Execute File Path 中填写 `/bin` (eg. `C: \Program Files (x86)\PDFtk\bin`)(即 PDFtk 可执行文件所在目录)。 + + + +### 03. 安装中文 Translator + +与上一步同一界面——Unofficial Translator Repository——Refresh——Update all。 + + + +### 04. 更新中文 Translator + +打开已安装 Zotero Connector 的浏览器,右击 Zotero Connector 图标进入拓展选项,Advanced——Update Translators。 + + + + + +如果你打开了日志,则会看到绿色标出的提示。 diff --git "a/src/user-guide/plugins/\346\226\207\347\214\256\351\242\204\350\247\210\357\274\232PDF Preview_QuickLook.md" "b/src/user-guide/plugins/\346\226\207\347\214\256\351\242\204\350\247\210\357\274\232PDF Preview_QuickLook.md" new file mode 100644 index 00000000..651435d2 --- /dev/null +++ "b/src/user-guide/plugins/\346\226\207\347\214\256\351\242\204\350\247\210\357\274\232PDF Preview_QuickLook.md" @@ -0,0 +1,60 @@ +--- +title: 文献预览:PDF Preview/QuickLook +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +# Zotero PDF Preview 插件 + +[](https://github.com/windingwind/zotero-pdf-preview/blob/master/image/README/teaser.gif) + +在库视图中预览 PDF 附件。 + +快速方便。不需要任何第三方软件。 + +主页及下载: + +## 使用 + +预览可以在 Zotero 主窗口的右侧面板中找到。您可以在信息窗格的顶部/底部或预览窗格中预览项目。请参见设置以自定义预览位置。 + +## 快捷键 + +要在信息窗格中显示/隐藏预览,请使用快捷键 P 或拖动/单击切换栏。 + +要放大或缩小,请按住 ctrl/cmd 并滚动,或按住 ctrl/cmd 与+/-; + +要重置缩放,请使用 ctrl/cmd+0。 + +## 设置 + +在此处查看设置:菜单栏->编辑->首选项->预览 + +| | | | +| ----------------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------- | +| **设置** | **描述** | **默认值** | +| 启用预览 | Enable to allow the preview behavior. | true | +| 在信息面板中预览 | Enable to show the preview in a split view under 'info' tab. | true | +| 预览位置 | Preview position in the Info Tab | bottom | +| 在独立预览面板中预览 | Enable show the preview in a new tab of right sidebar. | true | +| 在信息/独立预览面板中显示工具 | Enable show the toolbar there. | true | +| 显示注释 | Enable to show annotations of the PDF files. May slow down the preview speed. | false | +| 显示悬停页面样式 | Enable extra style of the hovered page: box shadow and hand cursor. | true | +| 双击预览页面以打开/转跳 PDF | Enable double-click to open/jump to the selected page of PDF. | true | +| 黑暗模式 | Enable to preview PDF files in dark mode. This is a naive dark mode and images color may not be displayed correctly. | false | +| *预览前 N*页 | See [below](https://github.com/windingwind/zotero-pdf-preview#advanced-usage-of-preview-page-index) | 10 | +| 预览面板名称 | Set the tab label. | preview | + +### 预览页面索引的高级用法 + +除了直接填写数字(前 N 页)外,支持 python 风格的切片语法,例如`:3,-4:`(前三页与末四页),`2:5`(第 2-5 页)等。 + +详见 + +# ZoteroQuickLook 插件 + +调用外部预览功能(在非 macOS 系统上依赖第三方软件 QuickLook)。 + +无法预览 Zotero 内的注释高亮。 + +主页及下载: diff --git "a/src/user-guide/plugins/\346\237\245\350\257\242\345\274\225\347\224\250\346\254\241\346\225\260.md" "b/src/user-guide/plugins/\346\237\245\350\257\242\345\274\225\347\224\250\346\254\241\346\225\260.md" new file mode 100644 index 00000000..3f25e586 --- /dev/null +++ "b/src/user-guide/plugins/\346\237\245\350\257\242\345\274\225\347\224\250\346\254\241\346\225\260.md" @@ -0,0 +1,7 @@ +--- +title: 查询引用次数 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +查询引用次数 diff --git "a/src/user-guide/plugins/\346\267\273\345\212\240\345\275\261\345\223\215\345\233\240\345\255\220.md" "b/src/user-guide/plugins/\346\267\273\345\212\240\345\275\261\345\223\215\345\233\240\345\255\220.md" new file mode 100644 index 00000000..35531aad --- /dev/null +++ "b/src/user-guide/plugins/\346\267\273\345\212\240\345\275\261\345\223\215\345\233\240\345\255\220.md" @@ -0,0 +1,30 @@ +--- +title: 添加影响因子 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +显示期刊等级信息,数据源由 EasyScholar 提供。 + +项目主页: + +下载地址: + +- GitHub: +- 国内镜像: + +安装插件后,选中需要更新期刊信息的条目(可多选),右击,选择“从 easyScholar 更新期刊信息”菜单。 + + + +该期刊的信息将根据设置写入指定的字段: + + + +你可以在这里修改写入哪些期刊信息,写入到哪里: + + + +如果你的 Zotero 是中文,则该窗口也将显示中文,可以根据自身需要勾选配置。 + + diff --git "a/src/user-guide/plugins/\347\254\224\350\256\260\345\242\236\345\274\272\357\274\232Better Notes\346\217\222\344\273\266.md" "b/src/user-guide/plugins/\347\254\224\350\256\260\345\242\236\345\274\272\357\274\232Better Notes\346\217\222\344\273\266.md" new file mode 100644 index 00000000..eaab5377 --- /dev/null +++ "b/src/user-guide/plugins/\347\254\224\350\256\260\345\242\236\345\274\272\357\274\232Better Notes\346\217\222\344\273\266.md" @@ -0,0 +1,24 @@ +--- +title: 笔记增强:Better Notes插件 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +深度适配 Zotero 阅读器的笔记插件 + +完整文档地址: + +项目主页: + +下载地址: + +- GitHub Release:[https://github.com/windingwind/zotero-better-notes/releases](https://github.com/windingwind/zotero-better-notes) +- 国内镜像: + +![5d8e6c1e044db2d270d895c386b20fea.png](../../../src/assets/index-bnnote.png) + +Zotero Better Notes 是由@windingwind 开发的,用于文献管理软件 Zotero 的笔记插件。它完全开源、免费,支持双链笔记,支持 markdown 与标记语言,深度集成了文献管理与阅读功能。 + +本文档主要介绍了 Better Notes 的基本功能,使用方法,并分享了几种使用 Better Notes 的工作流。 + +从[文档简介](https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/biigg4)开始了解 Better Notes! diff --git "a/src/user-guide/plugins/\350\207\252\345\212\250\346\240\271\346\215\256DOI\344\270\213\350\275\275PDF\357\274\232Zotero-scihub.md" "b/src/user-guide/plugins/\350\207\252\345\212\250\346\240\271\346\215\256DOI\344\270\213\350\275\275PDF\357\274\232Zotero-scihub.md" new file mode 100644 index 00000000..7d00d53b --- /dev/null +++ "b/src/user-guide/plugins/\350\207\252\345\212\250\346\240\271\346\215\256DOI\344\270\213\350\275\275PDF\357\274\232Zotero-scihub.md" @@ -0,0 +1,103 @@ +--- +title: 自动根据DOI下载PDF:Zotero-scihub +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +## 一、项目地址 + +### (一)GitHub 地址 + +#### [ethanwillis/Zotero-scihub: A plugin that will automatically download PDFs of Zotero items from sci-hub (GitHub.com)](https://github.com/ethanwillis/zotero-scihub) + +### (二)下载地址 + +#### + +#### 在这个页面中选择 Zotero Scihub,访问不了 GitHub 可以选择国内源就可以下载了 + +## 二、使用注意 + +### (一)常见设置 + + + +### (二)常见问题 + +#### 1.会弹个 Error Javascipt 弹窗 + +##### 最新版这个弹窗 + + + +##### 旧版这个弹窗 + + + +#### 2.出现的原因 + +##### 出自于 ethanwillis/Zotero-scihub/-/blob/master/content/scihub.ts 中写到,当 scihub 网站要求验证码时候,会中断程序弹出 error + + + +#### 3.建议在知网抓取文献的时候,要把 scihub 自动抓取给关闭了,因为没有 scihub 一般没有收录中文文献。有时候一些英文文献很早的以及很新的没有收录的,还有一种情况就是访问次数过多以后,Sichub 服务器识别到了就拒绝了你的请求,就只有换另一个服务器了 + +#### 4. 一个小的建议,毕竟 scihub 是一个免费的网站,不要短时间一下子下载太多了,这样子既能确保你可以愉快的下载,又不会对于 scihub 服务器造成压力,理性下载 + +## 三、不使用插件的原始方法 + +### (一)操作步骤 + +#### 1.在右上角点击编辑选项 + + + +#### 2.在编辑选择中,选择高级选项卡,最好点击“配置编辑器” + + + +#### 3.同意警告 + + + +#### 4.搜索 extensions.Zotero.findPDFs.resolvers + + + +#### 5.将这一串代码粘贴进去 + +{"name":"Sci-Hub","method":"GET","url":"[https://sci-hub.ru/{doi}","mode":"html","selector":"#pdf","attribute":"src","automatic](https://sci-hub.ru/%7Bdoi%7D%22,%22mode%22:%22html%22,%22selector%22:%22#pdf%22,%22attribute%22:%22src%22,%22automatic)":false} + +```plain +{ + "name":"Sci-Hub", + "method":"GET", + "url":"https://sci-hub.ru/{doi}", + "mode":"html", + "selector":"#pdf", + "attribute":"src", + "automatic":true +} +``` + +#### 6.其中"url":"[https://sci-hub.ru/{doi}](https://sci-hub.ru/%7Bdoi%7D)", 可以进行替换源"url":"[https://sci-hub.st/{doi}](https://sci-hub.st/%7Bdoi%7D)" + +## 四、两种方法的区别 + +### (一)插件直接在首选项插件选项里面,修改镜像网址就行了。而使用第二种的方式进行配置如果镜像寄了,还需要在重新来一遍进行配置替换镜像地址,操作更加繁琐 + +### (二)抓不到或者被拒绝访问以后,第二种不会弹弹窗 + +### (三)被 scihub 拒绝了,都还是一样抓取不到文献 + +## 五、Scihub 官方镜像地址 + +[sci-hub.se](https://sci-hub.se/) +[sci-hub.st](https://sci-hub.st/) +[sci-hub.ru](https://sci-hub.ru/) + +## 六、补充资料 + +### 代码原截图 + + diff --git "a/src/user-guide/plugins/\351\230\205\350\257\273\347\277\273\350\257\221\357\274\232PDF Translate\346\217\222\344\273\266.md" "b/src/user-guide/plugins/\351\230\205\350\257\273\347\277\273\350\257\221\357\274\232PDF Translate\346\217\222\344\273\266.md" new file mode 100644 index 00000000..e5581fb9 --- /dev/null +++ "b/src/user-guide/plugins/\351\230\205\350\257\273\347\277\273\350\257\221\357\274\232PDF Translate\346\217\222\344\273\266.md" @@ -0,0 +1,30 @@ +--- +title: 阅读翻译:PDF Translate插件 +date: 2023-06-28 21:14:03 +updated: 2023-07-28 10:38:12 +--- + +深度适配 Zotero 阅读器的翻译插件 + +完整文档地址: + +项目主页: + +下载地址: + +- GitHub Release: +- 国内镜像: + + + +Zotero PDF Translate 是由@windingwind 开发的,用于文献管理软件 Zotero 的翻译插件。它完全开源、免费,主要功能有: + +- 划词翻译(自动/手动) +- 标题、摘要翻译与源文本/翻译结果显示切换 +- 批注翻译(自动/手动) +- 支持 15+种翻译服务与 4+种字典服务 +- 自定义翻译侧栏 UI,支持同时使用多种翻译引擎 + +插件深度集成了 Zotero 文献阅读功能。 + +本文档主要介绍了翻译插件的基本功能,使用方法。 diff --git a/src/user-guide/quick-start.md b/src/user-guide/quick-start.md new file mode 100644 index 00000000..93e858c6 --- /dev/null +++ b/src/user-guide/quick-start.md @@ -0,0 +1,187 @@ +--- +title: 快速开始 +# order: 2 +icon: selection +date: 2023-06-28 20:27:28 +updated: 2023-09-19 23:23:59 +--- + +# 快速开始 + +::: tip + +本节是 [quick start guide [Zotero Documentation]](https://www.zotero.org/support/quick_start_guide) 的翻译。您也可以参阅其他内部章节以获得更多详细步骤指导。 + +::: + +## 基础知识 + +### 如何安装 Zotero? + +阅读 [安装 Zotero](install.md) + +### 如何打开 Zotero? + +![image](../assets/46510f422020d39fa7a495030129abe3_MD5.png) + +从操作系统的任务栏/程序面板打开 Zotero。 + +### Zotero 是做什么的? + +![image](../assets/fec738499e295fe7967677534303846a_MD5.png) + +Zotero 是一个文献管理软件。它旨在存储、管理和引用参考书目,例如书籍和文章。在 Zotero 中,这些引用中的每一个都构成一个条目。更广泛地说,Zotero 是收集和组织研究信息和资源的强大工具。 + +### 有何种类型的条目? + +![image](../assets/80cebc82ab653f229fecd246e695ed10_MD5.png) + +每个条目都包含不同的元数据,具体取决于它的类型。条目可以是从书籍、文章和报告到网页、艺术品、电影、信件、手稿、录音、账单、案例或法规等的所有内容。 + +### 关于条目信息 + +![image](../assets/1a7ad705eb230c7ba84bd4f40fc9b75d_MD5.png) + +条目出现在 Zotero 的中间区域。当前选中条目的元数据显示在右侧窗格,包括标题、创作者、出版商、日期、页码以及引用该条目所需的任何其他数据。 + +## 管理文献 + +### 文献分类 + +[![image](../assets/f12861c197d522f4d27795857b2eb167_MD5.png)](https://www.zotero.org/support/collections_and_tags#collections) + +左侧窗格的 `我的文库` 中包含个人账户下的的所有条目。右键单击 `我的文库` 或单击 新建分类 按钮(![image](../assets/9958cfad093ea585c48823597c949a33_MD5.png)在左窗格上方)创建一个新分类,即一个用于收纳文献条目的文件夹,其中可以放置特定主题相关的条目。将分类想象为音乐播放器中的播放列表:分类中的条目是文库中条目的一个“链接”。同一条目可以同时属于多个分类。 + +### 标签 + +[![image](../assets/47516f8b73477847a13a2c861e80ed10_MD5.png)](https://www.zotero.org/support/collections_and_tags#tags) + +可以为条目分配 [标签](https://www.zotero.org/support/collections_and_tags#tags)。标签由用户命名。可以根据需要为条目分配任意数量的标签。使用左侧窗格底部的标签选择器或通过右侧窗格中任何条目的标签选项卡添加或删除标签。最多可以为 6 个标签分配**颜色**。彩色标签在条目列表中显示,并且可以使用键盘上的数字键快速添加或删除。 + +### 搜索 + +[![image](../assets/8e686e20166cd2b80650413b68a0df0e_MD5.png)](https://www.zotero.org/support/searching) + +[快速搜索](https://www.zotero.org/support/searching) 显示元数据、标签或全文内容与搜索词匹配的条目。单击搜索框左侧的放大镜图标将打开“高级搜索”窗口,允许进行更复杂或更具体的搜索。 + +### 保存的搜索 + +[![image](../assets/9d07a67981c445f862fa46bddbfcd0db_MD5.png)](https://www.zotero.org/support/searching) + +[高级搜索](https://www.zotero.org/support/searching) 可以保存在左窗格中。看起来类似于上面所说的分类,但其中的条目会根据搜索条件自动更新。 + +## 收集文献 + +### 附件 + +[![image](../assets/474334b603ae0913ad81a0ddd1dcbe91_MD5.png)](https://www.zotero.org/support/attaching_files) + +每个条目可以附有笔记、文件和链接。这些 [附件](https://www.zotero.org/support/attaching_files) 显示在其父项下方。通过单击其父项旁边的箭头,可以显示或隐藏附件。要全部显示或隐藏,快捷键为 + 与 -。 + +### 笔记 + +[![image](../assets/f2974abc4c735ba534351be3deeb9427_MD5.png)](https://www.zotero.org/support/notes) + +富文本 [笔记](https://www.zotero.org/support/notes) 可以附加到任何条目。可以在右侧窗格或独立窗口中进行编辑。单击工具栏中的新建笔记按钮 (![image](../assets/f81582c347a14412dfbd1d3f98b0267b_MD5.png)以创建笔记。 + +### 文件 + +[![image](../assets/cd4a48155186f0307118c55deb327ed4_MD5.png)](https://www.zotero.org/support/attaching_files) + +任何类型的文件都可以 [附加](https://www.zotero.org/support/attaching_files) 到条目上。使用 Zotero 工具栏中的添加附件(回形针)按钮,通过右键单击现有条目或拖放来附加文件。或者,文件不需要附加到现有条目。它们可以直接添加到您的库中。[当您使用浏览器中](https://www.zotero.org/support/quick_start_guide#capturing_items) 的 Zotero 连接器导入条目时,也可以自动下载文件。 + +### 链接和快照 + +[![image](../assets/d755599b6302d243d9938064d33f45a4_MD5.png)](https://www.zotero.org/support/attaching_files#web_snapshots) + +[网页](https://www.zotero.org/support/attaching_files#web_snapshots) 可以作为链接或快照附加到任何条目。Zotero 可以保存网页的快照,快照是网页的本地存储副本,其状态与保存时相同。无需互联网连接即可使用快照。 + +### 抓取条目 + +[![image](../assets/e05c956235f0b444099562d95e36a500_MD5.png)](https://www.zotero.org/support/getting_stuff_into_your_library) + +使用适用于 Chrome、Firefox 或 Safari 的 Zotero 连接器,可以轻松地从 Internet 上的可用信息 [创建新条目](https://www.zotero.org/support/getting_stuff_into_your_library)。通过单击按钮,Zotero 可以自动创建适当类型的条目并填充元数据字段,下载全文 PDF(如果可用),并附加有用的链接(例如,到 PubMed 条目)或补充数据文件。 + +### 单个或多个抓取 + +[![image](../assets/f38b68d04c167de25cd6e1f59b3dea59_MD5.png)](https://www.zotero.org/support/getting_stuff_into_your_library) + +如果 [保存图标](https://www.zotero.org/support/adding_items_to_zotero) 是书籍、文章、图像或其他单个条目,单击它将将该条目添加到 Zotero 中的当前收藏。如果保存图标是文件夹,则网页包含多个条目。单击它将打开一个对话框,从中可以选择条目并将其保存到 Zotero。 + +### 转换器 Translator(旧称翻译器) + +[![image](../assets/15c0d731ab0b78bf8bc194ec9e5d79a1_MD5.png)](https://www.zotero.org/translators) + +Zotero 使用称为 [转换器](https://www.zotero.org/translators) 的代码来识别网页上的信息。如果您使用的网站没有支持,请随时在 [Zotero 论坛](https://www.zotero.org/forum) 上请求。 + +### 保存网页 + +[![image](../assets/56bb224283b259e7ad53bba8c4074d12_MD5.png)](https://www.zotero.org/support/attaching_files#web_snapshots) + +如果 Zotero 连接器无法识别页面上的数据,您仍然可以单击浏览器工具栏中的保存按钮将页面保存为带有附加快照的 [网页条目。](https://www.zotero.org/support/attaching_files#web_snapshots) 虽然这将保存基本元数据(标题、URL、访问日期),但您可能需要从页面手动填写其他元数据。 + +### 通过标识符添加条目 + +[![image](../assets/d5cc90422e3df7d03c9a75b458c6cde1_MD5.png)](https://www.zotero.org/support/getting_stuff_into_your_library#add_item_by_identifier) + +Zotero 可以使用 ISBN 号、数字对象标识符 (DOI) 或 PubMed ID[自动添加条目。](https://www.zotero.org/support/adding_items_to_zotero#add_item_by_identifier) 这可以通过单击 Zotero 工具栏中的按标识符添加条目按钮 (![image](../assets/4c392ee9159b3a2ab22f4a5dc63b27b0_MD5.png)),输入标识符,然后单击确定来完成。您甚至可以一次粘贴或输入(按 Shift+Enter 以获得更大的框)此类标识符的列表。 + +### 订阅 + +[![image](../assets/60cbda53f8de56de50bdb15d9dfc8b78_MD5.png)](https://www.zotero.org/support/feeds) + +从您最喜欢的期刊或网站订阅 [RSS 提要](https://www.zotero.org/support/feeds),以了解最新研究。转到文章网页或单击按钮将条目保存到您的图书馆。 + +### 手动添加条目 + +[![image](../assets/e99c949fbf9a48dab6305a9244ea7a8a_MD5.png)](https://www.zotero.org/support/adding_items_to_zotero#manually_adding_items) + +可以通过单击 Zotero 工具栏中的新条目绿色按钮 (![image](../assets/22d87fc4f7495df92efaebe988b38136_MD5.png)) 并选择适当的条目类型来 [手动添加条目。](https://www.zotero.org/support/adding_items_to_zotero#manually_adding_items) 然后可以在右侧窗格中手动添加元数据。虽然您通常不应该手动添加条目,但它对于添加在线不可用的文档很有用。 + +## 引用 + +### 引用条目 + +[![image](../assets/033a4684b6867c7e4dc87acd6423c99a_MD5.png)](https://www.zotero.org/styles) + +Zotero 使用引文样式语言 (CSL) 来正确格式化许多不同书目 [样式](https://www.zotero.org/styles) 的引文。Zotero 支持所有主要风格(Chicago, MLA, APA, Vancouver 等)以及超过 8,000 种期刊和出版商的特定风格。 + +### Word 集成 + +[![image](../assets/e32b58ee1c85587c51497c81de98d39a_MD5.png)](https://www.zotero.org/support/word_processor_integration) + +Zotero 的 Word、LibreOffice 和 Google Docs 插件允许用户直接从他们的文字处理软件 [插入引文。](https://www.zotero.org/support/word_processor_integration) 这使得引用多个页面或来源或以其他方式自定义引用变得轻而易举。支持文本内引用、脚注和尾注。借助 [社区开发的插件](https://www.zotero.org/support/plugins#latex_tex_and_plain_text_editors),Zotero 还可以与 LaTeX、Scrivener 和许多其他写作程序一起使用。 + +### 自动参考书目 + +[![image](../assets/7f7e2dca1e509cf53dffb18431304d0c_MD5.png)](https://www.zotero.org/support/word_processor_plugin_usage) + +使用 [文字处理器插件](https://www.zotero.org/support/word_processor_plugin_usage) 可以从引用的条目自动生成参考书目,并通过单击按钮切换整个文档的引用样式。 + +### 手动引文 + +[![image](../assets/1a2a19b3c0e17fbb4805d0b53ff1b1b0_MD5.png)](https://www.zotero.org/support/creating_bibliographies) + +Zotero 还可以将 [引文和参考书目](https://www.zotero.org/support/creating_bibliographies) 插入到任何文本字段或程序中。只需拖放条目,使用快速复制将引文发送到剪贴板,或将它们直接导出到文件。 + +## 合作 + +### 同步 + +[![image](../assets/5db26b70fa394ac4b20c8f9702899bc6_MD5.png)](https://www.zotero.org/support/sync) + +通过 [Zotero 同步](https://www.zotero.org/support/sync) 在多台计算机上使用 Zotero 。图书馆条目和笔记通过 Zotero 服务器同步(无限存储),而附件同步可以使用 Zotero 服务器或您自己的 WebDAV 服务来同步文件,例如 PDF、图像或音频/视频。 + +### Zotero Servers + +[![image](../assets/a81c5f82bdf314dc4b746e5265fe0773_MD5.png)](https://www.zotero.org/support/sync) + +同步到 Zotero 服务器的条目可以通过您的 [Zotero.org](https://www.zotero.org/) 帐户在线访问。与他人共享您的图书馆或从选定的条目创建自定义简历。 + +[使用 My Publications](https://www.zotero.org/support/my_publications) 为读者、公众和其他研究人员在 [Zotero.org](https://www.zotero.org/) 上随时提供您的研究副本。 + +### 团队 + +[![image](../assets/9383416a28f689e820457d0baf6d4158_MD5.png)](https://www.zotero.org/support/groups) + +Zotero 用户可以创建协作或 [组](https://www.zotero.org/support/groups)。共享组库使在线和通过 Zotero 客户端协作管理研究资源和材料成为可能。[Zotero.org](https://www.zotero.org/) 可以成为您所有条目组的研究、交流和组织的中心。 diff --git a/src/user-guide/sync.md b/src/user-guide/sync.md new file mode 100644 index 00000000..2f91962c --- /dev/null +++ b/src/user-guide/sync.md @@ -0,0 +1,208 @@ +--- +title: 数据与文件的同步 +icon: async +date: 2022-09-14 20:52:08 +updated: 2023-09-23 20:52:08 +--- + +# 数据与文件的同步 + +我们在这里把同步分为“数据的同步”和“文件的同步”。 + +数据的同步指 `条目字段信息`、`批注`、`笔记` 的同步,这些数据仅能通过 Zotero 官方提供的服务同步。 + +文件的同步指 `PDF 附件`、`网页附件`、`Word 文档`、`EPub 文件` 等所有附件的同步。这些文件既可以通过 Zotero 官方服务同步,也可以通过 WebDAV 网盘来同步。 + +::: danger + +无论你选择何种同步方案, 切勿将 Zotero 的 `数据存储位置/Data Directory Location` 自定义为任何网盘的同步文件夹中 (包括 iCloud),也切勿使用任何网盘/同步盘的备份功能直接同步/备份这一目录 !(包括但不限于直接使用坚果云的官方客户端直接同步备份这一文件夹) + +这样做在某些情况下可能会导致你的 Zotero 数据库损坏,带来严重的问题!官方对于这一问题的说明见这两篇文章: + +- [How can I access my library from multiple computers?](https://www.zotero.org/support/sync#alternative_syncing_solutions) +- [Can I store my Zotero data directory in a cloud storage folder?](https://www.zotero.org/support/kb/data_directory_in_cloud_storage_folder) + +::: + +## 数据的同步 + +::: tip + +无论如何,您都需要注册一个 Zotero 的官方账户,用于同步条目信息、批注以及笔记。如果您没有注册,可 [快速创建一个 Zotero 账户](https://www.zotero.org/user/register)。 + +::: + +之后您可以在 `Zotero`-`编辑`-`首选项`-`同步`-`设置`中 输入您的帐号密码,进行登陆。 + +![账号登录](../assets/image-zotero-帐号登陆.png) + +每个 Zotero 用户都可以获得 300 MB 的免费 Zotero 存储空间,用于存储附加文件,并可 [购买更大的存储空间](https://www.zotero.org/settings/storage?ref=sib)。如果您拥有钞能力,这是最简单的备份方法,在登陆您的 Zotero 账户并完成购买后无需其他任何设置。 + +| 存储空间 | 费用 (USD) | +| :------------: | :---------------------------------: | +| 300 MB | Free | +| 2 GB | $20/year (equal to $1.67 per month) | +| 6 GB | $60/year (equal to $5 per month) | +| Unlimited 无限 | $120/year (equal to $10 per month) | + +如果您想免费进行进行文件的同步,那么您具有两种网盘同步方式:**支持 WebDAV 的网盘(推荐)**和**第三方同步盘**。对于新手,建议从 WebDAV 网盘同步入手,在熟悉各种问题的解决方法和同步原理后,可尝试第三方网盘的同步方式。 + +::: tip + +无论附件采用何种方式同步,条目信息、批注、笔记始终是通过 Zotero 官方的服务同步的。 + +不要担心,这部分占用的体积很小,只要不同步附件,官方的空间是足够的。 + +::: + +::: warning + +我们始终建议通过官方服务或 WebDAV 网盘进行附件同步。网上流传较广的 ZotFile 方案已经过时,不再被官方所推荐,且不支持移动端同步。 + +::: + +## 通过 WebDAV 同步附件 + +::: tip 什么是 WebDAV + +WebDAV 是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。 +通俗一点儿来说,WebDAV 就是一种互联网方法,应用此方法可以在服务器上划出一块存储空间,可以使用用户名和密码来控制访问,让用户可以直接存储、下载、编辑文件。 + +::: + +目前国内支持 WebDAV 同步的只有坚果云网盘,常见的如百度网盘、阿里云盘、OneDrive 等均不支持 WebDAV 同步。后续教程将以坚果云网盘为例。 + +如果您没有坚果云网盘的账户,请先 [注册坚果云](https://www.jianguoyun.com/d/signup)。 + +坚果云免费用户具有以下限制: + +- 流量与空间限制:每月上传流量 1G/月、下载流量 3G/月、空间受限于上传流量, + +- 文件上传大小限制:当前 WebDAV 客户端和网页端上传大小的限制是一致的,默认为 500M(私有云可以通过相关设置调整)。 + +- 访问频率限制:由于 WebDAV 协议比较占用系统资源,免费版用户限制访问频率为每 30 分钟不超过 600 次请求。付费用户限制访问频率为每 30 分钟不超过 1500 次请求。 + +当然对于大部分用户免费账户是完全够用的(虽然每个月只有 1g 上传流量,但是好处是每个月都可以有 1g,一年最多可以拥有 12g)。对于小部分用户,可通过付费[购买专业版](https://www.jianguoyun.com/s/pricing)或者使用其他支持 WebDAV 同步的网盘。 + +### PC 端 + +1. [登陆](https://www.jianguoyun.com/d/login)您的坚果云账户。 + +2. 登录后点击 右侧用户名=>账户信息 + + ![账户信息](../assets/image-坚果云-账户信息.png) + +3. 选择安全选项,下滑到底,点击添加应用。 + + ![添加应用](../assets/image-坚果云-添加应用.png) + +4. 完成后,记录下生成的密码。 + + ![生成应用密码](../assets/image-坚果云-生成密码.png) + + ![复制应用密码](../assets/image-坚果云-密码.png) + +5. 打开 `Zotero`,`编辑`——`首选项`——`同步`——`文件同步`,使用 `Zotero` 改成 `WebDAV`,并填写你的坚果云的服务器地址:`dav.jianguoyun.com/dav`。 + 用户名是坚果云账号,密码是上一步中的应用密码(非坚果云账号登录密码),设置好后点击 `Verify Server` 即可。 + + ![登陆WebDAV账户](../assets/image-zotero-登陆webdav账户.png) + +6. 到此处,电脑上关于坚果云的同步设置就完成了。 + +7. 回到首页,点击右边的绿色的圈就可以同步更新,如果是第一次设置,会提示在坚果云里自动创建一个名叫 `Zotero` 的文件夹,用于存放同步更新的文件。 + + ![同步图标](../assets/image-zotero-同步图标.png) + +::: details 自定义存放路径 + +如果在坚果云里新建了一个文件夹,想将文件放在那个文件夹里的话,那么在填写服务器地址时,需要添加对应的文件夹名字(建议文件夹用英文或数字命名),例如 work,那么服务器地址填写如下: + +![WebDAV网址设置](../assets/image-zotero-webdav网址设置.png) + +此时,你的 Zotero 的同步文件将会放在 `根目录/work/Zotero` 中。 + +::: + +### iOS + +::: tip + +在进行该部分操作时,请确保您拥有 `Zotero账户`、`具有WebDAV同步功能的网盘`、`完成PC端相关设置`。 + +::: + +官方已经发布了 Zotero for iOS,并且支持支持 WebDAV 同步,iOS 端的设置相对比较简单,只需要登陆 Zotero 账户和完成 WebDAV 网盘设置即可。 + +1. 首先您需要在 App Store [下载 Zotero](https://apps.apple.com/cn/app/zotero/id1513554812) + +2. 在第一次打开 Zotero 时,会提醒登陆,选择 Sign In(此时需要登陆你的 Zotero 账户) + + ![登陆Zotero账户](../assets/image-iOS登陆.jpg){width=50%} + +3. 登陆完成后,返回 app 主页,点击右上角的齿轮图标 + + ![app首页](../assets/image-iOS首页.png) + +4. 点击 `account` 进入同步设置 + +5. 从上到下依次为: + + - 附件同步方式:`WebDAV` + - WebDAV 地址:`dav.jianguoyun.com/dav` + - 坚果云账户:邮箱 + - 密码:此处的密码是在坚果云中创建的应用密码,不是坚果云网盘的登陆密码) + + 验证服务器后显示`Verified` 表示设置成功。 + + ![iOS同步登陆](../assets/image-iOS同步登陆.png) + +6. 等待片刻文献即可同步成功。可以点击文献直接阅读,也点击文献右侧的 `i` 标志查看文献信息 + ![文献同步成功](../assets/image-iOS文献同步成功.png) + +7. 在文献阅读时,可以进行高亮内容,任意划线等操作。完成阅读是直接返回,你的阅读记录会后台自动同步到其他客户端。 + ![文献阅读](../assets/image-iOS文献阅读.png) + +### Android + +::: tip + +Zotero 官方已经在测试 Android 版本客户端,预计 2023 年底左右会发布。 + +::: + +目前使用较多的 Android 客户端是 Zoo,开源免费,主要功能有: + +- 查看不同文件目录分类,包括子文件目录。不能编辑 +- 支持群组条目查看,不能编辑 +- 支持创建,编辑和删除笔记。这里是笔记,不是 PDF 里的注释笔记 +- 支持搜索功能,包括条目和笔记 +- 支持 WebDAV 附件下载与上传 + +1. Zoo for Zotero APP 在 Google Play 搜索 Zoo for Zotero 下载,也可以从 Zotero 中文小组提供的镜像 [点击下载 Zoo](https://ftp.linxingzhong.top/zooforzotero_43_apps.evozi.com.apk) 地址下载 + +2. 为了安全,一般国产手机或平板使用的操作系统,在安装第三方 apk 时会有各种限制,可以自行在搜索引擎上搜索如**小米手机如何安装第三方 app**,**华为平板要怎么安装第三方 app** + +3. Zoo 安装成功后,需要使用 Zotero 授权的 API key 才能访问 Zotero 数据库。如果你已有一个 API key,可直接在下图中直接填入。一般刚使用 Zoo 的同学,都需要重新申请一下,输入 Zotero 账号和密码,点击 Got it,在授权页面注意需要选择 7 Save Key。如果不成功,可以多试几次。授权成功后,应用会开始下载文献库信息,文献越多,下载时间越长。如果等了 10-20 分钟还在 Loading,建议重启 APP 试试。详细说明参考下图 + + ![为 Zoo 设置 Zotero API key](../assets/image-zoo添加zotero密钥.png){width=50%} + + ![Zoo 加载数据界面](../assets/image-zoo加载数据.png){width=50%} + +4. 一般常用的附件同步方式是使用**WebDAV**,如果你使用 Zotero 的 300M 空间,可不必进行这一步设置。先打开右上角工作间 `Setting`,勾选下方的`Use webdav to access attachments`,再点击`Config Webdav`跳转到配置页面,填写好相应的网址,用户名和密码,请一定要注意核对网址,用户名和密码的空格,特殊符号等。这里里的网址后面会自动帮你加上 `Zotero`,填写时要注意 + + ![Zoo 中配置 WebDAV](../assets/image-zoo-webdav设置.png){width=50%} + +5. 配置完毕,点开某个条目,点击 PDF 图标,会自动下载 PDF。有可能下载失败,重试即可 + + ![Zoo 中下载 PDF](../assets/image-zoo-download-pdf.png){width=50%} + +## 通过第三方网盘同步附件 + +::: danger + +==我们不建议使用第三方网盘结合 ZotFile 的方式进行同步==。这会导致很多问题。除非你具备较强的问题排查能力,且对 ZotFile 所提供的功能有刚性需求,否则==请不要使用这种方法==! + +::: + +::: tip 施工中 +::: diff --git a/src/user-guide/take-notes.md b/src/user-guide/take-notes.md new file mode 100644 index 00000000..75c52914 --- /dev/null +++ b/src/user-guide/take-notes.md @@ -0,0 +1,125 @@ +--- +title: 阅读文献、添加笔记 +icon: note +date: 2023-06-28 21:16:16 +updated: 2023-07-21 19:17:58 +--- + +# 阅读文献、添加笔记 + +Zotero 支持直接打开并批注 PDF,与内部的笔记、同步等功能深度集成。建议使用 Zotero 阅读器以获得最佳体验。 + +:::warning + +内部阅读器所做的高亮、批注等**不在原始 PDF 上**,因此与第三方 PDF 阅读器的批注无法互通,也不支持非 Zotero 或非 WebDAV 的同步方式(关于同步,请见后续章节)。 + +如果你并没有特别依赖第三方 PDF 阅读器的某些特殊功能,建议使用 Zotero 阅读器。 + +::: + +## 打开文献 PDF + +在主界面中选中文献,双击或回车即可打开文献 PDF。默认以新标签页打开。 + +> 💡 要以单独窗口打开文献,请在打开文献时按住 shift,或在标签页的标题上右键=>移动标签=>移动到新窗口。 +> ![image.png](../assets/image-reader-移动选项卡.png) + +Zotero 会自动记忆打开的文献与当前阅读位置。在下一次打开 Zotero 或在其他设备上打开同一个文献时,将会保持当前阅读位置。 + +## 阅读器功能介绍 + +### 界面区域 + +- 左侧是预览栏,可预览缩../目录; +- 右侧是信息/笔记栏,可查看当前文献信息![image.png](../assets/icon-文献信息窗格.png)或编辑笔记![image.png](../assets/icon-笔记.png); +- 上方横条是工具栏,可在此缩放、移动页面,或使用高亮注释(alt+1)![image.png](../assets/icon-reader-高亮注释.png),文字注释(alt+2)![image.png](../assets/icon-reader-文字注释.png),框选注释(alt+3)![image.png](../assets/icon-reader-选框注释.png),设置注释颜色(alt+4 切换)![image.png](../assets/image-reader-设置注释颜色.png); +- 中央是阅读区域。 + +![image.png](../assets/image-reader-注释.png) + +### 选中弹窗 + +在阅读区域选中文本后,也可以通过弹窗来快速高亮内容(翻译按钮由 PDF Translate 插件提供,详见后续章节): + +![image.png](../assets/image-reader-划选.png) + +如果此时右侧打开了笔记,则还可以将选中内容一键添加到笔记: + +![image.png](../assets/image-添加笔记.png) + +### 在阅读器中创建笔记 + +右侧笔记栏中,点击 + 按钮即可创建笔记。条目笔记即属于当前文献条目的笔记;通过注释添加笔记即将文献中的所有注释(高亮等)添加到一个新的笔记。 + +![image](../assets/image-添加笔记3.png) + +### 管理注释 + +左侧预览栏中,可预览注释内容。每个注释分为三部分:内容,评论与标签。 + +![image.png](../assets/image-reader-注释详情.png) + +内容即注释本身,例如高亮文本、框选的图片等。评论区在内容区下方,可以写文字。标签区在最下方,可以为注释添加标签。 + +:::warning + +目前,注释的标签不支持搜索,也不支持从主界面的标签管理器中筛选。 + +::: + +注释支持拖放,可以复制或拖到笔记或外部软件。 + +在不同的设备上,只要正确设置了同步,注释内容也将一并同步过去。 + +## 笔记功能介绍 + +关于笔记的创建及相关功能,详见 [https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/palqgb](https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/palqgb)(由 Better Notes 插件提供的文档)。 + +此处仅作简单介绍。 + +> 可了解 [Better Notes 插件](https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/biigg4),更方便地在 Zotero 中做笔记,支持双链、支持模板、支持多种导出方式。 + +笔记分为两种: + +- 独立笔记。没有父条目,在主界面库视图中,不需要展开即可看到。 +- 条目笔记。具有父条目,一般在某条文献下,展开可看到。 + +### 创建笔记 + +创建笔记有多种方式: + +1. 在 Zotero 主界面,中央上方工具栏选择新建笔记=>新建独立笔记/添加子笔记; + + ![image](../assets/image-新建笔记.png) + +2. 在主界面,选中条目,从右键菜单创建条目子笔记; + + ![image](../assets/image-添加笔记菜单.png) + +3. 在 PDF 阅读器中,右侧笔记栏右上角的 '+' 按钮可创建条目子笔记; + + ![image](../assets/image-添加笔记3.png) + +4. (需要 Better Notes 插件)在 PDF 阅读器中,左侧注释栏的每一个注释右上角的黄色花形按钮,参见 [4.3 从注释创建快速笔记/Quick Note from Annotation](https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/pavzsz) + + ![image](../assets/image-betternotes-添加到主笔记.png) + +### 导出笔记 + +Zotero 提供了一项笔记导出为 markdown 的功能,但图片及许多格式不会被处理。 + +建议使用 Better Notes 提供的导出功能,可导出单条或多条笔记为 markdown 文件,或通过剪贴板复制到富文本编辑器(如 OneNote,Word),或导出为 PDF,并且支持自动同步更改(Zotero=>外部导出目录)。关于导出,详见 [4.8 笔记导出/Export](https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/nxlngg);关于同步,详见 [4.9 笔记同步/Sycn](https://zotero.yuque.com/books/share/f3fe159f-956c-4f10-ade3-c87559cacb60/aid2c3)。 + +![image](../assets/image-betternotes-导出笔记对话框.png) + +可通过以下三种方式导出笔记: + +1. 在主界面,选中一个或多个笔记条目,在右键菜单中通过 " 导出笔记及条目子笔记 " 或 " 导出多个笔记 "; + + ![image](../assets/image-betternotes-导出笔记.png) + +2. 在笔记编辑器中,右上角工具栏导出按钮; + + ![image](../assets/image-导出笔记.png) + +3. (不推荐)在主界面中,通过右键菜单使用 Zotero 自带的笔记导出功能。 diff --git a/src/user-guide/why-use-zotero.md b/src/user-guide/why-use-zotero.md new file mode 100644 index 00000000..a39ce6e4 --- /dev/null +++ b/src/user-guide/why-use-zotero.md @@ -0,0 +1,82 @@ +--- +title: 为什么使用 Zotero +# order: 1 +icon: like +author: + - name: winding + url: https://github.com/windingwind + - name: northword + url: https://northword.cn + - name: 汪汪 +date: 2023-04-19 22:27:07 +updated: 2023-07-20 16:51:54 +--- + +# 为什么使用 Zotero + +::: info + +本节是官方文档的翻译。 + +::: + +## Zotero 是什么 + +Zotero 是一款开源的文献管理软件。它可以用于抓取、存储、管理、阅读、引用文献(包含书籍与论文)。使用 Zotero 将使你的学术生产效率大增。 + +- 你是否仍在花费大量时间整理阅读过和刚下载的文献? +- 你是否仍在为找不到自己记忆中那篇文献而苦恼? +- 你是否还在焦虑刚刚读完文献却脑袋空空? +- 你是否还在手打插入的引文? + +Zotero 将是你优秀的科研助手! + +## 为什么用 Zotero 而不是其他? + +### Zotero 优势 + +![浏览器快速抓取文献至Zotero](../assets/image-zotero官方-渲染图-connector.png) + +![清晰明了的分层管理及标签分类](../assets/image-zotero官方-渲染图-管理条目.png) + +![写作时方便快速的插入引文](../assets/image-zotero官方-插入引文.png) + +一键抓取文献,保存一切 + +拥有多个分级目录与标签管理 + +支持海量引用格式 + +Zotero 兼具简单的操作方式与强大的功能。通过一份简单的教程(后面的文档)你将快速上手 Zotero 的基本功能,而其他专业的功能你也能够通过社交媒体和 Zotero 官网上丰富的信息逐渐掌握,其中包含大量优秀的插件,这得益于 Zotero 是一款开源软件。 + +Zotero 社区的有力支持。当使用 Zotero 遇到问题时,你可以收到 Zotero 开发人员或者专家社区人员的回复,并且 Zotero 的插件编写者与使用爱好者遍布各地,你可以非常方便的通过你的社交媒体联系到他们。 + +Zotero 关注你的隐私安全并且无需付费。Zotero 由独立的非营利组织开发,对你的数据没有任何财务利益。并且它是一个开源软件,这意味着如果 Zotero 目前的运营团队并没有将你的利益放在首位,其他任何人都可以自由地获取 Zotero 的源代码,继续对他进行维护和改进。 + +### EndNote + +EndNote 只支持二级目录,而 Zotero 支持多级分类。 + +EndNote 不支持标签,而在 Zotero 中你可以轻松的通过标签进行查找、分类和管理。 + +Endnote 是一款收费软件:标准版官网售价 1818RMB,教育版官网售价 1218RMB。 + +### Mendeley + +Mendeley 免费但不开源。 + +Mendeley 的数据迁移到新的电脑比较麻烦,这可能会耗费你大量的时间精力。 + +Mendeley 的使用并不能够完全离线,在国内的网络环境下,你可能偶尔会面临无法登陆 Mendeley 网站以致于无法使用软件的情况。 + +### NoteExpress + +NoteExpress 是一款国产文献管理软件,对中文文献和中文数据库的支持较为优秀,但是他同样是一款付费软件,永久授权标准版 1980RMB。 + +NoteExpress 只支持 Windows 系统,Mac 和 Linux 系统则被拒之门外。 + +### 知网研学 + +知网研学支持的数据库较少,在 Mac 上甚至只支持 CNKI 学术总库。 + +知网研学的订阅费用,高校版 198RMB/年,标准版 998RMB/年,尊享版 3298RMB/年,还请自行体会。 diff --git a/src/user-guide/wps-plugin.md b/src/user-guide/wps-plugin.md new file mode 100644 index 00000000..72ae493f --- /dev/null +++ b/src/user-guide/wps-plugin.md @@ -0,0 +1,112 @@ +--- +title: 在 WPS 中插入参考文献 +icon: article +date: 2023-09-22 20:36:31 +updated: 2023-09-24 14:49:15 +--- + +# 在 WPS 中插入参考文献 + +在 WPS 中使用插件参考文献,目前有两种方法 + +- 使用 VBA,借用 Word 的插件 +- 使用 WPS JavaScript API 制作的插件 + +使用 WPS 的 VBA 插件插入参考这篇:[完美在 WPS 中使用 Zotero 的方法](https://zhuanlan.zhihu.com/p/579975093),该方法这个方法需要依赖 WPS 的 VBA 环境,需要升级到某些付费版本才行(当然也有破解版)。 + +下面是使用 WPS 原生 JavaScript API 插件的教程。 + +::: tip macOS 系统上的 WPS 用户暂时无法使用 + +插件是利用 WPS 提供的 JavaScript API 从 Zotero 获取引文信息,并写入到 WPS 文档中。目前插件可以在**Windows 和 Linux 系统**下使用,因 WPS 的接口暂时不支持 macOS 系统,所以**使用苹果电脑的同学暂时用不上这个插件**。 + +插件地址为 [https://github.com/tankwyn/WPS-Zotero](https://github.com/tankwyn/WPS-Zotero) + +::: + +## 1. 安装插件 + +因为 WPS 接口的一些限制,本插件的使用还需要使用到**Python3**,Linux 系统内一般默认安装了 Python3, 使用 Windows 的同学,需要提前安装好 Python3。使用 Windows 的同学从下面的 `1.1 Windows 下 Python3 环境的安装` 部分开始,使用 Linux 的同学可直接跳过这部分,看后面的安装部分就行。 + +### 1.1 Windows 下 Python3 环境的安装 + +可能有一些同学的电脑里已经安装 Python3,可以按 `WIN + R`,在弹出的窗口输入 `cmd` + +![运行CMD](../assets/image-run-cmd.png) + +点击确认后,再出现的小黑屏上输入 `python --version` + +![查看Python版本](../assets/image-run-python-version.png) + +注意看,只要出现 `Python 3.xx.xx`,就说明 Python3 已经正确安装,直接进入下一步。如果出现其他的,说明 Python3 未正确安装,请按下面的步骤进行安装。 + +下载 Python3 安装包,[64 位下载地址](https://www.python.org/ftp/python/3.11.5/python-3.11.5-amd64.exe),[32 位下载地址](https://www.python.org/ftp/python/3.11.5/python-3.11.5.exe),不知道自己电脑是几位的,就选 64 位。如果上面两个链接下载太慢 (不开代理 ,官网下载速度慢已经 10 多年了),可试试安装 [miniconda](https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_23.5.2-0-Windows-x86_64.exe)。 + +这里以 miniconda 示例,安装时默认设置,除了下面截图的设置,要记得打勾,把 Python 添加到环境变量里 + +![安装miniconda](../assets/image-miniconda-install.png) + +安装了官网 Python 的同学,需要手动将 Python 添加到环境变量里 + +![安装Python](../assets/image-python-install.png) + +安装成功后,在小黑屏运行 `python --version`,出现 `Python 3.xx.xx` 说明安装成功。 + +### 1.2 安装 WPS 插件 + +安装过程非常简单,作者已经帮我们处理好了,只需要一个脚本即可。如果你可流畅访问 GitHub,可直接到 下载,如果访问困难,可到这个 [镜像源](https://ftp.linxingzhong.top/WPS-Zotero.tar.gz) 下载 + +将下载后的压缩包解压后,看到的文件如下 + +![解压后的文件列表](../assets/wps-pluginfile-list.png) + +#### Windows 系统 + +Windows 系统直接双击 `windows安装与卸载.bat` 安装文件,你可能会遇到下面的警告提示 + +![点击更多信息](../assets/image-wps-warn1.png) + +![点击仍要运行](../assets/image-wps-warn2.png) + +运行后出现的提示窗口,输入 `1`,并按确认,进行安装 + +![选择1](../assets/image-wps-install.png) + +安装成功的提示 + +![安装成功](../assets/image-wps-success.png) + +#### Linux 系统 + +直接打开 terminal,输入 `python3 install.py` 进行安装 + +## 2. 插件使用 + +WPS 插件的按钮与 Word 插件类似 + +- Add/Edit Citation,添加引用文献 +- Add/Edit Refs,添加参考文献列表 +- Refresh,刷新文档引用文献信息 +- Preferences,打开 Zotero 引用设置窗口 +- Add Note,添加 Zotero 笔记 +- Unlink,取消链接引注,通过删除域代码来取消文档中 Zotero 引文的链接。这可以防止引文和书目的任何进一步自动更新。请注意,**删除域代码是不可逆的**,通常只能在文档的最终副本中完成 +- Export,导出其他文本编辑器兼容的文本格式 +- About,插件相关信息 + +![WPS插件UI按钮](../assets/image-wps-plugin-ui-buttons.png) + +具体的操作过程,请参考 [在 Word 中插入参考文献](./ms-word-plugin.md) + +## 3. 如何卸载 WPS 安装的旧版 Zotero 扩展 + +如果你之前安装把 Word 里的 Zotero 插件强行安装到 WPS,那样出现多个的 Zotero 选项 + +![多个Zotero选择](../assets/image-wps-plugin-ui.png) + +先打开 `C:\Users\你的用户名\AppData\Roaming\kingsoft\wps` 目录 (注意用户名换成你自己的),找到 `startup` 目录,删掉里面的 `zotero.dotm` 文件,这个文件是直接从 Zotero 的 Word 插件里复制到 WPS 里,需要 WPS 有 VBA 环境,现在已经不需要了,可以删掉。 + +![WPS插件安装路径](../assets/image-wps-vba-plugin-install-path.png) + +## 4. 可能遇到的问题 + +使用中可能点击按钮后,Zotero 的窗口不会自动出现,可以手动点击一下任务栏中的 Zotero 图标,让 Zotero 的窗口跳到最前。