From c04272b6e5f2ffd56d1d995156bd78cd806c300a Mon Sep 17 00:00:00 2001 From: Masterain98 Date: Mon, 20 Feb 2023 08:54:28 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20DGP-Stud?= =?UTF-8?q?io/Snap.Hutao.Docs@cdcbe3d3bb6c9e11da6dbea72aec49cc1bf5d505=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 6 +- FAQ/Gacha-system-and-export-principal.html | 41 - FAQ/artifact-rating-rules.html | 41 - FAQ/exceptions.html | 41 - ...et-stoken-cookie-from-the-third-party.html | 41 - FAQ/how-to.html | 43 - FAQ/index.html | 41 - FAQ/known-issue.html | 41 - FAQ/mihoyo-risk-tip.html | 41 - FAQ/why.html | 41 - advance/FAQ.html | 43 + .../Gacha-system-and-export-principal.html | 41 + advance/artifact-rating-rules.html | 41 + advance/exceptions.html | 41 + ...et-stoken-cookie-from-the-third-party.html | 41 + advance/index.html | 41 + advance/known-issue.html | 41 + advance/mihoyo-risk-tip.html | 41 + advance/uninstall.html | 42 + assets/FAQ.html-e745ff56.js | 1 + assets/FAQ.html-ef74e4b3.js | 3 + ...stem-and-export-principal.html-897f9ffc.js | 1 - ...stem-and-export-principal.html-dc9e0964.js | 1 + ...-9a522a51.js => VuePlayground-74bc58e5.js} | 2 +- assets/{app-8b3229b1.js => app-51db36de.js} | 38 +- assets/artifact-rating-rules.html-3d71f83d.js | 1 + assets/artifact-rating-rules.html-89b1cb5d.js | 1 - ...78df747.js => bug-report.html-9330946d.js} | 2 +- assets/bug-report.html-9c35cbb4.js | 1 + assets/bug-report.html-b615f75b.js | 1 - ...5386f2.js => daily-notes.html-35bd901c.js} | 2 +- ...c5e424.js => daily-notes.html-8f958c4a.js} | 2 +- assets/exceptions.html-44926d53.js | 1 - assets/exceptions.html-8a94c4a0.js | 1 + ...okie-from-the-third-party.html-a883aafe.js | 1 + ...okie-from-the-third-party.html-ac32733d.js | 1 - assets/how-to.html-0e905e8d.js | 3 - assets/how-to.html-cda47090.js | 1 - assets/hutao-settings.html-0a7c2c78.js | 1 - assets/hutao-settings.html-28b83d00.js | 1 + ...5ab.js => hutao-settings.html-de75e9ec.js} | 2 +- assets/i18n.html-25a69e58.js | 1 - ...html-06557ffc.js => i18n.html-91aa70eb.js} | 2 +- assets/i18n.html-f11ef0a9.js | 1 + assets/index.html-32fb9a3d.js | 1 + assets/index.html-97cb8dac.js | 1 - ...c4658d.js => known-issue.html-08ceef15.js} | 2 +- assets/known-issue.html-665bd90e.js | 1 + assets/known-issue.html-a1ef6e68.js | 1 - ...js => mermaid-mindmap.esm.min-fafb80a5.js} | 2 +- ...js => mhy-account-switch.html-4b541283.js} | 2 +- ...js => mhy-account-switch.html-7c7887cf.js} | 2 +- assets/mihoyo-risk-tip.html-55a15916.js | 1 + assets/mihoyo-risk-tip.html-bfb875a1.js | 1 - assets/privacy-notice.html-24d09b2f.js | 1 - assets/privacy-notice.html-ad738962.js | 1 + assets/quick-start.html-09839965.js | 2 - ...cce67d.js => quick-start.html-5f5dbf25.js} | 2 +- assets/quick-start.html-7f47d3b9.js | 1 + ...07eb376.js => symposium1.html-0e85242a.js} | 2 +- ...b61935d.js => symposium1.html-da6cc212.js} | 2 +- assets/tos.html-233ebd50.js | 1 - assets/tos.html-de7dfd4c.js | 1 + assets/uninstall.html-8fc98a05.js | 1 + assets/uninstall.html-c388cfe6.js | 2 + assets/update-log.html-683d3b93.js | 1 - ...945aadd.js => update-log.html-843633e8.js} | 2 +- assets/update-log.html-9c41d17c.js | 1 + ...-repl-e26a25ed.js => vue-repl-91712ef1.js} | 2 +- assets/why.html-3efe729e.js | 1 - assets/why.html-a06c00c3.js | 1 - ...43b858.js => wish-export.html-a13cdafe.js} | 2 +- ...8a149e.js => wish-export.html-f6a71159.js} | 2 +- atom.xml | 1476 +++++++++-------- community.html | 6 +- development-log/index.html | 6 +- development-log/symposium1.html | 8 +- development-log/symposium2.html | 6 +- en/atom.xml | 2 +- en/index.html | 4 +- en/rss.xml | 4 +- features/achievements.html | 6 +- features/character-data.html | 6 +- features/character-wiki.html | 6 +- features/daily-notes.html | 8 +- features/develop-plan.html | 6 +- features/game-launcher.html | 6 +- features/hutao-API.html | 6 +- features/hutao-settings.html | 8 +- features/index.html | 6 +- features/mhy-account-switch.html | 8 +- features/weapon-wiki.html | 6 +- features/wish-export.html | 8 +- i18n.html | 8 +- index.html | 4 +- markmap.html | 6 +- project.html | 6 +- quick-start.html | 9 +- rss.xml | 933 +++++------ service-worker.js | 2 +- service-worker.js.map | 2 +- side-load.html | 6 +- sitemap.xml | 2 +- star-request.html | 6 +- statements/bug-report.html | 8 +- statements/index.html | 6 +- statements/privacy-notice.html | 8 +- statements/tos.html | 8 +- statements/update-log.html | 10 +- 109 files changed, 1761 insertions(+), 1718 deletions(-) delete mode 100644 FAQ/Gacha-system-and-export-principal.html delete mode 100644 FAQ/artifact-rating-rules.html delete mode 100644 FAQ/exceptions.html delete mode 100644 FAQ/get-stoken-cookie-from-the-third-party.html delete mode 100644 FAQ/how-to.html delete mode 100644 FAQ/index.html delete mode 100644 FAQ/known-issue.html delete mode 100644 FAQ/mihoyo-risk-tip.html delete mode 100644 FAQ/why.html create mode 100644 advance/FAQ.html create mode 100644 advance/Gacha-system-and-export-principal.html create mode 100644 advance/artifact-rating-rules.html create mode 100644 advance/exceptions.html create mode 100644 advance/get-stoken-cookie-from-the-third-party.html create mode 100644 advance/index.html create mode 100644 advance/known-issue.html create mode 100644 advance/mihoyo-risk-tip.html create mode 100644 advance/uninstall.html create mode 100644 assets/FAQ.html-e745ff56.js create mode 100644 assets/FAQ.html-ef74e4b3.js delete mode 100644 assets/Gacha-system-and-export-principal.html-897f9ffc.js create mode 100644 assets/Gacha-system-and-export-principal.html-dc9e0964.js rename assets/{VuePlayground-9a522a51.js => VuePlayground-74bc58e5.js} (92%) rename assets/{app-8b3229b1.js => app-51db36de.js} (68%) create mode 100644 assets/artifact-rating-rules.html-3d71f83d.js delete mode 100644 assets/artifact-rating-rules.html-89b1cb5d.js rename assets/{bug-report.html-278df747.js => bug-report.html-9330946d.js} (51%) create mode 100644 assets/bug-report.html-9c35cbb4.js delete mode 100644 assets/bug-report.html-b615f75b.js rename assets/{daily-notes.html-4f5386f2.js => daily-notes.html-35bd901c.js} (88%) rename assets/{daily-notes.html-93c5e424.js => daily-notes.html-8f958c4a.js} (89%) delete mode 100644 assets/exceptions.html-44926d53.js create mode 100644 assets/exceptions.html-8a94c4a0.js create mode 100644 assets/get-stoken-cookie-from-the-third-party.html-a883aafe.js delete mode 100644 assets/get-stoken-cookie-from-the-third-party.html-ac32733d.js delete mode 100644 assets/how-to.html-0e905e8d.js delete mode 100644 assets/how-to.html-cda47090.js delete mode 100644 assets/hutao-settings.html-0a7c2c78.js create mode 100644 assets/hutao-settings.html-28b83d00.js rename assets/{hutao-settings.html-8e84b5ab.js => hutao-settings.html-de75e9ec.js} (85%) delete mode 100644 assets/i18n.html-25a69e58.js rename assets/{i18n.html-06557ffc.js => i18n.html-91aa70eb.js} (78%) create mode 100644 assets/i18n.html-f11ef0a9.js create mode 100644 assets/index.html-32fb9a3d.js delete mode 100644 assets/index.html-97cb8dac.js rename assets/{known-issue.html-82c4658d.js => known-issue.html-08ceef15.js} (88%) create mode 100644 assets/known-issue.html-665bd90e.js delete mode 100644 assets/known-issue.html-a1ef6e68.js rename assets/{mermaid-mindmap.esm.min-fa4da5cc.js => mermaid-mindmap.esm.min-fafb80a5.js} (78%) rename assets/{mhy-account-switch.html-43580033.js => mhy-account-switch.html-4b541283.js} (86%) rename assets/{mhy-account-switch.html-110b4f73.js => mhy-account-switch.html-7c7887cf.js} (85%) create mode 100644 assets/mihoyo-risk-tip.html-55a15916.js delete mode 100644 assets/mihoyo-risk-tip.html-bfb875a1.js delete mode 100644 assets/privacy-notice.html-24d09b2f.js create mode 100644 assets/privacy-notice.html-ad738962.js delete mode 100644 assets/quick-start.html-09839965.js rename assets/{quick-start.html-5ccce67d.js => quick-start.html-5f5dbf25.js} (69%) create mode 100644 assets/quick-start.html-7f47d3b9.js rename assets/{symposium1.html-307eb376.js => symposium1.html-0e85242a.js} (93%) rename assets/{symposium1.html-ab61935d.js => symposium1.html-da6cc212.js} (71%) delete mode 100644 assets/tos.html-233ebd50.js create mode 100644 assets/tos.html-de7dfd4c.js create mode 100644 assets/uninstall.html-8fc98a05.js create mode 100644 assets/uninstall.html-c388cfe6.js delete mode 100644 assets/update-log.html-683d3b93.js rename assets/{update-log.html-7945aadd.js => update-log.html-843633e8.js} (69%) create mode 100644 assets/update-log.html-9c41d17c.js rename assets/{vue-repl-e26a25ed.js => vue-repl-91712ef1.js} (99%) delete mode 100644 assets/why.html-3efe729e.js delete mode 100644 assets/why.html-a06c00c3.js rename assets/{wish-export.html-dc43b858.js => wish-export.html-a13cdafe.js} (90%) rename assets/{wish-export.html-6d8a149e.js => wish-export.html-f6a71159.js} (80%) diff --git a/404.html b/404.html index 97cdfd122..5c5578d4b 100644 --- a/404.html +++ b/404.html @@ -32,10 +32,10 @@ } - + -
- +
+ diff --git a/FAQ/Gacha-system-and-export-principal.html b/FAQ/Gacha-system-and-export-principal.html deleted file mode 100644 index e46a39ce8..000000000 --- a/FAQ/Gacha-system-and-export-principal.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - 祈愿系统与导出原理 | 胡桃工具箱 - - - - - - -

祈愿系统与导出原理

DGP-StudioFAQ大约 2 分钟

祈愿系统与导出原理

Gacha System and Principal

胡桃的祈愿系统相较 Snap Genshin 进行了整体架构上的重新设计。

本文将解释原神的祈愿记录机制和胡桃工具箱中祈愿导出功能的技术原理。

祈愿的获取

获取祈愿记录需要请求米哈游的API

关于此API, 有下列几个注意点

  • 通过米哈游服务器的API,只能查询到过去6个月内的祈愿记录
    • 这也是原神客户端中祈愿记录的来源
  • API存在请求速率限制,过快的请求会导致后续的请求失败,无法正常获取数据

为了请求此API,我们需要四个关键参数

  • 目前有下列几种方法可以获取这些参数
    • 遍历 Unity 的日志文件,查找用户打开的祈愿记录URL
    • 代理本机流量,筛选祈愿记录URL
    • 查找 CefBrowser 的浏览器缓存,找到祈愿记录URL
    • 对于包含了Stoken的Cookie,调用genAuthKey API,获取参数
    • 高级用户手动输入相关URL

在请求API后可以获取到零散的祈愿记录,在对其进行拼接后即可获得一份完整的祈愿记录列表

祈愿的存储

获得完整的祈愿记录列表后即可将其简单的序列化入本地数据库内,在需要时可从数据库中反序列化出来呈现给用户。

后续的对服务器的请求只需要对比数据库中的数据请求新增的部分即可。

这样,用户即可长期地保存帐号的完整祈愿记录

UIGF格式

统一可交换祈愿记录标准

Uniformed Interchangeable GachaLog Format standard

UIGF 是由我们联合其他祈愿记录应用倡导、推出并持久维护的一个统一的祈愿记录数据交换标准

标准化的数据格式将允许用户将祈愿记录在不同的转移数据,以使用到不同原神工具中各自的特色功能

祈愿的导入

在使用 UIGF 数据格式的前提下,可以导入曾在其他应用中储存的数据

胡桃在处理导入时,会对比本地储存中存在的最早的索引(ID)并仅导入较老的数据

(因为始终可以从米哈游的服务器获取较新的数据,这种原始数据有更高的精确度)

祈愿的导出

尚未实现,正在设计 已实装

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/FAQ/artifact-rating-rules.html b/FAQ/artifact-rating-rules.html deleted file mode 100644 index 5dc012a8b..000000000 --- a/FAQ/artifact-rating-rules.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - 圣遗物评分机制 | 胡桃工具箱 - - - - - - -

圣遗物评分机制

DGP-StudioFAQ小于 1 分钟

圣遗物评分机制

因角色设定差异,圣遗物评分机制也必须随角色所需属性而确定。

如果你有兴趣探索我们的评分机制, 可以审阅胡桃工具箱代码open in new window 来了解评分计算方法。

如果你对当前的圣遗物评分机制有新的建议,可以在 GitHub 上开启 Issue 为圣遗物评分提供新的依据open in new window

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/FAQ/exceptions.html b/FAQ/exceptions.html deleted file mode 100644 index b20e89ce5..000000000 --- a/FAQ/exceptions.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - 常见的程序异常 | 胡桃工具箱 - - - - - - -

常见的程序异常

DGP-StudioFAQ大约 1 分钟

常见的程序异常

该文档包含由用户端错误造成的问题

RuntimeEnvironmentException

  • 异常:RuntimeEnvironmentException
    • 提示:未开启长路径功能,无法设置注册表键值
  • 问题来源:没有解除 Windows 目录长度限制
  • 解决方案:下载 EnableLongPaths.zipopen in new window 后解压,以管理员身份运行解压后的 .reg 文件

Return Code: -10001

  • 该异常实际上来源于米游社的返回信息,包括:
    • Return Code: -10001
    • Return Code: -100
  • 问题来源:Cookie 过期或网络异常
  • 解决方案:
    • 在帐号面板中,点击刷新 Cookie

HttpRequestException 元数据校验文件下载失败

403 (Forbidden)

解决方案:更新胡桃工具箱至最新版本open in new window

502 (Bad Gateway)

相关 Issue: https://github.com/DGP-Studio/Snap.Hutao/issues/100open in new window

当胡桃工具箱无法从远程服务器获取到必要资源时(通常是配置文件和图片缓存),会在用户界面抛出如下图所示的 HttpRequestException 错误。

HttpRequestException

当你遇到该情况,且已经确定本地网络没有互联网连接问题时,请检查是否启用了系统代理程序。如果是,请关闭。胡桃工具箱的远程服务器在全世界范围内都有类似的体验效果, 你无需为了胡桃工具箱的网络连接而使用代理网络。

如果系统代理是你的网络必须选项,请关闭系统代理而使用 TUN 模式代理;或者也可以通过 Windows 8 AppContainer Loopback Utilityopen in new window 解除 Windows APP Container Loopback 的限制open in new window

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/FAQ/get-stoken-cookie-from-the-third-party.html b/FAQ/get-stoken-cookie-from-the-third-party.html deleted file mode 100644 index ee67f0338..000000000 --- a/FAQ/get-stoken-cookie-from-the-third-party.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - 使用第三方工具获取有 Stoken 的 cookie | 胡桃工具箱 - - - - - - -

使用第三方工具获取有 Stoken 的 cookie

DGP-StudioFAQ第三方工具大约 2 分钟

使用第三方工具获取有 Stoken 的 cookie

注意

  • 以下步骤中涉及的软件、开源项目等资源均来源于互联网,与 DGP-Studio 无关
  • 本说明文档仅提供有关的解决思路,仅供学习使用,具体操作与操作后果与本项目无关

Android

Android 用户可以使用开源项目 GetToken 来获取包含 Stoken 字段的 cookie

GetToken 开源项目

  • GetToken 项目的发布会包含两个 apk 文件,两者最终效果相同。根据你的设备情况选择适合你的版本即可
    • app-release.apk 为一个 LSPosed 插件允许用户在官方米游社中使用 GetToken 功能
    • 名称以lspatched结尾的 apk 文件是一个已包含 GetToken 功能的修改版米游社程序
      • 你需要卸载官方版米游社以安装该版本的米游社
  • 启用插件或安装修改版米游社后打开米游社,在底栏点击"我的",然后登录您的通行证
  • 在右上角点击形如🔑形状的按钮
  • 点击勾选 Stoken 选项
  • 点击复制登录信息
  • 将复制到的 Stoken 发送到已经安装了胡桃工具箱的电脑
  • 胡桃工具箱中的账号登录位置,点击手动输入
  • 将之前获取到的 cookie 输入,此时即可完成登录

iOS

iOS 用户可以在 App Store 下载抓包软件 Stream 来获取包含 Stoken 字段的 cookie

  • 从 App Store 下载 Streamopen in new window
  • 对域名 api-takumi.mihoyo.com 进行抓包分析
  • 找到并复制带有 Stoken 的数据
    • 形如stuid=****;stoken=v2****;mid=****;
  • 将复制到的 Stoken 发送到已经安装了胡桃工具箱的电脑
  • 胡桃工具箱中的账号登录位置,点击手动输入
  • 将之前获取到的 cookie 输入,此时即可完成登录
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/FAQ/how-to.html b/FAQ/how-to.html deleted file mode 100644 index 76c98ae44..000000000 --- a/FAQ/how-to.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - 如何... | 胡桃工具箱 - - - - - - -

如何...

DGP-StudioFAQ大约 2 分钟

如何...

这篇文档将会列出一些最常见的以“如何”开头的问题

如何创建胡桃的桌面快捷方式

  • Win+R 呼出运行窗口,在窗口中输入shell:AppsFolderRun
  • Windows 会弹出应用程序目录,找到胡桃工具箱
  • 右键,点击创建快捷方式
  • 根据提示操作你就可以获得一个桌面快捷方式了

如何添加一个默认以管理员方式运行的快捷方式

基本原理:使用下方的 PowerShell 脚本可以以管理员方式运行胡桃

Start-Process shell:AppsFolder\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas
-
  • 保存胡桃工具箱的 Logo 资源
  • 在桌面点击右键,选择新建 -> 快捷方式
  • 请键入对象的位置中直接输入:
  powershell -WindowStyle Hidden -Command "Start-Process shell:AppsFolder\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas
-
  • 将快捷方式命名为你需要的名称,比如Snap Hutao
  • 确认创建,此时你会在桌面得到一个有 PowerShell 图标的快捷方式
  • 右键该快捷方式,点击属性
    • 运行方式修改为最小化
    • 点击更改图标,选择浏览,并选中刚刚下载的图标
  • 这样你就获得了胡桃工具箱的桌面快捷方式,并且运行它将直接以管理员模式运行
    • 你也可以将固定到任务栏或磁贴区

如何让胡桃工具箱开机自动启动

  • 请参考如下思路
    • 可以自行创建一个批处理文件,内容参考此issueopen in new window中,令胡桃以管理员模式直接运行的命令。
    • 设置一个计划任务程序令上述批处理文件开机自启,或将上述批处理文件加入启动项
  • 或有其他令胡桃工具箱可开机自启的思路,可自行探索

如何通过胡桃工具箱快速地启动游戏

  • 在主程序中正确设置高级启动器功能

  • 将胡桃工具箱在系统中固定在快速启动栏中

  • 在快速启动栏中右键胡桃应用程序

    quick-start

  • 选择启动游戏即可

如何通过网络代理使用胡桃工具箱

参考 HttpRequestException 错误 文档

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/FAQ/index.html b/FAQ/index.html deleted file mode 100644 index 2dab201b4..000000000 --- a/FAQ/index.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - F A Q | 胡桃工具箱 - - - - - - -
- - - diff --git a/FAQ/known-issue.html b/FAQ/known-issue.html deleted file mode 100644 index be8dc2e4a..000000000 --- a/FAQ/known-issue.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - 已知问题 | 胡桃工具箱 - - - - - - -

已知问题

DGP-StudioFAQ大约 2 分钟

已知问题

该文档包含由程序错误造成的问题

#1 微软商店下载应用程序

该问题来源并非胡桃工具箱,属于外部问题

  • 发现于 2023/02/07
  • 无法从微软商店下载的原因在于微软在东亚的授权服务器 licensing.mp.microsoft.com 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。 当授权服务出现问题时,自然不会再进入到下一步下载环节,这就导致了用户无法安装
    • 目前仅发现于微软商店新加坡授权服务器 52.137.108.250 出现了问题,所以你可以使用代理,切换到其它授权服务器,来实现下载。
  • 授权服务器问题 DGP-Studio已反馈给微软,等待解决。
  • 临时的解决方案:
    • 方法1
      • 使用UsbEAm Hosts Editoropen in new window
        • 在该工具箱内选择 Microsoft Store - 微软商店 中的 微软授权验证
        • 点击检测延迟
        • 选择一个对你而言延迟最低的服务器,选中后点击应用选中
        • 此时重启微软商店后,你应当可以下载应用了
        • 下载完成后,建议点击清除当前以删除对 Hosts 文件的修改
      • 如果你懒得下载,可以尝试将 licensing.mp.microsoft.com 通过修改 Hosts文件解析到以下 IP 地址之一 (收集于 UsbEAm Hosts Editor)
        • 124.108.22.138
        • 92.38.149.175
        • 141.147.180.87
        • 103.151.179.4
    • 方法2
      • 将系统的DNS服务器设置为4.2.2.1和4.2.2.2(完事后记得改回原本的设置)
    • 方法3

#2 服务器切换导致31-4302报错

该问题已于 1.4.15 版本修复,请及时更新

  • 使用高级启动器中的服务器切换功能时,可能会出现31-4302相关错误
  • 目前的临时解决方案:
    • 将原神截图目录中的服务器切换缓存目录删除

#3 任务栏右键菜单中没有快速启动游戏的入口

  • 胡桃使用 Windows 提供的 JumpPath 接口来提供快速启动游戏菜单
    • 该接口需要用户在系统设置 -> 个性化 -> 开始 中启用在“开始”菜单或任务栏的跳转列表中以及资源管理器的“快速使用”中显示最近打开的项 (该设置系统默认开启)
  • 在下一版本,我们会使用 JumpTask 接口来代替 JumpPath 接口,用户将不再需要上述设置选项开启
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/FAQ/mihoyo-risk-tip.html b/FAQ/mihoyo-risk-tip.html deleted file mode 100644 index 595c5f576..000000000 --- a/FAQ/mihoyo-risk-tip.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - 账号风险及异常提示 | 胡桃工具箱 - - - - - - -

账号风险及异常提示

DGP-StudioFAQ大约 2 分钟

账号风险及异常提示

imageimage

  • 当胡桃工具箱返回"账号有风险,请前往米游社查看"、"请求异常,请前往米游社对应功能页面查看"、"无感验证失败,请前往「米游社我的角色实时便笺」页面查看 "等错误提示时,代表当前的操作被米游社的验证系统所阻挡

  • 解决方式

    • 方法1 推荐
      • 自 1.4.15 版本起,在帐号面板内点击 刷新 Cookie 即可
    • 方法2:
      • 使用手机打开米游社App
      • 点击我的
      • 点击个人主页
      • 点击我的角色下方的角色标签
        • 点击全部角色
        • 或可以点击实时便笺窗体
      • 完成在此期间可能随机触发的验证流程(例如验证码),即可解决本问题。
        • 若此操作未触发验证流程,可重复进行多次,直到触发验证为止
        • 若始终无法触发验证,可修改密码

提示

  • 若风险提示过于频繁,或始终无法触发验证,代表您的账号风险已过高,请修改密码,使多个设备同时登录的状态被重置

注意

  • 若您已绑定并使用可提供原神查询的Bot同时有多个设备使用同一个米哈游通行证,则本条目所示的情况,尤其无感验证将基本无法成功,这是米游社后端的安全性设计,不可避免,无法绕过
  • 若您本地有多个米哈游通行证同时频繁与米游社进行数据交互,则可能会被米游社在一定时间内封禁IP地址,这是米游社后端的安全性设计,不可避免,无法绕过
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/FAQ/why.html b/FAQ/why.html deleted file mode 100644 index e2db47ded..000000000 --- a/FAQ/why.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - - - 为什么... | 胡桃工具箱 - - - - - - -

为什么...

DGP-StudioFAQ大约 3 分钟

为什么...

这篇文档将会列出一些最常见的以“为什么”开头的问题

为什么在设置中点击修改游戏路径无效

特定系统版本的用户,由于微软对文件选择对话框的COM实现的差异,会存在点击按钮后无响应的问题。

相关的 Github Issueopen in new window

为什么程序会出现乱码现象

  • 当用户在 Windows 10 下使用胡桃且发现有乱码情况时:
    • 可以下载 Segoe Fluent Icons字体
    • 安装时选择为系统所有用户安装,即可解决问题
  • 您可以从 微软官方open in new window下载到该字体文件

为什么解锁帧率后使用心海时出现掉帧

原神的BUG,和我们没关系

为什么会弹出需要使用新应用以打开的对话框

uninstall-error

如在卸载胡桃工具箱后出现如上图所示的需要使用新应用以打开此 hutao 链接,说明没有按文档要求在卸载前清除实时便笺定时任务。 请根据文档在设置中清除定时任务后再卸载胡桃工具箱。

为什么米游社帐号登录状态经常失效,添加的帐号消失

  • 我们通过储存帐号的米游社 Cookie 来维持登录状态。
  • 但是当用户在浏览器或其它设备上注销帐号后, 维持登录状态的 Cookie 将失效
  • 这会导致胡桃工具箱上的米游社帐号在启动后被自动移除。
  • 此情况也可能因为网络连接问题导致无法检查Cookie有效性,故出现此情况后请优先重启胡桃工具箱。
  • 自2022年10月起,米游社极大地提高了账号被判定为有风险的概率,账号有风险时亦会令Cookie无法被识别为有效状态
  • 自 1.4.15 版本起,你可以通过在帐号面板中刷新 Cookie 来刷新登录状态

为什么游戏登录状态会失效,导致切换帐号功能无效

  • 保存游戏登录状态的要素有两个:网络环境和设备 ID
  • 导致该问题的常见原因是:
    • 网络环境频繁变换,如公网 IP 更换
    • 操作失误,导致实际上根本没有保存登录状态(空的登录状态无法避免被胡桃识别)
      • 确认你的帐号已登录后,进入游戏
      • 关闭游戏后,确定游戏进程已关闭
      • 再次进行帐号检测,来添加登录状态

为什么程序会提示注册计划任务失败

使用管理员模式使用一次实时便笺后,胡桃的任务计划会被以管理员权限创建。当再次以非管理员模式启动胡桃时,程序在修改计划任务时会缺少权限。 继续使用管理员模式即可解决该问题。

为什么在开启代理后胡桃工具箱会没有网络连接

参考 HttpRequestException 错误 文档

为什么商店版本和侧载版本不会相互覆盖升级

  • 商店版本和侧载版本有不同的软件 ID,所以会被系统识别为不同的程序
  • 商店版的更新只会覆盖商店版应用;侧载版更新包只会更新侧载版应用
  • 在你的系统中,商店版的胡桃工具箱名称为 Snap Hutao,侧载版的名称为 胡桃
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
- - - diff --git a/advance/FAQ.html b/advance/FAQ.html new file mode 100644 index 000000000..b9c99da41 --- /dev/null +++ b/advance/FAQ.html @@ -0,0 +1,43 @@ + + + + + + + + 常见问题 | 胡桃工具箱 + + + + + + +

常见问题

DGP-StudioFAQ大约 5 分钟

常见问题

如何创建胡桃的桌面快捷方式

  • Win+R 呼出运行窗口,在窗口中输入shell:AppsFolderRun
  • Windows 会弹出应用程序目录,找到胡桃工具箱
  • 右键,点击创建快捷方式
  • 根据提示操作你就可以获得一个桌面快捷方式了

如何添加一个默认以管理员方式运行的快捷方式

基本原理:使用下方的 PowerShell 脚本可以以管理员方式运行胡桃

Start-Process shell:AppsFolder\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas
+
  • 保存胡桃工具箱的 Logo 资源
  • 在桌面点击右键,选择新建 -> 快捷方式
  • 请键入对象的位置中直接输入:
  powershell -WindowStyle Hidden -Command "Start-Process shell:AppsFolder\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas
+
  • 将快捷方式命名为你需要的名称,比如Snap Hutao
  • 确认创建,此时你会在桌面得到一个有 PowerShell 图标的快捷方式
  • 右键该快捷方式,点击属性
    • 运行方式修改为最小化
    • 点击更改图标,选择浏览,并选中刚刚下载的图标
  • 这样你就获得了胡桃工具箱的桌面快捷方式,并且运行它将直接以管理员模式运行
    • 你也可以将固定到任务栏或磁贴区

如何让胡桃工具箱开机自动启动

  • 请参考如下思路
    • 可以自行创建一个批处理文件,内容参考此issueopen in new window中,令胡桃以管理员模式直接运行的命令。
    • 设置一个计划任务程序令上述批处理文件开机自启,或将上述批处理文件加入启动项
  • 或有其他令胡桃工具箱可开机自启的思路,可自行探索

如何通过胡桃工具箱快速地启动游戏

  • 在主程序中正确设置高级启动器功能

  • 将胡桃工具箱在系统中固定在快速启动栏中

  • 在快速启动栏中右键胡桃应用程序

    quick-start

  • 选择启动游戏即可

如何通过网络代理使用胡桃工具箱

参考 HttpRequestException 错误 文档

为什么在设置中点击修改游戏路径无效

特定系统版本的用户,由于微软对文件选择对话框的COM实现的差异,会存在点击按钮后无响应的问题。

相关的 Github Issueopen in new window

为什么程序会出现乱码现象

  • 当用户在 Windows 10 下使用胡桃且发现有乱码情况时:
    • 可以下载 Segoe Fluent Icons字体
    • 安装时选择为系统所有用户安装,即可解决问题
  • 您可以从 微软官方open in new window下载到该字体文件

为什么解锁帧率后使用心海时出现掉帧

原神的BUG,和我们没关系

为什么会弹出需要使用新应用以打开的对话框

uninstall-error

如在卸载胡桃工具箱后出现如上图所示的需要使用新应用以打开此 hutao 链接,说明没有按文档要求在卸载前清除实时便笺定时任务。 请根据文档在设置中清除定时任务后再卸载胡桃工具箱。

为什么米游社帐号登录状态经常失效,添加的帐号消失

  • 我们通过储存帐号的米游社 Cookie 来维持登录状态。
  • 但是当用户在浏览器或其它设备上注销帐号后, 维持登录状态的 Cookie 将失效
  • 这会导致胡桃工具箱上的米游社帐号在启动后被自动移除。
  • 此情况也可能因为网络连接问题导致无法检查Cookie有效性,故出现此情况后请优先重启胡桃工具箱。
  • 自2022年10月起,米游社极大地提高了账号被判定为有风险的概率,账号有风险时亦会令Cookie无法被识别为有效状态
  • 自 1.4.15 版本起,你可以通过在帐号面板中刷新 Cookie 来刷新登录状态

为什么游戏登录状态会失效,导致切换帐号功能无效

  • 保存游戏登录状态的要素有两个:网络环境和设备 ID
  • 导致该问题的常见原因是:
    • 网络环境频繁变换,如公网 IP 更换
    • 操作失误,导致实际上根本没有保存登录状态(空的登录状态无法避免被胡桃识别)
      • 确认你的帐号已登录后,进入游戏
      • 关闭游戏后,确定游戏进程已关闭
      • 再次进行帐号检测,来添加登录状态

为什么程序会提示注册计划任务失败

使用管理员模式使用一次实时便笺后,胡桃的任务计划会被以管理员权限创建。当再次以非管理员模式启动胡桃时,程序在修改计划任务时会缺少权限。 继续使用管理员模式即可解决该问题。

为什么在开启代理后胡桃工具箱会没有网络连接

参考 HttpRequestException 错误 文档

为什么商店版本和侧载版本不会相互覆盖升级

  • 商店版本和侧载版本有不同的软件 ID,所以会被系统识别为不同的程序
  • 商店版的更新只会覆盖商店版应用;侧载版更新包只会更新侧载版应用
  • 在你的系统中,商店版的胡桃工具箱名称为 Snap Hutao,侧载版的名称为 胡桃
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/advance/Gacha-system-and-export-principal.html b/advance/Gacha-system-and-export-principal.html new file mode 100644 index 000000000..a50119bc2 --- /dev/null +++ b/advance/Gacha-system-and-export-principal.html @@ -0,0 +1,41 @@ + + + + + + + + 祈愿系统与导出原理 | 胡桃工具箱 + + + + + + +

祈愿系统与导出原理

DGP-StudioFAQ大约 2 分钟

祈愿系统与导出原理

Gacha System and Principal

胡桃的祈愿系统相较 Snap Genshin 进行了整体架构上的重新设计。

本文将解释原神的祈愿记录机制和胡桃工具箱中祈愿导出功能的技术原理。

祈愿的获取

获取祈愿记录需要请求米哈游的API

关于此API, 有下列几个注意点

  • 通过米哈游服务器的API,只能查询到过去6个月内的祈愿记录
    • 这也是原神客户端中祈愿记录的来源
  • API存在请求速率限制,过快的请求会导致后续的请求失败,无法正常获取数据

为了请求此API,我们需要四个关键参数

  • 目前有下列几种方法可以获取这些参数
    • 遍历 Unity 的日志文件,查找用户打开的祈愿记录URL
    • 代理本机流量,筛选祈愿记录URL
    • 查找 CefBrowser 的浏览器缓存,找到祈愿记录URL
    • 对于包含了Stoken的Cookie,调用genAuthKey API,获取参数
    • 高级用户手动输入相关URL

在请求API后可以获取到零散的祈愿记录,在对其进行拼接后即可获得一份完整的祈愿记录列表

祈愿的存储

获得完整的祈愿记录列表后即可将其简单的序列化入本地数据库内,在需要时可从数据库中反序列化出来呈现给用户。

后续的对服务器的请求只需要对比数据库中的数据请求新增的部分即可。

这样,用户即可长期地保存帐号的完整祈愿记录

UIGF格式

统一可交换祈愿记录标准

Uniformed Interchangeable GachaLog Format standard

UIGF 是由我们联合其他祈愿记录应用倡导、推出并持久维护的一个统一的祈愿记录数据交换标准

标准化的数据格式将允许用户将祈愿记录在不同的转移数据,以使用到不同原神工具中各自的特色功能

祈愿的导入

在使用 UIGF 数据格式的前提下,可以导入曾在其他应用中储存的数据

胡桃在处理导入时,会对比本地储存中存在的最早的索引(ID)并仅导入较老的数据

(因为始终可以从米哈游的服务器获取较新的数据,这种原始数据有更高的精确度)

祈愿的导出

尚未实现,正在设计 已实装

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/advance/artifact-rating-rules.html b/advance/artifact-rating-rules.html new file mode 100644 index 000000000..1360fcbdb --- /dev/null +++ b/advance/artifact-rating-rules.html @@ -0,0 +1,41 @@ + + + + + + + + 圣遗物评分机制 | 胡桃工具箱 + + + + + + +

圣遗物评分机制

DGP-StudioFAQ小于 1 分钟

圣遗物评分机制

因角色设定差异,圣遗物评分机制也必须随角色所需属性而确定。

如果你有兴趣探索我们的评分机制, 可以审阅胡桃工具箱代码open in new window 来了解评分计算方法。

如果你对当前的圣遗物评分机制有新的建议,可以在 GitHub 上开启 Issue 为圣遗物评分提供新的依据open in new window

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/advance/exceptions.html b/advance/exceptions.html new file mode 100644 index 000000000..075d82c22 --- /dev/null +++ b/advance/exceptions.html @@ -0,0 +1,41 @@ + + + + + + + + 常见的程序异常 | 胡桃工具箱 + + + + + + +

常见的程序异常

DGP-StudioFAQ大约 1 分钟

常见的程序异常

该文档包含由用户端错误造成的问题

RuntimeEnvironmentException

  • 异常:RuntimeEnvironmentException
    • 提示:未开启长路径功能,无法设置注册表键值
  • 问题来源:没有解除 Windows 目录长度限制
  • 解决方案:下载 EnableLongPaths.zipopen in new window 后解压,以管理员身份运行解压后的 .reg 文件

Return Code: -10001

  • 该异常实际上来源于米游社的返回信息,包括:
    • Return Code: -10001
    • Return Code: -100
  • 问题来源:Cookie 过期或网络异常
  • 解决方案:
    • 在帐号面板中,点击刷新 Cookie

HttpRequestException 元数据校验文件下载失败

403 (Forbidden)

解决方案:更新胡桃工具箱至最新版本open in new window

502 (Bad Gateway)

相关 Issue: https://github.com/DGP-Studio/Snap.Hutao/issues/100open in new window

当胡桃工具箱无法从远程服务器获取到必要资源时(通常是配置文件和图片缓存),会在用户界面抛出如下图所示的 HttpRequestException 错误。

HttpRequestException

当你遇到该情况,且已经确定本地网络没有互联网连接问题时,请检查是否启用了系统代理程序。如果是,请关闭。胡桃工具箱的远程服务器在全世界范围内都有类似的体验效果, 你无需为了胡桃工具箱的网络连接而使用代理网络。

如果系统代理是你的网络必须选项,请关闭系统代理而使用 TUN 模式代理;或者也可以通过 Windows 8 AppContainer Loopback Utilityopen in new window 解除 Windows APP Container Loopback 的限制open in new window

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/advance/get-stoken-cookie-from-the-third-party.html b/advance/get-stoken-cookie-from-the-third-party.html new file mode 100644 index 000000000..e2b9cc4d0 --- /dev/null +++ b/advance/get-stoken-cookie-from-the-third-party.html @@ -0,0 +1,41 @@ + + + + + + + + 使用第三方工具获取有 Stoken 的 cookie | 胡桃工具箱 + + + + + + +

使用第三方工具获取有 Stoken 的 cookie

DGP-StudioFAQ第三方工具大约 2 分钟

使用第三方工具获取有 Stoken 的 cookie

注意

  • 以下步骤中涉及的软件、开源项目等资源均来源于互联网,与 DGP-Studio 无关
  • 本说明文档仅提供有关的解决思路,仅供学习使用,具体操作与操作后果与本项目无关

Android

Android 用户可以使用开源项目 GetToken 来获取包含 Stoken 字段的 cookie

GetToken 开源项目

  • GetToken 项目的发布会包含两个 apk 文件,两者最终效果相同。根据你的设备情况选择适合你的版本即可
    • app-release.apk 为一个 LSPosed 插件允许用户在官方米游社中使用 GetToken 功能
    • 名称以lspatched结尾的 apk 文件是一个已包含 GetToken 功能的修改版米游社程序
      • 你需要卸载官方版米游社以安装该版本的米游社
  • 启用插件或安装修改版米游社后打开米游社,在底栏点击"我的",然后登录您的通行证
  • 在右上角点击形如🔑形状的按钮
  • 点击勾选 Stoken 选项
  • 点击复制登录信息
  • 将复制到的 Stoken 发送到已经安装了胡桃工具箱的电脑
  • 胡桃工具箱中的账号登录位置,点击手动输入
  • 将之前获取到的 cookie 输入,此时即可完成登录

iOS

iOS 用户可以在 App Store 下载抓包软件 Stream 来获取包含 Stoken 字段的 cookie

  • 从 App Store 下载 Streamopen in new window
  • 对域名 api-takumi.mihoyo.com 进行抓包分析
  • 找到并复制带有 Stoken 的数据
    • 形如stuid=****;stoken=v2****;mid=****;
  • 将复制到的 Stoken 发送到已经安装了胡桃工具箱的电脑
  • 胡桃工具箱中的账号登录位置,点击手动输入
  • 将之前获取到的 cookie 输入,此时即可完成登录
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/advance/index.html b/advance/index.html new file mode 100644 index 000000000..23747beb3 --- /dev/null +++ b/advance/index.html @@ -0,0 +1,41 @@ + + + + + + + + Advance | 胡桃工具箱 + + + + + + +
+ + + diff --git a/advance/known-issue.html b/advance/known-issue.html new file mode 100644 index 000000000..929c4e4b1 --- /dev/null +++ b/advance/known-issue.html @@ -0,0 +1,41 @@ + + + + + + + + 已知问题 | 胡桃工具箱 + + + + + + +

已知问题

DGP-StudioFAQ大约 2 分钟

已知问题

该文档包含由程序错误造成的问题

#1 微软商店下载应用程序

该问题来源并非胡桃工具箱,属于外部问题

  • 发现于 2023/02/07
  • 无法从微软商店下载的原因在于微软在东亚的授权服务器 licensing.mp.microsoft.com 掉线。当你在商店上下载一个新应用时,这实际上是一个授权/购买的过程。 当授权服务出现问题时,自然不会再进入到下一步下载环节,这就导致了用户无法安装
    • 目前仅发现于微软商店新加坡授权服务器 52.137.108.250 出现了问题,所以你可以使用代理,切换到其它授权服务器,来实现下载。
  • 授权服务器问题 DGP-Studio已反馈给微软,等待解决。
  • 临时的解决方案:
    • 方法1
      • 使用UsbEAm Hosts Editoropen in new window
        • 在该工具箱内选择 Microsoft Store - 微软商店 中的 微软授权验证
        • 点击检测延迟
        • 选择一个对你而言延迟最低的服务器,选中后点击应用选中
        • 此时重启微软商店后,你应当可以下载应用了
        • 下载完成后,建议点击清除当前以删除对 Hosts 文件的修改
      • 如果你懒得下载,可以尝试将 licensing.mp.microsoft.com 通过修改 Hosts文件解析到以下 IP 地址之一 (收集于 UsbEAm Hosts Editor)
        • 124.108.22.138
        • 92.38.149.175
        • 141.147.180.87
        • 103.151.179.4
    • 方法2
      • 将系统的DNS服务器设置为4.2.2.1和4.2.2.2(完事后记得改回原本的设置)
    • 方法3

#2 服务器切换导致31-4302报错

该问题已于 1.4.15 版本修复,请及时更新

  • 使用高级启动器中的服务器切换功能时,可能会出现31-4302相关错误
  • 目前的临时解决方案:
    • 将原神截图目录中的服务器切换缓存目录删除

#3 任务栏右键菜单中没有快速启动游戏的入口

  • 胡桃使用 Windows 提供的 JumpPath 接口来提供快速启动游戏菜单
    • 该接口需要用户在系统设置 -> 个性化 -> 开始 中启用在“开始”菜单或任务栏的跳转列表中以及资源管理器的“快速使用”中显示最近打开的项 (该设置系统默认开启)
  • 在下一版本,我们会使用 JumpTask 接口来代替 JumpPath 接口,用户将不再需要上述设置选项开启
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/advance/mihoyo-risk-tip.html b/advance/mihoyo-risk-tip.html new file mode 100644 index 000000000..5b92f3fc6 --- /dev/null +++ b/advance/mihoyo-risk-tip.html @@ -0,0 +1,41 @@ + + + + + + + + 账号风险及异常提示 | 胡桃工具箱 + + + + + + +

账号风险及异常提示

DGP-StudioFAQ大约 2 分钟

账号风险及异常提示

imageimage

  • 当胡桃工具箱返回"账号有风险,请前往米游社查看"、"请求异常,请前往米游社对应功能页面查看"、"无感验证失败,请前往「米游社我的角色实时便笺」页面查看 "等错误提示时,代表当前的操作被米游社的验证系统所阻挡

  • 解决方式

    • 方法1 推荐
      • 自 1.4.15 版本起,在帐号面板内点击 刷新 Cookie 即可
    • 方法2:
      • 使用手机打开米游社App
      • 点击我的
      • 点击个人主页
      • 点击我的角色下方的角色标签
        • 点击全部角色
        • 或可以点击实时便笺窗体
      • 完成在此期间可能随机触发的验证流程(例如验证码),即可解决本问题。
        • 若此操作未触发验证流程,可重复进行多次,直到触发验证为止
        • 若始终无法触发验证,可修改密码

提示

  • 若风险提示过于频繁,或始终无法触发验证,代表您的账号风险已过高,请修改密码,使多个设备同时登录的状态被重置

注意

  • 若您已绑定并使用可提供原神查询的Bot同时有多个设备使用同一个米哈游通行证,则本条目所示的情况,尤其无感验证将基本无法成功,这是米游社后端的安全性设计,不可避免,无法绕过
  • 若您本地有多个米哈游通行证同时频繁与米游社进行数据交互,则可能会被米游社在一定时间内封禁IP地址,这是米游社后端的安全性设计,不可避免,无法绕过
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/advance/uninstall.html b/advance/uninstall.html new file mode 100644 index 000000000..ba9f9b26a --- /dev/null +++ b/advance/uninstall.html @@ -0,0 +1,42 @@ + + + + + + + + 卸载胡桃工具箱 | 胡桃工具箱 + + + + + + +

卸载胡桃工具箱

DGP-StudioFAQ小于 1 分钟

卸载胡桃工具箱

  • 清除有关的任务计划
    • 1.4.15 版本前,若不执行该步骤,胡桃用于获取实时便笺数据的计划任务将不会被删除,会出现这个问题
    • 方法1 仅限早于 1.4.15 的版本
      • 打开胡桃,选择 设置 页签
      • 找到 删除所有计划任务 一栏中,点击右侧的 执行 按钮 需要管理员模式
    • 方法2
      • 执行下方的脚本
        schtasks /delete /tn SnapHutaoDailyNoteRefreshTask
        +
    • 方法3
      • 打开 Windows 计划任务程序
      • 找到 SnapHutaoDailyNoteRefreshTask 任务并删除
  • 卸载软件
    • 打开开始菜单
    • 找到或搜索到胡桃
    • 右键点击胡桃,并选择卸载
  • 清除数据文件夹(如需完全卸载)
    • 打开并删除该文件夹 %userprofile%/Documents/Hutao
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.14.7
+ + + diff --git a/assets/FAQ.html-e745ff56.js b/assets/FAQ.html-e745ff56.js new file mode 100644 index 000000000..d1e8e869d --- /dev/null +++ b/assets/FAQ.html-e745ff56.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-1b642789","path":"/advance/FAQ.html","title":"常见问题","lang":"zh-CN","frontmatter":{"headerDepth":2,"icon":"ask","category":["FAQ"],"description":"如何创建胡桃的桌面快捷方式社区力量 感谢 CzHUV 提供的解决方案 (https://github.com/DGP-Studio/Snap.Hutao.Docs/issues/12) Win+R 呼出运行窗口,在窗口中输入shell:AppsFolder; Run Windows 会弹出应用程序目录,找到胡桃工具箱; 右键,点击创建快捷方式; 根据提...","head":[["meta",{"property":"og:url","content":"https://hut.ao/advance/FAQ.html"}],["meta",{"property":"og:site_name","content":"胡桃工具箱"}],["meta",{"property":"og:title","content":"常见问题"}],["meta",{"property":"og:description","content":"如何创建胡桃的桌面快捷方式社区力量 感谢 CzHUV 提供的解决方案 (https://github.com/DGP-Studio/Snap.Hutao.Docs/issues/12) Win+R 呼出运行窗口,在窗口中输入shell:AppsFolder; Run Windows 会弹出应用程序目录,找到胡桃工具箱; 右键,点击创建快捷方式; 根据提..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-02-20T08:53:13.000Z"}],["meta",{"property":"article:modified_time","content":"2023-02-20T08:53:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"常见问题\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-02-20T08:53:13.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"如何创建胡桃的桌面快捷方式","slug":"如何创建胡桃的桌面快捷方式","link":"#如何创建胡桃的桌面快捷方式","children":[]},{"level":2,"title":"如何添加一个默认以管理员方式运行的快捷方式","slug":"如何添加一个默认以管理员方式运行的快捷方式","link":"#如何添加一个默认以管理员方式运行的快捷方式","children":[]},{"level":2,"title":"如何让胡桃工具箱开机自动启动","slug":"如何让胡桃工具箱开机自动启动","link":"#如何让胡桃工具箱开机自动启动","children":[]},{"level":2,"title":"如何通过胡桃工具箱快速地启动游戏","slug":"如何通过胡桃工具箱快速地启动游戏","link":"#如何通过胡桃工具箱快速地启动游戏","children":[]},{"level":2,"title":"如何通过网络代理使用胡桃工具箱","slug":"如何通过网络代理使用胡桃工具箱","link":"#如何通过网络代理使用胡桃工具箱","children":[]},{"level":2,"title":"为什么在设置中点击修改游戏路径无效","slug":"为什么在设置中点击修改游戏路径无效","link":"#为什么在设置中点击修改游戏路径无效","children":[]},{"level":2,"title":"为什么程序会出现乱码现象","slug":"为什么程序会出现乱码现象","link":"#为什么程序会出现乱码现象","children":[]},{"level":2,"title":"为什么解锁帧率后使用心海时出现掉帧","slug":"为什么解锁帧率后使用心海时出现掉帧","link":"#为什么解锁帧率后使用心海时出现掉帧","children":[]},{"level":2,"title":"为什么会弹出需要使用新应用以打开的对话框","slug":"为什么会弹出需要使用新应用以打开的对话框","link":"#为什么会弹出需要使用新应用以打开的对话框","children":[]},{"level":2,"title":"为什么米游社帐号登录状态经常失效,添加的帐号消失","slug":"为什么米游社帐号登录状态经常失效-添加的帐号消失","link":"#为什么米游社帐号登录状态经常失效-添加的帐号消失","children":[]},{"level":2,"title":"为什么游戏登录状态会失效,导致切换帐号功能无效","slug":"为什么游戏登录状态会失效-导致切换帐号功能无效","link":"#为什么游戏登录状态会失效-导致切换帐号功能无效","children":[]},{"level":2,"title":"为什么程序会提示注册计划任务失败","slug":"为什么程序会提示注册计划任务失败","link":"#为什么程序会提示注册计划任务失败","children":[]},{"level":2,"title":"为什么在开启代理后胡桃工具箱会没有网络连接","slug":"为什么在开启代理后胡桃工具箱会没有网络连接","link":"#为什么在开启代理后胡桃工具箱会没有网络连接","children":[]},{"level":2,"title":"为什么商店版本和侧载版本不会相互覆盖升级","slug":"为什么商店版本和侧载版本不会相互覆盖升级","link":"#为什么商店版本和侧载版本不会相互覆盖升级","children":[]}],"git":{"createdTime":1676883193000,"updatedTime":1676883193000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":1}]},"readingTime":{"minutes":5.22,"words":1566},"filePathRelative":"advance/FAQ.md","localizedDate":"2023年2月20日","autoDesc":true}');export{e as data}; diff --git a/assets/FAQ.html-ef74e4b3.js b/assets/FAQ.html-ef74e4b3.js new file mode 100644 index 000000000..f35573ef2 --- /dev/null +++ b/assets/FAQ.html-ef74e4b3.js @@ -0,0 +1,3 @@ +import{ac as r,H as d,I as h,F as e,V as l,O as t,ae as a,ad as i,Y as s}from"./framework-3390b3d8.js";const c={},u=e("h1",{id:"常见问题",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#常见问题","aria-hidden":"true"},"#"),l(" 常见问题")],-1),_=e("h2",{id:"如何创建胡桃的桌面快捷方式",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#如何创建胡桃的桌面快捷方式","aria-hidden":"true"},"#"),l(" 如何创建胡桃的桌面快捷方式")],-1),p={class:"hint-container tip"},g=e("p",{class:"hint-container-title"},"社区力量",-1),f={href:"https://github.com/DGP-Studio/Snap.Hutao.Docs/issues/12",target:"_blank",rel:"noopener noreferrer"},m=i('

如何添加一个默认以管理员方式运行的快捷方式

',2),b={class:"hint-container tip"},x=e("p",{class:"hint-container-title"},"社区力量",-1),S={href:"https://github.com/DGP-Studio/Snap.Hutao.Docs/issues/17",target:"_blank",rel:"noopener noreferrer"},k=e("p",null,"基本原理:使用下方的 PowerShell 脚本可以以管理员方式运行胡桃",-1),P=e("div",{class:"language-PowerShell","data-ext":"PowerShell"},[e("pre",{class:"language-PowerShell"},[e("code",null,`Start-Process shell:AppsFolder\\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas +`)])],-1),H={href:"https://github.com/DGP-Studio/Snap.Hutao/raw/main/src/Snap.Hutao/Snap.Hutao/Assets/Logo.ico",target:"_blank",rel:"noopener noreferrer"},w=e("li",null,[l("在桌面点击右键,选择"),e("code",null,"新建"),l(" -> "),e("code",null,"快捷方式")],-1),v=e("li",null,[l("在"),e("code",null,"请键入对象的位置"),l("中直接输入:")],-1),C=i(`
  powershell -WindowStyle Hidden -Command "Start-Process shell:AppsFolder\\60568DGPStudio.SnapHutao_ebfp3nyc27j86!App -verb runas
+

如何让胡桃工具箱开机自动启动

`,3),D={href:"https://github.com/DGP-Studio/Snap.Hutao/issues/184",target:"_blank",rel:"noopener noreferrer"},A=e("li",null,[l("设置一个"),e("strong",null,"计划任务程序"),l("令上述批处理文件开机自启,或将上述批处理文件加入"),e("strong",null,"启动项"),l("中")],-1),G=e("li",null,"或有其他令胡桃工具箱可开机自启的思路,可自行探索",-1),I=i('

如何通过胡桃工具箱快速地启动游戏

如何通过网络代理使用胡桃工具箱

',3),F=e("h2",{id:"为什么在设置中点击修改游戏路径无效",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#为什么在设置中点击修改游戏路径无效","aria-hidden":"true"},"#"),l(" 为什么在设置中点击修改游戏路径无效")],-1),N=e("p",null,"特定系统版本的用户,由于微软对文件选择对话框的COM实现的差异,会存在点击按钮后无响应的问题。",-1),y={href:"https://github.com/microsoft/WindowsAppSDK/issues/2931",target:"_blank",rel:"noopener noreferrer"},L=e("h2",{id:"为什么程序会出现乱码现象",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#为什么程序会出现乱码现象","aria-hidden":"true"},"#"),l(" 为什么程序会出现乱码现象")],-1),R=e("li",null,[l("当用户在 Windows 10 下使用胡桃且发现有乱码情况时: "),e("ul",null,[e("li",null,[l("可以下载 "),e("code",null,"Segoe Fluent Icons"),l("字体")]),e("li",null,[l("安装时选择"),e("code",null,"为系统所有用户安装"),l(",即可解决问题")])])],-1),q={href:"https://aka.ms/SegoeFluentIcons",target:"_blank",rel:"noopener noreferrer"},V=i('

为什么解锁帧率后使用心海时出现掉帧

原神的BUG,和我们没关系

为什么会弹出需要使用新应用以打开的对话框

uninstall-error

如在卸载胡桃工具箱后出现如上图所示的需要使用新应用以打开此 hutao 链接,说明没有按文档要求在卸载前清除实时便笺定时任务。 请根据文档在设置中清除定时任务后再卸载胡桃工具箱。

',5),j={href:"https://github.com/DGP-Studio/Snap.Hutao.Docs/issues/18",target:"_blank",rel:"noopener noreferrer"},z=e("h2",{id:"为什么米游社帐号登录状态经常失效-添加的帐号消失",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#为什么米游社帐号登录状态经常失效-添加的帐号消失","aria-hidden":"true"},"#"),l(" 为什么米游社帐号登录状态经常失效,添加的帐号消失")],-1),B=e("li",null,"我们通过储存帐号的米游社 Cookie 来维持登录状态。",-1),E=e("li",null,[l("但是当用户在浏览器或其它设备上"),e("strong",null,"注销帐号"),l("后, 维持登录状态的 Cookie 将"),e("strong",null,"失效"),l("。")],-1),O=e("li",null,"这会导致胡桃工具箱上的米游社帐号在启动后被自动移除。",-1),W=e("li",null,"此情况也可能因为网络连接问题导致无法检查Cookie有效性,故出现此情况后请优先重启胡桃工具箱。",-1),Q=e("li",null,"自 1.4.15 版本起,你可以通过在帐号面板中刷新 Cookie 来刷新登录状态",-1),U=i('

为什么游戏登录状态会失效,导致切换帐号功能无效

为什么程序会提示注册计划任务失败

使用管理员模式使用一次实时便笺后,胡桃的任务计划会被以管理员权限创建。当再次以非管理员模式启动胡桃时,程序在修改计划任务时会缺少权限。 继续使用管理员模式即可解决该问题。

为什么在开启代理后胡桃工具箱会没有网络连接

',5),J=e("h2",{id:"为什么商店版本和侧载版本不会相互覆盖升级",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#为什么商店版本和侧载版本不会相互覆盖升级","aria-hidden":"true"},"#"),l(" 为什么商店版本和侧载版本不会相互覆盖升级")],-1),M=e("ul",null,[e("li",null,"商店版本和侧载版本有不同的软件 ID,所以会被系统识别为不同的程序"),e("li",null,"商店版的更新只会覆盖商店版应用;侧载版更新包只会更新侧载版应用"),e("li",null,[l("在你的系统中,商店版的胡桃工具箱名称为 "),e("code",null,"Snap Hutao"),l(",侧载版的名称为 "),e("code",null,"胡桃")])],-1);function X(Y,K){const o=s("ExternalLinkIcon"),n=s("RouterLink");return d(),h("div",null,[u,_,e("div",p,[g,e("p",null,[l("感谢 "),e("a",f,[l("CzHUV 提供的解决方案"),t(o)])])]),m,e("div",b,[x,e("p",null,[l("感谢 "),e("a",S,[l("Parsifa1 提供的解决方案"),t(o)])])]),k,P,e("ul",null,[e("li",null,[l("保存胡桃工具箱的 Logo 资源 "),e("ul",null,[e("li",null,[l("你可以点击"),e("a",H,[l("这里"),t(o)]),l("下载")])])]),w,v]),C,e("ul",null,[e("li",null,[l("请参考如下思路 "),e("ul",null,[e("li",null,[l("可以自行创建一个批处理文件,内容参考"),e("a",D,[l("此issue"),t(o)]),l("中,令胡桃以管理员模式直接运行的命令。")]),A])]),G]),I,e("p",null,[l("参考 "),t(n,{to:"/advance/exceptions.html#httprequestexception"},{default:a(()=>[l("HttpRequestException 错误")]),_:1}),l(" 文档")]),F,N,e("p",null,[l("相关的 "),e("a",y,[l("Github Issue"),t(o)])]),L,e("ul",null,[R,e("li",null,[l("您可以从 "),e("a",q,[l("微软官方"),t(o)]),l("下载到该字体文件")])]),V,e("ul",null,[e("li",null,[l("如果你在系统定时任务中找不到胡桃的定时任务,但问题仍然出现,请参考"),e("a",j,[l("这份文档"),t(o)]),l("来解决")])]),z,e("ul",null,[B,E,O,W,e("li",null,[l("自2022年10月起,米游社极大地提高了账号被判定为有风险的概率,"),t(n,{to:"/advance/mihoyo-risk-tip.html"},{default:a(()=>[l("账号有风险")]),_:1}),l("时亦会令Cookie无法被识别为有效状态")]),Q]),U,e("p",null,[l("参考 "),t(n,{to:"/advance/exceptions.html#httprequestexception"},{default:a(()=>[l("HttpRequestException 错误")]),_:1}),l(" 文档")]),J,M])}const Z=r(c,[["render",X],["__file","FAQ.html.vue"]]);export{Z as default}; diff --git a/assets/Gacha-system-and-export-principal.html-897f9ffc.js b/assets/Gacha-system-and-export-principal.html-897f9ffc.js deleted file mode 100644 index 833a5b330..000000000 --- a/assets/Gacha-system-and-export-principal.html-897f9ffc.js +++ /dev/null @@ -1 +0,0 @@ -const e=JSON.parse('{"key":"v-4f87b30d","path":"/FAQ/Gacha-system-and-export-principal.html","title":"祈愿系统与导出原理","lang":"zh-CN","frontmatter":{"headerDepth":0,"category":["FAQ"],"description":"Gacha System and Principal 胡桃的祈愿系统相较 Snap Genshin 进行了整体架构上的重新设计。 本文将解释原神的祈愿记录机制和胡桃工具箱中祈愿导出功能的技术原理。 祈愿的获取 获取祈愿记录需要请求米哈游的API 关于此API, 有下列几个注意点 通过米哈游服务器的API,只能查询到过去6个月内的祈愿记录; 这也是原神客...","head":[["meta",{"property":"og:url","content":"https://hut.ao/FAQ/Gacha-system-and-export-principal.html"}],["meta",{"property":"og:site_name","content":"胡桃工具箱"}],["meta",{"property":"og:title","content":"祈愿系统与导出原理"}],["meta",{"property":"og:description","content":"Gacha System and Principal 胡桃的祈愿系统相较 Snap Genshin 进行了整体架构上的重新设计。 本文将解释原神的祈愿记录机制和胡桃工具箱中祈愿导出功能的技术原理。 祈愿的获取 获取祈愿记录需要请求米哈游的API 关于此API, 有下列几个注意点 通过米哈游服务器的API,只能查询到过去6个月内的祈愿记录; 这也是原神客..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-02-14T08:01:50.000Z"}],["meta",{"property":"article:modified_time","content":"2023-02-14T08:01:50.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"祈愿系统与导出原理\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-02-14T08:01:50.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"祈愿的获取","slug":"祈愿的获取","link":"#祈愿的获取","children":[]},{"level":2,"title":"祈愿的存储","slug":"祈愿的存储","link":"#祈愿的存储","children":[]},{"level":2,"title":"UIGF格式","slug":"uigf格式","link":"#uigf格式","children":[{"level":3,"title":"祈愿的导入","slug":"祈愿的导入","link":"#祈愿的导入","children":[]},{"level":3,"title":"祈愿的导出","slug":"祈愿的导出","link":"#祈愿的导出","children":[]}]}],"git":{"createdTime":1664419063000,"updatedTime":1676361710000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":3}]},"readingTime":{"minutes":2.18,"words":654},"filePathRelative":"FAQ/Gacha-system-and-export-principal.md","localizedDate":"2022年9月29日","autoDesc":true}');export{e as data}; diff --git a/assets/Gacha-system-and-export-principal.html-dc9e0964.js b/assets/Gacha-system-and-export-principal.html-dc9e0964.js new file mode 100644 index 000000000..5c4c756f7 --- /dev/null +++ b/assets/Gacha-system-and-export-principal.html-dc9e0964.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-531ba0fe","path":"/advance/Gacha-system-and-export-principal.html","title":"祈愿系统与导出原理","lang":"zh-CN","frontmatter":{"headerDepth":0,"category":["FAQ"],"icon":"read","description":"Gacha System and Principal 胡桃的祈愿系统相较 Snap Genshin 进行了整体架构上的重新设计。 本文将解释原神的祈愿记录机制和胡桃工具箱中祈愿导出功能的技术原理。 祈愿的获取 获取祈愿记录需要请求米哈游的API 关于此API, 有下列几个注意点 通过米哈游服务器的API,只能查询到过去6个月内的祈愿记录; 这也是原神客...","head":[["meta",{"property":"og:url","content":"https://hut.ao/advance/Gacha-system-and-export-principal.html"}],["meta",{"property":"og:site_name","content":"胡桃工具箱"}],["meta",{"property":"og:title","content":"祈愿系统与导出原理"}],["meta",{"property":"og:description","content":"Gacha System and Principal 胡桃的祈愿系统相较 Snap Genshin 进行了整体架构上的重新设计。 本文将解释原神的祈愿记录机制和胡桃工具箱中祈愿导出功能的技术原理。 祈愿的获取 获取祈愿记录需要请求米哈游的API 关于此API, 有下列几个注意点 通过米哈游服务器的API,只能查询到过去6个月内的祈愿记录; 这也是原神客..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:updated_time","content":"2023-02-20T08:53:13.000Z"}],["meta",{"property":"article:modified_time","content":"2023-02-20T08:53:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"祈愿系统与导出原理\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-02-20T08:53:13.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"祈愿的获取","slug":"祈愿的获取","link":"#祈愿的获取","children":[]},{"level":2,"title":"祈愿的存储","slug":"祈愿的存储","link":"#祈愿的存储","children":[]},{"level":2,"title":"UIGF格式","slug":"uigf格式","link":"#uigf格式","children":[{"level":3,"title":"祈愿的导入","slug":"祈愿的导入","link":"#祈愿的导入","children":[]},{"level":3,"title":"祈愿的导出","slug":"祈愿的导出","link":"#祈愿的导出","children":[]}]}],"git":{"createdTime":1676883193000,"updatedTime":1676883193000,"contributors":[{"name":"Masterain","email":"i@irain.in","commits":1}]},"readingTime":{"minutes":2.19,"words":656},"filePathRelative":"advance/Gacha-system-and-export-principal.md","localizedDate":"2023年2月20日","autoDesc":true}');export{e as data}; diff --git a/assets/VuePlayground-9a522a51.js b/assets/VuePlayground-74bc58e5.js similarity index 92% rename from assets/VuePlayground-9a522a51.js rename to assets/VuePlayground-74bc58e5.js index ba000ee86..62ec98b53 100644 --- a/assets/VuePlayground-9a522a51.js +++ b/assets/VuePlayground-74bc58e5.js @@ -1 +1 @@ -import{R as p,o as d,_ as v}from"./app-8b3229b1.js";import{c as m,r as i,A as w,h as f,o as g,j as e}from"./framework-3390b3d8.js";const h=()=>e(p,{name:"loading"},()=>["0s","-0.333s","-0.667s"].map(a=>e("circle",{cx:512,cy:512,r:0,fill:"none",stroke:"currentColor","stroke-width":"20"},[e("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;400",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:a}),e("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:a})]))),y='',C=a=>d({},{autoResize:!0,showCode:!1,showCompileOutput:!1,showImportMap:!0,clearConsole:!1,layout:"vertical",ssr:!1},JSON.parse(decodeURIComponent(a)));var S=m({name:"VuePlayground",props:{title:{type:String,default:""},files:{type:String,required:!0},settings:{type:String,default:"{}"}},setup(a){const n=i(!0),l=w(),s=i(),t=f(()=>C(a.settings)),o=i(t.value.showCode||!1),r=async()=>{const{ReplStore:u,Repl:c}=await v(()=>import("./vue-repl-e26a25ed.js"),["assets/vue-repl-e26a25ed.js","assets/app-8b3229b1.js","assets/framework-3390b3d8.js"]);l.value=c,s.value=new u({serializedState:decodeURIComponent(a.files),showOutput:!0}),t.value.vueVersion&&await s.value.setVueVersion(t.value.vueVersion)};return g(async()=>{await r(),n.value=!1}),()=>[e("div",{class:"vue-playground-wrapper"},[e("div",{class:"title-wrapper"},[a.title?e("div",{class:"title"},decodeURIComponent(a.title)):null,e("div",{class:"actions"},[e("button",{class:"action",innerHTML:y,onClick:()=>{o.value=!o.value}})])]),e("div",{class:["repl-container",o.value?"show-code":"hide-code"]},[n.value?e("div",{class:"preview-loading-wrapper"},e(h)):null,l.value?e(l.value,{store:s.value,...t.value}):null])])]}});export{S as default}; +import{R as p,o as d,_ as v}from"./app-51db36de.js";import{c as m,r as i,A as w,h as f,o as g,j as e}from"./framework-3390b3d8.js";const h=()=>e(p,{name:"loading"},()=>["0s","-0.333s","-0.667s"].map(a=>e("circle",{cx:512,cy:512,r:0,fill:"none",stroke:"currentColor","stroke-width":"20"},[e("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;400",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:a}),e("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:a})]))),y='',C=a=>d({},{autoResize:!0,showCode:!1,showCompileOutput:!1,showImportMap:!0,clearConsole:!1,layout:"vertical",ssr:!1},JSON.parse(decodeURIComponent(a)));var S=m({name:"VuePlayground",props:{title:{type:String,default:""},files:{type:String,required:!0},settings:{type:String,default:"{}"}},setup(a){const n=i(!0),l=w(),s=i(),t=f(()=>C(a.settings)),o=i(t.value.showCode||!1),r=async()=>{const{ReplStore:u,Repl:c}=await v(()=>import("./vue-repl-91712ef1.js"),["assets/vue-repl-91712ef1.js","assets/app-51db36de.js","assets/framework-3390b3d8.js"]);l.value=c,s.value=new u({serializedState:decodeURIComponent(a.files),showOutput:!0}),t.value.vueVersion&&await s.value.setVueVersion(t.value.vueVersion)};return g(async()=>{await r(),n.value=!1}),()=>[e("div",{class:"vue-playground-wrapper"},[e("div",{class:"title-wrapper"},[a.title?e("div",{class:"title"},decodeURIComponent(a.title)):null,e("div",{class:"actions"},[e("button",{class:"action",innerHTML:y,onClick:()=>{o.value=!o.value}})])]),e("div",{class:["repl-container",o.value?"show-code":"hide-code"]},[n.value?e("div",{class:"preview-loading-wrapper"},e(h)):null,l.value?e(l.value,{store:s.value,...t.value}):null])])]}});export{S as default}; diff --git a/assets/app-8b3229b1.js b/assets/app-51db36de.js similarity index 68% rename from assets/app-8b3229b1.js rename to assets/app-51db36de.js index 33eafa670..e1f15d8df 100644 --- a/assets/app-8b3229b1.js +++ b/assets/app-51db36de.js @@ -1,18 +1,18 @@ -import{d as defineAsyncComponent,r as ref,a as readonly,b as reactive,c as defineComponent,i as isString$1,e as isArray,f as dedupeHead,g as resolveLocalePath,o as onMounted,h as computed,j as h$4,k as isLinkHttp,l as removeLeadingSlash,m as inject,n as getCurrentInstance,p as isPlainObject,q as camelize,s as capitalize,t as isFunction$1,u as unref,v as nextTick,w as isRef,x as watch,y as getCurrentScope,z as onScopeDispose,A as shallowRef,B as watchEffect,T as Transition,C as useRouter,D as onBeforeUnmount,E as useRoute,R as RouterLink,F as createBaseVNode,G as onUnmounted,H as openBlock,I as createElementBlock,J as toDisplayString,K as Fragment,L as renderList,M as createCommentVNode,N as normalizeStyle,O as createVNode,P as normalizeClass,Q as withDirectives,S as vModelText,U as vShow,V as createTextVNode,W as createBlock,X as vModelDynamic,Y as resolveComponent,Z as provide,_ as isLinkMailto,$ as toRef,a0 as isLinkTel,a1 as isLinkExternal,a2 as ensureEndingSlash,a3 as TransitionGroup,a4 as removeEndingSlash,a5 as useLink,a6 as resolveRoutePathFromUrl,a7 as createSSRApp,a8 as RouterView,a9 as createRouter,aa as START_LOCATION_NORMALIZED,ab as createWebHistory}from"./framework-3390b3d8.js";const scriptRel="modulepreload",assetsURL=function($o){return"/"+$o},seen={},__vitePreload=function(xo,Lo,To){if(!Lo||Lo.length===0)return xo();const Ao=document.getElementsByTagName("link");return Promise.all(Lo.map(Bo=>{if(Bo=assetsURL(Bo),Bo in seen)return;seen[Bo]=!0;const Ro=Bo.endsWith(".css"),No=Ro?'[rel="stylesheet"]':"";if(!!To)for(let Vo=Ao.length-1;Vo>=0;Vo--){const Fo=Ao[Vo];if(Fo.href===Bo&&(!Ro||Fo.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${Bo}"]${No}`))return;const zo=document.createElement("link");if(zo.rel=Ro?"stylesheet":scriptRel,Ro||(zo.as="script",zo.crossOrigin=""),zo.href=Bo,document.head.appendChild(zo),Ro)return new Promise((Vo,Fo)=>{zo.addEventListener("load",Vo),zo.addEventListener("error",()=>Fo(new Error(`Unable to preload CSS for ${Bo}`)))})})).then(()=>xo())},pagesData$1={"v-8daa1a0e":()=>__vitePreload(()=>import("./index.html-651cfb32.js"),[]).then(({data:$o})=>$o),"v-67f865c9":()=>__vitePreload(()=>import("./community.html-b7dd4ca6.js"),[]).then(({data:$o})=>$o),"v-016abea2":()=>__vitePreload(()=>import("./i18n.html-06557ffc.js"),[]).then(({data:$o})=>$o),"v-c360777a":()=>__vitePreload(()=>import("./markmap.html-3825499a.js"),[]).then(({data:$o})=>$o),"v-590a42d9":()=>__vitePreload(()=>import("./project.html-0391df72.js"),[]).then(({data:$o})=>$o),"v-96f5eae0":()=>__vitePreload(()=>import("./quick-start.html-5ccce67d.js"),[]).then(({data:$o})=>$o),"v-f8eeb414":()=>__vitePreload(()=>import("./side-load.html-de24922e.js"),[]).then(({data:$o})=>$o),"v-35ed7d28":()=>__vitePreload(()=>import("./star-request.html-56b84ca0.js"),[]).then(({data:$o})=>$o),"v-4f87b30d":()=>__vitePreload(()=>import("./Gacha-system-and-export-principal.html-897f9ffc.js"),[]).then(({data:$o})=>$o),"v-0288c929":()=>__vitePreload(()=>import("./artifact-rating-rules.html-89b1cb5d.js"),[]).then(({data:$o})=>$o),"v-07f7ceba":()=>__vitePreload(()=>import("./exceptions.html-44926d53.js"),[]).then(({data:$o})=>$o),"v-9a0eaba6":()=>__vitePreload(()=>import("./get-stoken-cookie-from-the-third-party.html-ac32733d.js"),[]).then(({data:$o})=>$o),"v-179f15e2":()=>__vitePreload(()=>import("./how-to.html-cda47090.js"),[]).then(({data:$o})=>$o),"v-690b02dc":()=>__vitePreload(()=>import("./known-issue.html-a1ef6e68.js"),[]).then(({data:$o})=>$o),"v-401b4afa":()=>__vitePreload(()=>import("./mihoyo-risk-tip.html-bfb875a1.js"),[]).then(({data:$o})=>$o),"v-289a9e83":()=>__vitePreload(()=>import("./why.html-3efe729e.js"),[]).then(({data:$o})=>$o),"v-28eb1946":()=>__vitePreload(()=>import("./symposium1.html-307eb376.js"),[]).then(({data:$o})=>$o),"v-2a9ff1e5":()=>__vitePreload(()=>import("./symposium2.html-3a708b8f.js"),[]).then(({data:$o})=>$o),"v-2d0a870d":()=>__vitePreload(()=>import("./index.html-59219388.js"),[]).then(({data:$o})=>$o),"v-73139ec8":()=>__vitePreload(()=>import("./achievements.html-717876fb.js"),[]).then(({data:$o})=>$o),"v-1c93fc72":()=>__vitePreload(()=>import("./character-data.html-41fa4a18.js"),[]).then(({data:$o})=>$o),"v-e37f5fa8":()=>__vitePreload(()=>import("./character-wiki.html-150c6cea.js"),[]).then(({data:$o})=>$o),"v-646944b6":()=>__vitePreload(()=>import("./daily-notes.html-4f5386f2.js"),[]).then(({data:$o})=>$o),"v-1ae10847":()=>__vitePreload(()=>import("./develop-plan.html-a9728973.js"),[]).then(({data:$o})=>$o),"v-923d01d2":()=>__vitePreload(()=>import("./game-launcher.html-535d8f04.js"),[]).then(({data:$o})=>$o),"v-6de46920":()=>__vitePreload(()=>import("./hutao-API.html-a02b463f.js"),[]).then(({data:$o})=>$o),"v-0c385e36":()=>__vitePreload(()=>import("./hutao-settings.html-8e84b5ab.js"),[]).then(({data:$o})=>$o),"v-3e40bb9d":()=>__vitePreload(()=>import("./mhy-account-switch.html-43580033.js"),[]).then(({data:$o})=>$o),"v-7070f771":()=>__vitePreload(()=>import("./weapon-wiki.html-ee86d91d.js"),[]).then(({data:$o})=>$o),"v-f4f67790":()=>__vitePreload(()=>import("./wish-export.html-dc43b858.js"),[]).then(({data:$o})=>$o),"v-39f4c4da":()=>__vitePreload(()=>import("./bug-report.html-b615f75b.js"),[]).then(({data:$o})=>$o),"v-6730cc6c":()=>__vitePreload(()=>import("./privacy-notice.html-24d09b2f.js"),[]).then(({data:$o})=>$o),"v-d670f89a":()=>__vitePreload(()=>import("./tos.html-233ebd50.js"),[]).then(({data:$o})=>$o),"v-a05f49b2":()=>__vitePreload(()=>import("./update-log.html-683d3b93.js"),[]).then(({data:$o})=>$o),"v-3706649a":()=>__vitePreload(()=>import("./404.html-32d5d192.js"),[]).then(({data:$o})=>$o),"v-74379e72":()=>__vitePreload(()=>import("./index.html-97cb8dac.js"),[]).then(({data:$o})=>$o),"v-437b37b6":()=>__vitePreload(()=>import("./index.html-6015185b.js"),[]).then(({data:$o})=>$o),"v-35380e8e":()=>__vitePreload(()=>import("./index.html-34056938.js"),[]).then(({data:$o})=>$o),"v-b573819c":()=>__vitePreload(()=>import("./index.html-088df0ce.js"),[]).then(({data:$o})=>$o)},siteData$1=JSON.parse('{"base":"/","lang":"en-US","title":"","description":"","head":[["script",{"async":"","defer":"","data-website-id":"f586534f-1741-450e-a0f4-3c0189f993c9","src":"https://umami.irain.in/umami.js"},"\\n "],["script",{"type":"module","src":"https://get.microsoft.com/badge/ms-store-badge.bundled.js"}],["link",{"rel":"icon","href":"/favicon.ico"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-512.png","type":"image/png","sizes":"512x512"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-192.png","type":"image/png","sizes":"192x192"}],["link",{"rel":"manifest","href":"/manifest.webmanifest","crossorigin":"use-credentials"}],["meta",{"name":"theme-color","content":"#f26d6d"}],["link",{"rel":"apple-touch-icon","href":"/favicon.ico"}],["meta",{"name":"apple-mobile-web-app-capable","content":"yes"}],["meta",{"name":"apple-mobile-web-app-status-bar-style","content":"black"}],["meta",{"name":"msapplication-TileImage","content":"/favicon.ico"}],["meta",{"name":"msapplication-TileColor","content":"#ffffff"}],["meta",{"name":"viewport","content":"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"}]],"locales":{"/":{"lang":"zh-CN","title":"胡桃工具箱","description":"多功能的原神工具箱"},"/en/":{"lang":"en-US","title":"Snap Hutao","description":"Super utilitarian Genshin Impact Tool"}}}'),pagesComponents={"v-8daa1a0e":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-bfb8cd41.js"),["assets/index.html-bfb8cd41.js","assets/framework-3390b3d8.js"])),"v-67f865c9":defineAsyncComponent(()=>__vitePreload(()=>import("./community.html-fb698a25.js"),["assets/community.html-fb698a25.js","assets/framework-3390b3d8.js"])),"v-016abea2":defineAsyncComponent(()=>__vitePreload(()=>import("./i18n.html-25a69e58.js"),["assets/i18n.html-25a69e58.js","assets/framework-3390b3d8.js"])),"v-c360777a":defineAsyncComponent(()=>__vitePreload(()=>import("./markmap.html-dddcab19.js"),["assets/markmap.html-dddcab19.js","assets/framework-3390b3d8.js"])),"v-590a42d9":defineAsyncComponent(()=>__vitePreload(()=>import("./project.html-c1b79beb.js"),["assets/project.html-c1b79beb.js","assets/framework-3390b3d8.js"])),"v-96f5eae0":defineAsyncComponent(()=>__vitePreload(()=>import("./quick-start.html-09839965.js"),["assets/quick-start.html-09839965.js","assets/framework-3390b3d8.js"])),"v-f8eeb414":defineAsyncComponent(()=>__vitePreload(()=>import("./side-load.html-72979265.js"),["assets/side-load.html-72979265.js","assets/framework-3390b3d8.js"])),"v-35ed7d28":defineAsyncComponent(()=>__vitePreload(()=>import("./star-request.html-51c617f3.js"),["assets/star-request.html-51c617f3.js","assets/framework-3390b3d8.js"])),"v-4f87b30d":defineAsyncComponent(()=>__vitePreload(()=>import("./Gacha-system-and-export-principal.html-ef6ac30c.js"),["assets/Gacha-system-and-export-principal.html-ef6ac30c.js","assets/framework-3390b3d8.js"])),"v-0288c929":defineAsyncComponent(()=>__vitePreload(()=>import("./artifact-rating-rules.html-96b16e32.js"),["assets/artifact-rating-rules.html-96b16e32.js","assets/framework-3390b3d8.js"])),"v-07f7ceba":defineAsyncComponent(()=>__vitePreload(()=>import("./exceptions.html-602bb3b9.js"),["assets/exceptions.html-602bb3b9.js","assets/framework-3390b3d8.js"])),"v-9a0eaba6":defineAsyncComponent(()=>__vitePreload(()=>import("./get-stoken-cookie-from-the-third-party.html-17d169ec.js"),["assets/get-stoken-cookie-from-the-third-party.html-17d169ec.js","assets/framework-3390b3d8.js"])),"v-179f15e2":defineAsyncComponent(()=>__vitePreload(()=>import("./how-to.html-0e905e8d.js"),["assets/how-to.html-0e905e8d.js","assets/framework-3390b3d8.js"])),"v-690b02dc":defineAsyncComponent(()=>__vitePreload(()=>import("./known-issue.html-82c4658d.js"),["assets/known-issue.html-82c4658d.js","assets/framework-3390b3d8.js"])),"v-401b4afa":defineAsyncComponent(()=>__vitePreload(()=>import("./mihoyo-risk-tip.html-82c13d23.js"),["assets/mihoyo-risk-tip.html-82c13d23.js","assets/framework-3390b3d8.js"])),"v-289a9e83":defineAsyncComponent(()=>__vitePreload(()=>import("./why.html-a06c00c3.js"),["assets/why.html-a06c00c3.js","assets/framework-3390b3d8.js"])),"v-28eb1946":defineAsyncComponent(()=>__vitePreload(()=>import("./symposium1.html-ab61935d.js"),["assets/symposium1.html-ab61935d.js","assets/framework-3390b3d8.js"])),"v-2a9ff1e5":defineAsyncComponent(()=>__vitePreload(()=>import("./symposium2.html-ff8e0c56.js"),["assets/symposium2.html-ff8e0c56.js","assets/framework-3390b3d8.js"])),"v-2d0a870d":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-0d92d5aa.js"),["assets/index.html-0d92d5aa.js","assets/framework-3390b3d8.js"])),"v-73139ec8":defineAsyncComponent(()=>__vitePreload(()=>import("./achievements.html-86cba11d.js"),["assets/achievements.html-86cba11d.js","assets/framework-3390b3d8.js"])),"v-1c93fc72":defineAsyncComponent(()=>__vitePreload(()=>import("./character-data.html-2ca9ce0e.js"),["assets/character-data.html-2ca9ce0e.js","assets/framework-3390b3d8.js"])),"v-e37f5fa8":defineAsyncComponent(()=>__vitePreload(()=>import("./character-wiki.html-64d5ba79.js"),["assets/character-wiki.html-64d5ba79.js","assets/framework-3390b3d8.js"])),"v-646944b6":defineAsyncComponent(()=>__vitePreload(()=>import("./daily-notes.html-93c5e424.js"),["assets/daily-notes.html-93c5e424.js","assets/framework-3390b3d8.js"])),"v-1ae10847":defineAsyncComponent(()=>__vitePreload(()=>import("./develop-plan.html-c113b52c.js"),["assets/develop-plan.html-c113b52c.js","assets/framework-3390b3d8.js"])),"v-923d01d2":defineAsyncComponent(()=>__vitePreload(()=>import("./game-launcher.html-b54f41cb.js"),["assets/game-launcher.html-b54f41cb.js","assets/framework-3390b3d8.js"])),"v-6de46920":defineAsyncComponent(()=>__vitePreload(()=>import("./hutao-API.html-ff102da3.js"),["assets/hutao-API.html-ff102da3.js","assets/framework-3390b3d8.js"])),"v-0c385e36":defineAsyncComponent(()=>__vitePreload(()=>import("./hutao-settings.html-0a7c2c78.js"),["assets/hutao-settings.html-0a7c2c78.js","assets/framework-3390b3d8.js"])),"v-3e40bb9d":defineAsyncComponent(()=>__vitePreload(()=>import("./mhy-account-switch.html-110b4f73.js"),["assets/mhy-account-switch.html-110b4f73.js","assets/framework-3390b3d8.js"])),"v-7070f771":defineAsyncComponent(()=>__vitePreload(()=>import("./weapon-wiki.html-e155b4d0.js"),["assets/weapon-wiki.html-e155b4d0.js","assets/framework-3390b3d8.js"])),"v-f4f67790":defineAsyncComponent(()=>__vitePreload(()=>import("./wish-export.html-6d8a149e.js"),["assets/wish-export.html-6d8a149e.js","assets/framework-3390b3d8.js"])),"v-39f4c4da":defineAsyncComponent(()=>__vitePreload(()=>import("./bug-report.html-278df747.js"),["assets/bug-report.html-278df747.js","assets/framework-3390b3d8.js"])),"v-6730cc6c":defineAsyncComponent(()=>__vitePreload(()=>import("./privacy-notice.html-0c488cdf.js"),["assets/privacy-notice.html-0c488cdf.js","assets/framework-3390b3d8.js"])),"v-d670f89a":defineAsyncComponent(()=>__vitePreload(()=>import("./tos.html-989c3554.js"),["assets/tos.html-989c3554.js","assets/framework-3390b3d8.js"])),"v-a05f49b2":defineAsyncComponent(()=>__vitePreload(()=>import("./update-log.html-7945aadd.js"),["assets/update-log.html-7945aadd.js","assets/framework-3390b3d8.js"])),"v-3706649a":defineAsyncComponent(()=>__vitePreload(()=>import("./404.html-f3dfcc04.js"),["assets/404.html-f3dfcc04.js","assets/framework-3390b3d8.js"])),"v-74379e72":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-5a3324fa.js"),["assets/index.html-5a3324fa.js","assets/framework-3390b3d8.js"])),"v-437b37b6":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-f45a2103.js"),["assets/index.html-f45a2103.js","assets/framework-3390b3d8.js"])),"v-35380e8e":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-4b5336df.js"),["assets/index.html-4b5336df.js","assets/framework-3390b3d8.js"])),"v-b573819c":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-95592738.js"),["assets/index.html-95592738.js","assets/framework-3390b3d8.js"]))};var layoutsSymbol=Symbol(""),pagesData=ref(pagesData$1),pageDataEmpty=readonly({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),pageData=ref(pageDataEmpty),usePageData=()=>pageData,pageFrontmatterSymbol=Symbol(""),usePageFrontmatter=()=>{const $o=inject(pageFrontmatterSymbol);if(!$o)throw new Error("usePageFrontmatter() is called without provider.");return $o},pageHeadSymbol=Symbol(""),usePageHead=()=>{const $o=inject(pageHeadSymbol);if(!$o)throw new Error("usePageHead() is called without provider.");return $o},pageHeadTitleSymbol=Symbol(""),pageLangSymbol=Symbol(""),usePageLang=()=>{const $o=inject(pageLangSymbol);if(!$o)throw new Error("usePageLang() is called without provider.");return $o},pageLayoutSymbol=Symbol(""),usePageLayout=()=>{const $o=inject(pageLayoutSymbol);if(!$o)throw new Error("usePageLayout() is called without provider.");return $o},routeLocaleSymbol=Symbol(""),useRouteLocale=()=>{const $o=inject(routeLocaleSymbol);if(!$o)throw new Error("useRouteLocale() is called without provider.");return $o},siteData=ref(siteData$1),useSiteData=()=>siteData,siteLocaleDataSymbol=Symbol(""),useSiteLocaleData=()=>{const $o=inject(siteLocaleDataSymbol);if(!$o)throw new Error("useSiteLocaleData() is called without provider.");return $o},updateHeadSymbol=Symbol(""),LAYOUT_NAME_DEFAULT="Layout",LAYOUT_NAME_NOT_FOUND="NotFound",resolvers=reactive({resolveLayouts:$o=>$o.reduce((xo,Lo)=>({...xo,...Lo.layouts}),{}),resolvePageData:async $o=>{const xo=pagesData.value[$o];return await(xo==null?void 0:xo())??pageDataEmpty},resolvePageFrontmatter:$o=>$o.frontmatter,resolvePageHead:($o,xo,Lo)=>{const To=isString$1(xo.description)?xo.description:Lo.description,Ao=[...isArray(xo.head)?xo.head:[],...Lo.head,["title",{},$o],["meta",{name:"description",content:To}]];return dedupeHead(Ao)},resolvePageHeadTitle:($o,xo)=>[$o.title,xo.title].filter(Lo=>!!Lo).join(" | "),resolvePageLang:$o=>$o.lang||"en",resolvePageLayout:($o,xo)=>{let Lo;if($o.path){const To=$o.frontmatter.layout;isString$1(To)?Lo=To:Lo=LAYOUT_NAME_DEFAULT}else Lo=LAYOUT_NAME_NOT_FOUND;return xo[Lo]},resolveRouteLocale:($o,xo)=>resolveLocalePath($o,xo),resolveSiteLocaleData:($o,xo)=>({...$o,...$o.locales[xo]})}),ClientOnly=defineComponent({name:"ClientOnly",setup($o,xo){const Lo=ref(!1);return onMounted(()=>{Lo.value=!0}),()=>{var To,Ao;return Lo.value?(Ao=(To=xo.slots).default)==null?void 0:Ao.call(To):null}}}),Content=defineComponent({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup($o){const xo=usePageData(),Lo=computed(()=>pagesComponents[$o.pageKey||xo.value.key]);return()=>Lo.value?h$4(Lo.value):h$4("div","404 Not Found")}}),defineClientConfig=($o={})=>$o,withBase=$o=>isLinkHttp($o)?$o:`/${removeLeadingSlash($o)}`;const hopeInject="",clientConfig0={};var u8=Uint8Array,u16=Uint16Array,u32=Uint32Array,fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function($o,xo){for(var Lo=new u16(31),To=0;To<31;++To)Lo[To]=xo+=1<<$o[To-1];for(var Ao=new u32(Lo[30]),To=1;To<30;++To)for(var Bo=Lo[To];Bo>>1|(i$6&21845)<<1;x$3=(x$3&52428)>>>2|(x$3&13107)<<2,x$3=(x$3&61680)>>>4|(x$3&3855)<<4,rev[i$6]=((x$3&65280)>>>8|(x$3&255)<<8)>>>1}var hMap=function($o,xo,Lo){for(var To=$o.length,Ao=0,Bo=new u16(xo);Ao>>Mo]=zo}else for(No=new u16(To),Ao=0;Ao>>15-$o[Ao]);return No},flt=new u8(288);for(var i$6=0;i$6<144;++i$6)flt[i$6]=8;for(var i$6=144;i$6<256;++i$6)flt[i$6]=9;for(var i$6=256;i$6<280;++i$6)flt[i$6]=7;for(var i$6=280;i$6<288;++i$6)flt[i$6]=8;var fdt=new u8(32);for(var i$6=0;i$6<32;++i$6)fdt[i$6]=5;var flrm=hMap(flt,9,1),fdrm=hMap(fdt,5,1),max=function($o){for(var xo=$o[0],Lo=1;Lo<$o.length;++Lo)$o[Lo]>xo&&(xo=$o[Lo]);return xo},bits=function($o,xo,Lo){var To=xo/8|0;return($o[To]|$o[To+1]<<8)>>(xo&7)&Lo},bits16=function($o,xo){var Lo=xo/8|0;return($o[Lo]|$o[Lo+1]<<8|$o[Lo+2]<<16)>>(xo&7)},shft=function($o){return($o+7)/8|0},slc=function($o,xo,Lo){(xo==null||xo<0)&&(xo=0),(Lo==null||Lo>$o.length)&&(Lo=$o.length);var To=new($o.BYTES_PER_ELEMENT==2?u16:$o.BYTES_PER_ELEMENT==4?u32:u8)(Lo-xo);return To.set($o.subarray(xo,Lo)),To},ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],err=function($o,xo,Lo){var To=new Error(xo||ec[$o]);if(To.code=$o,Error.captureStackTrace&&Error.captureStackTrace(To,err),!Lo)throw To;return To},inflt=function($o,xo,Lo){var To=$o.length;if(!To||Lo&&Lo.f&&!Lo.l)return xo||new u8(0);var Ao=!xo||Lo,Bo=!Lo||Lo.i;Lo||(Lo={}),xo||(xo=new u8(To*3));var Ro=function(Da){var Oa=xo.length;if(Da>Oa){var Aa=new u8(Math.max(Oa*2,Da));Aa.set(xo),xo=Aa}},No=Lo.f||0,Mo=Lo.p||0,zo=Lo.b||0,Vo=Lo.l,Fo=Lo.d,Uo=Lo.m,Ho=Lo.n,Wo=To*8;do{if(!Vo){No=bits($o,Mo,1);var qo=bits($o,Mo+1,3);if(Mo+=3,qo)if(qo==1)Vo=flrm,Fo=fdrm,Uo=9,Ho=5;else if(qo==2){var Zo=bits($o,Mo,31)+257,Yo=bits($o,Mo+10,15)+4,Jo=Zo+bits($o,Mo+5,31)+1;Mo+=14;for(var aa=new u8(Jo),ea=new u8(19),Xo=0;Xo>>4;if(Go<16)aa[Xo++]=Go;else{var na=0,ra=0;for(Go==16?(ra=3+bits($o,Mo,3),Mo+=2,na=aa[Xo-1]):Go==17?(ra=3+bits($o,Mo,7),Mo+=3):Go==18&&(ra=11+bits($o,Mo,127),Mo+=7);ra--;)aa[Xo++]=na}}var ta=aa.subarray(0,Zo),ia=aa.subarray(Zo);Uo=max(ta),Ho=max(ia),Vo=hMap(ta,Uo,1),Fo=hMap(ia,Ho,1)}else err(1);else{var Go=shft(Mo)+4,Qo=$o[Go-4]|$o[Go-3]<<8,Ko=Go+Qo;if(Ko>To){Bo&&err(0);break}Ao&&Ro(zo+Qo),xo.set($o.subarray(Go,Ko),zo),Lo.b=zo+=Qo,Lo.p=Mo=Ko*8,Lo.f=No;continue}if(Mo>Wo){Bo&&err(0);break}}Ao&&Ro(zo+131072);for(var oa=(1<>>4;if(Mo+=na&15,Mo>Wo){Bo&&err(0);break}if(na||err(2),ga<256)xo[zo++]=ga;else if(ga==256){ha=Mo,Vo=null;break}else{var ka=ga-254;if(ga>264){var Xo=ga-257,$a=fleb[Xo];ka=bits($o,Mo,(1<<$a)-1)+fl[Xo],Mo+=$a}var Sa=Fo[bits16($o,Mo)&ua],Ca=Sa>>>4;Sa||err(3),Mo+=Sa&15;var ia=fd[Ca];if(Ca>3){var $a=fdeb[Ca];ia+=bits16($o,Mo)&(1<<$a)-1,Mo+=$a}if(Mo>Wo){Bo&&err(0);break}Ao&&Ro(zo+131072);for(var Ta=zo+ka;zo>>4>7||($o[0]<<8|$o[1])%31)&&err(6,"invalid zlib data"),$o[1]&32&&err(6,"invalid zlib data: preset dictionaries not supported")};function unzlibSync($o,xo){return inflt((zlv($o),$o.subarray(2,-4)),xo)}var te$2=typeof TextEncoder<"u"&&new TextEncoder,td=typeof TextDecoder<"u"&&new TextDecoder,tds=0;try{td.decode(et$2,{stream:!0}),tds=1}catch{}var dutf8=function($o){for(var xo="",Lo=0;;){var To=$o[Lo++],Ao=(To>127)+(To>223)+(To>239);if(Lo+Ao>$o.length)return[xo,slc($o,Lo-1)];Ao?Ao==3?(To=((To&15)<<18|($o[Lo++]&63)<<12|($o[Lo++]&63)<<6|$o[Lo++]&63)-65536,xo+=String.fromCharCode(55296|To>>10,56320|To&1023)):Ao&1?xo+=String.fromCharCode((To&31)<<6|$o[Lo++]&63):xo+=String.fromCharCode((To&15)<<12|($o[Lo++]&63)<<6|$o[Lo++]&63):xo+=String.fromCharCode(To)}};function strToU8($o,xo){if(xo){for(var Lo=new u8($o.length),To=0;To<$o.length;++To)Lo[To]=$o.charCodeAt(To);return Lo}if(te$2)return te$2.encode($o);for(var Ao=$o.length,Bo=new u8($o.length+($o.length>>1)),Ro=0,No=function(Vo){Bo[Ro++]=Vo},To=0;ToBo.length){var Mo=new u8(Ro+8+(Ao-To<<1));Mo.set(Bo),Bo=Mo}var zo=$o.charCodeAt(To);zo<128||xo?No(zo):zo<2048?(No(192|zo>>6),No(128|zo&63)):zo>55295&&zo<57344?(zo=65536+(zo&1023<<10)|$o.charCodeAt(++To)&1023,No(240|zo>>18),No(128|zo>>12&63),No(128|zo>>6&63),No(128|zo&63)):(No(224|zo>>12),No(128|zo>>6&63),No(128|zo&63))}return slc(Bo,0,Ro)}function strFromU8($o,xo){if(xo){for(var Lo="",To=0;To<$o.length;To+=16384)Lo+=String.fromCharCode.apply(null,$o.subarray(To,To+16384));return Lo}else{if(td)return td.decode($o);var Ao=dutf8($o),Bo=Ao[0],Ro=Ao[1];return Ro.length&&err(8),Bo}}const R$2=({name:$o="",color:xo="currentColor"},{slots:Lo})=>{var To;return h$4("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${$o}-icon`],viewBox:"0 0 1024 1024",fill:xo,"aria-label":`${$o} icon`},(To=Lo.default)==null?void 0:To.call(Lo))};R$2.displayName="IconBase";const kt$2=($o,{slots:xo})=>{var Lo;return((Lo=xo.default)==null?void 0:Lo.call(xo))||null},vt$2=()=>h$4(R$2,{name:"github"},()=>h$4("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));vt$2.displayName="GitHubIcon";const pt$2=()=>h$4(R$2,{name:"gitlab"},()=>h$4("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));pt$2.displayName="GitlabIcon";const $t$2=()=>h$4(R$2,{name:"gitee"},()=>h$4("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));$t$2.displayName="GiteeIcon";const gt$2=()=>h$4(R$2,{name:"bitbucket"},()=>h$4("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));gt$2.displayName="BitbucketIcon";const yt$2=()=>h$4(R$2,{name:"source"},()=>h$4("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));yt$2.displayName="SourceIcon";const Ht$2=($o,xo)=>{const Lo=xo?xo._instance:getCurrentInstance();return isPlainObject(Lo==null?void 0:Lo.appContext.components)&&($o in Lo.appContext.components||camelize($o)in Lo.appContext.components||capitalize(camelize($o))in Lo.appContext.components)},Yt$2=$o=>{const xo=useRouteLocale();return computed(()=>$o[xo.value])},Lt$1=$o=>/\b(?:Android|iPhone)/i.test($o),Zt$2=($o,xo)=>{let Lo=1;for(let To=0;To<$o.length;To++)Lo+=$o.charCodeAt(To),Lo+=Lo<<10,Lo^=Lo>>6;return Lo+=Lo<<3,Lo^=Lo>>11,Lo%xo};var K$2=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},et$1={},Bt$2={get exports(){return et$1},set exports($o){et$1=$o}};(function($o,xo){(function(Lo,To){$o.exports=To()})(K$2,function(){var Lo=1e3,To=6e4,Ao=36e5,Bo="millisecond",Ro="second",No="minute",Mo="hour",zo="day",Vo="week",Fo="month",Uo="quarter",Ho="year",Wo="date",qo="Invalid Date",Go=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Qo=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Ko={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(na){var ra=["th","st","nd","rd"],ta=na%100;return"["+na+(ra[(ta-20)%10]||ra[ta]||ra[0])+"]"}},Zo=function(na,ra,ta){var ia=String(na);return!ia||ia.length>=ra?na:""+Array(ra+1-ia.length).join(ta)+na},Yo={s:Zo,z:function(na){var ra=-na.utcOffset(),ta=Math.abs(ra),ia=Math.floor(ta/60),oa=ta%60;return(ra<=0?"+":"-")+Zo(ia,2,"0")+":"+Zo(oa,2,"0")},m:function na(ra,ta){if(ra.date()1)return na(ha[0])}else{var ga=ra.name;aa[ga]=ra,oa=ga}return!ia&&oa&&(Jo=oa),oa||!ia&&Jo},la=function(na,ra){if(ea(na))return na.clone();var ta=typeof ra=="object"?ra:{};return ta.date=na,ta.args=arguments,new wa(ta)},fa=Yo;fa.l=Xo,fa.i=ea,fa.w=function(na,ra){return la(na,{locale:ra.$L,utc:ra.$u,x:ra.$x,$offset:ra.$offset})};var wa=function(){function na(ta){this.$L=Xo(ta.locale,null,!0),this.parse(ta)}var ra=na.prototype;return ra.parse=function(ta){this.$d=function(ia){var oa=ia.date,ua=ia.utc;if(oa===null)return new Date(NaN);if(fa.u(oa))return new Date;if(oa instanceof Date)return new Date(oa);if(typeof oa=="string"&&!/Z$/i.test(oa)){var ha=oa.match(Go);if(ha){var ga=ha[2]-1||0,ka=(ha[7]||"0").substring(0,3);return ua?new Date(Date.UTC(ha[1],ga,ha[3]||1,ha[4]||0,ha[5]||0,ha[6]||0,ka)):new Date(ha[1],ga,ha[3]||1,ha[4]||0,ha[5]||0,ha[6]||0,ka)}}return new Date(oa)}(ta),this.$x=ta.x||{},this.init()},ra.init=function(){var ta=this.$d;this.$y=ta.getFullYear(),this.$M=ta.getMonth(),this.$D=ta.getDate(),this.$W=ta.getDay(),this.$H=ta.getHours(),this.$m=ta.getMinutes(),this.$s=ta.getSeconds(),this.$ms=ta.getMilliseconds()},ra.$utils=function(){return fa},ra.isValid=function(){return this.$d.toString()!==qo},ra.isSame=function(ta,ia){var oa=la(ta);return this.startOf(ia)<=oa&&oa<=this.endOf(ia)},ra.isAfter=function(ta,ia){return la(ta)=0?1:Qo.date()),Zo=Go.year||Qo.year(),Yo=Go.month>=0?Go.month:Go.year||Go.day?0:Qo.month(),Jo=Go.hour||0,aa=Go.minute||0,ea=Go.second||0,Xo=Go.millisecond||0;return qo?new Date(Date.UTC(Zo,Yo,Ko,Jo,aa,ea,Xo)):new Date(Zo,Yo,Ko,Jo,aa,ea,Xo)}return Wo},No=Bo.parse;Bo.parse=function(Uo){Uo.date=Ro.bind(this)(Uo),No.bind(this)(Uo)};var Mo=Bo.set,zo=Bo.add,Vo=Bo.subtract,Fo=function(Uo,Ho,Wo,qo){qo===void 0&&(qo=1);var Go=Object.keys(Ho),Qo=this;return Go.forEach(function(Ko){Qo=Uo.bind(Qo)(Ho[Ko]*qo,Ko)}),Qo};Bo.set=function(Uo,Ho){return Ho=Ho===void 0?Uo:Ho,Uo.constructor.name==="Object"?Fo.bind(this)(function(Wo,qo){return Mo.bind(this)(qo,Wo)},Ho,Uo):Mo.bind(this)(Uo,Ho)},Bo.add=function(Uo,Ho){return Uo.constructor.name==="Object"?Fo.bind(this)(zo,Uo,Ho):zo.bind(this)(Uo,Ho)},Bo.subtract=function(Uo,Ho){return Uo.constructor.name==="Object"?Fo.bind(this)(zo,Uo,Ho,-1):Vo.bind(this)(Uo,Ho)}}})})(Ft$2);var Jt$2=nt$2,it$2={},qt$2={get exports(){return it$2},set exports($o){it$2=$o}};(function($o,xo){(function(Lo,To){$o.exports=To()})(K$2,function(){var Lo={year:0,month:1,day:2,hour:3,minute:4,second:5},To={};return function(Ao,Bo,Ro){var No,Mo=function(Uo,Ho,Wo){Wo===void 0&&(Wo={});var qo=new Date(Uo),Go=function(Qo,Ko){Ko===void 0&&(Ko={});var Zo=Ko.timeZoneName||"short",Yo=Qo+"|"+Zo,Jo=To[Yo];return Jo||(Jo=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:Qo,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:Zo}),To[Yo]=Jo),Jo}(Ho,Wo);return Go.formatToParts(qo)},zo=function(Uo,Ho){for(var Wo=Mo(Uo,Ho),qo=[],Go=0;Go=0&&(qo[Yo]=parseInt(Zo,10))}var Jo=qo[3],aa=Jo===24?0:Jo,ea=qo[0]+"-"+qo[1]+"-"+qo[2]+" "+aa+":"+qo[4]+":"+qo[5]+":000",Xo=+Uo;return(Ro.utc(ea).valueOf()-(Xo-=Xo%1e3))/6e4},Vo=Bo.prototype;Vo.tz=function(Uo,Ho){Uo===void 0&&(Uo=No);var Wo=this.utcOffset(),qo=this.toDate(),Go=qo.toLocaleString("en-US",{timeZone:Uo}),Qo=Math.round((qo-new Date(Go))/1e3/60),Ko=Ro(Go).$set("millisecond",this.$ms).utcOffset(15*-Math.round(qo.getTimezoneOffset()/15)-Qo,!0);if(Ho){var Zo=Ko.utcOffset();Ko=Ko.add(Wo-Zo,"minute")}return Ko.$x.$timezone=Uo,Ko},Vo.offsetName=function(Uo){var Ho=this.$x.$timezone||Ro.tz.guess(),Wo=Mo(this.valueOf(),Ho,{timeZoneName:Uo}).find(function(qo){return qo.type.toLowerCase()==="timezonename"});return Wo&&Wo.value};var Fo=Vo.startOf;Vo.startOf=function(Uo,Ho){if(!this.$x||!this.$x.$timezone)return Fo.call(this,Uo,Ho);var Wo=Ro(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return Fo.call(Wo,Uo,Ho).tz(this.$x.$timezone,!0)},Ro.tz=function(Uo,Ho,Wo){var qo=Wo&&Ho,Go=Wo||Ho||No,Qo=zo(+Ro(),Go);if(typeof Uo!="string")return Ro(Uo).tz(Go);var Ko=function(aa,ea,Xo){var la=aa-60*ea*1e3,fa=zo(la,Xo);if(ea===fa)return[la,ea];var wa=zo(la-=60*(fa-ea)*1e3,Xo);return fa===wa?[la,fa]:[aa-60*Math.min(fa,wa)*1e3,Math.max(fa,wa)]}(Ro.utc(Uo,qo).valueOf(),Qo,Go),Zo=Ko[0],Yo=Ko[1],Jo=Ro(Zo).utcOffset(Yo);return Jo.$x.$timezone=Go,Jo},Ro.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},Ro.tz.setDefault=function(Uo){No=Uo}}})})(qt$2);var Qt$2=it$2,rt$2={},Kt$2={get exports(){return rt$2},set exports($o){rt$2=$o}};(function($o,xo){(function(Lo,To){$o.exports=To()})(K$2,function(){var Lo="minute",To=/[+-]\d\d(?::?\d\d)?/g,Ao=/([+-]|\d\d)/g;return function(Bo,Ro,No){var Mo=Ro.prototype;No.utc=function(qo){var Go={date:qo,utc:!0,args:arguments};return new Ro(Go)},Mo.utc=function(qo){var Go=No(this.toDate(),{locale:this.$L,utc:!0});return qo?Go.add(this.utcOffset(),Lo):Go},Mo.local=function(){return No(this.toDate(),{locale:this.$L,utc:!1})};var zo=Mo.parse;Mo.parse=function(qo){qo.utc&&(this.$u=!0),this.$utils().u(qo.$offset)||(this.$offset=qo.$offset),zo.call(this,qo)};var Vo=Mo.init;Mo.init=function(){if(this.$u){var qo=this.$d;this.$y=qo.getUTCFullYear(),this.$M=qo.getUTCMonth(),this.$D=qo.getUTCDate(),this.$W=qo.getUTCDay(),this.$H=qo.getUTCHours(),this.$m=qo.getUTCMinutes(),this.$s=qo.getUTCSeconds(),this.$ms=qo.getUTCMilliseconds()}else Vo.call(this)};var Fo=Mo.utcOffset;Mo.utcOffset=function(qo,Go){var Qo=this.$utils().u;if(Qo(qo))return this.$u?0:Qo(this.$offset)?Fo.call(this):this.$offset;if(typeof qo=="string"&&(qo=function(Jo){Jo===void 0&&(Jo="");var aa=Jo.match(To);if(!aa)return null;var ea=(""+aa[0]).match(Ao)||["-",0,0],Xo=ea[0],la=60*+ea[1]+ +ea[2];return la===0?0:Xo==="+"?la:-la}(qo),qo===null))return this;var Ko=Math.abs(qo)<=16?60*qo:qo,Zo=this;if(Go)return Zo.$offset=Ko,Zo.$u=qo===0,Zo;if(qo!==0){var Yo=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(Zo=this.local().add(Ko+Yo,Lo)).$offset=Ko,Zo.$x.$localOffset=Yo}else Zo=this.utc();return Zo};var Uo=Mo.format;Mo.format=function(qo){var Go=qo||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return Uo.call(this,Go)},Mo.valueOf=function(){var qo=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*qo},Mo.isUTC=function(){return!!this.$u},Mo.toISOString=function(){return this.toDate().toISOString()},Mo.toString=function(){return this.toDate().toUTCString()};var Ho=Mo.toDate;Mo.toDate=function(qo){return qo==="s"&&this.$offset?No(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():Ho.call(this)};var Wo=Mo.diff;Mo.diff=function(qo,Go,Qo){if(qo&&this.$u===qo.$u)return Wo.call(this,qo,Go,Qo);var Ko=this.local(),Zo=No(qo).local();return Wo.call(Ko,Zo,Go,Qo)}}})})(Kt$2);var Xt$2=rt$2;Z$2.extend(Jt$2),Z$2.extend(Xt$2),Z$2.extend(Qt$2);const st$2=($o,xo)=>{if($o){if(Z$2($o instanceof Date?$o:$o.trim()).isValid()){const To=xo?Z$2($o).tz(xo):Z$2($o),Ao=To.year(),Bo=To.month()+1,Ro=To.date(),No=To.hour(),Mo=To.minute(),zo=To.second(),Vo=To.millisecond(),Fo=No===0&&Mo===0&&zo===0&&Vo===0;return{value:To.toDate(),info:{year:Ao,month:Bo,day:Ro,...Fo?{}:{hour:No,minute:Mo,second:zo}},type:Fo?"date":"full"}}const Lo=/(?:(\d{2,4})[/-](\d{1,2})[/-](\d{1,2}))?\s*(?:(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?/u.exec($o.trim());if(Lo){const[,To,Ao,Bo,Ro,No,Mo]=Lo,zo=Go=>typeof Go>"u"?void 0:Number(Go),Vo=Go=>Go&&Go<100?Go+2e3:Go,Fo=Go=>Ro&&No&&!Mo?0:Go,Uo={year:Vo(zo(To)),month:zo(Ao),day:zo(Bo),hour:zo(Ro),minute:zo(No),second:Fo(zo(Mo))},Ho=To===void 0&&Ao===void 0&&Bo===void 0,Wo=Ro===void 0&&No===void 0&&Mo===void 0,qo=Z$2({...Uo,month:Uo.month-1}).toDate();return{value:Ho?void 0:qo,info:Wo?{year:Uo.year,month:Uo.month,day:Uo.day}:Ho?{hour:Uo.hour,minute:Uo.minute,second:Uo.second}:Uo,type:Ho?"time":Wo?"date":"full"}}}return null},bt$2=($o,xo)=>isString$1($o)&&$o.startsWith(xo),ee$2=($o,xo)=>isString$1($o)&&$o.endsWith(xo),St$2=Object.entries,Dt$2=Object.keys,ot$2=($o,...xo)=>{if(xo.length===0)return $o;const Lo=xo.shift()||null;return Lo&&St$2(Lo).forEach(([To,Ao])=>{To==="__proto__"||To==="constructor"||(isPlainObject($o[To])&&isPlainObject(Ao)?ot$2($o[To],Ao):isArray(Ao)?$o[To]=[...Ao]:isPlainObject(Ao)?$o[To]={...Ao}:$o[To]=Lo[To])}),ot$2($o,...xo)},re$2=($o,xo=!1)=>$o?isArray($o)?$o.map(Lo=>isString$1(Lo)?{name:Lo}:Lo):isString$1($o)?[{name:$o}]:isPlainObject($o)&&$o.name?[$o]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${xo?"":"| false"} | undefined\`, but got`,$o),[]):[],at$1=($o,xo)=>{if($o){if(isArray($o))return $o;if(isString$1($o))return[$o];console.error(`Expect ${xo||"value"} to be \`string[] | string | undefined\`, but got`,$o)}return[]},se$2=$o=>at$1($o,"category"),oe$2=$o=>at$1($o,"tag"),ue$2=$o=>bt$2($o,"/");let ce$2=class{constructor(){this.messageElements={};const xo="message-container",Lo=document.getElementById(xo);Lo?this.containerElement=Lo:(this.containerElement=document.createElement("div"),this.containerElement.id=xo,document.body.appendChild(this.containerElement))}pop(xo,Lo=2e3){const To=document.createElement("div"),Ao=Date.now();return To.className="message move-in",To.innerHTML=xo,this.containerElement.appendChild(To),this.messageElements[Ao]=To,Lo>0&&setTimeout(()=>{this.close(Ao)},Lo),Ao}close(xo){if(xo){const Lo=this.messageElements[xo];Lo.className=Lo.className.replace("move-in",""),Lo.className+="move-out",Lo.addEventListener("animationend",()=>{Lo.remove(),delete this.messageElements[xo]})}else Dt$2(this.messageElements).forEach(Lo=>this.close(Number(Lo)))}destroy(){document.body.removeChild(this.containerElement)}};const Mt$2=/#.*$/u,wt$2=$o=>{const xo=Mt$2.exec($o);return xo?xo[0]:""},ut$1=$o=>decodeURI($o).replace(Mt$2,"").replace(/(index)?\.(md|html)$/,""),he$2=($o,xo)=>{if(xo===void 0)return!1;const Lo=ut$1($o.path),To=ut$1(xo),Ao=wt$2(xo);return Ao?Ao===$o.hash&&(!To||Lo===To):Lo===To},le$2=$o=>{const xo=atob($o);return strFromU8(unzlibSync(strToU8(xo,!0)))},de$2=$o=>isLinkHttp($o)?$o:`https://github.com/${$o}`,me$2=$o=>!isLinkHttp($o)||/github\.com/.test($o)?"GitHub":/bitbucket\.org/.test($o)?"Bitbucket":/gitlab\.com/.test($o)?"GitLab":/gitee\.com/.test($o)?"Gitee":null,Ot$2=($o,...xo)=>{const Lo=$o.resolve(...xo),To=Lo.matched[Lo.matched.length-1];if(!(To!=null&&To.redirect))return Lo;const{redirect:Ao}=To,Bo=isFunction$1(Ao)?Ao(Lo):Ao,Ro=isString$1(Bo)?{path:Bo}:Bo;return Ot$2($o,{hash:Lo.hash,query:Lo.query,params:Lo.params,...Ro})};var _a;const isClient=typeof window<"u",isFunction=$o=>typeof $o=="function",isString=$o=>typeof $o=="string",noop=()=>{};isClient&&((_a=window==null?void 0:window.navigator)!=null&&_a.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function resolveUnref($o){return typeof $o=="function"?$o():unref($o)}function createFilterWrapper($o,xo){function Lo(...To){return new Promise((Ao,Bo)=>{Promise.resolve($o(()=>xo.apply(this,To),{fn:xo,thisArg:this,args:To})).then(Ao).catch(Bo)})}return Lo}const bypassFilter=$o=>$o();function debounceFilter($o,xo={}){let Lo,To,Ao=noop;const Bo=No=>{clearTimeout(No),Ao(),Ao=noop};return No=>{const Mo=resolveUnref($o),zo=resolveUnref(xo.maxWait);return Lo&&Bo(Lo),Mo<=0||zo!==void 0&&zo<=0?(To&&(Bo(To),To=null),Promise.resolve(No())):new Promise((Vo,Fo)=>{Ao=xo.rejectOnCancel?Fo:Vo,zo&&!To&&(To=setTimeout(()=>{Lo&&Bo(Lo),To=null,Vo(No())},zo)),Lo=setTimeout(()=>{To&&Bo(To),To=null,Vo(No())},Mo)})}}function throttleFilter($o,xo=!0,Lo=!0,To=!1){let Ao=0,Bo,Ro=!0,No=noop,Mo;const zo=()=>{Bo&&(clearTimeout(Bo),Bo=void 0,No(),No=noop)};return Fo=>{const Uo=resolveUnref($o),Ho=Date.now()-Ao,Wo=()=>Mo=Fo();if(zo(),Uo<=0)return Ao=Date.now(),Wo();if(Ho>Uo&&(Lo||!Ro))Ao=Date.now(),Wo();else if(xo)return new Promise((qo,Go)=>{No=To?Go:qo,Bo=setTimeout(()=>{Ao=Date.now(),Ro=!0,qo(Wo()),zo()},Uo-Ho)});return!Lo&&!Bo&&(Bo=setTimeout(()=>Ro=!0,Uo)),Ro=!1,Mo}}function pausableFilter($o=bypassFilter){const xo=ref(!0);function Lo(){xo.value=!1}function To(){xo.value=!0}const Ao=(...Bo)=>{xo.value&&$o(...Bo)};return{isActive:readonly(xo),pause:Lo,resume:To,eventFilter:Ao}}function identity($o){return $o}function tryOnScopeDispose($o){return getCurrentScope()?(onScopeDispose($o),!0):!1}function useDebounceFn($o,xo=200,Lo={}){return createFilterWrapper(debounceFilter(xo,Lo),$o)}function useThrottleFn($o,xo=200,Lo=!1,To=!0,Ao=!1){return createFilterWrapper(throttleFilter(xo,Lo,To,Ao),$o)}function resolveRef($o){return typeof $o=="function"?computed($o):ref($o)}function tryOnMounted($o,xo=!0){getCurrentInstance()?onMounted($o):xo?$o():nextTick($o)}function useIntervalFn($o,xo=1e3,Lo={}){const{immediate:To=!0,immediateCallback:Ao=!1}=Lo;let Bo=null;const Ro=ref(!1);function No(){Bo&&(clearInterval(Bo),Bo=null)}function Mo(){Ro.value=!1,No()}function zo(){const Vo=resolveUnref(xo);Vo<=0||(Ro.value=!0,Ao&&$o(),No(),Bo=setInterval($o,Vo))}if(To&&isClient&&zo(),isRef(xo)||isFunction(xo)){const Vo=watch(xo,()=>{Ro.value&&isClient&&zo()});tryOnScopeDispose(Vo)}return tryOnScopeDispose(Mo),{isActive:Ro,pause:Mo,resume:zo}}var __getOwnPropSymbols$6$1=Object.getOwnPropertySymbols,__hasOwnProp$6$1=Object.prototype.hasOwnProperty,__propIsEnum$6$1=Object.prototype.propertyIsEnumerable,__objRest$5=($o,xo)=>{var Lo={};for(var To in $o)__hasOwnProp$6$1.call($o,To)&&xo.indexOf(To)<0&&(Lo[To]=$o[To]);if($o!=null&&__getOwnPropSymbols$6$1)for(var To of __getOwnPropSymbols$6$1($o))xo.indexOf(To)<0&&__propIsEnum$6$1.call($o,To)&&(Lo[To]=$o[To]);return Lo};function watchWithFilter($o,xo,Lo={}){const To=Lo,{eventFilter:Ao=bypassFilter}=To,Bo=__objRest$5(To,["eventFilter"]);return watch($o,createFilterWrapper(Ao,xo),Bo)}var __defProp$2=Object.defineProperty,__defProps$2=Object.defineProperties,__getOwnPropDescs$2=Object.getOwnPropertyDescriptors,__getOwnPropSymbols$2=Object.getOwnPropertySymbols,__hasOwnProp$2=Object.prototype.hasOwnProperty,__propIsEnum$2=Object.prototype.propertyIsEnumerable,__defNormalProp$2=($o,xo,Lo)=>xo in $o?__defProp$2($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues$2=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp$2.call(xo,Lo)&&__defNormalProp$2($o,Lo,xo[Lo]);if(__getOwnPropSymbols$2)for(var Lo of __getOwnPropSymbols$2(xo))__propIsEnum$2.call(xo,Lo)&&__defNormalProp$2($o,Lo,xo[Lo]);return $o},__spreadProps$2=($o,xo)=>__defProps$2($o,__getOwnPropDescs$2(xo)),__objRest$1=($o,xo)=>{var Lo={};for(var To in $o)__hasOwnProp$2.call($o,To)&&xo.indexOf(To)<0&&(Lo[To]=$o[To]);if($o!=null&&__getOwnPropSymbols$2)for(var To of __getOwnPropSymbols$2($o))xo.indexOf(To)<0&&__propIsEnum$2.call($o,To)&&(Lo[To]=$o[To]);return Lo};function watchPausable($o,xo,Lo={}){const To=Lo,{eventFilter:Ao}=To,Bo=__objRest$1(To,["eventFilter"]),{eventFilter:Ro,pause:No,resume:Mo,isActive:zo}=pausableFilter(Ao);return{stop:watchWithFilter($o,xo,__spreadProps$2(__spreadValues$2({},Bo),{eventFilter:Ro})),pause:No,resume:Mo,isActive:zo}}function unrefElement($o){var xo;const Lo=resolveUnref($o);return(xo=Lo==null?void 0:Lo.$el)!=null?xo:Lo}const defaultWindow=isClient?window:void 0,defaultDocument=isClient?window.document:void 0;isClient&&window.navigator;isClient&&window.location;function useEventListener(...$o){let xo,Lo,To,Ao;if(isString($o[0])||Array.isArray($o[0])?([Lo,To,Ao]=$o,xo=defaultWindow):[xo,Lo,To,Ao]=$o,!xo)return noop;Array.isArray(Lo)||(Lo=[Lo]),Array.isArray(To)||(To=[To]);const Bo=[],Ro=()=>{Bo.forEach(Vo=>Vo()),Bo.length=0},No=(Vo,Fo,Uo)=>(Vo.addEventListener(Fo,Uo,Ao),()=>Vo.removeEventListener(Fo,Uo,Ao)),Mo=watch(()=>unrefElement(xo),Vo=>{Ro(),Vo&&Bo.push(...Lo.flatMap(Fo=>To.map(Uo=>No(Vo,Fo,Uo))))},{immediate:!0,flush:"post"}),zo=()=>{Mo(),Ro()};return tryOnScopeDispose(zo),zo}function onClickOutside($o,xo,Lo={}){const{window:To=defaultWindow,ignore:Ao=[],capture:Bo=!0,detectIframe:Ro=!1}=Lo;if(!To)return;let No=!0,Mo;const zo=Ho=>Ao.some(Wo=>{if(typeof Wo=="string")return Array.from(To.document.querySelectorAll(Wo)).some(qo=>qo===Ho.target||Ho.composedPath().includes(qo));{const qo=unrefElement(Wo);return qo&&(Ho.target===qo||Ho.composedPath().includes(qo))}}),Vo=Ho=>{To.clearTimeout(Mo);const Wo=unrefElement($o);if(!(!Wo||Wo===Ho.target||Ho.composedPath().includes(Wo))){if(Ho.detail===0&&(No=!zo(Ho)),!No){No=!0;return}xo(Ho)}},Fo=[useEventListener(To,"click",Vo,{passive:!0,capture:Bo}),useEventListener(To,"pointerdown",Ho=>{const Wo=unrefElement($o);Wo&&(No=!Ho.composedPath().includes(Wo)&&!zo(Ho))},{passive:!0}),useEventListener(To,"pointerup",Ho=>{if(Ho.button===0){const Wo=Ho.composedPath();Ho.composedPath=()=>Wo,Mo=To.setTimeout(()=>Vo(Ho),50)}},{passive:!0}),Ro&&useEventListener(To,"blur",Ho=>{var Wo;const qo=unrefElement($o);((Wo=To.document.activeElement)==null?void 0:Wo.tagName)==="IFRAME"&&!(qo!=null&&qo.contains(To.document.activeElement))&&xo(Ho)})].filter(Boolean);return()=>Fo.forEach(Ho=>Ho())}function useSupported($o,xo=!1){const Lo=ref(),To=()=>Lo.value=Boolean($o());return To(),tryOnMounted(To,xo),Lo}function useMediaQuery($o,xo={}){const{window:Lo=defaultWindow}=xo,To=useSupported(()=>Lo&&"matchMedia"in Lo&&typeof Lo.matchMedia=="function");let Ao;const Bo=ref(!1),Ro=()=>{Ao&&("removeEventListener"in Ao?Ao.removeEventListener("change",No):Ao.removeListener(No))},No=()=>{To.value&&(Ro(),Ao=Lo.matchMedia(resolveRef($o).value),Bo.value=Ao.matches,"addEventListener"in Ao?Ao.addEventListener("change",No):Ao.addListener(No))};return watchEffect(No),tryOnScopeDispose(()=>Ro()),Bo}const _global=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},globalKey="__vueuse_ssr_handlers__";_global[globalKey]=_global[globalKey]||{};const handlers=_global[globalKey];function getSSRHandler($o,xo){return handlers[$o]||xo}function guessSerializerType($o){return $o==null?"any":$o instanceof Set?"set":$o instanceof Map?"map":$o instanceof Date?"date":typeof $o=="boolean"?"boolean":typeof $o=="string"?"string":typeof $o=="object"?"object":Number.isNaN($o)?"any":"number"}var __defProp$j=Object.defineProperty,__getOwnPropSymbols$l=Object.getOwnPropertySymbols,__hasOwnProp$l=Object.prototype.hasOwnProperty,__propIsEnum$l=Object.prototype.propertyIsEnumerable,__defNormalProp$j=($o,xo,Lo)=>xo in $o?__defProp$j($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues$j=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp$l.call(xo,Lo)&&__defNormalProp$j($o,Lo,xo[Lo]);if(__getOwnPropSymbols$l)for(var Lo of __getOwnPropSymbols$l(xo))__propIsEnum$l.call(xo,Lo)&&__defNormalProp$j($o,Lo,xo[Lo]);return $o};const StorageSerializers={boolean:{read:$o=>$o==="true",write:$o=>String($o)},object:{read:$o=>JSON.parse($o),write:$o=>JSON.stringify($o)},number:{read:$o=>Number.parseFloat($o),write:$o=>String($o)},any:{read:$o=>$o,write:$o=>String($o)},string:{read:$o=>$o,write:$o=>String($o)},map:{read:$o=>new Map(JSON.parse($o)),write:$o=>JSON.stringify(Array.from($o.entries()))},set:{read:$o=>new Set(JSON.parse($o)),write:$o=>JSON.stringify(Array.from($o))},date:{read:$o=>new Date($o),write:$o=>$o.toISOString()}};function useStorage($o,xo,Lo,To={}){var Ao;const{flush:Bo="pre",deep:Ro=!0,listenToStorageChanges:No=!0,writeDefaults:Mo=!0,mergeDefaults:zo=!1,shallow:Vo,window:Fo=defaultWindow,eventFilter:Uo,onError:Ho=ea=>{console.error(ea)}}=To,Wo=(Vo?shallowRef:ref)(xo);if(!Lo)try{Lo=getSSRHandler("getDefaultStorage",()=>{var ea;return(ea=defaultWindow)==null?void 0:ea.localStorage})()}catch(ea){Ho(ea)}if(!Lo)return Wo;const qo=resolveUnref(xo),Go=guessSerializerType(qo),Qo=(Ao=To.serializer)!=null?Ao:StorageSerializers[Go],{pause:Ko,resume:Zo}=watchPausable(Wo,()=>Yo(Wo.value),{flush:Bo,deep:Ro,eventFilter:Uo});return Fo&&No&&useEventListener(Fo,"storage",aa),aa(),Wo;function Yo(ea){try{if(ea==null)Lo.removeItem($o);else{const Xo=Qo.write(ea),la=Lo.getItem($o);la!==Xo&&(Lo.setItem($o,Xo),Fo&&(Fo==null||Fo.dispatchEvent(new StorageEvent("storage",{key:$o,oldValue:la,newValue:Xo,storageArea:Lo}))))}}catch(Xo){Ho(Xo)}}function Jo(ea){const Xo=ea?ea.newValue:Lo.getItem($o);if(Xo==null)return Mo&&qo!==null&&Lo.setItem($o,Qo.write(qo)),qo;if(!ea&&zo){const la=Qo.read(Xo);return isFunction(zo)?zo(la,qo):Go==="object"&&!Array.isArray(la)?__spreadValues$j(__spreadValues$j({},qo),la):la}else return typeof Xo!="string"?Xo:Qo.read(Xo)}function aa(ea){if(!(ea&&ea.storageArea!==Lo)){if(ea&&ea.key==null){Wo.value=qo;return}if(!(ea&&ea.key!==$o)){Ko();try{Wo.value=Jo(ea)}catch(Xo){Ho(Xo)}finally{ea?nextTick(Zo):Zo()}}}}}function usePreferredDark($o){return useMediaQuery("(prefers-color-scheme: dark)",$o)}function useRafFn($o,xo={}){const{immediate:Lo=!0,window:To=defaultWindow}=xo,Ao=ref(!1);let Bo=0,Ro=null;function No(Vo){if(!Ao.value||!To)return;const Fo=Vo-Bo;$o({delta:Fo,timestamp:Vo}),Bo=Vo,Ro=To.requestAnimationFrame(No)}function Mo(){!Ao.value&&To&&(Ao.value=!0,Ro=To.requestAnimationFrame(No))}function zo(){Ao.value=!1,Ro!=null&&To&&(To.cancelAnimationFrame(Ro),Ro=null)}return Lo&&Mo(),tryOnScopeDispose(zo),{isActive:readonly(Ao),pause:zo,resume:Mo}}const functionsMap=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];function useFullscreen($o,xo={}){const{document:Lo=defaultDocument,autoExit:To=!1}=xo,Ao=$o||(Lo==null?void 0:Lo.querySelector("html")),Bo=ref(!1);let Ro=functionsMap[0];const No=useSupported(()=>{if(Lo){for(const qo of functionsMap)if(qo[1]in Lo)return Ro=qo,!0}else return!1;return!1}),[Mo,zo,Vo,,Fo]=Ro;async function Uo(){No.value&&(Lo!=null&&Lo[Vo]&&await Lo[zo](),Bo.value=!1)}async function Ho(){if(!No.value)return;await Uo();const qo=unrefElement(Ao);qo&&(await qo[Mo](),Bo.value=!0)}async function Wo(){Bo.value?await Uo():await Ho()}return Lo&&useEventListener(Lo,Fo,()=>{Bo.value=!!(Lo!=null&&Lo[Vo])},!1),To&&tryOnScopeDispose(Uo),{isSupported:No,isFullscreen:Bo,enter:Ho,exit:Uo,toggle:Wo}}var __defProp$6=Object.defineProperty,__getOwnPropSymbols$6=Object.getOwnPropertySymbols,__hasOwnProp$6=Object.prototype.hasOwnProperty,__propIsEnum$6=Object.prototype.propertyIsEnumerable,__defNormalProp$6=($o,xo,Lo)=>xo in $o?__defProp$6($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues$6=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp$6.call(xo,Lo)&&__defNormalProp$6($o,Lo,xo[Lo]);if(__getOwnPropSymbols$6)for(var Lo of __getOwnPropSymbols$6(xo))__propIsEnum$6.call(xo,Lo)&&__defNormalProp$6($o,Lo,xo[Lo]);return $o};function useNow($o={}){const{controls:xo=!1,interval:Lo="requestAnimationFrame"}=$o,To=ref(new Date),Ao=()=>To.value=new Date,Bo=Lo==="requestAnimationFrame"?useRafFn(Ao,{immediate:!0}):useIntervalFn(Ao,Lo,{immediate:!0});return xo?__spreadValues$6({now:To},Bo):To}var SwipeDirection;(function($o){$o.UP="UP",$o.RIGHT="RIGHT",$o.DOWN="DOWN",$o.LEFT="LEFT",$o.NONE="NONE"})(SwipeDirection||(SwipeDirection={}));let _id=0;function useStyleTag($o,xo={}){const Lo=ref(!1),{document:To=defaultDocument,immediate:Ao=!0,manual:Bo=!1,id:Ro=`vueuse_styletag_${++_id}`}=xo,No=ref($o);let Mo=()=>{};const zo=()=>{if(!To)return;const Fo=To.getElementById(Ro)||To.createElement("style");Fo.isConnected||(Fo.type="text/css",Fo.id=Ro,xo.media&&(Fo.media=xo.media),To.head.appendChild(Fo)),!Lo.value&&(Mo=watch(No,Uo=>{Fo.textContent=Uo},{immediate:!0}),Lo.value=!0)},Vo=()=>{!To||!Lo.value||(Mo(),To.head.removeChild(To.getElementById(Ro)),Lo.value=!1)};return Ao&&!Bo&&tryOnMounted(zo),Bo||tryOnScopeDispose(Vo),{id:Ro,css:No,unload:Vo,load:zo,isLoaded:readonly(Lo)}}var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=($o,xo,Lo)=>xo in $o?__defProp($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp.call(xo,Lo)&&__defNormalProp($o,Lo,xo[Lo]);if(__getOwnPropSymbols)for(var Lo of __getOwnPropSymbols(xo))__propIsEnum.call(xo,Lo)&&__defNormalProp($o,Lo,xo[Lo]);return $o};const _TransitionPresets={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};__spreadValues({linear:identity},_TransitionPresets);const fontIcon="";var c$3=defineComponent({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup($o){const xo=computed(()=>{const Lo={};return $o.color&&(Lo.color=$o.color),$o.size&&(Lo["font-size"]=Number.isNaN(Number($o.size))?$o.size:`${$o.size}px`),Dt$2(Lo).length?Lo:null});return()=>$o.icon?h$4("span",{key:$o.icon,class:["font-icon icon","",$o.icon.includes(" ")?$o.icon:`iconfont icon-${$o.icon}`],style:xo.value}):null}});const badge="",t$4=({type:$o="info",text:xo="",vertical:Lo="top",color:To},{slots:Ao})=>{var Bo;return h$4("span",{class:["badge",$o,{diy:To}],style:{verticalAlign:Lo,...To?{backgroundColor:To}:{}}},xo||((Bo=Ao.default)==null?void 0:Bo.call(Ao)))};t$4.displayName="Badge";const biliBili="",v$3=$o=>isString$1($o)?$o:`${$o}px`,B$4=($o,xo=0)=>{const Lo=ref(),To=computed(()=>v$3(unref($o.width)||"100%")),Ao=ref("auto"),Bo=Mo=>{if(isString$1(Mo)){const[zo,Vo]=Mo.split(":"),Fo=Number(zo)/Number(Vo);if(!Number.isNaN(Fo))return Fo}return typeof Mo=="number"?Mo:16/9},Ro=Mo=>{const zo=unref($o.height),Vo=Bo(unref($o.ratio));return zo?v$3(zo):`${Number(Mo)/Vo+unref(xo)}px`},No=()=>{Lo.value&&(Ao.value=Ro(Lo.value.clientWidth))};return onMounted(()=>{No(),isRef(xo)&&watch(xo,()=>No()),useEventListener("orientationchange",()=>No()),useEventListener("resize",()=>No())}),{el:Lo,width:To,height:Ao}};var k$5=defineComponent({name:"BiliBili",props:{bvid:{type:String,required:!0},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},lowQuality:Boolean,noDanmaku:Boolean},setup($o){const xo=ref(!1),Lo=computed(()=>xo.value?0:68),To=()=>{xo.value=Lt$1(navigator.userAgent)||Ao.value.clientWidth<640},{el:Ao,width:Bo,height:Ro}=B$4($o,Lo),No=computed(()=>`https://player.bilibili.com/player.html?bvid=${$o.bvid}&t=${$o.time}&high_quality=${$o.lowQuality?0:1}&page=${$o.page}&danmaku=${$o.noDanmaku?0:1}`);return onMounted(()=>{To(),useEventListener("orientationchange",()=>To()),useEventListener("resize",()=>To())}),()=>[h$4("div",{class:"bili-desc"},h$4("a",{class:"sr-only",href:No.value},$o.title)),h$4("iframe",{ref:Ao,src:`https://player.bilibili.com/player.html?bvid=${$o.bvid}&t=${$o.time}&high_quality=${$o.lowQuality?0:1}&page=${$o.page}&danmaku=${$o.noDanmaku?0:1}`,title:$o.title,class:"bili-iframe",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture",style:{width:Bo.value,height:Ro.value}})]}});const backToTop="",a$5=()=>h$4(R$2,{name:"back-to-top"},()=>[h$4("path",{d:"M512 843.2c-36.2 0-66.4-13.6-85.8-21.8-10.8-4.6-22.6 3.6-21.8 15.2l7 102c.4 6.2 7.6 9.4 12.6 5.6l29-22c3.6-2.8 9-1.8 11.4 2l41 64.2c3 4.8 10.2 4.8 13.2 0l41-64.2c2.4-3.8 7.8-4.8 11.4-2l29 22c5 3.8 12.2.6 12.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6 8.2-49.6 21.8-85.8 21.8z"}),h$4("path",{d:"m795.4 586.2-96-98.2C699.4 172 513 32 513 32S324.8 172 324.8 488l-96 98.2c-3.6 3.6-5.2 9-4.4 14.2L261.2 824c1.8 11.4 14.2 17 23.6 10.8L419 744s41.4 40 94.2 40c52.8 0 92.2-40 92.2-40l134.2 90.8c9.2 6.2 21.6.6 23.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14zM513 384c-34 0-61.4-28.6-61.4-64s27.6-64 61.4-64c34 0 61.4 28.6 61.4 64S547 384 513 384z"})]);a$5.displayName="BackToTopIcon";var h$3=defineComponent({name:"BackToTop",props:{threshold:{type:Number,default:300}},setup($o){const xo=usePageFrontmatter(),Lo=Yt$2({"/en/":{backToTop:"Back to top"},"/":{backToTop:"返回顶部"}}),To=ref(0),Ao=computed(()=>xo.value.backToTop!==!1&&To.value>$o.threshold),Bo=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;return onMounted(()=>{To.value=Bo()}),useEventListener("scroll",useDebounceFn(()=>{To.value=Bo()},100)),()=>h$4(Transition,{name:"fade"},()=>Ao.value?h$4("button",{class:"back-to-top","aria-label":Lo.value.backToTop,"data-balloon-pos":"left",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"}),To.value=0}},h$4(a$5)):null)}});const srOnly="",clientConfig1=defineClientConfig({enhance:({app:$o})=>{Ht$2("FontIcon")||$o.component("FontIcon",c$3),Ht$2("Badge")||$o.component("Badge",t$4),Ht$2("BiliBili")||$o.component("BiliBili",k$5)},setup:()=>{useStyleTag(` @import url("//at.alicdn.com/t/c/font_2410206_5vb9zlyghj.css"); - `)},rootComponents:[()=>h$4(h$3,{threshold:300})]});function r$5($o,xo,Lo){var To,Ao,Bo;xo===void 0&&(xo=50),Lo===void 0&&(Lo={});var Ro=(To=Lo.isImmediate)!=null&&To,No=(Ao=Lo.callback)!=null&&Ao,Mo=Lo.maxWait,zo=Date.now(),Vo=[];function Fo(){if(Mo!==void 0){var Ho=Date.now()-zo;if(Ho+xo>=Mo)return Mo-Ho}return xo}var Uo=function(){var Ho=[].slice.call(arguments),Wo=this;return new Promise(function(qo,Go){var Qo=Ro&&Bo===void 0;if(Bo!==void 0&&clearTimeout(Bo),Bo=setTimeout(function(){if(Bo=void 0,zo=Date.now(),!Ro){var Zo=$o.apply(Wo,Ho);No&&No(Zo),Vo.forEach(function(Yo){return(0,Yo.resolve)(Zo)}),Vo=[]}},Fo()),Qo){var Ko=$o.apply(Wo,Ho);return No&&No(Ko),qo(Ko)}Vo.push({resolve:qo,reject:Go})})};return Uo.cancel=function(Ho){Bo!==void 0&&clearTimeout(Bo),Vo.forEach(function(Wo){return(0,Wo.reject)(Ho)}),Vo=[]},Uo}const useActiveHeaderLinks=({headerLinkSelector:$o,headerAnchorSelector:xo,delay:Lo,offset:To=5})=>{const Ao=useRouter(),Ro=r$5(()=>{var qo,Go;const No=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(No-0)Uo.some(Ko=>Ko.hash===Qo.hash));for(let Qo=0;Qo=(((qo=Ko.parentElement)==null?void 0:qo.offsetTop)??0)-To,Jo=!Zo||No<(((Go=Zo.parentElement)==null?void 0:Go.offsetTop)??0)-To;if(!(Yo&&Jo))continue;const ea=decodeURIComponent(Ao.currentRoute.value.hash),Xo=decodeURIComponent(Ko.hash);if(ea===Xo)return;if(Fo){for(let la=Qo+1;la{window.addEventListener("scroll",Ro)}),onBeforeUnmount(()=>{window.removeEventListener("scroll",Ro)})},updateHash=async($o,xo)=>{const{scrollBehavior:Lo}=$o.options;$o.options.scrollBehavior=void 0,await $o.replace({query:$o.currentRoute.value.query,hash:xo,force:!0}).finally(()=>$o.options.scrollBehavior=Lo)},headerLinkSelector=".sidebar-link, .toc-link",headerAnchorSelector=".header-anchor",delay=200,offset=5,clientConfig2=defineClientConfig({setup(){useActiveHeaderLinks({headerLinkSelector,headerAnchorSelector,delay,offset})}}),autoCatalog="";var M$2=defineComponent({name:"AutoCatalog",props:{base:{type:String,default:""},level:{type:Number,default:3},titleGetter:{type:Function,default:$o=>$o.title},iconGetter:{type:Function,default:$o=>$o.icon},orderGetter:{type:Function,default:$o=>$o.order||0},shouldIndex:{type:Function,default:$o=>$o.index!==!1}},setup($o){const xo=Yt$2({"/en/":{title:"Catalog"},"/":{title:"目录"}}),Lo=useRoute(),To=useRouter(),Ao=useSiteData(),Bo=()=>{const No=$o.base||Lo.path.replace(/\/[^/]+$/,"/"),Mo=To.getRoutes(),zo=[];return Mo.filter(({meta:Vo,path:Fo})=>{if(!bt$2(Fo,No)||Fo===No)return!1;if(No==="/"){const Uo=Dt$2(Ao.value.locales).filter(Ho=>Ho!=="/");if(Fo==="/404.html"||Uo.some(Ho=>bt$2(Fo,Ho)))return!1}return(ee$2(Fo,".html")&&!ee$2(Fo,"/index.html")||ee$2(Fo,"/"))&&$o.shouldIndex(Vo)}).map(({path:Vo,meta:Fo})=>{const Uo=Vo.substring(No.length).split("/").length;return{title:$o.titleGetter(Fo),icon:$o.iconGetter(Fo),base:Vo.replace(/\/[^/]+\/?$/,"/"),order:$o.orderGetter(Fo)||null,level:ee$2(Vo,"/")?Uo-1:Uo,path:Vo}}).filter(({title:Vo,level:Fo})=>Fo<=$o.level||!Vo).sort(({title:Vo,level:Fo,path:Uo,order:Ho},{title:Wo,level:qo,path:Go,order:Qo})=>Fo-qo||(ee$2(Uo,"/index.html")?-1:ee$2(Go,"/index.html")?1:Ho===null?Qo===null?Vo.localeCompare(Wo):Qo:Qo===null?Ho:Ho>0?Qo>0?Ho-Qo:-1:Qo<0?Ho-Qo:1)).forEach(Vo=>{var Fo;const{base:Uo,level:Ho}=Vo;switch(Ho){case 1:zo.push(Vo);break;case 2:{const Wo=zo.find(qo=>qo.path===Uo);Wo&&(Wo.children??(Wo.children=[])).push(Vo);break}default:{const Wo=zo.find(qo=>qo.path===Uo.replace(/\/[^/]+\/$/,"/"));if(Wo){const qo=(Fo=Wo.children)==null?void 0:Fo.find(Go=>Go.path===Uo);qo&&(qo.children??(qo.children=[])).push(Vo)}}}}),zo},Ro=computed(()=>Bo());return()=>h$4("div",{class:"auto-catalog-wrapper"},[h$4("h2",{class:"main-title"},xo.value.title),...Ro.value.map(({children:No=[],icon:Mo,path:zo,title:Vo},Fo)=>[h$4("h3",{id:Vo,class:["child-title",{"has-children":No.length}]},[h$4("a",{href:`#${Vo}`,class:"header-anchor"},"#"),h$4(RouterLink,{class:"catalog-title",to:zo},()=>[Mo?h$4(c$3,{icon:Mo}):null,`${Fo+1}. ${Vo||"Unknown"}`])]),No.length?h$4("ul",{class:"child-catalog-wrapper"},No.map(({children:Uo=[],icon:Ho,path:Wo,title:qo},Go)=>h$4("li",{class:"child-catalog-item"},[h$4("div",{class:["sub-title",{"has-children":Uo.length}]},[h$4("a",{href:`#${qo}`,class:"header-anchor"},"#"),h$4(RouterLink,{class:"catalog-title",to:Wo},()=>[Ho?h$4(c$3,{icon:Ho}):null,`${Fo+1}.${Go+1} ${qo||"Unknown"}`])]),Uo.length?h$4("div",{class:"sub-catalog-wrapper"},Uo.map(({icon:Qo,path:Ko,title:Zo},Yo)=>h$4(RouterLink,{class:"sub-catalog-item",to:Ko},()=>[Qo?h$4(c$3,{icon:Qo}):null,`${Fo+1}.${Go+1}.${Yo+1} ${Zo||"Unknown"}`]))):null]))):null])])}}),F$4=defineClientConfig({enhance:({app:$o})=>{Ht$2("AutoCatalog",$o)||$o.component("AutoCatalog",xo=>h$4(M$2,{titleGetter:Lo=>Lo.t,iconGetter:Lo=>Lo.i,orderGetter:Lo=>Lo.O,shouldIndex:Lo=>Boolean(Lo.I),...xo}))}});const vars$1="",externalLinkIcon="",svg=h$4("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[h$4("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),h$4("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),ExternalLinkIcon=defineComponent({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup($o){const xo=useRouteLocale(),Lo=computed(()=>$o.locales[xo.value]??{openInNewWindow:"open in new window"});return()=>h$4("span",[svg,h$4("span",{class:"external-link-icon-sr-only"},Lo.value.openInNewWindow)])}}),locales={},clientConfig4=defineClientConfig({enhance({app:$o}){$o.component("ExternalLinkIcon",h$4(ExternalLinkIcon,{locales}))}});/** +import{d as defineAsyncComponent,r as ref,a as readonly,b as reactive,c as defineComponent,i as isString$1,e as isArray,f as dedupeHead,g as resolveLocalePath,o as onMounted,h as computed,j as h$4,k as isLinkHttp,l as removeLeadingSlash,m as inject,n as getCurrentInstance,p as isPlainObject,q as camelize,s as capitalize,t as isFunction$1,u as unref,v as nextTick,w as isRef,x as watch,y as getCurrentScope,z as onScopeDispose,A as shallowRef,B as watchEffect,T as Transition,C as useRouter,D as onBeforeUnmount,E as useRoute,R as RouterLink,F as createBaseVNode,G as onUnmounted,H as openBlock,I as createElementBlock,J as toDisplayString,K as Fragment,L as renderList,M as createCommentVNode,N as normalizeStyle,O as createVNode,P as normalizeClass,Q as withDirectives,S as vModelText,U as vShow,V as createTextVNode,W as createBlock,X as vModelDynamic,Y as resolveComponent,Z as provide,_ as isLinkMailto,$ as toRef,a0 as isLinkTel,a1 as isLinkExternal,a2 as ensureEndingSlash,a3 as TransitionGroup,a4 as removeEndingSlash,a5 as useLink,a6 as resolveRoutePathFromUrl,a7 as createSSRApp,a8 as RouterView,a9 as createRouter,aa as START_LOCATION_NORMALIZED,ab as createWebHistory}from"./framework-3390b3d8.js";const scriptRel="modulepreload",assetsURL=function($o){return"/"+$o},seen={},__vitePreload=function(xo,Lo,To){if(!Lo||Lo.length===0)return xo();const Ao=document.getElementsByTagName("link");return Promise.all(Lo.map(Bo=>{if(Bo=assetsURL(Bo),Bo in seen)return;seen[Bo]=!0;const Ro=Bo.endsWith(".css"),No=Ro?'[rel="stylesheet"]':"";if(!!To)for(let Vo=Ao.length-1;Vo>=0;Vo--){const Fo=Ao[Vo];if(Fo.href===Bo&&(!Ro||Fo.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${Bo}"]${No}`))return;const zo=document.createElement("link");if(zo.rel=Ro?"stylesheet":scriptRel,Ro||(zo.as="script",zo.crossOrigin=""),zo.href=Bo,document.head.appendChild(zo),Ro)return new Promise((Vo,Fo)=>{zo.addEventListener("load",Vo),zo.addEventListener("error",()=>Fo(new Error(`Unable to preload CSS for ${Bo}`)))})})).then(()=>xo())},pagesData$1={"v-8daa1a0e":()=>__vitePreload(()=>import("./index.html-651cfb32.js"),[]).then(({data:$o})=>$o),"v-67f865c9":()=>__vitePreload(()=>import("./community.html-b7dd4ca6.js"),[]).then(({data:$o})=>$o),"v-016abea2":()=>__vitePreload(()=>import("./i18n.html-91aa70eb.js"),[]).then(({data:$o})=>$o),"v-c360777a":()=>__vitePreload(()=>import("./markmap.html-3825499a.js"),[]).then(({data:$o})=>$o),"v-590a42d9":()=>__vitePreload(()=>import("./project.html-0391df72.js"),[]).then(({data:$o})=>$o),"v-96f5eae0":()=>__vitePreload(()=>import("./quick-start.html-5f5dbf25.js"),[]).then(({data:$o})=>$o),"v-f8eeb414":()=>__vitePreload(()=>import("./side-load.html-de24922e.js"),[]).then(({data:$o})=>$o),"v-35ed7d28":()=>__vitePreload(()=>import("./star-request.html-56b84ca0.js"),[]).then(({data:$o})=>$o),"v-1b642789":()=>__vitePreload(()=>import("./FAQ.html-e745ff56.js"),[]).then(({data:$o})=>$o),"v-531ba0fe":()=>__vitePreload(()=>import("./Gacha-system-and-export-principal.html-dc9e0964.js"),[]).then(({data:$o})=>$o),"v-1393539d":()=>__vitePreload(()=>import("./artifact-rating-rules.html-3d71f83d.js"),[]).then(({data:$o})=>$o),"v-54b0e2a2":()=>__vitePreload(()=>import("./exceptions.html-8a94c4a0.js"),[]).then(({data:$o})=>$o),"v-4d2dd639":()=>__vitePreload(()=>import("./get-stoken-cookie-from-the-third-party.html-a883aafe.js"),[]).then(({data:$o})=>$o),"v-78536360":()=>__vitePreload(()=>import("./known-issue.html-665bd90e.js"),[]).then(({data:$o})=>$o),"v-64abbc6e":()=>__vitePreload(()=>import("./mihoyo-risk-tip.html-55a15916.js"),[]).then(({data:$o})=>$o),"v-14d35c9d":()=>__vitePreload(()=>import("./uninstall.html-8fc98a05.js"),[]).then(({data:$o})=>$o),"v-28eb1946":()=>__vitePreload(()=>import("./symposium1.html-0e85242a.js"),[]).then(({data:$o})=>$o),"v-2a9ff1e5":()=>__vitePreload(()=>import("./symposium2.html-3a708b8f.js"),[]).then(({data:$o})=>$o),"v-2d0a870d":()=>__vitePreload(()=>import("./index.html-59219388.js"),[]).then(({data:$o})=>$o),"v-73139ec8":()=>__vitePreload(()=>import("./achievements.html-717876fb.js"),[]).then(({data:$o})=>$o),"v-1c93fc72":()=>__vitePreload(()=>import("./character-data.html-41fa4a18.js"),[]).then(({data:$o})=>$o),"v-e37f5fa8":()=>__vitePreload(()=>import("./character-wiki.html-150c6cea.js"),[]).then(({data:$o})=>$o),"v-646944b6":()=>__vitePreload(()=>import("./daily-notes.html-35bd901c.js"),[]).then(({data:$o})=>$o),"v-1ae10847":()=>__vitePreload(()=>import("./develop-plan.html-a9728973.js"),[]).then(({data:$o})=>$o),"v-923d01d2":()=>__vitePreload(()=>import("./game-launcher.html-535d8f04.js"),[]).then(({data:$o})=>$o),"v-6de46920":()=>__vitePreload(()=>import("./hutao-API.html-a02b463f.js"),[]).then(({data:$o})=>$o),"v-0c385e36":()=>__vitePreload(()=>import("./hutao-settings.html-de75e9ec.js"),[]).then(({data:$o})=>$o),"v-3e40bb9d":()=>__vitePreload(()=>import("./mhy-account-switch.html-4b541283.js"),[]).then(({data:$o})=>$o),"v-7070f771":()=>__vitePreload(()=>import("./weapon-wiki.html-ee86d91d.js"),[]).then(({data:$o})=>$o),"v-f4f67790":()=>__vitePreload(()=>import("./wish-export.html-a13cdafe.js"),[]).then(({data:$o})=>$o),"v-39f4c4da":()=>__vitePreload(()=>import("./bug-report.html-9c35cbb4.js"),[]).then(({data:$o})=>$o),"v-6730cc6c":()=>__vitePreload(()=>import("./privacy-notice.html-ad738962.js"),[]).then(({data:$o})=>$o),"v-d670f89a":()=>__vitePreload(()=>import("./tos.html-de7dfd4c.js"),[]).then(({data:$o})=>$o),"v-a05f49b2":()=>__vitePreload(()=>import("./update-log.html-9c41d17c.js"),[]).then(({data:$o})=>$o),"v-3706649a":()=>__vitePreload(()=>import("./404.html-32d5d192.js"),[]).then(({data:$o})=>$o),"v-a85f5c34":()=>__vitePreload(()=>import("./index.html-32fb9a3d.js"),[]).then(({data:$o})=>$o),"v-437b37b6":()=>__vitePreload(()=>import("./index.html-6015185b.js"),[]).then(({data:$o})=>$o),"v-35380e8e":()=>__vitePreload(()=>import("./index.html-34056938.js"),[]).then(({data:$o})=>$o),"v-b573819c":()=>__vitePreload(()=>import("./index.html-088df0ce.js"),[]).then(({data:$o})=>$o)},siteData$1=JSON.parse('{"base":"/","lang":"en-US","title":"","description":"","head":[["script",{"async":"","defer":"","data-website-id":"f586534f-1741-450e-a0f4-3c0189f993c9","src":"https://umami.irain.in/umami.js"},"\\n "],["script",{"type":"module","src":"https://get.microsoft.com/badge/ms-store-badge.bundled.js"}],["link",{"rel":"icon","href":"/favicon.ico"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-512.png","type":"image/png","sizes":"512x512"}],["link",{"rel":"icon","href":"/pwa-icon/chrome-192.png","type":"image/png","sizes":"192x192"}],["link",{"rel":"manifest","href":"/manifest.webmanifest","crossorigin":"use-credentials"}],["meta",{"name":"theme-color","content":"#f26d6d"}],["link",{"rel":"apple-touch-icon","href":"/favicon.ico"}],["meta",{"name":"apple-mobile-web-app-capable","content":"yes"}],["meta",{"name":"apple-mobile-web-app-status-bar-style","content":"black"}],["meta",{"name":"msapplication-TileImage","content":"/favicon.ico"}],["meta",{"name":"msapplication-TileColor","content":"#ffffff"}],["meta",{"name":"viewport","content":"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover"}]],"locales":{"/":{"lang":"zh-CN","title":"胡桃工具箱","description":"多功能的原神工具箱"},"/en/":{"lang":"en-US","title":"Snap Hutao","description":"Super utilitarian Genshin Impact Tool"}}}'),pagesComponents={"v-8daa1a0e":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-bfb8cd41.js"),["assets/index.html-bfb8cd41.js","assets/framework-3390b3d8.js"])),"v-67f865c9":defineAsyncComponent(()=>__vitePreload(()=>import("./community.html-fb698a25.js"),["assets/community.html-fb698a25.js","assets/framework-3390b3d8.js"])),"v-016abea2":defineAsyncComponent(()=>__vitePreload(()=>import("./i18n.html-f11ef0a9.js"),["assets/i18n.html-f11ef0a9.js","assets/framework-3390b3d8.js"])),"v-c360777a":defineAsyncComponent(()=>__vitePreload(()=>import("./markmap.html-dddcab19.js"),["assets/markmap.html-dddcab19.js","assets/framework-3390b3d8.js"])),"v-590a42d9":defineAsyncComponent(()=>__vitePreload(()=>import("./project.html-c1b79beb.js"),["assets/project.html-c1b79beb.js","assets/framework-3390b3d8.js"])),"v-96f5eae0":defineAsyncComponent(()=>__vitePreload(()=>import("./quick-start.html-7f47d3b9.js"),["assets/quick-start.html-7f47d3b9.js","assets/framework-3390b3d8.js"])),"v-f8eeb414":defineAsyncComponent(()=>__vitePreload(()=>import("./side-load.html-72979265.js"),["assets/side-load.html-72979265.js","assets/framework-3390b3d8.js"])),"v-35ed7d28":defineAsyncComponent(()=>__vitePreload(()=>import("./star-request.html-51c617f3.js"),["assets/star-request.html-51c617f3.js","assets/framework-3390b3d8.js"])),"v-1b642789":defineAsyncComponent(()=>__vitePreload(()=>import("./FAQ.html-ef74e4b3.js"),["assets/FAQ.html-ef74e4b3.js","assets/framework-3390b3d8.js"])),"v-531ba0fe":defineAsyncComponent(()=>__vitePreload(()=>import("./Gacha-system-and-export-principal.html-ef6ac30c.js"),["assets/Gacha-system-and-export-principal.html-ef6ac30c.js","assets/framework-3390b3d8.js"])),"v-1393539d":defineAsyncComponent(()=>__vitePreload(()=>import("./artifact-rating-rules.html-96b16e32.js"),["assets/artifact-rating-rules.html-96b16e32.js","assets/framework-3390b3d8.js"])),"v-54b0e2a2":defineAsyncComponent(()=>__vitePreload(()=>import("./exceptions.html-602bb3b9.js"),["assets/exceptions.html-602bb3b9.js","assets/framework-3390b3d8.js"])),"v-4d2dd639":defineAsyncComponent(()=>__vitePreload(()=>import("./get-stoken-cookie-from-the-third-party.html-17d169ec.js"),["assets/get-stoken-cookie-from-the-third-party.html-17d169ec.js","assets/framework-3390b3d8.js"])),"v-78536360":defineAsyncComponent(()=>__vitePreload(()=>import("./known-issue.html-08ceef15.js"),["assets/known-issue.html-08ceef15.js","assets/framework-3390b3d8.js"])),"v-64abbc6e":defineAsyncComponent(()=>__vitePreload(()=>import("./mihoyo-risk-tip.html-82c13d23.js"),["assets/mihoyo-risk-tip.html-82c13d23.js","assets/framework-3390b3d8.js"])),"v-14d35c9d":defineAsyncComponent(()=>__vitePreload(()=>import("./uninstall.html-c388cfe6.js"),["assets/uninstall.html-c388cfe6.js","assets/framework-3390b3d8.js"])),"v-28eb1946":defineAsyncComponent(()=>__vitePreload(()=>import("./symposium1.html-da6cc212.js"),["assets/symposium1.html-da6cc212.js","assets/framework-3390b3d8.js"])),"v-2a9ff1e5":defineAsyncComponent(()=>__vitePreload(()=>import("./symposium2.html-ff8e0c56.js"),["assets/symposium2.html-ff8e0c56.js","assets/framework-3390b3d8.js"])),"v-2d0a870d":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-0d92d5aa.js"),["assets/index.html-0d92d5aa.js","assets/framework-3390b3d8.js"])),"v-73139ec8":defineAsyncComponent(()=>__vitePreload(()=>import("./achievements.html-86cba11d.js"),["assets/achievements.html-86cba11d.js","assets/framework-3390b3d8.js"])),"v-1c93fc72":defineAsyncComponent(()=>__vitePreload(()=>import("./character-data.html-2ca9ce0e.js"),["assets/character-data.html-2ca9ce0e.js","assets/framework-3390b3d8.js"])),"v-e37f5fa8":defineAsyncComponent(()=>__vitePreload(()=>import("./character-wiki.html-64d5ba79.js"),["assets/character-wiki.html-64d5ba79.js","assets/framework-3390b3d8.js"])),"v-646944b6":defineAsyncComponent(()=>__vitePreload(()=>import("./daily-notes.html-8f958c4a.js"),["assets/daily-notes.html-8f958c4a.js","assets/framework-3390b3d8.js"])),"v-1ae10847":defineAsyncComponent(()=>__vitePreload(()=>import("./develop-plan.html-c113b52c.js"),["assets/develop-plan.html-c113b52c.js","assets/framework-3390b3d8.js"])),"v-923d01d2":defineAsyncComponent(()=>__vitePreload(()=>import("./game-launcher.html-b54f41cb.js"),["assets/game-launcher.html-b54f41cb.js","assets/framework-3390b3d8.js"])),"v-6de46920":defineAsyncComponent(()=>__vitePreload(()=>import("./hutao-API.html-ff102da3.js"),["assets/hutao-API.html-ff102da3.js","assets/framework-3390b3d8.js"])),"v-0c385e36":defineAsyncComponent(()=>__vitePreload(()=>import("./hutao-settings.html-28b83d00.js"),["assets/hutao-settings.html-28b83d00.js","assets/framework-3390b3d8.js"])),"v-3e40bb9d":defineAsyncComponent(()=>__vitePreload(()=>import("./mhy-account-switch.html-7c7887cf.js"),["assets/mhy-account-switch.html-7c7887cf.js","assets/framework-3390b3d8.js"])),"v-7070f771":defineAsyncComponent(()=>__vitePreload(()=>import("./weapon-wiki.html-e155b4d0.js"),["assets/weapon-wiki.html-e155b4d0.js","assets/framework-3390b3d8.js"])),"v-f4f67790":defineAsyncComponent(()=>__vitePreload(()=>import("./wish-export.html-f6a71159.js"),["assets/wish-export.html-f6a71159.js","assets/framework-3390b3d8.js"])),"v-39f4c4da":defineAsyncComponent(()=>__vitePreload(()=>import("./bug-report.html-9330946d.js"),["assets/bug-report.html-9330946d.js","assets/framework-3390b3d8.js"])),"v-6730cc6c":defineAsyncComponent(()=>__vitePreload(()=>import("./privacy-notice.html-0c488cdf.js"),["assets/privacy-notice.html-0c488cdf.js","assets/framework-3390b3d8.js"])),"v-d670f89a":defineAsyncComponent(()=>__vitePreload(()=>import("./tos.html-989c3554.js"),["assets/tos.html-989c3554.js","assets/framework-3390b3d8.js"])),"v-a05f49b2":defineAsyncComponent(()=>__vitePreload(()=>import("./update-log.html-843633e8.js"),["assets/update-log.html-843633e8.js","assets/framework-3390b3d8.js"])),"v-3706649a":defineAsyncComponent(()=>__vitePreload(()=>import("./404.html-f3dfcc04.js"),["assets/404.html-f3dfcc04.js","assets/framework-3390b3d8.js"])),"v-a85f5c34":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-5a3324fa.js"),["assets/index.html-5a3324fa.js","assets/framework-3390b3d8.js"])),"v-437b37b6":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-f45a2103.js"),["assets/index.html-f45a2103.js","assets/framework-3390b3d8.js"])),"v-35380e8e":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-4b5336df.js"),["assets/index.html-4b5336df.js","assets/framework-3390b3d8.js"])),"v-b573819c":defineAsyncComponent(()=>__vitePreload(()=>import("./index.html-95592738.js"),["assets/index.html-95592738.js","assets/framework-3390b3d8.js"]))};var layoutsSymbol=Symbol(""),pagesData=ref(pagesData$1),pageDataEmpty=readonly({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),pageData=ref(pageDataEmpty),usePageData=()=>pageData,pageFrontmatterSymbol=Symbol(""),usePageFrontmatter=()=>{const $o=inject(pageFrontmatterSymbol);if(!$o)throw new Error("usePageFrontmatter() is called without provider.");return $o},pageHeadSymbol=Symbol(""),usePageHead=()=>{const $o=inject(pageHeadSymbol);if(!$o)throw new Error("usePageHead() is called without provider.");return $o},pageHeadTitleSymbol=Symbol(""),pageLangSymbol=Symbol(""),usePageLang=()=>{const $o=inject(pageLangSymbol);if(!$o)throw new Error("usePageLang() is called without provider.");return $o},pageLayoutSymbol=Symbol(""),usePageLayout=()=>{const $o=inject(pageLayoutSymbol);if(!$o)throw new Error("usePageLayout() is called without provider.");return $o},routeLocaleSymbol=Symbol(""),useRouteLocale=()=>{const $o=inject(routeLocaleSymbol);if(!$o)throw new Error("useRouteLocale() is called without provider.");return $o},siteData=ref(siteData$1),useSiteData=()=>siteData,siteLocaleDataSymbol=Symbol(""),useSiteLocaleData=()=>{const $o=inject(siteLocaleDataSymbol);if(!$o)throw new Error("useSiteLocaleData() is called without provider.");return $o},updateHeadSymbol=Symbol(""),LAYOUT_NAME_DEFAULT="Layout",LAYOUT_NAME_NOT_FOUND="NotFound",resolvers=reactive({resolveLayouts:$o=>$o.reduce((xo,Lo)=>({...xo,...Lo.layouts}),{}),resolvePageData:async $o=>{const xo=pagesData.value[$o];return await(xo==null?void 0:xo())??pageDataEmpty},resolvePageFrontmatter:$o=>$o.frontmatter,resolvePageHead:($o,xo,Lo)=>{const To=isString$1(xo.description)?xo.description:Lo.description,Ao=[...isArray(xo.head)?xo.head:[],...Lo.head,["title",{},$o],["meta",{name:"description",content:To}]];return dedupeHead(Ao)},resolvePageHeadTitle:($o,xo)=>[$o.title,xo.title].filter(Lo=>!!Lo).join(" | "),resolvePageLang:$o=>$o.lang||"en",resolvePageLayout:($o,xo)=>{let Lo;if($o.path){const To=$o.frontmatter.layout;isString$1(To)?Lo=To:Lo=LAYOUT_NAME_DEFAULT}else Lo=LAYOUT_NAME_NOT_FOUND;return xo[Lo]},resolveRouteLocale:($o,xo)=>resolveLocalePath($o,xo),resolveSiteLocaleData:($o,xo)=>({...$o,...$o.locales[xo]})}),ClientOnly=defineComponent({name:"ClientOnly",setup($o,xo){const Lo=ref(!1);return onMounted(()=>{Lo.value=!0}),()=>{var To,Ao;return Lo.value?(Ao=(To=xo.slots).default)==null?void 0:Ao.call(To):null}}}),Content=defineComponent({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup($o){const xo=usePageData(),Lo=computed(()=>pagesComponents[$o.pageKey||xo.value.key]);return()=>Lo.value?h$4(Lo.value):h$4("div","404 Not Found")}}),defineClientConfig=($o={})=>$o,withBase=$o=>isLinkHttp($o)?$o:`/${removeLeadingSlash($o)}`;const hopeInject="",clientConfig0={};var u8=Uint8Array,u16=Uint16Array,u32=Uint32Array,fleb=new u8([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),fdeb=new u8([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),clim=new u8([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),freb=function($o,xo){for(var Lo=new u16(31),To=0;To<31;++To)Lo[To]=xo+=1<<$o[To-1];for(var Ao=new u32(Lo[30]),To=1;To<30;++To)for(var Bo=Lo[To];Bo>>1|(i$6&21845)<<1;x$3=(x$3&52428)>>>2|(x$3&13107)<<2,x$3=(x$3&61680)>>>4|(x$3&3855)<<4,rev[i$6]=((x$3&65280)>>>8|(x$3&255)<<8)>>>1}var hMap=function($o,xo,Lo){for(var To=$o.length,Ao=0,Bo=new u16(xo);Ao>>Mo]=zo}else for(No=new u16(To),Ao=0;Ao>>15-$o[Ao]);return No},flt=new u8(288);for(var i$6=0;i$6<144;++i$6)flt[i$6]=8;for(var i$6=144;i$6<256;++i$6)flt[i$6]=9;for(var i$6=256;i$6<280;++i$6)flt[i$6]=7;for(var i$6=280;i$6<288;++i$6)flt[i$6]=8;var fdt=new u8(32);for(var i$6=0;i$6<32;++i$6)fdt[i$6]=5;var flrm=hMap(flt,9,1),fdrm=hMap(fdt,5,1),max=function($o){for(var xo=$o[0],Lo=1;Lo<$o.length;++Lo)$o[Lo]>xo&&(xo=$o[Lo]);return xo},bits=function($o,xo,Lo){var To=xo/8|0;return($o[To]|$o[To+1]<<8)>>(xo&7)&Lo},bits16=function($o,xo){var Lo=xo/8|0;return($o[Lo]|$o[Lo+1]<<8|$o[Lo+2]<<16)>>(xo&7)},shft=function($o){return($o+7)/8|0},slc=function($o,xo,Lo){(xo==null||xo<0)&&(xo=0),(Lo==null||Lo>$o.length)&&(Lo=$o.length);var To=new($o.BYTES_PER_ELEMENT==2?u16:$o.BYTES_PER_ELEMENT==4?u32:u8)(Lo-xo);return To.set($o.subarray(xo,Lo)),To},ec=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],err=function($o,xo,Lo){var To=new Error(xo||ec[$o]);if(To.code=$o,Error.captureStackTrace&&Error.captureStackTrace(To,err),!Lo)throw To;return To},inflt=function($o,xo,Lo){var To=$o.length;if(!To||Lo&&Lo.f&&!Lo.l)return xo||new u8(0);var Ao=!xo||Lo,Bo=!Lo||Lo.i;Lo||(Lo={}),xo||(xo=new u8(To*3));var Ro=function(Da){var Oa=xo.length;if(Da>Oa){var Aa=new u8(Math.max(Oa*2,Da));Aa.set(xo),xo=Aa}},No=Lo.f||0,Mo=Lo.p||0,zo=Lo.b||0,Vo=Lo.l,Fo=Lo.d,Uo=Lo.m,Ho=Lo.n,Wo=To*8;do{if(!Vo){No=bits($o,Mo,1);var qo=bits($o,Mo+1,3);if(Mo+=3,qo)if(qo==1)Vo=flrm,Fo=fdrm,Uo=9,Ho=5;else if(qo==2){var Jo=bits($o,Mo,31)+257,Ko=bits($o,Mo+10,15)+4,Qo=Jo+bits($o,Mo+5,31)+1;Mo+=14;for(var aa=new u8(Qo),ea=new u8(19),Xo=0;Xo>>4;if(Go<16)aa[Xo++]=Go;else{var na=0,ra=0;for(Go==16?(ra=3+bits($o,Mo,3),Mo+=2,na=aa[Xo-1]):Go==17?(ra=3+bits($o,Mo,7),Mo+=3):Go==18&&(ra=11+bits($o,Mo,127),Mo+=7);ra--;)aa[Xo++]=na}}var ta=aa.subarray(0,Jo),ia=aa.subarray(Jo);Uo=max(ta),Ho=max(ia),Vo=hMap(ta,Uo,1),Fo=hMap(ia,Ho,1)}else err(1);else{var Go=shft(Mo)+4,Yo=$o[Go-4]|$o[Go-3]<<8,Zo=Go+Yo;if(Zo>To){Bo&&err(0);break}Ao&&Ro(zo+Yo),xo.set($o.subarray(Go,Zo),zo),Lo.b=zo+=Yo,Lo.p=Mo=Zo*8,Lo.f=No;continue}if(Mo>Wo){Bo&&err(0);break}}Ao&&Ro(zo+131072);for(var oa=(1<>>4;if(Mo+=na&15,Mo>Wo){Bo&&err(0);break}if(na||err(2),ga<256)xo[zo++]=ga;else if(ga==256){ha=Mo,Vo=null;break}else{var ka=ga-254;if(ga>264){var Xo=ga-257,$a=fleb[Xo];ka=bits($o,Mo,(1<<$a)-1)+fl[Xo],Mo+=$a}var Sa=Fo[bits16($o,Mo)&ua],Ca=Sa>>>4;Sa||err(3),Mo+=Sa&15;var ia=fd[Ca];if(Ca>3){var $a=fdeb[Ca];ia+=bits16($o,Mo)&(1<<$a)-1,Mo+=$a}if(Mo>Wo){Bo&&err(0);break}Ao&&Ro(zo+131072);for(var Ta=zo+ka;zo>>4>7||($o[0]<<8|$o[1])%31)&&err(6,"invalid zlib data"),$o[1]&32&&err(6,"invalid zlib data: preset dictionaries not supported")};function unzlibSync($o,xo){return inflt((zlv($o),$o.subarray(2,-4)),xo)}var te$2=typeof TextEncoder<"u"&&new TextEncoder,td=typeof TextDecoder<"u"&&new TextDecoder,tds=0;try{td.decode(et$2,{stream:!0}),tds=1}catch{}var dutf8=function($o){for(var xo="",Lo=0;;){var To=$o[Lo++],Ao=(To>127)+(To>223)+(To>239);if(Lo+Ao>$o.length)return[xo,slc($o,Lo-1)];Ao?Ao==3?(To=((To&15)<<18|($o[Lo++]&63)<<12|($o[Lo++]&63)<<6|$o[Lo++]&63)-65536,xo+=String.fromCharCode(55296|To>>10,56320|To&1023)):Ao&1?xo+=String.fromCharCode((To&31)<<6|$o[Lo++]&63):xo+=String.fromCharCode((To&15)<<12|($o[Lo++]&63)<<6|$o[Lo++]&63):xo+=String.fromCharCode(To)}};function strToU8($o,xo){if(xo){for(var Lo=new u8($o.length),To=0;To<$o.length;++To)Lo[To]=$o.charCodeAt(To);return Lo}if(te$2)return te$2.encode($o);for(var Ao=$o.length,Bo=new u8($o.length+($o.length>>1)),Ro=0,No=function(Vo){Bo[Ro++]=Vo},To=0;ToBo.length){var Mo=new u8(Ro+8+(Ao-To<<1));Mo.set(Bo),Bo=Mo}var zo=$o.charCodeAt(To);zo<128||xo?No(zo):zo<2048?(No(192|zo>>6),No(128|zo&63)):zo>55295&&zo<57344?(zo=65536+(zo&1023<<10)|$o.charCodeAt(++To)&1023,No(240|zo>>18),No(128|zo>>12&63),No(128|zo>>6&63),No(128|zo&63)):(No(224|zo>>12),No(128|zo>>6&63),No(128|zo&63))}return slc(Bo,0,Ro)}function strFromU8($o,xo){if(xo){for(var Lo="",To=0;To<$o.length;To+=16384)Lo+=String.fromCharCode.apply(null,$o.subarray(To,To+16384));return Lo}else{if(td)return td.decode($o);var Ao=dutf8($o),Bo=Ao[0],Ro=Ao[1];return Ro.length&&err(8),Bo}}const R$2=({name:$o="",color:xo="currentColor"},{slots:Lo})=>{var To;return h$4("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${$o}-icon`],viewBox:"0 0 1024 1024",fill:xo,"aria-label":`${$o} icon`},(To=Lo.default)==null?void 0:To.call(Lo))};R$2.displayName="IconBase";const kt$2=($o,{slots:xo})=>{var Lo;return((Lo=xo.default)==null?void 0:Lo.call(xo))||null},vt$2=()=>h$4(R$2,{name:"github"},()=>h$4("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));vt$2.displayName="GitHubIcon";const pt$2=()=>h$4(R$2,{name:"gitlab"},()=>h$4("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));pt$2.displayName="GitlabIcon";const $t$2=()=>h$4(R$2,{name:"gitee"},()=>h$4("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));$t$2.displayName="GiteeIcon";const gt$2=()=>h$4(R$2,{name:"bitbucket"},()=>h$4("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));gt$2.displayName="BitbucketIcon";const yt$2=()=>h$4(R$2,{name:"source"},()=>h$4("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));yt$2.displayName="SourceIcon";const Ht$2=($o,xo)=>{const Lo=xo?xo._instance:getCurrentInstance();return isPlainObject(Lo==null?void 0:Lo.appContext.components)&&($o in Lo.appContext.components||camelize($o)in Lo.appContext.components||capitalize(camelize($o))in Lo.appContext.components)},Yt$2=$o=>{const xo=useRouteLocale();return computed(()=>$o[xo.value])},Lt$1=$o=>/\b(?:Android|iPhone)/i.test($o),Zt$2=($o,xo)=>{let Lo=1;for(let To=0;To<$o.length;To++)Lo+=$o.charCodeAt(To),Lo+=Lo<<10,Lo^=Lo>>6;return Lo+=Lo<<3,Lo^=Lo>>11,Lo%xo};var K$2=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},et$1={},Bt$2={get exports(){return et$1},set exports($o){et$1=$o}};(function($o,xo){(function(Lo,To){$o.exports=To()})(K$2,function(){var Lo=1e3,To=6e4,Ao=36e5,Bo="millisecond",Ro="second",No="minute",Mo="hour",zo="day",Vo="week",Fo="month",Uo="quarter",Ho="year",Wo="date",qo="Invalid Date",Go=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Yo=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Zo={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(na){var ra=["th","st","nd","rd"],ta=na%100;return"["+na+(ra[(ta-20)%10]||ra[ta]||ra[0])+"]"}},Jo=function(na,ra,ta){var ia=String(na);return!ia||ia.length>=ra?na:""+Array(ra+1-ia.length).join(ta)+na},Ko={s:Jo,z:function(na){var ra=-na.utcOffset(),ta=Math.abs(ra),ia=Math.floor(ta/60),oa=ta%60;return(ra<=0?"+":"-")+Jo(ia,2,"0")+":"+Jo(oa,2,"0")},m:function na(ra,ta){if(ra.date()1)return na(ha[0])}else{var ga=ra.name;aa[ga]=ra,oa=ga}return!ia&&oa&&(Qo=oa),oa||!ia&&Qo},la=function(na,ra){if(ea(na))return na.clone();var ta=typeof ra=="object"?ra:{};return ta.date=na,ta.args=arguments,new wa(ta)},fa=Ko;fa.l=Xo,fa.i=ea,fa.w=function(na,ra){return la(na,{locale:ra.$L,utc:ra.$u,x:ra.$x,$offset:ra.$offset})};var wa=function(){function na(ta){this.$L=Xo(ta.locale,null,!0),this.parse(ta)}var ra=na.prototype;return ra.parse=function(ta){this.$d=function(ia){var oa=ia.date,ua=ia.utc;if(oa===null)return new Date(NaN);if(fa.u(oa))return new Date;if(oa instanceof Date)return new Date(oa);if(typeof oa=="string"&&!/Z$/i.test(oa)){var ha=oa.match(Go);if(ha){var ga=ha[2]-1||0,ka=(ha[7]||"0").substring(0,3);return ua?new Date(Date.UTC(ha[1],ga,ha[3]||1,ha[4]||0,ha[5]||0,ha[6]||0,ka)):new Date(ha[1],ga,ha[3]||1,ha[4]||0,ha[5]||0,ha[6]||0,ka)}}return new Date(oa)}(ta),this.$x=ta.x||{},this.init()},ra.init=function(){var ta=this.$d;this.$y=ta.getFullYear(),this.$M=ta.getMonth(),this.$D=ta.getDate(),this.$W=ta.getDay(),this.$H=ta.getHours(),this.$m=ta.getMinutes(),this.$s=ta.getSeconds(),this.$ms=ta.getMilliseconds()},ra.$utils=function(){return fa},ra.isValid=function(){return this.$d.toString()!==qo},ra.isSame=function(ta,ia){var oa=la(ta);return this.startOf(ia)<=oa&&oa<=this.endOf(ia)},ra.isAfter=function(ta,ia){return la(ta)=0?1:Yo.date()),Jo=Go.year||Yo.year(),Ko=Go.month>=0?Go.month:Go.year||Go.day?0:Yo.month(),Qo=Go.hour||0,aa=Go.minute||0,ea=Go.second||0,Xo=Go.millisecond||0;return qo?new Date(Date.UTC(Jo,Ko,Zo,Qo,aa,ea,Xo)):new Date(Jo,Ko,Zo,Qo,aa,ea,Xo)}return Wo},No=Bo.parse;Bo.parse=function(Uo){Uo.date=Ro.bind(this)(Uo),No.bind(this)(Uo)};var Mo=Bo.set,zo=Bo.add,Vo=Bo.subtract,Fo=function(Uo,Ho,Wo,qo){qo===void 0&&(qo=1);var Go=Object.keys(Ho),Yo=this;return Go.forEach(function(Zo){Yo=Uo.bind(Yo)(Ho[Zo]*qo,Zo)}),Yo};Bo.set=function(Uo,Ho){return Ho=Ho===void 0?Uo:Ho,Uo.constructor.name==="Object"?Fo.bind(this)(function(Wo,qo){return Mo.bind(this)(qo,Wo)},Ho,Uo):Mo.bind(this)(Uo,Ho)},Bo.add=function(Uo,Ho){return Uo.constructor.name==="Object"?Fo.bind(this)(zo,Uo,Ho):zo.bind(this)(Uo,Ho)},Bo.subtract=function(Uo,Ho){return Uo.constructor.name==="Object"?Fo.bind(this)(zo,Uo,Ho,-1):Vo.bind(this)(Uo,Ho)}}})})(Ft$2);var Jt$2=nt$2,it$2={},qt$2={get exports(){return it$2},set exports($o){it$2=$o}};(function($o,xo){(function(Lo,To){$o.exports=To()})(K$2,function(){var Lo={year:0,month:1,day:2,hour:3,minute:4,second:5},To={};return function(Ao,Bo,Ro){var No,Mo=function(Uo,Ho,Wo){Wo===void 0&&(Wo={});var qo=new Date(Uo),Go=function(Yo,Zo){Zo===void 0&&(Zo={});var Jo=Zo.timeZoneName||"short",Ko=Yo+"|"+Jo,Qo=To[Ko];return Qo||(Qo=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:Yo,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:Jo}),To[Ko]=Qo),Qo}(Ho,Wo);return Go.formatToParts(qo)},zo=function(Uo,Ho){for(var Wo=Mo(Uo,Ho),qo=[],Go=0;Go=0&&(qo[Ko]=parseInt(Jo,10))}var Qo=qo[3],aa=Qo===24?0:Qo,ea=qo[0]+"-"+qo[1]+"-"+qo[2]+" "+aa+":"+qo[4]+":"+qo[5]+":000",Xo=+Uo;return(Ro.utc(ea).valueOf()-(Xo-=Xo%1e3))/6e4},Vo=Bo.prototype;Vo.tz=function(Uo,Ho){Uo===void 0&&(Uo=No);var Wo=this.utcOffset(),qo=this.toDate(),Go=qo.toLocaleString("en-US",{timeZone:Uo}),Yo=Math.round((qo-new Date(Go))/1e3/60),Zo=Ro(Go).$set("millisecond",this.$ms).utcOffset(15*-Math.round(qo.getTimezoneOffset()/15)-Yo,!0);if(Ho){var Jo=Zo.utcOffset();Zo=Zo.add(Wo-Jo,"minute")}return Zo.$x.$timezone=Uo,Zo},Vo.offsetName=function(Uo){var Ho=this.$x.$timezone||Ro.tz.guess(),Wo=Mo(this.valueOf(),Ho,{timeZoneName:Uo}).find(function(qo){return qo.type.toLowerCase()==="timezonename"});return Wo&&Wo.value};var Fo=Vo.startOf;Vo.startOf=function(Uo,Ho){if(!this.$x||!this.$x.$timezone)return Fo.call(this,Uo,Ho);var Wo=Ro(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return Fo.call(Wo,Uo,Ho).tz(this.$x.$timezone,!0)},Ro.tz=function(Uo,Ho,Wo){var qo=Wo&&Ho,Go=Wo||Ho||No,Yo=zo(+Ro(),Go);if(typeof Uo!="string")return Ro(Uo).tz(Go);var Zo=function(aa,ea,Xo){var la=aa-60*ea*1e3,fa=zo(la,Xo);if(ea===fa)return[la,ea];var wa=zo(la-=60*(fa-ea)*1e3,Xo);return fa===wa?[la,fa]:[aa-60*Math.min(fa,wa)*1e3,Math.max(fa,wa)]}(Ro.utc(Uo,qo).valueOf(),Yo,Go),Jo=Zo[0],Ko=Zo[1],Qo=Ro(Jo).utcOffset(Ko);return Qo.$x.$timezone=Go,Qo},Ro.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},Ro.tz.setDefault=function(Uo){No=Uo}}})})(qt$2);var Qt$2=it$2,rt$2={},Kt$2={get exports(){return rt$2},set exports($o){rt$2=$o}};(function($o,xo){(function(Lo,To){$o.exports=To()})(K$2,function(){var Lo="minute",To=/[+-]\d\d(?::?\d\d)?/g,Ao=/([+-]|\d\d)/g;return function(Bo,Ro,No){var Mo=Ro.prototype;No.utc=function(qo){var Go={date:qo,utc:!0,args:arguments};return new Ro(Go)},Mo.utc=function(qo){var Go=No(this.toDate(),{locale:this.$L,utc:!0});return qo?Go.add(this.utcOffset(),Lo):Go},Mo.local=function(){return No(this.toDate(),{locale:this.$L,utc:!1})};var zo=Mo.parse;Mo.parse=function(qo){qo.utc&&(this.$u=!0),this.$utils().u(qo.$offset)||(this.$offset=qo.$offset),zo.call(this,qo)};var Vo=Mo.init;Mo.init=function(){if(this.$u){var qo=this.$d;this.$y=qo.getUTCFullYear(),this.$M=qo.getUTCMonth(),this.$D=qo.getUTCDate(),this.$W=qo.getUTCDay(),this.$H=qo.getUTCHours(),this.$m=qo.getUTCMinutes(),this.$s=qo.getUTCSeconds(),this.$ms=qo.getUTCMilliseconds()}else Vo.call(this)};var Fo=Mo.utcOffset;Mo.utcOffset=function(qo,Go){var Yo=this.$utils().u;if(Yo(qo))return this.$u?0:Yo(this.$offset)?Fo.call(this):this.$offset;if(typeof qo=="string"&&(qo=function(Qo){Qo===void 0&&(Qo="");var aa=Qo.match(To);if(!aa)return null;var ea=(""+aa[0]).match(Ao)||["-",0,0],Xo=ea[0],la=60*+ea[1]+ +ea[2];return la===0?0:Xo==="+"?la:-la}(qo),qo===null))return this;var Zo=Math.abs(qo)<=16?60*qo:qo,Jo=this;if(Go)return Jo.$offset=Zo,Jo.$u=qo===0,Jo;if(qo!==0){var Ko=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(Jo=this.local().add(Zo+Ko,Lo)).$offset=Zo,Jo.$x.$localOffset=Ko}else Jo=this.utc();return Jo};var Uo=Mo.format;Mo.format=function(qo){var Go=qo||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return Uo.call(this,Go)},Mo.valueOf=function(){var qo=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*qo},Mo.isUTC=function(){return!!this.$u},Mo.toISOString=function(){return this.toDate().toISOString()},Mo.toString=function(){return this.toDate().toUTCString()};var Ho=Mo.toDate;Mo.toDate=function(qo){return qo==="s"&&this.$offset?No(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():Ho.call(this)};var Wo=Mo.diff;Mo.diff=function(qo,Go,Yo){if(qo&&this.$u===qo.$u)return Wo.call(this,qo,Go,Yo);var Zo=this.local(),Jo=No(qo).local();return Wo.call(Zo,Jo,Go,Yo)}}})})(Kt$2);var Xt$2=rt$2;Z$2.extend(Jt$2),Z$2.extend(Xt$2),Z$2.extend(Qt$2);const st$2=($o,xo)=>{if($o){if(Z$2($o instanceof Date?$o:$o.trim()).isValid()){const To=xo?Z$2($o).tz(xo):Z$2($o),Ao=To.year(),Bo=To.month()+1,Ro=To.date(),No=To.hour(),Mo=To.minute(),zo=To.second(),Vo=To.millisecond(),Fo=No===0&&Mo===0&&zo===0&&Vo===0;return{value:To.toDate(),info:{year:Ao,month:Bo,day:Ro,...Fo?{}:{hour:No,minute:Mo,second:zo}},type:Fo?"date":"full"}}const Lo=/(?:(\d{2,4})[/-](\d{1,2})[/-](\d{1,2}))?\s*(?:(\d{1,2}):(\d{1,2})(?::(\d{1,2}))?)?/u.exec($o.trim());if(Lo){const[,To,Ao,Bo,Ro,No,Mo]=Lo,zo=Go=>typeof Go>"u"?void 0:Number(Go),Vo=Go=>Go&&Go<100?Go+2e3:Go,Fo=Go=>Ro&&No&&!Mo?0:Go,Uo={year:Vo(zo(To)),month:zo(Ao),day:zo(Bo),hour:zo(Ro),minute:zo(No),second:Fo(zo(Mo))},Ho=To===void 0&&Ao===void 0&&Bo===void 0,Wo=Ro===void 0&&No===void 0&&Mo===void 0,qo=Z$2({...Uo,month:Uo.month-1}).toDate();return{value:Ho?void 0:qo,info:Wo?{year:Uo.year,month:Uo.month,day:Uo.day}:Ho?{hour:Uo.hour,minute:Uo.minute,second:Uo.second}:Uo,type:Ho?"time":Wo?"date":"full"}}}return null},bt$2=($o,xo)=>isString$1($o)&&$o.startsWith(xo),ee$2=($o,xo)=>isString$1($o)&&$o.endsWith(xo),St$2=Object.entries,Dt$2=Object.keys,ot$2=($o,...xo)=>{if(xo.length===0)return $o;const Lo=xo.shift()||null;return Lo&&St$2(Lo).forEach(([To,Ao])=>{To==="__proto__"||To==="constructor"||(isPlainObject($o[To])&&isPlainObject(Ao)?ot$2($o[To],Ao):isArray(Ao)?$o[To]=[...Ao]:isPlainObject(Ao)?$o[To]={...Ao}:$o[To]=Lo[To])}),ot$2($o,...xo)},re$2=($o,xo=!1)=>$o?isArray($o)?$o.map(Lo=>isString$1(Lo)?{name:Lo}:Lo):isString$1($o)?[{name:$o}]:isPlainObject($o)&&$o.name?[$o]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${xo?"":"| false"} | undefined\`, but got`,$o),[]):[],at$1=($o,xo)=>{if($o){if(isArray($o))return $o;if(isString$1($o))return[$o];console.error(`Expect ${xo||"value"} to be \`string[] | string | undefined\`, but got`,$o)}return[]},se$2=$o=>at$1($o,"category"),oe$2=$o=>at$1($o,"tag"),ue$2=$o=>bt$2($o,"/");let ce$2=class{constructor(){this.messageElements={};const xo="message-container",Lo=document.getElementById(xo);Lo?this.containerElement=Lo:(this.containerElement=document.createElement("div"),this.containerElement.id=xo,document.body.appendChild(this.containerElement))}pop(xo,Lo=2e3){const To=document.createElement("div"),Ao=Date.now();return To.className="message move-in",To.innerHTML=xo,this.containerElement.appendChild(To),this.messageElements[Ao]=To,Lo>0&&setTimeout(()=>{this.close(Ao)},Lo),Ao}close(xo){if(xo){const Lo=this.messageElements[xo];Lo.className=Lo.className.replace("move-in",""),Lo.className+="move-out",Lo.addEventListener("animationend",()=>{Lo.remove(),delete this.messageElements[xo]})}else Dt$2(this.messageElements).forEach(Lo=>this.close(Number(Lo)))}destroy(){document.body.removeChild(this.containerElement)}};const Mt$2=/#.*$/u,wt$2=$o=>{const xo=Mt$2.exec($o);return xo?xo[0]:""},ut$1=$o=>decodeURI($o).replace(Mt$2,"").replace(/(index)?\.(md|html)$/,""),he$2=($o,xo)=>{if(xo===void 0)return!1;const Lo=ut$1($o.path),To=ut$1(xo),Ao=wt$2(xo);return Ao?Ao===$o.hash&&(!To||Lo===To):Lo===To},le$2=$o=>{const xo=atob($o);return strFromU8(unzlibSync(strToU8(xo,!0)))},de$2=$o=>isLinkHttp($o)?$o:`https://github.com/${$o}`,me$2=$o=>!isLinkHttp($o)||/github\.com/.test($o)?"GitHub":/bitbucket\.org/.test($o)?"Bitbucket":/gitlab\.com/.test($o)?"GitLab":/gitee\.com/.test($o)?"Gitee":null,Ot$2=($o,...xo)=>{const Lo=$o.resolve(...xo),To=Lo.matched[Lo.matched.length-1];if(!(To!=null&&To.redirect))return Lo;const{redirect:Ao}=To,Bo=isFunction$1(Ao)?Ao(Lo):Ao,Ro=isString$1(Bo)?{path:Bo}:Bo;return Ot$2($o,{hash:Lo.hash,query:Lo.query,params:Lo.params,...Ro})};var _a;const isClient=typeof window<"u",isFunction=$o=>typeof $o=="function",isString=$o=>typeof $o=="string",noop=()=>{};isClient&&((_a=window==null?void 0:window.navigator)!=null&&_a.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function resolveUnref($o){return typeof $o=="function"?$o():unref($o)}function createFilterWrapper($o,xo){function Lo(...To){return new Promise((Ao,Bo)=>{Promise.resolve($o(()=>xo.apply(this,To),{fn:xo,thisArg:this,args:To})).then(Ao).catch(Bo)})}return Lo}const bypassFilter=$o=>$o();function debounceFilter($o,xo={}){let Lo,To,Ao=noop;const Bo=No=>{clearTimeout(No),Ao(),Ao=noop};return No=>{const Mo=resolveUnref($o),zo=resolveUnref(xo.maxWait);return Lo&&Bo(Lo),Mo<=0||zo!==void 0&&zo<=0?(To&&(Bo(To),To=null),Promise.resolve(No())):new Promise((Vo,Fo)=>{Ao=xo.rejectOnCancel?Fo:Vo,zo&&!To&&(To=setTimeout(()=>{Lo&&Bo(Lo),To=null,Vo(No())},zo)),Lo=setTimeout(()=>{To&&Bo(To),To=null,Vo(No())},Mo)})}}function throttleFilter($o,xo=!0,Lo=!0,To=!1){let Ao=0,Bo,Ro=!0,No=noop,Mo;const zo=()=>{Bo&&(clearTimeout(Bo),Bo=void 0,No(),No=noop)};return Fo=>{const Uo=resolveUnref($o),Ho=Date.now()-Ao,Wo=()=>Mo=Fo();if(zo(),Uo<=0)return Ao=Date.now(),Wo();if(Ho>Uo&&(Lo||!Ro))Ao=Date.now(),Wo();else if(xo)return new Promise((qo,Go)=>{No=To?Go:qo,Bo=setTimeout(()=>{Ao=Date.now(),Ro=!0,qo(Wo()),zo()},Uo-Ho)});return!Lo&&!Bo&&(Bo=setTimeout(()=>Ro=!0,Uo)),Ro=!1,Mo}}function pausableFilter($o=bypassFilter){const xo=ref(!0);function Lo(){xo.value=!1}function To(){xo.value=!0}const Ao=(...Bo)=>{xo.value&&$o(...Bo)};return{isActive:readonly(xo),pause:Lo,resume:To,eventFilter:Ao}}function identity($o){return $o}function tryOnScopeDispose($o){return getCurrentScope()?(onScopeDispose($o),!0):!1}function useDebounceFn($o,xo=200,Lo={}){return createFilterWrapper(debounceFilter(xo,Lo),$o)}function useThrottleFn($o,xo=200,Lo=!1,To=!0,Ao=!1){return createFilterWrapper(throttleFilter(xo,Lo,To,Ao),$o)}function resolveRef($o){return typeof $o=="function"?computed($o):ref($o)}function tryOnMounted($o,xo=!0){getCurrentInstance()?onMounted($o):xo?$o():nextTick($o)}function useIntervalFn($o,xo=1e3,Lo={}){const{immediate:To=!0,immediateCallback:Ao=!1}=Lo;let Bo=null;const Ro=ref(!1);function No(){Bo&&(clearInterval(Bo),Bo=null)}function Mo(){Ro.value=!1,No()}function zo(){const Vo=resolveUnref(xo);Vo<=0||(Ro.value=!0,Ao&&$o(),No(),Bo=setInterval($o,Vo))}if(To&&isClient&&zo(),isRef(xo)||isFunction(xo)){const Vo=watch(xo,()=>{Ro.value&&isClient&&zo()});tryOnScopeDispose(Vo)}return tryOnScopeDispose(Mo),{isActive:Ro,pause:Mo,resume:zo}}var __getOwnPropSymbols$6$1=Object.getOwnPropertySymbols,__hasOwnProp$6$1=Object.prototype.hasOwnProperty,__propIsEnum$6$1=Object.prototype.propertyIsEnumerable,__objRest$5=($o,xo)=>{var Lo={};for(var To in $o)__hasOwnProp$6$1.call($o,To)&&xo.indexOf(To)<0&&(Lo[To]=$o[To]);if($o!=null&&__getOwnPropSymbols$6$1)for(var To of __getOwnPropSymbols$6$1($o))xo.indexOf(To)<0&&__propIsEnum$6$1.call($o,To)&&(Lo[To]=$o[To]);return Lo};function watchWithFilter($o,xo,Lo={}){const To=Lo,{eventFilter:Ao=bypassFilter}=To,Bo=__objRest$5(To,["eventFilter"]);return watch($o,createFilterWrapper(Ao,xo),Bo)}var __defProp$2=Object.defineProperty,__defProps$2=Object.defineProperties,__getOwnPropDescs$2=Object.getOwnPropertyDescriptors,__getOwnPropSymbols$2=Object.getOwnPropertySymbols,__hasOwnProp$2=Object.prototype.hasOwnProperty,__propIsEnum$2=Object.prototype.propertyIsEnumerable,__defNormalProp$2=($o,xo,Lo)=>xo in $o?__defProp$2($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues$2=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp$2.call(xo,Lo)&&__defNormalProp$2($o,Lo,xo[Lo]);if(__getOwnPropSymbols$2)for(var Lo of __getOwnPropSymbols$2(xo))__propIsEnum$2.call(xo,Lo)&&__defNormalProp$2($o,Lo,xo[Lo]);return $o},__spreadProps$2=($o,xo)=>__defProps$2($o,__getOwnPropDescs$2(xo)),__objRest$1=($o,xo)=>{var Lo={};for(var To in $o)__hasOwnProp$2.call($o,To)&&xo.indexOf(To)<0&&(Lo[To]=$o[To]);if($o!=null&&__getOwnPropSymbols$2)for(var To of __getOwnPropSymbols$2($o))xo.indexOf(To)<0&&__propIsEnum$2.call($o,To)&&(Lo[To]=$o[To]);return Lo};function watchPausable($o,xo,Lo={}){const To=Lo,{eventFilter:Ao}=To,Bo=__objRest$1(To,["eventFilter"]),{eventFilter:Ro,pause:No,resume:Mo,isActive:zo}=pausableFilter(Ao);return{stop:watchWithFilter($o,xo,__spreadProps$2(__spreadValues$2({},Bo),{eventFilter:Ro})),pause:No,resume:Mo,isActive:zo}}function unrefElement($o){var xo;const Lo=resolveUnref($o);return(xo=Lo==null?void 0:Lo.$el)!=null?xo:Lo}const defaultWindow=isClient?window:void 0,defaultDocument=isClient?window.document:void 0;isClient&&window.navigator;isClient&&window.location;function useEventListener(...$o){let xo,Lo,To,Ao;if(isString($o[0])||Array.isArray($o[0])?([Lo,To,Ao]=$o,xo=defaultWindow):[xo,Lo,To,Ao]=$o,!xo)return noop;Array.isArray(Lo)||(Lo=[Lo]),Array.isArray(To)||(To=[To]);const Bo=[],Ro=()=>{Bo.forEach(Vo=>Vo()),Bo.length=0},No=(Vo,Fo,Uo)=>(Vo.addEventListener(Fo,Uo,Ao),()=>Vo.removeEventListener(Fo,Uo,Ao)),Mo=watch(()=>unrefElement(xo),Vo=>{Ro(),Vo&&Bo.push(...Lo.flatMap(Fo=>To.map(Uo=>No(Vo,Fo,Uo))))},{immediate:!0,flush:"post"}),zo=()=>{Mo(),Ro()};return tryOnScopeDispose(zo),zo}function onClickOutside($o,xo,Lo={}){const{window:To=defaultWindow,ignore:Ao=[],capture:Bo=!0,detectIframe:Ro=!1}=Lo;if(!To)return;let No=!0,Mo;const zo=Ho=>Ao.some(Wo=>{if(typeof Wo=="string")return Array.from(To.document.querySelectorAll(Wo)).some(qo=>qo===Ho.target||Ho.composedPath().includes(qo));{const qo=unrefElement(Wo);return qo&&(Ho.target===qo||Ho.composedPath().includes(qo))}}),Vo=Ho=>{To.clearTimeout(Mo);const Wo=unrefElement($o);if(!(!Wo||Wo===Ho.target||Ho.composedPath().includes(Wo))){if(Ho.detail===0&&(No=!zo(Ho)),!No){No=!0;return}xo(Ho)}},Fo=[useEventListener(To,"click",Vo,{passive:!0,capture:Bo}),useEventListener(To,"pointerdown",Ho=>{const Wo=unrefElement($o);Wo&&(No=!Ho.composedPath().includes(Wo)&&!zo(Ho))},{passive:!0}),useEventListener(To,"pointerup",Ho=>{if(Ho.button===0){const Wo=Ho.composedPath();Ho.composedPath=()=>Wo,Mo=To.setTimeout(()=>Vo(Ho),50)}},{passive:!0}),Ro&&useEventListener(To,"blur",Ho=>{var Wo;const qo=unrefElement($o);((Wo=To.document.activeElement)==null?void 0:Wo.tagName)==="IFRAME"&&!(qo!=null&&qo.contains(To.document.activeElement))&&xo(Ho)})].filter(Boolean);return()=>Fo.forEach(Ho=>Ho())}function useSupported($o,xo=!1){const Lo=ref(),To=()=>Lo.value=Boolean($o());return To(),tryOnMounted(To,xo),Lo}function useMediaQuery($o,xo={}){const{window:Lo=defaultWindow}=xo,To=useSupported(()=>Lo&&"matchMedia"in Lo&&typeof Lo.matchMedia=="function");let Ao;const Bo=ref(!1),Ro=()=>{Ao&&("removeEventListener"in Ao?Ao.removeEventListener("change",No):Ao.removeListener(No))},No=()=>{To.value&&(Ro(),Ao=Lo.matchMedia(resolveRef($o).value),Bo.value=Ao.matches,"addEventListener"in Ao?Ao.addEventListener("change",No):Ao.addListener(No))};return watchEffect(No),tryOnScopeDispose(()=>Ro()),Bo}const _global=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},globalKey="__vueuse_ssr_handlers__";_global[globalKey]=_global[globalKey]||{};const handlers=_global[globalKey];function getSSRHandler($o,xo){return handlers[$o]||xo}function guessSerializerType($o){return $o==null?"any":$o instanceof Set?"set":$o instanceof Map?"map":$o instanceof Date?"date":typeof $o=="boolean"?"boolean":typeof $o=="string"?"string":typeof $o=="object"?"object":Number.isNaN($o)?"any":"number"}var __defProp$j=Object.defineProperty,__getOwnPropSymbols$l=Object.getOwnPropertySymbols,__hasOwnProp$l=Object.prototype.hasOwnProperty,__propIsEnum$l=Object.prototype.propertyIsEnumerable,__defNormalProp$j=($o,xo,Lo)=>xo in $o?__defProp$j($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues$j=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp$l.call(xo,Lo)&&__defNormalProp$j($o,Lo,xo[Lo]);if(__getOwnPropSymbols$l)for(var Lo of __getOwnPropSymbols$l(xo))__propIsEnum$l.call(xo,Lo)&&__defNormalProp$j($o,Lo,xo[Lo]);return $o};const StorageSerializers={boolean:{read:$o=>$o==="true",write:$o=>String($o)},object:{read:$o=>JSON.parse($o),write:$o=>JSON.stringify($o)},number:{read:$o=>Number.parseFloat($o),write:$o=>String($o)},any:{read:$o=>$o,write:$o=>String($o)},string:{read:$o=>$o,write:$o=>String($o)},map:{read:$o=>new Map(JSON.parse($o)),write:$o=>JSON.stringify(Array.from($o.entries()))},set:{read:$o=>new Set(JSON.parse($o)),write:$o=>JSON.stringify(Array.from($o))},date:{read:$o=>new Date($o),write:$o=>$o.toISOString()}};function useStorage($o,xo,Lo,To={}){var Ao;const{flush:Bo="pre",deep:Ro=!0,listenToStorageChanges:No=!0,writeDefaults:Mo=!0,mergeDefaults:zo=!1,shallow:Vo,window:Fo=defaultWindow,eventFilter:Uo,onError:Ho=ea=>{console.error(ea)}}=To,Wo=(Vo?shallowRef:ref)(xo);if(!Lo)try{Lo=getSSRHandler("getDefaultStorage",()=>{var ea;return(ea=defaultWindow)==null?void 0:ea.localStorage})()}catch(ea){Ho(ea)}if(!Lo)return Wo;const qo=resolveUnref(xo),Go=guessSerializerType(qo),Yo=(Ao=To.serializer)!=null?Ao:StorageSerializers[Go],{pause:Zo,resume:Jo}=watchPausable(Wo,()=>Ko(Wo.value),{flush:Bo,deep:Ro,eventFilter:Uo});return Fo&&No&&useEventListener(Fo,"storage",aa),aa(),Wo;function Ko(ea){try{if(ea==null)Lo.removeItem($o);else{const Xo=Yo.write(ea),la=Lo.getItem($o);la!==Xo&&(Lo.setItem($o,Xo),Fo&&(Fo==null||Fo.dispatchEvent(new StorageEvent("storage",{key:$o,oldValue:la,newValue:Xo,storageArea:Lo}))))}}catch(Xo){Ho(Xo)}}function Qo(ea){const Xo=ea?ea.newValue:Lo.getItem($o);if(Xo==null)return Mo&&qo!==null&&Lo.setItem($o,Yo.write(qo)),qo;if(!ea&&zo){const la=Yo.read(Xo);return isFunction(zo)?zo(la,qo):Go==="object"&&!Array.isArray(la)?__spreadValues$j(__spreadValues$j({},qo),la):la}else return typeof Xo!="string"?Xo:Yo.read(Xo)}function aa(ea){if(!(ea&&ea.storageArea!==Lo)){if(ea&&ea.key==null){Wo.value=qo;return}if(!(ea&&ea.key!==$o)){Zo();try{Wo.value=Qo(ea)}catch(Xo){Ho(Xo)}finally{ea?nextTick(Jo):Jo()}}}}}function usePreferredDark($o){return useMediaQuery("(prefers-color-scheme: dark)",$o)}function useRafFn($o,xo={}){const{immediate:Lo=!0,window:To=defaultWindow}=xo,Ao=ref(!1);let Bo=0,Ro=null;function No(Vo){if(!Ao.value||!To)return;const Fo=Vo-Bo;$o({delta:Fo,timestamp:Vo}),Bo=Vo,Ro=To.requestAnimationFrame(No)}function Mo(){!Ao.value&&To&&(Ao.value=!0,Ro=To.requestAnimationFrame(No))}function zo(){Ao.value=!1,Ro!=null&&To&&(To.cancelAnimationFrame(Ro),Ro=null)}return Lo&&Mo(),tryOnScopeDispose(zo),{isActive:readonly(Ao),pause:zo,resume:Mo}}const functionsMap=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]];function useFullscreen($o,xo={}){const{document:Lo=defaultDocument,autoExit:To=!1}=xo,Ao=$o||(Lo==null?void 0:Lo.querySelector("html")),Bo=ref(!1);let Ro=functionsMap[0];const No=useSupported(()=>{if(Lo){for(const qo of functionsMap)if(qo[1]in Lo)return Ro=qo,!0}else return!1;return!1}),[Mo,zo,Vo,,Fo]=Ro;async function Uo(){No.value&&(Lo!=null&&Lo[Vo]&&await Lo[zo](),Bo.value=!1)}async function Ho(){if(!No.value)return;await Uo();const qo=unrefElement(Ao);qo&&(await qo[Mo](),Bo.value=!0)}async function Wo(){Bo.value?await Uo():await Ho()}return Lo&&useEventListener(Lo,Fo,()=>{Bo.value=!!(Lo!=null&&Lo[Vo])},!1),To&&tryOnScopeDispose(Uo),{isSupported:No,isFullscreen:Bo,enter:Ho,exit:Uo,toggle:Wo}}var __defProp$6=Object.defineProperty,__getOwnPropSymbols$6=Object.getOwnPropertySymbols,__hasOwnProp$6=Object.prototype.hasOwnProperty,__propIsEnum$6=Object.prototype.propertyIsEnumerable,__defNormalProp$6=($o,xo,Lo)=>xo in $o?__defProp$6($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues$6=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp$6.call(xo,Lo)&&__defNormalProp$6($o,Lo,xo[Lo]);if(__getOwnPropSymbols$6)for(var Lo of __getOwnPropSymbols$6(xo))__propIsEnum$6.call(xo,Lo)&&__defNormalProp$6($o,Lo,xo[Lo]);return $o};function useNow($o={}){const{controls:xo=!1,interval:Lo="requestAnimationFrame"}=$o,To=ref(new Date),Ao=()=>To.value=new Date,Bo=Lo==="requestAnimationFrame"?useRafFn(Ao,{immediate:!0}):useIntervalFn(Ao,Lo,{immediate:!0});return xo?__spreadValues$6({now:To},Bo):To}var SwipeDirection;(function($o){$o.UP="UP",$o.RIGHT="RIGHT",$o.DOWN="DOWN",$o.LEFT="LEFT",$o.NONE="NONE"})(SwipeDirection||(SwipeDirection={}));let _id=0;function useStyleTag($o,xo={}){const Lo=ref(!1),{document:To=defaultDocument,immediate:Ao=!0,manual:Bo=!1,id:Ro=`vueuse_styletag_${++_id}`}=xo,No=ref($o);let Mo=()=>{};const zo=()=>{if(!To)return;const Fo=To.getElementById(Ro)||To.createElement("style");Fo.isConnected||(Fo.type="text/css",Fo.id=Ro,xo.media&&(Fo.media=xo.media),To.head.appendChild(Fo)),!Lo.value&&(Mo=watch(No,Uo=>{Fo.textContent=Uo},{immediate:!0}),Lo.value=!0)},Vo=()=>{!To||!Lo.value||(Mo(),To.head.removeChild(To.getElementById(Ro)),Lo.value=!1)};return Ao&&!Bo&&tryOnMounted(zo),Bo||tryOnScopeDispose(Vo),{id:Ro,css:No,unload:Vo,load:zo,isLoaded:readonly(Lo)}}var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=($o,xo,Lo)=>xo in $o?__defProp($o,xo,{enumerable:!0,configurable:!0,writable:!0,value:Lo}):$o[xo]=Lo,__spreadValues=($o,xo)=>{for(var Lo in xo||(xo={}))__hasOwnProp.call(xo,Lo)&&__defNormalProp($o,Lo,xo[Lo]);if(__getOwnPropSymbols)for(var Lo of __getOwnPropSymbols(xo))__propIsEnum.call(xo,Lo)&&__defNormalProp($o,Lo,xo[Lo]);return $o};const _TransitionPresets={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};__spreadValues({linear:identity},_TransitionPresets);const fontIcon="";var c$3=defineComponent({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup($o){const xo=computed(()=>{const Lo={};return $o.color&&(Lo.color=$o.color),$o.size&&(Lo["font-size"]=Number.isNaN(Number($o.size))?$o.size:`${$o.size}px`),Dt$2(Lo).length?Lo:null});return()=>$o.icon?h$4("span",{key:$o.icon,class:["font-icon icon","",$o.icon.includes(" ")?$o.icon:`iconfont icon-${$o.icon}`],style:xo.value}):null}});const badge="",t$4=({type:$o="info",text:xo="",vertical:Lo="top",color:To},{slots:Ao})=>{var Bo;return h$4("span",{class:["badge",$o,{diy:To}],style:{verticalAlign:Lo,...To?{backgroundColor:To}:{}}},xo||((Bo=Ao.default)==null?void 0:Bo.call(Ao)))};t$4.displayName="Badge";const biliBili="",v$3=$o=>isString$1($o)?$o:`${$o}px`,B$4=($o,xo=0)=>{const Lo=ref(),To=computed(()=>v$3(unref($o.width)||"100%")),Ao=ref("auto"),Bo=Mo=>{if(isString$1(Mo)){const[zo,Vo]=Mo.split(":"),Fo=Number(zo)/Number(Vo);if(!Number.isNaN(Fo))return Fo}return typeof Mo=="number"?Mo:16/9},Ro=Mo=>{const zo=unref($o.height),Vo=Bo(unref($o.ratio));return zo?v$3(zo):`${Number(Mo)/Vo+unref(xo)}px`},No=()=>{Lo.value&&(Ao.value=Ro(Lo.value.clientWidth))};return onMounted(()=>{No(),isRef(xo)&&watch(xo,()=>No()),useEventListener("orientationchange",()=>No()),useEventListener("resize",()=>No())}),{el:Lo,width:To,height:Ao}};var k$5=defineComponent({name:"BiliBili",props:{bvid:{type:String,required:!0},title:{type:String,default:"A BiliBili video"},page:{type:[String,Number],default:1},width:{type:[String,Number],default:"100%"},height:{type:[String,Number],default:void 0},ratio:{type:[String,Number],default:16/9},time:{type:[String,Number],default:0},lowQuality:Boolean,noDanmaku:Boolean},setup($o){const xo=ref(!1),Lo=computed(()=>xo.value?0:68),To=()=>{xo.value=Lt$1(navigator.userAgent)||Ao.value.clientWidth<640},{el:Ao,width:Bo,height:Ro}=B$4($o,Lo),No=computed(()=>`https://player.bilibili.com/player.html?bvid=${$o.bvid}&t=${$o.time}&high_quality=${$o.lowQuality?0:1}&page=${$o.page}&danmaku=${$o.noDanmaku?0:1}`);return onMounted(()=>{To(),useEventListener("orientationchange",()=>To()),useEventListener("resize",()=>To())}),()=>[h$4("div",{class:"bili-desc"},h$4("a",{class:"sr-only",href:No.value},$o.title)),h$4("iframe",{ref:Ao,src:`https://player.bilibili.com/player.html?bvid=${$o.bvid}&t=${$o.time}&high_quality=${$o.lowQuality?0:1}&page=${$o.page}&danmaku=${$o.noDanmaku?0:1}`,title:$o.title,class:"bili-iframe",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; fullscreen; gyroscope; picture-in-picture",style:{width:Bo.value,height:Ro.value}})]}});const backToTop="",a$5=()=>h$4(R$2,{name:"back-to-top"},()=>[h$4("path",{d:"M512 843.2c-36.2 0-66.4-13.6-85.8-21.8-10.8-4.6-22.6 3.6-21.8 15.2l7 102c.4 6.2 7.6 9.4 12.6 5.6l29-22c3.6-2.8 9-1.8 11.4 2l41 64.2c3 4.8 10.2 4.8 13.2 0l41-64.2c2.4-3.8 7.8-4.8 11.4-2l29 22c5 3.8 12.2.6 12.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6 8.2-49.6 21.8-85.8 21.8z"}),h$4("path",{d:"m795.4 586.2-96-98.2C699.4 172 513 32 513 32S324.8 172 324.8 488l-96 98.2c-3.6 3.6-5.2 9-4.4 14.2L261.2 824c1.8 11.4 14.2 17 23.6 10.8L419 744s41.4 40 94.2 40c52.8 0 92.2-40 92.2-40l134.2 90.8c9.2 6.2 21.6.6 23.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14zM513 384c-34 0-61.4-28.6-61.4-64s27.6-64 61.4-64c34 0 61.4 28.6 61.4 64S547 384 513 384z"})]);a$5.displayName="BackToTopIcon";var h$3=defineComponent({name:"BackToTop",props:{threshold:{type:Number,default:300}},setup($o){const xo=usePageFrontmatter(),Lo=Yt$2({"/en/":{backToTop:"Back to top"},"/":{backToTop:"返回顶部"}}),To=ref(0),Ao=computed(()=>xo.value.backToTop!==!1&&To.value>$o.threshold),Bo=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;return onMounted(()=>{To.value=Bo()}),useEventListener("scroll",useDebounceFn(()=>{To.value=Bo()},100)),()=>h$4(Transition,{name:"fade"},()=>Ao.value?h$4("button",{class:"back-to-top","aria-label":Lo.value.backToTop,"data-balloon-pos":"left",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"}),To.value=0}},h$4(a$5)):null)}});const srOnly="",clientConfig1=defineClientConfig({enhance:({app:$o})=>{Ht$2("FontIcon")||$o.component("FontIcon",c$3),Ht$2("Badge")||$o.component("Badge",t$4),Ht$2("BiliBili")||$o.component("BiliBili",k$5)},setup:()=>{useStyleTag(` @import url("//at.alicdn.com/t/c/font_2410206_5vb9zlyghj.css"); + `)},rootComponents:[()=>h$4(h$3,{threshold:300})]});function r$5($o,xo,Lo){var To,Ao,Bo;xo===void 0&&(xo=50),Lo===void 0&&(Lo={});var Ro=(To=Lo.isImmediate)!=null&&To,No=(Ao=Lo.callback)!=null&&Ao,Mo=Lo.maxWait,zo=Date.now(),Vo=[];function Fo(){if(Mo!==void 0){var Ho=Date.now()-zo;if(Ho+xo>=Mo)return Mo-Ho}return xo}var Uo=function(){var Ho=[].slice.call(arguments),Wo=this;return new Promise(function(qo,Go){var Yo=Ro&&Bo===void 0;if(Bo!==void 0&&clearTimeout(Bo),Bo=setTimeout(function(){if(Bo=void 0,zo=Date.now(),!Ro){var Jo=$o.apply(Wo,Ho);No&&No(Jo),Vo.forEach(function(Ko){return(0,Ko.resolve)(Jo)}),Vo=[]}},Fo()),Yo){var Zo=$o.apply(Wo,Ho);return No&&No(Zo),qo(Zo)}Vo.push({resolve:qo,reject:Go})})};return Uo.cancel=function(Ho){Bo!==void 0&&clearTimeout(Bo),Vo.forEach(function(Wo){return(0,Wo.reject)(Ho)}),Vo=[]},Uo}const useActiveHeaderLinks=({headerLinkSelector:$o,headerAnchorSelector:xo,delay:Lo,offset:To=5})=>{const Ao=useRouter(),Ro=r$5(()=>{var qo,Go;const No=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(No-0)Uo.some(Zo=>Zo.hash===Yo.hash));for(let Yo=0;Yo=(((qo=Zo.parentElement)==null?void 0:qo.offsetTop)??0)-To,Qo=!Jo||No<(((Go=Jo.parentElement)==null?void 0:Go.offsetTop)??0)-To;if(!(Ko&&Qo))continue;const ea=decodeURIComponent(Ao.currentRoute.value.hash),Xo=decodeURIComponent(Zo.hash);if(ea===Xo)return;if(Fo){for(let la=Yo+1;la{window.addEventListener("scroll",Ro)}),onBeforeUnmount(()=>{window.removeEventListener("scroll",Ro)})},updateHash=async($o,xo)=>{const{scrollBehavior:Lo}=$o.options;$o.options.scrollBehavior=void 0,await $o.replace({query:$o.currentRoute.value.query,hash:xo,force:!0}).finally(()=>$o.options.scrollBehavior=Lo)},headerLinkSelector=".sidebar-link, .toc-link",headerAnchorSelector=".header-anchor",delay=200,offset=5,clientConfig2=defineClientConfig({setup(){useActiveHeaderLinks({headerLinkSelector,headerAnchorSelector,delay,offset})}}),autoCatalog="";var M$2=defineComponent({name:"AutoCatalog",props:{base:{type:String,default:""},level:{type:Number,default:3},titleGetter:{type:Function,default:$o=>$o.title},iconGetter:{type:Function,default:$o=>$o.icon},orderGetter:{type:Function,default:$o=>$o.order||0},shouldIndex:{type:Function,default:$o=>$o.index!==!1}},setup($o){const xo=Yt$2({"/en/":{title:"Catalog"},"/":{title:"目录"}}),Lo=useRoute(),To=useRouter(),Ao=useSiteData(),Bo=()=>{const No=$o.base||Lo.path.replace(/\/[^/]+$/,"/"),Mo=To.getRoutes(),zo=[];return Mo.filter(({meta:Vo,path:Fo})=>{if(!bt$2(Fo,No)||Fo===No)return!1;if(No==="/"){const Uo=Dt$2(Ao.value.locales).filter(Ho=>Ho!=="/");if(Fo==="/404.html"||Uo.some(Ho=>bt$2(Fo,Ho)))return!1}return(ee$2(Fo,".html")&&!ee$2(Fo,"/index.html")||ee$2(Fo,"/"))&&$o.shouldIndex(Vo)}).map(({path:Vo,meta:Fo})=>{const Uo=Vo.substring(No.length).split("/").length;return{title:$o.titleGetter(Fo),icon:$o.iconGetter(Fo),base:Vo.replace(/\/[^/]+\/?$/,"/"),order:$o.orderGetter(Fo)||null,level:ee$2(Vo,"/")?Uo-1:Uo,path:Vo}}).filter(({title:Vo,level:Fo})=>Fo<=$o.level||!Vo).sort(({title:Vo,level:Fo,path:Uo,order:Ho},{title:Wo,level:qo,path:Go,order:Yo})=>Fo-qo||(ee$2(Uo,"/index.html")?-1:ee$2(Go,"/index.html")?1:Ho===null?Yo===null?Vo.localeCompare(Wo):Yo:Yo===null?Ho:Ho>0?Yo>0?Ho-Yo:-1:Yo<0?Ho-Yo:1)).forEach(Vo=>{var Fo;const{base:Uo,level:Ho}=Vo;switch(Ho){case 1:zo.push(Vo);break;case 2:{const Wo=zo.find(qo=>qo.path===Uo);Wo&&(Wo.children??(Wo.children=[])).push(Vo);break}default:{const Wo=zo.find(qo=>qo.path===Uo.replace(/\/[^/]+\/$/,"/"));if(Wo){const qo=(Fo=Wo.children)==null?void 0:Fo.find(Go=>Go.path===Uo);qo&&(qo.children??(qo.children=[])).push(Vo)}}}}),zo},Ro=computed(()=>Bo());return()=>h$4("div",{class:"auto-catalog-wrapper"},[h$4("h2",{class:"main-title"},xo.value.title),...Ro.value.map(({children:No=[],icon:Mo,path:zo,title:Vo},Fo)=>[h$4("h3",{id:Vo,class:["child-title",{"has-children":No.length}]},[h$4("a",{href:`#${Vo}`,class:"header-anchor"},"#"),h$4(RouterLink,{class:"catalog-title",to:zo},()=>[Mo?h$4(c$3,{icon:Mo}):null,`${Fo+1}. ${Vo||"Unknown"}`])]),No.length?h$4("ul",{class:"child-catalog-wrapper"},No.map(({children:Uo=[],icon:Ho,path:Wo,title:qo},Go)=>h$4("li",{class:"child-catalog-item"},[h$4("div",{class:["sub-title",{"has-children":Uo.length}]},[h$4("a",{href:`#${qo}`,class:"header-anchor"},"#"),h$4(RouterLink,{class:"catalog-title",to:Wo},()=>[Ho?h$4(c$3,{icon:Ho}):null,`${Fo+1}.${Go+1} ${qo||"Unknown"}`])]),Uo.length?h$4("div",{class:"sub-catalog-wrapper"},Uo.map(({icon:Yo,path:Zo,title:Jo},Ko)=>h$4(RouterLink,{class:"sub-catalog-item",to:Zo},()=>[Yo?h$4(c$3,{icon:Yo}):null,`${Fo+1}.${Go+1}.${Ko+1} ${Jo||"Unknown"}`]))):null]))):null])])}}),F$4=defineClientConfig({enhance:({app:$o})=>{Ht$2("AutoCatalog",$o)||$o.component("AutoCatalog",xo=>h$4(M$2,{titleGetter:Lo=>Lo.t,iconGetter:Lo=>Lo.i,orderGetter:Lo=>Lo.O,shouldIndex:Lo=>Boolean(Lo.I),...xo}))}});const vars$1="",externalLinkIcon="",svg=h$4("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[h$4("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),h$4("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),ExternalLinkIcon=defineComponent({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup($o){const xo=useRouteLocale(),Lo=computed(()=>$o.locales[xo.value]??{openInNewWindow:"open in new window"});return()=>h$4("span",[svg,h$4("span",{class:"external-link-icon-sr-only"},Lo.value.openInNewWindow)])}}),locales={},clientConfig4=defineClientConfig({enhance({app:$o}){$o.component("ExternalLinkIcon",h$4(ExternalLinkIcon,{locales}))}});/** * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress * @license MIT - */const nprogress$1={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:$o=>{const xo=nprogress$1.isStarted();$o=clamp($o,nprogress$1.settings.minimum,1),nprogress$1.status=$o===1?null:$o;const Lo=nprogress$1.render(!xo),To=Lo.querySelector(nprogress$1.settings.barSelector),Ao=nprogress$1.settings.speed,Bo=nprogress$1.settings.easing;return Lo.offsetWidth,queue(Ro=>{css(To,{transform:"translate3d("+toBarPerc($o)+"%,0,0)",transition:"all "+Ao+"ms "+Bo}),$o===1?(css(Lo,{transition:"none",opacity:"1"}),Lo.offsetWidth,setTimeout(function(){css(Lo,{transition:"all "+Ao+"ms linear",opacity:"0"}),setTimeout(function(){nprogress$1.remove(),Ro()},Ao)},Ao)):setTimeout(()=>Ro(),Ao)}),nprogress$1},isStarted:()=>typeof nprogress$1.status=="number",start:()=>{nprogress$1.status||nprogress$1.set(0);const $o=()=>{setTimeout(()=>{nprogress$1.status&&(nprogress$1.trickle(),$o())},nprogress$1.settings.trickleSpeed)};return nprogress$1.settings.trickle&&$o(),nprogress$1},done:$o=>!$o&&!nprogress$1.status?nprogress$1:nprogress$1.inc(.3+.5*Math.random()).set(1),inc:$o=>{let xo=nprogress$1.status;return xo?(typeof $o!="number"&&($o=(1-xo)*clamp(Math.random()*xo,.1,.95)),xo=clamp(xo+$o,0,.994),nprogress$1.set(xo)):nprogress$1.start()},trickle:()=>nprogress$1.inc(Math.random()*nprogress$1.settings.trickleRate),render:$o=>{if(nprogress$1.isRendered())return document.getElementById("nprogress");addClass(document.documentElement,"nprogress-busy");const xo=document.createElement("div");xo.id="nprogress",xo.innerHTML=nprogress$1.settings.template;const Lo=xo.querySelector(nprogress$1.settings.barSelector),To=$o?"-100":toBarPerc(nprogress$1.status||0),Ao=document.querySelector(nprogress$1.settings.parent);return css(Lo,{transition:"all 0 linear",transform:"translate3d("+To+"%,0,0)"}),Ao!==document.body&&addClass(Ao,"nprogress-custom-parent"),Ao==null||Ao.appendChild(xo),xo},remove:()=>{removeClass(document.documentElement,"nprogress-busy"),removeClass(document.querySelector(nprogress$1.settings.parent),"nprogress-custom-parent");const $o=document.getElementById("nprogress");$o&&removeElement($o)},isRendered:()=>!!document.getElementById("nprogress")},clamp=($o,xo,Lo)=>$oLo?Lo:$o,toBarPerc=$o=>(-1+$o)*100,queue=function(){const $o=[];function xo(){const Lo=$o.shift();Lo&&Lo(xo)}return function(Lo){$o.push(Lo),$o.length===1&&xo()}}(),css=function(){const $o=["Webkit","O","Moz","ms"],xo={};function Lo(Ro){return Ro.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(No,Mo){return Mo.toUpperCase()})}function To(Ro){const No=document.body.style;if(Ro in No)return Ro;let Mo=$o.length;const zo=Ro.charAt(0).toUpperCase()+Ro.slice(1);let Vo;for(;Mo--;)if(Vo=$o[Mo]+zo,Vo in No)return Vo;return Ro}function Ao(Ro){return Ro=Lo(Ro),xo[Ro]||(xo[Ro]=To(Ro))}function Bo(Ro,No,Mo){No=Ao(No),Ro.style[No]=Mo}return function(Ro,No){for(const Mo in No){const zo=No[Mo];zo!==void 0&&Object.prototype.hasOwnProperty.call(No,Mo)&&Bo(Ro,Mo,zo)}}}(),hasClass=($o,xo)=>(typeof $o=="string"?$o:classList($o)).indexOf(" "+xo+" ")>=0,addClass=($o,xo)=>{const Lo=classList($o),To=Lo+xo;hasClass(Lo,xo)||($o.className=To.substring(1))},removeClass=($o,xo)=>{const Lo=classList($o);if(!hasClass($o,xo))return;const To=Lo.replace(" "+xo+" "," ");$o.className=To.substring(1,To.length-1)},classList=$o=>(" "+($o.className||"")+" ").replace(/\s+/gi," "),removeElement=$o=>{$o&&$o.parentNode&&$o.parentNode.removeChild($o)},vars="",nprogress="",useNprogress=()=>{onMounted(()=>{const $o=useRouter(),xo=new Set;xo.add($o.currentRoute.value.path),$o.beforeEach(Lo=>{xo.has(Lo.path)||nprogress$1.start()}),$o.afterEach(Lo=>{xo.add(Lo.path),nprogress$1.done()})})},clientConfig5=defineClientConfig({setup(){useNprogress()}}),themeData$1=JSON.parse(`{"encrypt":{},"locales":{"/en/":{"lang":"en-US","navbarLocales":{"langName":"English","selectLangAriaLabel":"Select language"},"metaLocales":{"author":"Author","date":"Writing Date","origin":"Original","views":"Page views","category":"Category","tag":"Tag","readingTime":"Reading Time","words":"Words","toc":"On This Page","prev":"Prev","next":"Next","lastUpdated":"Last update","contributors":"Contributors","editLink":"Edit this page on GitHub"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"encryptLocales":{"iconLabel":"Page Encrypted","placeholder":"Enter password","remember":"Remember password","errorHint":"Please enter the correct password!"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"author":{"name":"DGP-Studio","url":"https://github.com/DGP-Studio"},"logo":"https://img.alicdn.com/imgextra/i1/1797064093/O1CN01TOz2Cm1g6du5e8Hml_!!1797064093.png","repo":"DGP-Studio/Snap.Hutao","pageInfo":["Author","Original","Date","Category","Tag","ReadingTime"],"docsRepo":"DGP-Studio/Snap.Hutao.Docs","docsDir":"docs","navbar":["/en",{"text":"Document","icon":"article","link":"/features/README.md"},{"text":"Download","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"}],"sidebar":{"/en/":["",{"icon":"play","text":"快速开始","link":"quick-start.md"}]},"footer":"Be the best Genshin Impact tool","displayFooter":true},"/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"在 GitHub 上编辑此页"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"encryptLocales":{"iconLabel":"文章已加密","placeholder":"输入密码","remember":"记住密码","errorHint":"请输入正确的密码"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"author":{"name":"DGP-Studio","url":"https://github.com/DGP-Studio"},"logo":"https://img.alicdn.com/imgextra/i1/1797064093/O1CN01TOz2Cm1g6du5e8Hml_!!1797064093.png","repo":"DGP-Studio/Snap.Hutao","pageInfo":["Author","Original","Date","Category","Tag","ReadingTime"],"docsRepo":"DGP-Studio/Snap.Hutao.Docs","docsDir":"docs","navbar":["/",{"text":"文档","icon":"article","link":"/features/"},{"text":"下载","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"},{"text":"加入社区讨论","icon":"community","link":"/community.md"}],"sidebar":{"/":["",{"icon":"workingDirectory","text":"项目介绍","link":"project.md"},{"icon":"network","text":"国际化支持","link":"i18n.md"},{"icon":"play","text":"快速开始","link":"quick-start.md"},{"icon":"read","text":"功能指南","prefix":"features/","children":"structure"},{"icon":"ask","text":"常见问题","prefix":"FAQ/","children":"structure"},{"icon":"article","text":"声明和公告","prefix":"statements/","children":"structure"}]},"footer":"用开源社区力量为原神PC端玩家带来最好的游戏体验","displayFooter":true}}}`),themeData=ref(themeData$1),useThemeData$1=()=>themeData,themeLocaleDataSymbol=Symbol(""),useThemeLocaleData$1=()=>{const $o=inject(themeLocaleDataSymbol);if(!$o)throw new Error("useThemeLocaleData() is called without provider.");return $o},resolveThemeLocaleData=($o,xo)=>{var Lo;return{...$o,...(Lo=$o.locales)==null?void 0:Lo[xo]}},clientConfig6=defineClientConfig({enhance({app:$o}){const xo=useThemeData$1(),Lo=$o._context.provides[routeLocaleSymbol],To=computed(()=>resolveThemeLocaleData(xo.value,Lo.value));$o.provide(themeLocaleDataSymbol,To),Object.defineProperties($o.config.globalProperties,{$theme:{get(){return xo.value}},$themeLocale:{get(){return To.value}}})}});var e$3,t$3,n$3=typeof Map=="function"?new Map:(e$3=[],t$3=[],{has:function($o){return e$3.indexOf($o)>-1},get:function($o){return t$3[e$3.indexOf($o)]},set:function($o,xo){e$3.indexOf($o)===-1&&(e$3.push($o),t$3.push(xo))},delete:function($o){var xo=e$3.indexOf($o);xo>-1&&(e$3.splice(xo,1),t$3.splice(xo,1))}}),o$4=function($o){return new Event($o,{bubbles:!0})};try{new Event("test")}catch{o$4=function(xo){var Lo=document.createEvent("Event");return Lo.initEvent(xo,!0,!1),Lo}}function r$4($o){var xo=n$3.get($o);xo&&xo.destroy()}function i$5($o){var xo=n$3.get($o);xo&&xo.update()}var l$4=null;typeof window>"u"||typeof window.getComputedStyle!="function"?((l$4=function($o){return $o}).destroy=function($o){return $o},l$4.update=function($o){return $o}):((l$4=function($o,xo){return $o&&Array.prototype.forEach.call($o.length?$o:[$o],function(Lo){return function(To){if(To&&To.nodeName&&To.nodeName==="TEXTAREA"&&!n$3.has(To)){var Ao,Bo=null,Ro=null,No=null,Mo=function(){To.clientWidth!==Ro&&Uo()},zo=function(Ho){window.removeEventListener("resize",Mo,!1),To.removeEventListener("input",Uo,!1),To.removeEventListener("keyup",Uo,!1),To.removeEventListener("autosize:destroy",zo,!1),To.removeEventListener("autosize:update",Uo,!1),Object.keys(Ho).forEach(function(Wo){To.style[Wo]=Ho[Wo]}),n$3.delete(To)}.bind(To,{height:To.style.height,resize:To.style.resize,overflowY:To.style.overflowY,overflowX:To.style.overflowX,wordWrap:To.style.wordWrap});To.addEventListener("autosize:destroy",zo,!1),"onpropertychange"in To&&"oninput"in To&&To.addEventListener("keyup",Uo,!1),window.addEventListener("resize",Mo,!1),To.addEventListener("input",Uo,!1),To.addEventListener("autosize:update",Uo,!1),To.style.overflowX="hidden",To.style.wordWrap="break-word",n$3.set(To,{destroy:zo,update:Uo}),(Ao=window.getComputedStyle(To,null)).resize==="vertical"?To.style.resize="none":Ao.resize==="both"&&(To.style.resize="horizontal"),Bo=Ao.boxSizing==="content-box"?-(parseFloat(Ao.paddingTop)+parseFloat(Ao.paddingBottom)):parseFloat(Ao.borderTopWidth)+parseFloat(Ao.borderBottomWidth),isNaN(Bo)&&(Bo=0),Uo()}function Vo(Ho){var Wo=To.style.width;To.style.width="0px",To.style.width=Wo,To.style.overflowY=Ho}function Fo(){if(To.scrollHeight!==0){var Ho=function(Wo){for(var qo=[];Wo&&Wo.parentNode&&Wo.parentNode instanceof Element;)Wo.parentNode.scrollTop&&(Wo.parentNode.style.scrollBehavior="auto",qo.push([Wo.parentNode,Wo.parentNode.scrollTop])),Wo=Wo.parentNode;return function(){return qo.forEach(function(Go){var Qo=Go[0];Qo.scrollTop=Go[1],Qo.style.scrollBehavior=null})}}(To);To.style.height="",To.style.height=To.scrollHeight+Bo+"px",Ro=To.clientWidth,Ho()}}function Uo(){Fo();var Ho=Math.round(parseFloat(To.style.height)),Wo=window.getComputedStyle(To,null),qo=Wo.boxSizing==="content-box"?Math.round(parseFloat(Wo.height)):To.offsetHeight;if(qo"']/,escapeReplace=new RegExp(escapeTest.source,"g"),escapeTestNoEncode=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode=new RegExp(escapeTestNoEncode.source,"g"),escapeReplacements={"&":"&","<":"<",">":">",'"':""","'":"'"},getEscapeReplacement=$o=>escapeReplacements[$o];function escape($o,xo){if(xo){if(escapeTest.test($o))return $o.replace(escapeReplace,getEscapeReplacement)}else if(escapeTestNoEncode.test($o))return $o.replace(escapeReplaceNoEncode,getEscapeReplacement);return $o}const unescapeTest=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function unescape($o){return $o.replace(unescapeTest,(xo,Lo)=>(Lo=Lo.toLowerCase(),Lo==="colon"?":":Lo.charAt(0)==="#"?Lo.charAt(1)==="x"?String.fromCharCode(parseInt(Lo.substring(2),16)):String.fromCharCode(+Lo.substring(1)):""))}const caret=/(^|[^\[])\^/g;function edit($o,xo){$o=typeof $o=="string"?$o:$o.source,xo=xo||"";const Lo={replace:(To,Ao)=>(Ao=Ao.source||Ao,Ao=Ao.replace(caret,"$1"),$o=$o.replace(To,Ao),Lo),getRegex:()=>new RegExp($o,xo)};return Lo}const nonWordAndColonTest=/[^\w:]/g,originIndependentUrl=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function cleanUrl($o,xo,Lo){if($o){let To;try{To=decodeURIComponent(unescape(Lo)).replace(nonWordAndColonTest,"").toLowerCase()}catch{return null}if(To.indexOf("javascript:")===0||To.indexOf("vbscript:")===0||To.indexOf("data:")===0)return null}xo&&!originIndependentUrl.test(Lo)&&(Lo=resolveUrl(xo,Lo));try{Lo=encodeURI(Lo).replace(/%25/g,"%")}catch{return null}return Lo}const baseUrls={},justDomain=/^[^:]+:\/*[^/]*$/,protocol=/^([^:]+:)[\s\S]*$/,domain=/^([^:]+:\/*[^/]*)[\s\S]*$/;function resolveUrl($o,xo){baseUrls[" "+$o]||(justDomain.test($o)?baseUrls[" "+$o]=$o+"/":baseUrls[" "+$o]=rtrim($o,"/",!0)),$o=baseUrls[" "+$o];const Lo=$o.indexOf(":")===-1;return xo.substring(0,2)==="//"?Lo?xo:$o.replace(protocol,"$1")+xo:xo.charAt(0)==="/"?Lo?xo:$o.replace(domain,"$1")+xo:$o+xo}const noopTest={exec:function(){}};function merge($o){let xo=1,Lo,To;for(;xo{let Mo=!1,zo=Ro;for(;--zo>=0&&No[zo]==="\\";)Mo=!Mo;return Mo?"|":" |"}),To=Lo.split(/ \|/);let Ao=0;if(To[0].trim()||To.shift(),To.length>0&&!To[To.length-1].trim()&&To.pop(),To.length>xo)To.splice(xo);else for(;To.length1;)xo&1&&(Lo+=$o),xo>>=1,$o+=$o;return Lo+$o}function outputLink($o,xo,Lo,To){const Ao=xo.href,Bo=xo.title?escape(xo.title):null,Ro=$o[1].replace(/\\([\[\]])/g,"$1");if($o[0].charAt(0)!=="!"){To.state.inLink=!0;const No={type:"link",raw:Lo,href:Ao,title:Bo,text:Ro,tokens:To.inlineTokens(Ro)};return To.state.inLink=!1,No}return{type:"image",raw:Lo,href:Ao,title:Bo,text:escape(Ro)}}function indentCodeCompensation($o,xo){const Lo=$o.match(/^(\s+)(?:```)/);if(Lo===null)return xo;const To=Lo[1];return xo.split(` + */const nprogress$1={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
'},status:null,set:$o=>{const xo=nprogress$1.isStarted();$o=clamp($o,nprogress$1.settings.minimum,1),nprogress$1.status=$o===1?null:$o;const Lo=nprogress$1.render(!xo),To=Lo.querySelector(nprogress$1.settings.barSelector),Ao=nprogress$1.settings.speed,Bo=nprogress$1.settings.easing;return Lo.offsetWidth,queue(Ro=>{css(To,{transform:"translate3d("+toBarPerc($o)+"%,0,0)",transition:"all "+Ao+"ms "+Bo}),$o===1?(css(Lo,{transition:"none",opacity:"1"}),Lo.offsetWidth,setTimeout(function(){css(Lo,{transition:"all "+Ao+"ms linear",opacity:"0"}),setTimeout(function(){nprogress$1.remove(),Ro()},Ao)},Ao)):setTimeout(()=>Ro(),Ao)}),nprogress$1},isStarted:()=>typeof nprogress$1.status=="number",start:()=>{nprogress$1.status||nprogress$1.set(0);const $o=()=>{setTimeout(()=>{nprogress$1.status&&(nprogress$1.trickle(),$o())},nprogress$1.settings.trickleSpeed)};return nprogress$1.settings.trickle&&$o(),nprogress$1},done:$o=>!$o&&!nprogress$1.status?nprogress$1:nprogress$1.inc(.3+.5*Math.random()).set(1),inc:$o=>{let xo=nprogress$1.status;return xo?(typeof $o!="number"&&($o=(1-xo)*clamp(Math.random()*xo,.1,.95)),xo=clamp(xo+$o,0,.994),nprogress$1.set(xo)):nprogress$1.start()},trickle:()=>nprogress$1.inc(Math.random()*nprogress$1.settings.trickleRate),render:$o=>{if(nprogress$1.isRendered())return document.getElementById("nprogress");addClass(document.documentElement,"nprogress-busy");const xo=document.createElement("div");xo.id="nprogress",xo.innerHTML=nprogress$1.settings.template;const Lo=xo.querySelector(nprogress$1.settings.barSelector),To=$o?"-100":toBarPerc(nprogress$1.status||0),Ao=document.querySelector(nprogress$1.settings.parent);return css(Lo,{transition:"all 0 linear",transform:"translate3d("+To+"%,0,0)"}),Ao!==document.body&&addClass(Ao,"nprogress-custom-parent"),Ao==null||Ao.appendChild(xo),xo},remove:()=>{removeClass(document.documentElement,"nprogress-busy"),removeClass(document.querySelector(nprogress$1.settings.parent),"nprogress-custom-parent");const $o=document.getElementById("nprogress");$o&&removeElement($o)},isRendered:()=>!!document.getElementById("nprogress")},clamp=($o,xo,Lo)=>$oLo?Lo:$o,toBarPerc=$o=>(-1+$o)*100,queue=function(){const $o=[];function xo(){const Lo=$o.shift();Lo&&Lo(xo)}return function(Lo){$o.push(Lo),$o.length===1&&xo()}}(),css=function(){const $o=["Webkit","O","Moz","ms"],xo={};function Lo(Ro){return Ro.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(No,Mo){return Mo.toUpperCase()})}function To(Ro){const No=document.body.style;if(Ro in No)return Ro;let Mo=$o.length;const zo=Ro.charAt(0).toUpperCase()+Ro.slice(1);let Vo;for(;Mo--;)if(Vo=$o[Mo]+zo,Vo in No)return Vo;return Ro}function Ao(Ro){return Ro=Lo(Ro),xo[Ro]||(xo[Ro]=To(Ro))}function Bo(Ro,No,Mo){No=Ao(No),Ro.style[No]=Mo}return function(Ro,No){for(const Mo in No){const zo=No[Mo];zo!==void 0&&Object.prototype.hasOwnProperty.call(No,Mo)&&Bo(Ro,Mo,zo)}}}(),hasClass=($o,xo)=>(typeof $o=="string"?$o:classList($o)).indexOf(" "+xo+" ")>=0,addClass=($o,xo)=>{const Lo=classList($o),To=Lo+xo;hasClass(Lo,xo)||($o.className=To.substring(1))},removeClass=($o,xo)=>{const Lo=classList($o);if(!hasClass($o,xo))return;const To=Lo.replace(" "+xo+" "," ");$o.className=To.substring(1,To.length-1)},classList=$o=>(" "+($o.className||"")+" ").replace(/\s+/gi," "),removeElement=$o=>{$o&&$o.parentNode&&$o.parentNode.removeChild($o)},vars="",nprogress="",useNprogress=()=>{onMounted(()=>{const $o=useRouter(),xo=new Set;xo.add($o.currentRoute.value.path),$o.beforeEach(Lo=>{xo.has(Lo.path)||nprogress$1.start()}),$o.afterEach(Lo=>{xo.add(Lo.path),nprogress$1.done()})})},clientConfig5=defineClientConfig({setup(){useNprogress()}}),themeData$1=JSON.parse(`{"encrypt":{},"locales":{"/en/":{"lang":"en-US","navbarLocales":{"langName":"English","selectLangAriaLabel":"Select language"},"metaLocales":{"author":"Author","date":"Writing Date","origin":"Original","views":"Page views","category":"Category","tag":"Tag","readingTime":"Reading Time","words":"Words","toc":"On This Page","prev":"Prev","next":"Next","lastUpdated":"Last update","contributors":"Contributors","editLink":"Edit this page on GitHub"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"encryptLocales":{"iconLabel":"Page Encrypted","placeholder":"Enter password","remember":"Remember password","errorHint":"Please enter the correct password!"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"author":{"name":"DGP-Studio","url":"https://github.com/DGP-Studio"},"logo":"https://img.alicdn.com/imgextra/i1/1797064093/O1CN01TOz2Cm1g6du5e8Hml_!!1797064093.png","repo":"DGP-Studio/Snap.Hutao","pageInfo":["Author","Original","Date","Category","Tag","ReadingTime"],"docsRepo":"DGP-Studio/Snap.Hutao.Docs","docsDir":"docs","navbar":["/en",{"text":"Document","icon":"article","link":"/features/README.md"},{"text":"Download","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"}],"sidebar":{"/en/":["",{"icon":"play","text":"快速开始","link":"quick-start.md"}]},"footer":"Be the best Genshin Impact tool","displayFooter":true},"/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"在 GitHub 上编辑此页"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"encryptLocales":{"iconLabel":"文章已加密","placeholder":"输入密码","remember":"记住密码","errorHint":"请输入正确的密码"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"author":{"name":"DGP-Studio","url":"https://github.com/DGP-Studio"},"logo":"https://img.alicdn.com/imgextra/i1/1797064093/O1CN01TOz2Cm1g6du5e8Hml_!!1797064093.png","repo":"DGP-Studio/Snap.Hutao","pageInfo":["Author","Original","Date","Category","Tag","ReadingTime"],"docsRepo":"DGP-Studio/Snap.Hutao.Docs","docsDir":"docs","navbar":["/",{"text":"文档","icon":"article","link":"/features/"},{"text":"下载","icon":"install","link":"https://apps.microsoft.com/store/detail/snap-hutao/9PH4NXJ2JN52"},{"text":"加入社区讨论","icon":"community","link":"/community.md"}],"sidebar":{"/":["",{"icon":"workingDirectory","text":"项目介绍","link":"project.md"},{"icon":"network","text":"国际化支持","link":"i18n.md"},{"icon":"play","text":"快速开始","link":"quick-start.md"},{"icon":"read","text":"功能指南","prefix":"features/","children":"structure"},{"icon":"advance","text":"高级","prefix":"advance/","children":["FAQ.md","exceptions.md","known-issue.md","mihoyo-risk-tip.md","artifact-rating-rules.md","get-stoken-cookie-from-the-third-party.md","Gacha-system-and-export-principal.md","uninstall.md"]},{"icon":"article","text":"声明和公告","prefix":"statements/","children":"structure"}]},"footer":"用开源社区力量为原神PC端玩家带来最好的游戏体验","displayFooter":true}}}`),themeData=ref(themeData$1),useThemeData$1=()=>themeData,themeLocaleDataSymbol=Symbol(""),useThemeLocaleData$1=()=>{const $o=inject(themeLocaleDataSymbol);if(!$o)throw new Error("useThemeLocaleData() is called without provider.");return $o},resolveThemeLocaleData=($o,xo)=>{var Lo;return{...$o,...(Lo=$o.locales)==null?void 0:Lo[xo]}},clientConfig6=defineClientConfig({enhance({app:$o}){const xo=useThemeData$1(),Lo=$o._context.provides[routeLocaleSymbol],To=computed(()=>resolveThemeLocaleData(xo.value,Lo.value));$o.provide(themeLocaleDataSymbol,To),Object.defineProperties($o.config.globalProperties,{$theme:{get(){return xo.value}},$themeLocale:{get(){return To.value}}})}});var e$3,t$3,n$3=typeof Map=="function"?new Map:(e$3=[],t$3=[],{has:function($o){return e$3.indexOf($o)>-1},get:function($o){return t$3[e$3.indexOf($o)]},set:function($o,xo){e$3.indexOf($o)===-1&&(e$3.push($o),t$3.push(xo))},delete:function($o){var xo=e$3.indexOf($o);xo>-1&&(e$3.splice(xo,1),t$3.splice(xo,1))}}),o$4=function($o){return new Event($o,{bubbles:!0})};try{new Event("test")}catch{o$4=function(xo){var Lo=document.createEvent("Event");return Lo.initEvent(xo,!0,!1),Lo}}function r$4($o){var xo=n$3.get($o);xo&&xo.destroy()}function i$5($o){var xo=n$3.get($o);xo&&xo.update()}var l$4=null;typeof window>"u"||typeof window.getComputedStyle!="function"?((l$4=function($o){return $o}).destroy=function($o){return $o},l$4.update=function($o){return $o}):((l$4=function($o,xo){return $o&&Array.prototype.forEach.call($o.length?$o:[$o],function(Lo){return function(To){if(To&&To.nodeName&&To.nodeName==="TEXTAREA"&&!n$3.has(To)){var Ao,Bo=null,Ro=null,No=null,Mo=function(){To.clientWidth!==Ro&&Uo()},zo=function(Ho){window.removeEventListener("resize",Mo,!1),To.removeEventListener("input",Uo,!1),To.removeEventListener("keyup",Uo,!1),To.removeEventListener("autosize:destroy",zo,!1),To.removeEventListener("autosize:update",Uo,!1),Object.keys(Ho).forEach(function(Wo){To.style[Wo]=Ho[Wo]}),n$3.delete(To)}.bind(To,{height:To.style.height,resize:To.style.resize,overflowY:To.style.overflowY,overflowX:To.style.overflowX,wordWrap:To.style.wordWrap});To.addEventListener("autosize:destroy",zo,!1),"onpropertychange"in To&&"oninput"in To&&To.addEventListener("keyup",Uo,!1),window.addEventListener("resize",Mo,!1),To.addEventListener("input",Uo,!1),To.addEventListener("autosize:update",Uo,!1),To.style.overflowX="hidden",To.style.wordWrap="break-word",n$3.set(To,{destroy:zo,update:Uo}),(Ao=window.getComputedStyle(To,null)).resize==="vertical"?To.style.resize="none":Ao.resize==="both"&&(To.style.resize="horizontal"),Bo=Ao.boxSizing==="content-box"?-(parseFloat(Ao.paddingTop)+parseFloat(Ao.paddingBottom)):parseFloat(Ao.borderTopWidth)+parseFloat(Ao.borderBottomWidth),isNaN(Bo)&&(Bo=0),Uo()}function Vo(Ho){var Wo=To.style.width;To.style.width="0px",To.style.width=Wo,To.style.overflowY=Ho}function Fo(){if(To.scrollHeight!==0){var Ho=function(Wo){for(var qo=[];Wo&&Wo.parentNode&&Wo.parentNode instanceof Element;)Wo.parentNode.scrollTop&&(Wo.parentNode.style.scrollBehavior="auto",qo.push([Wo.parentNode,Wo.parentNode.scrollTop])),Wo=Wo.parentNode;return function(){return qo.forEach(function(Go){var Yo=Go[0];Yo.scrollTop=Go[1],Yo.style.scrollBehavior=null})}}(To);To.style.height="",To.style.height=To.scrollHeight+Bo+"px",Ro=To.clientWidth,Ho()}}function Uo(){Fo();var Ho=Math.round(parseFloat(To.style.height)),Wo=window.getComputedStyle(To,null),qo=Wo.boxSizing==="content-box"?Math.round(parseFloat(Wo.height)):To.offsetHeight;if(qo"']/,escapeReplace=new RegExp(escapeTest.source,"g"),escapeTestNoEncode=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode=new RegExp(escapeTestNoEncode.source,"g"),escapeReplacements={"&":"&","<":"<",">":">",'"':""","'":"'"},getEscapeReplacement=$o=>escapeReplacements[$o];function escape($o,xo){if(xo){if(escapeTest.test($o))return $o.replace(escapeReplace,getEscapeReplacement)}else if(escapeTestNoEncode.test($o))return $o.replace(escapeReplaceNoEncode,getEscapeReplacement);return $o}const unescapeTest=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function unescape($o){return $o.replace(unescapeTest,(xo,Lo)=>(Lo=Lo.toLowerCase(),Lo==="colon"?":":Lo.charAt(0)==="#"?Lo.charAt(1)==="x"?String.fromCharCode(parseInt(Lo.substring(2),16)):String.fromCharCode(+Lo.substring(1)):""))}const caret=/(^|[^\[])\^/g;function edit($o,xo){$o=typeof $o=="string"?$o:$o.source,xo=xo||"";const Lo={replace:(To,Ao)=>(Ao=Ao.source||Ao,Ao=Ao.replace(caret,"$1"),$o=$o.replace(To,Ao),Lo),getRegex:()=>new RegExp($o,xo)};return Lo}const nonWordAndColonTest=/[^\w:]/g,originIndependentUrl=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function cleanUrl($o,xo,Lo){if($o){let To;try{To=decodeURIComponent(unescape(Lo)).replace(nonWordAndColonTest,"").toLowerCase()}catch{return null}if(To.indexOf("javascript:")===0||To.indexOf("vbscript:")===0||To.indexOf("data:")===0)return null}xo&&!originIndependentUrl.test(Lo)&&(Lo=resolveUrl(xo,Lo));try{Lo=encodeURI(Lo).replace(/%25/g,"%")}catch{return null}return Lo}const baseUrls={},justDomain=/^[^:]+:\/*[^/]*$/,protocol=/^([^:]+:)[\s\S]*$/,domain=/^([^:]+:\/*[^/]*)[\s\S]*$/;function resolveUrl($o,xo){baseUrls[" "+$o]||(justDomain.test($o)?baseUrls[" "+$o]=$o+"/":baseUrls[" "+$o]=rtrim($o,"/",!0)),$o=baseUrls[" "+$o];const Lo=$o.indexOf(":")===-1;return xo.substring(0,2)==="//"?Lo?xo:$o.replace(protocol,"$1")+xo:xo.charAt(0)==="/"?Lo?xo:$o.replace(domain,"$1")+xo:$o+xo}const noopTest={exec:function(){}};function merge($o){let xo=1,Lo,To;for(;xo{let Mo=!1,zo=Ro;for(;--zo>=0&&No[zo]==="\\";)Mo=!Mo;return Mo?"|":" |"}),To=Lo.split(/ \|/);let Ao=0;if(To[0].trim()||To.shift(),To.length>0&&!To[To.length-1].trim()&&To.pop(),To.length>xo)To.splice(xo);else for(;To.length1;)xo&1&&(Lo+=$o),xo>>=1,$o+=$o;return Lo+$o}function outputLink($o,xo,Lo,To){const Ao=xo.href,Bo=xo.title?escape(xo.title):null,Ro=$o[1].replace(/\\([\[\]])/g,"$1");if($o[0].charAt(0)!=="!"){To.state.inLink=!0;const No={type:"link",raw:Lo,href:Ao,title:Bo,text:Ro,tokens:To.inlineTokens(Ro)};return To.state.inLink=!1,No}return{type:"image",raw:Lo,href:Ao,title:Bo,text:escape(Ro)}}function indentCodeCompensation($o,xo){const Lo=$o.match(/^(\s+)(?:```)/);if(Lo===null)return xo;const To=Lo[1];return xo.split(` `).map(Ao=>{const Bo=Ao.match(/^\s+/);if(Bo===null)return Ao;const[Ro]=Bo;return Ro.length>=To.length?Ao.slice(To.length):Ao}).join(` `)}class Tokenizer{constructor(xo){this.options=xo||defaults}space(xo){const Lo=this.rules.block.newline.exec(xo);if(Lo&&Lo[0].length>0)return{type:"space",raw:Lo[0]}}code(xo){const Lo=this.rules.block.code.exec(xo);if(Lo){const To=Lo[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Lo[0],codeBlockStyle:"indented",text:this.options.pedantic?To:rtrim(To,` -`)}}}fences(xo){const Lo=this.rules.block.fences.exec(xo);if(Lo){const To=Lo[0],Ao=indentCodeCompensation(To,Lo[3]||"");return{type:"code",raw:To,lang:Lo[2]?Lo[2].trim().replace(this.rules.inline._escapes,"$1"):Lo[2],text:Ao}}}heading(xo){const Lo=this.rules.block.heading.exec(xo);if(Lo){let To=Lo[2].trim();if(/#$/.test(To)){const Ao=rtrim(To,"#");(this.options.pedantic||!Ao||/ $/.test(Ao))&&(To=Ao.trim())}return{type:"heading",raw:Lo[0],depth:Lo[1].length,text:To,tokens:this.lexer.inline(To)}}}hr(xo){const Lo=this.rules.block.hr.exec(xo);if(Lo)return{type:"hr",raw:Lo[0]}}blockquote(xo){const Lo=this.rules.block.blockquote.exec(xo);if(Lo){const To=Lo[0].replace(/^ *>[ \t]?/gm,""),Ao=this.lexer.state.top;this.lexer.state.top=!0;const Bo=this.lexer.blockTokens(To);return this.lexer.state.top=Ao,{type:"blockquote",raw:Lo[0],tokens:Bo,text:To}}}list(xo){let Lo=this.rules.block.list.exec(xo);if(Lo){let To,Ao,Bo,Ro,No,Mo,zo,Vo,Fo,Uo,Ho,Wo,qo=Lo[1].trim();const Go=qo.length>1,Qo={type:"list",raw:"",ordered:Go,start:Go?+qo.slice(0,-1):"",loose:!1,items:[]};qo=Go?`\\d{1,9}\\${qo.slice(-1)}`:`\\${qo}`,this.options.pedantic&&(qo=Go?qo:"[*+-]");const Ko=new RegExp(`^( {0,3}${qo})((?:[ ][^\\n]*)?(?:\\n|$))`);for(;xo&&(Wo=!1,!(!(Lo=Ko.exec(xo))||this.rules.block.hr.test(xo)));){if(To=Lo[0],xo=xo.substring(To.length),Vo=Lo[2].split(` -`,1)[0].replace(/^\t+/,Yo=>" ".repeat(3*Yo.length)),Fo=xo.split(` +`)}}}fences(xo){const Lo=this.rules.block.fences.exec(xo);if(Lo){const To=Lo[0],Ao=indentCodeCompensation(To,Lo[3]||"");return{type:"code",raw:To,lang:Lo[2]?Lo[2].trim().replace(this.rules.inline._escapes,"$1"):Lo[2],text:Ao}}}heading(xo){const Lo=this.rules.block.heading.exec(xo);if(Lo){let To=Lo[2].trim();if(/#$/.test(To)){const Ao=rtrim(To,"#");(this.options.pedantic||!Ao||/ $/.test(Ao))&&(To=Ao.trim())}return{type:"heading",raw:Lo[0],depth:Lo[1].length,text:To,tokens:this.lexer.inline(To)}}}hr(xo){const Lo=this.rules.block.hr.exec(xo);if(Lo)return{type:"hr",raw:Lo[0]}}blockquote(xo){const Lo=this.rules.block.blockquote.exec(xo);if(Lo){const To=Lo[0].replace(/^ *>[ \t]?/gm,""),Ao=this.lexer.state.top;this.lexer.state.top=!0;const Bo=this.lexer.blockTokens(To);return this.lexer.state.top=Ao,{type:"blockquote",raw:Lo[0],tokens:Bo,text:To}}}list(xo){let Lo=this.rules.block.list.exec(xo);if(Lo){let To,Ao,Bo,Ro,No,Mo,zo,Vo,Fo,Uo,Ho,Wo,qo=Lo[1].trim();const Go=qo.length>1,Yo={type:"list",raw:"",ordered:Go,start:Go?+qo.slice(0,-1):"",loose:!1,items:[]};qo=Go?`\\d{1,9}\\${qo.slice(-1)}`:`\\${qo}`,this.options.pedantic&&(qo=Go?qo:"[*+-]");const Zo=new RegExp(`^( {0,3}${qo})((?:[ ][^\\n]*)?(?:\\n|$))`);for(;xo&&(Wo=!1,!(!(Lo=Zo.exec(xo))||this.rules.block.hr.test(xo)));){if(To=Lo[0],xo=xo.substring(To.length),Vo=Lo[2].split(` +`,1)[0].replace(/^\t+/,Ko=>" ".repeat(3*Ko.length)),Fo=xo.split(` `,1)[0],this.options.pedantic?(Ro=2,Ho=Vo.trimLeft()):(Ro=Lo[2].search(/[^ ]/),Ro=Ro>4?1:Ro,Ho=Vo.slice(Ro),Ro+=Lo[1].length),Mo=!1,!Vo&&/^ *$/.test(Fo)&&(To+=Fo+` -`,xo=xo.substring(Fo.length+1),Wo=!0),!Wo){const Yo=new RegExp(`^ {0,${Math.min(3,Ro-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),Jo=new RegExp(`^ {0,${Math.min(3,Ro-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),aa=new RegExp(`^ {0,${Math.min(3,Ro-1)}}(?:\`\`\`|~~~)`),ea=new RegExp(`^ {0,${Math.min(3,Ro-1)}}#`);for(;xo&&(Uo=xo.split(` -`,1)[0],Fo=Uo,this.options.pedantic&&(Fo=Fo.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(aa.test(Fo)||ea.test(Fo)||Yo.test(Fo)||Jo.test(xo)));){if(Fo.search(/[^ ]/)>=Ro||!Fo.trim())Ho+=` -`+Fo.slice(Ro);else{if(Mo||Vo.search(/[^ ]/)>=4||aa.test(Vo)||ea.test(Vo)||Jo.test(Vo))break;Ho+=` +`,xo=xo.substring(Fo.length+1),Wo=!0),!Wo){const Ko=new RegExp(`^ {0,${Math.min(3,Ro-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),Qo=new RegExp(`^ {0,${Math.min(3,Ro-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),aa=new RegExp(`^ {0,${Math.min(3,Ro-1)}}(?:\`\`\`|~~~)`),ea=new RegExp(`^ {0,${Math.min(3,Ro-1)}}#`);for(;xo&&(Uo=xo.split(` +`,1)[0],Fo=Uo,this.options.pedantic&&(Fo=Fo.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(aa.test(Fo)||ea.test(Fo)||Ko.test(Fo)||Qo.test(xo)));){if(Fo.search(/[^ ]/)>=Ro||!Fo.trim())Ho+=` +`+Fo.slice(Ro);else{if(Mo||Vo.search(/[^ ]/)>=4||aa.test(Vo)||ea.test(Vo)||Qo.test(Vo))break;Ho+=` `+Fo}!Mo&&!Fo.trim()&&(Mo=!0),To+=Uo+` -`,xo=xo.substring(Uo.length+1),Vo=Fo.slice(Ro)}}Qo.loose||(zo?Qo.loose=!0:/\n *\n *$/.test(To)&&(zo=!0)),this.options.gfm&&(Ao=/^\[[ xX]\] /.exec(Ho),Ao&&(Bo=Ao[0]!=="[ ] ",Ho=Ho.replace(/^\[[ xX]\] +/,""))),Qo.items.push({type:"list_item",raw:To,task:!!Ao,checked:Bo,loose:!1,text:Ho}),Qo.raw+=To}Qo.items[Qo.items.length-1].raw=To.trimRight(),Qo.items[Qo.items.length-1].text=Ho.trimRight(),Qo.raw=Qo.raw.trimRight();const Zo=Qo.items.length;for(No=0;Noaa.type==="space"),Jo=Yo.length>0&&Yo.some(aa=>/\n.*\n/.test(aa.raw));Qo.loose=Jo}if(Qo.loose)for(No=0;No$/,"$1").replace(this.rules.inline._escapes,"$1"):"",Bo=Lo[3]?Lo[3].substring(1,Lo[3].length-1).replace(this.rules.inline._escapes,"$1"):Lo[3];return{type:"def",tag:To,raw:Lo[0],href:Ao,title:Bo}}}table(xo){const Lo=this.rules.block.table.exec(xo);if(Lo){const To={type:"table",header:splitCells(Lo[1]).map(Ao=>({text:Ao})),align:Lo[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:Lo[3]&&Lo[3].trim()?Lo[3].replace(/\n[ \t]*$/,"").split(` +`,xo=xo.substring(Uo.length+1),Vo=Fo.slice(Ro)}}Yo.loose||(zo?Yo.loose=!0:/\n *\n *$/.test(To)&&(zo=!0)),this.options.gfm&&(Ao=/^\[[ xX]\] /.exec(Ho),Ao&&(Bo=Ao[0]!=="[ ] ",Ho=Ho.replace(/^\[[ xX]\] +/,""))),Yo.items.push({type:"list_item",raw:To,task:!!Ao,checked:Bo,loose:!1,text:Ho}),Yo.raw+=To}Yo.items[Yo.items.length-1].raw=To.trimRight(),Yo.items[Yo.items.length-1].text=Ho.trimRight(),Yo.raw=Yo.raw.trimRight();const Jo=Yo.items.length;for(No=0;Noaa.type==="space"),Qo=Ko.length>0&&Ko.some(aa=>/\n.*\n/.test(aa.raw));Yo.loose=Qo}if(Yo.loose)for(No=0;No$/,"$1").replace(this.rules.inline._escapes,"$1"):"",Bo=Lo[3]?Lo[3].substring(1,Lo[3].length-1).replace(this.rules.inline._escapes,"$1"):Lo[3];return{type:"def",tag:To,raw:Lo[0],href:Ao,title:Bo}}}table(xo){const Lo=this.rules.block.table.exec(xo);if(Lo){const To={type:"table",header:splitCells(Lo[1]).map(Ao=>({text:Ao})),align:Lo[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:Lo[3]&&Lo[3].trim()?Lo[3].replace(/\n[ \t]*$/,"").split(` `):[]};if(To.header.length===To.align.length){To.raw=Lo[0];let Ao=To.align.length,Bo,Ro,No,Mo;for(Bo=0;Bo({text:zo}));for(Ao=To.header.length,Ro=0;Ro/i.test(Lo[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(Lo[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Lo[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:Lo[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(Lo[0]):escape(Lo[0]):Lo[0]}}link(xo){const Lo=this.rules.inline.link.exec(xo);if(Lo){const To=Lo[2].trim();if(!this.options.pedantic&&/^$/.test(To))return;const Ro=rtrim(To.slice(0,-1),"\\");if((To.length-Ro.length)%2===0)return}else{const Ro=findClosingBracket(Lo[2],"()");if(Ro>-1){const Mo=(Lo[0].indexOf("!")===0?5:4)+Lo[1].length+Ro;Lo[2]=Lo[2].substring(0,Ro),Lo[0]=Lo[0].substring(0,Mo).trim(),Lo[3]=""}}let Ao=Lo[2],Bo="";if(this.options.pedantic){const Ro=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Ao);Ro&&(Ao=Ro[1],Bo=Ro[3])}else Bo=Lo[3]?Lo[3].slice(1,-1):"";return Ao=Ao.trim(),/^$/.test(To)?Ao=Ao.slice(1):Ao=Ao.slice(1,-1)),outputLink(Lo,{href:Ao&&Ao.replace(this.rules.inline._escapes,"$1"),title:Bo&&Bo.replace(this.rules.inline._escapes,"$1")},Lo[0],this.lexer)}}reflink(xo,Lo){let To;if((To=this.rules.inline.reflink.exec(xo))||(To=this.rules.inline.nolink.exec(xo))){let Ao=(To[2]||To[1]).replace(/\s+/g," ");if(Ao=Lo[Ao.toLowerCase()],!Ao){const Bo=To[0].charAt(0);return{type:"text",raw:Bo,text:Bo}}return outputLink(To,Ao,To[0],this.lexer)}}emStrong(xo,Lo,To=""){let Ao=this.rules.inline.emStrong.lDelim.exec(xo);if(!Ao||Ao[3]&&To.match(/[\p{L}\p{N}]/u))return;const Bo=Ao[1]||Ao[2]||"";if(!Bo||Bo&&(To===""||this.rules.inline.punctuation.exec(To))){const Ro=Ao[0].length-1;let No,Mo,zo=Ro,Vo=0;const Fo=Ao[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(Fo.lastIndex=0,Lo=Lo.slice(-1*xo.length+Ro);(Ao=Fo.exec(Lo))!=null;){if(No=Ao[1]||Ao[2]||Ao[3]||Ao[4]||Ao[5]||Ao[6],!No)continue;if(Mo=No.length,Ao[3]||Ao[4]){zo+=Mo;continue}else if((Ao[5]||Ao[6])&&Ro%3&&!((Ro+Mo)%3)){Vo+=Mo;continue}if(zo-=Mo,zo>0)continue;Mo=Math.min(Mo,Mo+zo+Vo);const Uo=xo.slice(0,Ro+Ao.index+(Ao[0].length-No.length)+Mo);if(Math.min(Ro,Mo)%2){const Wo=Uo.slice(1,-1);return{type:"em",raw:Uo,text:Wo,tokens:this.lexer.inlineTokens(Wo)}}const Ho=Uo.slice(2,-2);return{type:"strong",raw:Uo,text:Ho,tokens:this.lexer.inlineTokens(Ho)}}}}codespan(xo){const Lo=this.rules.inline.code.exec(xo);if(Lo){let To=Lo[2].replace(/\n/g," ");const Ao=/[^ ]/.test(To),Bo=/^ /.test(To)&&/ $/.test(To);return Ao&&Bo&&(To=To.substring(1,To.length-1)),To=escape(To,!0),{type:"codespan",raw:Lo[0],text:To}}}br(xo){const Lo=this.rules.inline.br.exec(xo);if(Lo)return{type:"br",raw:Lo[0]}}del(xo){const Lo=this.rules.inline.del.exec(xo);if(Lo)return{type:"del",raw:Lo[0],text:Lo[2],tokens:this.lexer.inlineTokens(Lo[2])}}autolink(xo,Lo){const To=this.rules.inline.autolink.exec(xo);if(To){let Ao,Bo;return To[2]==="@"?(Ao=escape(this.options.mangle?Lo(To[1]):To[1]),Bo="mailto:"+Ao):(Ao=escape(To[1]),Bo=Ao),{type:"link",raw:To[0],text:Ao,href:Bo,tokens:[{type:"text",raw:Ao,text:Ao}]}}}url(xo,Lo){let To;if(To=this.rules.inline.url.exec(xo)){let Ao,Bo;if(To[2]==="@")Ao=escape(this.options.mangle?Lo(To[0]):To[0]),Bo="mailto:"+Ao;else{let Ro;do Ro=To[0],To[0]=this.rules.inline._backpedal.exec(To[0])[0];while(Ro!==To[0]);Ao=escape(To[0]),To[1]==="www."?Bo="http://"+To[0]:Bo=To[0]}return{type:"link",raw:To[0],text:Ao,href:Bo,tokens:[{type:"text",raw:Ao,text:Ao}]}}}inlineText(xo,Lo){const To=this.rules.inline.text.exec(xo);if(To){let Ao;return this.lexer.state.inRawBlock?Ao=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(To[0]):escape(To[0]):To[0]:Ao=escape(this.options.smartypants?Lo(To[0]):To[0]),{type:"text",raw:To[0],text:Ao}}}}const block={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:noopTest,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};block._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;block._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;block.def=edit(block.def).replace("label",block._label).replace("title",block._title).getRegex();block.bullet=/(?:[*+-]|\d{1,9}[.)])/;block.listItemStart=edit(/^( *)(bull) */).replace("bull",block.bullet).getRegex();block.list=edit(block.list).replace(/bull/g,block.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+block.def.source+")").getRegex();block._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";block._comment=/|$)/;block.html=edit(block.html,"i").replace("comment",block._comment).replace("tag",block._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();block.paragraph=edit(block._paragraph).replace("hr",block.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",block._tag).getRegex();block.blockquote=edit(block.blockquote).replace("paragraph",block.paragraph).getRegex();block.normal=merge({},block);block.gfm=merge({},block.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"});block.gfm.table=edit(block.gfm.table).replace("hr",block.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",block._tag).getRegex();block.gfm.paragraph=edit(block._paragraph).replace("hr",block.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",block.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",block._tag).getRegex();block.pedantic=merge({},block.normal,{html:edit(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",block._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:noopTest,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:edit(block.normal._paragraph).replace("hr",block.hr).replace("heading",` *#{1,6} *[^ ]`).replace("lheading",block.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const inline={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:noopTest,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:noopTest,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~";inline.punctuation=edit(inline.punctuation).replace(/punctuation/g,inline._punctuation).getRegex();inline.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;inline.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g;inline._comment=edit(block._comment).replace("(?:-->|$)","-->").getRegex();inline.emStrong.lDelim=edit(inline.emStrong.lDelim).replace(/punct/g,inline._punctuation).getRegex();inline.emStrong.rDelimAst=edit(inline.emStrong.rDelimAst,"g").replace(/punct/g,inline._punctuation).getRegex();inline.emStrong.rDelimUnd=edit(inline.emStrong.rDelimUnd,"g").replace(/punct/g,inline._punctuation).getRegex();inline._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;inline._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;inline._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;inline.autolink=edit(inline.autolink).replace("scheme",inline._scheme).replace("email",inline._email).getRegex();inline._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;inline.tag=edit(inline.tag).replace("comment",inline._comment).replace("attribute",inline._attribute).getRegex();inline._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;inline._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;inline._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;inline.link=edit(inline.link).replace("label",inline._label).replace("href",inline._href).replace("title",inline._title).getRegex();inline.reflink=edit(inline.reflink).replace("label",inline._label).replace("ref",block._label).getRegex();inline.nolink=edit(inline.nolink).replace("ref",block._label).getRegex();inline.reflinkSearch=edit(inline.reflinkSearch,"g").replace("reflink",inline.reflink).replace("nolink",inline.nolink).getRegex();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:edit(/^!?\[(label)\]\((.*?)\)/).replace("label",inline._label).getRegex(),reflink:edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",inline._label).getRegex()});inline.gfm=merge({},inline.normal,{escape:edit(inline.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(To="x"+To.toString(16)),xo+="&#"+To+";";return xo}class Lexer{constructor(xo){this.tokens=[],this.tokens.links=Object.create(null),this.options=xo||defaults,this.options.tokenizer=this.options.tokenizer||new Tokenizer,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const Lo={block:block.normal,inline:inline.normal};this.options.pedantic?(Lo.block=block.pedantic,Lo.inline=inline.pedantic):this.options.gfm&&(Lo.block=block.gfm,this.options.breaks?Lo.inline=inline.breaks:Lo.inline=inline.gfm),this.tokenizer.rules=Lo}static get rules(){return{block,inline}}static lex(xo,Lo){return new Lexer(Lo).lex(xo)}static lexInline(xo,Lo){return new Lexer(Lo).inlineTokens(xo)}lex(xo){xo=xo.replace(/\r\n|\r/g,` @@ -45,31 +45,31 @@ ${xo} `}tablerow(xo){return` ${xo} `}tablecell(xo,Lo){const To=Lo.header?"th":"td";return(Lo.align?`<${To} align="${Lo.align}">`:`<${To}>`)+xo+` -`}strong(xo){return`${xo}`}em(xo){return`${xo}`}codespan(xo){return`${xo}`}br(){return this.options.xhtml?"
":"
"}del(xo){return`${xo}`}link(xo,Lo,To){if(xo=cleanUrl(this.options.sanitize,this.options.baseUrl,xo),xo===null)return To;let Ao='",Ao}image(xo,Lo,To){if(xo=cleanUrl(this.options.sanitize,this.options.baseUrl,xo),xo===null)return To;let Ao=`${To}":">",Ao}text(xo){return xo}}class TextRenderer{strong(xo){return xo}em(xo){return xo}codespan(xo){return xo}del(xo){return xo}html(xo){return xo}text(xo){return xo}link(xo,Lo,To){return""+To}image(xo,Lo,To){return""+To}br(){return""}}class Slugger{constructor(){this.seen={}}serialize(xo){return xo.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(xo,Lo){let To=xo,Ao=0;if(this.seen.hasOwnProperty(To)){Ao=this.seen[xo];do Ao++,To=xo+"-"+Ao;while(this.seen.hasOwnProperty(To))}return Lo||(this.seen[xo]=Ao,this.seen[To]=0),To}slug(xo,Lo={}){const To=this.serialize(xo);return this.getNextSafeSlug(To,Lo.dryrun)}}class Parser{constructor(xo){this.options=xo||defaults,this.options.renderer=this.options.renderer||new Renderer,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new TextRenderer,this.slugger=new Slugger}static parse(xo,Lo){return new Parser(Lo).parse(xo)}static parseInline(xo,Lo){return new Parser(Lo).parseInline(xo)}parse(xo,Lo=!0){let To="",Ao,Bo,Ro,No,Mo,zo,Vo,Fo,Uo,Ho,Wo,qo,Go,Qo,Ko,Zo,Yo,Jo,aa;const ea=xo.length;for(Ao=0;Ao0&&Ko.tokens[0].type==="paragraph"?(Ko.tokens[0].text=Jo+" "+Ko.tokens[0].text,Ko.tokens[0].tokens&&Ko.tokens[0].tokens.length>0&&Ko.tokens[0].tokens[0].type==="text"&&(Ko.tokens[0].tokens[0].text=Jo+" "+Ko.tokens[0].tokens[0].text)):Ko.tokens.unshift({type:"text",text:Jo}):Qo+=Jo),Qo+=this.parse(Ko.tokens,Go),Uo+=this.renderer.listitem(Qo,Yo,Zo);To+=this.renderer.list(Uo,Wo,qo);continue}case"html":{To+=this.renderer.html(Ho.text);continue}case"paragraph":{To+=this.renderer.paragraph(this.parseInline(Ho.tokens));continue}case"text":{for(Uo=Ho.tokens?this.parseInline(Ho.tokens):Ho.text;Ao+1${xo}`}em(xo){return`${xo}`}codespan(xo){return`${xo}`}br(){return this.options.xhtml?"
":"
"}del(xo){return`${xo}`}link(xo,Lo,To){if(xo=cleanUrl(this.options.sanitize,this.options.baseUrl,xo),xo===null)return To;let Ao='
",Ao}image(xo,Lo,To){if(xo=cleanUrl(this.options.sanitize,this.options.baseUrl,xo),xo===null)return To;let Ao=`${To}":">",Ao}text(xo){return xo}}class TextRenderer{strong(xo){return xo}em(xo){return xo}codespan(xo){return xo}del(xo){return xo}html(xo){return xo}text(xo){return xo}link(xo,Lo,To){return""+To}image(xo,Lo,To){return""+To}br(){return""}}class Slugger{constructor(){this.seen={}}serialize(xo){return xo.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(xo,Lo){let To=xo,Ao=0;if(this.seen.hasOwnProperty(To)){Ao=this.seen[xo];do Ao++,To=xo+"-"+Ao;while(this.seen.hasOwnProperty(To))}return Lo||(this.seen[xo]=Ao,this.seen[To]=0),To}slug(xo,Lo={}){const To=this.serialize(xo);return this.getNextSafeSlug(To,Lo.dryrun)}}class Parser{constructor(xo){this.options=xo||defaults,this.options.renderer=this.options.renderer||new Renderer,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new TextRenderer,this.slugger=new Slugger}static parse(xo,Lo){return new Parser(Lo).parse(xo)}static parseInline(xo,Lo){return new Parser(Lo).parseInline(xo)}parse(xo,Lo=!0){let To="",Ao,Bo,Ro,No,Mo,zo,Vo,Fo,Uo,Ho,Wo,qo,Go,Yo,Zo,Jo,Ko,Qo,aa;const ea=xo.length;for(Ao=0;Ao0&&Zo.tokens[0].type==="paragraph"?(Zo.tokens[0].text=Qo+" "+Zo.tokens[0].text,Zo.tokens[0].tokens&&Zo.tokens[0].tokens.length>0&&Zo.tokens[0].tokens[0].type==="text"&&(Zo.tokens[0].tokens[0].text=Qo+" "+Zo.tokens[0].tokens[0].text)):Zo.tokens.unshift({type:"text",text:Qo}):Yo+=Qo),Yo+=this.parse(Zo.tokens,Go),Uo+=this.renderer.listitem(Yo,Ko,Jo);To+=this.renderer.list(Uo,Wo,qo);continue}case"html":{To+=this.renderer.html(Ho.text);continue}case"paragraph":{To+=this.renderer.paragraph(this.parseInline(Ho.tokens));continue}case"text":{for(Uo=Ho.tokens?this.parseInline(Ho.tokens):Ho.text;Ao+1"u"||$o===null)throw new Error("marked(): input parameter is undefined or null");if(typeof $o!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call($o)+", string expected");if(typeof xo=="function"&&(Lo=xo,xo=null),xo=merge({},marked.defaults,xo||{}),checkSanitizeDeprecation(xo),Lo){const Ao=xo.highlight;let Bo;try{Bo=Lexer.lex($o,xo)}catch(Mo){return Lo(Mo)}const Ro=function(Mo){let zo;if(!Mo)try{xo.walkTokens&&marked.walkTokens(Bo,xo.walkTokens),zo=Parser.parse(Bo,xo)}catch(Vo){Mo=Vo}return xo.highlight=Ao,Mo?Lo(Mo):Lo(null,zo)};if(!Ao||Ao.length<3||(delete xo.highlight,!Bo.length))return Ro();let No=0;marked.walkTokens(Bo,function(Mo){Mo.type==="code"&&(No++,setTimeout(()=>{Ao(Mo.text,Mo.lang,function(zo,Vo){if(zo)return Ro(zo);Vo!=null&&Vo!==Mo.text&&(Mo.text=Vo,Mo.escaped=!0),No--,No===0&&Ro()})},0))}),No===0&&Ro();return}function To(Ao){if(Ao.message+=` Please report this to https://github.com/markedjs/marked.`,xo.silent)return"

An error occurred:

"+escape(Ao.message+"",!0)+"
";throw Ao}try{const Ao=Lexer.lex($o,xo);if(xo.walkTokens){if(xo.async)return Promise.all(marked.walkTokens(Ao,xo.walkTokens)).then(()=>Parser.parse(Ao,xo)).catch(To);marked.walkTokens(Ao,xo.walkTokens)}return Parser.parse(Ao,xo)}catch(Ao){To(Ao)}}marked.options=marked.setOptions=function($o){return merge(marked.defaults,$o),changeDefaults(marked.defaults),marked};marked.getDefaults=getDefaults;marked.defaults=defaults;marked.use=function(...$o){const xo=marked.defaults.extensions||{renderers:{},childTokens:{}};$o.forEach(Lo=>{const To=merge({},Lo);if(To.async=marked.defaults.async||To.async,Lo.extensions&&(Lo.extensions.forEach(Ao=>{if(!Ao.name)throw new Error("extension name required");if(Ao.renderer){const Bo=xo.renderers[Ao.name];Bo?xo.renderers[Ao.name]=function(...Ro){let No=Ao.renderer.apply(this,Ro);return No===!1&&(No=Bo.apply(this,Ro)),No}:xo.renderers[Ao.name]=Ao.renderer}if(Ao.tokenizer){if(!Ao.level||Ao.level!=="block"&&Ao.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");xo[Ao.level]?xo[Ao.level].unshift(Ao.tokenizer):xo[Ao.level]=[Ao.tokenizer],Ao.start&&(Ao.level==="block"?xo.startBlock?xo.startBlock.push(Ao.start):xo.startBlock=[Ao.start]:Ao.level==="inline"&&(xo.startInline?xo.startInline.push(Ao.start):xo.startInline=[Ao.start]))}Ao.childTokens&&(xo.childTokens[Ao.name]=Ao.childTokens)}),To.extensions=xo),Lo.renderer){const Ao=marked.defaults.renderer||new Renderer;for(const Bo in Lo.renderer){const Ro=Ao[Bo];Ao[Bo]=(...No)=>{let Mo=Lo.renderer[Bo].apply(Ao,No);return Mo===!1&&(Mo=Ro.apply(Ao,No)),Mo}}To.renderer=Ao}if(Lo.tokenizer){const Ao=marked.defaults.tokenizer||new Tokenizer;for(const Bo in Lo.tokenizer){const Ro=Ao[Bo];Ao[Bo]=(...No)=>{let Mo=Lo.tokenizer[Bo].apply(Ao,No);return Mo===!1&&(Mo=Ro.apply(Ao,No)),Mo}}To.tokenizer=Ao}if(Lo.walkTokens){const Ao=marked.defaults.walkTokens;To.walkTokens=function(Bo){let Ro=[];return Ro.push(Lo.walkTokens.call(this,Bo)),Ao&&(Ro=Ro.concat(Ao.call(this,Bo))),Ro}}marked.setOptions(To)})};marked.walkTokens=function($o,xo){let Lo=[];for(const To of $o)switch(Lo=Lo.concat(xo.call(marked,To)),To.type){case"table":{for(const Ao of To.header)Lo=Lo.concat(marked.walkTokens(Ao.tokens,xo));for(const Ao of To.rows)for(const Bo of Ao)Lo=Lo.concat(marked.walkTokens(Bo.tokens,xo));break}case"list":{Lo=Lo.concat(marked.walkTokens(To.items,xo));break}default:marked.defaults.extensions&&marked.defaults.extensions.childTokens&&marked.defaults.extensions.childTokens[To.type]?marked.defaults.extensions.childTokens[To.type].forEach(function(Ao){Lo=Lo.concat(marked.walkTokens(To[Ao],xo))}):To.tokens&&(Lo=Lo.concat(marked.walkTokens(To.tokens,xo)))}return Lo};marked.parseInline=function($o,xo){if(typeof $o>"u"||$o===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof $o!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call($o)+", string expected");xo=merge({},marked.defaults,xo||{}),checkSanitizeDeprecation(xo);try{const Lo=Lexer.lexInline($o,xo);return xo.walkTokens&&marked.walkTokens(Lo,xo.walkTokens),Parser.parseInline(Lo,xo)}catch(Lo){if(Lo.message+=` -Please report this to https://github.com/markedjs/marked.`,xo.silent)return"

An error occurred:

"+escape(Lo.message+"",!0)+"
";throw Lo}};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.TextRenderer=TextRenderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.Tokenizer=Tokenizer;marked.Slugger=Slugger;marked.parse=marked;marked.options;marked.setOptions;marked.use;marked.walkTokens;marked.parseInline;Parser.parse;Lexer.lex;const O$3=({size:$o})=>h$4("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:$o,height:$o},[h$4("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),h$4("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),P$4=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),V$2=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),T$1=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[h$4("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),h$4("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),D$3=({active:$o=!1})=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[h$4("path",{d:"M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z"+($o?"":"M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"),fill:$o?"red":"currentColor"})]),N$2=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[h$4("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),h$4("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),B$3=()=>h$4("svg",{width:"16",height:"16",ariaHidden:"true"},h$4("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),W$2=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z",fill:"currentColor"})),F$3=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"M813.039 318.772L480.53 651.278H360.718V531.463L693.227 198.961C697.904 194.284 704.027 192 710.157 192C716.302 192 722.436 194.284 727.114 198.961L813.039 284.88C817.72 289.561 820 295.684 820 301.825C820 307.95 817.72 314.093 813.039 318.772ZM710.172 261.888L420.624 551.431V591.376H460.561L750.109 301.825L710.172 261.888ZM490.517 291.845H240.906V771.09H720.156V521.479C720.156 504.947 733.559 491.529 750.109 491.529C766.653 491.529 780.063 504.947 780.063 521.479V791.059C780.063 813.118 762.18 831 740.125 831H220.937C198.882 831 181 813.118 181 791.059V271.872C181 249.817 198.882 231.935 220.937 231.935H490.517C507.06 231.935 520.47 245.352 520.47 261.888C520.47 278.424 507.06 291.845 490.517 291.845Z",fill:"currentColor"})),K$1=()=>h$4("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},h$4("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"})),q$2=({size:$o})=>h$4("svg",{width:$o,height:$o,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},h$4("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},h$4("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"}))),G$2=()=>h$4("svg",{width:24,height:24,fill:"currentcolor",viewBox:"0 0 24 24"},[h$4("path",{style:"transform: translateY(0.5px)",d:"M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z"}),h$4("path",{d:"M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"})]),Z$1={"Content-Type":"application/json"},J$2=($o,xo="")=>{if(typeof $o=="object"&&$o.errno)throw new TypeError(`${xo} failed with ${$o.errno}: ${$o.errmsg}`);return $o},Y$2=({serverURL:$o,lang:xo,path:Lo,type:To,action:Ao})=>fetch(`${$o}/article?lang=${xo}`,{method:"POST",headers:Z$1,body:JSON.stringify({path:Lo,type:To,action:Ao})}).then(Bo=>Bo.json()),X$1=({serverURL:$o,lang:xo,token:Lo,objectId:To,comment:Ao})=>fetch(`${$o}/comment/${To}?lang=${xo}`,{method:"PUT",headers:{...Z$1,Authorization:`Bearer ${Lo}`},body:JSON.stringify(Ao)}).then(Bo=>Bo.json()).then(Bo=>J$2(Bo,"Update comment"));let Q$2=null;const ee$1=()=>Q$2||(Q$2=useStorage("WALINE_LIKE",[]));let te$1=null;const ne$1=()=>te$1??(te$1=useStorage("WALINE_REACTION",{}));var ae$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},le$1={},ie$1={},oe$1={},re$1=ae$1&&ae$1.__awaiter||function($o,xo,Lo,To){return new(Lo||(Lo=Promise))(function(Ao,Bo){function Ro(zo){try{Mo(To.next(zo))}catch(Vo){Bo(Vo)}}function No(zo){try{Mo(To.throw(zo))}catch(Vo){Bo(Vo)}}function Mo(zo){var Vo;zo.done?Ao(zo.value):(Vo=zo.value,Vo instanceof Lo?Vo:new Lo(function(Fo){Fo(Vo)})).then(Ro,No)}Mo((To=To.apply($o,xo||[])).next())})},se$1=ae$1&&ae$1.__generator||function($o,xo){var Lo,To,Ao,Bo,Ro={label:0,sent:function(){if(1&Ao[0])throw Ao[1];return Ao[1]},trys:[],ops:[]};return Bo={next:No(0),throw:No(1),return:No(2)},typeof Symbol=="function"&&(Bo[Symbol.iterator]=function(){return this}),Bo;function No(Mo){return function(zo){return function(Vo){if(Lo)throw new TypeError("Generator is already executing.");for(;Ro;)try{if(Lo=1,To&&(Ao=2&Vo[0]?To.return:Vo[0]?To.throw||((Ao=To.return)&&Ao.call(To),0):To.next)&&!(Ao=Ao.call(To,Vo[1])).done)return Ao;switch(To=0,Ao&&(Vo=[2&Vo[0],Ao.value]),Vo[0]){case 0:case 1:Ao=Vo;break;case 4:return Ro.label++,{value:Vo[1],done:!1};case 5:Ro.label++,To=Vo[1],Vo=[0];continue;case 7:Vo=Ro.ops.pop(),Ro.trys.pop();continue;default:if(Ao=Ro.trys,!((Ao=Ao.length>0&&Ao[Ao.length-1])||Vo[0]!==6&&Vo[0]!==2)){Ro=0;continue}if(Vo[0]===3&&(!Ao||Vo[1]>Ao[0]&&Vo[1]"u")return Promise.reject(new Error("This is a library for the browser!"));if($o.getLoadingState()===ue$1.LOADED)return $o.instance.getSiteKey()===xo?Promise.resolve($o.instance):Promise.reject(new Error("reCAPTCHA already loaded with different site key!"));if($o.getLoadingState()===ue$1.LOADING)return xo!==$o.instanceSiteKey?Promise.reject(new Error("reCAPTCHA already loaded with different site key!")):new Promise(function(Ao,Bo){$o.successfulLoadingConsumers.push(function(Ro){return Ao(Ro)}),$o.errorLoadingRunnable.push(function(Ro){return Bo(Ro)})});$o.instanceSiteKey=xo,$o.setLoadingState(ue$1.LOADING);var To=new $o;return new Promise(function(Ao,Bo){To.loadScript(xo,Lo.useRecaptchaNet||!1,Lo.useEnterprise||!1,Lo.renderParameters?Lo.renderParameters:{},Lo.customUrl).then(function(){$o.setLoadingState(ue$1.LOADED);var Ro=To.doExplicitRender(grecaptcha,xo,Lo.explicitRenderParameters?Lo.explicitRenderParameters:{},Lo.useEnterprise||!1),No=new de$1.ReCaptchaInstance(xo,Ro,grecaptcha);$o.successfulLoadingConsumers.forEach(function(Mo){return Mo(No)}),$o.successfulLoadingConsumers=[],Lo.autoHideBadge&&No.hideBadge(),$o.instance=No,Ao(No)}).catch(function(Ro){$o.errorLoadingRunnable.forEach(function(No){return No(Ro)}),$o.errorLoadingRunnable=[],Bo(Ro)})})},$o.getInstance=function(){return $o.instance},$o.setLoadingState=function(xo){$o.loadingState=xo},$o.getLoadingState=function(){return $o.loadingState===null?ue$1.NOT_LOADED:$o.loadingState},$o.prototype.loadScript=function(xo,Lo,To,Ao,Bo){var Ro=this;Lo===void 0&&(Lo=!1),To===void 0&&(To=!1),Ao===void 0&&(Ao={}),Bo===void 0&&(Bo="");var No=document.createElement("script");No.setAttribute("recaptcha-v3-script","");var Mo="https://www.google.com/recaptcha/api.js";Lo&&(Mo=To?"https://recaptcha.net/recaptcha/enterprise.js":"https://recaptcha.net/recaptcha/api.js"),To&&(Mo="https://www.google.com/recaptcha/enterprise.js"),Bo&&(Mo=Bo),Ao.render&&(Ao.render=void 0);var zo=this.buildQueryString(Ao);return No.src=Mo+"?render=explicit"+zo,new Promise(function(Vo,Fo){No.addEventListener("load",Ro.waitForScriptToLoad(function(){Vo(No)},To),!1),No.onerror=function(Uo){$o.setLoadingState(ue$1.NOT_LOADED),Fo(Uo)},document.head.appendChild(No)})},$o.prototype.buildQueryString=function(xo){return Object.keys(xo).length<1?"":"&"+Object.keys(xo).filter(function(Lo){return!!xo[Lo]}).map(function(Lo){return Lo+"="+xo[Lo]}).join("&")},$o.prototype.waitForScriptToLoad=function(xo,Lo){var To=this;return function(){window.grecaptcha===void 0?setTimeout(function(){To.waitForScriptToLoad(xo,Lo)},$o.SCRIPT_LOAD_DELAY):Lo?window.grecaptcha.enterprise.ready(function(){xo()}):window.grecaptcha.ready(function(){xo()})}},$o.prototype.doExplicitRender=function(xo,Lo,To,Ao){var Bo={sitekey:Lo,badge:To.badge,size:To.size,tabindex:To.tabindex};return To.container?Ao?xo.enterprise.render(To.container,Bo):xo.render(To.container,Bo):Ao?xo.enterprise.render(Bo):xo.render(Bo)},$o.loadingState=null,$o.instance=null,$o.instanceSiteKey=null,$o.successfulLoadingConsumers=[],$o.errorLoadingRunnable=[],$o.SCRIPT_LOAD_DELAY=25,$o}();ie$1.load=me$1.load,ie$1.getInstance=me$1.getInstance,function($o){Object.defineProperty($o,"__esModule",{value:!0}),$o.ReCaptchaInstance=$o.getInstance=$o.load=void 0;var xo=ie$1;Object.defineProperty($o,"load",{enumerable:!0,get:function(){return xo.load}}),Object.defineProperty($o,"getInstance",{enumerable:!0,get:function(){return xo.getInstance}});var Lo=oe$1;Object.defineProperty($o,"ReCaptchaInstance",{enumerable:!0,get:function(){return Lo.ReCaptchaInstance}})}(le$1);const ve$1={};let pe$1=null;const he$1=()=>pe$1??(pe$1=useStorage("WALINE_USER",{})),ge$1={key:0,class:"wl-reaction"},fe$1=["textContent"],ye$1={class:"wl-reaction-list"},we$1=["onClick"],be$1={class:"wl-reaction-img"},ke$1=["src","alt"],Ce$1=["textContent"],$e$1=["textContent"];var Le$1=defineComponent({__name:"ArticleReaction",setup($o,{expose:xo}){xo();const Lo=ne$1(),To=inject("config"),Ao=ref(-1),Bo=ref([]),Ro=computed(()=>To.value.locale),No=computed(()=>To.value.reaction.length>0),Mo=computed(()=>{const{reaction:Fo,path:Uo}=To.value;return Fo.map((Ho,Wo)=>({icon:Ho,desc:Ro.value[`reaction${Wo}`],active:Lo.value[Uo]===Wo}))});let zo;const Vo=async()=>{if(No.value){const{serverURL:Fo,lang:Uo,path:Ho,reaction:Wo}=To.value,qo=new AbortController;zo=qo.abort.bind(qo);const Go=await(({serverURL:Qo,lang:Ko,paths:Zo,type:Yo,signal:Jo})=>fetch(`${Qo}/article?path=${encodeURIComponent(Zo.join(","))}&type=${encodeURIComponent(Yo.join(","))}&lang=${Ko}`,{signal:Jo}).then(aa=>aa.json()))({serverURL:Fo,lang:Uo,paths:[Ho],type:Wo.map((Qo,Ko)=>`reaction${Ko}`),signal:qo.signal});if(Array.isArray(Go)||typeof Go=="number")return;Bo.value=Wo.map((Qo,Ko)=>Go[`reaction${Ko}`])}};return onMounted(()=>{watch(()=>[To.value.serverURL,To.value.path],()=>{Vo()},{immediate:!0})}),onUnmounted(()=>zo==null?void 0:zo()),(Fo,Uo)=>unref(Mo).length?(openBlock(),createElementBlock("div",ge$1,[createBaseVNode("div",{class:"wl-reaction-title",textContent:toDisplayString(unref(Ro).reactionTitle)},null,8,fe$1),createBaseVNode("ul",ye$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(Mo),({active:Ho,icon:Wo,desc:qo},Go)=>(openBlock(),createElementBlock("li",{key:Go,class:normalizeClass(["wl-reaction-item",{active:Ho}]),onClick:Qo=>(async Ko=>{if(Ao.value===-1){const{serverURL:Zo,lang:Yo,path:Jo}=To.value,aa=Lo.value[Jo];Ao.value=Ko,aa!==void 0&&(await Y$2({serverURL:Zo,lang:Yo,path:Jo,type:`reaction${aa}`,action:"desc"}),Bo.value[aa]=Math.max(Bo.value[aa]-1,0)),aa!==Ko&&(await Y$2({serverURL:Zo,lang:Yo,path:Jo,type:`reaction${Ko}`}),Bo.value[Ko]=(Bo.value[Ko]||0)+1),aa===Ko?delete Lo.value[Jo]:Lo.value[Jo]=Ko,Ao.value=-1}})(Go)},[createBaseVNode("div",be$1,[createBaseVNode("img",{src:Wo,alt:qo},null,8,ke$1),Ao.value===Go?(openBlock(),createBlock(unref(q$2),{key:0,class:"wl-reaction-loading"})):(openBlock(),createElementBlock("div",{key:1,class:"wl-reaction-votes",textContent:toDisplayString(Bo.value[Go]||0)},null,8,Ce$1))]),createBaseVNode("div",{class:"wl-reaction-text",textContent:toDisplayString(qo)},null,8,$e$1)],10,we$1))),128))])])):createCommentVNode("v-if",!0)}}),xe$1=($o,xo)=>{const Lo=$o.__vccOpts||$o;for(const[To,Ao]of xo)Lo[To]=Ao;return Lo},Ie$1=xe$1(Le$1,[["__file","ArticleReaction.vue"]]);const Re$1=["data-index"],Ee$1=["src","title","onClick"];var je$1=xe$1(defineComponent({__name:"ImageWall",props:{items:{default:()=>[]},columnWidth:{default:300},gap:{default:0}},emits:["insert"],setup($o,{expose:xo}){const Lo=$o;xo();let To=null;const Ao=ref(null),Bo=ref({}),Ro=ref([]),No=()=>{const Fo=Math.floor((Ao.value.getBoundingClientRect().width+Lo.gap)/(Lo.columnWidth+Lo.gap));return Fo>0?Fo:1},Mo=async Fo=>{var Ho;if(Fo>=Lo.items.length)return;await nextTick();const Uo=Array.from(((Ho=Ao.value)==null?void 0:Ho.children)||[]).reduce((Wo,qo)=>qo.getBoundingClientRect().height{if(Ro.value.length===No()&&!Fo)return;var Uo;Ro.value=(Uo=No(),new Array(Uo).fill(null).map(()=>[]));const Ho=window.scrollY;await Mo(0),window.scrollTo({top:Ho})},Vo=Fo=>{Bo.value[Fo.target.src]=!0};return onMounted(()=>{zo(!0),To=new ResizeObserver(()=>{zo()}),To.observe(Ao.value),watch(()=>[Lo.items],()=>{Bo.value={},zo(!0)}),watch(()=>[Lo.columnWidth,Lo.gap],()=>{zo()})}),onBeforeUnmount(()=>To.unobserve(Ao.value)),(Fo,Uo)=>(openBlock(),createElementBlock("div",{ref_key:"wall",ref:Ao,class:"wl-gallery",style:normalizeStyle({gap:`${$o.gap}px`})},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ro.value,(Ho,Wo)=>(openBlock(),createElementBlock("div",{key:Wo,class:"wl-gallery-column","data-index":Wo,style:normalizeStyle({gap:`${$o.gap}px`})},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ho,qo=>(openBlock(),createElementBlock(Fragment,{key:qo},[Bo.value[$o.items[qo].src]?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(q$2),{key:0,size:36,style:{margin:"20px auto"}})),createBaseVNode("img",{class:"wl-gallery-item",src:$o.items[qo].src,title:$o.items[qo].title,loading:"lazy",onLoad:Vo,onClick:Go=>Fo.$emit("insert",`![](${$o.items[qo].src})`)},null,40,Ee$1)],64))),128))],12,Re$1))),128))],4))}}),[["__file","ImageWall.vue"]]);const Se$1=["nick","mail","link"],_e$1=$o=>$o.filter(xo=>Se$1.includes(xo)),Ae$1=["//unpkg.com/@waline/emojis@1.1.0/weibo"],ze$1=$o=>new Promise((xo,Lo)=>{if($o.size>128e3)return Lo(new Error("File too large! File size limit 128KB"));const To=new FileReader;To.readAsDataURL($o),To.onload=()=>{var Ao;return xo(((Ao=To.result)==null?void 0:Ao.toString())||"")},To.onerror=Lo}),Ue$1=$o=>$o===!0?'

Tex is not available in preview

':'Tex is not available in preview',Me$1=$o=>{const xo=async(Lo,To={})=>fetch(`https://api.giphy.com/v1/gifs/${Lo}?${new URLSearchParams({lang:$o,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...To}).toString()}`).then(Ao=>Ao.json()).then(({data:Ao})=>Ao.map(Bo=>({title:Bo.title,src:Bo.images.downsized_medium.url})));return{search:Lo=>xo("search",{q:Lo,offset:"0"}),default:()=>xo("trending",{}),more:(Lo,To=0)=>xo("search",{q:Lo,offset:To.toString()})}},He$1=["//unpkg.com/@waline/emojis/tieba/tieba_agree.png","//unpkg.com/@waline/emojis/tieba/tieba_look_down.png","//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png","//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png","//unpkg.com/@waline/emojis/tieba/tieba_awkward.png","//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"],Oe$1=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/{let xo=0;return $o.replace(Oe$1,(Lo,To,Ao)=>{if(Ao)return`${Ao}`;if(To==="<")return"<";let Bo;Ve$1[To]?Bo=Ve$1[To]:(Bo=Pe$1[xo],Ve$1[To]=Bo);const Ro=`${To}`;return xo=++xo%Pe$1.length,Ro})},De$1=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest","reactionTitle"],Ne$1=$o=>Object.fromEntries($o.map((xo,Lo)=>[De$1[Lo],xo]));var Be$1=Ne$1(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words",`Please input comments between $0 and $1 words! +Please report this to https://github.com/markedjs/marked.`,xo.silent)return"

An error occurred:

"+escape(Lo.message+"",!0)+"
";throw Lo}};marked.Parser=Parser;marked.parser=Parser.parse;marked.Renderer=Renderer;marked.TextRenderer=TextRenderer;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.Tokenizer=Tokenizer;marked.Slugger=Slugger;marked.parse=marked;marked.options;marked.setOptions;marked.use;marked.walkTokens;marked.parseInline;Parser.parse;Lexer.lex;const O$3=({size:$o})=>h$4("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:$o,height:$o},[h$4("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),h$4("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})]),P$4=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),V$2=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),T$1=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[h$4("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),h$4("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),D$3=({active:$o=!1})=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[h$4("path",{d:"M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z"+($o?"":"M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"),fill:$o?"red":"currentColor"})]),N$2=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[h$4("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),h$4("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),B$3=()=>h$4("svg",{width:"16",height:"16",ariaHidden:"true"},h$4("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),W$2=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z",fill:"currentColor"})),F$3=()=>h$4("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},h$4("path",{d:"M813.039 318.772L480.53 651.278H360.718V531.463L693.227 198.961C697.904 194.284 704.027 192 710.157 192C716.302 192 722.436 194.284 727.114 198.961L813.039 284.88C817.72 289.561 820 295.684 820 301.825C820 307.95 817.72 314.093 813.039 318.772ZM710.172 261.888L420.624 551.431V591.376H460.561L750.109 301.825L710.172 261.888ZM490.517 291.845H240.906V771.09H720.156V521.479C720.156 504.947 733.559 491.529 750.109 491.529C766.653 491.529 780.063 504.947 780.063 521.479V791.059C780.063 813.118 762.18 831 740.125 831H220.937C198.882 831 181 813.118 181 791.059V271.872C181 249.817 198.882 231.935 220.937 231.935H490.517C507.06 231.935 520.47 245.352 520.47 261.888C520.47 278.424 507.06 291.845 490.517 291.845Z",fill:"currentColor"})),K$1=()=>h$4("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},h$4("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"})),q$2=({size:$o})=>h$4("svg",{width:$o,height:$o,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},h$4("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},h$4("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"}))),G$2=()=>h$4("svg",{width:24,height:24,fill:"currentcolor",viewBox:"0 0 24 24"},[h$4("path",{style:"transform: translateY(0.5px)",d:"M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z"}),h$4("path",{d:"M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"})]),Z$1={"Content-Type":"application/json"},J$2=($o,xo="")=>{if(typeof $o=="object"&&$o.errno)throw new TypeError(`${xo} failed with ${$o.errno}: ${$o.errmsg}`);return $o},Y$2=({serverURL:$o,lang:xo,path:Lo,type:To,action:Ao})=>fetch(`${$o}/article?lang=${xo}`,{method:"POST",headers:Z$1,body:JSON.stringify({path:Lo,type:To,action:Ao})}).then(Bo=>Bo.json()),X$1=({serverURL:$o,lang:xo,token:Lo,objectId:To,comment:Ao})=>fetch(`${$o}/comment/${To}?lang=${xo}`,{method:"PUT",headers:{...Z$1,Authorization:`Bearer ${Lo}`},body:JSON.stringify(Ao)}).then(Bo=>Bo.json()).then(Bo=>J$2(Bo,"Update comment"));let Q$2=null;const ee$1=()=>Q$2||(Q$2=useStorage("WALINE_LIKE",[]));let te$1=null;const ne$1=()=>te$1??(te$1=useStorage("WALINE_REACTION",{}));var ae$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},le$1={},ie$1={},oe$1={},re$1=ae$1&&ae$1.__awaiter||function($o,xo,Lo,To){return new(Lo||(Lo=Promise))(function(Ao,Bo){function Ro(zo){try{Mo(To.next(zo))}catch(Vo){Bo(Vo)}}function No(zo){try{Mo(To.throw(zo))}catch(Vo){Bo(Vo)}}function Mo(zo){var Vo;zo.done?Ao(zo.value):(Vo=zo.value,Vo instanceof Lo?Vo:new Lo(function(Fo){Fo(Vo)})).then(Ro,No)}Mo((To=To.apply($o,xo||[])).next())})},se$1=ae$1&&ae$1.__generator||function($o,xo){var Lo,To,Ao,Bo,Ro={label:0,sent:function(){if(1&Ao[0])throw Ao[1];return Ao[1]},trys:[],ops:[]};return Bo={next:No(0),throw:No(1),return:No(2)},typeof Symbol=="function"&&(Bo[Symbol.iterator]=function(){return this}),Bo;function No(Mo){return function(zo){return function(Vo){if(Lo)throw new TypeError("Generator is already executing.");for(;Ro;)try{if(Lo=1,To&&(Ao=2&Vo[0]?To.return:Vo[0]?To.throw||((Ao=To.return)&&Ao.call(To),0):To.next)&&!(Ao=Ao.call(To,Vo[1])).done)return Ao;switch(To=0,Ao&&(Vo=[2&Vo[0],Ao.value]),Vo[0]){case 0:case 1:Ao=Vo;break;case 4:return Ro.label++,{value:Vo[1],done:!1};case 5:Ro.label++,To=Vo[1],Vo=[0];continue;case 7:Vo=Ro.ops.pop(),Ro.trys.pop();continue;default:if(Ao=Ro.trys,!((Ao=Ao.length>0&&Ao[Ao.length-1])||Vo[0]!==6&&Vo[0]!==2)){Ro=0;continue}if(Vo[0]===3&&(!Ao||Vo[1]>Ao[0]&&Vo[1]"u")return Promise.reject(new Error("This is a library for the browser!"));if($o.getLoadingState()===ue$1.LOADED)return $o.instance.getSiteKey()===xo?Promise.resolve($o.instance):Promise.reject(new Error("reCAPTCHA already loaded with different site key!"));if($o.getLoadingState()===ue$1.LOADING)return xo!==$o.instanceSiteKey?Promise.reject(new Error("reCAPTCHA already loaded with different site key!")):new Promise(function(Ao,Bo){$o.successfulLoadingConsumers.push(function(Ro){return Ao(Ro)}),$o.errorLoadingRunnable.push(function(Ro){return Bo(Ro)})});$o.instanceSiteKey=xo,$o.setLoadingState(ue$1.LOADING);var To=new $o;return new Promise(function(Ao,Bo){To.loadScript(xo,Lo.useRecaptchaNet||!1,Lo.useEnterprise||!1,Lo.renderParameters?Lo.renderParameters:{},Lo.customUrl).then(function(){$o.setLoadingState(ue$1.LOADED);var Ro=To.doExplicitRender(grecaptcha,xo,Lo.explicitRenderParameters?Lo.explicitRenderParameters:{},Lo.useEnterprise||!1),No=new de$1.ReCaptchaInstance(xo,Ro,grecaptcha);$o.successfulLoadingConsumers.forEach(function(Mo){return Mo(No)}),$o.successfulLoadingConsumers=[],Lo.autoHideBadge&&No.hideBadge(),$o.instance=No,Ao(No)}).catch(function(Ro){$o.errorLoadingRunnable.forEach(function(No){return No(Ro)}),$o.errorLoadingRunnable=[],Bo(Ro)})})},$o.getInstance=function(){return $o.instance},$o.setLoadingState=function(xo){$o.loadingState=xo},$o.getLoadingState=function(){return $o.loadingState===null?ue$1.NOT_LOADED:$o.loadingState},$o.prototype.loadScript=function(xo,Lo,To,Ao,Bo){var Ro=this;Lo===void 0&&(Lo=!1),To===void 0&&(To=!1),Ao===void 0&&(Ao={}),Bo===void 0&&(Bo="");var No=document.createElement("script");No.setAttribute("recaptcha-v3-script","");var Mo="https://www.google.com/recaptcha/api.js";Lo&&(Mo=To?"https://recaptcha.net/recaptcha/enterprise.js":"https://recaptcha.net/recaptcha/api.js"),To&&(Mo="https://www.google.com/recaptcha/enterprise.js"),Bo&&(Mo=Bo),Ao.render&&(Ao.render=void 0);var zo=this.buildQueryString(Ao);return No.src=Mo+"?render=explicit"+zo,new Promise(function(Vo,Fo){No.addEventListener("load",Ro.waitForScriptToLoad(function(){Vo(No)},To),!1),No.onerror=function(Uo){$o.setLoadingState(ue$1.NOT_LOADED),Fo(Uo)},document.head.appendChild(No)})},$o.prototype.buildQueryString=function(xo){return Object.keys(xo).length<1?"":"&"+Object.keys(xo).filter(function(Lo){return!!xo[Lo]}).map(function(Lo){return Lo+"="+xo[Lo]}).join("&")},$o.prototype.waitForScriptToLoad=function(xo,Lo){var To=this;return function(){window.grecaptcha===void 0?setTimeout(function(){To.waitForScriptToLoad(xo,Lo)},$o.SCRIPT_LOAD_DELAY):Lo?window.grecaptcha.enterprise.ready(function(){xo()}):window.grecaptcha.ready(function(){xo()})}},$o.prototype.doExplicitRender=function(xo,Lo,To,Ao){var Bo={sitekey:Lo,badge:To.badge,size:To.size,tabindex:To.tabindex};return To.container?Ao?xo.enterprise.render(To.container,Bo):xo.render(To.container,Bo):Ao?xo.enterprise.render(Bo):xo.render(Bo)},$o.loadingState=null,$o.instance=null,$o.instanceSiteKey=null,$o.successfulLoadingConsumers=[],$o.errorLoadingRunnable=[],$o.SCRIPT_LOAD_DELAY=25,$o}();ie$1.load=me$1.load,ie$1.getInstance=me$1.getInstance,function($o){Object.defineProperty($o,"__esModule",{value:!0}),$o.ReCaptchaInstance=$o.getInstance=$o.load=void 0;var xo=ie$1;Object.defineProperty($o,"load",{enumerable:!0,get:function(){return xo.load}}),Object.defineProperty($o,"getInstance",{enumerable:!0,get:function(){return xo.getInstance}});var Lo=oe$1;Object.defineProperty($o,"ReCaptchaInstance",{enumerable:!0,get:function(){return Lo.ReCaptchaInstance}})}(le$1);const ve$1={};let pe$1=null;const he$1=()=>pe$1??(pe$1=useStorage("WALINE_USER",{})),ge$1={key:0,class:"wl-reaction"},fe$1=["textContent"],ye$1={class:"wl-reaction-list"},we$1=["onClick"],be$1={class:"wl-reaction-img"},ke$1=["src","alt"],Ce$1=["textContent"],$e$1=["textContent"];var Le$1=defineComponent({__name:"ArticleReaction",setup($o,{expose:xo}){xo();const Lo=ne$1(),To=inject("config"),Ao=ref(-1),Bo=ref([]),Ro=computed(()=>To.value.locale),No=computed(()=>To.value.reaction.length>0),Mo=computed(()=>{const{reaction:Fo,path:Uo}=To.value;return Fo.map((Ho,Wo)=>({icon:Ho,desc:Ro.value[`reaction${Wo}`],active:Lo.value[Uo]===Wo}))});let zo;const Vo=async()=>{if(No.value){const{serverURL:Fo,lang:Uo,path:Ho,reaction:Wo}=To.value,qo=new AbortController;zo=qo.abort.bind(qo);const Go=await(({serverURL:Yo,lang:Zo,paths:Jo,type:Ko,signal:Qo})=>fetch(`${Yo}/article?path=${encodeURIComponent(Jo.join(","))}&type=${encodeURIComponent(Ko.join(","))}&lang=${Zo}`,{signal:Qo}).then(aa=>aa.json()))({serverURL:Fo,lang:Uo,paths:[Ho],type:Wo.map((Yo,Zo)=>`reaction${Zo}`),signal:qo.signal});if(Array.isArray(Go)||typeof Go=="number")return;Bo.value=Wo.map((Yo,Zo)=>Go[`reaction${Zo}`])}};return onMounted(()=>{watch(()=>[To.value.serverURL,To.value.path],()=>{Vo()},{immediate:!0})}),onUnmounted(()=>zo==null?void 0:zo()),(Fo,Uo)=>unref(Mo).length?(openBlock(),createElementBlock("div",ge$1,[createBaseVNode("div",{class:"wl-reaction-title",textContent:toDisplayString(unref(Ro).reactionTitle)},null,8,fe$1),createBaseVNode("ul",ye$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(Mo),({active:Ho,icon:Wo,desc:qo},Go)=>(openBlock(),createElementBlock("li",{key:Go,class:normalizeClass(["wl-reaction-item",{active:Ho}]),onClick:Yo=>(async Zo=>{if(Ao.value===-1){const{serverURL:Jo,lang:Ko,path:Qo}=To.value,aa=Lo.value[Qo];Ao.value=Zo,aa!==void 0&&(await Y$2({serverURL:Jo,lang:Ko,path:Qo,type:`reaction${aa}`,action:"desc"}),Bo.value[aa]=Math.max(Bo.value[aa]-1,0)),aa!==Zo&&(await Y$2({serverURL:Jo,lang:Ko,path:Qo,type:`reaction${Zo}`}),Bo.value[Zo]=(Bo.value[Zo]||0)+1),aa===Zo?delete Lo.value[Qo]:Lo.value[Qo]=Zo,Ao.value=-1}})(Go)},[createBaseVNode("div",be$1,[createBaseVNode("img",{src:Wo,alt:qo},null,8,ke$1),Ao.value===Go?(openBlock(),createBlock(unref(q$2),{key:0,class:"wl-reaction-loading"})):(openBlock(),createElementBlock("div",{key:1,class:"wl-reaction-votes",textContent:toDisplayString(Bo.value[Go]||0)},null,8,Ce$1))]),createBaseVNode("div",{class:"wl-reaction-text",textContent:toDisplayString(qo)},null,8,$e$1)],10,we$1))),128))])])):createCommentVNode("v-if",!0)}}),xe$1=($o,xo)=>{const Lo=$o.__vccOpts||$o;for(const[To,Ao]of xo)Lo[To]=Ao;return Lo},Ie$1=xe$1(Le$1,[["__file","ArticleReaction.vue"]]);const Re$1=["data-index"],Ee$1=["src","title","onClick"];var je$1=xe$1(defineComponent({__name:"ImageWall",props:{items:{default:()=>[]},columnWidth:{default:300},gap:{default:0}},emits:["insert"],setup($o,{expose:xo}){const Lo=$o;xo();let To=null;const Ao=ref(null),Bo=ref({}),Ro=ref([]),No=()=>{const Fo=Math.floor((Ao.value.getBoundingClientRect().width+Lo.gap)/(Lo.columnWidth+Lo.gap));return Fo>0?Fo:1},Mo=async Fo=>{var Ho;if(Fo>=Lo.items.length)return;await nextTick();const Uo=Array.from(((Ho=Ao.value)==null?void 0:Ho.children)||[]).reduce((Wo,qo)=>qo.getBoundingClientRect().height{if(Ro.value.length===No()&&!Fo)return;var Uo;Ro.value=(Uo=No(),new Array(Uo).fill(null).map(()=>[]));const Ho=window.scrollY;await Mo(0),window.scrollTo({top:Ho})},Vo=Fo=>{Bo.value[Fo.target.src]=!0};return onMounted(()=>{zo(!0),To=new ResizeObserver(()=>{zo()}),To.observe(Ao.value),watch(()=>[Lo.items],()=>{Bo.value={},zo(!0)}),watch(()=>[Lo.columnWidth,Lo.gap],()=>{zo()})}),onBeforeUnmount(()=>To.unobserve(Ao.value)),(Fo,Uo)=>(openBlock(),createElementBlock("div",{ref_key:"wall",ref:Ao,class:"wl-gallery",style:normalizeStyle({gap:`${$o.gap}px`})},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ro.value,(Ho,Wo)=>(openBlock(),createElementBlock("div",{key:Wo,class:"wl-gallery-column","data-index":Wo,style:normalizeStyle({gap:`${$o.gap}px`})},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ho,qo=>(openBlock(),createElementBlock(Fragment,{key:qo},[Bo.value[$o.items[qo].src]?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(q$2),{key:0,size:36,style:{margin:"20px auto"}})),createBaseVNode("img",{class:"wl-gallery-item",src:$o.items[qo].src,title:$o.items[qo].title,loading:"lazy",onLoad:Vo,onClick:Go=>Fo.$emit("insert",`![](${$o.items[qo].src})`)},null,40,Ee$1)],64))),128))],12,Re$1))),128))],4))}}),[["__file","ImageWall.vue"]]);const Se$1=["nick","mail","link"],_e$1=$o=>$o.filter(xo=>Se$1.includes(xo)),Ae$1=["//unpkg.com/@waline/emojis@1.1.0/weibo"],ze$1=$o=>new Promise((xo,Lo)=>{if($o.size>128e3)return Lo(new Error("File too large! File size limit 128KB"));const To=new FileReader;To.readAsDataURL($o),To.onload=()=>{var Ao;return xo(((Ao=To.result)==null?void 0:Ao.toString())||"")},To.onerror=Lo}),Ue$1=$o=>$o===!0?'

Tex is not available in preview

':'Tex is not available in preview',Me$1=$o=>{const xo=async(Lo,To={})=>fetch(`https://api.giphy.com/v1/gifs/${Lo}?${new URLSearchParams({lang:$o,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...To}).toString()}`).then(Ao=>Ao.json()).then(({data:Ao})=>Ao.map(Bo=>({title:Bo.title,src:Bo.images.downsized_medium.url})));return{search:Lo=>xo("search",{q:Lo,offset:"0"}),default:()=>xo("trending",{}),more:(Lo,To=0)=>xo("search",{q:Lo,offset:To.toString()})}},He$1=["//unpkg.com/@waline/emojis/tieba/tieba_agree.png","//unpkg.com/@waline/emojis/tieba/tieba_look_down.png","//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png","//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png","//unpkg.com/@waline/emojis/tieba/tieba_awkward.png","//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"],Oe$1=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/{let xo=0;return $o.replace(Oe$1,(Lo,To,Ao)=>{if(Ao)return`${Ao}`;if(To==="<")return"<";let Bo;Ve$1[To]?Bo=Ve$1[To]:(Bo=Pe$1[xo],Ve$1[To]=Bo);const Ro=`${To}`;return xo=++xo%Pe$1.length,Ro})},De$1=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest","reactionTitle"],Ne$1=$o=>Object.fromEntries($o.map((xo,Lo)=>[De$1[Lo],xo]));var Be$1=Ne$1(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words",`Please input comments between $0 and $1 words! Current word number: $2`,"Anonymous","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest","What do you think?"]),We$1=Ne$1(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード",`コメントは $0 から $1 ワードの間でなければなりません! 現在の単語番号: $2`,"匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?"]),Fe$1=Ne$1(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字",`评论字数应在 $0 到 $1 字之间! 当前字数:$2`,"匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?"]),Ke$1=Ne$1(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎評論","來發評論吧~","提交","喜歡","取消喜歡","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字",`評論字數應在 $0 到 $1 字之間! 當前字數:$2`,"匿名","潛水","冒泡","吐槽","活躍","話癆","傳說","表情包","搜索表情包","個人資料","通過","待審核","垃圾","取消置頂","按倒序","按正序","按熱度","你認為這篇文章怎麼樣?"]),qe$1=Ne$1(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Like","Cancel like","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras",`Favor enviar comentário com $0 a $1 palavras! Número de palavras atuais: $2`,"Anônimo","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente","O que você acha?"]),Ge=Ne$1(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова",`Пожалуйста, введите комментарии от $0 до $1 слов! -Номер текущего слова: $2`,"Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]);const Ze$1={zh:Fe$1,"zh-cn":Fe$1,"zh-CN":Fe$1,"zh-tw":Ke$1,"zh-TW":Ke$1,en:Be$1,"en-US":Be$1,"en-us":Be$1,jp:We$1,ja:We$1,"jp-jp":We$1,"jp-JP":We$1,"pt-br":qe$1,"pt-BR":qe$1,ru:Ge,"ru-ru":Ge,"ru-RU":Ge},Je$1=$o=>{try{$o=decodeURI($o)}catch{}return $o},Ye=($o="")=>$o.replace(/\/$/u,""),Xe=$o=>/^(https?:)?\/\//.test($o),Qe$1=$o=>{const xo=Ye($o);return Xe(xo)?xo:`https://${xo}`},et=$o=>Array.isArray($o)?$o:!!$o&&[0,$o],tt$1=($o,xo)=>typeof $o=="function"?$o:$o!==!1&&xo,nt$1="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",at=($o,xo)=>{let Lo=$o.toString();for(;Lo.length{if(!$o)return"";const To=typeof $o=="string"?new Date($o.indexOf(" ")!==-1?$o.replace(/-/g,"/"):$o):$o,Ao=xo.getTime()-To.getTime(),Bo=Math.floor(Ao/864e5);if(Bo===0){const Ro=Ao%864e5,No=Math.floor(Ro/36e5);if(No===0){const Mo=Ro%36e5,zo=Math.floor(Mo/6e4);if(zo===0){const Vo=Mo%6e4;return`${Math.round(Vo/1e3)} ${Lo.seconds}`}return`${zo} ${Lo.minutes}`}return`${No} ${Lo.hours}`}return Bo<0?Lo.now:Bo<8?`${Bo} ${Lo.days}`:(Ro=>{const No=at(Ro.getDate(),2),Mo=at(Ro.getMonth()+1,2);return`${at(Ro.getFullYear(),2)}-${Mo}-${No}`})(To)},it$1=$o=>{const xo=useStorage("WALINE_EMOJI",{}),Lo=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test($o));if(Lo){const To=xo.value[$o];if(To)return Promise.resolve(To)}return fetch(`${$o}/info.json`).then(To=>To.json()).then(To=>{const Ao={folder:$o,...To};return Lo&&(xo.value[$o]=Ao),Ao})},ot$1=($o,xo="",Lo="",To="")=>`${xo?`${xo}/`:""}${Lo}${$o}${To?`.${To}`:""}`,rt$1=$o=>$o.type.includes("image"),st$1=$o=>{const xo=Array.from($o).find(rt$1);return xo?xo.getAsFile():null},ct$1=/\$.*?\$/,ut=/^\$(.*?)\$/,dt$1=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,mt$1=($o="",xo={})=>$o.replace(/:(.+?):/g,(Lo,To)=>xo[To]?`${To}`:Lo),vt$1=($o,{emojiMap:xo,highlighter:Lo,texRenderer:To})=>{if(marked.setOptions({highlight:Lo||void 0,breaks:!0,smartLists:!0,smartypants:!0}),To){const Ao=(Bo=>[{name:"blockMath",level:"block",tokenizer(Ro){const No=dt$1.exec(Ro);if(No!==null)return{type:"html",raw:No[0],text:Bo(!0,No[1])}}},{name:"inlineMath",level:"inline",start(Ro){const No=Ro.search(ct$1);return No!==-1?No:Ro.length},tokenizer(Ro){const No=ut.exec(Ro);if(No!==null)return{type:"html",raw:No[0],text:Bo(!1,No[1])}}}])(To);marked.use({extensions:Ao})}return marked.parse(mt$1($o,xo))},pt$1={class:"wl-comment"},ht={key:0,class:"wl-login-info"},gt$1={class:"wl-avatar"},ft$1=["title"],yt$1=["title"],wt$1=["src"],bt$1=["title","textContent"],kt$1={class:"wl-panel"},Ct$1=["for","textContent"],$t$1=["id","onUpdate:modelValue","name","type"],Lt=["placeholder"],xt$1={class:"wl-preview"},It$1=createBaseVNode("hr",null,null,-1),Rt$1=["innerHTML"],Et$1={class:"wl-footer"},jt$1={class:"wl-actions"},St$1={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noopener noreferrer"},_t$1=["title"],At$1=["title"],zt$1=["title"],Ut$1=["title"],Mt$1={class:"wl-info"},Ht$1={class:"wl-text-number"},Ot$1={key:0},Pt$1=["textContent"],Vt$1=["textContent"],Tt$1=["disabled"],Dt$1=["placeholder"],Nt$1={key:0,class:"wl-loading"},Bt$1={key:0,class:"wl-tab-wrapper"},Wt$1=["title","onClick"],Ft$1=["src","alt"],Kt$1={key:0,class:"wl-tabs"},qt$1=["onClick"],Gt$1=["src","alt","title"],Zt$1=["title"];var Jt$1=defineComponent({__name:"CommentBox",props:{edit:{default:null},rootId:{default:""},replyId:{default:""},replyUser:{default:""}},emits:["log","cancelEdit","cancelReply","submit"],setup($o,{expose:xo,emit:Lo}){const To=$o;xo();const Ao=inject("config"),Bo=useStorage("WALINE_COMMENT_BOX_EDITOR",""),Ro=useStorage("WALINE_USER_META",{nick:"",mail:"",link:""}),No=he$1(),Mo=ref({}),zo=ref(null),Vo=ref(null),Fo=ref(null),Uo=ref(null),Ho=ref(null),Wo=ref(null),qo=ref(null),Go=ref({tabs:[],map:{}}),Qo=ref(0),Ko=ref(!1),Zo=ref(!1),Yo=ref(!1),Jo=ref(""),aa=ref(0),ea=reactive({loading:!0,list:[]}),Xo=ref(0),la=ref(!1),fa=ref(""),wa=ref(!1),ma=ref(!1),na=computed(()=>Ao.value.locale),ra=computed(()=>{var da;return Boolean((da=No.value)==null?void 0:da.token)}),ta=computed(()=>Ao.value.imageUploader!==!1),ia=da=>{const ca=zo.value,ya=ca.selectionStart,pa=ca.selectionEnd||0,sa=ca.scrollTop;Bo.value=ca.value.substring(0,ya)+da+ca.value.substring(pa,ca.value.length),ca.focus(),ca.selectionStart=ya+da.length,ca.selectionEnd=ya+da.length,ca.scrollTop=sa},oa=da=>{const ca=da.key;(da.ctrlKey||da.metaKey)&&ca==="Enter"&&$a()},ua=da=>{const ca=`![${Ao.value.locale.uploading} ${da.name}]()`;return ia(ca),Promise.resolve().then(()=>Ao.value.imageUploader(da)).then(ya=>{Bo.value=Bo.value.replace(ca,`\r -![${da.name}](${ya})`)}).catch(ya=>{alert(ya.message),Bo.value=Bo.value.replace(ca,"")})},ha=da=>{var ca;if((ca=da.dataTransfer)!=null&&ca.items){const ya=st$1(da.dataTransfer.items);ya&&ta.value&&(ua(ya),da.preventDefault())}},ga=da=>{if(da.clipboardData){const ca=st$1(da.clipboardData.items);ca&&ta.value&&ua(ca)}},ka=()=>{const da=Vo.value;da.files&&ta.value&&ua(da.files[0]).then(()=>{da.value=""})},$a=async()=>{var Ea,Pa,La,Va,ja;const{serverURL:da,lang:ca,login:ya,wordLimit:pa,requiredMeta:sa}=Ao.value;let ba="";Ao.value.recaptchaV3Key&&(ba=await(Ba=>{const za=ve$1[Ba]??(ve$1[Ba]=le$1.load(Ba,{useRecaptchaNet:!0,autoHideBadge:!0}));return{execute:Ra=>za.then(Na=>Na.execute(Ra))}})(Ao.value.recaptchaV3Key).execute("social"));const va={comment:fa.value,nick:Ro.value.nick,mail:Ro.value.mail,link:Ro.value.link,ua:navigator.userAgent,url:Ao.value.path,recaptchaV3:ba};if((Ea=No.value)!=null&&Ea.token)va.nick=No.value.display_name,va.mail=No.value.email,va.link=No.value.url;else{if(ya==="force")return;if(sa.indexOf("nick")>-1&&!va.nick)return(Pa=Mo.value.nick)==null||Pa.focus(),alert(na.value.nickError);if(sa.indexOf("mail")>-1&&!va.mail||va.mail&&!/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(va.mail))return(La=Mo.value.mail)==null||La.focus(),alert(na.value.mailError);if(!va.comment)return void((Va=zo.value)==null?void 0:Va.focus());va.nick||(va.nick=na.value.anonymous)}if(!la.value)return alert(na.value.wordHint.replace("$0",pa[0].toString()).replace("$1",pa[1].toString()).replace("$2",aa.value.toString()));va.comment=mt$1(va.comment,Go.value.map),To.replyId&&To.rootId&&(va.pid=To.replyId,va.rid=To.rootId,va.at=To.replyUser),wa.value=!0;const Ia={serverURL:da,lang:ca,token:(ja=No.value)==null?void 0:ja.token,comment:va};(To.edit?X$1({objectId:To.edit.objectId,...Ia}):(({serverURL:Ba,lang:za,token:Ra,comment:Na})=>{const Ma={"Content-Type":"application/json"};return Ra&&(Ma.Authorization=`Bearer ${Ra}`),fetch(`${Ba}/comment?lang=${za}`,{method:"POST",headers:Ma,body:JSON.stringify(Na)}).then(Fa=>Fa.json())})(Ia)).then(Ba=>{var za;if(wa.value=!1,Ba.errmsg)return alert(Ba.errmsg);Lo("submit",Ba.data),Bo.value="",Jo.value="",To.replyId&&Lo("cancelReply"),(za=To.edit)!=null&&za.objectId&&Lo("cancelEdit")}).catch(Ba=>{wa.value=!1,alert(Ba.message)})},Sa=da=>{da.preventDefault();const{lang:ca,serverURL:ya}=Ao.value;(({lang:pa,serverURL:sa})=>{const ba=(window.innerWidth-450)/2,va=(window.innerHeight-450)/2,Ia=window.open(`${sa}/ui/login?lng=${encodeURIComponent(pa)}`,"_blank",`width=450,height=450,left=${ba},top=${va},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return Ia==null||Ia.postMessage({type:"TOKEN",data:null},"*"),new Promise(Ea=>{const Pa=({data:La})=>{La&&typeof La=="object"&&La.type==="userInfo"&&La.data.token&&(Ia==null||Ia.close(),window.removeEventListener("message",Pa),Ea(La.data))};window.addEventListener("message",Pa)})})({serverURL:ya,lang:ca}).then(pa=>{No.value=pa,(pa.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(pa)),Lo("log")})},Ca=()=>{No.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null"),Lo("log")},Ta=da=>{var va;da.preventDefault();const{lang:ca,serverURL:ya}=Ao.value,pa=(window.innerWidth-800)/2,sa=(window.innerHeight-800)/2,ba=new URLSearchParams({lng:ca,token:No.value.token});(va=window.open(`${ya}/ui/profile?${ba.toString()}`,"_blank",`width=800,height=800,left=${pa},top=${sa},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`))==null||va.postMessage({type:"TOKEN",data:No.value.token},"*")},Da=da=>{var ca,ya,pa,sa;(ca=Fo.value)!=null&&ca.contains(da.target)||(ya=Uo.value)!=null&&ya.contains(da.target)||(Ko.value=!1),(pa=Ho.value)!=null&&pa.contains(da.target)||(sa=Wo.value)!=null&&sa.contains(da.target)||(Zo.value=!1)},Oa=async da=>{var Ia;const{scrollTop:ca,clientHeight:ya,scrollHeight:pa}=da.target,sa=(ya+ca)/pa,ba=Ao.value.search,va=((Ia=qo.value)==null?void 0:Ia.value)||"";sa<.9||ea.loading||ma.value||(ea.loading=!0,(ba.more&&ea.list.length?await ba.more(va,ea.list.length):await ba.search(va)).length?ea.list=[...ea.list,...ba.more&&ea.list.length?await ba.more(va,ea.list.length):await ba.search(va)]:ma.value=!0,ea.loading=!1,setTimeout(()=>{da.target.scrollTop=ca},50))},Aa=useDebounceFn(da=>{ea.list=[],ma.value=!1,Oa(da)},300);watch([Ao,aa],([da,ca])=>{const{wordLimit:ya}=da;ya?caya[1]?(Xo.value=ya[1],la.value=!1):(Xo.value=ya[1],la.value=!0):(Xo.value=0,la.value=!0)},{immediate:!0});const xa=({data:da})=>{da&&da.type==="profile"&&(No.value={...No.value,...da.data},[localStorage,sessionStorage].filter(ca=>ca.getItem("WALINE_USER")).forEach(ca=>ca.setItem("WALINE_USER",JSON.stringify(No))))};return onMounted(()=>{var da;document.body.addEventListener("click",Da),window.addEventListener("message",xa),(da=To.edit)!=null&&da.objectId&&(Bo.value=To.edit.orig),watch(Zo,async ca=>{if(!ca)return;const ya=Ao.value.search;qo.value&&(qo.value.value=""),ea.loading=!0,ea.list=ya.default?await ya.default():await ya.search(""),ea.loading=!1}),watch(()=>Bo.value,ca=>{const{highlighter:ya,texRenderer:pa}=Ao.value;fa.value=ca,Jo.value=vt$1(ca,{emojiMap:Go.value.map,highlighter:ya,texRenderer:pa}),aa.value=(sa=>(ba=>ba.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(sa).reduce((ba,va)=>ba+(va.trim()===""?0:va.trim().split(/\s+/u).length),0)+(ba=>ba.match(/[\u4E00-\u9FA5]/gu)||[])(sa).length)(ca),ca?a$4(zo.value):a$4.destroy(zo.value)},{immediate:!0}),watch(()=>Ao.value.emoji,ca=>{return(ya=ca,Promise.all(ya.map(pa=>typeof pa=="string"?it$1(Ye(pa)):Promise.resolve(pa))).then(pa=>{const sa={tabs:[],map:{}};return pa.forEach(ba=>{const{name:va,folder:Ia,icon:Ea,prefix:Pa,type:La,items:Va}=ba;sa.tabs.push({name:va,icon:ot$1(Ea,Ia,Pa,La),items:Va.map(ja=>{const Ba=`${Pa||""}${ja}`;return sa.map[Ba]=ot$1(ja,Ia,Pa,La),Ba})})}),sa})).then(pa=>{Go.value=pa});var ya},{immediate:!0})}),onUnmounted(()=>{document.body.removeEventListener("click",Da),window.removeEventListener("message",xa)}),(da,ca)=>{var ya,pa;return openBlock(),createElementBlock("div",pt$1,[unref(Ao).login!=="disable"&&unref(ra)&&!((ya=$o.edit)!=null&&ya.objectId)?(openBlock(),createElementBlock("div",ht,[createBaseVNode("div",gt$1,[createBaseVNode("button",{type:"submit",class:"wl-logout-btn",title:unref(na).logout,onClick:Ca},[createVNode(unref(O$3),{size:14})],8,ft$1),createBaseVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:unref(na).profile,onClick:Ta},[createBaseVNode("img",{src:unref(No).avatar,alt:"avatar"},null,8,wt$1)],8,yt$1)]),createBaseVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:unref(na).profile,onClick:Ta,textContent:toDisplayString(unref(No).display_name)},null,8,bt$1)])):createCommentVNode("v-if",!0),createBaseVNode("div",kt$1,[unref(Ao).login!=="force"&&unref(Ao).meta.length&&!unref(ra)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["wl-header",`item${unref(Ao).meta.length}`])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(Ao).meta,sa=>(openBlock(),createElementBlock("div",{key:sa,class:"wl-header-item"},[createBaseVNode("label",{for:`wl-${sa}`,textContent:toDisplayString(unref(na)[sa]+(unref(Ao).requiredMeta.includes(sa)||!unref(Ao).requiredMeta.length?"":`(${unref(na).optional})`))},null,8,Ct$1),withDirectives(createBaseVNode("input",{id:`wl-${sa}`,ref_for:!0,ref:ba=>{ba&&(Mo.value[sa]=ba)},"onUpdate:modelValue":ba=>unref(Ro)[sa]=ba,class:normalizeClass(["wl-input",`wl-${sa}`]),name:sa,type:sa==="mail"?"email":"text"},null,10,$t$1),[[vModelDynamic,unref(Ro)[sa]]])]))),128))],2)):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("textarea",{id:"wl-edit",ref_key:"editorRef",ref:zo,"onUpdate:modelValue":ca[0]||(ca[0]=sa=>isRef(Bo)?Bo.value=sa:null),class:"wl-editor",placeholder:$o.replyUser?`@${$o.replyUser}`:unref(na).placeholder,onKeydown:oa,onDrop:ha,onPaste:ga},null,40,Lt),[[vModelText,unref(Bo)]]),withDirectives(createBaseVNode("div",xt$1,[It$1,createBaseVNode("h4",null,toDisplayString(unref(na).preview)+":",1),createBaseVNode("div",{class:"wl-content",innerHTML:Jo.value},null,8,Rt$1)],512),[[vShow,Yo.value]]),createBaseVNode("div",Et$1,[createBaseVNode("div",jt$1,[createBaseVNode("a",St$1,[createVNode(unref(B$3))]),withDirectives(createBaseVNode("button",{ref_key:"emojiButtonRef",ref:Fo,type:"button",class:normalizeClass(["wl-action",{active:Ko.value}]),title:unref(na).emoji,onClick:ca[1]||(ca[1]=sa=>Ko.value=!Ko.value)},[createVNode(unref(V$2))],10,_t$1),[[vShow,Go.value.tabs.length]]),unref(Ao).search?(openBlock(),createElementBlock("button",{key:0,ref_key:"gifButtonRef",ref:Ho,type:"button",class:normalizeClass(["wl-action",{active:Zo.value}]),title:unref(na).gif,onClick:ca[2]||(ca[2]=sa=>Zo.value=!Zo.value)},[createVNode(unref(G$2))],10,At$1)):createCommentVNode("v-if",!0),createBaseVNode("input",{id:"wl-image-upload",ref_key:"imageUploadRef",ref:Vo,class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:ka},null,544),unref(ta)?(openBlock(),createElementBlock("label",{key:1,for:"wl-image-upload",class:"wl-action",title:unref(na).uploadImage},[createVNode(unref(T$1))],8,zt$1)):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:normalizeClass(["wl-action",{active:Yo.value}]),title:unref(na).preview,onClick:ca[3]||(ca[3]=sa=>Yo.value=!Yo.value)},[createVNode(unref(N$2))],10,Ut$1)]),createBaseVNode("div",Mt$1,[createBaseVNode("div",Ht$1,[createTextVNode(toDisplayString(aa.value)+" ",1),unref(Ao).wordLimit?(openBlock(),createElementBlock("span",Ot$1,[createTextVNode("  /  "),createBaseVNode("span",{class:normalizeClass({illegal:!la.value}),textContent:toDisplayString(Xo.value)},null,10,Pt$1)])):createCommentVNode("v-if",!0),createTextVNode("  "+toDisplayString(unref(na).word),1)]),unref(Ao).login==="disable"||unref(ra)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("button",{key:0,type:"button",class:"wl-btn",onClick:Sa,textContent:toDisplayString(unref(na).login)},null,8,Vt$1)),unref(Ao).login!=="force"||unref(ra)?(openBlock(),createElementBlock("button",{key:1,type:"submit",class:"primary wl-btn",title:"Cmd|Ctrl + Enter",disabled:wa.value,onClick:$a},[wa.value?(openBlock(),createBlock(unref(q$2),{key:0,size:16})):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(unref(na).submit),1)],64))],8,Tt$1)):createCommentVNode("v-if",!0)]),createBaseVNode("div",{ref_key:"gifPopupRef",ref:Wo,class:normalizeClass(["wl-gif-popup",{display:Zo.value}])},[createBaseVNode("input",{ref_key:"gifSearchInputRef",ref:qo,type:"text",placeholder:unref(na).gifSearchPlaceholder,onInput:ca[4]||(ca[4]=(...sa)=>unref(Aa)&&unref(Aa)(...sa))},null,40,Dt$1),createVNode(je$1,{items:ea.list,"column-width":200,gap:6,onInsert:ca[5]||(ca[5]=sa=>ia(sa)),onScroll:Oa},null,8,["items"]),ea.loading?(openBlock(),createElementBlock("div",Nt$1,[createVNode(unref(q$2),{size:30})])):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{ref_key:"emojiPopupRef",ref:Uo,class:normalizeClass(["wl-emoji-popup",{display:Ko.value}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Go.value.tabs,(sa,ba)=>(openBlock(),createElementBlock(Fragment,{key:sa.name},[ba===Qo.value?(openBlock(),createElementBlock("div",Bt$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(sa.items,va=>(openBlock(),createElementBlock("button",{key:va,type:"button",title:va,onClick:Ia=>ia(`:${va}:`)},[Ko.value?(openBlock(),createElementBlock("img",{key:0,class:"wl-emoji",src:Go.value.map[va],alt:va,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Ft$1)):createCommentVNode("v-if",!0)],8,Wt$1))),128))])):createCommentVNode("v-if",!0)],64))),128)),Go.value.tabs.length>1?(openBlock(),createElementBlock("div",Kt$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(Go.value.tabs,(sa,ba)=>(openBlock(),createElementBlock("button",{key:sa.name,type:"button",class:normalizeClass(["wl-tab",{active:Qo.value===ba}]),onClick:va=>Qo.value=ba},[createBaseVNode("img",{class:"wl-emoji",src:sa.icon,alt:sa.name,title:sa.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Gt$1)],10,qt$1))),128))])):createCommentVNode("v-if",!0)],2)])]),$o.replyId||(pa=$o.edit)!=null&&pa.objectId?(openBlock(),createElementBlock("button",{key:1,type:"button",class:"wl-close",title:unref(na).cancelReply,onClick:ca[6]||(ca[6]=sa=>da.$emit($o.replyId?"cancelReply":"cancelEdit"))},[createVNode(unref(O$3),{size:24})],8,Zt$1)):createCommentVNode("v-if",!0)])}}}),Yt$1=xe$1(Jt$1,[["__file","CommentBox.vue"]]);const Xt$1=["id"],Qt$1={class:"wl-user","aria-hidden":"true"},en$1=["src"],tn$1={class:"wl-card"},nn$1={class:"wl-head"},an$1=["href"],ln$1={key:1,class:"wl-nick"},on$1=["textContent"],rn$1=["textContent"],sn$1=["textContent"],cn$1=["textContent"],un$1=["textContent"],dn$1={class:"wl-comment-actions"},mn$1=["title"],vn$1=["textContent"],pn$1=["title"],hn$1={class:"wl-meta","aria-hidden":"true"},gn$1=["data-value","textContent"],fn$1=["data-value","textContent"],yn$1=["data-value","textContent"],wn$1=["innerHTML"],bn$1={key:1,class:"wl-admin-actions"},kn$1={class:"wl-comment-status"},Cn$1=["disabled","onClick","textContent"],$n$1={key:3,class:"wl-quote"};var Ln$1=xe$1(defineComponent({__name:"CommentCard",props:{comment:null,edit:{default:null},rootId:null,reply:{default:null}},emits:["log","submit","delete","edit","like","status","sticky","reply"],setup($o){const xo=$o,Lo=["approved","waiting","spam"],To=inject("config"),Ao=ee$1(),Bo=useNow(),Ro=he$1(),No=computed(()=>To.value.locale),Mo=computed(()=>{const{link:qo}=xo.comment;return qo?Xe(qo)?qo:`https://${qo}`:""}),zo=computed(()=>Ao.value.includes(xo.comment.objectId)),Vo=computed(()=>lt$1(xo.comment.insertedAt,Bo.value,No.value)),Fo=computed(()=>Ro.value.type==="administrator"),Uo=computed(()=>xo.comment.user_id&&Ro.value.objectId===xo.comment.user_id),Ho=computed(()=>{var qo;return xo.comment.objectId===((qo=xo.reply)==null?void 0:qo.objectId)}),Wo=computed(()=>{var qo;return xo.comment.objectId===((qo=xo.edit)==null?void 0:qo.objectId)});return(qo,Go)=>{var Ko;const Qo=resolveComponent("CommentCard",!0);return openBlock(),createElementBlock("div",{id:$o.comment.objectId,class:"wl-card-item"},[createBaseVNode("div",Qt$1,[$o.comment.avatar?(openBlock(),createElementBlock("img",{key:0,src:$o.comment.avatar},null,8,en$1)):createCommentVNode("v-if",!0),$o.comment.type?(openBlock(),createBlock(unref(K$1),{key:1})):createCommentVNode("v-if",!0)]),createBaseVNode("div",tn$1,[createBaseVNode("div",nn$1,[unref(Mo)?(openBlock(),createElementBlock("a",{key:0,class:"wl-nick",href:unref(Mo),target:"_blank",rel:"noopener noreferrer"},toDisplayString($o.comment.nick),9,an$1)):(openBlock(),createElementBlock("span",ln$1,toDisplayString($o.comment.nick),1)),$o.comment.type==="administrator"?(openBlock(),createElementBlock("span",{key:2,class:"wl-badge",textContent:toDisplayString(unref(No).admin)},null,8,on$1)):createCommentVNode("v-if",!0),$o.comment.label?(openBlock(),createElementBlock("span",{key:3,class:"wl-badge",textContent:toDisplayString($o.comment.label)},null,8,rn$1)):createCommentVNode("v-if",!0),$o.comment.sticky?(openBlock(),createElementBlock("span",{key:4,class:"wl-badge",textContent:toDisplayString(unref(No).sticky)},null,8,sn$1)):createCommentVNode("v-if",!0),$o.comment.level!==void 0&&$o.comment.level>=0?(openBlock(),createElementBlock("span",{key:5,class:normalizeClass(`wl-badge level${$o.comment.level}`),textContent:toDisplayString(unref(No)[`level${$o.comment.level}`]||`Level ${$o.comment.level}`)},null,10,cn$1)):createCommentVNode("v-if",!0),createBaseVNode("span",{class:"wl-time",textContent:toDisplayString(unref(Vo))},null,8,un$1),createBaseVNode("div",dn$1,[unref(Fo)||unref(Uo)?(openBlock(),createElementBlock("button",{key:0,type:"button",class:"wl-edit",onClick:Go[0]||(Go[0]=()=>qo.$emit("edit",$o.comment))},[createVNode(unref(F$3))])):createCommentVNode("v-if",!0),unref(Fo)||unref(Uo)?(openBlock(),createElementBlock("button",{key:1,type:"button",class:"wl-delete",onClick:Go[1]||(Go[1]=Zo=>qo.$emit("delete",$o.comment))},[createVNode(unref(P$4))])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:"wl-like",title:unref(zo)?unref(No).cancelLike:unref(No).like,onClick:Go[2]||(Go[2]=Zo=>qo.$emit("like",$o.comment))},[createVNode(unref(D$3),{active:unref(zo)},null,8,["active"]),"like"in $o.comment?(openBlock(),createElementBlock("span",{key:0,textContent:toDisplayString($o.comment.like)},null,8,vn$1)):createCommentVNode("v-if",!0)],8,mn$1),createBaseVNode("button",{type:"button",class:normalizeClass(["wl-reply",{active:unref(Ho)}]),title:unref(Ho)?unref(No).cancelReply:unref(No).reply,onClick:Go[3]||(Go[3]=Zo=>qo.$emit("reply",unref(Ho)?null:$o.comment))},[createVNode(unref(W$2))],10,pn$1)])]),createBaseVNode("div",hn$1,[$o.comment.addr?(openBlock(),createElementBlock("span",{key:0,class:"wl-addr","data-value":$o.comment.addr,textContent:toDisplayString($o.comment.addr)},null,8,gn$1)):createCommentVNode("v-if",!0),$o.comment.browser?(openBlock(),createElementBlock("span",{key:1,class:"wl-browser","data-value":$o.comment.browser,textContent:toDisplayString($o.comment.browser)},null,8,fn$1)):createCommentVNode("v-if",!0),$o.comment.os?(openBlock(),createElementBlock("span",{key:2,class:"wl-os","data-value":$o.comment.os,textContent:toDisplayString($o.comment.os)},null,8,yn$1)):createCommentVNode("v-if",!0)]),unref(Wo)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:0,class:"wl-content",innerHTML:$o.comment.comment},null,8,wn$1)),unref(Fo)&&!unref(Wo)?(openBlock(),createElementBlock("div",bn$1,[createBaseVNode("span",kn$1,[(openBlock(),createElementBlock(Fragment,null,renderList(Lo,Zo=>createBaseVNode("button",{key:Zo,type:"submit",class:normalizeClass(`wl-btn wl-${Zo}`),disabled:$o.comment.status===Zo,onClick:Yo=>qo.$emit("status",{status:Zo,comment:$o.comment}),textContent:toDisplayString(unref(No)[Zo])},null,10,Cn$1)),64))]),unref(Fo)&&!$o.comment.rid?(openBlock(),createElementBlock("button",{key:0,type:"submit",class:"wl-btn wl-sticky",onClick:Go[4]||(Go[4]=Zo=>qo.$emit("sticky",$o.comment))},toDisplayString($o.comment.sticky?unref(No).unsticky:unref(No).sticky),1)):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),unref(Ho)||unref(Wo)?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass({"wl-reply-wrapper":unref(Ho),"wl-edit-wrapper":unref(Wo)})},[createVNode(Yt$1,{edit:$o.edit,"reply-id":(Ko=$o.reply)==null?void 0:Ko.objectId,"reply-user":$o.comment.nick,"root-id":$o.rootId,onLog:Go[5]||(Go[5]=Zo=>qo.$emit("log")),onCancelReply:Go[6]||(Go[6]=Zo=>qo.$emit("reply",null)),onCancelEdit:Go[7]||(Go[7]=Zo=>qo.$emit("edit",null)),onSubmit:Go[8]||(Go[8]=Zo=>qo.$emit("submit",Zo))},null,8,["edit","reply-id","reply-user","root-id"])],2)):createCommentVNode("v-if",!0),$o.comment.children?(openBlock(),createElementBlock("div",$n$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList($o.comment.children,Zo=>(openBlock(),createBlock(Qo,{key:Zo.objectId,comment:Zo,reply:$o.reply,edit:$o.edit,"root-id":$o.rootId,onLog:Go[9]||(Go[9]=Yo=>qo.$emit("log")),onDelete:Go[10]||(Go[10]=Yo=>qo.$emit("delete",Yo)),onEdit:Go[11]||(Go[11]=Yo=>qo.$emit("edit",Yo)),onLike:Go[12]||(Go[12]=Yo=>qo.$emit("like",Yo)),onReply:Go[13]||(Go[13]=Yo=>qo.$emit("reply",Yo)),onStatus:Go[14]||(Go[14]=Yo=>qo.$emit("status",Yo)),onSticky:Go[15]||(Go[15]=Yo=>qo.$emit("sticky",Yo)),onSubmit:Go[16]||(Go[16]=Yo=>qo.$emit("submit",Yo))},null,8,["comment","reply","edit","root-id"]))),128))])):createCommentVNode("v-if",!0)])],8,Xt$1)}}}),[["__file","CommentCard.vue"]]);const xn$1="2.14.7",In$1={"data-waline":""},Rn$1={class:"wl-meta-head"},En$1={class:"wl-count"},jn$1=["textContent"],Sn$1={class:"wl-sort"},_n$1=["onClick"],An$1={class:"wl-cards"},zn$1={key:1,class:"wl-operation"},Un$1=["textContent"],Mn$1={key:0,class:"wl-loading"},Hn$1=["textContent"],On$1={key:2,class:"wl-operation"},Pn$1=["textContent"],Vn$1={key:3,class:"wl-power"},Tn$1=createBaseVNode("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noopener noreferrer"}," Waline ",-1);var Dn$1=defineComponent({__name:"WalineComment",props:["serverURL","path","meta","requiredMeta","dark","commentSorting","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright","recaptchaV3Key","reaction"],setup($o){const xo=$o,Lo={latest:"insertedAt_desc",oldest:"insertedAt_asc",hottest:"like_desc"},To=Object.keys(Lo),Ao=he$1(),Bo=ee$1(),Ro=ref("loading"),No=ref(0),Mo=ref(1),zo=ref(0),Vo=computed(()=>(({serverURL:ma,path:na=location.pathname,lang:ra=typeof navigator>"u"?"en-US":navigator.language,locale:ta,emoji:ia=Ae$1,meta:oa=["nick","mail","link"],requiredMeta:ua=[],dark:ha=!1,pageSize:ga=10,wordLimit:ka,imageUploader:$a,highlighter:Sa,texRenderer:Ca,copyright:Ta=!0,login:Da="enable",search:Oa,reaction:Aa,recaptchaV3Key:xa="",commentSorting:da="latest",...ca})=>({serverURL:Qe$1(ma),path:Je$1(na),locale:{...Ze$1[ra]||Ze$1["en-US"],...typeof ta=="object"?ta:{}},wordLimit:et(ka),meta:_e$1(oa),requiredMeta:_e$1(ua),imageUploader:tt$1($a,ze$1),highlighter:tt$1(Sa,Te$1),texRenderer:tt$1(Ca,Ue$1),lang:Object.keys(Ze$1).includes(ra)?ra:"en-US",dark:ha,emoji:typeof ia=="boolean"?ia?Ae$1:[]:ia,pageSize:ga,login:Da,copyright:Ta,search:Oa!==!1&&(typeof Oa=="object"?Oa:Me$1(ra)),recaptchaV3Key:xa,reaction:Array.isArray(Aa)?Aa:Aa===!0?He$1:[],commentSorting:da,...ca}))(xo)),Fo=ref(Vo.value.commentSorting),Uo=ref([]),Ho=ref(null),Wo=ref(null),qo=computed(()=>{return typeof(ma=Vo.value.dark)=="string"?ma==="auto"?`@media(prefers-color-scheme:dark){body${nt$1}}`:`${ma}${nt$1}`:ma===!0?`:root${nt$1}`:"";var ma}),Go=computed(()=>Vo.value.locale);let Qo;useStyleTag(qo);const Ko=ma=>{var oa;const{serverURL:na,path:ra,pageSize:ta}=Vo.value,ia=new AbortController;Ro.value="loading",Qo==null||Qo(),(({serverURL:ua,lang:ha,path:ga,page:ka,pageSize:$a,sortBy:Sa,signal:Ca,token:Ta})=>{const Da={};return Ta&&(Da.Authorization=`Bearer ${Ta}`),fetch(`${ua}/comment?path=${encodeURIComponent(ga)}&pageSize=${$a}&page=${ka}&lang=${ha}&sortBy=${Sa}`,{signal:Ca,headers:Da}).then(Oa=>Oa.json()).then(Oa=>J$2(Oa,"Get comment data"))})({serverURL:na,lang:Vo.value.lang,path:ra,pageSize:ta,sortBy:Lo[Fo.value],page:ma,signal:ia.signal,token:(oa=Ao.value)==null?void 0:oa.token}).then(ua=>{Ro.value="success",No.value=ua.count,Uo.value.push(...ua.data),Mo.value=ma,zo.value=ua.totalPages}).catch(ua=>{ua.name!=="AbortError"&&(console.error(ua.message),Ro.value="error")}),Qo=ia.abort.bind(ia)},Zo=()=>Ko(Mo.value+1),Yo=()=>{No.value=0,Uo.value=[],Ko(1)},Jo=ma=>{Ho.value=ma},aa=ma=>{Wo.value=ma},ea=ma=>{if(Wo.value)Wo.value.comment=ma.comment,Wo.value.orig=ma.orig;else if(ma.rid){const na=Uo.value.find(({objectId:ra})=>ra===ma.rid);if(!na)return;Array.isArray(na.children)||(na.children=[]),na.children.push(ma)}else Uo.value.unshift(ma)},Xo=async({comment:ma,status:na})=>{var ia;if(ma.status===na)return;const{serverURL:ra,lang:ta}=Vo.value;await X$1({serverURL:ra,lang:ta,token:(ia=Ao.value)==null?void 0:ia.token,objectId:ma.objectId,comment:{status:na}}),ma.status=na},la=async ma=>{var ta;if(ma.rid)return;const{serverURL:na,lang:ra}=Vo.value;await X$1({serverURL:na,lang:ra,token:(ta=Ao.value)==null?void 0:ta.token,objectId:ma.objectId,comment:{sticky:ma.sticky?0:1}}),ma.sticky=!ma.sticky},fa=async({objectId:ma})=>{var ta;if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:na,lang:ra}=Vo.value;await(({serverURL:ia,lang:oa,token:ua,objectId:ha})=>fetch(`${ia}/comment/${ha}?lang=${oa}`,{method:"DELETE",headers:{Authorization:`Bearer ${ua}`}}).then(ga=>ga.json()).then(ga=>J$2(ga,"Delete comment")))({serverURL:na,lang:ra,token:(ta=Ao.value)==null?void 0:ta.token,objectId:ma}),Uo.value.some((ia,oa)=>ia.objectId===ma?(Uo.value=Uo.value.filter((ua,ha)=>ha!==oa),!0):ia.children.some((ua,ha)=>ua.objectId===ma&&(Uo.value[oa].children=ia.children.filter((ga,ka)=>ka!==ha),!0)))},wa=async ma=>{var oa;const{serverURL:na,lang:ra}=Vo.value,{objectId:ta}=ma,ia=Bo.value.includes(ta);await X$1({serverURL:na,lang:ra,objectId:ta,token:(oa=Ao.value)==null?void 0:oa.token,comment:{like:!ia}}),ia?Bo.value=Bo.value.filter(ua=>ua!==ta):(Bo.value=[...Bo.value,ta],Bo.value.length>50&&(Bo.value=Bo.value.slice(-50))),ma.like=(ma.like||0)+(ia?-1:1)};return provide("config",Vo),onMounted(()=>{watch(()=>[xo.serverURL,xo.path],()=>Yo(),{immediate:!0})}),onUnmounted(()=>Qo==null?void 0:Qo()),(ma,na)=>(openBlock(),createElementBlock("div",In$1,[createVNode(Ie$1),Ho.value?createCommentVNode("v-if",!0):(openBlock(),createBlock(Yt$1,{key:0,onLog:Yo,onSubmit:ea})),createBaseVNode("div",Rn$1,[createBaseVNode("div",En$1,[No.value?(openBlock(),createElementBlock("span",{key:0,class:"wl-num",textContent:toDisplayString(No.value)},null,8,jn$1)):createCommentVNode("v-if",!0),createTextVNode(" "+toDisplayString(unref(Go).comment),1)]),createBaseVNode("ul",Sn$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(To),ra=>(openBlock(),createElementBlock("li",{key:ra,class:normalizeClass([ra===Fo.value?"active":""]),onClick:ta=>(ia=>{Fo.value!==ia&&(Fo.value=ia,Yo())})(ra)},toDisplayString(unref(Go)[ra]),11,_n$1))),128))])]),createBaseVNode("div",An$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(Uo.value,ra=>(openBlock(),createBlock(Ln$1,{key:ra.objectId,"root-id":ra.objectId,comment:ra,reply:Ho.value,edit:Wo.value,onLog:Yo,onReply:Jo,onEdit:aa,onSubmit:ea,onStatus:Xo,onDelete:fa,onSticky:la,onLike:wa},null,8,["root-id","comment","reply","edit"]))),128))]),Ro.value==="error"?(openBlock(),createElementBlock("div",zn$1,[createBaseVNode("button",{type:"button",class:"wl-btn",onClick:Yo,textContent:toDisplayString(unref(Go).refresh)},null,8,Un$1)])):(openBlock(),createElementBlock(Fragment,{key:2},[Ro.value==="loading"?(openBlock(),createElementBlock("div",Mn$1,[createVNode(unref(q$2),{size:30})])):Uo.value.length?Mo.value(({serverURL:Ao,lang:Bo,paths:Ro,type:No,signal:Mo})=>fetch(`${Ao}/article?path=${encodeURIComponent(Ro.join(","))}&type=${encodeURIComponent(No.join(","))}&lang=${Bo}`,{signal:Mo}).then(zo=>zo.json()))({serverURL:$o,lang:xo,paths:Lo,type:["time"],signal:To}).then(Ao=>Array.isArray(Ao)?Ao:[Ao]),a$3=$o=>(({serverURL:xo,lang:Lo,path:To,type:Ao,action:Bo})=>fetch(`${xo}/article?lang=${Lo}`,{method:"POST",headers:t$2,body:JSON.stringify({path:To,type:Ao,action:Bo})}).then(Ro=>Ro.json()))({...$o,type:"time",action:"inc"}),r$3=$o=>{const xo=((Lo="")=>Lo.replace(/\/$/u,""))($o);return/^(https?:)?\/\//.test(xo)?xo:`https://${xo}`},o$3=$o=>{$o.name!=="AbortError"&&console.error($o.message)},l$3=$o=>$o.dataset.path||$o.getAttribute("id"),s$2=($o,xo)=>{xo.forEach((Lo,To)=>{Lo.innerText=$o[To].toString()})},i$4=({serverURL:$o,path:xo=window.location.pathname,selector:Lo=".waline-pageview-count",update:To=!0,lang:Ao=navigator.language})=>{const Bo=new AbortController,Ro=Array.from(document.querySelectorAll(Lo)),No=zo=>{const Vo=l$3(zo);return Vo!==null&&xo!==Vo},Mo=zo=>n$2({serverURL:r$3($o),paths:zo.map(Vo=>l$3(Vo)||xo),lang:Ao,signal:Bo.signal}).then(Vo=>s$2(Vo,zo)).catch(o$3);if(To){const zo=Ro.filter(Fo=>!No(Fo)),Vo=Ro.filter(No);a$3({serverURL:r$3($o),path:xo,lang:Ao}).then(Fo=>s$2(new Array(zo.length).fill(Fo),zo)),Vo.length&&Mo(Vo)}else Mo(Ro);return Bo.abort.bind(Bo)},waline$1="",waline="",e$2={provider:"Waline",dark:"auto",serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],login:"enable",reaction:!1},A$5={"/en/":{placeholder:"Write a comment here (Fill in the email address to receive an email notification when being replied)"},"/":{placeholder:"请留言。(填写邮箱可在被回复时收到邮件提醒)"}},m$2=Boolean(e$2.serverURL);__vitePreload(()=>import("./waline-meta-a31b78ed.js"),[]);var B$2=defineComponent({name:"WalineComment",setup(){const $o=useRoute(),xo=usePageFrontmatter(),Lo=usePageLang(),To=Yt$2(A$5);let Ao;const Bo=computed(()=>{if(!m$2)return!1;const Mo=e$2.comment!==!1,zo=xo.value.comment;return Boolean(zo)||Mo!==!1&&zo!==!1}),Ro=computed(()=>{if(!m$2)return!1;const Mo=e$2.pageview!==!1,zo=xo.value.pageview;return Boolean(zo)||Mo!==!1&&zo!==!1}),No=computed(()=>({lang:Lo.value==="zh-CN"?"zh-CN":"en",locale:To.value,dark:"html.dark",...e$2,path:withBase($o.path)}));return onMounted(()=>{watch(()=>$o.path,()=>{Ao==null||Ao(),Ro.value&&setTimeout(()=>{Ao=i$4({serverURL:e$2.serverURL,path:withBase($o.path)})},e$2.delay||800)},{immediate:!0})}),()=>Bo.value?h$4("div",{class:"waline-wrapper",id:"comment"},m$2?h$4(Nn$1,No.value):[]):null}});const d$4={provider:"Waline",dark:"auto",serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],login:"enable",reaction:!1}.comment!==!1,i$3=defineComponent({name:"CommentService",props:{darkmode:Boolean},setup($o){const xo=usePageFrontmatter(),Lo=computed(()=>xo.value.comment||d$4&&xo.value.comment!==!1);return()=>h$4(B$2,{darkmode:$o.darkmode,style:{display:Lo.value?"block":"none"}})}});var l$2=defineClientConfig({enhance:({app:$o})=>{$o.component("CommentService",i$3)}});const message="",balloon="",button="",O$2=800,_$2={"/en/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"},"/":{copy:"复制代码",copied:"已复制",hint:"复制成功"}},A$4=['.theme-hope-content div[class*="language-"] pre'],g$4=!1,w$3=async $o=>{try{return navigator.clipboard.writeText($o)}catch{const xo=document.createElement("textarea"),Lo=document.activeElement;xo.value=$o,xo.setAttribute("readonly",""),xo.style.contain="strict",xo.style.position="absolute",xo.style.left="-9999px",xo.style.fontSize="12pt";const To=document.getSelection(),Ao=To?To.rangeCount>0&&To.getRangeAt(0):null;document.body.appendChild(xo),xo.select(),xo.selectionStart=0,xo.selectionEnd=$o.length,document.execCommand("copy"),document.body.removeChild(xo),Ao&&(To.removeAllRanges(),To.addRange(Ao)),Lo&&Lo.focus()}},d$3=new Map,x$2=()=>{const $o=useRoute(),xo=Yt$2(_$2),Lo=Bo=>{if(!Bo.hasAttribute("copy-code-registered")){const Ro=document.createElement("button");Ro.classList.add("copy-code-button"),Ro.innerHTML='
',Ro.setAttribute("aria-label",xo.value.copy),Ro.setAttribute("data-copied",xo.value.copied),Bo.parentElement&&Bo.parentElement.insertBefore(Ro,Bo),Bo.setAttribute("copy-code-registered","")}},To=()=>{setTimeout(()=>{A$4.forEach(Bo=>{document.querySelectorAll(Bo).forEach(Lo)})},O$2)},Ao=(Bo,Ro,No)=>{let{innerText:Mo=""}=Ro;/language-(shellscript|shell|bash|sh|zsh)/.test(Bo.classList.toString())&&(Mo=Mo.replace(/^ *(\$|>) /gm,"")),w$3(Mo).then(()=>{No.classList.add("copied"),clearTimeout(d$3.get(No));const zo=setTimeout(()=>{No.classList.remove("copied"),No.blur(),d$3.delete(No)},2e3);d$3.set(No,zo)})};onMounted(()=>{const{userAgent:Bo}=navigator;new ce$2,(!Lt$1(Bo)||g$4)&&To(),window.addEventListener("click",Ro=>{const No=Ro.target;if(No.matches('div[class*="language-"] > button.copy')){const Mo=No.parentElement,zo=No.nextElementSibling;zo&&Ao(Mo,zo,No)}else if(No.matches('div[class*="language-"] div.copy-icon')){const Mo=No.parentElement,zo=Mo.parentElement,Vo=Mo.nextElementSibling;Vo&&Ao(zo,Vo,Mo)}}),watch(()=>$o.path,()=>{(!Lt$1(Bo)||g$4)&&To()})})};var D$2=defineClientConfig({setup:()=>{x$2()}});const chart="",LoadingIcon$1=()=>h$4(R$2,{name:"loading"},()=>["0s","-0.333s","-0.667s"].map($o=>h$4("circle",{cx:512,cy:512,r:0,fill:"none",stroke:"currentColor","stroke-width":"20"},[h$4("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;400",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:$o}),h$4("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:$o})]))),parseChartConfig=(config,type)=>{if(type==="json")return JSON.parse(config);const exports={},module={exports};return eval(config),module.exports};var ChartJS=defineComponent({name:"ChartJS",props:{config:{type:String,required:!0},id:{type:String,required:!0},title:{type:String,default:""},type:{type:String,default:"json"}},setup($o){const xo=ref(),Lo=ref(),To=ref(!0);return onMounted(()=>{Promise.all([__vitePreload(()=>import("./auto-5a6868c8.js"),[]),new Promise(Ao=>setTimeout(Ao,800))]).then(([{default:Ao}])=>{Ao.defaults.maintainAspectRatio=!1;const Bo=parseChartConfig(le$2($o.config),$o.type),Ro=Lo.value.getContext("2d");new Ao(Ro,Bo),To.value=!1})}),()=>[$o.title?h$4("div",{class:"chart-title"},decodeURIComponent($o.title)):null,To.value?h$4("div",{class:"chart-loading-wrapper"},h$4(LoadingIcon$1)):null,h$4("div",{ref:xo,class:"chart-wrapper",id:$o.id,style:{display:To.value?"none":"block"}},h$4("canvas",{ref:Lo,height:400}))]}});const codeTabs="",o$2=useStorage("VUEPRESS_CODE_TAB_STORE",{});var S$4=defineComponent({name:"CodeTabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},setup($o,{slots:xo}){const Lo=ref($o.active),To=ref([]),Ao=()=>{if($o.tabId){const{title:zo,id:Vo=zo}=$o.data[Lo.value];o$2.value[$o.tabId]=Vo}},Bo=(zo=Lo.value)=>{Lo.value=zo{Lo.value=zo>0?zo-1:To.value.length-1,To.value[Lo.value].focus()},No=(zo,Vo)=>{if(zo.key===" "||zo.key==="Enter"?(zo.preventDefault(),Lo.value=Vo):zo.key==="ArrowRight"?(zo.preventDefault(),Bo()):zo.key==="ArrowLeft"&&(zo.preventDefault(),Ro()),$o.tabId){const{title:Fo,id:Uo=Fo}=$o.data[Lo.value];o$2.value[$o.tabId]=Uo}},Mo=()=>{if($o.tabId){const zo=$o.data.findIndex(({title:Vo,id:Fo=Vo})=>o$2.value[$o.tabId]===Fo);if(zo!==-1)return zo}return $o.active};return onMounted(()=>{Lo.value=Mo(),watch(()=>o$2.value[$o.tabId],(zo,Vo)=>{if($o.tabId&&zo!==Vo){const Fo=$o.data.findIndex(({title:Uo,id:Ho=Uo})=>Ho===zo);Fo!==-1&&(Lo.value=Fo)}})}),()=>$o.data.length?h$4("div",{class:"code-tabs"},[h$4("div",{class:"code-tabs-nav",role:"tablist"},$o.data.map(({title:zo},Vo)=>{const Fo=Vo===Lo.value;return h$4("button",{ref:Uo=>{Uo&&(To.value[Vo]=Uo)},class:["code-tabs-nav-tab",{active:Fo}],role:"tab","aria-controls":`codetab-${$o.id}-${Vo}`,"aria-selected":Fo,onClick:()=>{Lo.value=Vo,Ao()},onKeydown:Uo=>No(Uo,Vo)},zo)})),$o.data.map(({title:zo,id:Vo=zo},Fo)=>{var Uo;const Ho=Fo===Lo.value;return h$4("div",{class:["code-tab",{active:Ho}],id:`codetab-${$o.id}-${Fo}`,role:"tabpanel","aria-expanded":Ho},(Uo=xo[`tab${Fo}`])==null?void 0:Uo.call(xo,{title:zo,value:Vo,isActive:Ho}))})]):null}});const codeGroup="",c$2=({active:$o=!1},{slots:xo})=>{var Lo;return h$4("div",{class:["code-group-item",{active:$o}],"aria-selected":$o},(Lo=xo.default)==null?void 0:Lo.call(xo))};c$2.displayName="CodeGroupItem";const y$3=defineComponent({name:"CodeGroup",setup($o,{slots:xo}){const Lo=ref(-1),To=ref([]),Ao=(No=Lo.value)=>{Lo.value=No{Lo.value=No>0?No-1:To.value.length-1,To.value[Lo.value].focus()},Ro=(No,Mo)=>{No.key===" "||No.key==="Enter"?(No.preventDefault(),Lo.value=Mo):No.key==="ArrowRight"?(No.preventDefault(),Ao(Mo)):No.key==="ArrowLeft"&&(No.preventDefault(),Bo(Mo))};return()=>{var No;const Mo=(((No=xo.default)==null?void 0:No.call(xo))||[]).filter(zo=>zo.type.name==="CodeGroupItem").map(zo=>(zo.props===null&&(zo.props={}),zo));return Mo.length===0?null:(Lo.value<0||Lo.value>Mo.length-1?(Lo.value=Mo.findIndex(zo=>"active"in zo.props),Lo.value===-1&&(Lo.value=0)):Mo.forEach((zo,Vo)=>{zo.props.active=Vo===Lo.value}),h$4("div",{class:"code-group"},[h$4("div",{class:"code-group-nav"},Mo.map((zo,Vo)=>{const Fo=Vo===Lo.value;return h$4("button",{ref:Uo=>{Uo&&(To.value[Vo]=Uo)},class:["code-group-nav-tab",{active:Fo}],"aria-pressed":Fo,"aria-expanded":Fo,onClick:()=>{Lo.value=Vo},onKeydown:Uo=>Ro(Uo,Vo)},zo.props.title)})),Mo]))}}}),index$2="",codeDemo="",N$1=()=>h$4(R$2,{name:"loading"},()=>["0s","-0.333s","-0.667s"].map($o=>h$4("circle",{cx:512,cy:512,r:0,fill:"none",stroke:"currentColor","stroke-width":"20"},[h$4("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;400",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:$o}),h$4("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:$o})]))),A$3='',k$4='',L$1={useBabel:!1,jsLib:[],cssLib:[],codepenLayout:"left",codepenEditors:"101",babel:"https://unpkg.com/@babel/standalone/babel.min.js",vue:"https://unpkg.com/vue/dist/vue.global.prod.js",react:"https://unpkg.com/react/umd/react.production.min.js",reactDOM:"https://unpkg.com/react-dom/umd/react-dom.production.min.js"},x$1={html:{types:["html","slim","haml","md","markdown","vue"],map:{html:"none",vue:"none",md:"markdown"}},js:{types:["js","javascript","coffee","coffeescript","ts","typescript","ls","livescript"],map:{js:"none",javascript:"none",coffee:"coffeescript",ls:"livescript",ts:"typescript"}},css:{types:["css","less","sass","scss","stylus","styl"],map:{css:"none",styl:"stylus"}}},D$1=($o,xo,Lo)=>{const To=document.createElement($o);return isPlainObject(xo)&&Dt$2(xo).forEach(Ao=>{if(Ao.indexOf("data"))To[Ao]=xo[Ao];else{const Bo=Ao.replace("data","");To.dataset[Bo]=xo[Ao]}}),Lo&&Lo.forEach(Ao=>{To.appendChild(Ao)}),To},w$2=$o=>({...L$1,...$o,jsLib:Array.from(new Set([...L$1.jsLib||[],...$o.jsLib||[]])),cssLib:Array.from(new Set([...L$1.cssLib||[],...$o.cssLib||[]]))}),v$2=($o,xo)=>{if($o[xo]!==void 0)return $o[xo];const Lo=new Promise(To=>{var Ao;const Bo=document.createElement("script");Bo.src=xo,(Ao=document.querySelector("body"))==null||Ao.appendChild(Bo),Bo.onload=()=>{To()}});return $o[xo]=Lo,Lo},R$1=($o,xo)=>{if(xo.css&&Array.from($o.childNodes).every(Lo=>Lo.nodeName!=="STYLE")){const Lo=D$1("style",{innerHTML:xo.css});$o.appendChild(Lo)}},B$1=($o,xo,Lo)=>{const To=Lo.getScript();if(To&&Array.from(xo.childNodes).every(Ao=>Ao.nodeName!=="SCRIPT")){const Ao=document.createElement("script");Ao.appendChild(document.createTextNode(`{const document=window.document.querySelector('#${$o} .code-demo-container').shadowRoot; +Номер текущего слова: $2`,"Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]);const Ze$1={zh:Fe$1,"zh-cn":Fe$1,"zh-CN":Fe$1,"zh-tw":Ke$1,"zh-TW":Ke$1,en:Be$1,"en-US":Be$1,"en-us":Be$1,jp:We$1,ja:We$1,"jp-jp":We$1,"jp-JP":We$1,"pt-br":qe$1,"pt-BR":qe$1,ru:Ge,"ru-ru":Ge,"ru-RU":Ge},Je$1=$o=>{try{$o=decodeURI($o)}catch{}return $o},Ye=($o="")=>$o.replace(/\/$/u,""),Xe=$o=>/^(https?:)?\/\//.test($o),Qe$1=$o=>{const xo=Ye($o);return Xe(xo)?xo:`https://${xo}`},et=$o=>Array.isArray($o)?$o:!!$o&&[0,$o],tt$1=($o,xo)=>typeof $o=="function"?$o:$o!==!1&&xo,nt$1="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",at=($o,xo)=>{let Lo=$o.toString();for(;Lo.length{if(!$o)return"";const To=typeof $o=="string"?new Date($o.indexOf(" ")!==-1?$o.replace(/-/g,"/"):$o):$o,Ao=xo.getTime()-To.getTime(),Bo=Math.floor(Ao/864e5);if(Bo===0){const Ro=Ao%864e5,No=Math.floor(Ro/36e5);if(No===0){const Mo=Ro%36e5,zo=Math.floor(Mo/6e4);if(zo===0){const Vo=Mo%6e4;return`${Math.round(Vo/1e3)} ${Lo.seconds}`}return`${zo} ${Lo.minutes}`}return`${No} ${Lo.hours}`}return Bo<0?Lo.now:Bo<8?`${Bo} ${Lo.days}`:(Ro=>{const No=at(Ro.getDate(),2),Mo=at(Ro.getMonth()+1,2);return`${at(Ro.getFullYear(),2)}-${Mo}-${No}`})(To)},it$1=$o=>{const xo=useStorage("WALINE_EMOJI",{}),Lo=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test($o));if(Lo){const To=xo.value[$o];if(To)return Promise.resolve(To)}return fetch(`${$o}/info.json`).then(To=>To.json()).then(To=>{const Ao={folder:$o,...To};return Lo&&(xo.value[$o]=Ao),Ao})},ot$1=($o,xo="",Lo="",To="")=>`${xo?`${xo}/`:""}${Lo}${$o}${To?`.${To}`:""}`,rt$1=$o=>$o.type.includes("image"),st$1=$o=>{const xo=Array.from($o).find(rt$1);return xo?xo.getAsFile():null},ct$1=/\$.*?\$/,ut=/^\$(.*?)\$/,dt$1=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,mt$1=($o="",xo={})=>$o.replace(/:(.+?):/g,(Lo,To)=>xo[To]?`${To}`:Lo),vt$1=($o,{emojiMap:xo,highlighter:Lo,texRenderer:To})=>{if(marked.setOptions({highlight:Lo||void 0,breaks:!0,smartLists:!0,smartypants:!0}),To){const Ao=(Bo=>[{name:"blockMath",level:"block",tokenizer(Ro){const No=dt$1.exec(Ro);if(No!==null)return{type:"html",raw:No[0],text:Bo(!0,No[1])}}},{name:"inlineMath",level:"inline",start(Ro){const No=Ro.search(ct$1);return No!==-1?No:Ro.length},tokenizer(Ro){const No=ut.exec(Ro);if(No!==null)return{type:"html",raw:No[0],text:Bo(!1,No[1])}}}])(To);marked.use({extensions:Ao})}return marked.parse(mt$1($o,xo))},pt$1={class:"wl-comment"},ht={key:0,class:"wl-login-info"},gt$1={class:"wl-avatar"},ft$1=["title"],yt$1=["title"],wt$1=["src"],bt$1=["title","textContent"],kt$1={class:"wl-panel"},Ct$1=["for","textContent"],$t$1=["id","onUpdate:modelValue","name","type"],Lt=["placeholder"],xt$1={class:"wl-preview"},It$1=createBaseVNode("hr",null,null,-1),Rt$1=["innerHTML"],Et$1={class:"wl-footer"},jt$1={class:"wl-actions"},St$1={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noopener noreferrer"},_t$1=["title"],At$1=["title"],zt$1=["title"],Ut$1=["title"],Mt$1={class:"wl-info"},Ht$1={class:"wl-text-number"},Ot$1={key:0},Pt$1=["textContent"],Vt$1=["textContent"],Tt$1=["disabled"],Dt$1=["placeholder"],Nt$1={key:0,class:"wl-loading"},Bt$1={key:0,class:"wl-tab-wrapper"},Wt$1=["title","onClick"],Ft$1=["src","alt"],Kt$1={key:0,class:"wl-tabs"},qt$1=["onClick"],Gt$1=["src","alt","title"],Zt$1=["title"];var Jt$1=defineComponent({__name:"CommentBox",props:{edit:{default:null},rootId:{default:""},replyId:{default:""},replyUser:{default:""}},emits:["log","cancelEdit","cancelReply","submit"],setup($o,{expose:xo,emit:Lo}){const To=$o;xo();const Ao=inject("config"),Bo=useStorage("WALINE_COMMENT_BOX_EDITOR",""),Ro=useStorage("WALINE_USER_META",{nick:"",mail:"",link:""}),No=he$1(),Mo=ref({}),zo=ref(null),Vo=ref(null),Fo=ref(null),Uo=ref(null),Ho=ref(null),Wo=ref(null),qo=ref(null),Go=ref({tabs:[],map:{}}),Yo=ref(0),Zo=ref(!1),Jo=ref(!1),Ko=ref(!1),Qo=ref(""),aa=ref(0),ea=reactive({loading:!0,list:[]}),Xo=ref(0),la=ref(!1),fa=ref(""),wa=ref(!1),ma=ref(!1),na=computed(()=>Ao.value.locale),ra=computed(()=>{var da;return Boolean((da=No.value)==null?void 0:da.token)}),ta=computed(()=>Ao.value.imageUploader!==!1),ia=da=>{const ca=zo.value,ya=ca.selectionStart,pa=ca.selectionEnd||0,sa=ca.scrollTop;Bo.value=ca.value.substring(0,ya)+da+ca.value.substring(pa,ca.value.length),ca.focus(),ca.selectionStart=ya+da.length,ca.selectionEnd=ya+da.length,ca.scrollTop=sa},oa=da=>{const ca=da.key;(da.ctrlKey||da.metaKey)&&ca==="Enter"&&$a()},ua=da=>{const ca=`![${Ao.value.locale.uploading} ${da.name}]()`;return ia(ca),Promise.resolve().then(()=>Ao.value.imageUploader(da)).then(ya=>{Bo.value=Bo.value.replace(ca,`\r +![${da.name}](${ya})`)}).catch(ya=>{alert(ya.message),Bo.value=Bo.value.replace(ca,"")})},ha=da=>{var ca;if((ca=da.dataTransfer)!=null&&ca.items){const ya=st$1(da.dataTransfer.items);ya&&ta.value&&(ua(ya),da.preventDefault())}},ga=da=>{if(da.clipboardData){const ca=st$1(da.clipboardData.items);ca&&ta.value&&ua(ca)}},ka=()=>{const da=Vo.value;da.files&&ta.value&&ua(da.files[0]).then(()=>{da.value=""})},$a=async()=>{var Ea,Pa,La,Va,ja;const{serverURL:da,lang:ca,login:ya,wordLimit:pa,requiredMeta:sa}=Ao.value;let ba="";Ao.value.recaptchaV3Key&&(ba=await(Ba=>{const za=ve$1[Ba]??(ve$1[Ba]=le$1.load(Ba,{useRecaptchaNet:!0,autoHideBadge:!0}));return{execute:Ra=>za.then(Na=>Na.execute(Ra))}})(Ao.value.recaptchaV3Key).execute("social"));const va={comment:fa.value,nick:Ro.value.nick,mail:Ro.value.mail,link:Ro.value.link,ua:navigator.userAgent,url:Ao.value.path,recaptchaV3:ba};if((Ea=No.value)!=null&&Ea.token)va.nick=No.value.display_name,va.mail=No.value.email,va.link=No.value.url;else{if(ya==="force")return;if(sa.indexOf("nick")>-1&&!va.nick)return(Pa=Mo.value.nick)==null||Pa.focus(),alert(na.value.nickError);if(sa.indexOf("mail")>-1&&!va.mail||va.mail&&!/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(va.mail))return(La=Mo.value.mail)==null||La.focus(),alert(na.value.mailError);if(!va.comment)return void((Va=zo.value)==null?void 0:Va.focus());va.nick||(va.nick=na.value.anonymous)}if(!la.value)return alert(na.value.wordHint.replace("$0",pa[0].toString()).replace("$1",pa[1].toString()).replace("$2",aa.value.toString()));va.comment=mt$1(va.comment,Go.value.map),To.replyId&&To.rootId&&(va.pid=To.replyId,va.rid=To.rootId,va.at=To.replyUser),wa.value=!0;const Ia={serverURL:da,lang:ca,token:(ja=No.value)==null?void 0:ja.token,comment:va};(To.edit?X$1({objectId:To.edit.objectId,...Ia}):(({serverURL:Ba,lang:za,token:Ra,comment:Na})=>{const Ma={"Content-Type":"application/json"};return Ra&&(Ma.Authorization=`Bearer ${Ra}`),fetch(`${Ba}/comment?lang=${za}`,{method:"POST",headers:Ma,body:JSON.stringify(Na)}).then(Fa=>Fa.json())})(Ia)).then(Ba=>{var za;if(wa.value=!1,Ba.errmsg)return alert(Ba.errmsg);Lo("submit",Ba.data),Bo.value="",Qo.value="",To.replyId&&Lo("cancelReply"),(za=To.edit)!=null&&za.objectId&&Lo("cancelEdit")}).catch(Ba=>{wa.value=!1,alert(Ba.message)})},Sa=da=>{da.preventDefault();const{lang:ca,serverURL:ya}=Ao.value;(({lang:pa,serverURL:sa})=>{const ba=(window.innerWidth-450)/2,va=(window.innerHeight-450)/2,Ia=window.open(`${sa}/ui/login?lng=${encodeURIComponent(pa)}`,"_blank",`width=450,height=450,left=${ba},top=${va},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return Ia==null||Ia.postMessage({type:"TOKEN",data:null},"*"),new Promise(Ea=>{const Pa=({data:La})=>{La&&typeof La=="object"&&La.type==="userInfo"&&La.data.token&&(Ia==null||Ia.close(),window.removeEventListener("message",Pa),Ea(La.data))};window.addEventListener("message",Pa)})})({serverURL:ya,lang:ca}).then(pa=>{No.value=pa,(pa.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(pa)),Lo("log")})},Ca=()=>{No.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null"),Lo("log")},Ta=da=>{var va;da.preventDefault();const{lang:ca,serverURL:ya}=Ao.value,pa=(window.innerWidth-800)/2,sa=(window.innerHeight-800)/2,ba=new URLSearchParams({lng:ca,token:No.value.token});(va=window.open(`${ya}/ui/profile?${ba.toString()}`,"_blank",`width=800,height=800,left=${pa},top=${sa},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`))==null||va.postMessage({type:"TOKEN",data:No.value.token},"*")},Da=da=>{var ca,ya,pa,sa;(ca=Fo.value)!=null&&ca.contains(da.target)||(ya=Uo.value)!=null&&ya.contains(da.target)||(Zo.value=!1),(pa=Ho.value)!=null&&pa.contains(da.target)||(sa=Wo.value)!=null&&sa.contains(da.target)||(Jo.value=!1)},Oa=async da=>{var Ia;const{scrollTop:ca,clientHeight:ya,scrollHeight:pa}=da.target,sa=(ya+ca)/pa,ba=Ao.value.search,va=((Ia=qo.value)==null?void 0:Ia.value)||"";sa<.9||ea.loading||ma.value||(ea.loading=!0,(ba.more&&ea.list.length?await ba.more(va,ea.list.length):await ba.search(va)).length?ea.list=[...ea.list,...ba.more&&ea.list.length?await ba.more(va,ea.list.length):await ba.search(va)]:ma.value=!0,ea.loading=!1,setTimeout(()=>{da.target.scrollTop=ca},50))},Aa=useDebounceFn(da=>{ea.list=[],ma.value=!1,Oa(da)},300);watch([Ao,aa],([da,ca])=>{const{wordLimit:ya}=da;ya?caya[1]?(Xo.value=ya[1],la.value=!1):(Xo.value=ya[1],la.value=!0):(Xo.value=0,la.value=!0)},{immediate:!0});const xa=({data:da})=>{da&&da.type==="profile"&&(No.value={...No.value,...da.data},[localStorage,sessionStorage].filter(ca=>ca.getItem("WALINE_USER")).forEach(ca=>ca.setItem("WALINE_USER",JSON.stringify(No))))};return onMounted(()=>{var da;document.body.addEventListener("click",Da),window.addEventListener("message",xa),(da=To.edit)!=null&&da.objectId&&(Bo.value=To.edit.orig),watch(Jo,async ca=>{if(!ca)return;const ya=Ao.value.search;qo.value&&(qo.value.value=""),ea.loading=!0,ea.list=ya.default?await ya.default():await ya.search(""),ea.loading=!1}),watch(()=>Bo.value,ca=>{const{highlighter:ya,texRenderer:pa}=Ao.value;fa.value=ca,Qo.value=vt$1(ca,{emojiMap:Go.value.map,highlighter:ya,texRenderer:pa}),aa.value=(sa=>(ba=>ba.match(/[\w\d\s\u00C0-\u024F]+/giu)||[])(sa).reduce((ba,va)=>ba+(va.trim()===""?0:va.trim().split(/\s+/u).length),0)+(ba=>ba.match(/[\u4E00-\u9FA5]/gu)||[])(sa).length)(ca),ca?a$4(zo.value):a$4.destroy(zo.value)},{immediate:!0}),watch(()=>Ao.value.emoji,ca=>{return(ya=ca,Promise.all(ya.map(pa=>typeof pa=="string"?it$1(Ye(pa)):Promise.resolve(pa))).then(pa=>{const sa={tabs:[],map:{}};return pa.forEach(ba=>{const{name:va,folder:Ia,icon:Ea,prefix:Pa,type:La,items:Va}=ba;sa.tabs.push({name:va,icon:ot$1(Ea,Ia,Pa,La),items:Va.map(ja=>{const Ba=`${Pa||""}${ja}`;return sa.map[Ba]=ot$1(ja,Ia,Pa,La),Ba})})}),sa})).then(pa=>{Go.value=pa});var ya},{immediate:!0})}),onUnmounted(()=>{document.body.removeEventListener("click",Da),window.removeEventListener("message",xa)}),(da,ca)=>{var ya,pa;return openBlock(),createElementBlock("div",pt$1,[unref(Ao).login!=="disable"&&unref(ra)&&!((ya=$o.edit)!=null&&ya.objectId)?(openBlock(),createElementBlock("div",ht,[createBaseVNode("div",gt$1,[createBaseVNode("button",{type:"submit",class:"wl-logout-btn",title:unref(na).logout,onClick:Ca},[createVNode(unref(O$3),{size:14})],8,ft$1),createBaseVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:unref(na).profile,onClick:Ta},[createBaseVNode("img",{src:unref(No).avatar,alt:"avatar"},null,8,wt$1)],8,yt$1)]),createBaseVNode("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:unref(na).profile,onClick:Ta,textContent:toDisplayString(unref(No).display_name)},null,8,bt$1)])):createCommentVNode("v-if",!0),createBaseVNode("div",kt$1,[unref(Ao).login!=="force"&&unref(Ao).meta.length&&!unref(ra)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["wl-header",`item${unref(Ao).meta.length}`])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(Ao).meta,sa=>(openBlock(),createElementBlock("div",{key:sa,class:"wl-header-item"},[createBaseVNode("label",{for:`wl-${sa}`,textContent:toDisplayString(unref(na)[sa]+(unref(Ao).requiredMeta.includes(sa)||!unref(Ao).requiredMeta.length?"":`(${unref(na).optional})`))},null,8,Ct$1),withDirectives(createBaseVNode("input",{id:`wl-${sa}`,ref_for:!0,ref:ba=>{ba&&(Mo.value[sa]=ba)},"onUpdate:modelValue":ba=>unref(Ro)[sa]=ba,class:normalizeClass(["wl-input",`wl-${sa}`]),name:sa,type:sa==="mail"?"email":"text"},null,10,$t$1),[[vModelDynamic,unref(Ro)[sa]]])]))),128))],2)):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("textarea",{id:"wl-edit",ref_key:"editorRef",ref:zo,"onUpdate:modelValue":ca[0]||(ca[0]=sa=>isRef(Bo)?Bo.value=sa:null),class:"wl-editor",placeholder:$o.replyUser?`@${$o.replyUser}`:unref(na).placeholder,onKeydown:oa,onDrop:ha,onPaste:ga},null,40,Lt),[[vModelText,unref(Bo)]]),withDirectives(createBaseVNode("div",xt$1,[It$1,createBaseVNode("h4",null,toDisplayString(unref(na).preview)+":",1),createBaseVNode("div",{class:"wl-content",innerHTML:Qo.value},null,8,Rt$1)],512),[[vShow,Ko.value]]),createBaseVNode("div",Et$1,[createBaseVNode("div",jt$1,[createBaseVNode("a",St$1,[createVNode(unref(B$3))]),withDirectives(createBaseVNode("button",{ref_key:"emojiButtonRef",ref:Fo,type:"button",class:normalizeClass(["wl-action",{active:Zo.value}]),title:unref(na).emoji,onClick:ca[1]||(ca[1]=sa=>Zo.value=!Zo.value)},[createVNode(unref(V$2))],10,_t$1),[[vShow,Go.value.tabs.length]]),unref(Ao).search?(openBlock(),createElementBlock("button",{key:0,ref_key:"gifButtonRef",ref:Ho,type:"button",class:normalizeClass(["wl-action",{active:Jo.value}]),title:unref(na).gif,onClick:ca[2]||(ca[2]=sa=>Jo.value=!Jo.value)},[createVNode(unref(G$2))],10,At$1)):createCommentVNode("v-if",!0),createBaseVNode("input",{id:"wl-image-upload",ref_key:"imageUploadRef",ref:Vo,class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:ka},null,544),unref(ta)?(openBlock(),createElementBlock("label",{key:1,for:"wl-image-upload",class:"wl-action",title:unref(na).uploadImage},[createVNode(unref(T$1))],8,zt$1)):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:normalizeClass(["wl-action",{active:Ko.value}]),title:unref(na).preview,onClick:ca[3]||(ca[3]=sa=>Ko.value=!Ko.value)},[createVNode(unref(N$2))],10,Ut$1)]),createBaseVNode("div",Mt$1,[createBaseVNode("div",Ht$1,[createTextVNode(toDisplayString(aa.value)+" ",1),unref(Ao).wordLimit?(openBlock(),createElementBlock("span",Ot$1,[createTextVNode("  /  "),createBaseVNode("span",{class:normalizeClass({illegal:!la.value}),textContent:toDisplayString(Xo.value)},null,10,Pt$1)])):createCommentVNode("v-if",!0),createTextVNode("  "+toDisplayString(unref(na).word),1)]),unref(Ao).login==="disable"||unref(ra)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("button",{key:0,type:"button",class:"wl-btn",onClick:Sa,textContent:toDisplayString(unref(na).login)},null,8,Vt$1)),unref(Ao).login!=="force"||unref(ra)?(openBlock(),createElementBlock("button",{key:1,type:"submit",class:"primary wl-btn",title:"Cmd|Ctrl + Enter",disabled:wa.value,onClick:$a},[wa.value?(openBlock(),createBlock(unref(q$2),{key:0,size:16})):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(unref(na).submit),1)],64))],8,Tt$1)):createCommentVNode("v-if",!0)]),createBaseVNode("div",{ref_key:"gifPopupRef",ref:Wo,class:normalizeClass(["wl-gif-popup",{display:Jo.value}])},[createBaseVNode("input",{ref_key:"gifSearchInputRef",ref:qo,type:"text",placeholder:unref(na).gifSearchPlaceholder,onInput:ca[4]||(ca[4]=(...sa)=>unref(Aa)&&unref(Aa)(...sa))},null,40,Dt$1),createVNode(je$1,{items:ea.list,"column-width":200,gap:6,onInsert:ca[5]||(ca[5]=sa=>ia(sa)),onScroll:Oa},null,8,["items"]),ea.loading?(openBlock(),createElementBlock("div",Nt$1,[createVNode(unref(q$2),{size:30})])):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{ref_key:"emojiPopupRef",ref:Uo,class:normalizeClass(["wl-emoji-popup",{display:Zo.value}])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Go.value.tabs,(sa,ba)=>(openBlock(),createElementBlock(Fragment,{key:sa.name},[ba===Yo.value?(openBlock(),createElementBlock("div",Bt$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(sa.items,va=>(openBlock(),createElementBlock("button",{key:va,type:"button",title:va,onClick:Ia=>ia(`:${va}:`)},[Zo.value?(openBlock(),createElementBlock("img",{key:0,class:"wl-emoji",src:Go.value.map[va],alt:va,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Ft$1)):createCommentVNode("v-if",!0)],8,Wt$1))),128))])):createCommentVNode("v-if",!0)],64))),128)),Go.value.tabs.length>1?(openBlock(),createElementBlock("div",Kt$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(Go.value.tabs,(sa,ba)=>(openBlock(),createElementBlock("button",{key:sa.name,type:"button",class:normalizeClass(["wl-tab",{active:Yo.value===ba}]),onClick:va=>Yo.value=ba},[createBaseVNode("img",{class:"wl-emoji",src:sa.icon,alt:sa.name,title:sa.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Gt$1)],10,qt$1))),128))])):createCommentVNode("v-if",!0)],2)])]),$o.replyId||(pa=$o.edit)!=null&&pa.objectId?(openBlock(),createElementBlock("button",{key:1,type:"button",class:"wl-close",title:unref(na).cancelReply,onClick:ca[6]||(ca[6]=sa=>da.$emit($o.replyId?"cancelReply":"cancelEdit"))},[createVNode(unref(O$3),{size:24})],8,Zt$1)):createCommentVNode("v-if",!0)])}}}),Yt$1=xe$1(Jt$1,[["__file","CommentBox.vue"]]);const Xt$1=["id"],Qt$1={class:"wl-user","aria-hidden":"true"},en$1=["src"],tn$1={class:"wl-card"},nn$1={class:"wl-head"},an$1=["href"],ln$1={key:1,class:"wl-nick"},on$1=["textContent"],rn$1=["textContent"],sn$1=["textContent"],cn$1=["textContent"],un$1=["textContent"],dn$1={class:"wl-comment-actions"},mn$1=["title"],vn$1=["textContent"],pn$1=["title"],hn$1={class:"wl-meta","aria-hidden":"true"},gn$1=["data-value","textContent"],fn$1=["data-value","textContent"],yn$1=["data-value","textContent"],wn$1=["innerHTML"],bn$1={key:1,class:"wl-admin-actions"},kn$1={class:"wl-comment-status"},Cn$1=["disabled","onClick","textContent"],$n$1={key:3,class:"wl-quote"};var Ln$1=xe$1(defineComponent({__name:"CommentCard",props:{comment:null,edit:{default:null},rootId:null,reply:{default:null}},emits:["log","submit","delete","edit","like","status","sticky","reply"],setup($o){const xo=$o,Lo=["approved","waiting","spam"],To=inject("config"),Ao=ee$1(),Bo=useNow(),Ro=he$1(),No=computed(()=>To.value.locale),Mo=computed(()=>{const{link:qo}=xo.comment;return qo?Xe(qo)?qo:`https://${qo}`:""}),zo=computed(()=>Ao.value.includes(xo.comment.objectId)),Vo=computed(()=>lt$1(xo.comment.insertedAt,Bo.value,No.value)),Fo=computed(()=>Ro.value.type==="administrator"),Uo=computed(()=>xo.comment.user_id&&Ro.value.objectId===xo.comment.user_id),Ho=computed(()=>{var qo;return xo.comment.objectId===((qo=xo.reply)==null?void 0:qo.objectId)}),Wo=computed(()=>{var qo;return xo.comment.objectId===((qo=xo.edit)==null?void 0:qo.objectId)});return(qo,Go)=>{var Zo;const Yo=resolveComponent("CommentCard",!0);return openBlock(),createElementBlock("div",{id:$o.comment.objectId,class:"wl-card-item"},[createBaseVNode("div",Qt$1,[$o.comment.avatar?(openBlock(),createElementBlock("img",{key:0,src:$o.comment.avatar},null,8,en$1)):createCommentVNode("v-if",!0),$o.comment.type?(openBlock(),createBlock(unref(K$1),{key:1})):createCommentVNode("v-if",!0)]),createBaseVNode("div",tn$1,[createBaseVNode("div",nn$1,[unref(Mo)?(openBlock(),createElementBlock("a",{key:0,class:"wl-nick",href:unref(Mo),target:"_blank",rel:"noopener noreferrer"},toDisplayString($o.comment.nick),9,an$1)):(openBlock(),createElementBlock("span",ln$1,toDisplayString($o.comment.nick),1)),$o.comment.type==="administrator"?(openBlock(),createElementBlock("span",{key:2,class:"wl-badge",textContent:toDisplayString(unref(No).admin)},null,8,on$1)):createCommentVNode("v-if",!0),$o.comment.label?(openBlock(),createElementBlock("span",{key:3,class:"wl-badge",textContent:toDisplayString($o.comment.label)},null,8,rn$1)):createCommentVNode("v-if",!0),$o.comment.sticky?(openBlock(),createElementBlock("span",{key:4,class:"wl-badge",textContent:toDisplayString(unref(No).sticky)},null,8,sn$1)):createCommentVNode("v-if",!0),$o.comment.level!==void 0&&$o.comment.level>=0?(openBlock(),createElementBlock("span",{key:5,class:normalizeClass(`wl-badge level${$o.comment.level}`),textContent:toDisplayString(unref(No)[`level${$o.comment.level}`]||`Level ${$o.comment.level}`)},null,10,cn$1)):createCommentVNode("v-if",!0),createBaseVNode("span",{class:"wl-time",textContent:toDisplayString(unref(Vo))},null,8,un$1),createBaseVNode("div",dn$1,[unref(Fo)||unref(Uo)?(openBlock(),createElementBlock("button",{key:0,type:"button",class:"wl-edit",onClick:Go[0]||(Go[0]=()=>qo.$emit("edit",$o.comment))},[createVNode(unref(F$3))])):createCommentVNode("v-if",!0),unref(Fo)||unref(Uo)?(openBlock(),createElementBlock("button",{key:1,type:"button",class:"wl-delete",onClick:Go[1]||(Go[1]=Jo=>qo.$emit("delete",$o.comment))},[createVNode(unref(P$4))])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:"wl-like",title:unref(zo)?unref(No).cancelLike:unref(No).like,onClick:Go[2]||(Go[2]=Jo=>qo.$emit("like",$o.comment))},[createVNode(unref(D$3),{active:unref(zo)},null,8,["active"]),"like"in $o.comment?(openBlock(),createElementBlock("span",{key:0,textContent:toDisplayString($o.comment.like)},null,8,vn$1)):createCommentVNode("v-if",!0)],8,mn$1),createBaseVNode("button",{type:"button",class:normalizeClass(["wl-reply",{active:unref(Ho)}]),title:unref(Ho)?unref(No).cancelReply:unref(No).reply,onClick:Go[3]||(Go[3]=Jo=>qo.$emit("reply",unref(Ho)?null:$o.comment))},[createVNode(unref(W$2))],10,pn$1)])]),createBaseVNode("div",hn$1,[$o.comment.addr?(openBlock(),createElementBlock("span",{key:0,class:"wl-addr","data-value":$o.comment.addr,textContent:toDisplayString($o.comment.addr)},null,8,gn$1)):createCommentVNode("v-if",!0),$o.comment.browser?(openBlock(),createElementBlock("span",{key:1,class:"wl-browser","data-value":$o.comment.browser,textContent:toDisplayString($o.comment.browser)},null,8,fn$1)):createCommentVNode("v-if",!0),$o.comment.os?(openBlock(),createElementBlock("span",{key:2,class:"wl-os","data-value":$o.comment.os,textContent:toDisplayString($o.comment.os)},null,8,yn$1)):createCommentVNode("v-if",!0)]),unref(Wo)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:0,class:"wl-content",innerHTML:$o.comment.comment},null,8,wn$1)),unref(Fo)&&!unref(Wo)?(openBlock(),createElementBlock("div",bn$1,[createBaseVNode("span",kn$1,[(openBlock(),createElementBlock(Fragment,null,renderList(Lo,Jo=>createBaseVNode("button",{key:Jo,type:"submit",class:normalizeClass(`wl-btn wl-${Jo}`),disabled:$o.comment.status===Jo,onClick:Ko=>qo.$emit("status",{status:Jo,comment:$o.comment}),textContent:toDisplayString(unref(No)[Jo])},null,10,Cn$1)),64))]),unref(Fo)&&!$o.comment.rid?(openBlock(),createElementBlock("button",{key:0,type:"submit",class:"wl-btn wl-sticky",onClick:Go[4]||(Go[4]=Jo=>qo.$emit("sticky",$o.comment))},toDisplayString($o.comment.sticky?unref(No).unsticky:unref(No).sticky),1)):createCommentVNode("v-if",!0)])):createCommentVNode("v-if",!0),unref(Ho)||unref(Wo)?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass({"wl-reply-wrapper":unref(Ho),"wl-edit-wrapper":unref(Wo)})},[createVNode(Yt$1,{edit:$o.edit,"reply-id":(Zo=$o.reply)==null?void 0:Zo.objectId,"reply-user":$o.comment.nick,"root-id":$o.rootId,onLog:Go[5]||(Go[5]=Jo=>qo.$emit("log")),onCancelReply:Go[6]||(Go[6]=Jo=>qo.$emit("reply",null)),onCancelEdit:Go[7]||(Go[7]=Jo=>qo.$emit("edit",null)),onSubmit:Go[8]||(Go[8]=Jo=>qo.$emit("submit",Jo))},null,8,["edit","reply-id","reply-user","root-id"])],2)):createCommentVNode("v-if",!0),$o.comment.children?(openBlock(),createElementBlock("div",$n$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList($o.comment.children,Jo=>(openBlock(),createBlock(Yo,{key:Jo.objectId,comment:Jo,reply:$o.reply,edit:$o.edit,"root-id":$o.rootId,onLog:Go[9]||(Go[9]=Ko=>qo.$emit("log")),onDelete:Go[10]||(Go[10]=Ko=>qo.$emit("delete",Ko)),onEdit:Go[11]||(Go[11]=Ko=>qo.$emit("edit",Ko)),onLike:Go[12]||(Go[12]=Ko=>qo.$emit("like",Ko)),onReply:Go[13]||(Go[13]=Ko=>qo.$emit("reply",Ko)),onStatus:Go[14]||(Go[14]=Ko=>qo.$emit("status",Ko)),onSticky:Go[15]||(Go[15]=Ko=>qo.$emit("sticky",Ko)),onSubmit:Go[16]||(Go[16]=Ko=>qo.$emit("submit",Ko))},null,8,["comment","reply","edit","root-id"]))),128))])):createCommentVNode("v-if",!0)])],8,Xt$1)}}}),[["__file","CommentCard.vue"]]);const xn$1="2.14.7",In$1={"data-waline":""},Rn$1={class:"wl-meta-head"},En$1={class:"wl-count"},jn$1=["textContent"],Sn$1={class:"wl-sort"},_n$1=["onClick"],An$1={class:"wl-cards"},zn$1={key:1,class:"wl-operation"},Un$1=["textContent"],Mn$1={key:0,class:"wl-loading"},Hn$1=["textContent"],On$1={key:2,class:"wl-operation"},Pn$1=["textContent"],Vn$1={key:3,class:"wl-power"},Tn$1=createBaseVNode("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noopener noreferrer"}," Waline ",-1);var Dn$1=defineComponent({__name:"WalineComment",props:["serverURL","path","meta","requiredMeta","dark","commentSorting","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright","recaptchaV3Key","reaction"],setup($o){const xo=$o,Lo={latest:"insertedAt_desc",oldest:"insertedAt_asc",hottest:"like_desc"},To=Object.keys(Lo),Ao=he$1(),Bo=ee$1(),Ro=ref("loading"),No=ref(0),Mo=ref(1),zo=ref(0),Vo=computed(()=>(({serverURL:ma,path:na=location.pathname,lang:ra=typeof navigator>"u"?"en-US":navigator.language,locale:ta,emoji:ia=Ae$1,meta:oa=["nick","mail","link"],requiredMeta:ua=[],dark:ha=!1,pageSize:ga=10,wordLimit:ka,imageUploader:$a,highlighter:Sa,texRenderer:Ca,copyright:Ta=!0,login:Da="enable",search:Oa,reaction:Aa,recaptchaV3Key:xa="",commentSorting:da="latest",...ca})=>({serverURL:Qe$1(ma),path:Je$1(na),locale:{...Ze$1[ra]||Ze$1["en-US"],...typeof ta=="object"?ta:{}},wordLimit:et(ka),meta:_e$1(oa),requiredMeta:_e$1(ua),imageUploader:tt$1($a,ze$1),highlighter:tt$1(Sa,Te$1),texRenderer:tt$1(Ca,Ue$1),lang:Object.keys(Ze$1).includes(ra)?ra:"en-US",dark:ha,emoji:typeof ia=="boolean"?ia?Ae$1:[]:ia,pageSize:ga,login:Da,copyright:Ta,search:Oa!==!1&&(typeof Oa=="object"?Oa:Me$1(ra)),recaptchaV3Key:xa,reaction:Array.isArray(Aa)?Aa:Aa===!0?He$1:[],commentSorting:da,...ca}))(xo)),Fo=ref(Vo.value.commentSorting),Uo=ref([]),Ho=ref(null),Wo=ref(null),qo=computed(()=>{return typeof(ma=Vo.value.dark)=="string"?ma==="auto"?`@media(prefers-color-scheme:dark){body${nt$1}}`:`${ma}${nt$1}`:ma===!0?`:root${nt$1}`:"";var ma}),Go=computed(()=>Vo.value.locale);let Yo;useStyleTag(qo);const Zo=ma=>{var oa;const{serverURL:na,path:ra,pageSize:ta}=Vo.value,ia=new AbortController;Ro.value="loading",Yo==null||Yo(),(({serverURL:ua,lang:ha,path:ga,page:ka,pageSize:$a,sortBy:Sa,signal:Ca,token:Ta})=>{const Da={};return Ta&&(Da.Authorization=`Bearer ${Ta}`),fetch(`${ua}/comment?path=${encodeURIComponent(ga)}&pageSize=${$a}&page=${ka}&lang=${ha}&sortBy=${Sa}`,{signal:Ca,headers:Da}).then(Oa=>Oa.json()).then(Oa=>J$2(Oa,"Get comment data"))})({serverURL:na,lang:Vo.value.lang,path:ra,pageSize:ta,sortBy:Lo[Fo.value],page:ma,signal:ia.signal,token:(oa=Ao.value)==null?void 0:oa.token}).then(ua=>{Ro.value="success",No.value=ua.count,Uo.value.push(...ua.data),Mo.value=ma,zo.value=ua.totalPages}).catch(ua=>{ua.name!=="AbortError"&&(console.error(ua.message),Ro.value="error")}),Yo=ia.abort.bind(ia)},Jo=()=>Zo(Mo.value+1),Ko=()=>{No.value=0,Uo.value=[],Zo(1)},Qo=ma=>{Ho.value=ma},aa=ma=>{Wo.value=ma},ea=ma=>{if(Wo.value)Wo.value.comment=ma.comment,Wo.value.orig=ma.orig;else if(ma.rid){const na=Uo.value.find(({objectId:ra})=>ra===ma.rid);if(!na)return;Array.isArray(na.children)||(na.children=[]),na.children.push(ma)}else Uo.value.unshift(ma)},Xo=async({comment:ma,status:na})=>{var ia;if(ma.status===na)return;const{serverURL:ra,lang:ta}=Vo.value;await X$1({serverURL:ra,lang:ta,token:(ia=Ao.value)==null?void 0:ia.token,objectId:ma.objectId,comment:{status:na}}),ma.status=na},la=async ma=>{var ta;if(ma.rid)return;const{serverURL:na,lang:ra}=Vo.value;await X$1({serverURL:na,lang:ra,token:(ta=Ao.value)==null?void 0:ta.token,objectId:ma.objectId,comment:{sticky:ma.sticky?0:1}}),ma.sticky=!ma.sticky},fa=async({objectId:ma})=>{var ta;if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:na,lang:ra}=Vo.value;await(({serverURL:ia,lang:oa,token:ua,objectId:ha})=>fetch(`${ia}/comment/${ha}?lang=${oa}`,{method:"DELETE",headers:{Authorization:`Bearer ${ua}`}}).then(ga=>ga.json()).then(ga=>J$2(ga,"Delete comment")))({serverURL:na,lang:ra,token:(ta=Ao.value)==null?void 0:ta.token,objectId:ma}),Uo.value.some((ia,oa)=>ia.objectId===ma?(Uo.value=Uo.value.filter((ua,ha)=>ha!==oa),!0):ia.children.some((ua,ha)=>ua.objectId===ma&&(Uo.value[oa].children=ia.children.filter((ga,ka)=>ka!==ha),!0)))},wa=async ma=>{var oa;const{serverURL:na,lang:ra}=Vo.value,{objectId:ta}=ma,ia=Bo.value.includes(ta);await X$1({serverURL:na,lang:ra,objectId:ta,token:(oa=Ao.value)==null?void 0:oa.token,comment:{like:!ia}}),ia?Bo.value=Bo.value.filter(ua=>ua!==ta):(Bo.value=[...Bo.value,ta],Bo.value.length>50&&(Bo.value=Bo.value.slice(-50))),ma.like=(ma.like||0)+(ia?-1:1)};return provide("config",Vo),onMounted(()=>{watch(()=>[xo.serverURL,xo.path],()=>Ko(),{immediate:!0})}),onUnmounted(()=>Yo==null?void 0:Yo()),(ma,na)=>(openBlock(),createElementBlock("div",In$1,[createVNode(Ie$1),Ho.value?createCommentVNode("v-if",!0):(openBlock(),createBlock(Yt$1,{key:0,onLog:Ko,onSubmit:ea})),createBaseVNode("div",Rn$1,[createBaseVNode("div",En$1,[No.value?(openBlock(),createElementBlock("span",{key:0,class:"wl-num",textContent:toDisplayString(No.value)},null,8,jn$1)):createCommentVNode("v-if",!0),createTextVNode(" "+toDisplayString(unref(Go).comment),1)]),createBaseVNode("ul",Sn$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(To),ra=>(openBlock(),createElementBlock("li",{key:ra,class:normalizeClass([ra===Fo.value?"active":""]),onClick:ta=>(ia=>{Fo.value!==ia&&(Fo.value=ia,Ko())})(ra)},toDisplayString(unref(Go)[ra]),11,_n$1))),128))])]),createBaseVNode("div",An$1,[(openBlock(!0),createElementBlock(Fragment,null,renderList(Uo.value,ra=>(openBlock(),createBlock(Ln$1,{key:ra.objectId,"root-id":ra.objectId,comment:ra,reply:Ho.value,edit:Wo.value,onLog:Ko,onReply:Qo,onEdit:aa,onSubmit:ea,onStatus:Xo,onDelete:fa,onSticky:la,onLike:wa},null,8,["root-id","comment","reply","edit"]))),128))]),Ro.value==="error"?(openBlock(),createElementBlock("div",zn$1,[createBaseVNode("button",{type:"button",class:"wl-btn",onClick:Ko,textContent:toDisplayString(unref(Go).refresh)},null,8,Un$1)])):(openBlock(),createElementBlock(Fragment,{key:2},[Ro.value==="loading"?(openBlock(),createElementBlock("div",Mn$1,[createVNode(unref(q$2),{size:30})])):Uo.value.length?Mo.value(({serverURL:Ao,lang:Bo,paths:Ro,type:No,signal:Mo})=>fetch(`${Ao}/article?path=${encodeURIComponent(Ro.join(","))}&type=${encodeURIComponent(No.join(","))}&lang=${Bo}`,{signal:Mo}).then(zo=>zo.json()))({serverURL:$o,lang:xo,paths:Lo,type:["time"],signal:To}).then(Ao=>Array.isArray(Ao)?Ao:[Ao]),a$3=$o=>(({serverURL:xo,lang:Lo,path:To,type:Ao,action:Bo})=>fetch(`${xo}/article?lang=${Lo}`,{method:"POST",headers:t$2,body:JSON.stringify({path:To,type:Ao,action:Bo})}).then(Ro=>Ro.json()))({...$o,type:"time",action:"inc"}),r$3=$o=>{const xo=((Lo="")=>Lo.replace(/\/$/u,""))($o);return/^(https?:)?\/\//.test(xo)?xo:`https://${xo}`},o$3=$o=>{$o.name!=="AbortError"&&console.error($o.message)},l$3=$o=>$o.dataset.path||$o.getAttribute("id"),s$2=($o,xo)=>{xo.forEach((Lo,To)=>{Lo.innerText=$o[To].toString()})},i$4=({serverURL:$o,path:xo=window.location.pathname,selector:Lo=".waline-pageview-count",update:To=!0,lang:Ao=navigator.language})=>{const Bo=new AbortController,Ro=Array.from(document.querySelectorAll(Lo)),No=zo=>{const Vo=l$3(zo);return Vo!==null&&xo!==Vo},Mo=zo=>n$2({serverURL:r$3($o),paths:zo.map(Vo=>l$3(Vo)||xo),lang:Ao,signal:Bo.signal}).then(Vo=>s$2(Vo,zo)).catch(o$3);if(To){const zo=Ro.filter(Fo=>!No(Fo)),Vo=Ro.filter(No);a$3({serverURL:r$3($o),path:xo,lang:Ao}).then(Fo=>s$2(new Array(zo.length).fill(Fo),zo)),Vo.length&&Mo(Vo)}else Mo(Ro);return Bo.abort.bind(Bo)},waline$1="",waline="",e$2={provider:"Waline",dark:"auto",serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],login:"enable",reaction:!1},A$5={"/en/":{placeholder:"Write a comment here (Fill in the email address to receive an email notification when being replied)"},"/":{placeholder:"请留言。(填写邮箱可在被回复时收到邮件提醒)"}},m$2=Boolean(e$2.serverURL);__vitePreload(()=>import("./waline-meta-a31b78ed.js"),[]);var B$2=defineComponent({name:"WalineComment",setup(){const $o=useRoute(),xo=usePageFrontmatter(),Lo=usePageLang(),To=Yt$2(A$5);let Ao;const Bo=computed(()=>{if(!m$2)return!1;const Mo=e$2.comment!==!1,zo=xo.value.comment;return Boolean(zo)||Mo!==!1&&zo!==!1}),Ro=computed(()=>{if(!m$2)return!1;const Mo=e$2.pageview!==!1,zo=xo.value.pageview;return Boolean(zo)||Mo!==!1&&zo!==!1}),No=computed(()=>({lang:Lo.value==="zh-CN"?"zh-CN":"en",locale:To.value,dark:"html.dark",...e$2,path:withBase($o.path)}));return onMounted(()=>{watch(()=>$o.path,()=>{Ao==null||Ao(),Ro.value&&setTimeout(()=>{Ao=i$4({serverURL:e$2.serverURL,path:withBase($o.path)})},e$2.delay||800)},{immediate:!0})}),()=>Bo.value?h$4("div",{class:"waline-wrapper",id:"comment"},m$2?h$4(Nn$1,No.value):[]):null}});const d$4={provider:"Waline",dark:"auto",serverURL:"https://comments.snapgenshin.com",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],login:"enable",reaction:!1}.comment!==!1,i$3=defineComponent({name:"CommentService",props:{darkmode:Boolean},setup($o){const xo=usePageFrontmatter(),Lo=computed(()=>xo.value.comment||d$4&&xo.value.comment!==!1);return()=>h$4(B$2,{darkmode:$o.darkmode,style:{display:Lo.value?"block":"none"}})}});var l$2=defineClientConfig({enhance:({app:$o})=>{$o.component("CommentService",i$3)}});const message="",balloon="",button="",O$2=800,_$2={"/en/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"},"/":{copy:"复制代码",copied:"已复制",hint:"复制成功"}},A$4=['.theme-hope-content div[class*="language-"] pre'],g$4=!1,w$3=async $o=>{try{return navigator.clipboard.writeText($o)}catch{const xo=document.createElement("textarea"),Lo=document.activeElement;xo.value=$o,xo.setAttribute("readonly",""),xo.style.contain="strict",xo.style.position="absolute",xo.style.left="-9999px",xo.style.fontSize="12pt";const To=document.getSelection(),Ao=To?To.rangeCount>0&&To.getRangeAt(0):null;document.body.appendChild(xo),xo.select(),xo.selectionStart=0,xo.selectionEnd=$o.length,document.execCommand("copy"),document.body.removeChild(xo),Ao&&(To.removeAllRanges(),To.addRange(Ao)),Lo&&Lo.focus()}},d$3=new Map,x$2=()=>{const $o=useRoute(),xo=Yt$2(_$2),Lo=Bo=>{if(!Bo.hasAttribute("copy-code-registered")){const Ro=document.createElement("button");Ro.classList.add("copy-code-button"),Ro.innerHTML='
',Ro.setAttribute("aria-label",xo.value.copy),Ro.setAttribute("data-copied",xo.value.copied),Bo.parentElement&&Bo.parentElement.insertBefore(Ro,Bo),Bo.setAttribute("copy-code-registered","")}},To=()=>{setTimeout(()=>{A$4.forEach(Bo=>{document.querySelectorAll(Bo).forEach(Lo)})},O$2)},Ao=(Bo,Ro,No)=>{let{innerText:Mo=""}=Ro;/language-(shellscript|shell|bash|sh|zsh)/.test(Bo.classList.toString())&&(Mo=Mo.replace(/^ *(\$|>) /gm,"")),w$3(Mo).then(()=>{No.classList.add("copied"),clearTimeout(d$3.get(No));const zo=setTimeout(()=>{No.classList.remove("copied"),No.blur(),d$3.delete(No)},2e3);d$3.set(No,zo)})};onMounted(()=>{const{userAgent:Bo}=navigator;new ce$2,(!Lt$1(Bo)||g$4)&&To(),window.addEventListener("click",Ro=>{const No=Ro.target;if(No.matches('div[class*="language-"] > button.copy')){const Mo=No.parentElement,zo=No.nextElementSibling;zo&&Ao(Mo,zo,No)}else if(No.matches('div[class*="language-"] div.copy-icon')){const Mo=No.parentElement,zo=Mo.parentElement,Vo=Mo.nextElementSibling;Vo&&Ao(zo,Vo,Mo)}}),watch(()=>$o.path,()=>{(!Lt$1(Bo)||g$4)&&To()})})};var D$2=defineClientConfig({setup:()=>{x$2()}});const chart="",LoadingIcon$1=()=>h$4(R$2,{name:"loading"},()=>["0s","-0.333s","-0.667s"].map($o=>h$4("circle",{cx:512,cy:512,r:0,fill:"none",stroke:"currentColor","stroke-width":"20"},[h$4("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;400",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:$o}),h$4("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:$o})]))),parseChartConfig=(config,type)=>{if(type==="json")return JSON.parse(config);const exports={},module={exports};return eval(config),module.exports};var ChartJS=defineComponent({name:"ChartJS",props:{config:{type:String,required:!0},id:{type:String,required:!0},title:{type:String,default:""},type:{type:String,default:"json"}},setup($o){const xo=ref(),Lo=ref(),To=ref(!0);return onMounted(()=>{Promise.all([__vitePreload(()=>import("./auto-5a6868c8.js"),[]),new Promise(Ao=>setTimeout(Ao,800))]).then(([{default:Ao}])=>{Ao.defaults.maintainAspectRatio=!1;const Bo=parseChartConfig(le$2($o.config),$o.type),Ro=Lo.value.getContext("2d");new Ao(Ro,Bo),To.value=!1})}),()=>[$o.title?h$4("div",{class:"chart-title"},decodeURIComponent($o.title)):null,To.value?h$4("div",{class:"chart-loading-wrapper"},h$4(LoadingIcon$1)):null,h$4("div",{ref:xo,class:"chart-wrapper",id:$o.id,style:{display:To.value?"none":"block"}},h$4("canvas",{ref:Lo,height:400}))]}});const codeTabs="",o$2=useStorage("VUEPRESS_CODE_TAB_STORE",{});var S$4=defineComponent({name:"CodeTabs",props:{active:{type:Number,default:0},data:{type:Array,required:!0},id:{type:String,required:!0},tabId:{type:String,default:""}},setup($o,{slots:xo}){const Lo=ref($o.active),To=ref([]),Ao=()=>{if($o.tabId){const{title:zo,id:Vo=zo}=$o.data[Lo.value];o$2.value[$o.tabId]=Vo}},Bo=(zo=Lo.value)=>{Lo.value=zo{Lo.value=zo>0?zo-1:To.value.length-1,To.value[Lo.value].focus()},No=(zo,Vo)=>{if(zo.key===" "||zo.key==="Enter"?(zo.preventDefault(),Lo.value=Vo):zo.key==="ArrowRight"?(zo.preventDefault(),Bo()):zo.key==="ArrowLeft"&&(zo.preventDefault(),Ro()),$o.tabId){const{title:Fo,id:Uo=Fo}=$o.data[Lo.value];o$2.value[$o.tabId]=Uo}},Mo=()=>{if($o.tabId){const zo=$o.data.findIndex(({title:Vo,id:Fo=Vo})=>o$2.value[$o.tabId]===Fo);if(zo!==-1)return zo}return $o.active};return onMounted(()=>{Lo.value=Mo(),watch(()=>o$2.value[$o.tabId],(zo,Vo)=>{if($o.tabId&&zo!==Vo){const Fo=$o.data.findIndex(({title:Uo,id:Ho=Uo})=>Ho===zo);Fo!==-1&&(Lo.value=Fo)}})}),()=>$o.data.length?h$4("div",{class:"code-tabs"},[h$4("div",{class:"code-tabs-nav",role:"tablist"},$o.data.map(({title:zo},Vo)=>{const Fo=Vo===Lo.value;return h$4("button",{ref:Uo=>{Uo&&(To.value[Vo]=Uo)},class:["code-tabs-nav-tab",{active:Fo}],role:"tab","aria-controls":`codetab-${$o.id}-${Vo}`,"aria-selected":Fo,onClick:()=>{Lo.value=Vo,Ao()},onKeydown:Uo=>No(Uo,Vo)},zo)})),$o.data.map(({title:zo,id:Vo=zo},Fo)=>{var Uo;const Ho=Fo===Lo.value;return h$4("div",{class:["code-tab",{active:Ho}],id:`codetab-${$o.id}-${Fo}`,role:"tabpanel","aria-expanded":Ho},(Uo=xo[`tab${Fo}`])==null?void 0:Uo.call(xo,{title:zo,value:Vo,isActive:Ho}))})]):null}});const codeGroup="",c$2=({active:$o=!1},{slots:xo})=>{var Lo;return h$4("div",{class:["code-group-item",{active:$o}],"aria-selected":$o},(Lo=xo.default)==null?void 0:Lo.call(xo))};c$2.displayName="CodeGroupItem";const y$3=defineComponent({name:"CodeGroup",setup($o,{slots:xo}){const Lo=ref(-1),To=ref([]),Ao=(No=Lo.value)=>{Lo.value=No{Lo.value=No>0?No-1:To.value.length-1,To.value[Lo.value].focus()},Ro=(No,Mo)=>{No.key===" "||No.key==="Enter"?(No.preventDefault(),Lo.value=Mo):No.key==="ArrowRight"?(No.preventDefault(),Ao(Mo)):No.key==="ArrowLeft"&&(No.preventDefault(),Bo(Mo))};return()=>{var No;const Mo=(((No=xo.default)==null?void 0:No.call(xo))||[]).filter(zo=>zo.type.name==="CodeGroupItem").map(zo=>(zo.props===null&&(zo.props={}),zo));return Mo.length===0?null:(Lo.value<0||Lo.value>Mo.length-1?(Lo.value=Mo.findIndex(zo=>"active"in zo.props),Lo.value===-1&&(Lo.value=0)):Mo.forEach((zo,Vo)=>{zo.props.active=Vo===Lo.value}),h$4("div",{class:"code-group"},[h$4("div",{class:"code-group-nav"},Mo.map((zo,Vo)=>{const Fo=Vo===Lo.value;return h$4("button",{ref:Uo=>{Uo&&(To.value[Vo]=Uo)},class:["code-group-nav-tab",{active:Fo}],"aria-pressed":Fo,"aria-expanded":Fo,onClick:()=>{Lo.value=Vo},onKeydown:Uo=>Ro(Uo,Vo)},zo.props.title)})),Mo]))}}}),index$2="",codeDemo="",N$1=()=>h$4(R$2,{name:"loading"},()=>["0s","-0.333s","-0.667s"].map($o=>h$4("circle",{cx:512,cy:512,r:0,fill:"none",stroke:"currentColor","stroke-width":"20"},[h$4("animate",{attributeName:"r",repeatCount:"indefinite",dur:"1s",values:"0;400",keyTimes:"0;1",keySplines:"0 0.2 0.8 1",calcMode:"spline",begin:$o}),h$4("animate",{attributeName:"opacity",repeatCount:"indefinite",dur:"1s",values:"1;0",keyTimes:"0;1",keySplines:"0.2 0 0.8 1",calcMode:"spline",begin:$o})]))),A$3='',k$4='',L$1={useBabel:!1,jsLib:[],cssLib:[],codepenLayout:"left",codepenEditors:"101",babel:"https://unpkg.com/@babel/standalone/babel.min.js",vue:"https://unpkg.com/vue/dist/vue.global.prod.js",react:"https://unpkg.com/react/umd/react.production.min.js",reactDOM:"https://unpkg.com/react-dom/umd/react-dom.production.min.js"},x$1={html:{types:["html","slim","haml","md","markdown","vue"],map:{html:"none",vue:"none",md:"markdown"}},js:{types:["js","javascript","coffee","coffeescript","ts","typescript","ls","livescript"],map:{js:"none",javascript:"none",coffee:"coffeescript",ls:"livescript",ts:"typescript"}},css:{types:["css","less","sass","scss","stylus","styl"],map:{css:"none",styl:"stylus"}}},D$1=($o,xo,Lo)=>{const To=document.createElement($o);return isPlainObject(xo)&&Dt$2(xo).forEach(Ao=>{if(Ao.indexOf("data"))To[Ao]=xo[Ao];else{const Bo=Ao.replace("data","");To.dataset[Bo]=xo[Ao]}}),Lo&&Lo.forEach(Ao=>{To.appendChild(Ao)}),To},w$2=$o=>({...L$1,...$o,jsLib:Array.from(new Set([...L$1.jsLib||[],...$o.jsLib||[]])),cssLib:Array.from(new Set([...L$1.cssLib||[],...$o.cssLib||[]]))}),v$2=($o,xo)=>{if($o[xo]!==void 0)return $o[xo];const Lo=new Promise(To=>{var Ao;const Bo=document.createElement("script");Bo.src=xo,(Ao=document.querySelector("body"))==null||Ao.appendChild(Bo),Bo.onload=()=>{To()}});return $o[xo]=Lo,Lo},R$1=($o,xo)=>{if(xo.css&&Array.from($o.childNodes).every(Lo=>Lo.nodeName!=="STYLE")){const Lo=D$1("style",{innerHTML:xo.css});$o.appendChild(Lo)}},B$1=($o,xo,Lo)=>{const To=Lo.getScript();if(To&&Array.from(xo.childNodes).every(Ao=>Ao.nodeName!=="SCRIPT")){const Ao=document.createElement("script");Ao.appendChild(document.createTextNode(`{const document=window.document.querySelector('#${$o} .code-demo-container').shadowRoot; ${To}}`)),xo.appendChild(Ao)}},V$1=$o=>{const xo=Dt$2($o),Lo={html:[],js:[],css:[],isLegal:!1};return["html","js","css"].forEach(To=>{const Ao=xo.filter(Bo=>x$1[To].types.includes(Bo));if(Ao.length){const Bo=Ao[0];Lo[To]=[$o[Bo].replace(/^\n|\n$/g,""),x$1[To].map[Bo]||Bo]}}),Lo.isLegal=(!Lo.html.length||Lo.html[1]==="none")&&(!Lo.js.length||Lo.js[1]==="none")&&(!Lo.css.length||Lo.css[1]==="none"),Lo},_$1=$o=>$o.replace(/
/g,"
").replace(/<((\S+)[^<]*?)\s+\/>/g,"<$1>"),q$1=$o=>`
${_$1($o)}
`,z$1=$o=>`${$o.replace("export default ","const $reactApp = ").replace(/App\.__style__(\s*)=(\s*)`([\s\S]*)?`/,"")}; -ReactDOM.createRoot(document.getElementById("app")).render(React.createElement($reactApp))`,P$3=$o=>$o.replace(/export\s+default\s*\{(\n*[\s\S]*)\n*\}\s*;?$/u,"Vue.createApp({$1}).mount('#app')").replace(/export\s+default\s*define(Async)?Component\s*\(\s*\{(\n*[\s\S]*)\n*\}\s*\)\s*;?$/u,"Vue.createApp({$1}).mount('#app')").trim(),$$1=$o=>`(function(exports){var module={};module.exports=exports;${$o};return module.exports.__esModule?module.exports.default:module.exports;})({})`,H$2=($o,xo)=>{const Lo=w$2(xo),To=$o.js[0]||"";return{...Lo,html:_$1($o.html[0]||""),js:To,css:$o.css[0]||"",isLegal:$o.isLegal,getScript:()=>{var Ao;return Lo.useBabel?((Ao=window.Babel.transform(To,{presets:["es2015"]}))==null?void 0:Ao.code)||"":To}}},I$2=($o,xo)=>{const Lo=w$2(xo),To=$o.html[0]||"",Ao=/