diff --git a/404.html b/404.html index 3785892..4d8f1a0 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -仲夏夜之梦
Skip to content

404

页面未找到

但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。
\ No newline at end of file +仲夏夜之梦
Skip to content

404

页面未找到

但是,如果你不改变方向,并且一直寻找,最终可能会到达你要去的地方。
\ No newline at end of file diff --git a/about/index.html b/about/index.html index d546e5d..6cf6b50 100644 --- a/about/index.html +++ b/about/index.html @@ -1 +1 @@ -关于祀梦与他的花园 | 仲夏夜之梦
Skip to content

关于祀梦与他的花园

约 831 字大约 3 分钟

2024-10-29

贡献者: 祀梦
\ No newline at end of file +关于祀梦与他的花园 | 仲夏夜之梦
Skip to content

关于祀梦与他的花园

约 831 字大约 3 分钟

2024-10-29

\ No newline at end of file diff --git a/ai/index.html b/ai/index.html new file mode 100644 index 0000000..417fc04 --- /dev/null +++ b/ai/index.html @@ -0,0 +1 @@ +模型 | 模型 | 仲夏夜之梦
Skip to content

模型

约 168 字小于 1 分钟

2026-03-29

\ No newline at end of file diff --git a/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/index.html b/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/index.html index e9df63c..01a09ef 100644 --- a/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/index.html +++ b/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/index.html @@ -1,4 +1,4 @@ -快速幂算法详解 | 仲夏夜之梦
Skip to content

快速幂算法详解

约 555 字大约 2 分钟

algorithms

2026-01-09

\ No newline at end of file diff --git a/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/index.html b/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/index.html index fbda077..835b7e1 100644 --- a/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/index.html +++ b/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/index.html @@ -1,4 +1,4 @@ -Python 字符串格式化全指南 | 仲夏夜之梦
Skip to content

Python 字符串格式化全指南

约 2225 字大约 7 分钟

python

2026-01-09

\ No newline at end of file diff --git a/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/index.html b/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/index.html index 40679a0..f116325 100644 --- a/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/index.html +++ b/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/index.html @@ -1,4 +1,4 @@ -原码、反码、补码 | 仲夏夜之梦
Skip to content

原码、反码、补码

约 1571 字大约 5 分钟

cs-fundamentals

2026-01-08

\ No newline at end of file diff --git a/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/index.html b/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/index.html index 61fb6a6..6334e85 100644 --- a/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/index.html +++ b/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/index.html @@ -1 +1 @@ -爱莉希雅语录 | 仲夏夜之梦
Skip to content

爱莉希雅语录

约 3988 字大约 13 分钟

honkai-impact-3rd

2026-01-08

\ No newline at end of file +爱莉希雅语录 | 博客 | 仲夏夜之梦
Skip to content

爱莉希雅语录

约 3988 字大约 13 分钟

honkai-impact-3rd

2026-01-08

\ No newline at end of file diff --git a/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/index.html b/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/index.html index 8d635f3..5257ac3 100644 --- a/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/index.html +++ b/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/index.html @@ -1,4 +1,4 @@ -第十四届蓝桥杯大赛软件赛国赛 Python 研究生组(正在更新) | 仲夏夜之梦
Skip to content

第十四届蓝桥杯大赛软件赛国赛 Python 研究生组(正在更新)

约 1944 字大约 6 分钟

contest

2026-01-09

\ No newline at end of file diff --git a/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/index.html b/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/index.html index d0f9575..7eb5250 100644 --- a/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/index.html +++ b/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/index.html @@ -1,4 +1,4 @@ -码蹄杯 2024 年真题集详解 | 仲夏夜之梦
Skip to content

码蹄杯 2024 年真题集详解

约 15317 字大约 51 分钟

contest

2026-01-09

\ No newline at end of file diff --git a/archives/ea20bdda-0d49-4472-a647-2e305a930d11/index.html b/archives/ea20bdda-0d49-4472-a647-2e305a930d11/index.html index 99bf84c..8973c3d 100644 --- a/archives/ea20bdda-0d49-4472-a647-2e305a930d11/index.html +++ b/archives/ea20bdda-0d49-4472-a647-2e305a930d11/index.html @@ -1,4 +1,4 @@ -通过位运算快速生成所有的子序列 | 仲夏夜之梦
Skip to content

通过位运算快速生成所有的子序列

约 664 字大约 2 分钟

algorithms

2026-01-09

\ No newline at end of file diff --git a/article/8gihio2v/index.html b/article/8gihio2v/index.html index ed30016..0d4f836 100644 --- a/article/8gihio2v/index.html +++ b/article/8gihio2v/index.html @@ -1 +1 @@ -通过 EdgeOne Pages 搭建图床 | 仲夏夜之梦
Skip to content

通过 EdgeOne Pages 搭建图床

约 423 字大约 1 分钟

image-hosting

2025-09-29

各位~今天要给大家介绍一个超棒的图床搭建方法哦!EdgeOne Pages 是腾讯云提供的静态网站托管服务,而且还有免费额度可以使用呢,对于日常需求来说完全足够啦~

创建一个 Git 项目

第一步呢,我们需要先在 Gitee 上创建一个项目,专门用来存放网站里要用的各种图片。当然啦,如果你习惯用 Github 或者 CNB 也没问题,这些平台都是支持的哦~而且要记住,项目的目录结构就是以后图片的访问路径呢~

EdgeOne Page 中导入项目

接下来打开 EdgeOne Page 的控制台,这里可以导入 Github、Gitee 和 CNB 的项目哦~

点击「导入项目」,选择 Gitee 项目,找到刚才创建的那个项目,然后就可以直接开始部署啦~

等待大概一分钟左右,部署完成后,在项目概览页面点击预览按钮,就可以先看看资源能不能正常访问啦~

配置域名

如果临时链接可以正常访问的话,我们就可以配置自己的域名啦~在项目概览页面点击「自定义域名」就可以进入配置界面哦~

在那里输入你想要使用的域名,腾讯云可是提供了50个免费证书的额度呢!而且证书到期后还会自动释放额度,所以完全不用担心证书不够用的问题,可以放心大胆地点击「使用免费证书」按钮哦~

\ No newline at end of file +通过 EdgeOne Pages 搭建图床 | 博客 | 仲夏夜之梦
Skip to content

通过 EdgeOne Pages 搭建图床

约 423 字大约 1 分钟

image-hosting

2025-09-29

各位~今天要给大家介绍一个超棒的图床搭建方法哦!EdgeOne Pages 是腾讯云提供的静态网站托管服务,而且还有免费额度可以使用呢,对于日常需求来说完全足够啦~

创建一个 Git 项目

第一步呢,我们需要先在 Gitee 上创建一个项目,专门用来存放网站里要用的各种图片。当然啦,如果你习惯用 Github 或者 CNB 也没问题,这些平台都是支持的哦~而且要记住,项目的目录结构就是以后图片的访问路径呢~

EdgeOne Page 中导入项目

接下来打开 EdgeOne Page 的控制台,这里可以导入 Github、Gitee 和 CNB 的项目哦~

点击「导入项目」,选择 Gitee 项目,找到刚才创建的那个项目,然后就可以直接开始部署啦~

等待大概一分钟左右,部署完成后,在项目概览页面点击预览按钮,就可以先看看资源能不能正常访问啦~

配置域名

如果临时链接可以正常访问的话,我们就可以配置自己的域名啦~在项目概览页面点击「自定义域名」就可以进入配置界面哦~

在那里输入你想要使用的域名,腾讯云可是提供了50个免费证书的额度呢!而且证书到期后还会自动释放额度,所以完全不用担心证书不够用的问题,可以放心大胆地点击「使用免费证书」按钮哦~

\ No newline at end of file diff --git a/article/archives/index.html b/article/archives/index.html new file mode 100644 index 0000000..93ecad8 --- /dev/null +++ b/article/archives/index.html @@ -0,0 +1 @@ +归档 | 仲夏夜之梦
Skip to content
\ No newline at end of file diff --git a/article/categories/index.html b/article/categories/index.html new file mode 100644 index 0000000..e0e007d --- /dev/null +++ b/article/categories/index.html @@ -0,0 +1 @@ +分类 | 仲夏夜之梦
Skip to content
\ No newline at end of file diff --git a/article/deploying-wsl2-on-windows-10/index.html b/article/deploying-wsl2-on-windows-10/index.html index 27f5261..8dc6b95 100644 --- a/article/deploying-wsl2-on-windows-10/index.html +++ b/article/deploying-wsl2-on-windows-10/index.html @@ -1,4 +1,4 @@ -在 Windows10 上部署 WSL2 并启动 ubuntu 虚拟机 | 仲夏夜之梦
Skip to content

在 Windows10 上部署 WSL2 并启动 ubuntu 虚拟机

约 1510 字大约 5 分钟

wsl

2025-09-29

嗨呀~让我们在 Windows10 专业版上部署 WSL2 并启动 ubuntu 20.04 虚拟机吧~

最好使用 Windows10 专业版,并且在物理机上部署呢,在虚拟机上部署的话可能会有小麻烦,所以不太推荐啦~

Windows10 镜像

大家好呀~今天要教大家如何在Windows10上部署WSL2并启动ubuntu虚拟机哦~

首先呢,我们需要准备一个Windows10的镜像文件~虽然Microsoft官方有提供,不过很容易下载失败呢,所以建议大家去MSDN下载会更稳定哦~

在MSDN官网找到「操作系统」→「Window10」→「Windows 10 (Multiple Editions) (x64)」这个版本,它包含了专业版呢~要注意哦,WSL2只支持专业版、企业版或教育版,不支持家庭版呢,所以建议大家直接安装专业版会更方便~

启用WSL2和虚拟机平台

接下来,我们需要启用WSL2和虚拟机平台的功能哦~首先以管理员身份打开PowerShell,然后依次运行下面的命令:

# 启用 WSL 功能
+在 Windows10 上部署 WSL2 并启动 ubuntu 虚拟机 | 博客 | 仲夏夜之梦
Skip to content

在 Windows10 上部署 WSL2 并启动 ubuntu 虚拟机

约 1510 字大约 5 分钟

wsl

2025-09-29

嗨呀~让我们在 Windows10 专业版上部署 WSL2 并启动 ubuntu 20.04 虚拟机吧~

最好使用 Windows10 专业版,并且在物理机上部署呢,在虚拟机上部署的话可能会有小麻烦,所以不太推荐啦~

Windows10 镜像

大家好呀~今天要教大家如何在Windows10上部署WSL2并启动ubuntu虚拟机哦~

首先呢,我们需要准备一个Windows10的镜像文件~虽然Microsoft官方有提供,不过很容易下载失败呢,所以建议大家去MSDN下载会更稳定哦~

在MSDN官网找到「操作系统」→「Window10」→「Windows 10 (Multiple Editions) (x64)」这个版本,它包含了专业版呢~要注意哦,WSL2只支持专业版、企业版或教育版,不支持家庭版呢,所以建议大家直接安装专业版会更方便~

启用WSL2和虚拟机平台

接下来,我们需要启用WSL2和虚拟机平台的功能哦~首先以管理员身份打开PowerShell,然后依次运行下面的命令:

# 启用 WSL 功能
 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
 
 # 启用虚拟机平台(WSL2 必需)
@@ -59,4 +59,4 @@
 Error: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernel
 
 Press any key to continue...

这说明系统缺少WSL2所需的Linux内核更新包哦~这时候我们可以打开微软官网的下载 Linux 内核更新包页面,下载最新的包安装就可以解决啦~

错误码 0x80370102 虚拟化技术没有开启

如果遇到这个错误,可能是因为虚拟化技术没有开启哦~如果是在真实机上操作的话,需要进入BIOS开启虚拟化技术呢~开启之后,可以在任务管理器 -> 性能 -> CPU 的详情页面中,看到下方的虚拟化状态显示为「已启用」哦~

如果是在虚拟机中操作的话,就需要启用嵌套虚拟化技术啦~以VMware为例:

先关闭虚拟机,然后找到虚拟机的.vmx配置文件(通常在虚拟机目录下),在文件末尾添加一行:vhv.enable = "TRUE"

保存之后再启动虚拟机就可以啦~如果还是失败的话,建议尝试换用WSL1,或者使用Hyper-V来部署Windows10虚拟机哦~

通过 WSL2 操作 ubuntu 20.04 LTS 虚拟机

安装完成后,我们该如何操作Ubuntu虚拟机呢?很简单哦~以管理员身份打开PowerShell,然后运行这个命令查看已安装的虚拟机:

# 查看已安装的虚拟机
-wsl -l -v

如果前面的步骤都正确的话,这里应该可以看到一个Ubuntu-20.04的虚拟机啦~

另外,在文件资源管理器中,会多出一个Linux文件夹,里面有一个Ubuntu-20.04文件夹,这就是虚拟机的根目录哦~

想要启动并进入Ubuntu虚拟机的话,可以运行这个命令:

wsl -d Ubuntu-20.04

如果直接退出终端或者关闭窗口,虚拟机实例就会进入挂起状态,下次需要重新启动才能继续使用哦~当然,也可以通过指令强制终止虚拟机:

wsl --terminate Ubuntu-20.04

通过 VS Code 开发

接下来,我们还可以通过VS Code来进行开发哦~不过需要先安装一些扩展呢:'Remote - SSH'和'WSL'

安装好扩展后,在VS Code左侧打开远程资源管理器,就可以看到Ubuntu20.04虚拟机啦~直接点击连接就可以了哦~不过第一次连接可能需要启动一下虚拟机,会有点慢呢,耐心等待一下吧~ 连接成功之后,就可以愉快地进行开发啦~是不是很简单呢~

\ No newline at end of file +wsl -l -v

如果前面的步骤都正确的话,这里应该可以看到一个Ubuntu-20.04的虚拟机啦~

另外,在文件资源管理器中,会多出一个Linux文件夹,里面有一个Ubuntu-20.04文件夹,这就是虚拟机的根目录哦~

想要启动并进入Ubuntu虚拟机的话,可以运行这个命令:

wsl -d Ubuntu-20.04

如果直接退出终端或者关闭窗口,虚拟机实例就会进入挂起状态,下次需要重新启动才能继续使用哦~当然,也可以通过指令强制终止虚拟机:

wsl --terminate Ubuntu-20.04

通过 VS Code 开发

接下来,我们还可以通过VS Code来进行开发哦~不过需要先安装一些扩展呢:'Remote - SSH'和'WSL'

安装好扩展后,在VS Code左侧打开远程资源管理器,就可以看到Ubuntu20.04虚拟机啦~直接点击连接就可以了哦~不过第一次连接可能需要启动一下虚拟机,会有点慢呢,耐心等待一下吧~ 连接成功之后,就可以愉快地进行开发啦~是不是很简单呢~

\ No newline at end of file diff --git a/article/free_model_api/index.html b/article/free_model_api/index.html index ee34d76..935782e 100644 --- a/article/free_model_api/index.html +++ b/article/free_model_api/index.html @@ -1,4 +1,4 @@ -便宜免费的大模型 API 整合 ( 2025年11月11日 ) | 仲夏夜之梦
Skip to content

便宜免费的大模型 API 整合 ( 2025年11月11日 )

约 1449 字大约 5 分钟

llm

2025-11-11

百度千帆、讯飞星火、腾讯混元均有免费在线额度,SCNet 提供 0.1 元/百万 tokens 的超低价大模型,轻量任务先薅免费,量大了再掏 0.1 元,稳!

免费的大模型 API 整合

嗨~如果你在找既温柔又省荷包的小模型,就把它们悄悄收进这里吧!它们也许不是夜空最亮的那颗星,却能在摘要、划重点、轻声问答的小角落里,给你软软又稳稳的陪伴哦~

百度千帆大模型平台

先从千帆开始吧~下面是常用模型的参考价格:

模型名称版本名称服务内容子项在线推理批量推理单位
ERNIE Speedernie-speed-128k推理服务输入00.00012元/千tokens
ERNIE Speedernie-speed-128k推理服务输出00.00024元/千tokens
ERNIE Liteernie-lite-8k推理服务输入00.0012元/千tokens
ERNIE Liteernie-lite-8k推理服务输出00.0024元/千tokens
ERNIE Tinyernie-tiny-8k推理服务输入00.00008元/千tokens
ERNIE Tinyernie-tiny-8k推理服务输出00.00016元/千tokens

提示:单纯调用 API 接口属于在线推理,当前显示为 0 元;批量推理按量计费。

快速上手

  1. 访问控制台并获取 API Key。
  2. 使用下方示例进行快速测试。
  3. 若遇错误,请检查模型名称与凭证有效期。

控制台:https://console.bce.baidu.com/qianfan/ais/console/apiKey

import requests
+便宜免费的大模型 API 整合 ( 2025年11月11日 ) | 模型 | 仲夏夜之梦
Skip to content

便宜免费的大模型 API 整合 ( 2025年11月11日 )

约 1448 字大约 5 分钟

2025-11-11

百度千帆、讯飞星火、腾讯混元均有免费在线额度,SCNet 提供 0.1 元/百万 tokens 的超低价大模型,轻量任务先薅免费,量大了再掏 0.1 元,稳!

免费的大模型 API 整合

嗨~如果你在找既温柔又省荷包的小模型,就把它们悄悄收进这里吧!它们也许不是夜空最亮的那颗星,却能在摘要、划重点、轻声问答的小角落里,给你软软又稳稳的陪伴哦~

百度千帆大模型平台

先从千帆开始吧~下面是常用模型的参考价格:

模型名称版本名称服务内容子项在线推理批量推理单位
ERNIE Speedernie-speed-128k推理服务输入00.00012元/千tokens
ERNIE Speedernie-speed-128k推理服务输出00.00024元/千tokens
ERNIE Liteernie-lite-8k推理服务输入00.0012元/千tokens
ERNIE Liteernie-lite-8k推理服务输出00.0024元/千tokens
ERNIE Tinyernie-tiny-8k推理服务输入00.00008元/千tokens
ERNIE Tinyernie-tiny-8k推理服务输出00.00016元/千tokens

提示:单纯调用 API 接口属于在线推理,当前显示为 0 元;批量推理按量计费。

快速上手

  1. 访问控制台并获取 API Key。
  2. 使用下方示例进行快速测试。
  3. 若遇错误,请检查模型名称与凭证有效期。

控制台:https://console.bce.baidu.com/qianfan/ais/console/apiKey

import requests
 import json
 
 def main():
@@ -141,4 +141,4 @@
         "enable_enhancement": True,
     },
 )
-print(completion.choices[0].message.content)

小贴士:请勿在公共仓库提交任何真实密钥;使用环境变量或密钥管理服务更安全。

低价大模型

SCNet 平台

简介

SCNet 是一个面向人工智能和科学计算的一站式算力与 AI 平台,提供从数据管理、模型训练到部署的完整链路服务,同时结合国产超算硬件和多模态模型生态,让企业和开发者能更高效地使用 AI。

链接与文档

价格一览

模型上下文长度百万 tokens 输入价格百万 tokens 输出价格
Qwen3-235B-A22B32K0.1 元0.1 元
DeepSeek-R1-Distill-Qwen-7B32K0.1 元0.1 元
DeepSeek-R1-Distill-Qwen-32B32K1 元4 元
DeepSeek-R1-Distill-Llama-70B32K0.1 元6 元
QwQ-32B32K1 元4 元
Qwen3-30B-A3B128K1 元6 元
Qwen3-Embedding-8B-0.1 元-

目前看到的价格最低的 Qwen3-235B-A22B 模型的 API,相比前面的免费模型,性能更强。

小结

把上面这些“零钱包”级别的模型都翻完啦~

  • 百度千帆、讯飞星火、腾讯混元都给出「免费在线额度」,日常轻量问答、摘要、润色完全够用;记得把 Key 藏进环境变量,别手滑推到 GitHub。
  • 如果任务量突然暴涨,SCNet 的 Qwen3-235B-A22B 只要 0.1 元/百万 tokens,性价比直接拉满,当“备胎”也安心。

一句话:先薅免费的,薅不动再掏 0.1 元,让荷包和模型一起“稳稳幸福”吧!

\ No newline at end of file +print(completion.choices[0].message.content)

小贴士:请勿在公共仓库提交任何真实密钥;使用环境变量或密钥管理服务更安全。

低价大模型

SCNet 平台

简介

SCNet 是一个面向人工智能和科学计算的一站式算力与 AI 平台,提供从数据管理、模型训练到部署的完整链路服务,同时结合国产超算硬件和多模态模型生态,让企业和开发者能更高效地使用 AI。

链接与文档

价格一览

模型上下文长度百万 tokens 输入价格百万 tokens 输出价格
Qwen3-235B-A22B32K0.1 元0.1 元
DeepSeek-R1-Distill-Qwen-7B32K0.1 元0.1 元
DeepSeek-R1-Distill-Qwen-32B32K1 元4 元
DeepSeek-R1-Distill-Llama-70B32K0.1 元6 元
QwQ-32B32K1 元4 元
Qwen3-30B-A3B128K1 元6 元
Qwen3-Embedding-8B-0.1 元-

目前看到的价格最低的 Qwen3-235B-A22B 模型的 API,相比前面的免费模型,性能更强。

小结

把上面这些“零钱包”级别的模型都翻完啦~

  • 百度千帆、讯飞星火、腾讯混元都给出「免费在线额度」,日常轻量问答、摘要、润色完全够用;记得把 Key 藏进环境变量,别手滑推到 GitHub。
  • 如果任务量突然暴涨,SCNet 的 Qwen3-235B-A22B 只要 0.1 元/百万 tokens,性价比直接拉满,当“备胎”也安心。

一句话:先薅免费的,薅不动再掏 0.1 元,让荷包和模型一起“稳稳幸福”吧!

\ No newline at end of file diff --git a/article/operate-wsl2/index.html b/article/operate-wsl2/index.html index 61143c7..56ab5a7 100644 --- a/article/operate-wsl2/index.html +++ b/article/operate-wsl2/index.html @@ -1,4 +1,4 @@ -WSL2 核心操作指南 | 仲夏夜之梦
Skip to content

WSL2 核心操作指南

约 1122 字大约 4 分钟

wsl

2025-09-30

这篇文章主要讲WSL2虚拟机核心操作哦~它基于轻量级Hyper-V运行,像贴心小精灵默默工作~还能用命令行精细控制!接下来讲启动/关闭、实例管理、资源配置、网络操作、备份迁移这五大操作,是不是很期待呢~♪

启动/关闭 WSL2 虚拟机

WSL2的虚拟机平时是由Windows自动管理的呢,不过我们也可以通过命令手动控制它的生命周期哦~

# 启动指定的发行版
+WSL2 核心操作指南 | 博客 | 仲夏夜之梦
Skip to content

WSL2 核心操作指南

约 1122 字大约 4 分钟

wsl

2025-09-30

这篇文章主要讲WSL2虚拟机核心操作哦~它基于轻量级Hyper-V运行,像贴心小精灵默默工作~还能用命令行精细控制!接下来讲启动/关闭、实例管理、资源配置、网络操作、备份迁移这五大操作,是不是很期待呢~♪

启动/关闭 WSL2 虚拟机

WSL2的虚拟机平时是由Windows自动管理的呢,不过我们也可以通过命令手动控制它的生命周期哦~

# 启动指定的发行版
 wsl -d Ubuntu-20.04
 
 # 关闭指定的发行版
@@ -37,4 +37,4 @@
 
 # 导入 tar 文件为新的发行版
 wsl --import <新发行版名称> <安装目录> <tar 文件路径> [选项]
-wsl --import Ubuntu-Backup C:\wsl\Ubuntu-Backup D:\backups\ubuntu-2004.tar --version 2

要注意哦~导入完成后,默认用户会变成root呢~如果想要设置回原来的用户,可以使用这个命令:

ubuntu2004.exe config --default-user username

悄悄告诉大家一个小秘密~WSL2是可以同时存在多个同源发行版的哦~这样我们就可以在不同的环境中进行不同的实验啦~是不是很方便呢~

\ No newline at end of file +wsl --import Ubuntu-Backup C:\wsl\Ubuntu-Backup D:\backups\ubuntu-2004.tar --version 2

要注意哦~导入完成后,默认用户会变成root呢~如果想要设置回原来的用户,可以使用这个命令:

ubuntu2004.exe config --default-user username

悄悄告诉大家一个小秘密~WSL2是可以同时存在多个同源发行版的哦~这样我们就可以在不同的环境中进行不同的实验啦~是不是很方便呢~

\ No newline at end of file diff --git a/article/tags/index.html b/article/tags/index.html new file mode 100644 index 0000000..fb5c0b7 --- /dev/null +++ b/article/tags/index.html @@ -0,0 +1 @@ +标签 | 仲夏夜之梦
Skip to content

标签

contest2

algorithms2

python1

cs-fundamentals1

honkai-impact-3rd1

wsl2

image-hosting1

SiMengWebSite Notes

SiMengWebSite Notes

祀梦的笔记网站

\ No newline at end of file diff --git a/article/windows11-ragflow-deployment-mcp/index.html b/article/windows11-ragflow-deployment-mcp/index.html new file mode 100644 index 0000000..25d4edb --- /dev/null +++ b/article/windows11-ragflow-deployment-mcp/index.html @@ -0,0 +1,170 @@ +Windows 11 本地部署 RAGFlow 与 Cursor MCP 完整记录 | 模型 | 仲夏夜之梦
Skip to content

Windows 11 本地部署 RAGFlow 与 Cursor MCP 完整记录

约 4710 字大约 16 分钟

2026-03-29

这是一份按本次真实部署过程重新整理的操作文档~

我会尽量把每一步都写得温柔一点、清楚一点,让你以后自己回看的时候,不需要再从聊天记录里一点一点翻找啦。

这份文档适用于:

  • Windows 11
  • Docker Desktop
  • WSL2
  • PowerShell
  • 本地通过 Docker 部署 RAGFlow
  • 在 Cursor 中通过 MCP 访问本地知识库

1. 最终落地状态

本次实际部署目录:

D:\Project\ragflow

本次实际使用版本:

infiniflow/ragflow:v0.23.1

本次实际对外端口如下:

服务主机端口容器端口说明
RAGFlow Web UI3818080浏览器主入口
RAGFlow HTTPS38443443HTTPS 入口
RAGFlow API393809380主 API
RAGFlow Admin API393819381管理端接口
RAGFlow MCP393829382Cursor 连接的 MCP
Elasticsearch312009200向量检索底层
MySQL354553306元数据数据库
Redis363796379缓存
MinIO API390109000对象存储
MinIO Console390119001MinIO 控制台
OpenSearch312019200可选组件
Kibana366015601可选组件
Infinity Thrift3381723817可选组件
Infinity HTTP3382023820可选组件
Infinity PostgreSQL354325432可选组件
OceanBase328812881可选组件
TEI3638080可选嵌入服务

本次 Compose 项目名:

simeng-ragflow

因此容器名会类似:

simeng-ragflow-ragflow-cpu-1
+simeng-ragflow-mysql-1
+simeng-ragflow-minio-1

这样做的好处是,容器、网络、卷都不会以默认的 docker- 前缀出现,更容易识别~

2. 这次实际改动过的关键文件

下面这些文件,是这次部署和修复里真正动过的:

D:\Project\ragflow\docker\.env
+D:\Project\ragflow\docker\docker-compose.yml
+D:\Project\ragflow\mcp\server\server.py
+C:\Users\~\.cursor\mcp.json

它们分别负责:

  • docker\.env

    • 统一管理端口
    • 指定镜像版本
    • 指定 Compose 项目名
    • 配置 MCP 的 host、port、base URL、mode、host API key
  • docker\docker-compose.yml

    • ragflow-cpuragflow-gpu 真正带着 MCP 参数启动
    • 将主机上的 mcp/server/server.py 挂载到容器里
  • mcp\server\server.py

    • 修复空知识库导致 MCP 无限刷日志的问题
  • C:\Users\~\.cursor\mcp.json

    • 把 Cursor 指向本机 http://127.0.0.1:39382/mcp/

3. 为什么这次使用 v0.23.1

官方文档页面可能会展示更新的开发文档内容,但本次实际部署的时候,选择的是更稳妥的稳定版本:

infiniflow/ragflow:v0.23.1

这样做的原因很简单:

  • 稳定版更适合本地长期使用
  • 与当前 Docker Compose 配置兼容性更稳定
  • 便于把问题范围收敛到部署和配置,而不是开发版变更

如果你后续要升级版本,建议先备份:

  • docker\.env
  • docker\docker-compose.yml
  • 自己修补过的 mcp\server\server.py

4. Windows 11 上从零部署 RAGFlow 的完整步骤

4.1 准备环境

请先确认下面这些基础组件已经装好:

  • Windows 11
  • WSL2
  • Docker Desktop
  • Git
  • PowerShell 7 或 Windows PowerShell
  • curl.exe

可以先简单检查:

docker --version
+docker compose version
+git --version
+wsl -l -v
+curl.exe --version

4.2 创建部署目录

如果 D:\Project 不存在,先创建:

New-Item -ItemType Directory -Path 'D:\Project' -Force

进入目录并克隆官方仓库:

Set-Location 'D:\Project'
+git clone https://github.com/infiniflow/ragflow.git
+Set-Location 'D:\Project\ragflow'

如果已经有仓库目录,可以直接进入:

Set-Location 'D:\Project\ragflow'

4.3 设置 WSL 内核参数 vm.max_map_count

这是 Elasticsearch 常见的要求。如果不设置,RAGFlow 依赖的 ES 组件很容易启动失败。

本次实际使用的是临时设置方式:

wsl -d docker-desktop -u root -- sysctl -w vm.max_map_count=262144

如果输出类似下面这样,就表示成功:

vm.max_map_count = 262144

这一步非常重要。

如果 Docker Desktop 重启过,这个值有可能需要重新执行一次。

4.4 修改 docker\.env

打开:

D:\Project\ragflow\docker\.env

本次实际关键配置如下:

COMPOSE_PROJECT_NAME=simeng-ragflow
+
+ES_PORT=31200
+OS_PORT=31201
+KIBANA_PORT=36601
+INFINITY_THRIFT_PORT=33817
+INFINITY_HTTP_PORT=33820
+INFINITY_PSQL_PORT=35432
+OCEANBASE_PORT=32881
+MYSQL_PORT=35455
+MINIO_CONSOLE_PORT=39011
+MINIO_PORT=39010
+REDIS_PORT=36379
+SVR_WEB_HTTP_PORT=38180
+SVR_WEB_HTTPS_PORT=38443
+SVR_HTTP_PORT=39380
+ADMIN_SVR_HTTP_PORT=39381
+SVR_MCP_PORT=39382
+TEI_PORT=36380
+
+RAGFLOW_MCP_HOST=0.0.0.0
+RAGFLOW_MCP_PORT=9382
+RAGFLOW_MCP_BASE_URL=http://127.0.0.1:9380
+RAGFLOW_MCP_MODE=self-host
+RAGFLOW_MCP_HOST_API_KEY=ragflow-请替换为你自己的值
+
+RAGFLOW_IMAGE=infiniflow/ragflow:v0.23.1
+TZ=Asia/Shanghai

请注意:

  • RAGFLOW_MCP_BASE_URL 这里写的是容器内 MCP 访问容器内 RAGFlow API 的地址,所以是 http://127.0.0.1:9380
  • SVR_MCP_PORT=39382 是主机暴露出来给 Cursor 用的外部端口
  • RAGFLOW_MCP_HOST_API_KEY 不要直接公开写在文档、截图或聊天记录里

本机当前已经有一个可用的真实 key 存在于本地 .env 里。如果你是重新部署,请自行生成并填入~

4.5 修改 docker\docker-compose.yml

打开:

D:\Project\ragflow\docker\docker-compose.yml

需要让 ragflow-cpuragflow-gpu 真正带着 MCP 参数启动。

本次 ragflow-cpu 实际结构如下:

ragflow-cpu:
+  depends_on:
+    mysql:
+      condition: service_healthy
+  profiles:
+    - cpu
+  image: ${RAGFLOW_IMAGE}
+  command:
+    - --enable-mcpserver
+    - --mcp-host=${RAGFLOW_MCP_HOST}
+    - --mcp-port=${RAGFLOW_MCP_PORT}
+    - --mcp-base-url=${RAGFLOW_MCP_BASE_URL}
+    - --mcp-script-path=/ragflow/mcp/server/server.py
+    - --mcp-mode=${RAGFLOW_MCP_MODE}
+    - --mcp-host-api-key=${RAGFLOW_MCP_HOST_API_KEY}
+    - --enable-adminserver
+  ports:
+    - ${SVR_WEB_HTTP_PORT}:80
+    - ${SVR_WEB_HTTPS_PORT}:443
+    - ${SVR_HTTP_PORT}:9380
+    - ${ADMIN_SVR_HTTP_PORT}:9381
+    - ${SVR_MCP_PORT}:9382
+  volumes:
+    - ./ragflow-logs:/ragflow/logs
+    - ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf
+    - ./nginx/proxy.conf:/etc/nginx/proxy.conf
+    - ./nginx/nginx.conf:/etc/nginx/nginx.conf
+    - ../history_data_agent:/ragflow/history_data_agent
+    - ../mcp/server/server.py:/ragflow/mcp/server/server.py
+    - ./service_conf.yaml.template:/ragflow/conf/service_conf.yaml.template
+    - ./entrypoint.sh:/ragflow/entrypoint.sh
+  env_file: .env
+  networks:
+    - ragflow
+  restart: unless-stopped
+  extra_hosts:
+    - "host.docker.internal:host-gateway"

如果你使用 GPU 版,也要把 ragflow-gpu 一起改掉,保持一致。

这里最重要的有三点:

  1. --enable-mcpserver

    • 这是让 MCP 真正启动的开关
  2. --mcp-host-api-key=${RAGFLOW_MCP_HOST_API_KEY}

    • 这是给容器内 MCP 进程访问 RAGFlow API 用的,不是给 Cursor 客户端用的
  3. - ../mcp/server/server.py:/ragflow/mcp/server/server.py

    • 这是为了让本地修补过的 server.py 真正进入容器

4.6 启动服务

进入 docker 目录:

Set-Location 'D:\Project\ragflow\docker'

首次启动:

docker compose up -d

查看状态:

docker compose ps

也可以直接看全局容器:

docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

本次正常容器应至少包括:

simeng-ragflow-ragflow-cpu-1
+simeng-ragflow-mysql-1
+simeng-ragflow-minio-1
+simeng-ragflow-redis-1
+simeng-ragflow-es01-1

5. 首次启动后的验证

5.1 检查 Web UI

浏览器访问:

http://127.0.0.1:38180

如果能打开前端页面,说明 Web 层已经起来啦~

5.2 检查健康接口

运行:

curl.exe -s --noproxy "*" http://127.0.0.1:39380/v1/system/healthz

本次正常返回示例:

{"db":"ok","doc_engine":"ok","redis":"ok","status":"ok","storage":"ok"}

只要这里全部是 ok,就说明主链路正常。

6. 默认账号与登录说明

RAGFlow 默认管理员账号来自官方文档:

admin@ragflow.io
+admin

访问地址:

http://127.0.0.1:38180/admin

请特别注意:

  • 这个默认管理员账号只能登录 /admin
  • 不能登录普通前台
  • 如果你拿它去登录普通前台,会收到类似:
Default admin account cannot be used to login normal services!

这不是密码错,而是 RAGFlow 本身就这样设计。

普通使用方式是:

  • 管理后台:/admin
  • 普通用户前台:/
  • 普通用户需要注册新账号,或者由管理员创建

7. 这次实际遇到的问题与解决方案

这一节很重要,因为这里不是"理论问题",而是这次在 Windows 11 本机部署时真实踩到的坑。

7.1 问题一:MinIO 缺少 bucket,健康检查返回 500

现象

初次启动后,RAGFlow 的健康检查可能失败,日志里会出现类似 NoSuchBucket,接口返回 500。

根因

MinIO 服务起来了,但 ragflow-bucket 没有自动建立。

解决方案

进入一个能运行 Python 的 RAGFlow 容器,手工创建 bucket:

docker exec simeng-ragflow-ragflow-cpu-1 python -c "from minio import Minio; c=Minio('minio:9000', access_key='rag_flow', secret_key='infini_rag_flow', secure=False); b='ragflow-bucket'; print('exists_before=' + str(c.bucket_exists(b))); (None if c.bucket_exists(b) else c.make_bucket(b)); print('exists_after=' + str(c.bucket_exists(b)))"

创建成功后,再次检查:

curl.exe -s --noproxy "*" http://127.0.0.1:39380/v1/system/healthz

如果返回全 ok,说明已经恢复正常。

7.2 问题二:MCP 端口明明映射了,但 Cursor 还是连不上

现象

宿主机上看到已经有:

39382 -> 9382

但 Cursor 仍然不可用,或者访问时表现异常。

根因

仅仅暴露端口并不等于 MCP 真的启动了。

之前的问题就是:

  • Docker 做了 39382 -> 9382 的端口映射
  • 但容器内其实没有 MCP 进程监听 9382

所以表现会像:

  • /sse 访问空响应
  • 或容器里 127.0.0.1:9382 直接 Connection refused

解决方案

必须在 docker-compose.yml 里显式增加:

command:
+  - --enable-mcpserver
+  - --mcp-host=${RAGFLOW_MCP_HOST}
+  - --mcp-port=${RAGFLOW_MCP_PORT}
+  - --mcp-base-url=${RAGFLOW_MCP_BASE_URL}
+  - --mcp-script-path=/ragflow/mcp/server/server.py
+  - --mcp-mode=${RAGFLOW_MCP_MODE}
+  - --mcp-host-api-key=${RAGFLOW_MCP_HOST_API_KEY}

然后重建容器:

Set-Location 'D:\Project\ragflow\docker'
+docker compose up -d --force-recreate ragflow-cpu

7.3 问题三:Cursor 配置写成 /mcp,实际应该写 /mcp/

现象

MCP 有时看起来能通,有时又初始化失败,行为不稳定。

根因

/mcp 会发生 307 重定向到 /mcp/

有些 MCP 客户端对这个跳转处理得不够稳定,所以最好直接写最终地址。

解决方案

Cursor 配置使用:

{
+  "mcpServers": {
+    "RAGFlow": {
+      "url": "http://127.0.0.1:39382/mcp/"
+    }
+  }
+}

不要写成:

{
+  "mcpServers": {
+    "RAGFlow": {
+      "url": "http://127.0.0.1:39382/mcp"
+    }
+  }
+}

7.4 问题四:MCP 查询一发起,容器日志疯狂刷屏

现象

在容器 simeng-ragflow-ragflow-cpu-1 中,MCP 发起检索后,日志不断重复请求:

GET /api/v1/datasets/<dataset_id>/documents?page=1

几乎像死循环一样不停输出。

本次触发问题的请求示例

{
+  "question": "vuepress-theme-plume 博客文章 frontmatter tags 标签配置",
+  "page_size": 8,
+  "similarity_threshold": 0.2
+}

根因

mcp/server/server.py 中有一段逻辑会在补齐 document_metadata 时遍历知识库文档分页。

如果某个知识库是空的,也就是:

docs = []

原来的代码既没有翻页,也没有退出循环,于是它会一直打同一个:

/documents?page=1

这次实际触发该问题的原因是:

  • 查询时没有传 dataset_ids
  • MCP 会自动遍历所有可用知识库
  • 其中正好包含一个空知识库
  • 空知识库触发了分页死循环

修复方式

已在:

D:\Project\ragflow\mcp\server\server.py

中补上保护逻辑。核心思路是:

  • 请求失败就退出
  • docs 为空就退出
  • code != 0 就退出
  • page * page_size >= total 时退出

本次修补后的关键逻辑可以概括为:

docs_res = self._get(f"/datasets/{dataset_id}/documents", {"page": page, "page_size": page_size})
+if not docs_res or docs_res.status_code != 200:
+    break
+
+docs_data = docs_res.json()
+page_docs = docs_data.get("data", {}).get("docs") or []
+total = docs_data.get("data", {}).get("total", 0) or 0
+
+if docs_data.get("code") != 0 or not page_docs:
+    break
+
+if page * page_size >= total:
+    break

为什么还要挂载 server.py

因为容器内部默认使用镜像里自带的 server.py

如果你只是改了主机文件,但没有在 Compose 里加:

- ../mcp/server/server.py:/ragflow/mcp/server/server.py

那容器里运行的仍然是旧代码,问题不会真正消失。

7.5 问题五:PowerShell 里发中文 JSON,MCP 返回 utf-8 decode 错误

现象

通过 PowerShell 把中文问题写进 JSON,再用 curl 提交时,MCP 返回类似编码错误。

根因

Windows 下某些写文件方式默认带 BOM,或者不是严格的 UTF-8 无 BOM,服务端解析时会异常。

解决方案

用 UTF-8 无 BOM 明确写文件:

$tmp = Join-Path $env:TEMP 'ragflow_mcp_test.json'
+$body = '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"ragflow_retrieval","arguments":{"question":"vuepress-theme-plume 博客文章 frontmatter tags 标签配置","page_size":8,"similarity_threshold":0.2}}}'
+$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
+[System.IO.File]::WriteAllText($tmp, $body, $utf8NoBom)

然后再请求:

curl.exe -s --noproxy "*" -H "Accept: application/json, text/event-stream" -H "Content-Type: application/json" --data-binary "@$tmp" http://127.0.0.1:39382/mcp/

7.6 问题六:刚重建容器后,MCP 短时间内 Connection refused

现象

你刚执行完重建,立刻测试 /mcp//sse,可能会看到连接失败。

根因

MCP 进程已经在起,但主 API 9380 还没完全 ready,服务存在启动顺序窗口期。

解决方案

先等健康检查恢复为 ok,再测:

curl.exe -s --noproxy "*" http://127.0.0.1:39380/v1/system/healthz

只要主 API 健康了,再去测 MCP,通常就会稳定。

7.7 问题七:MCP 能连上,但检索报 Ollama 连接错误

现象

MCP 初始化正常,但真正执行检索或召回时,返回类似:

Failed to connect to Ollama. Please check that Ollama is downloaded, running and accessible.

根因

这通常不是 MCP 网络层的问题,而是 RAGFlow 当前所绑定的模型服务不可用。

也就是说:

  • MCP 通了
  • RAGFlow 主服务也通了
  • 但 RAGFlow 检索链路依赖的模型服务没有通

解决方案

检查你在 RAGFlow 后台配置的模型是否真的可用:

  • 如果使用 Ollama,确认 Ollama 进程在运行
  • 如果使用 OpenAI 兼容接口,确认 API 地址和 key 正确
  • 如果使用本地代理,确认代理服务本身是正常的

这个问题和 "Cursor 的 MCP 配置" 不是同一层,排障时不要混在一起看。

8. 如何配置 MCP

这一节分成两部分:

  • RAGFlow 服务端如何启用 MCP
  • Cursor 客户端如何接入 MCP

8.1 服务端 MCP 配置

服务端的关键不在 Cursor,而在 RAGFlow 的容器启动参数。

.env 中的 MCP 相关配置

RAGFLOW_MCP_HOST=0.0.0.0
+RAGFLOW_MCP_PORT=9382
+RAGFLOW_MCP_BASE_URL=http://127.0.0.1:9380
+RAGFLOW_MCP_MODE=self-host
+RAGFLOW_MCP_HOST_API_KEY=ragflow-请替换为你自己的值

docker-compose.yml 中必须有的参数

command:
+  - --enable-mcpserver
+  - --mcp-host=${RAGFLOW_MCP_HOST}
+  - --mcp-port=${RAGFLOW_MCP_PORT}
+  - --mcp-base-url=${RAGFLOW_MCP_BASE_URL}
+  - --mcp-script-path=/ragflow/mcp/server/server.py
+  - --mcp-mode=${RAGFLOW_MCP_MODE}
+  - --mcp-host-api-key=${RAGFLOW_MCP_HOST_API_KEY}

这里最容易混淆的一点是:

  • RAGFLOW_MCP_HOST_API_KEY 是给服务端 MCP 自己去访问 RAGFlow API 用的
  • 不是说 Cursor 一定要把这个 key 带出去

本次实际验证下,Cursor 侧可以不配置 API key,仍可通过 http://127.0.0.1:39382/mcp/ 正常工作。

8.2 Cursor 侧 MCP 配置

Cursor 全局配置文件位置:

C:\Users\~\.cursor\mcp.json

本次最终可用配置如下:

{
+  "mcpServers": {
+    "RAGFlow": {
+      "url": "http://127.0.0.1:39382/mcp/"
+    }
+  }
+}

请注意两个细节:

  1. 使用 127.0.0.1,不要混用 localhost
  2. 使用 /mcp/,不要写成 /mcp

如果你已经改好配置,但 Cursor 面板没有刷新出来,可以:

  • 重启 Cursor
  • 或重新打开 MCP 面板

9. 如何验证 MCP 是否正常

这一节给出的是 Windows 11 下可以直接运行的 PowerShell 命令。

9.1 验证 /sse

curl.exe -i --max-time 3 --noproxy "*" http://127.0.0.1:39382/sse

正常时会看到类似:

HTTP/1.1 200 OK
+content-type: text/event-stream; charset=utf-8
+
+event: endpoint
+data: /messages/?session_id=xxxx

这里超时是正常的,因为 SSE 本来就是长连接。

只要能看到 HTTP/1.1 200 OKevent: endpoint,就说明监听已经在了。

9.2 验证 /mcp/ initialize

$tmp = Join-Path $env:TEMP 'ragflow_mcp_init.json'
+$body = '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"local-test","version":"1.0.0"}}}'
+$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
+[System.IO.File]::WriteAllText($tmp, $body, $utf8NoBom)
+
+curl.exe -s -i --noproxy "*" `
+  -H "Accept: application/json, text/event-stream" `
+  -H "Content-Type: application/json" `
+  --data-binary "@$tmp" `
+  http://127.0.0.1:39382/mcp/

正常时会返回 200 OK,并带上 serverInfo

9.3 验证 tools/list

$tmp = Join-Path $env:TEMP 'ragflow_mcp_tools_list.json'
+$body = '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
+$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
+[System.IO.File]::WriteAllText($tmp, $body, $utf8NoBom)
+
+curl.exe -s --noproxy "*" `
+  -H "Accept: application/json, text/event-stream" `
+  -H "Content-Type: application/json" `
+  --data-binary "@$tmp" `
+  http://127.0.0.1:39382/mcp/

正常时你会看到 ragflow_retrieval 这个工具,以及当前可用知识库列表。

9.4 验证 tools/call

$tmp = Join-Path $env:TEMP 'ragflow_mcp_tool_call.json'
+$body = '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"ragflow_retrieval","arguments":{"question":"vuepress-theme-plume 博客文章 frontmatter tags 标签配置","page_size":8,"similarity_threshold":0.2}}}'
+$utf8NoBom = New-Object System.Text.UTF8Encoding($false)
+[System.IO.File]::WriteAllText($tmp, $body, $utf8NoBom)
+
+curl.exe -s --noproxy "*" `
+  -H "Accept: application/json, text/event-stream" `
+  -H "Content-Type: application/json" `
+  --data-binary "@$tmp" `
+  http://127.0.0.1:39382/mcp/

如果返回真正的 chunk 内容,说明 MCP 与知识库已经打通。

如果返回模型错误,而不是网络错误,说明:

  • MCP 已通
  • 但 RAGFlow 内部模型服务仍需单独检查

10. RAGFlow 日常启动、停止、重建命令

启动前先设置内核参数

wsl -d docker-desktop -u root -- sysctl -w vm.max_map_count=262144

启动

Set-Location 'D:\Project\ragflow\docker'
+docker compose up -d

停止

Set-Location 'D:\Project\ragflow\docker'
+docker compose down

只重建 RAGFlow 主容器

Set-Location 'D:\Project\ragflow\docker'
+docker compose up -d --force-recreate ragflow-cpu

查看日志

docker logs --tail 200 simeng-ragflow-ragflow-cpu-1

持续跟踪:

docker logs -f simeng-ragflow-ragflow-cpu-1

查看容器

docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

11. 不建议直接做的事情

11.1 不要轻易执行 docker compose down -v

这个命令会把卷一起删掉。

如果你没有明确打算重置数据,尽量不要这样做。

推荐只用:

docker compose down

11.2 不要把默认管理员密码长期保留在对外环境中

默认管理员账号只适合本地测试。

如果要用于局域网或公网,建议尽快处理:

  • 修改管理员密码
  • 关闭不必要的注册入口
  • 修改 .env 中的默认弱口令

11.3 不要把真实的 MCP host API key 写进文档或发给别人

这类 key 应只保存在:

  • 本地 .env
  • 安全的密码管理工具

这份文档里只保留占位符,是为了避免后续二次泄露。

12. 推荐的排障顺序

如果以后再出现问题,建议按这个顺序排:

  1. 先看容器在不在
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
  1. 再看主服务健康不健康
curl.exe -s --noproxy "*" http://127.0.0.1:39380/v1/system/healthz
  1. 再看 MCP 端口是否在监听
curl.exe -i --max-time 3 --noproxy "*" http://127.0.0.1:39382/sse
  1. 再测 /mcp/ 初始化

  2. 最后才去看 Cursor 配置

这样排会比较稳,不容易把"模型问题""服务问题""客户端配置问题"混在一起。

13. 一份最小可用检查清单

如果你只想快速确认现在能不能用,可以看这一小节。

RAGFlow 是否正常

MCP 是否正常

Cursor 是否配置正确

14. 本次部署中可直接参考的文件路径总表

部署目录

D:\Project\ragflow

环境变量

D:\Project\ragflow\docker\.env

Compose 文件

D:\Project\ragflow\docker\docker-compose.yml

MCP 服务端实现

D:\Project\ragflow\mcp\server\server.py

Cursor MCP 配置

C:\Users\~\.cursor\mcp.json

官方管理员文档

D:\Project\ragflow\docs\guides\accessing_admin_ui.md

普通登录限制代码

D:\Project\ragflow\api\apps\user_app.py

15. 一点温柔的提醒

这套链路表面上看只是 "把 RAGFlow 跑起来,再在 Cursor 里配个 MCP"。

但实际踩下来,你会发现它至少包含四层:

  • Docker 层
  • RAGFlow 服务层
  • MCP 服务层
  • Cursor 客户端层

任何一层不通,都会表现成 "好像 MCP 有问题"。

所以以后遇到异常时,别急,也别怀疑自己哪里全都弄错了。

多数时候只是某一层状态没有对齐。

按这份文档一层一层检查,通常就能很快找到问题点。

16. 参考链接

17. 本次文档重建说明

这份文档是根据本次实际部署、修复、验证过程重新整理的。

它特别保留了这次真实发生过的关键问题:

  • MinIO bucket 缺失
  • 默认管理员账号不能登录普通前台
  • MCP 端口映射了但实际没有启动
  • Cursor /mcp/mcp/ 的差异
  • 空知识库导致 MCP 日志无限刷屏
  • PowerShell 中文 JSON 编码问题
  • 模型服务异常与 MCP 异常的区分

如果以后你继续调整:

  • 模型配置
  • Docker 端口
  • MCP 参数
  • server.py 修补逻辑

建议同步更新这份文档,这样后面你自己维护会轻松很多。

\ No newline at end of file diff --git a/assets/404.html-D_Wnqzx0.js b/assets/404.html-DIUjmMnZ.js similarity index 93% rename from assets/404.html-D_Wnqzx0.js rename to assets/404.html-DIUjmMnZ.js index 50fbd12..3a2a8ab 100644 --- a/assets/404.html-D_Wnqzx0.js +++ b/assets/404.html-DIUjmMnZ.js @@ -1 +1 @@ -import{_ as e,c as o,b as n,o as r}from"./app-BJYYgOLS.js";const a={};function p(s,t){return r(),o("div",null,[...t[0]||(t[0]=[n("p",null,"404 Not Found",-1)])])}const i=e(a,[["render",p]]),l=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/404.html"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}]]},"readingTime":{"minutes":0.01,"words":3},"git":{},"autoDesc":true,"filePathRelative":null,"headers":[]}');export{i as comp,l as data}; +import{_ as e,c as o,b as n,o as r}from"./app-DTJ1dk4L.js";const a={};function p(s,t){return r(),o("div",null,[...t[0]||(t[0]=[n("p",null,"404 Not Found",-1)])])}const i=e(a,[["render",p]]),l=JSON.parse('{"path":"/404.html","title":"","lang":"zh-CN","frontmatter":{"layout":"NotFound","description":"404 Not Found","head":[["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\",\\"description\\":\\"404 Not Found\\"}"],["meta",{"property":"og:url","content":"https://www.simengweb.com/404.html"}],["meta",{"property":"og:site_name","content":"仲夏夜之梦"}],["meta",{"property":"og:description","content":"404 Not Found"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh-CN"}]]},"readingTime":{"minutes":0.01,"words":3},"git":{},"autoDesc":true,"filePathRelative":null,"headers":[]}');export{i as comp,l as data}; diff --git a/assets/SearchBox-CvM1tjPW.js b/assets/SearchBox-CvM1tjPW.js deleted file mode 100644 index 18d9047..0000000 --- a/assets/SearchBox-CvM1tjPW.js +++ /dev/null @@ -1,8 +0,0 @@ -import{f as Fe,x as he,R as ut,u as ie,m as ze,S as dt,T as ht,U as ft,_ as be,c as V,o as P,b as w,z as pt,V as vt,W as mt,t as gt,X as Pe,j as X,Y as bt,Z as yt,n as ee,g as _e,$ as le,a0 as wt,a1 as _t,a2 as xt,P as St,A as kt,a3 as Et,J as It,e as xe,y as O,L as Tt,s as Nt,B as Ft,D as Ve,E as Ct,a4 as Rt,F as $e,d as te,C as ne,a5 as Ot,a6 as je,a7 as Mt}from"./app-BJYYgOLS.js";/*! -* tabbable 6.2.0 -* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var Ye=["input:not([inert])","select:not([inert])","textarea:not([inert])","a[href]:not([inert])","button:not([inert])","[tabindex]:not(slot):not([inert])","audio[controls]:not([inert])","video[controls]:not([inert])",'[contenteditable]:not([contenteditable="false"]):not([inert])',"details>summary:first-of-type:not([inert])","details:not([inert])"],fe=Ye.join(","),Ze=typeof Element>"u",U=Ze?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,pe=!Ze&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a?.ownerDocument},ve=function a(e,t){var n;t===void 0&&(t=!0);var s=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),r=s===""||s==="true",i=r||t&&e&&a(e.parentNode);return i},At=function(e){var t,n=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return n===""||n==="true"},Xe=function(e,t,n){if(ve(e))return[];var s=Array.prototype.slice.apply(e.querySelectorAll(fe));return t&&U.call(e,fe)&&s.unshift(e),s=s.filter(n),s},et=function a(e,t,n){for(var s=[],r=Array.from(e);r.length;){var i=r.shift();if(!ve(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,c=a(l,!0,n);n.flatten?s.push.apply(s,c):s.push({scopeParent:i,candidates:c})}else{var d=U.call(i,fe);d&&n.filter(i)&&(t||!e.includes(i))&&s.push(i);var v=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),p=!ve(v,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(v&&p){var b=a(v===!0?i.children:v.children,!0,n);n.flatten?s.push.apply(s,b):s.push({scopeParent:i,candidates:b})}else r.unshift.apply(r,i.children)}}return s},tt=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},K=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||At(e))&&!tt(e)?0:e.tabIndex},Lt=function(e,t){var n=K(e);return n<0&&t&&!tt(e)?0:n},Dt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},nt=function(e){return e.tagName==="INPUT"},zt=function(e){return nt(e)&&e.type==="hidden"},Pt=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return t},Vt=function(e,t){for(var n=0;nsummary:first-of-type"),i=r?e.parentElement:e;if(U.call(i,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="legacy-full"){if(typeof s=="function"){for(var o=e;e;){var l=e.parentElement,c=pe(e);if(l&&!l.shadowRoot&&s(l)===!0)return Be(e);e.assignedSlot?e=e.assignedSlot:!l&&c!==e.ownerDocument?e=c.host:e=l}e=o}if(Wt(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return Be(e);return!1},Kt=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var n=0;n=0)},qt=function a(e){var t=[],n=[];return e.forEach(function(s,r){var i=!!s.scopeParent,o=i?s.scopeParent:s,l=Lt(o,i),c=i?a(s.candidates):o;l===0?i?t.push.apply(t,c):t.push(o):n.push({documentOrder:r,tabIndex:l,item:s,isScope:i,content:c})}),n.sort(Dt).reduce(function(s,r){return r.isScope?s.push.apply(s,r.content):s.push(r.content),s},[]).concat(t)},Gt=function(e,t){t=t||{};var n;return t.getShadowRoot?n=et([e],t.includeContainer,{filter:Ce.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:Ut}):n=Xe(e,t.includeContainer,Ce.bind(null,t)),qt(n)},Ht=function(e,t){t=t||{};var n;return t.getShadowRoot?n=et([e],t.includeContainer,{filter:me.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):n=Xe(e,t.includeContainer,me.bind(null,t)),n},H=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return U.call(e,fe)===!1?!1:Ce(t,e)},Qt=Ye.concat("iframe").join(","),Se=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return U.call(e,Qt)===!1?!1:me(t,e)};/*! -* focus-trap 7.6.5 -* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE -*/function Re(a,e){(e==null||e>a.length)&&(e=a.length);for(var t=0,n=Array(e);t0){var n=e[e.length-1];n!==t&&n._setPausedState(!0)}var s=e.indexOf(t);s===-1||e.splice(s,1),e.push(t)},deactivateTrap:function(e,t){var n=e.indexOf(t);n!==-1&&e.splice(n,1),e.length>0&&!e[e.length-1]._isManuallyPaused()&&e[e.length-1]._setPausedState(!1)}},an=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},on=function(e){return e?.key==="Escape"||e?.key==="Esc"||e?.keyCode===27},re=function(e){return e?.key==="Tab"||e?.keyCode===9},ln=function(e){return re(e)&&!e.shiftKey},cn=function(e){return re(e)&&e.shiftKey},Ue=function(e){return setTimeout(e,0)},se=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),s=1;s1&&arguments[1]!==void 0?arguments[1]:{},f=h.hasFallback,m=f===void 0?!1:f,y=h.params,k=y===void 0?[]:y,_=r[u];if(typeof _=="function"&&(_=_.apply(void 0,tn(k))),_===!0&&(_=void 0),!_){if(_===void 0||_===!1)return _;throw new Error("`".concat(u,"` was specified but was not a node, or did not return a node"))}var I=_;if(typeof _=="string"){try{I=n.querySelector(_)}catch(T){throw new Error("`".concat(u,'` appears to be an invalid selector; error="').concat(T.message,'"'))}if(!I&&!m)throw new Error("`".concat(u,"` as selector refers to no known node"))}return I},v=function(){var u=d("initialFocus",{hasFallback:!0});if(u===!1)return!1;if(u===void 0||u&&!Se(u,r.tabbableOptions))if(c(n.activeElement)>=0)u=n.activeElement;else{var h=i.tabbableGroups[0],f=h&&h.firstTabbableNode;u=f||d("fallbackFocus")}else u===null&&(u=d("fallbackFocus"));if(!u)throw new Error("Your focus-trap needs to have at least one focusable element");return u},p=function(){if(i.containerGroups=i.containers.map(function(u){var h=Gt(u,r.tabbableOptions),f=Ht(u,r.tabbableOptions),m=h.length>0?h[0]:void 0,y=h.length>0?h[h.length-1]:void 0,k=f.find(function(T){return H(T)}),_=f.slice().reverse().find(function(T){return H(T)}),I=!!h.find(function(T){return K(T)>0});return{container:u,tabbableNodes:h,focusableNodes:f,posTabIndexesFound:I,firstTabbableNode:m,lastTabbableNode:y,firstDomTabbableNode:k,lastDomTabbableNode:_,nextTabbableNode:function(D){var W=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,z=h.indexOf(D);return z<0?W?f.slice(f.indexOf(D)+1).find(function(J){return H(J)}):f.slice(0,f.indexOf(D)).reverse().find(function(J){return H(J)}):h[z+(W?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(u){return u.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!d("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(u){return u.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(u){var h=u.activeElement;if(h)return h.shadowRoot&&h.shadowRoot.activeElement!==null?b(h.shadowRoot):h},g=function(u){if(u!==!1&&u!==b(document)){if(!u||!u.focus){g(v());return}u.focus({preventScroll:!!r.preventScroll}),i.mostRecentlyFocusedNode=u,an(u)&&u.select()}},S=function(u){var h=d("setReturnFocus",{params:[u]});return h||(h===!1?!1:u)},x=function(u){var h=u.target,f=u.event,m=u.isBackward,y=m===void 0?!1:m;h=h||ce(f),p();var k=null;if(i.tabbableGroups.length>0){var _=c(h,f),I=_>=0?i.containerGroups[_]:void 0;if(_<0)y?k=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:k=i.tabbableGroups[0].firstTabbableNode;else if(y){var T=i.tabbableGroups.findIndex(function(ye){var we=ye.firstTabbableNode;return h===we});if(T<0&&(I.container===h||Se(h,r.tabbableOptions)&&!H(h,r.tabbableOptions)&&!I.nextTabbableNode(h,!1))&&(T=_),T>=0){var D=T===0?i.tabbableGroups.length-1:T-1,W=i.tabbableGroups[D];k=K(h)>=0?W.lastTabbableNode:W.lastDomTabbableNode}else re(f)||(k=I.nextTabbableNode(h,!1))}else{var z=i.tabbableGroups.findIndex(function(ye){var we=ye.lastTabbableNode;return h===we});if(z<0&&(I.container===h||Se(h,r.tabbableOptions)&&!H(h,r.tabbableOptions)&&!I.nextTabbableNode(h))&&(z=_),z>=0){var J=z===i.tabbableGroups.length-1?0:z+1,oe=i.tabbableGroups[J];k=K(h)>=0?oe.firstTabbableNode:oe.firstDomTabbableNode}else re(f)||(k=I.nextTabbableNode(h))}}else k=d("fallbackFocus");return k},F=function(u){var h=ce(u);if(!(c(h,u)>=0)){if(se(r.clickOutsideDeactivates,u)){o.deactivate({returnFocus:r.returnFocusOnDeactivate});return}se(r.allowOutsideClick,u)||u.preventDefault()}},C=function(u){var h=ce(u),f=c(h,u)>=0;if(f||h instanceof Document)f&&(i.mostRecentlyFocusedNode=h);else{u.stopImmediatePropagation();var m,y=!0;if(i.mostRecentlyFocusedNode)if(K(i.mostRecentlyFocusedNode)>0){var k=c(i.mostRecentlyFocusedNode),_=i.containerGroups[k].tabbableNodes;if(_.length>0){var I=_.findIndex(function(T){return T===i.mostRecentlyFocusedNode});I>=0&&(r.isKeyForward(i.recentNavEvent)?I+1<_.length&&(m=_[I+1],y=!1):I-1>=0&&(m=_[I-1],y=!1))}}else i.containerGroups.some(function(T){return T.tabbableNodes.some(function(D){return K(D)>0})})||(y=!1);else y=!1;y&&(m=x({target:i.mostRecentlyFocusedNode,isBackward:r.isKeyBackward(i.recentNavEvent)})),g(m||i.mostRecentlyFocusedNode||v())}i.recentNavEvent=void 0},j=function(u){var h=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=u;var f=x({event:u,isBackward:h});f&&(re(u)&&u.preventDefault(),g(f))},A=function(u){(r.isKeyForward(u)||r.isKeyBackward(u))&&j(u,r.isKeyBackward(u))},L=function(u){on(u)&&se(r.escapeDeactivates,u)!==!1&&(u.preventDefault(),o.deactivate())},N=function(u){var h=ce(u);c(h,u)>=0||se(r.clickOutsideDeactivates,u)||se(r.allowOutsideClick,u)||(u.preventDefault(),u.stopImmediatePropagation())},M=function(){if(i.active)return Ke.activateTrap(s,o),i.delayInitialFocusTimer=r.delayInitialFocus?Ue(function(){g(v())}):g(v()),n.addEventListener("focusin",C,!0),n.addEventListener("mousedown",F,{capture:!0,passive:!1}),n.addEventListener("touchstart",F,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",A,{capture:!0,passive:!1}),n.addEventListener("keydown",L),o},q=function(){if(i.active)return n.removeEventListener("focusin",C,!0),n.removeEventListener("mousedown",F,!0),n.removeEventListener("touchstart",F,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",A,!0),n.removeEventListener("keydown",L),o},ae=function(u){var h=u.some(function(f){var m=Array.from(f.removedNodes);return m.some(function(y){return y===i.mostRecentlyFocusedNode})});h&&g(v())},G=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(ae):void 0,B=function(){G&&(G.disconnect(),i.active&&!i.paused&&i.containers.map(function(u){G.observe(u,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(u){if(i.active)return this;var h=l(u,"onActivate"),f=l(u,"onPostActivate"),m=l(u,"checkCanFocusTrap");m||p(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=b(n),h?.();var y=function(){m&&p(),M(),B(),f?.()};return m?(m(i.containers.concat()).then(y,y),this):(y(),this)},deactivate:function(u){if(!i.active)return this;var h=Je({onDeactivate:r.onDeactivate,onPostDeactivate:r.onPostDeactivate,checkCanReturnFocus:r.checkCanReturnFocus},u);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,q(),i.active=!1,i.paused=!1,B(),Ke.deactivateTrap(s,o);var f=l(h,"onDeactivate"),m=l(h,"onPostDeactivate"),y=l(h,"checkCanReturnFocus"),k=l(h,"returnFocus","returnFocusOnDeactivate");f?.();var _=function(){Ue(function(){k&&g(S(i.nodeFocusedBeforeActivation)),m?.()})};return k&&y?(y(S(i.nodeFocusedBeforeActivation)).then(_,_),this):(_(),this)},pause:function(u){return i.active?(i.manuallyPaused=!0,this._setPausedState(!0,u)):this},unpause:function(u){return i.active?(i.manuallyPaused=!1,s[s.length-1]!==this?this:this._setPausedState(!1,u)):this},updateContainerElements:function(u){var h=[].concat(u).filter(Boolean);return i.containers=h.map(function(f){return typeof f=="string"?n.querySelector(f):f}),i.active&&p(),B(),this}},Object.defineProperties(o,{_isManuallyPaused:{value:function(){return i.manuallyPaused}},_setPausedState:{value:function(u,h){if(i.paused===u)return this;if(i.paused=u,u){var f=l(h,"onPause"),m=l(h,"onPostPause");f?.(),q(),B(),m?.()}else{var y=l(h,"onUnpause"),k=l(h,"onPostUnpause");y?.(),p(),M(),B(),k?.()}return this}}}),o.updateContainerElements(e),o};function hn(a,e={}){let t;const{immediate:n,...s}=e,r=ie(!1),i=ie(!1),o=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),c=()=>{t&&(t.pause(),i.value=!0)},d=()=>{t&&(t.unpause(),i.value=!1)},v=he(()=>{const p=ze(a);return dt(p).map(b=>{const g=ze(b);return typeof g=="string"?g:ht(g)}).filter(ft)});return Fe(v,p=>{if(p.length)if(!t)t=dn(p,{...s,onActivate(){r.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){r.value=!1,e.onDeactivate&&e.onDeactivate()}}),n&&o();else{const b=t?.active;t?.updateContainerElements(p),!b&&n&&o()}},{flush:"post"}),ut(()=>l()),{hasFocus:r,isPaused:i,activate:o,deactivate:l,pause:c,unpause:d}}class Y{constructor(e,t=!0,n=[],s=5e3){this.ctx=e,this.iframes=t,this.exclude=n,this.iframesTimeout=s}static matches(e,t){const n=typeof t=="string"?[t]:t,s=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(s){let r=!1;return n.every(i=>s.call(e,i)?(r=!0,!1):!0),r}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(n=>{const s=t.filter(r=>r.contains(n)).length>0;t.indexOf(n)===-1&&!s&&t.push(n)}),t}getIframeContents(e,t,n=()=>{}){let s;try{const r=e.contentWindow;if(s=r.document,!r||!s)throw new Error("iframe inaccessible")}catch{n()}s&&t(s)}isIframeBlank(e){const t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}observeIframeLoad(e,t,n){let s=!1,r=null;const i=()=>{if(!s){s=!0,clearTimeout(r);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,n))}catch{n()}}};e.addEventListener("load",i),r=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,n){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch{n()}}waitForIframes(e,t){let n=0;this.forEachIframe(e,()=>!0,s=>{n++,this.waitForIframes(s.querySelector("html"),()=>{--n||t()})},s=>{s||t()})}forEachIframe(e,t,n,s=()=>{}){let r=e.querySelectorAll("iframe"),i=r.length,o=0;r=Array.prototype.slice.call(r);const l=()=>{--i<=0&&s(o)};i||l(),r.forEach(c=>{Y.matches(c,this.exclude)?l():this.onIframeReady(c,d=>{t(c)&&(o++,n(d)),l()},l)})}createIterator(e,t,n){return document.createNodeIterator(e,t,n,!1)}createInstanceOnIframe(e){return new Y(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,n){const s=e.compareDocumentPosition(n),r=Node.DOCUMENT_POSITION_PRECEDING;if(s&r)if(t!==null){const i=t.compareDocumentPosition(n),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let n;return t===null?n=e.nextNode():n=e.nextNode()&&e.nextNode(),{prevNode:t,node:n}}checkIframeFilter(e,t,n,s){let r=!1,i=!1;return s.forEach((o,l)=>{o.val===n&&(r=l,i=o.handled)}),this.compareNodeIframe(e,t,n)?(r===!1&&!i?s.push({val:n,handled:!0}):r!==!1&&!i&&(s[r].handled=!0),!0):(r===!1&&s.push({val:n,handled:!1}),!1)}handleOpenIframes(e,t,n,s){e.forEach(r=>{r.handled||this.getIframeContents(r.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,n,s)})})}iterateThroughNodes(e,t,n,s,r){const i=this.createIterator(t,e,s);let o=[],l=[],c,d,v=()=>({prevNode:d,node:c}=this.getIteratorNode(i),c);for(;v();)this.iframes&&this.forEachIframe(t,p=>this.checkIframeFilter(c,d,p,o),p=>{this.createInstanceOnIframe(p).forEachNode(e,b=>l.push(b),s)}),l.push(c);l.forEach(p=>{n(p)}),this.iframes&&this.handleOpenIframes(o,e,n,s),r()}forEachNode(e,t,n,s=()=>{}){const r=this.getContexts();let i=r.length;i||s(),r.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,n,()=>{--i<=0&&s()})};this.iframes?this.waitForIframes(o,l):l()})}}let fn=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new Y(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const n=this.opt.log;this.opt.debug&&typeof n=="object"&&typeof n[t]=="function"&&n[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",s=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let r in t)if(t.hasOwnProperty(r)){const i=t[r],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(r):this.escapeStr(r),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${n}`),s+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+s))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,n,s)=>{let r=s.charAt(n+1);return/[(|)\\]/.test(r)||r===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let s=[];return e.split("").forEach(r=>{n.every(i=>{if(i.indexOf(r)!==-1){if(s.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),s.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let n=this.opt.accuracy,s=typeof n=="string"?n:n.value,r=typeof n=="string"?[]:n.limiters,i="";switch(r.forEach(o=>{i+=`|${this.escapeStr(o)}`}),s){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(n=>{this.opt.separateWordSearch?n.split(" ").forEach(s=>{s.trim()&&t.indexOf(s)===-1&&t.push(s)}):n.trim()&&t.indexOf(n)===-1&&t.push(n)}),{keywords:t.sort((n,s)=>s.length-n.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let n=0;return e.sort((s,r)=>s.start-r.start).forEach(s=>{let{start:r,end:i,valid:o}=this.callNoMatchOnInvalidRanges(s,n);o&&(s.start=r,s.length=i-r,t.push(s),n=i)}),t}callNoMatchOnInvalidRanges(e,t){let n,s,r=!1;return e&&typeof e.start<"u"?(n=parseInt(e.start,10),s=n+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&s-t>0&&s-n>0?r=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:n,end:s,valid:r}}checkWhitespaceRanges(e,t,n){let s,r=!0,i=n.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,s=l+parseInt(e.length,10),s>i&&(s=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||s-l<0||l>i||s>i?(r=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):n.substring(l,s).replace(/\s+/g,"")===""&&(r=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:s,valid:r}}getTextNodes(e){let t="",n=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,s=>{n.push({start:t.length,end:(t+=s.textContent).length,node:s})},s=>this.matchesExclude(s.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:n})})}matchesExclude(e){return Y.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,n){const s=this.opt.element?this.opt.element:"mark",r=e.splitText(t),i=r.splitText(n-t);let o=document.createElement(s);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=r.textContent,r.parentNode.replaceChild(o,r),i}wrapRangeInMappedTextNode(e,t,n,s,r){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!s(i.node))return!1;const c=t-i.start,d=(n>i.end?i.end:n)-i.start,v=e.value.substr(0,i.start),p=e.value.substr(d+i.start);if(i.node=this.wrapRangeInTextNode(i.node,c,d),e.value=v+p,e.nodes.forEach((b,g)=>{g>=o&&(e.nodes[g].start>0&&g!==o&&(e.nodes[g].start-=d),e.nodes[g].end-=d)}),n-=d,r(i.node.previousSibling,i.start),n>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,n,s,r){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let c;for(;(c=e.exec(l.textContent))!==null&&c[i]!=="";){if(!n(c[i],l))continue;let d=c.index;if(i!==0)for(let v=1;v{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let c=l.index;if(i!==0)for(let v=1;vn(l[i],v),(v,p)=>{e.lastIndex=p,s(v)})}r()})}wrapRangeFromIndex(e,t,n,s){this.getTextNodes(r=>{const i=r.value.length;e.forEach((o,l)=>{let{start:c,end:d,valid:v}=this.checkWhitespaceRanges(o,i,r.value);v&&this.wrapRangeInMappedTextNode(r,c,d,p=>t(p,o,r.value.substring(c,d),l),p=>{n(p,o)})}),s()})}unwrapMatches(e){const t=e.parentNode;let n=document.createDocumentFragment();for(;e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let n=0,s="wrapMatches";const r=i=>{n++,this.opt.each(i)};this.opt.acrossElements&&(s="wrapMatchesAcrossElements"),this[s](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,n),r,()=>{n===0&&this.opt.noMatch(e),this.opt.done(n)})}mark(e,t){this.opt=t;let n=0,s="wrapMatches";const{keywords:r,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=c=>{let d=new RegExp(this.createRegExp(c),`gm${o}`),v=0;this.log(`Searching with expression "${d}"`),this[s](d,1,(p,b)=>this.opt.filter(b,c,n,v),p=>{v++,n++,this.opt.each(p)},()=>{v===0&&this.opt.noMatch(c),r[i-1]===c?this.opt.done(n):l(r[r.indexOf(c)+1])})};this.opt.acrossElements&&(s="wrapMatchesAcrossElements"),i===0?this.opt.done(n):l(r[0])}markRanges(e,t){this.opt=t;let n=0,s=this.checkRanges(e);s&&s.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(s)),this.wrapRangeFromIndex(s,(r,i,o,l)=>this.opt.filter(r,i,o,l),(r,i)=>{n++,this.opt.each(r,i)},()=>{this.opt.done(n)})):this.opt.done(n)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,n=>{this.unwrapMatches(n)},n=>{const s=Y.matches(n,t),r=this.matchesExclude(n);return!s||r?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function pn(a){const e=new fn(a);return this.mark=(t,n)=>(e.mark(t,n),this),this.markRegExp=(t,n)=>(e.markRegExp(t,n),this),this.markRanges=(t,n)=>(e.markRanges(t,n),this),this.unmark=t=>(e.unmark(t),this),this}const vn="ENTRIES",st="KEYS",it="VALUES",R="";class ke{constructor(e,t){const n=e._tree,s=Array.from(n.keys());this.set=e,this._type=t,this._path=s.length>0?[{node:n,keys:s}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=Q(this._path);if(Q(t)===R)return{done:!1,value:this.result()};const n=e.get(Q(t));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=Q(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>Q(e)).filter(e=>e!==R).join("")}value(){return Q(this._path).node.get(R)}result(){switch(this._type){case it:return this.value();case st:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const Q=a=>a[a.length-1],mn=(a,e,t)=>{const n=new Map;if(e===void 0)return n;const s=e.length+1,r=s+t,i=new Uint8Array(r*s).fill(t+1);for(let o=0;o{const l=r*i;e:for(const c of a.keys())if(c===R){const d=s[l-1];d<=t&&n.set(o,[a.get(c),d])}else{let d=r;for(let v=0;vt)continue e}rt(a.get(c),e,t,n,s,d,i,o+c)}};class ${constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,n]=ge(this._tree,e.slice(this._prefix.length));if(t===void 0){const[s,r]=Le(n);for(const i of s.keys())if(i!==R&&i.startsWith(r)){const o=new Map;return o.set(i.slice(r.length),s.get(i)),new $(o,e)}}return new $(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,gn(this._tree,e)}entries(){return new ke(this,vn)}forEach(e){for(const[t,n]of this)e(t,n,this)}fuzzyGet(e,t){return mn(this._tree,e,t)}get(e){const t=Oe(this._tree,e);return t!==void 0?t.get(R):void 0}has(e){const t=Oe(this._tree,e);return t!==void 0&&t.has(R)}keys(){return new ke(this,st)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,Ee(this._tree,e).set(R,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const n=Ee(this._tree,e);return n.set(R,t(n.get(R))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const n=Ee(this._tree,e);let s=n.get(R);return s===void 0&&n.set(R,s=t()),s}values(){return new ke(this,it)}[Symbol.iterator](){return this.entries()}static from(e){const t=new $;for(const[n,s]of e)t.set(n,s);return t}static fromObject(e){return $.from(Object.entries(e))}}const ge=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const n of a.keys())if(n!==R&&e.startsWith(n))return t.push([a,n]),ge(a.get(n),e.slice(n.length),t);return t.push([a,e]),ge(void 0,"",t)},Oe=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==R&&e.startsWith(t))return Oe(a.get(t),e.slice(t.length))},Ee=(a,e)=>{const t=e.length;e:for(let n=0;a&&n{const[t,n]=ge(a,e);if(t!==void 0){if(t.delete(R),t.size===0)at(n);else if(t.size===1){const[s,r]=t.entries().next().value;ot(n,s,r)}}},at=a=>{if(a.length===0)return;const[e,t]=Le(a);if(e.delete(t),e.size===0)at(a.slice(0,-1));else if(e.size===1){const[n,s]=e.entries().next().value;n!==R&&ot(a.slice(0,-1),n,s)}},ot=(a,e,t)=>{if(a.length===0)return;const[n,s]=Le(a);n.set(s+e,t),n.delete(s)},Le=a=>a[a.length-1],De="or",lt="and",bn="and_not";class Z{constructor(e){if(e?.fields==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?Ne:e.autoVacuum;this._options={...Te,...e,autoVacuum:t,searchOptions:{...qe,...e.searchOptions||{}},autoSuggestOptions:{...Sn,...e.autoSuggestOptions||{}}},this._index=new $,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=Ae,this.addFields(this._options.fields)}add(e){const{extractField:t,stringifyField:n,tokenize:s,processTerm:r,fields:i,idField:o}=this._options,l=t(e,o);if(l==null)throw new Error(`MiniSearch: document does not have ID field "${o}"`);if(this._idToShortId.has(l))throw new Error(`MiniSearch: duplicate ID ${l}`);const c=this.addDocumentId(l);this.saveStoredFields(c,e);for(const d of i){const v=t(e,d);if(v==null)continue;const p=s(n(v,d),d),b=this._fieldIds[d],g=new Set(p).size;this.addFieldLength(c,b,this._documentCount-1,g);for(const S of p){const x=r(S,d);if(Array.isArray(x))for(const F of x)this.addTerm(b,c,F);else x&&this.addTerm(b,c,x)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:n=10}=t,s={chunk:[],promise:Promise.resolve()},{chunk:r,promise:i}=e.reduce(({chunk:o,promise:l},c,d)=>(o.push(c),(d+1)%n===0?{chunk:[],promise:l.then(()=>new Promise(v=>setTimeout(v,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),s);return i.then(()=>this.addAll(r))}remove(e){const{tokenize:t,processTerm:n,extractField:s,stringifyField:r,fields:i,idField:o}=this._options,l=s(e,o);if(l==null)throw new Error(`MiniSearch: document does not have ID field "${o}"`);const c=this._idToShortId.get(l);if(c==null)throw new Error(`MiniSearch: cannot remove document with ID ${l}: it is not in the index`);for(const d of i){const v=s(e,d);if(v==null)continue;const p=t(r(v,d),d),b=this._fieldIds[d],g=new Set(p).size;this.removeFieldLength(c,b,this._documentCount,g);for(const S of p){const x=n(S,d);if(Array.isArray(x))for(const F of x)this.removeTerm(b,c,F);else x&&this.removeTerm(b,c,x)}}this._storedFields.delete(c),this._documentIds.delete(c),this._idToShortId.delete(l),this._fieldLength.delete(c),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new $,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((n,s)=>{this.removeFieldLength(t,s,this._documentCount,n)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:n,batchWait:s}=this._options.autoVacuum;this.conditionalVacuum({batchSize:n,batchWait:s},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const n of e)this.discard(n)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:n}=this._options,s=n(e,t);this.discard(s),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const n=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=Ae,this.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}async performVacuuming(e,t){const n=this._dirtCount;if(this.vacuumConditionsMet(t)){const s=e.batchSize||Me.batchSize,r=e.batchWait||Me.batchWait;let i=1;for(const[o,l]of this._index){for(const[c,d]of l)for(const[v]of d)this._documentIds.has(v)||(d.size<=1?l.delete(c):d.delete(v));this._index.get(o).size===0&&this._index.delete(o),i%s===0&&await new Promise(c=>setTimeout(c,r)),i+=1}this._dirtCount-=n}await null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:n}=e;return t=t||Ne.minDirtCount,n=n||Ne.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=n}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const{searchOptions:n}=this._options,s={...n,...t},r=this.executeQuery(e,t),i=[];for(const[o,{score:l,terms:c,match:d}]of r){const v=c.length||1,p={id:this._documentIds.get(o),score:l*v,terms:Object.keys(d),queryTerms:c,match:d};Object.assign(p,this._storedFields.get(o)),(s.filter==null||s.filter(p))&&i.push(p)}return e===Z.wildcard&&s.boostDocument==null||i.sort(He),i}autoSuggest(e,t={}){t={...this._options.autoSuggestOptions,...t};const n=new Map;for(const{score:r,terms:i}of this.search(e,t)){const o=i.join(" "),l=n.get(o);l!=null?(l.score+=r,l.count+=1):n.set(o,{score:r,terms:i,count:1})}const s=[];for(const[r,{score:i,terms:o,count:l}]of n)s.push({suggestion:r,terms:o,score:i/l});return s.sort(He),s}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static async loadJSONAsync(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)}static getDefault(e){if(Te.hasOwnProperty(e))return Ie(Te,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:n,documentIds:s,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=ue(s),l._fieldLength=ue(r),l._storedFields=ue(i);for(const[c,d]of l._documentIds)l._idToShortId.set(d,c);for(const[c,d]of n){const v=new Map;for(const p of Object.keys(d)){let b=d[p];o===1&&(b=b.ds),v.set(parseInt(p,10),ue(b))}l._index.set(c,v)}return l}static async loadJSAsync(e,t){const{index:n,documentIds:s,fieldLength:r,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=await de(s),l._fieldLength=await de(r),l._storedFields=await de(i);for(const[d,v]of l._documentIds)l._idToShortId.set(v,d);let c=0;for(const[d,v]of n){const p=new Map;for(const b of Object.keys(v)){let g=v[b];o===1&&(g=g.ds),p.set(parseInt(b,10),await de(g))}++c%1e3===0&&await ct(0),l._index.set(d,p)}return l}static instantiateMiniSearch(e,t){const{documentCount:n,nextId:s,fieldIds:r,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const c=new Z(t);return c._documentCount=n,c._nextId=s,c._idToShortId=new Map,c._fieldIds=r,c._avgFieldLength=i,c._dirtCount=o||0,c._index=new $,c}executeQuery(e,t={}){if(e===Z.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const p={...t,...e,queries:void 0},b=e.queries.map(g=>this.executeQuery(g,p));return this.combineResults(b,p.combineWith)}const{tokenize:n,processTerm:s,searchOptions:r}=this._options,i={tokenize:n,processTerm:s,...r,...t},{tokenize:o,processTerm:l}=i,v=o(e).flatMap(p=>l(p)).filter(p=>!!p).map(xn(i)).map(p=>this.executeQuerySpec(p,i));return this.combineResults(v,i.combineWith)}executeQuerySpec(e,t){const n={...this._options.searchOptions,...t},s=(n.fields||this._options.fields).reduce((S,x)=>({...S,[x]:Ie(n.boost,x)||1}),{}),{boostDocument:r,weights:i,maxFuzzy:o,bm25:l}=n,{fuzzy:c,prefix:d}={...qe.weights,...i},v=this._index.get(e.term),p=this.termResults(e.term,e.term,1,e.termBoost,v,s,r,l);let b,g;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const S=e.fuzzy===!0?.2:e.fuzzy,x=S<1?Math.min(o,Math.round(e.term.length*S)):S;x&&(g=this._index.fuzzyGet(e.term,x))}if(b)for(const[S,x]of b){const F=S.length-e.term.length;if(!F)continue;g?.delete(S);const C=d*S.length/(S.length+.3*F);this.termResults(e.term,S,C,e.termBoost,x,s,r,l,p)}if(g)for(const S of g.keys()){const[x,F]=g.get(S);if(!F)continue;const C=c*S.length/(S.length+F);this.termResults(e.term,S,C,e.termBoost,x,s,r,l,p)}return p}executeWildcardQuery(e){const t=new Map,n={...this._options.searchOptions,...e};for(const[s,r]of this._documentIds){const i=n.boostDocument?n.boostDocument(r,"",this._storedFields.get(s)):1;t.set(s,{score:i,terms:[],match:{}})}return t}combineResults(e,t=De){if(e.length===0)return new Map;const n=t.toLowerCase(),s=yn[n];if(!s)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(s)||new Map}toJSON(){const e=[];for(const[t,n]of this._index){const s={};for(const[r,i]of n)s[r]=Object.fromEntries(i);e.push([t,s])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,n,s,r,i,o,l,c=new Map){if(r==null)return c;for(const d of Object.keys(i)){const v=i[d],p=this._fieldIds[d],b=r.get(p);if(b==null)continue;let g=b.size;const S=this._avgFieldLength[p];for(const x of b.keys()){if(!this._documentIds.has(x)){this.removeTerm(p,x,t),g-=1;continue}const F=o?o(this._documentIds.get(x),t,this._storedFields.get(x)):1;if(!F)continue;const C=b.get(x),j=this._fieldLength.get(x)[p],A=_n(C,g,this._documentCount,j,S,l),L=n*s*v*F*A,N=c.get(x);if(N){N.score+=L,kn(N.terms,e);const M=Ie(N.match,t);M?M.push(d):N.match[t]=[d]}else c.set(x,{score:L,terms:[e],match:{[t]:[d]}})}}return c}addTerm(e,t,n){const s=this._index.fetch(n,Qe);let r=s.get(e);if(r==null)r=new Map,r.set(t,1),s.set(e,r);else{const i=r.get(t);r.set(t,(i||0)+1)}}removeTerm(e,t,n){if(!this._index.has(n)){this.warnDocumentChanged(t,e,n);return}const s=this._index.fetch(n,Qe),r=s.get(e);r==null||r.get(t)==null?this.warnDocumentChanged(t,e,n):r.get(t)<=1?r.size<=1?s.delete(e):r.delete(t):r.set(t,r.get(t)-1),this._index.get(n).size===0&&this._index.delete(n)}warnDocumentChanged(e,t,n){for(const s of Object.keys(this._fieldIds))if(this._fieldIds[s]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${n}" was not present in field "${s}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,yn={[De]:(a,e)=>{for(const t of e.keys()){const n=a.get(t);if(n==null)a.set(t,e.get(t));else{const{score:s,terms:r,match:i}=e.get(t);n.score=n.score+s,n.match=Object.assign(n.match,i),Ge(n.terms,r)}}return a},[lt]:(a,e)=>{const t=new Map;for(const n of e.keys()){const s=a.get(n);if(s==null)continue;const{score:r,terms:i,match:o}=e.get(n);Ge(s.terms,i),t.set(n,{score:s.score+r,terms:s.terms,match:Object.assign(s.match,o)})}return t},[bn]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},wn={k:1.2,b:.7,d:.5},_n=(a,e,t,n,s,r)=>{const{k:i,b:o,d:l}=r;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*n/s)))},xn=a=>(e,t,n)=>{const s=typeof a.fuzzy=="function"?a.fuzzy(e,t,n):a.fuzzy||!1,r=typeof a.prefix=="function"?a.prefix(e,t,n):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,n):1;return{term:e,fuzzy:s,prefix:r,termBoost:i}},Te={idField:"id",extractField:(a,e)=>a[e],stringifyField:(a,e)=>a.toString(),tokenize:a=>a.split(En),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof console?.[a]=="function"&&console[a](e)},autoVacuum:!0},qe={combineWith:De,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:wn},Sn={combineWith:lt,prefix:(a,e,t)=>e===t.length-1},Me={batchSize:1e3,batchWait:10},Ae={minDirtFactor:.1,minDirtCount:20},Ne={...Me,...Ae},kn=(a,e)=>{a.includes(e)||a.push(e)},Ge=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},He=({score:a},{score:e})=>e-a,Qe=()=>new Map,ue=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},de=async a=>{const e=new Map;let t=0;for(const n of Object.keys(a))e.set(parseInt(n,10),a[n]),++t%1e3===0&&await ct(0);return e},ct=a=>new Promise(e=>setTimeout(e,a)),En=/[\n\r\p{Z}\p{P}]+/u;var In=class{max;cache;constructor(a=10){this.max=a,this.cache=new Map}get(a){const e=this.cache.get(a);return e!==void 0&&(this.cache.delete(a),this.cache.set(a,e)),e}set(a,e){this.cache.has(a)?this.cache.delete(a):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(a,e)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}};const Tn={},Nn={width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"};function Fn(a,e){return P(),V("svg",Nn,[...e[0]||(e[0]=[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 12H5m7 7l-7-7l7-7"},null,-1)])])}const Cn=be(Tn,[["render",Fn]]),Rn={},On={width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"};function Mn(a,e){return P(),V("svg",On,[...e[0]||(e[0]=[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 5H9l-7 7l7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm-2 4l-6 6m0-6l6 6"},null,-1)])])}const An=be(Rn,[["render",Mn]]),Ln={},Dn={width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"};function zn(a,e){return P(),V("svg",Dn,[...e[0]||(e[0]=[w("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[w("circle",{cx:"11",cy:"11",r:"8"}),w("path",{d:"m21 21l-4.35-4.35"})],-1)])])}const Pn=be(Ln,[["render",zn]]),Vn=["aria-owns"],$n={class:"shell"},jn=["title"],Bn={class:"search-actions before"},Wn=["title"],Jn=["placeholder"],Kn={class:"search-actions"},Un=["disabled","title"],qn=["id","role","aria-labelledby"],Gn=["aria-selected"],Hn=["href","aria-label","onMouseenter","onFocusin","onClick"],Qn={class:"titles"},Yn=["innerHTML"],Zn={class:"title main"},Xn=["innerHTML"],es={key:0,class:"no-results"},ts={class:"search-keyboard-shortcuts"},ns=["aria-label"],ss=["aria-label"],is=["aria-label"],rs=["aria-label"],as=pt({__name:"SearchBox",props:{locales:{},options:{}},emits:["close"],setup(a,{emit:e}){const t=a,n=e,s=vt(),r=mt(gt(t.locales)),i=ie(),o=ie(),l=Mt(),{activate:c}=hn(i,{immediate:!0}),d=Pe(async()=>je(Z.loadJSON((await l.value[s.value]?.())?.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1}},...t.options.miniSearch?.searchOptions,...t.options.miniSearch?.options}))),p=he(()=>t.options?.disableQueryPersistence===!0).value?X(""):bt("vuepress-plume:mini-search-filter",""),b=he(()=>r.value.buttonText||r.value.placeholder||"Search"),g=ie([]),S=X(!1);Fe(p,()=>{S.value=!1});const x=Pe(async()=>{if(o.value)return je(new pn(o.value))},null),F=new In(64);yt(()=>[d.value,p.value],async([f,m],y,k)=>{y?.[0]!==f&&F.clear();let _=!1;if(k(()=>{_=!0}),!f)return;g.value=f.search(m),S.value=!0;const I=new Set;g.value=g.value.map(T=>{const[D,W]=T.id.split("#"),J=F.get(D)?.get(W)??"";for(const oe in T.match)I.add(oe);return{...T,text:J}}),await ee(),!_&&await new Promise(T=>{x.value?.unmark({done:()=>{x.value?.markRegExp(u(I),{done:T})}})})},{debounce:200,immediate:!0});const C=X(),j=he(()=>p.value?.length<=0);function A(f=!0){C.value?.focus(),f&&C.value?.select()}_e(()=>{A()});function L(f){f.pointerType==="mouse"&&A()}const N=X(-1),M=X(!1);Fe(g,f=>{N.value=f.length?0:-1,q()});function q(){ee(()=>{const f=document.querySelector(".result.selected");f&&f.scrollIntoView({block:"nearest"})})}le("ArrowUp",f=>{f.preventDefault(),N.value--,N.value<0&&(N.value=g.value.length-1),M.value=!0,q()}),le("ArrowDown",f=>{f.preventDefault(),N.value++,N.value>=g.value.length&&(N.value=0),M.value=!0,q()});const ae=wt();le("Enter",f=>{if(f.isComposing||f.target instanceof HTMLButtonElement&&f.target.type!=="submit")return;const m=g.value[N.value];if(f.target instanceof HTMLInputElement&&!m){f.preventDefault();return}m&&(ae.push(m.id),n("close"))}),le("Escape",()=>{n("close")}),_e(()=>{window.history.pushState(null,"",null)}),_t("popstate",f=>{f.preventDefault(),n("close")});const G=xt(typeof document<"u"?document.body:null);_e(()=>{ee(()=>{G.value=!0,ee().then(()=>c())})}),St(()=>{G.value=!1});function B(){p.value="",ee().then(()=>A(!1))}function E(f){return f.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function u(f){return new RegExp([...f].sort((m,y)=>y.length-m.length).map(m=>`(${E(m)})`).join("|"),"gi")}function h(f,m){f.preventDefault(),ae.push(m.id),n("close")}return(f,m)=>(P(),kt(Ot,{to:"body"},[w("div",{ref_key:"el",ref:i,role:"button","aria-owns":g.value?.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"mini-search-label",class:"VPLocalSearchBox"},[w("div",{class:"backdrop",onClick:m[0]||(m[0]=y=>f.$emit("close"))}),w("div",$n,[w("form",{class:"search-bar",onPointerup:m[3]||(m[3]=y=>L(y)),onSubmit:m[4]||(m[4]=Et(()=>{},["prevent"]))},[w("label",{id:"localsearch-label",title:b.value,for:"localsearch-input"},[xe(Pn,{class:"search-icon"})],8,jn),w("div",Bn,[w("button",{class:"back-button",title:O(r).backButtonTitle,onClick:m[1]||(m[1]=y=>f.$emit("close"))},[xe(Cn)],8,Wn)]),It(w("input",{id:"localsearch-input",ref_key:"searchInput",ref:C,"onUpdate:modelValue":m[2]||(m[2]=y=>Nt(p)?p.value=y:null),placeholder:b.value,"aria-labelledby":"localsearch-label",class:"search-input"},null,8,Jn),[[Tt,O(p)]]),w("div",Kn,[w("button",{class:"clear-button",type:"reset",disabled:j.value,title:O(r).resetButtonTitle,onClick:B},[xe(An)],8,Un)])],32),w("ul",{id:g.value?.length?"localsearch-list":void 0,ref_key:"resultsEl",ref:o,role:g.value?.length?"listbox":void 0,"aria-labelledby":g.value?.length?"localsearch-label":void 0,class:"results",onMousemove:m[5]||(m[5]=y=>M.value=!1)},[(P(!0),V($e,null,Ve(g.value,(y,k)=>(P(),V("li",{key:y.id,role:"option","aria-selected":N.value===k?"true":"false"},[w("a",{href:O(Rt)(y.id),class:Ct(["result",{selected:N.value===k}]),"aria-label":[...y.titles,y.title].join(" > "),onMouseenter:_=>!M.value&&(N.value=k),onFocusin:_=>N.value=k,onClick:_=>h(_,y)},[w("div",null,[w("div",Qn,[m[7]||(m[7]=w("span",{class:"title-icon"},"#",-1)),(P(!0),V($e,null,Ve(y.titles,(_,I)=>(P(),V("span",{key:I,class:"title"},[w("span",{class:"text",innerHTML:_},null,8,Yn),m[6]||(m[6]=w("svg",{width:"18",height:"18",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"})],-1))]))),128)),w("span",Zn,[w("span",{class:"text",innerHTML:y.title},null,8,Xn)])])])],42,Hn)],8,Gn))),128)),O(p)&&!g.value.length&&S.value?(P(),V("li",es,[te(ne(O(r).noResultsText)+' "',1),w("strong",null,ne(O(p)),1),m[8]||(m[8]=te('" ',-1))])):Ft("",!0)],40,qn),w("div",ts,[w("span",null,[w("kbd",{"aria-label":O(r).footer?.navigateUpKeyAriaLabel??""},[...m[9]||(m[9]=[w("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19V5m-7 7l7-7l7 7"})],-1)])],8,ns),w("kbd",{"aria-label":O(r).footer?.navigateDownKeyAriaLabel??""},[...m[10]||(m[10]=[w("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[w("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v14m7-7l-7 7l-7-7"})],-1)])],8,ss),te(" "+ne(O(r).footer?.navigateText??""),1)]),w("span",null,[w("kbd",{"aria-label":O(r).footer?.selectKeyAriaLabel??""},[...m[11]||(m[11]=[w("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[w("g",{fill:"none",stroke:"currentcolor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[w("path",{d:"m9 10l-5 5l5 5"}),w("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})])],-1)])],8,is),te(" "+ne(O(r).footer?.selectText??""),1)]),w("span",null,[w("kbd",{"aria-label":O(r).footer?.closeKeyAriaLabel??""},"esc",8,rs),te(" "+ne(O(r).footer?.closeText??""),1)])])])],8,Vn)]))}}),cs=be(as,[["__scopeId","data-v-5dd2b275"]]);export{cs as default}; diff --git a/assets/SearchBox-rRqQ0jXh.js b/assets/SearchBox-rRqQ0jXh.js new file mode 100644 index 0000000..9127f30 --- /dev/null +++ b/assets/SearchBox-rRqQ0jXh.js @@ -0,0 +1,9 @@ +import{y as Me,q as me,P as bt,Q as Be,R as yt,S as wt,T as St,U as ue,_ as xe,o as G,c as H,b as _,f as _t,V as xt,W as kt,X as Et,Y as Tt,Z as We,$ as Je,g as ie,a0 as It,a1 as Nt,h as Te,H as se,a2 as fe,a3 as Ft,x as Ot,a4 as Ct,L as Rt,k as At,a5 as Mt,e as Ie,p as z,z as Lt,B as Dt,C as Pt,m as Ke,n as zt,a6 as jt,F as Ge,d as ae,t as oe,l as Vt,a7 as $t,a8 as Bt}from"./app-DTJ1dk4L.js";/*! +* tabbable 6.4.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var it=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],ge=it.join(","),st=typeof Element>"u",X=st?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,be=!st&&Element.prototype.getRootNode?function(a){var e;return a==null||(e=a.getRootNode)===null||e===void 0?void 0:e.call(a)}:function(a){return a?.ownerDocument},ye=function(e,t){var n;t===void 0&&(t=!0);var r=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),s=r===""||r==="true",i=s||t&&e&&(typeof e.closest=="function"?e.closest("[inert]"):ye(e.parentNode));return i},Wt=function(e){var t,n=e==null||(t=e.getAttribute)===null||t===void 0?void 0:t.call(e,"contenteditable");return n===""||n==="true"},at=function(e,t,n){if(ye(e))return[];var r=Array.prototype.slice.apply(e.querySelectorAll(ge));return t&&X.call(e,ge)&&r.unshift(e),r=r.filter(n),r},we=function(e,t,n){for(var r=[],s=Array.from(e);s.length;){var i=s.shift();if(!ye(i,!1))if(i.tagName==="SLOT"){var o=i.assignedElements(),l=o.length?o:i.children,u=we(l,!0,n);n.flatten?r.push.apply(r,u):r.push({scopeParent:i,candidates:u})}else{var h=X.call(i,ge);h&&n.filter(i)&&(t||!e.includes(i))&&r.push(i);var p=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),v=!ye(p,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(p&&v){var b=we(p===!0?i.children:p.children,!0,n);n.flatten?r.push.apply(r,b):r.push({scopeParent:i,candidates:b})}else s.unshift.apply(s,i.children)}}return r},ot=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},Z=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||Wt(e))&&!ot(e)?0:e.tabIndex},Jt=function(e,t){var n=Z(e);return n<0&&t&&!ot(e)?0:n},Kt=function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex},lt=function(e){return e.tagName==="INPUT"},Gt=function(e){return lt(e)&&e.type==="hidden"},Ut=function(e){var t=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return t},qt=function(e,t){for(var n=0;nsummary:first-of-type"),o=i?e.parentElement:e;if(X.call(o,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="full-native"||n==="legacy-full"){if(typeof r=="function"){for(var l=e;e;){var u=e.parentElement,h=be(e);if(u&&!u.shadowRoot&&r(u)===!0)return Ue(e);e.assignedSlot?e=e.assignedSlot:!u&&h!==e.ownerDocument?e=h.host:e=u}e=l}if(Zt(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return Ue(e);return!1},en=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var t=e.parentElement;t;){if(t.tagName==="FIELDSET"&&t.disabled){for(var n=0;n=0)},ct=function(e){var t=[],n=[];return e.forEach(function(r,s){var i=!!r.scopeParent,o=i?r.scopeParent:r,l=Jt(o,i),u=i?ct(r.candidates):o;l===0?i?t.push.apply(t,u):t.push(o):n.push({documentOrder:s,tabIndex:l,item:r,isScope:i,content:u})}),n.sort(Kt).reduce(function(r,s){return s.isScope?r.push.apply(r,s.content):r.push(s.content),r},[]).concat(t)},nn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=we([e],t.includeContainer,{filter:Le.bind(null,t),flatten:!1,getShadowRoot:t.getShadowRoot,shadowRootFilter:tn}):n=at(e,t.includeContainer,Le.bind(null,t)),ct(n)},rn=function(e,t){t=t||{};var n;return t.getShadowRoot?n=we([e],t.includeContainer,{filter:Se.bind(null,t),flatten:!0,getShadowRoot:t.getShadowRoot}):n=at(e,t.includeContainer,Se.bind(null,t)),n},ee=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return X.call(e,ge)===!1?!1:Le(t,e)},sn=it.concat("iframe:not([inert]):not([inert] *)").join(","),Ne=function(e,t){if(t=t||{},!e)throw new Error("No node provided");return X.call(e,sn)===!1?!1:Se(t,e)};/*! +* focus-trap 8.0.1 +* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE +*/function De(a,e){(e==null||e>a.length)&&(e=a.length);for(var t=0,n=Array(e);t=a.length?{done:!0}:{done:!1,value:a[n++]}},e:function(l){throw l},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var s,i=!0,o=!1;return{s:function(){t=t.call(a)},n:function(){var l=t.next();return i=l.done,l},e:function(l){o=!0,s=l},f:function(){try{i||t.return==null||t.return()}finally{if(o)throw s}}}}function on(a,e,t){return(e=fn(e))in a?Object.defineProperty(a,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):a[e]=t,a}function ln(a){if(typeof Symbol<"u"&&a[Symbol.iterator]!=null||a["@@iterator"]!=null)return Array.from(a)}function cn(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ye(a,e){var t=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(a,r).enumerable})),t.push.apply(t,n)}return t}function Ze(a){for(var e=1;e3?(f=S===c)&&(A=m[(F=m[4])?5:(F=3,3)],m[4]=m[5]=a):m[0]<=y&&((f=d<2&&yc||c>S)&&(m[4]=d,m[5]=c,M.n=S,F=0))}if(f||d>1)return i;throw $=!0,c}return function(d,c,f){if(W>1)throw TypeError("Generator is already running");for($&&c===1&&T(c,f),F=c,A=f;(e=F<2?a:A)||!$;){N||(F?F<3?(F>1&&(M.n=-1),T(F,A)):M.n=A:M.v=A);try{if(W=2,N){if(F||(d="next"),e=N[d]){if(!(e=e.call(N,A)))throw TypeError("iterator result is not an object");if(!e.done)return e;A=e.value,F<2&&(F=0)}else F===1&&(e=N.return)&&e.call(N),F<2&&(A=TypeError("The iterator does not provide a '"+d+"' method"),F=1);N=a}else if((e=($=M.n<0)?A:J.call(V,M))!==i)break}catch(m){N=a,F=1,A=m}finally{W=1}}return{value:e,done:$}}})(b,E,x),!0),C}var i={};function o(){}function l(){}function u(){}e=Object.getPrototypeOf;var h=[][n]?e(e([][n]())):(j(e={},n,function(){return this}),e),p=u.prototype=o.prototype=Object.create(h);function v(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,u):(b.__proto__=u,j(b,r,"GeneratorFunction")),b.prototype=Object.create(p),b}return l.prototype=u,j(p,"constructor",u),j(u,"constructor",l),l.displayName="GeneratorFunction",j(u,r,"GeneratorFunction"),j(p),j(p,r,"Generator"),j(p,n,function(){return this}),j(p,"toString",function(){return"[object Generator]"}),(ce=function(){return{w:s,m:v}})()}function j(a,e,t,n){var r=Object.defineProperty;try{r({},"",{})}catch{r=0}j=function(s,i,o,l){function u(h,p){j(s,h,function(v){return this._invoke(h,p,v)})}i?r?r(s,i,{value:o,enumerable:!l,configurable:!l,writable:!l}):s[i]=o:(u("next",0),u("throw",1),u("return",2))},j(a,e,t,n)}function un(a){return an(a)||ln(a)||ut(a)||cn()}function dn(a,e){if(typeof a!="object"||!a)return a;var t=a[Symbol.toPrimitive];if(t!==void 0){var n=t.call(a,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(a)}function fn(a){var e=dn(a,"string");return typeof e=="symbol"?e:e+""}function ut(a,e){if(a){if(typeof a=="string")return De(a,e);var t={}.toString.call(a).slice(8,-1);return t==="Object"&&a.constructor&&(t=a.constructor.name),t==="Map"||t==="Set"?Array.from(a):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?De(a,e):void 0}}var U={getActiveTrap:function(e){return e?.length>0?e[e.length-1]:null},activateTrap:function(e,t){var n=U.getActiveTrap(e);t!==n&&U.pauseTrap(e);var r=e.indexOf(t);r===-1||e.splice(r,1),e.push(t)},deactivateTrap:function(e,t){var n=e.indexOf(t);n!==-1&&e.splice(n,1),U.unpauseTrap(e)},pauseTrap:function(e){var t=U.getActiveTrap(e);t?._setPausedState(!0)},unpauseTrap:function(e){var t=U.getActiveTrap(e);t&&!t._isManuallyPaused()&&t._setPausedState(!1)}},hn=function(e){return e.tagName&&e.tagName.toLowerCase()==="input"&&typeof e.select=="function"},pn=function(e){return e?.key==="Escape"||e?.key==="Esc"||e?.keyCode===27},de=function(e){return e?.key==="Tab"||e?.keyCode===9},vn=function(e){return de(e)&&!e.shiftKey},mn=function(e){return de(e)&&e.shiftKey},Xe=function(e){return setTimeout(e,0)},le=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:{},f=c.hasFallback,m=f===void 0?!1:f,y=c.params,S=y===void 0?[]:y,w=s[d];if(typeof w=="function"&&(w=w.apply(void 0,un(S))),w===!0&&(w=void 0),!w){if(w===void 0||w===!1)return w;throw new Error("`".concat(d,"` was specified but was not a node, or did not return a node"))}var k=w;if(typeof w=="string"){try{k=n.querySelector(w)}catch(I){throw new Error("`".concat(d,'` appears to be an invalid selector; error="').concat(I.message,'"'))}if(!k&&!m)throw new Error("`".concat(d,"` as selector refers to no known node"))}return k},p=function(){var d=h("initialFocus",{hasFallback:!0});if(d===!1)return!1;if(d===void 0||d&&!Ne(d,s.tabbableOptions))if(u(n.activeElement)>=0)d=n.activeElement;else{var c=i.tabbableGroups[0],f=c&&c.firstTabbableNode;d=f||h("fallbackFocus")}else d===null&&(d=h("fallbackFocus"));if(!d)throw new Error("Your focus-trap needs to have at least one focusable element");return d},v=function(){if(i.containerGroups=i.containers.map(function(d){var c=nn(d,s.tabbableOptions),f=rn(d,s.tabbableOptions),m=c.length>0?c[0]:void 0,y=c.length>0?c[c.length-1]:void 0,S=f.find(function(I){return ee(I)}),w=f.slice().reverse().find(function(I){return ee(I)}),k=!!c.find(function(I){return Z(I)>0});return{container:d,tabbableNodes:c,focusableNodes:f,posTabIndexesFound:k,firstTabbableNode:m,lastTabbableNode:y,firstDomTabbableNode:S,lastDomTabbableNode:w,nextTabbableNode:function(R){var P=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,L=c.indexOf(R);return L<0?P?f.slice(f.indexOf(R)+1).find(function(K){return ee(K)}):f.slice(0,f.indexOf(R)).reverse().find(function(K){return ee(K)}):c[L+(P?1:-1)]}}}),i.tabbableGroups=i.containerGroups.filter(function(d){return d.tabbableNodes.length>0}),i.tabbableGroups.length<=0&&!h("fallbackFocus"))throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(i.containerGroups.find(function(d){return d.posTabIndexesFound})&&i.containerGroups.length>1)throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},b=function(d){var c=d.activeElement;if(c)return c.shadowRoot&&c.shadowRoot.activeElement!==null?b(c.shadowRoot):c},g=function(d){if(d!==!1&&d!==b(document)){if(!d||!d.focus){g(p());return}d.focus({preventScroll:!!s.preventScroll}),i.mostRecentlyFocusedNode=d,hn(d)&&d.select()}},E=function(d){var c=h("setReturnFocus",{params:[d]});return c||(c===!1?!1:d)},x=function(d){var c=d.target,f=d.event,m=d.isBackward,y=m===void 0?!1:m;c=c||he(f),v();var S=null;if(i.tabbableGroups.length>0){var w=u(c,f),k=w>=0?i.containerGroups[w]:void 0;if(w<0)y?S=i.tabbableGroups[i.tabbableGroups.length-1].lastTabbableNode:S=i.tabbableGroups[0].firstTabbableNode;else if(y){var I=i.tabbableGroups.findIndex(function(ke){var Ee=ke.firstTabbableNode;return c===Ee});if(I<0&&(k.container===c||Ne(c,s.tabbableOptions)&&!ee(c,s.tabbableOptions)&&!k.nextTabbableNode(c,!1))&&(I=w),I>=0){var R=I===0?i.tabbableGroups.length-1:I-1,P=i.tabbableGroups[R];S=Z(c)>=0?P.lastTabbableNode:P.lastDomTabbableNode}else de(f)||(S=k.nextTabbableNode(c,!1))}else{var L=i.tabbableGroups.findIndex(function(ke){var Ee=ke.lastTabbableNode;return c===Ee});if(L<0&&(k.container===c||Ne(c,s.tabbableOptions)&&!ee(c,s.tabbableOptions)&&!k.nextTabbableNode(c))&&(L=w),L>=0){var K=L===i.tabbableGroups.length-1?0:L+1,q=i.tabbableGroups[K];S=Z(c)>=0?q.firstTabbableNode:q.firstDomTabbableNode}else de(f)||(S=k.nextTabbableNode(c))}}else S=h("fallbackFocus");return S},O=function(d){var c=he(d);if(!(u(c,d)>=0)){if(le(s.clickOutsideDeactivates,d)){o.deactivate({returnFocus:s.returnFocusOnDeactivate});return}le(s.allowOutsideClick,d)||d.preventDefault()}},C=function(d){var c=he(d),f=u(c,d)>=0;if(f||c instanceof Document)f&&(i.mostRecentlyFocusedNode=c);else{d.stopImmediatePropagation();var m,y=!0;if(i.mostRecentlyFocusedNode)if(Z(i.mostRecentlyFocusedNode)>0){var S=u(i.mostRecentlyFocusedNode),w=i.containerGroups[S].tabbableNodes;if(w.length>0){var k=w.findIndex(function(I){return I===i.mostRecentlyFocusedNode});k>=0&&(s.isKeyForward(i.recentNavEvent)?k+1=0&&(m=w[k-1],y=!1))}}else i.containerGroups.some(function(I){return I.tabbableNodes.some(function(R){return Z(R)>0})})||(y=!1);else y=!1;y&&(m=x({target:i.mostRecentlyFocusedNode,isBackward:s.isKeyBackward(i.recentNavEvent)})),g(m||i.mostRecentlyFocusedNode||p())}i.recentNavEvent=void 0},J=function(d){var c=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;i.recentNavEvent=d;var f=x({event:d,isBackward:c});f&&(de(d)&&d.preventDefault(),g(f))},V=function(d){(s.isKeyForward(d)||s.isKeyBackward(d))&&J(d,s.isKeyBackward(d))},B=function(d){pn(d)&&le(s.escapeDeactivates,d)!==!1&&(d.preventDefault(),o.deactivate())},N=function(d){var c=he(d);u(c,d)>=0||le(s.clickOutsideDeactivates,d)||le(s.allowOutsideClick,d)||(d.preventDefault(),d.stopImmediatePropagation())},F=function(){if(!i.active)return Promise.resolve();U.activateTrap(r,o);var d;return s.delayInitialFocus?d=new Promise(function(c){i.delayInitialFocusTimer=Xe(function(){g(p()),c()})}):(d=Promise.resolve(),g(p())),n.addEventListener("focusin",C,!0),n.addEventListener("mousedown",O,{capture:!0,passive:!1}),n.addEventListener("touchstart",O,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",V,{capture:!0,passive:!1}),n.addEventListener("keydown",B),d},A=function(d){i.active&&!i.paused&&o._setSubtreeIsolation(!1),i.adjacentElements.clear(),i.alreadySilent.clear();var c=new Set,f=new Set,m=Qe(d),y;try{for(m.s();!(y=m.n()).done;){var S=y.value;c.add(S);for(var w=typeof ShadowRoot<"u"&&S.getRootNode()instanceof ShadowRoot,k=S;k;){c.add(k);var I=k.parentElement,R=[];I?R=I.children:!I&&w&&(R=k.getRootNode().children,I=k.getRootNode().host,w=typeof ShadowRoot<"u"&&I.getRootNode()instanceof ShadowRoot);var P=Qe(R),L;try{for(P.s();!(L=P.n()).done;){var K=L.value;f.add(K)}}catch(q){P.e(q)}finally{P.f()}k=I}}}catch(q){m.e(q)}finally{m.f()}c.forEach(function(q){f.delete(q)}),i.adjacentElements=f},W=function(){if(i.active)return n.removeEventListener("focusin",C,!0),n.removeEventListener("mousedown",O,!0),n.removeEventListener("touchstart",O,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",V,!0),n.removeEventListener("keydown",B),o},Y=function(d){var c=d.some(function(f){var m=Array.from(f.removedNodes);return m.some(function(y){return y===i.mostRecentlyFocusedNode})});c&&g(p())},$=typeof window<"u"&&"MutationObserver"in window?new MutationObserver(Y):void 0,M=function(){$&&($.disconnect(),i.active&&!i.paused&&i.containers.map(function(d){$.observe(d,{subtree:!0,childList:!0})}))};return o={get active(){return i.active},get paused(){return i.paused},activate:function(d){if(i.active)return this;var c=l(d,"onActivate"),f=l(d,"onPostActivate"),m=l(d,"checkCanFocusTrap"),y=U.getActiveTrap(r),S=!1;if(y&&!y.paused){var w;(w=y._setSubtreeIsolation)===null||w===void 0||w.call(y,!1),S=!0}try{m||v(),i.active=!0,i.paused=!1,i.nodeFocusedBeforeActivation=b(n),c?.();var k=(function(){var R=He(ce().m(function P(){return ce().w(function(L){for(;;)switch(L.n){case 0:return m&&v(),L.n=1,F();case 1:o._setSubtreeIsolation(!0),M(),f?.();case 2:return L.a(2)}},P)}));return function(){return R.apply(this,arguments)}})();if(m)return m(i.containers.concat()).then(k,k),this;k()}catch(R){if(y===U.getActiveTrap(r)&&S){var I;(I=y._setSubtreeIsolation)===null||I===void 0||I.call(y,!0)}throw R}return this},deactivate:function(d){if(!i.active)return this;var c=Ze({onDeactivate:s.onDeactivate,onPostDeactivate:s.onPostDeactivate,checkCanReturnFocus:s.checkCanReturnFocus},d);clearTimeout(i.delayInitialFocusTimer),i.delayInitialFocusTimer=void 0,i.paused||o._setSubtreeIsolation(!1),i.alreadySilent.clear(),W(),i.active=!1,i.paused=!1,M(),U.deactivateTrap(r,o);var f=l(c,"onDeactivate"),m=l(c,"onPostDeactivate"),y=l(c,"checkCanReturnFocus"),S=l(c,"returnFocus","returnFocusOnDeactivate");f?.();var w=function(){Xe(function(){S&&g(E(i.nodeFocusedBeforeActivation)),m?.()})};return S&&y?(y(E(i.nodeFocusedBeforeActivation)).then(w,w),this):(w(),this)},pause:function(d){return i.active?(i.manuallyPaused=!0,this._setPausedState(!0,d)):this},unpause:function(d){return i.active?(i.manuallyPaused=!1,r[r.length-1]!==this?this:this._setPausedState(!1,d)):this},updateContainerElements:function(d){var c=[].concat(d).filter(Boolean);return i.containers=c.map(function(f){return typeof f=="string"?n.querySelector(f):f}),s.isolateSubtrees&&A(i.containers),i.active&&(v(),i.paused||o._setSubtreeIsolation(!0)),M(),this}},Object.defineProperties(o,{_isManuallyPaused:{value:function(){return i.manuallyPaused}},_setPausedState:{value:function(d,c){if(i.paused===d)return this;if(i.paused=d,d){var f=l(c,"onPause"),m=l(c,"onPostPause");f?.(),W(),o._setSubtreeIsolation(!1),M(),m?.()}else{var y=l(c,"onUnpause"),S=l(c,"onPostUnpause");y?.();var w=(function(){var k=He(ce().m(function I(){return ce().w(function(R){for(;;)switch(R.n){case 0:return v(),R.n=1,F();case 1:o._setSubtreeIsolation(!0),M(),S?.();case 2:return R.a(2)}},I)}));return function(){return k.apply(this,arguments)}})();w()}return this}},_setSubtreeIsolation:{value:function(d){s.isolateSubtrees&&i.adjacentElements.forEach(function(c){var f;if(d)switch(s.isolateSubtrees){case"aria-hidden":(c.ariaHidden==="true"||((f=c.getAttribute("aria-hidden"))===null||f===void 0?void 0:f.toLowerCase())==="true")&&i.alreadySilent.add(c),c.setAttribute("aria-hidden","true");break;default:(c.inert||c.hasAttribute("inert"))&&i.alreadySilent.add(c),c.setAttribute("inert",!0);break}else if(!i.alreadySilent.has(c))switch(s.isolateSubtrees){case"aria-hidden":c.removeAttribute("aria-hidden");break;default:c.removeAttribute("inert");break}})}}}),o.updateContainerElements(e),o};function yn(a,e={}){let t;const{immediate:n,...r}=e,s=ue(!1),i=ue(!1),o=p=>t&&t.activate(p),l=p=>t&&t.deactivate(p),u=()=>{t&&(t.pause(),i.value=!0)},h=()=>{t&&(t.unpause(),i.value=!1)};return Me(me(()=>bt(Be(a)).map(p=>{const v=Be(p);return typeof v=="string"?v:yt(v)}).filter(wt)),p=>{if(p.length)if(!t)t=bn(p,{...r,onActivate(){s.value=!0,e.onActivate&&e.onActivate()},onDeactivate(){s.value=!1,e.onDeactivate&&e.onDeactivate()}}),n&&o();else{const v=t?.active;t?.updateContainerElements(p),!v&&n&&o()}},{flush:"post"}),St(()=>l()),{hasFocus:s,isPaused:i,activate:o,deactivate:l,pause:u,unpause:h}}class ne{constructor(e,t=!0,n=[],r=5e3){this.ctx=e,this.iframes=t,this.exclude=n,this.iframesTimeout=r}static matches(e,t){const n=typeof t=="string"?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){let s=!1;return n.every(i=>r.call(e,i)?(s=!0,!1):!0),s}else return!1}getContexts(){let e,t=[];return typeof this.ctx>"u"||!this.ctx?e=[]:NodeList.prototype.isPrototypeOf(this.ctx)?e=Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?e=this.ctx:typeof this.ctx=="string"?e=Array.prototype.slice.call(document.querySelectorAll(this.ctx)):e=[this.ctx],e.forEach(n=>{const r=t.filter(s=>s.contains(n)).length>0;t.indexOf(n)===-1&&!r&&t.push(n)}),t}getIframeContents(e,t,n=()=>{}){let r;try{const s=e.contentWindow;if(r=s.document,!s||!r)throw new Error("iframe inaccessible")}catch{n()}r&&t(r)}isIframeBlank(e){const t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}observeIframeLoad(e,t,n){let r=!1,s=null;const i=()=>{if(!r){r=!0,clearTimeout(s);try{this.isIframeBlank(e)||(e.removeEventListener("load",i),this.getIframeContents(e,t,n))}catch{n()}}};e.addEventListener("load",i),s=setTimeout(i,this.iframesTimeout)}onIframeReady(e,t,n){try{e.contentWindow.document.readyState==="complete"?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch{n()}}waitForIframes(e,t){let n=0;this.forEachIframe(e,()=>!0,r=>{n++,this.waitForIframes(r.querySelector("html"),()=>{--n||t()})},r=>{r||t()})}forEachIframe(e,t,n,r=()=>{}){let s=e.querySelectorAll("iframe"),i=s.length,o=0;s=Array.prototype.slice.call(s);const l=()=>{--i<=0&&r(o)};i||l(),s.forEach(u=>{ne.matches(u,this.exclude)?l():this.onIframeReady(u,h=>{t(u)&&(o++,n(h)),l()},l)})}createIterator(e,t,n){return document.createNodeIterator(e,t,n,!1)}createInstanceOnIframe(e){return new ne(e.querySelector("html"),this.iframes)}compareNodeIframe(e,t,n){const r=e.compareDocumentPosition(n),s=Node.DOCUMENT_POSITION_PRECEDING;if(r&s)if(t!==null){const i=t.compareDocumentPosition(n),o=Node.DOCUMENT_POSITION_FOLLOWING;if(i&o)return!0}else return!0;return!1}getIteratorNode(e){const t=e.previousNode();let n;return t===null?n=e.nextNode():n=e.nextNode()&&e.nextNode(),{prevNode:t,node:n}}checkIframeFilter(e,t,n,r){let s=!1,i=!1;return r.forEach((o,l)=>{o.val===n&&(s=l,i=o.handled)}),this.compareNodeIframe(e,t,n)?(s===!1&&!i?r.push({val:n,handled:!0}):s!==!1&&!i&&(r[s].handled=!0),!0):(s===!1&&r.push({val:n,handled:!1}),!1)}handleOpenIframes(e,t,n,r){e.forEach(s=>{s.handled||this.getIframeContents(s.val,i=>{this.createInstanceOnIframe(i).forEachNode(t,n,r)})})}iterateThroughNodes(e,t,n,r,s){const i=this.createIterator(t,e,r);let o=[],l=[],u,h,p=()=>({prevNode:h,node:u}=this.getIteratorNode(i),u);for(;p();)this.iframes&&this.forEachIframe(t,v=>this.checkIframeFilter(u,h,v,o),v=>{this.createInstanceOnIframe(v).forEachNode(e,b=>l.push(b),r)}),l.push(u);l.forEach(v=>{n(v)}),this.iframes&&this.handleOpenIframes(o,e,n,r),s()}forEachNode(e,t,n,r=()=>{}){const s=this.getContexts();let i=s.length;i||r(),s.forEach(o=>{const l=()=>{this.iterateThroughNodes(e,o,t,n,()=>{--i<=0&&r()})};this.iframes?this.waitForIframes(o,l):l()})}}let wn=class{constructor(e){this.ctx=e,this.ie=!1;const t=window.navigator.userAgent;(t.indexOf("MSIE")>-1||t.indexOf("Trident")>-1)&&(this.ie=!0)}set opt(e){this._opt=Object.assign({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,diacritics:!0,synonyms:{},accuracy:"partially",acrossElements:!1,caseSensitive:!1,ignoreJoiners:!1,ignoreGroups:0,ignorePunctuation:[],wildcards:"disabled",each:()=>{},noMatch:()=>{},filter:()=>!0,done:()=>{},debug:!1,log:window.console},e)}get opt(){return this._opt}get iterator(){return new ne(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}log(e,t="debug"){const n=this.opt.log;this.opt.debug&&typeof n=="object"&&typeof n[t]=="function"&&n[t](`mark.js: ${e}`)}escapeStr(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}createRegExp(e){return this.opt.wildcards!=="disabled"&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),this.opt.wildcards!=="disabled"&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),e}createSynonymsRegExp(e){const t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(let s in t)if(t.hasOwnProperty(s)){const i=t[s],o=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(s):this.escapeStr(s),l=this.opt.wildcards!=="disabled"?this.setupWildcardsRegExp(i):this.escapeStr(i);o!==""&&l!==""&&(e=e.replace(new RegExp(`(${this.escapeStr(o)}|${this.escapeStr(l)})`,`gm${n}`),r+`(${this.processSynomyms(o)}|${this.processSynomyms(l)})`+r))}return e}processSynomyms(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}setupWildcardsRegExp(e){return e=e.replace(/(?:\\)*\?/g,t=>t.charAt(0)==="\\"?"?":""),e.replace(/(?:\\)*\*/g,t=>t.charAt(0)==="\\"?"*":"")}createWildcardsRegExp(e){let t=this.opt.wildcards==="withSpaces";return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}setupIgnoreJoinersRegExp(e){return e.replace(/[^(|)\\]/g,(t,n,r)=>{let s=r.charAt(n+1);return/[(|)\\]/.test(s)||s===""?t:t+"\0"})}createJoinersRegExp(e){let t=[];const n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join(`[${t.join("")}]*`):e}createDiacriticsRegExp(e){const t=this.opt.caseSensitive?"":"i",n=this.opt.caseSensitive?["aàáảãạăằắẳẵặâầấẩẫậäåāą","AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćč","CÇĆČ","dđď","DĐĎ","eèéẻẽẹêềếểễệëěēę","EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïī","IÌÍỈĨỊÎÏĪ","lł","LŁ","nñňń","NÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøō","OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rř","RŘ","sšśșş","SŠŚȘŞ","tťțţ","TŤȚŢ","uùúủũụưừứửữựûüůū","UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿ","YÝỲỶỸỴŸ","zžżź","ZŽŻŹ"]:["aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ","cçćčCÇĆČ","dđďDĐĎ","eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ","iìíỉĩịîïīIÌÍỈĨỊÎÏĪ","lłLŁ","nñňńNÑŇŃ","oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ","rřRŘ","sšśșşSŠŚȘŞ","tťțţTŤȚŢ","uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ","yýỳỷỹỵÿYÝỲỶỸỴŸ","zžżźZŽŻŹ"];let r=[];return e.split("").forEach(s=>{n.every(i=>{if(i.indexOf(s)!==-1){if(r.indexOf(i)>-1)return!1;e=e.replace(new RegExp(`[${i}]`,`gm${t}`),`[${i}]`),r.push(i)}return!0})}),e}createMergedBlanksRegExp(e){return e.replace(/[\s]+/gmi,"[\\s]+")}createAccuracyRegExp(e){const t="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿";let n=this.opt.accuracy,r=typeof n=="string"?n:n.value,s=typeof n=="string"?[]:n.limiters,i="";switch(s.forEach(o=>{i+=`|${this.escapeStr(o)}`}),r){case"partially":default:return`()(${e})`;case"complementary":return i="\\s"+(i||this.escapeStr(t)),`()([^${i}]*${e}[^${i}]*)`;case"exactly":return`(^|\\s${i})(${e})(?=$|\\s${i})`}}getSeparatedKeywords(e){let t=[];return e.forEach(n=>{this.opt.separateWordSearch?n.split(" ").forEach(r=>{r.trim()&&t.indexOf(r)===-1&&t.push(r)}):n.trim()&&t.indexOf(n)===-1&&t.push(n)}),{keywords:t.sort((n,r)=>r.length-n.length),length:t.length}}isNumeric(e){return Number(parseFloat(e))==e}checkRanges(e){if(!Array.isArray(e)||Object.prototype.toString.call(e[0])!=="[object Object]")return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];const t=[];let n=0;return e.sort((r,s)=>r.start-s.start).forEach(r=>{let{start:s,end:i,valid:o}=this.callNoMatchOnInvalidRanges(r,n);o&&(r.start=s,r.length=i-s,t.push(r),n=i)}),t}callNoMatchOnInvalidRanges(e,t){let n,r,s=!1;return e&&typeof e.start<"u"?(n=parseInt(e.start,10),r=n+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?s=!0:(this.log(`Ignoring invalid or overlapping range: ${JSON.stringify(e)}`),this.opt.noMatch(e))):(this.log(`Ignoring invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)),{start:n,end:r,valid:s}}checkWhitespaceRanges(e,t,n){let r,s=!0,i=n.length,o=t-i,l=parseInt(e.start,10)-o;return l=l>i?i:l,r=l+parseInt(e.length,10),r>i&&(r=i,this.log(`End range automatically set to the max value of ${i}`)),l<0||r-l<0||l>i||r>i?(s=!1,this.log(`Invalid range: ${JSON.stringify(e)}`),this.opt.noMatch(e)):n.substring(l,r).replace(/\s+/g,"")===""&&(s=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:l,end:r,valid:s}}getTextNodes(e){let t="",n=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,r=>{n.push({start:t.length,end:(t+=r.textContent).length,node:r})},r=>this.matchesExclude(r.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT,()=>{e({value:t,nodes:n})})}matchesExclude(e){return ne.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}wrapRangeInTextNode(e,t,n){const r=this.opt.element?this.opt.element:"mark",s=e.splitText(t),i=s.splitText(n-t);let o=document.createElement(r);return o.setAttribute("data-markjs","true"),this.opt.className&&o.setAttribute("class",this.opt.className),o.textContent=s.textContent,s.parentNode.replaceChild(o,s),i}wrapRangeInMappedTextNode(e,t,n,r,s){e.nodes.every((i,o)=>{const l=e.nodes[o+1];if(typeof l>"u"||l.start>t){if(!r(i.node))return!1;const u=t-i.start,h=(n>i.end?i.end:n)-i.start,p=e.value.substr(0,i.start),v=e.value.substr(h+i.start);if(i.node=this.wrapRangeInTextNode(i.node,u,h),e.value=p+v,e.nodes.forEach((b,g)=>{g>=o&&(e.nodes[g].start>0&&g!==o&&(e.nodes[g].start-=h),e.nodes[g].end-=h)}),n-=h,s(i.node.previousSibling,i.start),n>i.end)t=i.end;else return!1}return!0})}wrapMatches(e,t,n,r,s){const i=t===0?0:t+1;this.getTextNodes(o=>{o.nodes.forEach(l=>{l=l.node;let u;for(;(u=e.exec(l.textContent))!==null&&u[i]!=="";){if(!n(u[i],l))continue;let h=u.index;if(i!==0)for(let p=1;p{let l;for(;(l=e.exec(o.value))!==null&&l[i]!=="";){let u=l.index;if(i!==0)for(let p=1;pn(l[i],p),(p,v)=>{e.lastIndex=v,r(p)})}s()})}wrapRangeFromIndex(e,t,n,r){this.getTextNodes(s=>{const i=s.value.length;e.forEach((o,l)=>{let{start:u,end:h,valid:p}=this.checkWhitespaceRanges(o,i,s.value);p&&this.wrapRangeInMappedTextNode(s,u,h,v=>t(v,o,s.value.substring(u,h),l),v=>{n(v,o)})}),r()})}unwrapMatches(e){const t=e.parentNode;let n=document.createDocumentFragment();for(;e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}normalizeTextNode(e){if(e){if(e.nodeType===3)for(;e.nextSibling&&e.nextSibling.nodeType===3;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}markRegExp(e,t){this.opt=t,this.log(`Searching with expression "${e}"`);let n=0,r="wrapMatches";const s=i=>{n++,this.opt.each(i)};this.opt.acrossElements&&(r="wrapMatchesAcrossElements"),this[r](e,this.opt.ignoreGroups,(i,o)=>this.opt.filter(o,i,n),s,()=>{n===0&&this.opt.noMatch(e),this.opt.done(n)})}mark(e,t){this.opt=t;let n=0,r="wrapMatches";const{keywords:s,length:i}=this.getSeparatedKeywords(typeof e=="string"?[e]:e),o=this.opt.caseSensitive?"":"i",l=u=>{let h=new RegExp(this.createRegExp(u),`gm${o}`),p=0;this.log(`Searching with expression "${h}"`),this[r](h,1,(v,b)=>this.opt.filter(b,u,n,p),v=>{p++,n++,this.opt.each(v)},()=>{p===0&&this.opt.noMatch(u),s[i-1]===u?this.opt.done(n):l(s[s.indexOf(u)+1])})};this.opt.acrossElements&&(r="wrapMatchesAcrossElements"),i===0?this.opt.done(n):l(s[0])}markRanges(e,t){this.opt=t;let n=0,r=this.checkRanges(e);r&&r.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(r)),this.wrapRangeFromIndex(r,(s,i,o,l)=>this.opt.filter(s,i,o,l),(s,i)=>{n++,this.opt.each(s,i)},()=>{this.opt.done(n)})):this.opt.done(n)}unmark(e){this.opt=e;let t=this.opt.element?this.opt.element:"*";t+="[data-markjs]",this.opt.className&&(t+=`.${this.opt.className}`),this.log(`Removal selector "${t}"`),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,n=>{this.unwrapMatches(n)},n=>{const r=ne.matches(n,t),s=this.matchesExclude(n);return!r||s?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}};function Sn(a){const e=new wn(a);return this.mark=(t,n)=>(e.mark(t,n),this),this.markRegExp=(t,n)=>(e.markRegExp(t,n),this),this.markRanges=(t,n)=>(e.markRanges(t,n),this),this.unmark=t=>(e.unmark(t),this),this}const _n="ENTRIES",dt="KEYS",ft="VALUES",D="";class Fe{constructor(e,t){const n=e._tree,r=Array.from(n.keys());this.set=e,this._type=t,this._path=r.length>0?[{node:n,keys:r}]:[]}next(){const e=this.dive();return this.backtrack(),e}dive(){if(this._path.length===0)return{done:!0,value:void 0};const{node:e,keys:t}=te(this._path);if(te(t)===D)return{done:!1,value:this.result()};const n=e.get(te(t));return this._path.push({node:n,keys:Array.from(n.keys())}),this.dive()}backtrack(){if(this._path.length===0)return;const e=te(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}key(){return this.set._prefix+this._path.map(({keys:e})=>te(e)).filter(e=>e!==D).join("")}value(){return te(this._path).node.get(D)}result(){switch(this._type){case ft:return this.value();case dt:return this.key();default:return[this.key(),this.value()]}}[Symbol.iterator](){return this}}const te=a=>a[a.length-1],xn=(a,e,t)=>{const n=new Map;if(e===void 0)return n;const r=e.length+1,s=r+t,i=new Uint8Array(s*r).fill(t+1);for(let o=0;o{const l=s*i;e:for(const u of a.keys())if(u===D){const h=r[l-1];h<=t&&n.set(o,[a.get(u),h])}else{let h=s;for(let p=0;pt)continue e}ht(a.get(u),e,t,n,r,h,i,o+u)}};class Q{constructor(e=new Map,t=""){this._size=void 0,this._tree=e,this._prefix=t}atPrefix(e){if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");const[t,n]=_e(this._tree,e.slice(this._prefix.length));if(t===void 0){const[r,s]=Ve(n);for(const i of r.keys())if(i!==D&&i.startsWith(s)){const o=new Map;return o.set(i.slice(s.length),r.get(i)),new Q(o,e)}}return new Q(t,e)}clear(){this._size=void 0,this._tree.clear()}delete(e){return this._size=void 0,kn(this._tree,e)}entries(){return new Fe(this,_n)}forEach(e){for(const[t,n]of this)e(t,n,this)}fuzzyGet(e,t){return xn(this._tree,e,t)}get(e){const t=Pe(this._tree,e);return t!==void 0?t.get(D):void 0}has(e){const t=Pe(this._tree,e);return t!==void 0&&t.has(D)}keys(){return new Fe(this,dt)}set(e,t){if(typeof e!="string")throw new Error("key must be a string");return this._size=void 0,Oe(this._tree,e).set(D,t),this}get size(){if(this._size)return this._size;this._size=0;const e=this.entries();for(;!e.next().done;)this._size+=1;return this._size}update(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const n=Oe(this._tree,e);return n.set(D,t(n.get(D))),this}fetch(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;const n=Oe(this._tree,e);let r=n.get(D);return r===void 0&&n.set(D,r=t()),r}values(){return new Fe(this,ft)}[Symbol.iterator](){return this.entries()}static from(e){const t=new Q;for(const[n,r]of e)t.set(n,r);return t}static fromObject(e){return Q.from(Object.entries(e))}}const _e=(a,e,t=[])=>{if(e.length===0||a==null)return[a,t];for(const n of a.keys())if(n!==D&&e.startsWith(n))return t.push([a,n]),_e(a.get(n),e.slice(n.length),t);return t.push([a,e]),_e(void 0,"",t)},Pe=(a,e)=>{if(e.length===0||a==null)return a;for(const t of a.keys())if(t!==D&&e.startsWith(t))return Pe(a.get(t),e.slice(t.length))},Oe=(a,e)=>{const t=e.length;e:for(let n=0;a&&n{const[t,n]=_e(a,e);if(t!==void 0){if(t.delete(D),t.size===0)pt(n);else if(t.size===1){const[r,s]=t.entries().next().value;vt(n,r,s)}}},pt=a=>{if(a.length===0)return;const[e,t]=Ve(a);if(e.delete(t),e.size===0)pt(a.slice(0,-1));else if(e.size===1){const[n,r]=e.entries().next().value;n!==D&&vt(a.slice(0,-1),n,r)}},vt=(a,e,t)=>{if(a.length===0)return;const[n,r]=Ve(a);n.set(r+e,t),n.delete(r)},Ve=a=>a[a.length-1],$e="or",mt="and",En="and_not";class re{constructor(e){if(e?.fields==null)throw new Error('MiniSearch: option "fields" must be provided');const t=e.autoVacuum==null||e.autoVacuum===!0?Ae:e.autoVacuum;this._options={...Re,...e,autoVacuum:t,searchOptions:{...et,...e.searchOptions||{}},autoSuggestOptions:{...On,...e.autoSuggestOptions||{}}},this._index=new Q,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=je,this.addFields(this._options.fields)}add(e){const{extractField:t,stringifyField:n,tokenize:r,processTerm:s,fields:i,idField:o}=this._options,l=t(e,o);if(l==null)throw new Error(`MiniSearch: document does not have ID field "${o}"`);if(this._idToShortId.has(l))throw new Error(`MiniSearch: duplicate ID ${l}`);const u=this.addDocumentId(l);this.saveStoredFields(u,e);for(const h of i){const p=t(e,h);if(p==null)continue;const v=r(n(p,h),h),b=this._fieldIds[h],g=new Set(v).size;this.addFieldLength(u,b,this._documentCount-1,g);for(const E of v){const x=s(E,h);if(Array.isArray(x))for(const O of x)this.addTerm(b,u,O);else x&&this.addTerm(b,u,x)}}}addAll(e){for(const t of e)this.add(t)}addAllAsync(e,t={}){const{chunkSize:n=10}=t,r={chunk:[],promise:Promise.resolve()},{chunk:s,promise:i}=e.reduce(({chunk:o,promise:l},u,h)=>(o.push(u),(h+1)%n===0?{chunk:[],promise:l.then(()=>new Promise(p=>setTimeout(p,0))).then(()=>this.addAll(o))}:{chunk:o,promise:l}),r);return i.then(()=>this.addAll(s))}remove(e){const{tokenize:t,processTerm:n,extractField:r,stringifyField:s,fields:i,idField:o}=this._options,l=r(e,o);if(l==null)throw new Error(`MiniSearch: document does not have ID field "${o}"`);const u=this._idToShortId.get(l);if(u==null)throw new Error(`MiniSearch: cannot remove document with ID ${l}: it is not in the index`);for(const h of i){const p=r(e,h);if(p==null)continue;const v=t(s(p,h),h),b=this._fieldIds[h],g=new Set(v).size;this.removeFieldLength(u,b,this._documentCount,g);for(const E of v){const x=n(E,h);if(Array.isArray(x))for(const O of x)this.removeTerm(b,u,O);else x&&this.removeTerm(b,u,x)}}this._storedFields.delete(u),this._documentIds.delete(u),this._idToShortId.delete(l),this._fieldLength.delete(u),this._documentCount-=1}removeAll(e){if(e)for(const t of e)this.remove(t);else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Q,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}}discard(e){const t=this._idToShortId.get(e);if(t==null)throw new Error(`MiniSearch: cannot discard document with ID ${e}: it is not in the index`);this._idToShortId.delete(e),this._documentIds.delete(t),this._storedFields.delete(t),(this._fieldLength.get(t)||[]).forEach((n,r)=>{this.removeFieldLength(t,r,this._documentCount,n)}),this._fieldLength.delete(t),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()}maybeAutoVacuum(){if(this._options.autoVacuum===!1)return;const{minDirtFactor:e,minDirtCount:t,batchSize:n,batchWait:r}=this._options.autoVacuum;this.conditionalVacuum({batchSize:n,batchWait:r},{minDirtCount:t,minDirtFactor:e})}discardAll(e){const t=this._options.autoVacuum;try{this._options.autoVacuum=!1;for(const n of e)this.discard(n)}finally{this._options.autoVacuum=t}this.maybeAutoVacuum()}replace(e){const{idField:t,extractField:n}=this._options,r=n(e,t);this.discard(r),this.add(e)}vacuum(e={}){return this.conditionalVacuum(e)}conditionalVacuum(e,t){return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(()=>{const n=this._enqueuedVacuumConditions;return this._enqueuedVacuumConditions=je,this.performVacuuming(e,n)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)}async performVacuuming(e,t){const n=this._dirtCount;if(this.vacuumConditionsMet(t)){const r=e.batchSize||ze.batchSize,s=e.batchWait||ze.batchWait;let i=1;for(const[o,l]of this._index){for(const[u,h]of l)for(const[p]of h)this._documentIds.has(p)||(h.size<=1?l.delete(u):h.delete(p));this._index.get(o).size===0&&this._index.delete(o),i%r===0&&await new Promise(u=>setTimeout(u,s)),i+=1}this._dirtCount-=n}await null,this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null}vacuumConditionsMet(e){if(e==null)return!0;let{minDirtCount:t,minDirtFactor:n}=e;return t=t||Ae.minDirtCount,n=n||Ae.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=n}get isVacuuming(){return this._currentVacuum!=null}get dirtCount(){return this._dirtCount}get dirtFactor(){return this._dirtCount/(1+this._documentCount+this._dirtCount)}has(e){return this._idToShortId.has(e)}getStoredFields(e){const t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)}search(e,t={}){const{searchOptions:n}=this._options,r={...n,...t},s=this.executeQuery(e,t),i=[];for(const[o,{score:l,terms:u,match:h}]of s){const p=u.length||1,v={id:this._documentIds.get(o),score:l*p,terms:Object.keys(h),queryTerms:u,match:h};Object.assign(v,this._storedFields.get(o)),(r.filter==null||r.filter(v))&&i.push(v)}return e===re.wildcard&&r.boostDocument==null||i.sort(nt),i}autoSuggest(e,t={}){t={...this._options.autoSuggestOptions,...t};const n=new Map;for(const{score:s,terms:i}of this.search(e,t)){const o=i.join(" "),l=n.get(o);l!=null?(l.score+=s,l.count+=1):n.set(o,{score:s,terms:i,count:1})}const r=[];for(const[s,{score:i,terms:o,count:l}]of n)r.push({suggestion:s,terms:o,score:i/l});return r.sort(nt),r}get documentCount(){return this._documentCount}get termCount(){return this._index.size}static loadJSON(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)}static async loadJSONAsync(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJSAsync(JSON.parse(e),t)}static getDefault(e){if(Re.hasOwnProperty(e))return Ce(Re,e);throw new Error(`MiniSearch: unknown option "${e}"`)}static loadJS(e,t){const{index:n,documentIds:r,fieldLength:s,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=pe(r),l._fieldLength=pe(s),l._storedFields=pe(i);for(const[u,h]of l._documentIds)l._idToShortId.set(h,u);for(const[u,h]of n){const p=new Map;for(const v of Object.keys(h)){let b=h[v];o===1&&(b=b.ds),p.set(parseInt(v,10),pe(b))}l._index.set(u,p)}return l}static async loadJSAsync(e,t){const{index:n,documentIds:r,fieldLength:s,storedFields:i,serializationVersion:o}=e,l=this.instantiateMiniSearch(e,t);l._documentIds=await ve(r),l._fieldLength=await ve(s),l._storedFields=await ve(i);for(const[h,p]of l._documentIds)l._idToShortId.set(p,h);let u=0;for(const[h,p]of n){const v=new Map;for(const b of Object.keys(p)){let g=p[b];o===1&&(g=g.ds),v.set(parseInt(b,10),await ve(g))}++u%1e3===0&&await gt(0),l._index.set(h,v)}return l}static instantiateMiniSearch(e,t){const{documentCount:n,nextId:r,fieldIds:s,averageFieldLength:i,dirtCount:o,serializationVersion:l}=e;if(l!==1&&l!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");const u=new re(t);return u._documentCount=n,u._nextId=r,u._idToShortId=new Map,u._fieldIds=s,u._avgFieldLength=i,u._dirtCount=o||0,u._index=new Q,u}executeQuery(e,t={}){if(e===re.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){const v={...t,...e,queries:void 0},b=e.queries.map(g=>this.executeQuery(g,v));return this.combineResults(b,v.combineWith)}const{tokenize:n,processTerm:r,searchOptions:s}=this._options,i={tokenize:n,processTerm:r,...s,...t},{tokenize:o,processTerm:l}=i,p=o(e).flatMap(v=>l(v)).filter(v=>!!v).map(Fn(i)).map(v=>this.executeQuerySpec(v,i));return this.combineResults(p,i.combineWith)}executeQuerySpec(e,t){const n={...this._options.searchOptions,...t},r=(n.fields||this._options.fields).reduce((E,x)=>({...E,[x]:Ce(n.boost,x)||1}),{}),{boostDocument:s,weights:i,maxFuzzy:o,bm25:l}=n,{fuzzy:u,prefix:h}={...et.weights,...i},p=this._index.get(e.term),v=this.termResults(e.term,e.term,1,e.termBoost,p,r,s,l);let b,g;if(e.prefix&&(b=this._index.atPrefix(e.term)),e.fuzzy){const E=e.fuzzy===!0?.2:e.fuzzy,x=E<1?Math.min(o,Math.round(e.term.length*E)):E;x&&(g=this._index.fuzzyGet(e.term,x))}if(b)for(const[E,x]of b){const O=E.length-e.term.length;if(!O)continue;g?.delete(E);const C=h*E.length/(E.length+.3*O);this.termResults(e.term,E,C,e.termBoost,x,r,s,l,v)}if(g)for(const E of g.keys()){const[x,O]=g.get(E);if(!O)continue;const C=u*E.length/(E.length+O);this.termResults(e.term,E,C,e.termBoost,x,r,s,l,v)}return v}executeWildcardQuery(e){const t=new Map,n={...this._options.searchOptions,...e};for(const[r,s]of this._documentIds){const i=n.boostDocument?n.boostDocument(s,"",this._storedFields.get(r)):1;t.set(r,{score:i,terms:[],match:{}})}return t}combineResults(e,t=$e){if(e.length===0)return new Map;const n=t.toLowerCase(),r=Tn[n];if(!r)throw new Error(`Invalid combination operator: ${t}`);return e.reduce(r)||new Map}toJSON(){const e=[];for(const[t,n]of this._index){const r={};for(const[s,i]of n)r[s]=Object.fromEntries(i);e.push([t,r])}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:e,serializationVersion:2}}termResults(e,t,n,r,s,i,o,l,u=new Map){if(s==null)return u;for(const h of Object.keys(i)){const p=i[h],v=this._fieldIds[h],b=s.get(v);if(b==null)continue;let g=b.size;const E=this._avgFieldLength[v];for(const x of b.keys()){if(!this._documentIds.has(x)){this.removeTerm(v,x,t),g-=1;continue}const O=o?o(this._documentIds.get(x),t,this._storedFields.get(x)):1;if(!O)continue;const C=b.get(x),J=this._fieldLength.get(x)[v],V=Nn(C,g,this._documentCount,J,E,l),B=n*r*p*O*V,N=u.get(x);if(N){N.score+=B,Cn(N.terms,e);const F=Ce(N.match,t);F?F.push(h):N.match[t]=[h]}else u.set(x,{score:B,terms:[e],match:{[t]:[h]}})}}return u}addTerm(e,t,n){const r=this._index.fetch(n,rt);let s=r.get(e);if(s==null)s=new Map,s.set(t,1),r.set(e,s);else{const i=s.get(t);s.set(t,(i||0)+1)}}removeTerm(e,t,n){if(!this._index.has(n)){this.warnDocumentChanged(t,e,n);return}const r=this._index.fetch(n,rt),s=r.get(e);s==null||s.get(t)==null?this.warnDocumentChanged(t,e,n):s.get(t)<=1?s.size<=1?r.delete(e):s.delete(t):s.set(t,s.get(t)-1),this._index.get(n).size===0&&this._index.delete(n)}warnDocumentChanged(e,t,n){for(const r of Object.keys(this._fieldIds))if(this._fieldIds[r]===t){this._options.logger("warn",`MiniSearch: document with ID ${this._documentIds.get(e)} has changed before removal: term "${n}" was not present in field "${r}". Removing a document after it has changed can corrupt the index!`,"version_conflict");return}}addDocumentId(e){const t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t}addFields(e){for(let t=0;tObject.prototype.hasOwnProperty.call(a,e)?a[e]:void 0,Tn={[$e]:(a,e)=>{for(const t of e.keys()){const n=a.get(t);if(n==null)a.set(t,e.get(t));else{const{score:r,terms:s,match:i}=e.get(t);n.score=n.score+r,n.match=Object.assign(n.match,i),tt(n.terms,s)}}return a},[mt]:(a,e)=>{const t=new Map;for(const n of e.keys()){const r=a.get(n);if(r==null)continue;const{score:s,terms:i,match:o}=e.get(n);tt(r.terms,i),t.set(n,{score:r.score+s,terms:r.terms,match:Object.assign(r.match,o)})}return t},[En]:(a,e)=>{for(const t of e.keys())a.delete(t);return a}},In={k:1.2,b:.7,d:.5},Nn=(a,e,t,n,r,s)=>{const{k:i,b:o,d:l}=s;return Math.log(1+(t-e+.5)/(e+.5))*(l+a*(i+1)/(a+i*(1-o+o*n/r)))},Fn=a=>(e,t,n)=>{const r=typeof a.fuzzy=="function"?a.fuzzy(e,t,n):a.fuzzy||!1,s=typeof a.prefix=="function"?a.prefix(e,t,n):a.prefix===!0,i=typeof a.boostTerm=="function"?a.boostTerm(e,t,n):1;return{term:e,fuzzy:r,prefix:s,termBoost:i}},Re={idField:"id",extractField:(a,e)=>a[e],stringifyField:(a,e)=>a.toString(),tokenize:a=>a.split(Rn),processTerm:a=>a.toLowerCase(),fields:void 0,searchOptions:void 0,storeFields:[],logger:(a,e)=>{typeof console?.[a]=="function"&&console[a](e)},autoVacuum:!0},et={combineWith:$e,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:In},On={combineWith:mt,prefix:(a,e,t)=>e===t.length-1},ze={batchSize:1e3,batchWait:10},je={minDirtFactor:.1,minDirtCount:20},Ae={...ze,...je},Cn=(a,e)=>{a.includes(e)||a.push(e)},tt=(a,e)=>{for(const t of e)a.includes(t)||a.push(t)},nt=({score:a},{score:e})=>e-a,rt=()=>new Map,pe=a=>{const e=new Map;for(const t of Object.keys(a))e.set(parseInt(t,10),a[t]);return e},ve=async a=>{const e=new Map;let t=0;for(const n of Object.keys(a))e.set(parseInt(n,10),a[n]),++t%1e3===0&&await gt(0);return e},gt=a=>new Promise(e=>setTimeout(e,a)),Rn=/[\n\r\p{Z}\p{P}]+/u;var An=class{max;cache;constructor(a=10){this.max=a,this.cache=new Map}get(a){const e=this.cache.get(a);return e!==void 0&&(this.cache.delete(a),this.cache.set(a,e)),e}set(a,e){this.cache.has(a)?this.cache.delete(a):this.cache.size===this.max&&this.cache.delete(this.first()),this.cache.set(a,e)}first(){return this.cache.keys().next().value}clear(){this.cache.clear()}};const Mn={},Ln={width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"};function Dn(a,e){return G(),H("svg",Ln,[...e[0]||(e[0]=[_("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M19 12H5m7 7l-7-7l7-7"},null,-1)])])}const Pn=xe(Mn,[["render",Dn]]),zn={},jn={width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"};function Vn(a,e){return G(),H("svg",jn,[...e[0]||(e[0]=[_("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M20 5H9l-7 7l7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2Zm-2 4l-6 6m0-6l6 6"},null,-1)])])}const $n=xe(zn,[["render",Vn]]),Bn={},Wn={width:"18",height:"18",viewBox:"0 0 24 24","aria-hidden":"true"};function Jn(a,e){return G(),H("svg",Wn,[...e[0]||(e[0]=[_("g",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[_("circle",{cx:"11",cy:"11",r:"8"}),_("path",{d:"m21 21l-4.35-4.35"})],-1)])])}const Kn=xe(Bn,[["render",Jn]]),Gn=["aria-owns"],Un={class:"shell"},qn=["title"],Hn={class:"search-actions before"},Qn=["title"],Yn=["placeholder"],Zn={class:"search-actions"},Xn=["disabled","title"],er=["id","role","aria-labelledby"],tr=["aria-selected"],nr=["href","aria-label","onMouseenter","onFocusin","onClick"],rr={class:"titles"},ir=["innerHTML"],sr={class:"title main"},ar=["innerHTML"],or={key:0,class:"no-results"},lr={class:"search-keyboard-shortcuts"},cr=["aria-label"],ur=["aria-label"],dr=["aria-label"],fr=["aria-label"],hr=_t({__name:"SearchBox",props:{locales:{},options:{}},emits:["close"],setup(a,{emit:e}){const t=e,n=xt(),r=kt(Et(()=>a.locales)),s=Tt(),i=ue(),o=ue(),l=Bt(),{activate:u}=yn(i,{immediate:!0}),h=We(async()=>{let c;if(typeof Intl.Segmenter<"u"){const f=new Intl.Segmenter(s.value,{granularity:"word"});c=m=>Array.from(f.segment(m)).map(y=>y.segment)}return Je(re.loadJSON((await l.value[n.value]?.())?.default,{fields:["title","titles","text"],storeFields:["title","titles"],searchOptions:{fuzzy:.2,prefix:!0,boost:{title:4,text:2,titles:1},tokenize:c},...a.options.miniSearch?.searchOptions,...a.options.miniSearch?.options}))}),v=me(()=>a.options?.disableQueryPersistence===!0).value?ie(""):It("vuepress-plume:mini-search-filter",""),b=me(()=>r.value.buttonText||r.value.placeholder||"Search"),g=ue([]),E=ie(!1);Me(v,()=>{E.value=!1});const x=We(async()=>{if(o.value)return Je(new Sn(o.value))},null),O=new An(64);Nt(()=>[h.value,v.value],async([c,f],m,y)=>{m?.[0]!==c&&O.clear();let S=!1;if(y(()=>{S=!0}),!c)return;g.value=c.search(f),E.value=!0;const w=new Set;g.value=g.value.map(k=>{const[I,R]=k.id.split("#"),L=O.get(I)?.get(R)??"";for(const K in k.match)w.add(K);return{...k,text:L}}),await se(),!S&&await new Promise(k=>{x.value?.unmark({done:()=>{x.value?.markRegExp(T(w),{done:k})}})})},{debounce:200,immediate:!0});const C=ie(),J=me(()=>v.value?.length<=0);function V(c=!0){C.value?.focus(),c&&C.value?.select()}Te(()=>{V()});function B(c){c.pointerType==="mouse"&&V()}const N=ie(-1),F=ie(!1);Me(g,c=>{N.value=c.length?0:-1,A()});function A(){se(()=>{const c=document.querySelector(".result.selected");c&&c.scrollIntoView({block:"nearest"})})}fe("ArrowUp",c=>{c.preventDefault(),N.value--,N.value<0&&(N.value=g.value.length-1),F.value=!0,A()}),fe("ArrowDown",c=>{c.preventDefault(),N.value++,N.value>=g.value.length&&(N.value=0),F.value=!0,A()});const W=Ft();fe("Enter",c=>{if(c.isComposing||c.target instanceof HTMLButtonElement&&c.target.type!=="submit")return;const f=g.value[N.value];if(c.target instanceof HTMLInputElement&&!f){c.preventDefault();return}f&&(W.push(f.id),t("close"))}),fe("Escape",()=>{t("close")}),Te(()=>{window.history.pushState(null,"",null)}),Ot("popstate",c=>{c.preventDefault(),t("close")});const Y=Ct(typeof document<"u"?document.body:null);Te(()=>{se(()=>{Y.value=!0,se().then(()=>u())})}),Rt(()=>{Y.value=!1});function $(){v.value="",se().then(()=>V(!1))}function M(c){return c.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function T(c){return new RegExp([...c].sort((f,m)=>m.length-f.length).map(f=>`(${M(f)})`).join("|"),"gi")}function d(c,f){c.preventDefault(),W.push(f.id),t("close")}return(c,f)=>(G(),At($t,{to:"body"},[_("div",{ref_key:"el",ref:i,role:"button","aria-owns":g.value?.length?"localsearch-list":void 0,"aria-expanded":"true","aria-haspopup":"listbox","aria-labelledby":"mini-search-label",class:"VPLocalSearchBox"},[_("div",{class:"backdrop",onClick:f[0]||(f[0]=m=>c.$emit("close"))}),_("div",Un,[_("form",{class:"search-bar",onPointerup:f[3]||(f[3]=m=>B(m)),onSubmit:f[4]||(f[4]=Mt(()=>{},["prevent"]))},[_("label",{id:"localsearch-label",title:b.value,for:"localsearch-input"},[Ie(Kn,{class:"search-icon"})],8,qn),_("div",Hn,[_("button",{class:"back-button",title:z(r).backButtonTitle,onClick:f[1]||(f[1]=m=>c.$emit("close"))},[Ie(Pn)],8,Qn)]),Lt(_("input",{id:"localsearch-input",ref_key:"searchInput",ref:C,"onUpdate:modelValue":f[2]||(f[2]=m=>Pt(v)?v.value=m:null),placeholder:b.value,"aria-labelledby":"localsearch-label",class:"search-input"},null,8,Yn),[[Dt,z(v)]]),_("div",Zn,[_("button",{class:"clear-button",type:"reset",disabled:J.value,title:z(r).resetButtonTitle,onClick:$},[Ie($n)],8,Xn)])],32),_("ul",{id:g.value?.length?"localsearch-list":void 0,ref_key:"resultsEl",ref:o,role:g.value?.length?"listbox":void 0,"aria-labelledby":g.value?.length?"localsearch-label":void 0,class:"results",onMousemove:f[5]||(f[5]=m=>F.value=!1)},[(G(!0),H(Ge,null,Ke(g.value,(m,y)=>(G(),H("li",{key:m.id,role:"option","aria-selected":N.value===y?"true":"false"},[_("a",{href:z(jt)(m.id),class:zt(["result",{selected:N.value===y}]),"aria-label":[...m.titles,m.title].join(" > "),onMouseenter:S=>!F.value&&(N.value=y),onFocusin:S=>N.value=y,onClick:S=>d(S,m)},[_("div",null,[_("div",rr,[f[7]||(f[7]=_("span",{class:"title-icon"},"#",-1)),(G(!0),H(Ge,null,Ke(m.titles,(S,w)=>(G(),H("span",{key:w,class:"title"},[_("span",{class:"text",innerHTML:S},null,8,ir),f[6]||(f[6]=_("svg",{width:"18",height:"18",viewBox:"0 0 24 24"},[_("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"m9 18l6-6l-6-6"})],-1))]))),128)),_("span",sr,[_("span",{class:"text",innerHTML:m.title},null,8,ar)])])])],42,nr)],8,tr))),128)),z(v)&&!g.value.length&&E.value?(G(),H("li",or,[ae(oe(z(r).noResultsText)+' "',1),_("strong",null,oe(z(v)),1),f[8]||(f[8]=ae('" ',-1))])):Vt("",!0)],40,er),_("div",lr,[_("span",null,[_("kbd",{"aria-label":z(r).footer?.navigateUpKeyAriaLabel??""},[...f[9]||(f[9]=[_("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[_("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 19V5m-7 7l7-7l7 7"})],-1)])],8,cr),_("kbd",{"aria-label":z(r).footer?.navigateDownKeyAriaLabel??""},[...f[10]||(f[10]=[_("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[_("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 5v14m7-7l-7 7l-7-7"})],-1)])],8,ur),ae(" "+oe(z(r).footer?.navigateText??""),1)]),_("span",null,[_("kbd",{"aria-label":z(r).footer?.selectKeyAriaLabel??""},[...f[11]||(f[11]=[_("svg",{width:"14",height:"14",viewBox:"0 0 24 24"},[_("g",{fill:"none",stroke:"currentcolor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2"},[_("path",{d:"m9 10l-5 5l5 5"}),_("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})])],-1)])],8,dr),ae(" "+oe(z(r).footer?.selectText??""),1)]),_("span",null,[_("kbd",{"aria-label":z(r).footer?.closeKeyAriaLabel??""},"esc",8,fr),ae(" "+oe(z(r).footer?.closeText??""),1)])])])],8,Gn)]))}}),mr=xe(hr,[["__scopeId","data-v-a8606ade"]]);export{mr as default}; diff --git a/assets/app-BJYYgOLS.js b/assets/app-BJYYgOLS.js deleted file mode 100644 index 2eba6e8..0000000 --- a/assets/app-BJYYgOLS.js +++ /dev/null @@ -1,57 +0,0 @@ -/** -* @vue/shared v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Yi(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Me={},fo=[],Kt=()=>{},ru=()=>!1,vs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Qi=e=>e.startsWith("onUpdate:"),Ke=Object.assign,Ji=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Np=Object.prototype.hasOwnProperty,Ae=(e,t)=>Np.call(e,t),he=Array.isArray,po=e=>ms(e)==="[object Map]",Po=e=>ms(e)==="[object Set]",Ua=e=>ms(e)==="[object Date]",ge=e=>typeof e=="function",We=e=>typeof e=="string",Rt=e=>typeof e=="symbol",Pe=e=>e!==null&&typeof e=="object",iu=e=>(Pe(e)||ge(e))&&ge(e.then)&&ge(e.catch),au=Object.prototype.toString,ms=e=>au.call(e),Vp=e=>ms(e).slice(8,-1),lu=e=>ms(e)==="[object Object]",mr=e=>We(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Un=Yi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),gr=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Hp=/-\w/g,ht=gr(e=>e.replace(Hp,t=>t.slice(1).toUpperCase())),jp=/\B([A-Z])/g,Nn=gr(e=>e.replace(jp,"-$1").toLowerCase()),gs=gr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Gs=gr(e=>e?`on${gs(e)}`:""),In=(e,t)=>!Object.is(e,t),qs=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},br=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Bp=e=>{const t=We(e)?Number(e):NaN;return isNaN(t)?e:t};let za;const yr=()=>za||(za=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Fe(e){if(he(e)){const t={};for(let n=0;n{if(n){const o=n.split(Wp);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function K(e){let t="";if(We(e))t=e;else if(he(e))for(let n=0;nMn(n,t))}const du=e=>!!(e&&e.__v_isRef===!0),j=e=>We(e)?e:e==null?"":he(e)||Pe(e)&&(e.toString===au||!ge(e.toString))?du(e)?j(e.value):JSON.stringify(e,pu,2):String(e),pu=(e,t)=>du(t)?pu(e,t.value):po(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,s],r)=>(n[Nr(o,r)+" =>"]=s,n),{})}:Po(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Nr(n))}:Rt(t)?Nr(t):Pe(t)&&!he(t)&&!lu(t)?String(t):t,Nr=(e,t="")=>{var n;return Rt(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ot;class Yp{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=ot,!t&&ot&&(this.index=(ot.scopes||(ot.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(ot=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(zo){let t=zo;for(zo=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Uo;){let t=Uo;for(Uo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function bu(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function yu(e){let t,n=e.depsTail,o=n;for(;o;){const s=o.prevDep;o.version===-1?(o===n&&(n=s),ta(o),Jp(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=s}e.deps=t,e.depsTail=n}function mi(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_u(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _u(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ss)||(e.globalVersion=ss,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!mi(e))))return;e.flags|=2;const t=e.dep,n=Ve,o=Ot;Ve=e,Ot=!0;try{bu(e);const s=e.fn(e._value);(t.version===0||In(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ve=n,Ot=o,yu(e),e.flags&=-3}}function ta(e,t=!1){const{dep:n,prevSub:o,nextSub:s}=e;if(o&&(o.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)ta(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Jp(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ot=!0;const ku=[];function mn(){ku.push(Ot),Ot=!1}function gn(){const e=ku.pop();Ot=e===void 0?!0:e}function Ga(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ve;Ve=void 0;try{t()}finally{Ve=n}}}let ss=0;class Xp{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class _r{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ve||!Ot||Ve===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ve)n=this.activeLink=new Xp(Ve,this),Ve.deps?(n.prevDep=Ve.depsTail,Ve.depsTail.nextDep=n,Ve.depsTail=n):Ve.deps=Ve.depsTail=n,wu(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=Ve.depsTail,n.nextDep=void 0,Ve.depsTail.nextDep=n,Ve.depsTail=n,Ve.deps===n&&(Ve.deps=o)}return n}trigger(t){this.version++,ss++,this.notify(t)}notify(t){Zi();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ea()}}}function wu(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)wu(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const tr=new WeakMap,zn=Symbol(""),gi=Symbol(""),rs=Symbol("");function st(e,t,n){if(Ot&&Ve){let o=tr.get(e);o||tr.set(e,o=new Map);let s=o.get(n);s||(o.set(n,s=new _r),s.map=o,s.key=n),s.track()}}function un(e,t,n,o,s,r){const i=tr.get(e);if(!i){ss++;return}const a=l=>{l&&l.trigger()};if(Zi(),t==="clear")i.forEach(a);else{const l=he(e),c=l&&mr(n);if(l&&n==="length"){const u=Number(o);i.forEach((f,d)=>{(d==="length"||d===rs||!Rt(d)&&d>=u)&&a(f)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),c&&a(i.get(rs)),t){case"add":l?c&&a(i.get("length")):(a(i.get(zn)),po(e)&&a(i.get(gi)));break;case"delete":l||(a(i.get(zn)),po(e)&&a(i.get(gi)));break;case"set":po(e)&&a(i.get(zn));break}}ea()}function Zp(e,t){const n=tr.get(e);return n&&n.get(t)}function to(e){const t=Ce(e);return t===e?t:(st(t,"iterate",rs),kt(e)?t:t.map(Dt))}function kr(e){return st(e=Ce(e),"iterate",rs),e}function Pn(e,t){return bn(e)?bo(On(e)?Dt(t):t):Dt(t)}const eh={__proto__:null,[Symbol.iterator](){return Hr(this,Symbol.iterator,e=>Pn(this,e))},concat(...e){return to(this).concat(...e.map(t=>he(t)?to(t):t))},entries(){return Hr(this,"entries",e=>(e[1]=Pn(this,e[1]),e))},every(e,t){return on(this,"every",e,t,void 0,arguments)},filter(e,t){return on(this,"filter",e,t,n=>n.map(o=>Pn(this,o)),arguments)},find(e,t){return on(this,"find",e,t,n=>Pn(this,n),arguments)},findIndex(e,t){return on(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return on(this,"findLast",e,t,n=>Pn(this,n),arguments)},findLastIndex(e,t){return on(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return on(this,"forEach",e,t,void 0,arguments)},includes(...e){return jr(this,"includes",e)},indexOf(...e){return jr(this,"indexOf",e)},join(e){return to(this).join(e)},lastIndexOf(...e){return jr(this,"lastIndexOf",e)},map(e,t){return on(this,"map",e,t,void 0,arguments)},pop(){return Ro(this,"pop")},push(...e){return Ro(this,"push",e)},reduce(e,...t){return qa(this,"reduce",e,t)},reduceRight(e,...t){return qa(this,"reduceRight",e,t)},shift(){return Ro(this,"shift")},some(e,t){return on(this,"some",e,t,void 0,arguments)},splice(...e){return Ro(this,"splice",e)},toReversed(){return to(this).toReversed()},toSorted(e){return to(this).toSorted(e)},toSpliced(...e){return to(this).toSpliced(...e)},unshift(...e){return Ro(this,"unshift",e)},values(){return Hr(this,"values",e=>Pn(this,e))}};function Hr(e,t,n){const o=kr(e),s=o[t]();return o!==e&&!kt(e)&&(s._next=s.next,s.next=()=>{const r=s._next();return r.done||(r.value=n(r.value)),r}),s}const th=Array.prototype;function on(e,t,n,o,s,r){const i=kr(e),a=i!==e&&!kt(e),l=i[t];if(l!==th[t]){const f=l.apply(e,r);return a?Dt(f):f}let c=n;i!==e&&(a?c=function(f,d){return n.call(this,Pn(e,f),d,e)}:n.length>2&&(c=function(f,d){return n.call(this,f,d,e)}));const u=l.call(i,c,o);return a&&s?s(u):u}function qa(e,t,n,o){const s=kr(e);let r=n;return s!==e&&(kt(e)?n.length>3&&(r=function(i,a,l){return n.call(this,i,a,l,e)}):r=function(i,a,l){return n.call(this,i,Pn(e,a),l,e)}),s[t](r,...o)}function jr(e,t,n){const o=Ce(e);st(o,"iterate",rs);const s=o[t](...n);return(s===-1||s===!1)&&xr(n[0])?(n[0]=Ce(n[0]),o[t](...n)):s}function Ro(e,t,n=[]){mn(),Zi();const o=Ce(e)[t].apply(e,n);return ea(),gn(),o}const nh=Yi("__proto__,__v_isRef,__isVue"),$u=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Rt));function oh(e){Rt(e)||(e=String(e));const t=Ce(this);return st(t,"has",e),t.hasOwnProperty(e)}class xu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return r;if(n==="__v_raw")return o===(s?r?Lu:Pu:r?Su:Eu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const i=he(t);if(!s){let l;if(i&&(l=eh[n]))return l;if(n==="hasOwnProperty")return oh}const a=Reflect.get(t,n,Ge(t)?t:o);if((Rt(n)?$u.has(n):nh(n))||(s||st(t,"get",n),r))return a;if(Ge(a)){const l=i&&mr(n)?a:a.value;return s&&Pe(l)?Rn(l):l}return Pe(a)?s?Rn(a):Yn(a):a}}class Tu extends xu{constructor(t=!1){super(!1,t)}set(t,n,o,s){let r=t[n];const i=he(t)&&mr(n);if(!this._isShallow){const c=bn(r);if(!kt(o)&&!bn(o)&&(r=Ce(r),o=Ce(o)),!i&&Ge(r)&&!Ge(o))return c||(r.value=o),!0}const a=i?Number(n)e,As=e=>Reflect.getPrototypeOf(e);function lh(e,t,n){return function(...o){const s=this.__v_raw,r=Ce(s),i=po(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,c=s[e](...o),u=n?bi:t?bo:Dt;return!t&&st(r,"iterate",l?gi:zn),Ke(Object.create(c),{next(){const{value:f,done:d}=c.next();return d?{value:f,done:d}:{value:a?[u(f[0]),u(f[1])]:u(f),done:d}}})}}function Is(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ch(e,t){const n={get(s){const r=this.__v_raw,i=Ce(r),a=Ce(s);e||(In(s,a)&&st(i,"get",s),st(i,"get",a));const{has:l}=As(i),c=t?bi:e?bo:Dt;if(l.call(i,s))return c(r.get(s));if(l.call(i,a))return c(r.get(a));r!==i&&r.get(s)},get size(){const s=this.__v_raw;return!e&&st(Ce(s),"iterate",zn),s.size},has(s){const r=this.__v_raw,i=Ce(r),a=Ce(s);return e||(In(s,a)&&st(i,"has",s),st(i,"has",a)),s===a?r.has(s):r.has(s)||r.has(a)},forEach(s,r){const i=this,a=i.__v_raw,l=Ce(a),c=t?bi:e?bo:Dt;return!e&&st(l,"iterate",zn),a.forEach((u,f)=>s.call(r,c(u),c(f),i))}};return Ke(n,e?{add:Is("add"),set:Is("set"),delete:Is("delete"),clear:Is("clear")}:{add(s){!t&&!kt(s)&&!bn(s)&&(s=Ce(s));const r=Ce(this);return As(r).has.call(r,s)||(r.add(s),un(r,"add",s,s)),this},set(s,r){!t&&!kt(r)&&!bn(r)&&(r=Ce(r));const i=Ce(this),{has:a,get:l}=As(i);let c=a.call(i,s);c||(s=Ce(s),c=a.call(i,s));const u=l.call(i,s);return i.set(s,r),c?In(r,u)&&un(i,"set",s,r):un(i,"add",s,r),this},delete(s){const r=Ce(this),{has:i,get:a}=As(r);let l=i.call(r,s);l||(s=Ce(s),l=i.call(r,s)),a&&a.call(r,s);const c=r.delete(s);return l&&un(r,"delete",s,void 0),c},clear(){const s=Ce(this),r=s.size!==0,i=s.clear();return r&&un(s,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=lh(s,e,t)}),n}function wr(e,t){const n=ch(e,t);return(o,s,r)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?o:Reflect.get(Ae(n,s)&&s in o?n:o,s,r)}const uh={get:wr(!1,!1)},fh={get:wr(!1,!0)},dh={get:wr(!0,!1)},ph={get:wr(!0,!0)},Eu=new WeakMap,Su=new WeakMap,Pu=new WeakMap,Lu=new WeakMap;function hh(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function vh(e){return e.__v_skip||!Object.isExtensible(e)?0:hh(Vp(e))}function Yn(e){return bn(e)?e:$r(e,!1,sh,uh,Eu)}function Au(e){return $r(e,!1,ih,fh,Su)}function Rn(e){return $r(e,!0,rh,dh,Pu)}function mh(e){return $r(e,!0,ah,ph,Lu)}function $r(e,t,n,o,s){if(!Pe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=vh(e);if(r===0)return e;const i=s.get(e);if(i)return i;const a=new Proxy(e,r===2?o:n);return s.set(e,a),a}function On(e){return bn(e)?On(e.__v_raw):!!(e&&e.__v_isReactive)}function bn(e){return!!(e&&e.__v_isReadonly)}function kt(e){return!!(e&&e.__v_isShallow)}function xr(e){return e?!!e.__v_raw:!1}function Ce(e){const t=e&&e.__v_raw;return t?Ce(t):e}function Iu(e){return!Ae(e,"__v_skip")&&Object.isExtensible(e)&&cu(e,"__v_skip",!0),e}const Dt=e=>Pe(e)?Yn(e):e,bo=e=>Pe(e)?Rn(e):e;function Ge(e){return e?e.__v_isRef===!0:!1}function X(e){return Ou(e,!1)}function xe(e){return Ou(e,!0)}function Ou(e,t){return Ge(e)?e:new gh(e,t)}class gh{constructor(t,n){this.dep=new _r,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Ce(t),this._value=n?t:Dt(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||kt(t)||bn(t);t=o?t:Ce(t),In(t,n)&&(this._rawValue=t,this._value=o?t:Dt(t),this.dep.trigger())}}function m(e){return Ge(e)?e.value:e}function _e(e){return ge(e)?e():m(e)}const bh={get:(e,t,n)=>t==="__v_raw"?e:m(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const s=e[t];return Ge(s)&&!Ge(n)?(s.value=n,!0):Reflect.set(e,t,n,o)}};function Mu(e){return On(e)?e:new Proxy(e,bh)}class yh{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new _r,{get:o,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=o,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function na(e){return new yh(e)}class _h{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._raw=Ce(t);let s=!0,r=t;if(!he(t)||!mr(String(n)))do s=!xr(r)||kt(r);while(s&&(r=r.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=m(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ge(this._raw[this._key])){const n=this._object[this._key];if(Ge(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return Zp(this._raw,this._key)}}class kh{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Qn(e,t,n){return Ge(e)?e:ge(e)?new kh(e):Pe(e)&&arguments.length>1?wh(e,t,n):X(e)}function wh(e,t,n){return new _h(e,t,n)}class $h{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new _r(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ss-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&Ve!==this)return gu(this,!0),!0}get value(){const t=this.dep.track();return _u(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function xh(e,t,n=!1){let o,s;return ge(e)?o=e:(o=e.get,s=e.set),new $h(o,s,n)}const Os={},nr=new WeakMap;let Bn;function Th(e,t=!1,n=Bn){if(n){let o=nr.get(n);o||nr.set(n,o=[]),o.push(e)}}function Ch(e,t,n=Me){const{immediate:o,deep:s,once:r,scheduler:i,augmentJob:a,call:l}=n,c=S=>s?S:kt(S)||s===!1||s===0?fn(S,1):fn(S);let u,f,d,h,v=!1,y=!1;if(Ge(e)?(f=()=>e.value,v=kt(e)):On(e)?(f=()=>c(e),v=!0):he(e)?(y=!0,v=e.some(S=>On(S)||kt(S)),f=()=>e.map(S=>{if(Ge(S))return S.value;if(On(S))return c(S);if(ge(S))return l?l(S,2):S()})):ge(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){mn();try{d()}finally{gn()}}const S=Bn;Bn=u;try{return l?l(e,3,[h]):e(h)}finally{Bn=S}}:f=Kt,t&&s){const S=f,V=s===!0?1/0:s;f=()=>fn(S(),V)}const _=hu(),E=()=>{u.stop(),_&&_.active&&Ji(_.effects,u)};if(r&&t){const S=t;t=(...V)=>{S(...V),E()}}let $=y?new Array(e.length).fill(Os):Os;const k=S=>{if(!(!(u.flags&1)||!u.dirty&&!S))if(t){const V=u.run();if(s||v||(y?V.some((B,G)=>In(B,$[G])):In(V,$))){d&&d();const B=Bn;Bn=u;try{const G=[V,$===Os?void 0:y&&$[0]===Os?[]:$,h];$=V,l?l(t,3,G):t(...G)}finally{Bn=B}}}else u.run()};return a&&a(k),u=new vu(f),u.scheduler=i?()=>i(k,!1):k,h=S=>Th(S,!1,u),d=u.onStop=()=>{const S=nr.get(u);if(S){if(l)l(S,4);else for(const V of S)V();nr.delete(u)}},t?o?k(!0):$=u.run():i?i(k.bind(null,!0),!0):u.run(),E.pause=u.pause.bind(u),E.resume=u.resume.bind(u),E.stop=E,E}function fn(e,t=1/0,n){if(t<=0||!Pe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ge(e))fn(e.value,t,n);else if(he(e))for(let o=0;o{fn(o,t,n)});else if(lu(e)){for(const o in e)fn(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&fn(e[o],t,n)}return e}/** -* @vue/runtime-core v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function bs(e,t,n,o){try{return o?e(...o):e()}catch(s){ys(s,t,n)}}function Nt(e,t,n,o){if(ge(e)){const s=bs(e,t,n,o);return s&&iu(s)&&s.catch(r=>{ys(r,t,n)}),s}if(he(e)){const s=[];for(let r=0;r>>1,s=ut[o],r=is(s);r=is(n)?ut.push(e):ut.splice(Sh(t),0,e),e.flags|=1,Du()}}function Du(){or||(or=Ru.then(Nu))}function Ph(e){he(e)?ho.push(...e):Ln&&e.id===-1?Ln.splice(ro+1,0,e):e.flags&1||(ho.push(e),e.flags|=1),Du()}function Ka(e,t,n=zt+1){for(;nis(n)-is(o));if(ho.length=0,Ln){Ln.push(...t);return}for(Ln=t,ro=0;roe.id==null?e.flags&2?-1:1/0:e.id;function Nu(e){try{for(zt=0;zt{o._d&&lr(-1);const r=rr(t);let i;try{i=e(...s)}finally{rr(r),o._d&&lr(1)}return i};return o._n=!0,o._c=!0,o._d=!0,o}function Vt(e,t){if(Xe===null)return e;const n=Sr(Xe),o=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ge(t)?t.call(o&&o.proxy):t}}function Hu(){return!!(Lt()||qn)}const Lh=Symbol.for("v-scx"),Ah=()=>De(Lh);function _s(e,t){return Tr(e,null,t)}function ju(e,t){return Tr(e,null,{flush:"post"})}function be(e,t,n){return Tr(e,t,n)}function Tr(e,t,n=Me){const{immediate:o,deep:s,flush:r,once:i}=n,a=Ke({},n),l=t&&o||!t&&r!=="post";let c;if(yo){if(r==="sync"){const h=Ah();c=h.__watcherHandles||(h.__watcherHandles=[])}else if(!l){const h=()=>{};return h.stop=Kt,h.resume=Kt,h.pause=Kt,h}}const u=Je;a.call=(h,v,y)=>Nt(h,u,v,y);let f=!1;r==="post"?a.scheduler=h=>{nt(h,u&&u.suspense)}:r!=="sync"&&(f=!0,a.scheduler=(h,v)=>{v?h():oa(h)}),a.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,u&&(h.id=u.uid,h.i=u))};const d=Ch(e,t,a);return yo&&(c?c.push(d):l&&d()),d}function Ih(e,t,n){const o=this.proxy,s=We(e)?e.includes(".")?Bu(o,e):()=>o[e]:e.bind(o,o);let r;ge(t)?r=t:(r=t.handler,n=t);const i=ws(this),a=Tr(s,r.bind(o),n);return i(),a}function Bu(e,t){const n=t.split(".");return()=>{let o=e;for(let s=0;se.__isTeleport,Go=e=>e&&(e.disabled||e.disabled===""),Ya=e=>e&&(e.defer||e.defer===""),Qa=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Ja=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,yi=(e,t)=>{const n=e&&e.to;return We(n)?t?t(n):null:n},Uu={name:"Teleport",__isTeleport:!0,process(e,t,n,o,s,r,i,a,l,c){const{mc:u,pc:f,pbc:d,o:{insert:h,querySelector:v,createText:y,createComment:_}}=c,E=Go(t.props);let{shapeFlag:$,children:k,dynamicChildren:S}=t;if(e==null){const V=t.el=y(""),B=t.anchor=y("");h(V,n,o),h(B,n,o);const G=(I,W)=>{$&16&&u(k,I,W,s,r,i,a,l)},ue=()=>{const I=t.target=yi(t.props,v),W=_i(I,t,y,h);I&&(i!=="svg"&&Qa(I)?i="svg":i!=="mathml"&&Ja(I)&&(i="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(I),E||(G(I,W),Ks(t,!1)))};E&&(G(n,B),Ks(t,!0)),Ya(t.props)?(t.el.__isMounted=!1,nt(()=>{ue(),delete t.el.__isMounted},r)):ue()}else{if(Ya(t.props)&&e.el.__isMounted===!1){nt(()=>{Uu.process(e,t,n,o,s,r,i,a,l,c)},r);return}t.el=e.el,t.targetStart=e.targetStart;const V=t.anchor=e.anchor,B=t.target=e.target,G=t.targetAnchor=e.targetAnchor,ue=Go(e.props),I=ue?n:B,W=ue?V:G;if(i==="svg"||Qa(B)?i="svg":(i==="mathml"||Ja(B))&&(i="mathml"),S?(d(e.dynamicChildren,S,I,s,r,i,a),da(e,t,!0)):l||f(e,t,I,W,s,r,i,a,!1),E)ue?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ms(t,n,V,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Q=t.target=yi(t.props,v);Q&&Ms(t,Q,null,c,0)}else ue&&Ms(t,B,G,c,1);Ks(t,E)}},remove(e,t,n,{um:o,o:{remove:s}},r){const{shapeFlag:i,children:a,anchor:l,targetStart:c,targetAnchor:u,target:f,props:d}=e;if(f&&(s(c),s(u)),r&&s(l),i&16){const h=r||!Go(d);for(let v=0;v{e.isMounted=!0}),ca(()=>{e.isUnmounting=!0}),e}const xt=[Function,Array],Gu={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:xt,onEnter:xt,onAfterEnter:xt,onEnterCancelled:xt,onBeforeLeave:xt,onLeave:xt,onAfterLeave:xt,onLeaveCancelled:xt,onBeforeAppear:xt,onAppear:xt,onAfterAppear:xt,onAppearCancelled:xt},qu=e=>{const t=e.subTree;return t.component?qu(t.component):t},Rh={name:"BaseTransition",props:Gu,setup(e,{slots:t}){const n=Lt(),o=zu();return()=>{const s=t.default&&sa(t.default(),!0);if(!s||!s.length)return;const r=Ku(s),i=Ce(e),{mode:a}=i;if(o.isLeaving)return Br(r);const l=Xa(r);if(!l)return Br(r);let c=as(l,i,o,n,f=>c=f);l.type!==Qe&&Jn(l,c);let u=n.subTree&&Xa(n.subTree);if(u&&u.type!==Qe&&!Fn(u,l)&&qu(n).type!==Qe){let f=as(u,i,o,n);if(Jn(u,f),a==="out-in"&&l.type!==Qe)return o.isLeaving=!0,f.afterLeave=()=>{o.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,u=void 0},Br(r);a==="in-out"&&l.type!==Qe?f.delayLeave=(d,h,v)=>{const y=Yu(o,u);y[String(u.key)]=u,d[qt]=()=>{h(),d[qt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{v(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function Ku(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Qe){t=n;break}}return t}const Dh=Rh;function Yu(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function as(e,t,n,o,s){const{appear:r,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:v,onLeaveCancelled:y,onBeforeAppear:_,onAppear:E,onAfterAppear:$,onAppearCancelled:k}=t,S=String(e.key),V=Yu(n,e),B=(I,W)=>{I&&Nt(I,o,9,W)},G=(I,W)=>{const Q=W[1];B(I,W),he(I)?I.every(H=>H.length<=1)&&Q():I.length<=1&&Q()},ue={mode:i,persisted:a,beforeEnter(I){let W=l;if(!n.isMounted)if(r)W=_||l;else return;I[qt]&&I[qt](!0);const Q=V[S];Q&&Fn(e,Q)&&Q.el[qt]&&Q.el[qt](),B(W,[I])},enter(I){if(V[S]===e)return;let W=c,Q=u,H=f;if(!n.isMounted)if(r)W=E||c,Q=$||u,H=k||f;else return;let ce=!1;I[Do]=de=>{ce||(ce=!0,de?B(H,[I]):B(Q,[I]),ue.delayedLeave&&ue.delayedLeave(),I[Do]=void 0)};const se=I[Do].bind(null,!1);W?G(W,[I,se]):se()},leave(I,W){const Q=String(e.key);if(I[Do]&&I[Do](!0),n.isUnmounting)return W();B(d,[I]);let H=!1;I[qt]=se=>{H||(H=!0,W(),se?B(y,[I]):B(v,[I]),I[qt]=void 0,V[Q]===e&&delete V[Q])};const ce=I[qt].bind(null,!1);V[Q]=e,h?G(h,[I,ce]):ce()},clone(I){const W=as(I,t,n,o,s);return s&&s(W),W}};return ue}function Br(e){if(ks(e))return e=yn(e),e.children=null,e}function Xa(e){if(!ks(e))return Wu(e.type)&&e.children?Ku(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&ge(n.default))return n.default()}}function Jn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Jn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function sa(e,t=!1,n){let o=[],s=0;for(let r=0;r1)for(let r=0;rn.value,set:r=>n.value=r})}return n}function Za(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const ir=new WeakMap;function mo(e,t,n,o,s=!1){if(he(e)){e.forEach((y,_)=>mo(y,t&&(he(t)?t[_]:t),n,o,s));return}if(Gn(o)&&!s){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&mo(e,t,n,o.component.subTree);return}const r=o.shapeFlag&4?Sr(o.component):o.el,i=s?null:r,{i:a,r:l}=e,c=t&&t.r,u=a.refs===Me?a.refs={}:a.refs,f=a.setupState,d=Ce(f),h=f===Me?ru:y=>Za(u,y)?!1:Ae(d,y),v=(y,_)=>!(_&&Za(u,_));if(c!=null&&c!==l){if(el(t),We(c))u[c]=null,h(c)&&(f[c]=null);else if(Ge(c)){const y=t;v(c,y.k)&&(c.value=null),y.k&&(u[y.k]=null)}}if(ge(l))bs(l,a,12,[i,u]);else{const y=We(l),_=Ge(l);if(y||_){const E=()=>{if(e.f){const $=y?h(l)?f[l]:u[l]:v()||!e.k?l.value:u[e.k];if(s)he($)&&Ji($,r);else if(he($))$.includes(r)||$.push(r);else if(y)u[l]=[r],h(l)&&(f[l]=u[l]);else{const k=[r];v(l,e.k)&&(l.value=k),e.k&&(u[e.k]=k)}}else y?(u[l]=i,h(l)&&(f[l]=i)):_&&(v(l,e.k)&&(l.value=i),e.k&&(u[e.k]=i))};if(i){const $=()=>{E(),ir.delete(e)};$.id=-1,ir.set(e,$),nt($,n)}else el(e),E()}}}function el(e){const t=ir.get(e);t&&(t.flags|=8,ir.delete(e))}let tl=!1;const no=()=>{tl||(console.error("Hydration completed but contains mismatches."),tl=!0)},Nh=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Vh=e=>e.namespaceURI.includes("MathML"),Rs=e=>{if(e.nodeType===1){if(Nh(e))return"svg";if(Vh(e))return"mathml"}},co=e=>e.nodeType===8;function Hh(e){const{mt:t,p:n,o:{patchProp:o,createText:s,nextSibling:r,parentNode:i,remove:a,insert:l,createComment:c}}=e,u=(k,S)=>{if(!S.hasChildNodes()){n(null,k,S),sr(),S._vnode=k;return}f(S.firstChild,k,null,null,null),sr(),S._vnode=k},f=(k,S,V,B,G,ue=!1)=>{ue=ue||!!S.dynamicChildren;const I=co(k)&&k.data==="[",W=()=>y(k,S,V,B,G,I),{type:Q,ref:H,shapeFlag:ce,patchFlag:se}=S;let de=k.nodeType;S.el=k,se===-2&&(ue=!1,S.dynamicChildren=null);let Y=null;switch(Q){case Kn:de!==3?S.children===""?(l(S.el=s(""),i(k),k),Y=k):Y=W():(k.data!==S.children&&(no(),k.data=S.children),Y=r(k));break;case Qe:$(k)?(Y=r(k),E(S.el=k.content.firstChild,k,V)):de!==8||I?Y=W():Y=r(k);break;case Ko:if(I&&(k=r(k),de=k.nodeType),de===1||de===3){Y=k;const me=!S.children.length;for(let ae=0;ae{ue=ue||!!S.dynamicChildren;const{type:I,props:W,patchFlag:Q,shapeFlag:H,dirs:ce,transition:se}=S,de=I==="input"||I==="option";if(de||Q!==-1){ce&&Gt(S,null,V,"created");let Y=!1;if($(k)){Y=gf(null,se)&&V&&V.vnode.props&&V.vnode.props.appear;const ae=k.content.firstChild;if(Y){const ke=ae.getAttribute("class");ke&&(ae.$cls=ke),se.beforeEnter(ae)}E(ae,k,V),S.el=k=ae}if(H&16&&!(W&&(W.innerHTML||W.textContent))){let ae=h(k.firstChild,S,k,V,B,G,ue);for(;ae;){Ds(k,1)||no();const ke=ae;ae=ae.nextSibling,a(ke)}}else if(H&8){let ae=S.children;ae[0]===` -`&&(k.tagName==="PRE"||k.tagName==="TEXTAREA")&&(ae=ae.slice(1));const{textContent:ke}=k;ke!==ae&&ke!==ae.replace(/\r\n|\r/g,` -`)&&(Ds(k,0)||no(),k.textContent=S.children)}if(W){if(de||!ue||Q&48){const ae=k.tagName.includes("-");for(const ke in W)(de&&(ke.endsWith("value")||ke==="indeterminate")||vs(ke)&&!Un(ke)||ke[0]==="."||ae&&!Un(ke))&&o(k,ke,null,W[ke],void 0,V)}else if(W.onClick)o(k,"onClick",null,W.onClick,void 0,V);else if(Q&4&&On(W.style))for(const ae in W.style)W.style[ae]}let me;(me=W&&W.onVnodeBeforeMount)&&Tt(me,V,S),ce&&Gt(S,null,V,"beforeMount"),((me=W&&W.onVnodeMounted)||ce||Y)&&kf(()=>{me&&Tt(me,V,S),Y&&se.enter(k),ce&&Gt(S,null,V,"mounted")},B)}return k.nextSibling},h=(k,S,V,B,G,ue,I)=>{I=I||!!S.dynamicChildren;const W=S.children,Q=W.length;for(let H=0;H{const{slotScopeIds:I}=S;I&&(G=G?G.concat(I):I);const W=i(k),Q=h(r(k),S,W,V,B,G,ue);return Q&&co(Q)&&Q.data==="]"?r(S.anchor=Q):(no(),l(S.anchor=c("]"),W,Q),Q)},y=(k,S,V,B,G,ue)=>{if(Ds(k.parentElement,1)||no(),S.el=null,ue){const Q=_(k);for(;;){const H=r(k);if(H&&H!==Q)a(H);else break}}const I=r(k),W=i(k);return a(k),n(null,S,W,I,V,B,Rs(W),G),V&&(V.vnode.el=S.el,lf(V,S.el)),I},_=(k,S="[",V="]")=>{let B=0;for(;k;)if(k=r(k),k&&co(k)&&(k.data===S&&B++,k.data===V)){if(B===0)return r(k);B--}return k},E=(k,S,V)=>{const B=S.parentNode;B&&B.replaceChild(k,S);let G=V;for(;G;)G.vnode.el===S&&(G.vnode.el=G.subTree.el=k),G=G.parent},$=k=>k.nodeType===1&&k.tagName==="TEMPLATE";return[u,f]}const nl="data-allow-mismatch",jh={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function Ds(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(nl);)e=e.parentElement;const n=e&&e.getAttribute(nl);if(n==null)return!1;if(n==="")return!0;{const o=n.split(",");return t===0&&o.includes("children")?!0:o.includes(jh[t])}}yr().requestIdleCallback;yr().cancelIdleCallback;function Bh(e,t){if(co(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(co(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const Gn=e=>!!e.type.__asyncLoader;function aa(e){ge(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:s=200,hydrate:r,timeout:i,suspensible:a=!0,onError:l}=e;let c=null,u,f=0;const d=()=>(f++,c=null,h()),h=()=>{let v;return c||(v=c=t().catch(y=>{if(y=y instanceof Error?y:new Error(String(y)),l)return new Promise((_,E)=>{l(y,()=>_(d()),()=>E(y),f+1)});throw y}).then(y=>v!==c&&c?c:(y&&(y.__esModule||y[Symbol.toStringTag]==="Module")&&(y=y.default),u=y,y)))};return R({name:"AsyncComponentWrapper",__asyncLoader:h,__asyncHydrate(v,y,_){let E=!1;(y.bu||(y.bu=[])).push(()=>E=!0);const $=()=>{E||_()},k=r?()=>{const S=r($,V=>Bh(v,V));S&&(y.bum||(y.bum=[])).push(S)}:$;u?k():h().then(()=>!y.isUnmounted&&k())},get __asyncResolved(){return u},setup(){const v=Je;if(ia(v),u)return()=>Ns(u,v);const y=k=>{c=null,ys(k,v,13,!o)};if(a&&v.suspense||yo)return h().then(k=>()=>Ns(k,v)).catch(k=>(y(k),()=>o?M(o,{error:k}):null));const _=X(!1),E=X(),$=X(!!s);return s&&setTimeout(()=>{$.value=!1},s),i!=null&&setTimeout(()=>{if(!_.value&&!E.value){const k=new Error(`Async component timed out after ${i}ms.`);y(k),E.value=k}},i),h().then(()=>{_.value=!0,v.parent&&ks(v.parent.vnode)&&v.parent.update()}).catch(k=>{y(k),E.value=k}),()=>{if(_.value&&u)return Ns(u,v);if(E.value&&o)return M(o,{error:E.value});if(n&&!$.value)return Ns(n,v)}}})}function Ns(e,t){const{ref:n,props:o,children:s,ce:r}=t.vnode,i=M(e,o,s);return i.ref=n,i.ce=r,delete t.vnode.ce,i}const ks=e=>e.type.__isKeepAlive;function Fh(e,t){Qu(e,"a",t)}function Wh(e,t){Qu(e,"da",t)}function Qu(e,t,n=Je){const o=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Cr(t,o,n),n){let s=n.parent;for(;s&&s.parent;)ks(s.parent.vnode)&&Uh(o,t,n,s),s=s.parent}}function Uh(e,t,n,o){const s=Cr(t,e,o,!0);wn(()=>{Ji(o[t],s)},n)}function Cr(e,t,n=Je,o=!1){if(n){const s=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{mn();const a=ws(n),l=Nt(t,n,e,i);return a(),gn(),l});return o?s.unshift(r):s.push(r),r}}const kn=e=>(t,n=Je)=>{(!yo||e==="sp")&&Cr(e,(...o)=>t(...o),n)},zh=kn("bm"),Ie=kn("m"),Gh=kn("bu"),la=kn("u"),ca=kn("bum"),wn=kn("um"),qh=kn("sp"),Kh=kn("rtg"),Yh=kn("rtc");function Qh(e,t=Je){Cr("ec",e,t)}const Ju="components";function qe(e,t){return Zu(Ju,e,!0,t)||e}const Xu=Symbol.for("v-ndc");function Mt(e){return We(e)?Zu(Ju,e,!1)||e:e||Xu}function Zu(e,t,n=!0,o=!1){const s=Xe||Je;if(s){const r=s.type;{const a=Lv(r,!1);if(a&&(a===t||a===ht(t)||a===gs(ht(t))))return r}const i=ol(s[e]||r[e],t)||ol(s.appContext[e],t);return!i&&o?r:i}}function ol(e,t){return e&&(e[t]||e[ht(t)]||e[gs(ht(t))])}function we(e,t,n,o){let s;const r=n,i=he(e);if(i||We(e)){const a=i&&On(e);let l=!1,c=!1;a&&(l=!kt(e),c=bn(e),e=kr(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(a,l,void 0,r));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,c=a.length;l0;return t!=="default"&&(n.name=t),p(),O(ee,null,[M("slot",n,o&&o())],c?-2:64)}let r=e[t];r&&r._c&&(r._d=!1),p();const i=r&&ef(r(n)),a=n.key||i&&i.key,l=O(ee,{key:(a&&!Rt(a)?a:`_${t}`)+(!i&&o?"_fb":"")},i||(o?o():[]),i&&e._===1?64:-2);return!s&&l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),r&&r._c&&(r._d=!0),l}function ef(e){return e.some(t=>cs(t)?!(t.type===Qe||t.type===ee&&!ef(t.children)):!0)?e:null}function Jh(e,t){const n={};for(const o in e)n[/[A-Z]/.test(o)?`on:${o}`:Gs(o)]=e[o];return n}const ki=e=>e?Tf(e)?Sr(e):ki(e.parent):null,qo=Ke(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ki(e.parent),$root:e=>ki(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>of(e),$forceUpdate:e=>e.f||(e.f=()=>{oa(e.update)}),$nextTick:e=>e.n||(e.n=at.bind(e.proxy)),$watch:e=>Ih.bind(e)}),Fr=(e,t)=>e!==Me&&!e.__isScriptSetup&&Ae(e,t),Xh={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:s,props:r,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const d=i[t];if(d!==void 0)switch(d){case 1:return o[t];case 2:return s[t];case 4:return n[t];case 3:return r[t]}else{if(Fr(o,t))return i[t]=1,o[t];if(s!==Me&&Ae(s,t))return i[t]=2,s[t];if(Ae(r,t))return i[t]=3,r[t];if(n!==Me&&Ae(n,t))return i[t]=4,n[t];wi&&(i[t]=0)}}const c=qo[t];let u,f;if(c)return t==="$attrs"&&st(e.attrs,"get",""),c(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==Me&&Ae(n,t))return i[t]=4,n[t];if(f=l.config.globalProperties,Ae(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:s,ctx:r}=e;return Fr(s,t)?(s[t]=n,!0):o!==Me&&Ae(o,t)?(o[t]=n,!0):Ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:s,props:r,type:i}},a){let l;return!!(n[a]||e!==Me&&a[0]!=="$"&&Ae(e,a)||Fr(t,a)||Ae(r,a)||Ae(o,a)||Ae(qo,a)||Ae(s.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Ae(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function tf(){return Zh().slots}function Zh(e){const t=Lt();return t.setupContext||(t.setupContext=Ef(t))}function sl(e){return he(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let wi=!0;function ev(e){const t=of(e),n=e.proxy,o=e.ctx;wi=!1,t.beforeCreate&&rl(t.beforeCreate,e,"bc");const{data:s,computed:r,methods:i,watch:a,provide:l,inject:c,created:u,beforeMount:f,mounted:d,beforeUpdate:h,updated:v,activated:y,deactivated:_,beforeDestroy:E,beforeUnmount:$,destroyed:k,unmounted:S,render:V,renderTracked:B,renderTriggered:G,errorCaptured:ue,serverPrefetch:I,expose:W,inheritAttrs:Q,components:H,directives:ce,filters:se}=t;if(c&&tv(c,o,null),i)for(const me in i){const ae=i[me];ge(ae)&&(o[me]=ae.bind(n))}if(s){const me=s.call(n,n);Pe(me)&&(e.data=Yn(me))}if(wi=!0,r)for(const me in r){const ae=r[me],ke=ge(ae)?ae.bind(n,n):ge(ae.get)?ae.get.bind(n,n):Kt,vt=!ge(ae)&&ge(ae.set)?ae.set.bind(n):Kt,lt=x({get:ke,set:vt});Object.defineProperty(o,me,{enumerable:!0,configurable:!0,get:()=>lt.value,set:Ye=>lt.value=Ye})}if(a)for(const me in a)nf(a[me],o,n,me);if(l){const me=ge(l)?l.call(n):l;Reflect.ownKeys(me).forEach(ae=>{hn(ae,me[ae])})}u&&rl(u,e,"c");function Y(me,ae){he(ae)?ae.forEach(ke=>me(ke.bind(n))):ae&&me(ae.bind(n))}if(Y(zh,f),Y(Ie,d),Y(Gh,h),Y(la,v),Y(Fh,y),Y(Wh,_),Y(Qh,ue),Y(Yh,B),Y(Kh,G),Y(ca,$),Y(wn,S),Y(qh,I),he(W))if(W.length){const me=e.exposed||(e.exposed={});W.forEach(ae=>{Object.defineProperty(me,ae,{get:()=>n[ae],set:ke=>n[ae]=ke,enumerable:!0})})}else e.exposed||(e.exposed={});V&&e.render===Kt&&(e.render=V),Q!=null&&(e.inheritAttrs=Q),H&&(e.components=H),ce&&(e.directives=ce),I&&ia(e)}function tv(e,t,n=Kt){he(e)&&(e=$i(e));for(const o in e){const s=e[o];let r;Pe(s)?"default"in s?r=De(s.from||o,s.default,!0):r=De(s.from||o):r=De(s),Ge(r)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[o]=r}}function rl(e,t,n){Nt(he(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function nf(e,t,n,o){let s=o.includes(".")?Bu(n,o):()=>n[o];if(We(e)){const r=t[e];ge(r)&&be(s,r)}else if(ge(e))be(s,e.bind(n));else if(Pe(e))if(he(e))e.forEach(r=>nf(r,t,n,o));else{const r=ge(e.handler)?e.handler.bind(n):t[e.handler];ge(r)&&be(s,r,e)}}function of(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:s,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let l;return a?l=a:!s.length&&!n&&!o?l=t:(l={},s.length&&s.forEach(c=>ar(l,c,i,!0)),ar(l,t,i)),Pe(t)&&r.set(t,l),l}function ar(e,t,n,o=!1){const{mixins:s,extends:r}=t;r&&ar(e,r,n,!0),s&&s.forEach(i=>ar(e,i,n,!0));for(const i in t)if(!(o&&i==="expose")){const a=nv[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const nv={data:il,props:al,emits:al,methods:Wo,computed:Wo,beforeCreate:ct,created:ct,beforeMount:ct,mounted:ct,beforeUpdate:ct,updated:ct,beforeDestroy:ct,beforeUnmount:ct,destroyed:ct,unmounted:ct,activated:ct,deactivated:ct,errorCaptured:ct,serverPrefetch:ct,components:Wo,directives:Wo,watch:sv,provide:il,inject:ov};function il(e,t){return t?e?function(){return Ke(ge(e)?e.call(this,this):e,ge(t)?t.call(this,this):t)}:t:e}function ov(e,t){return Wo($i(e),$i(t))}function $i(e){if(he(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ht(t)}Modifiers`]||e[`${Nn(t)}Modifiers`];function lv(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||Me;let s=n;const r=t.startsWith("update:"),i=r&&av(o,t.slice(7));i&&(i.trim&&(s=n.map(u=>We(u)?u.trim():u)),i.number&&(s=n.map(br)));let a,l=o[a=Gs(t)]||o[a=Gs(ht(t))];!l&&r&&(l=o[a=Gs(Nn(t))]),l&&Nt(l,e,6,s);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Nt(c,e,6,s)}}const cv=new WeakMap;function rf(e,t,n=!1){const o=n?cv:t.emitsCache,s=o.get(e);if(s!==void 0)return s;const r=e.emits;let i={},a=!1;if(!ge(e)){const l=c=>{const u=rf(c,t,!0);u&&(a=!0,Ke(i,u))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(Pe(e)&&o.set(e,null),null):(he(r)?r.forEach(l=>i[l]=null):Ke(i,r),Pe(e)&&o.set(e,i),i)}function Er(e,t){return!e||!vs(t)?!1:(t=t.slice(2).replace(/Once$/,""),Ae(e,t[0].toLowerCase()+t.slice(1))||Ae(e,Nn(t))||Ae(e,t))}function Wr(e){const{type:t,vnode:n,proxy:o,withProxy:s,propsOptions:[r],slots:i,attrs:a,emit:l,render:c,renderCache:u,props:f,data:d,setupState:h,ctx:v,inheritAttrs:y}=e,_=rr(e);let E,$;try{if(n.shapeFlag&4){const S=s||o,V=S;E=Et(c.call(V,S,u,f,h,d,v)),$=a}else{const S=t;E=Et(S.length>1?S(f,{attrs:a,slots:i,emit:l}):S(f,null)),$=t.props?a:uv(a)}}catch(S){Yo.length=0,ys(S,e,1),E=M(Qe)}let k=E;if($&&y!==!1){const S=Object.keys($),{shapeFlag:V}=k;S.length&&V&7&&(r&&S.some(Qi)&&($=fv($,r)),k=yn(k,$,!1,!0))}return n.dirs&&(k=yn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&Jn(k,n.transition),E=k,rr(_),E}const uv=e=>{let t;for(const n in e)(n==="class"||n==="style"||vs(n))&&((t||(t={}))[n]=e[n]);return t},fv=(e,t)=>{const n={};for(const o in e)(!Qi(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function dv(e,t,n){const{props:o,children:s,component:r}=e,{props:i,children:a,patchFlag:l}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return o?ll(o,i,c):!!i;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(cf),ff=e=>Object.getPrototypeOf(e)===cf;function pv(e,t,n,o=!1){const s={},r=uf();e.propsDefaults=Object.create(null),df(e,t,s,r);for(const i in e.propsOptions[0])i in s||(s[i]=void 0);n?e.props=o?s:Au(s):e.type.props?e.props=s:e.props=r,e.attrs=r}function hv(e,t,n,o){const{props:s,attrs:r,vnode:{patchFlag:i}}=e,a=Ce(s),[l]=e.propsOptions;let c=!1;if((o||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,h]=pf(f,t,!0);Ke(i,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!l)return Pe(e)&&o.set(e,fo),fo;if(he(r))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",fa=e=>he(e)?e.map(Et):[Et(e)],mv=(e,t,n)=>{if(t._n)return t;const o=P((...s)=>fa(t(...s)),n);return o._c=!1,o},hf=(e,t,n)=>{const o=e._ctx;for(const s in e){if(ua(s))continue;const r=e[s];if(ge(r))t[s]=mv(s,r,o);else if(r!=null){const i=fa(r);t[s]=()=>i}}},vf=(e,t)=>{const n=fa(t);e.slots.default=()=>n},mf=(e,t,n)=>{for(const o in t)(n||!ua(o))&&(e[o]=t[o])},gv=(e,t,n)=>{const o=e.slots=uf();if(e.vnode.shapeFlag&32){const s=t._;s?(mf(o,t,n),n&&cu(o,"_",s,!0)):hf(t,o)}else t&&vf(e,t)},bv=(e,t,n)=>{const{vnode:o,slots:s}=e;let r=!0,i=Me;if(o.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:mf(s,t,n):(r=!t.$stable,hf(t,s)),i=t}else t&&(vf(e,t),i={default:1});if(r)for(const a in s)!ua(a)&&i[a]==null&&delete s[a]},nt=kf;function yv(e){return _v(e,Hh)}function _v(e,t){const n=yr();n.__VUE__=!0;const{insert:o,remove:s,patchProp:r,createElement:i,createText:a,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:d,setScopeId:h=Kt,insertStaticContent:v}=e,y=(w,C,A,F=null,D=null,U=null,ne=void 0,Z=null,J=!!C.dynamicChildren)=>{if(w===C)return;w&&!Fn(w,C)&&(F=N(w),Ye(w,D,U,!0),w=null),C.patchFlag===-2&&(J=!1,C.dynamicChildren=null);const{type:z,ref:ve,shapeFlag:ie}=C;switch(z){case Kn:_(w,C,A,F);break;case Qe:E(w,C,A,F);break;case Ko:w==null&&$(C,A,F,ne);break;case ee:H(w,C,A,F,D,U,ne,Z,J);break;default:ie&1?V(w,C,A,F,D,U,ne,Z,J):ie&6?ce(w,C,A,F,D,U,ne,Z,J):(ie&64||ie&128)&&z.process(w,C,A,F,D,U,ne,Z,J,fe)}ve!=null&&D?mo(ve,w&&w.ref,U,C||w,!C):ve==null&&w&&w.ref!=null&&mo(w.ref,null,U,w,!0)},_=(w,C,A,F)=>{if(w==null)o(C.el=a(C.children),A,F);else{const D=C.el=w.el;C.children!==w.children&&c(D,C.children)}},E=(w,C,A,F)=>{w==null?o(C.el=l(C.children||""),A,F):C.el=w.el},$=(w,C,A,F)=>{[w.el,w.anchor]=v(w.children,C,A,F,w.el,w.anchor)},k=({el:w,anchor:C},A,F)=>{let D;for(;w&&w!==C;)D=d(w),o(w,A,F),w=D;o(C,A,F)},S=({el:w,anchor:C})=>{let A;for(;w&&w!==C;)A=d(w),s(w),w=A;s(C)},V=(w,C,A,F,D,U,ne,Z,J)=>{if(C.type==="svg"?ne="svg":C.type==="math"&&(ne="mathml"),w==null)B(C,A,F,D,U,ne,Z,J);else{const z=w.el&&w.el._isVueCE?w.el:null;try{z&&z._beginPatch(),I(w,C,D,U,ne,Z,J)}finally{z&&z._endPatch()}}},B=(w,C,A,F,D,U,ne,Z)=>{let J,z;const{props:ve,shapeFlag:ie,transition:pe,dirs:ye}=w;if(J=w.el=i(w.type,U,ve&&ve.is,ve),ie&8?u(J,w.children):ie&16&&ue(w.children,J,null,F,D,Ur(w,U),ne,Z),ye&&Gt(w,null,F,"created"),G(J,w,w.scopeId,ne,F),ve){for(const Ne in ve)Ne!=="value"&&!Un(Ne)&&r(J,Ne,null,ve[Ne],U,F);"value"in ve&&r(J,"value",null,ve.value,U),(z=ve.onVnodeBeforeMount)&&Tt(z,F,w)}ye&&Gt(w,null,F,"beforeMount");const Te=gf(D,pe);Te&&pe.beforeEnter(J),o(J,C,A),((z=ve&&ve.onVnodeMounted)||Te||ye)&&nt(()=>{z&&Tt(z,F,w),Te&&pe.enter(J),ye&&Gt(w,null,F,"mounted")},D)},G=(w,C,A,F,D)=>{if(A&&h(w,A),F)for(let U=0;U{for(let z=J;z{const Z=C.el=w.el;let{patchFlag:J,dynamicChildren:z,dirs:ve}=C;J|=w.patchFlag&16;const ie=w.props||Me,pe=C.props||Me;let ye;if(A&&Vn(A,!1),(ye=pe.onVnodeBeforeUpdate)&&Tt(ye,A,C,w),ve&&Gt(C,w,A,"beforeUpdate"),A&&Vn(A,!0),(ie.innerHTML&&pe.innerHTML==null||ie.textContent&&pe.textContent==null)&&u(Z,""),z?W(w.dynamicChildren,z,Z,A,F,Ur(C,D),U):ne||ae(w,C,Z,null,A,F,Ur(C,D),U,!1),J>0){if(J&16)Q(Z,ie,pe,A,D);else if(J&2&&ie.class!==pe.class&&r(Z,"class",null,pe.class,D),J&4&&r(Z,"style",ie.style,pe.style,D),J&8){const Te=C.dynamicProps;for(let Ne=0;Ne{ye&&Tt(ye,A,C,w),ve&&Gt(C,w,A,"updated")},F)},W=(w,C,A,F,D,U,ne)=>{for(let Z=0;Z{if(C!==A){if(C!==Me)for(const U in C)!Un(U)&&!(U in A)&&r(w,U,C[U],null,D,F);for(const U in A){if(Un(U))continue;const ne=A[U],Z=C[U];ne!==Z&&U!=="value"&&r(w,U,Z,ne,D,F)}"value"in A&&r(w,"value",C.value,A.value,D)}},H=(w,C,A,F,D,U,ne,Z,J)=>{const z=C.el=w?w.el:a(""),ve=C.anchor=w?w.anchor:a("");let{patchFlag:ie,dynamicChildren:pe,slotScopeIds:ye}=C;ye&&(Z=Z?Z.concat(ye):ye),w==null?(o(z,A,F),o(ve,A,F),ue(C.children||[],A,ve,D,U,ne,Z,J)):ie>0&&ie&64&&pe&&w.dynamicChildren&&w.dynamicChildren.length===pe.length?(W(w.dynamicChildren,pe,A,D,U,ne,Z),(C.key!=null||D&&C===D.subTree)&&da(w,C,!0)):ae(w,C,A,ve,D,U,ne,Z,J)},ce=(w,C,A,F,D,U,ne,Z,J)=>{C.slotScopeIds=Z,w==null?C.shapeFlag&512?D.ctx.activate(C,A,F,ne,J):se(C,A,F,D,U,ne,J):de(w,C,J)},se=(w,C,A,F,D,U,ne)=>{const Z=w.component=Cv(w,F,D);if(ks(w)&&(Z.ctx.renderer=fe),Ev(Z,!1,ne),Z.asyncDep){if(D&&D.registerDep(Z,Y,ne),!w.el){const J=Z.subTree=M(Qe);E(null,J,C,A),w.placeholder=J.el}}else Y(Z,w,C,A,D,U,ne)},de=(w,C,A)=>{const F=C.component=w.component;if(dv(w,C,A))if(F.asyncDep&&!F.asyncResolved){me(F,C,A);return}else F.next=C,F.update();else C.el=w.el,F.vnode=C},Y=(w,C,A,F,D,U,ne)=>{const Z=()=>{if(w.isMounted){let{next:ie,bu:pe,u:ye,parent:Te,vnode:Ne}=w;{const gt=bf(w);if(gt){ie&&(ie.el=Ne.el,me(w,ie,ne)),gt.asyncDep.then(()=>{nt(()=>{w.isUnmounted||z()},D)});return}}let Oe=ie,dt;Vn(w,!1),ie?(ie.el=Ne.el,me(w,ie,ne)):ie=Ne,pe&&qs(pe),(dt=ie.props&&ie.props.onVnodeBeforeUpdate)&&Tt(dt,Te,ie,Ne),Vn(w,!0);const tt=Wr(w),At=w.subTree;w.subTree=tt,y(At,tt,f(At.el),N(At),w,D,U),ie.el=tt.el,Oe===null&&lf(w,tt.el),ye&&nt(ye,D),(dt=ie.props&&ie.props.onVnodeUpdated)&&nt(()=>Tt(dt,Te,ie,Ne),D)}else{let ie;const{el:pe,props:ye}=C,{bm:Te,m:Ne,parent:Oe,root:dt,type:tt}=w,At=Gn(C);if(Vn(w,!1),Te&&qs(Te),!At&&(ie=ye&&ye.onVnodeBeforeMount)&&Tt(ie,Oe,C),Vn(w,!0),pe&&Re){const gt=()=>{w.subTree=Wr(w),Re(pe,w.subTree,w,D,null)};At&&tt.__asyncHydrate?tt.__asyncHydrate(pe,w,gt):gt()}else{dt.ce&&dt.ce._hasShadowRoot()&&dt.ce._injectChildStyle(tt);const gt=w.subTree=Wr(w);y(null,gt,A,F,w,D,U),C.el=gt.el}if(Ne&&nt(Ne,D),!At&&(ie=ye&&ye.onVnodeMounted)){const gt=C;nt(()=>Tt(ie,Oe,gt),D)}(C.shapeFlag&256||Oe&&Gn(Oe.vnode)&&Oe.vnode.shapeFlag&256)&&w.a&&nt(w.a,D),w.isMounted=!0,C=A=F=null}};w.scope.on();const J=w.effect=new vu(Z);w.scope.off();const z=w.update=J.run.bind(J),ve=w.job=J.runIfDirty.bind(J);ve.i=w,ve.id=w.uid,J.scheduler=()=>oa(ve),Vn(w,!0),z()},me=(w,C,A)=>{C.component=w;const F=w.vnode.props;w.vnode=C,w.next=null,hv(w,C.props,F,A),bv(w,C.children,A),mn(),Ka(w),gn()},ae=(w,C,A,F,D,U,ne,Z,J=!1)=>{const z=w&&w.children,ve=w?w.shapeFlag:0,ie=C.children,{patchFlag:pe,shapeFlag:ye}=C;if(pe>0){if(pe&128){vt(z,ie,A,F,D,U,ne,Z,J);return}else if(pe&256){ke(z,ie,A,F,D,U,ne,Z,J);return}}ye&8?(ve&16&&et(z,D,U),ie!==z&&u(A,ie)):ve&16?ye&16?vt(z,ie,A,F,D,U,ne,Z,J):et(z,D,U,!0):(ve&8&&u(A,""),ye&16&&ue(ie,A,F,D,U,ne,Z,J))},ke=(w,C,A,F,D,U,ne,Z,J)=>{w=w||fo,C=C||fo;const z=w.length,ve=C.length,ie=Math.min(z,ve);let pe;for(pe=0;peve?et(w,D,U,!0,!1,ie):ue(C,A,F,D,U,ne,Z,J,ie)},vt=(w,C,A,F,D,U,ne,Z,J)=>{let z=0;const ve=C.length;let ie=w.length-1,pe=ve-1;for(;z<=ie&&z<=pe;){const ye=w[z],Te=C[z]=J?cn(C[z]):Et(C[z]);if(Fn(ye,Te))y(ye,Te,A,null,D,U,ne,Z,J);else break;z++}for(;z<=ie&&z<=pe;){const ye=w[ie],Te=C[pe]=J?cn(C[pe]):Et(C[pe]);if(Fn(ye,Te))y(ye,Te,A,null,D,U,ne,Z,J);else break;ie--,pe--}if(z>ie){if(z<=pe){const ye=pe+1,Te=yepe)for(;z<=ie;)Ye(w[z],D,U,!0),z++;else{const ye=z,Te=z,Ne=new Map;for(z=Te;z<=pe;z++){const bt=C[z]=J?cn(C[z]):Et(C[z]);bt.key!=null&&Ne.set(bt.key,z)}let Oe,dt=0;const tt=pe-Te+1;let At=!1,gt=0;const Mo=new Array(tt);for(z=0;z=tt){Ye(bt,D,U,!0);continue}let Wt;if(bt.key!=null)Wt=Ne.get(bt.key);else for(Oe=Te;Oe<=pe;Oe++)if(Mo[Oe-Te]===0&&Fn(bt,C[Oe])){Wt=Oe;break}Wt===void 0?Ye(bt,D,U,!0):(Mo[Wt-Te]=z+1,Wt>=gt?gt=Wt:At=!0,y(bt,C[Wt],A,null,D,U,ne,Z,J),dt++)}const Ba=At?kv(Mo):fo;for(Oe=Ba.length-1,z=tt-1;z>=0;z--){const bt=Te+z,Wt=C[bt],Fa=C[bt+1],Wa=bt+1{const{el:U,type:ne,transition:Z,children:J,shapeFlag:z}=w;if(z&6){lt(w.component.subTree,C,A,F);return}if(z&128){w.suspense.move(C,A,F);return}if(z&64){ne.move(w,C,A,fe);return}if(ne===ee){o(U,C,A);for(let ie=0;ieZ.enter(U),D);else{const{leave:ie,delayLeave:pe,afterLeave:ye}=Z,Te=()=>{w.ctx.isUnmounted?s(U):o(U,C,A)},Ne=()=>{U._isLeaving&&U[qt](!0),ie(U,()=>{Te(),ye&&ye()})};pe?pe(U,Te,Ne):Ne()}else o(U,C,A)},Ye=(w,C,A,F=!1,D=!1)=>{const{type:U,props:ne,ref:Z,children:J,dynamicChildren:z,shapeFlag:ve,patchFlag:ie,dirs:pe,cacheIndex:ye}=w;if(ie===-2&&(D=!1),Z!=null&&(mn(),mo(Z,null,A,w,!0),gn()),ye!=null&&(C.renderCache[ye]=void 0),ve&256){C.ctx.deactivate(w);return}const Te=ve&1&&pe,Ne=!Gn(w);let Oe;if(Ne&&(Oe=ne&&ne.onVnodeBeforeUnmount)&&Tt(Oe,C,w),ve&6)Ft(w.component,A,F);else{if(ve&128){w.suspense.unmount(A,F);return}Te&&Gt(w,null,C,"beforeUnmount"),ve&64?w.type.remove(w,C,A,fe,F):z&&!z.hasOnce&&(U!==ee||ie>0&&ie&64)?et(z,C,A,!1,!0):(U===ee&&ie&384||!D&&ve&16)&&et(J,C,A),F&&mt(w)}(Ne&&(Oe=ne&&ne.onVnodeUnmounted)||Te)&&nt(()=>{Oe&&Tt(Oe,C,w),Te&&Gt(w,null,C,"unmounted")},A)},mt=w=>{const{type:C,el:A,anchor:F,transition:D}=w;if(C===ee){nn(A,F);return}if(C===Ko){S(w);return}const U=()=>{s(A),D&&!D.persisted&&D.afterLeave&&D.afterLeave()};if(w.shapeFlag&1&&D&&!D.persisted){const{leave:ne,delayLeave:Z}=D,J=()=>ne(A,U);Z?Z(w.el,U,J):J()}else U()},nn=(w,C)=>{let A;for(;w!==C;)A=d(w),s(w),w=A;s(C)},Ft=(w,C,A)=>{const{bum:F,scope:D,job:U,subTree:ne,um:Z,m:J,a:z}=w;ul(J),ul(z),F&&qs(F),D.stop(),U&&(U.flags|=8,Ye(ne,w,C,A)),Z&&nt(Z,C),nt(()=>{w.isUnmounted=!0},C)},et=(w,C,A,F=!1,D=!1,U=0)=>{for(let ne=U;ne{if(w.shapeFlag&6)return N(w.component.subTree);if(w.shapeFlag&128)return w.suspense.next();const C=d(w.anchor||w.el),A=C&&C[Fu];return A?d(A):C};let re=!1;const te=(w,C,A)=>{let F;w==null?C._vnode&&(Ye(C._vnode,null,null,!0),F=C._vnode.component):y(C._vnode||null,w,C,null,null,null,A),C._vnode=w,re||(re=!0,Ka(F),sr(),re=!1)},fe={p:y,um:Ye,m:lt,r:mt,mt:se,mc:ue,pc:ae,pbc:W,n:N,o:e};let Ee,Re;return t&&([Ee,Re]=t(fe)),{render:te,hydrate:Ee,createApp:iv(te,Ee)}}function Ur({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Vn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function gf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function da(e,t,n=!1){const o=e.children,s=t.children;if(he(o)&&he(s))for(let r=0;r>1,e[n[a]]0&&(t[o]=n[r-1]),n[r]=o)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function bf(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:bf(t)}function ul(e){if(e)for(let t=0;te.__isSuspense;function kf(e,t){t&&t.pendingBranch?he(e)?t.effects.push(...e):t.effects.push(e):Ph(e)}const ee=Symbol.for("v-fgt"),Kn=Symbol.for("v-txt"),Qe=Symbol.for("v-cmt"),Ko=Symbol.for("v-stc"),Yo=[];let _t=null;function p(e=!1){Yo.push(_t=e?null:[])}function wv(){Yo.pop(),_t=Yo[Yo.length-1]||null}let ls=1;function lr(e,t=!1){ls+=e,e<0&&_t&&t&&(_t.hasOnce=!0)}function wf(e){return e.dynamicChildren=ls>0?_t||fo:null,wv(),ls>0&&_t&&_t.push(e),e}function g(e,t,n,o,s,r){return wf(b(e,t,n,o,s,r,!0))}function O(e,t,n,o,s){return wf(M(e,t,n,o,s,!0))}function cs(e){return e?e.__v_isVNode===!0:!1}function Fn(e,t){return e.type===t.type&&e.key===t.key}const $f=({key:e})=>e??null,Ys=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?We(e)||Ge(e)||ge(e)?{i:Xe,r:e,k:t,f:!!n}:e:null);function b(e,t=null,n=null,o=0,s=null,r=e===ee?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&$f(t),ref:t&&Ys(t),scopeId:Vu,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:Xe};return a?(pa(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=We(n)?8:16),ls>0&&!i&&_t&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&_t.push(l),l}const M=$v;function $v(e,t=null,n=null,o=0,s=null,r=!1){if((!e||e===Xu)&&(e=Qe),cs(e)){const a=yn(e,t,!0);return n&&pa(a,n),ls>0&&!r&&_t&&(a.shapeFlag&6?_t[_t.indexOf(e)]=a:_t.push(a)),a.patchFlag=-2,a}if(Av(e)&&(e=e.__vccOpts),t){t=xf(t);let{class:a,style:l}=t;a&&!We(a)&&(t.class=K(a)),Pe(l)&&(xr(l)&&!he(l)&&(l=Ke({},l)),t.style=Fe(l))}const i=We(e)?1:_f(e)?128:Wu(e)?64:Pe(e)?4:ge(e)?2:0;return b(e,t,n,o,s,i,r,!0)}function xf(e){return e?xr(e)||ff(e)?Ke({},e):e:null}function yn(e,t,n=!1,o=!1){const{props:s,ref:r,patchFlag:i,children:a,transition:l}=e,c=t?Be(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&$f(c),ref:t&&t.ref?n&&r?he(r)?r.concat(Ys(t)):[r,Ys(t)]:Ys(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ee?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&yn(e.ssContent),ssFallback:e.ssFallback&&yn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&o&&Jn(u,l.clone(u)),u}function He(e=" ",t=0){return M(Kn,null,e,t)}function Hw(e,t){const n=M(Ko,null,e);return n.staticCount=t,n}function L(e="",t=!1){return t?(p(),O(Qe,null,e)):M(Qe,null,e)}function Et(e){return e==null||typeof e=="boolean"?M(Qe):he(e)?M(ee,null,e.slice()):cs(e)?cn(e):M(Kn,null,String(e))}function cn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:yn(e)}function pa(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(he(t))n=16;else if(typeof t=="object")if(o&65){const s=t.default;s&&(s._c&&(s._d=!1),pa(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!ff(t)?t._ctx=Xe:s===3&&Xe&&(Xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ge(t)?(t={default:t,_ctx:Xe},n=32):(t=String(t),o&64?(n=16,t=[He(t)]):n=8);e.children=t,e.shapeFlag|=n}function Be(...e){const t={};for(let n=0;nJe||Xe;let cr,Ti;{const e=yr(),t=(n,o)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(o),r=>{s.length>1?s.forEach(i=>i(r)):s[0](r)}};cr=t("__VUE_INSTANCE_SETTERS__",n=>Je=n),Ti=t("__VUE_SSR_SETTERS__",n=>yo=n)}const ws=e=>{const t=Je;return cr(e),e.scope.on(),()=>{e.scope.off(),cr(t)}},fl=()=>{Je&&Je.scope.off(),cr(null)};function Tf(e){return e.vnode.shapeFlag&4}let yo=!1;function Ev(e,t=!1,n=!1){t&&Ti(t);const{props:o,children:s}=e.vnode,r=Tf(e);pv(e,o,r,t),gv(e,s,n||t);const i=r?Sv(e,t):void 0;return t&&Ti(!1),i}function Sv(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Xh);const{setup:o}=n;if(o){mn();const s=e.setupContext=o.length>1?Ef(e):null,r=ws(e),i=bs(o,e,0,[e.props,s]),a=iu(i);if(gn(),r(),(a||e.sp)&&!Gn(e)&&ia(e),a){if(i.then(fl,fl),t)return i.then(l=>{dl(e,l)}).catch(l=>{ys(l,e,0)});e.asyncDep=i}else dl(e,i)}else Cf(e)}function dl(e,t,n){ge(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Pe(t)&&(e.setupState=Mu(t)),Cf(e)}function Cf(e,t,n){const o=e.type;e.render||(e.render=o.render||Kt);{const s=ws(e);mn();try{ev(e)}finally{gn(),s()}}}const Pv={get(e,t){return st(e,"get",""),e[t]}};function Ef(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Pv),slots:e.slots,emit:e.emit,expose:t}}function Sr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Mu(Iu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in qo)return qo[n](e)},has(t,n){return n in t||n in qo}})):e.proxy}function Lv(e,t=!0){return ge(e)?e.displayName||e.name:e.name||t&&e.__name}function Av(e){return ge(e)&&"__vccOpts"in e}const x=(e,t)=>xh(e,t,yo);function $e(e,t,n){try{lr(-1);const o=arguments.length;return o===2?Pe(t)&&!he(t)?cs(t)?M(e,null,[t]):M(e,t):M(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&cs(n)&&(n=[n]),M(e,t,n))}finally{lr(1)}}const Iv="3.5.29";/** -* @vue/runtime-dom v3.5.29 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ci;const pl=typeof window<"u"&&window.trustedTypes;if(pl)try{Ci=pl.createPolicy("vue",{createHTML:e=>e})}catch{}const Sf=Ci?e=>Ci.createHTML(e):e=>e,Ov="http://www.w3.org/2000/svg",Mv="http://www.w3.org/1998/Math/MathML",ln=typeof document<"u"?document:null,hl=ln&&ln.createElement("template"),Rv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const s=t==="svg"?ln.createElementNS(Ov,e):t==="mathml"?ln.createElementNS(Mv,e):n?ln.createElement(e,{is:n}):ln.createElement(e);return e==="select"&&o&&o.multiple!=null&&s.setAttribute("multiple",o.multiple),s},createText:e=>ln.createTextNode(e),createComment:e=>ln.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ln.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,s,r){const i=n?n.previousSibling:t.lastChild;if(s&&(s===r||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===r||!(s=s.nextSibling)););else{hl.innerHTML=Sf(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const a=hl.content;if(o==="svg"||o==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Tn="transition",No="animation",_o=Symbol("_vtc"),Pf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Lf=Ke({},Gu,Pf),Dv=e=>(e.displayName="Transition",e.props=Lf,e),jt=Dv((e,{slots:t})=>$e(Dh,Af(e),t)),Hn=(e,t=[])=>{he(e)?e.forEach(n=>n(...t)):e&&e(...t)},vl=e=>e?he(e)?e.some(t=>t.length>1):e.length>1:!1;function Af(e){const t={};for(const H in e)H in Pf||(t[H]=e[H]);if(e.css===!1)return t;const{name:n="v",type:o,duration:s,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=r,appearActiveClass:c=i,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,v=Nv(s),y=v&&v[0],_=v&&v[1],{onBeforeEnter:E,onEnter:$,onEnterCancelled:k,onLeave:S,onLeaveCancelled:V,onBeforeAppear:B=E,onAppear:G=$,onAppearCancelled:ue=k}=t,I=(H,ce,se,de)=>{H._enterCancelled=de,Sn(H,ce?u:a),Sn(H,ce?c:i),se&&se()},W=(H,ce)=>{H._isLeaving=!1,Sn(H,f),Sn(H,h),Sn(H,d),ce&&ce()},Q=H=>(ce,se)=>{const de=H?G:$,Y=()=>I(ce,H,se);Hn(de,[ce,Y]),ml(()=>{Sn(ce,H?l:r),Ut(ce,H?u:a),vl(de)||gl(ce,o,y,Y)})};return Ke(t,{onBeforeEnter(H){Hn(E,[H]),Ut(H,r),Ut(H,i)},onBeforeAppear(H){Hn(B,[H]),Ut(H,l),Ut(H,c)},onEnter:Q(!1),onAppear:Q(!0),onLeave(H,ce){H._isLeaving=!0;const se=()=>W(H,ce);Ut(H,f),H._enterCancelled?(Ut(H,d),Ei(H)):(Ei(H),Ut(H,d)),ml(()=>{H._isLeaving&&(Sn(H,f),Ut(H,h),vl(S)||gl(H,o,_,se))}),Hn(S,[H,se])},onEnterCancelled(H){I(H,!1,void 0,!0),Hn(k,[H])},onAppearCancelled(H){I(H,!0,void 0,!0),Hn(ue,[H])},onLeaveCancelled(H){W(H),Hn(V,[H])}})}function Nv(e){if(e==null)return null;if(Pe(e))return[zr(e.enter),zr(e.leave)];{const t=zr(e);return[t,t]}}function zr(e){return Bp(e)}function Ut(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[_o]||(e[_o]=new Set)).add(t)}function Sn(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[_o];n&&(n.delete(t),n.size||(e[_o]=void 0))}function ml(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vv=0;function gl(e,t,n,o){const s=e._endId=++Vv,r=()=>{s===e._endId&&o()};if(n!=null)return setTimeout(r,n);const{type:i,timeout:a,propCount:l}=If(e,t);if(!i)return o();const c=i+"end";let u=0;const f=()=>{e.removeEventListener(c,d),r()},d=h=>{h.target===e&&++u>=l&&f()};setTimeout(()=>{u(n[v]||"").split(", "),s=o(`${Tn}Delay`),r=o(`${Tn}Duration`),i=bl(s,r),a=o(`${No}Delay`),l=o(`${No}Duration`),c=bl(a,l);let u=null,f=0,d=0;t===Tn?i>0&&(u=Tn,f=i,d=r.length):t===No?c>0&&(u=No,f=c,d=l.length):(f=Math.max(i,c),u=f>0?i>c?Tn:No:null,d=u?u===Tn?r.length:l.length:0);const h=u===Tn&&/\b(?:transform|all)(?:,|$)/.test(o(`${Tn}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:h}}function bl(e,t){for(;e.lengthyl(n)+yl(e[o])))}function yl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ei(e){return(e?e.ownerDocument:document).body.offsetHeight}function Hv(e,t,n){const o=e[_o];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ur=Symbol("_vod"),Of=Symbol("_vsh"),Qt={name:"show",beforeMount(e,{value:t},{transition:n}){e[ur]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Vo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Vo(e,!0),o.enter(e)):o.leave(e,()=>{Vo(e,!1)}):Vo(e,t))},beforeUnmount(e,{value:t}){Vo(e,t)}};function Vo(e,t){e.style.display=t?e[ur]:"none",e[Of]=!t}const jv=Symbol(""),Bv=/(?:^|;)\s*display\s*:/;function Fv(e,t,n){const o=e.style,s=We(n);let r=!1;if(n&&!s){if(t)if(We(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&Qs(o,a,"")}else for(const i in t)n[i]==null&&Qs(o,i,"");for(const i in n)i==="display"&&(r=!0),Qs(o,i,n[i])}else if(s){if(t!==n){const i=o[jv];i&&(n+=";"+i),o.cssText=n,r=Bv.test(n)}}else t&&e.removeAttribute("style");ur in e&&(e[ur]=r?o.display:"",e[Of]&&(o.display="none"))}const _l=/\s*!important$/;function Qs(e,t,n){if(he(n))n.forEach(o=>Qs(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=Wv(e,t);_l.test(n)?e.setProperty(Nn(o),n.replace(_l,""),"important"):e[o]=n}}const kl=["Webkit","Moz","ms"],Gr={};function Wv(e,t){const n=Gr[t];if(n)return n;let o=ht(t);if(o!=="filter"&&o in e)return Gr[t]=o;o=gs(o);for(let s=0;sqr||(qv.then(()=>qr=0),qr=Date.now());function Yv(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;Nt(Qv(o,n.value),t,5,[o])};return n.value=e,n.attached=Kv(),n}function Qv(e,t){if(he(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>s=>!s._stopped&&o&&o(s))}else return t}const El=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jv=(e,t,n,o,s,r)=>{const i=s==="svg";t==="class"?Hv(e,o,i):t==="style"?Fv(e,n,o):vs(t)?Qi(t)||zv(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xv(e,t,o,i))?(xl(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&$l(e,t,o,i,r,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!We(o))?xl(e,ht(t),o,r,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),$l(e,t,o,i))};function Xv(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&El(t)&&ge(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return El(t)&&We(n)?!1:t in e}const Mf=new WeakMap,Rf=new WeakMap,fr=Symbol("_moveCb"),Sl=Symbol("_enterCb"),Zv=e=>(delete e.props.mode,e),em=Zv({name:"TransitionGroup",props:Ke({},Lf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Lt(),o=zu();let s,r;return la(()=>{if(!s.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!rm(s[0].el,n.vnode.el,i)){s=[];return}s.forEach(nm),s.forEach(om);const a=s.filter(sm);Ei(n.vnode.el),a.forEach(l=>{const c=l.el,u=c.style;Ut(c,i),u.transform=u.webkitTransform=u.transitionDuration="";const f=c[fr]=d=>{d&&d.target!==c||(!d||d.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[fr]=null,Sn(c,i))};c.addEventListener("transitionend",f)}),s=[]}),()=>{const i=Ce(e),a=Af(i);let l=i.tag||ee;if(s=[],r)for(let c=0;c{a.split(/\s+/).forEach(l=>l&&o.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&o.classList.add(a)),o.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(o);const{hasTransform:i}=If(o);return r.removeChild(o),i}const Dn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return he(t)?n=>qs(t,n):t};function im(e){e.target.composing=!0}function Pl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const St=Symbol("_assign");function Ll(e,t,n){return t&&(e=e.trim()),n&&(e=br(e)),e}const Si={created(e,{modifiers:{lazy:t,trim:n,number:o}},s){e[St]=Dn(s);const r=o||s.props&&s.props.type==="number";dn(e,t?"change":"input",i=>{i.target.composing||e[St](Ll(e.value,n,r))}),(n||r)&&dn(e,"change",()=>{e.value=Ll(e.value,n,r)}),t||(dn(e,"compositionstart",im),dn(e,"compositionend",Pl),dn(e,"change",Pl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:s,number:r}},i){if(e[St]=Dn(i),e.composing)return;const a=(r||e.type==="number")&&!/^0\d/.test(e.value)?br(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||s&&e.value.trim()===l)||(e.value=l))}},am={deep:!0,created(e,t,n){e[St]=Dn(n),dn(e,"change",()=>{const o=e._modelValue,s=ko(e),r=e.checked,i=e[St];if(he(o)){const a=Xi(o,s),l=a!==-1;if(r&&!l)i(o.concat(s));else if(!r&&l){const c=[...o];c.splice(a,1),i(c)}}else if(Po(o)){const a=new Set(o);r?a.add(s):a.delete(s),i(a)}else i(Nf(e,r))})},mounted:Al,beforeUpdate(e,t,n){e[St]=Dn(n),Al(e,t,n)}};function Al(e,{value:t,oldValue:n},o){e._modelValue=t;let s;if(he(t))s=Xi(t,o.props.value)>-1;else if(Po(t))s=t.has(o.props.value);else{if(t===n)return;s=Mn(t,Nf(e,!0))}e.checked!==s&&(e.checked=s)}const lm={created(e,{value:t},n){e.checked=Mn(t,n.props.value),e[St]=Dn(n),dn(e,"change",()=>{e[St](ko(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e[St]=Dn(o),t!==n&&(e.checked=Mn(t,o.props.value))}},cm={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const s=Po(t);dn(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?br(ko(i)):ko(i));e[St](e.multiple?s?new Set(r):r:r[0]),e._assigning=!0,at(()=>{e._assigning=!1})}),e[St]=Dn(o)},mounted(e,{value:t}){Il(e,t)},beforeUpdate(e,t,n){e[St]=Dn(n)},updated(e,{value:t}){e._assigning||Il(e,t)}};function Il(e,t){const n=e.multiple,o=he(t);if(!(n&&!o&&!Po(t))){for(let s=0,r=e.options.length;sString(c)===String(a)):i.selected=Xi(t,a)>-1}else i.selected=t.has(a);else if(Mn(ko(i),t)){e.selectedIndex!==s&&(e.selectedIndex=s);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ko(e){return"_value"in e?e._value:e.value}function Nf(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const jw={created(e,t,n){Vs(e,t,n,null,"created")},mounted(e,t,n){Vs(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){Vs(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){Vs(e,t,n,o,"updated")}};function um(e,t){switch(e){case"SELECT":return cm;case"TEXTAREA":return Si;default:switch(t){case"checkbox":return am;case"radio":return lm;default:return Si}}}function Vs(e,t,n,o,s){const i=um(e.tagName,n.props&&n.props.type)[s];i&&i(e,t,n,o)}const fm=["ctrl","shift","alt","meta"],dm={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>fm.some(n=>e[`${n}Key`]&&!t.includes(n))},Vf=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=((s,...r)=>{for(let i=0;i{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=(s=>{if(!("key"in s))return;const r=Nn(s.key);if(t.some(i=>i===r||pm[i]===r))return e(s)}))},hm=Ke({patchProp:Jv},Rv);let Kr,Ol=!1;function vm(){return Kr=Ol?Kr:yv(hm),Ol=!0,Kr}const mm=((...e)=>{const t=vm().createApp(...e),{mount:n}=t;return t.mount=o=>{const s=bm(o);if(s)return n(s,!0,gm(s))},t});function gm(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function bm(e){return We(e)?document.querySelector(e):e}var ha=e=>/^[a-z][a-z0-9+.-]*:/.test(e)||e.startsWith("//"),ym=/.md((\?|#).*)?$/,_m=(e,t="/")=>ha(e)||e.startsWith("/")&&!e.startsWith(t)&&!ym.test(e),Bt=e=>/^(https?:)?\/\//.test(e),Ml=e=>{if(!e||e.endsWith("/"))return e;let t=e.replace(/(^|\/)README.md$/i,"$1index.html");return t.endsWith(".md")?t=`${t.substring(0,t.length-3)}.html`:t.endsWith(".html")||(t=`${t}.html`),t.endsWith("/index.html")&&(t=t.substring(0,t.length-10)),t},km="http://.",wm=(e,t)=>{if(!e.startsWith("/")&&t){const n=t.slice(0,t.lastIndexOf("/"));return Ml(new URL(`${n}/${e}`,km).pathname)}return Ml(e)},$m=(e,t)=>{const n=Object.keys(e).sort((o,s)=>{const r=s.split("/").length-o.split("/").length;return r!==0?r:s.length-o.length});for(const o of n)if(t.startsWith(o))return o;return"/"},xm=/(#|\?)/,jf=e=>{const[t,...n]=e.split(xm);return{pathname:t,hashAndQueries:n.join("")}},Tm=["link","meta","script","style","noscript","template"],Cm=["title","base"],Em=([e,t,n])=>Cm.includes(e)?e:Tm.includes(e)?e==="meta"&&t.name?`${e}.${t.name}`:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,Object.entries(t).map(([o,s])=>typeof s=="boolean"?s?[o,""]:null:[o,s]).filter(o=>o!=null).sort(([o],[s])=>o.localeCompare(s)),n]):null,Sm=e=>{const t=new Set,n=[];return e.forEach(o=>{const s=Em(o);s&&!t.has(s)&&(t.add(s),n.push(o))}),n},Bf=e=>e.startsWith("/")?e:`/${e}`,Pm=e=>e.endsWith("/")||e.endsWith(".html")?e:`${e}/`,Ff=e=>e.endsWith("/")?e.slice(0,-1):e,Pr=e=>e.startsWith("/")?e.slice(1):e,Wf=e=>typeof e=="function",_n=e=>Object.prototype.toString.call(e)==="[object Object]",Yt=e=>typeof e=="string";const Lm="modulepreload",Am=function(e){return"/"+e},Rl={},le=function(t,n,o){let s=Promise.resolve();if(n&&n.length>0){let l=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),a=i?.nonce||i?.getAttribute("nonce");s=l(n.map(c=>{if(c=Am(c),c in Rl)return;Rl[c]=!0;const u=c.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${f}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":Lm,u||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),u)return new Promise((h,v)=>{d.addEventListener("load",h),d.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return s.then(i=>{for(const a of i||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})},Im=JSON.parse('{"/about.html":"/about/","/friends.html":"/friends/","/tools.html":"/tools/","/blog/collect/free_model_pai.html":"/article/free_model_api/","/blog/competition/14th-lanqiaocup-python-grad.html":"/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/","/blog/competition/mati-cup-2024-solutions.html":"/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/","/blog/elysia/elysia_quotation.html":"/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/","/blog/website/EdgeOne_Pages_Images.html":"/article/8gihio2v/","/blog/technology/bitwise-subsequences.html":"/archives/ea20bdda-0d49-4472-a647-2e305a930d11/","/blog/technology/Deploying_WSL2_on_Windows_10.html":"/article/deploying-wsl2-on-windows-10/","/blog/technology/fast-power-algorithm.html":"/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/","/blog/technology/Operate_WSL2.html":"/article/operate-wsl2/","/blog/technology/python_string_format.html":"/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/","/blog/technology/signed-binary-representations.html":"/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/","/notes/ops/blockchain/":"/ops/blockchain/","/notes/ops/docker/ETLCloud.html":"/ops/docker/other/ETLCloud/","/notes/ops/docker/mongodb.html":"/ops/docker/db/mongodb/","/notes/ops/docker/Postgres.html":"/ops/docker/db/postgres/","/notes/ops/docker/":"/ops/docker/","/notes/ops/linux/basic-commands.html":"/ops/linux/basic-commands/","/notes/ops/linux/other.html":"/ops/linux/other/","/notes/ops/linux/":"/ops/linux/","/notes/programming/leetcode/beginner.html":"/programming/leetcode/question_sheet/beginner/","/notes/programming/leetcode/":"/programming/leetcode/","/notes/programming/web/":"/programming/web/","/notes/programming/solidity/basic-syntax.html":"/programming/solidity/basic-syntax/","/notes/programming/solidity/case-analysis.html":"/programming/solidity/analysis/case-analysis/","/notes/programming/solidity/":"/programming/solidity/","/notes/subject/english/":"/subject/english/","/notes/subject/certification/":"/subject/certification/","/notes/theory/cryptography/":"/theory/cryptography/","/notes/ops/blockchain/practice/basic-deployment.html":"/ops/blockchain/practice/basic-deployment/","/notes/ops/blockchain/practice/console-operator.html":"/ops/blockchain/practice/console-operator/","/notes/ops/blockchain/practice/node-deployment.html":"/ops/blockchain/practice/node-deployment/","/notes/ops/blockchain/theory/basic-principles.html":"/ops/blockchain/theory/basic-principles/","/notes/ops/blockchain/theory/fisco-bcos-node-type.html":"/ops/blockchain/theory/fisco-bcos-node-type/","/notes/programming/web/basic-syntax/html-css-js.html":"/programming/web/basic-syntax/html-css-js/","/notes/programming/web/basic-syntax/html-lists-and-semantic-layout.html":"/programming/web/basic-syntax/html-lists-and-semantic-layout/","/notes/programming/web/basic-syntax/html-tags-attributes.html":"/programming/web/basic-syntax/html-tags-attributes/","/notes/programming/web/basic-syntax/javascript-basics.html":"/programming/web/basic-syntax/javascript-basics/","/notes/programming/solidity/other/hardhat.html":"/programming/solidity/other/hardhat/","/notes/programming/solidity/other/miscellaneous.html":"/programming/solidity/other/miscellaneous/","/notes/subject/english/basis/":"/subject/english/basis/","/notes/subject/english/exam/cet-4.html":"/subject/english/exam/cet-4/","/notes/subject/english/reading-writing/":"/subject/english/reading-writing/","/notes/subject/english/listening-speaking/":"/subject/english/listening-speaking/","/notes/subject/english/grammar/":"/subject/english/grammar/","/notes/subject/english/vocabulary/":"/subject/english/vocabulary/","/notes/subject/english/writing-translation/":"/subject/english/writing-translation/","/notes/subject/certification/sys-analyst/math.html":"/subject/certification/sys-analyst/math/","/notes/subject/certification/sys-analyst/planning.html":"/subject/certification/sys-analyst/planning/","/notes/subject/certification/sys-analyst/":"/subject/certification/sys-analyst/","/notes/theory/cryptography/classical-encryption/permutation-encryption.html":"/theory/cryptography/permutation-encryption/","/notes/theory/cryptography/classical-encryption/substitution-ciphers.html":"/theory/cryptography/substitution-ciphers/"}'),Om=Object.fromEntries([["/about/",{loader:()=>le(()=>import("./index.html-DPmXXImE.js"),[]),meta:{title:"关于祀梦与他的花园"}}],["/friends/",{loader:()=>le(()=>import("./index.html-BClIHrNi.js"),[]),meta:{title:"My Friends"}}],["/",{loader:()=>le(()=>import("./index.html-CahaIrdR.js"),[]),meta:{title:""}}],["/tools/",{loader:()=>le(()=>import("./index.html-DmeuoK0O.js"),[]),meta:{title:"常用Web工具"}}],["/article/free_model_api/",{loader:()=>le(()=>import("./index.html-C9oxBNMh.js"),[]),meta:{title:"便宜免费的大模型 API 整合 ( 2025年11月11日 )"}}],["/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/",{loader:()=>le(()=>import("./index.html-CGs0BvKC.js"),[]),meta:{title:"第十四届蓝桥杯大赛软件赛国赛 Python 研究生组(正在更新)"}}],["/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/",{loader:()=>le(()=>import("./index.html-DMjfrdYc.js"),[]),meta:{title:"码蹄杯 2024 年真题集详解"}}],["/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/",{loader:()=>le(()=>import("./index.html-C8Xprd4W.js"),[]),meta:{title:"爱莉希雅语录"}}],["/article/8gihio2v/",{loader:()=>le(()=>import("./index.html-BNkeT1Cw.js"),[]),meta:{title:"通过 EdgeOne Pages 搭建图床"}}],["/archives/ea20bdda-0d49-4472-a647-2e305a930d11/",{loader:()=>le(()=>import("./index.html-BKkynTZf.js"),[]),meta:{title:"通过位运算快速生成所有的子序列"}}],["/article/deploying-wsl2-on-windows-10/",{loader:()=>le(()=>import("./index.html-B2Bf9s9y.js"),[]),meta:{title:"在 Windows10 上部署 WSL2 并启动 ubuntu 虚拟机"}}],["/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/",{loader:()=>le(()=>import("./index.html-CxyYVs6B.js"),[]),meta:{title:"快速幂算法详解"}}],["/article/operate-wsl2/",{loader:()=>le(()=>import("./index.html-D6IaU5xJ.js"),[]),meta:{title:"WSL2 核心操作指南"}}],["/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/",{loader:()=>le(()=>import("./index.html-Dc_Axrmx.js"),[]),meta:{title:"Python 字符串格式化全指南"}}],["/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/",{loader:()=>le(()=>import("./index.html-BWoNbHDp.js"),[]),meta:{title:"原码、反码、补码"}}],["/ops/blockchain/",{loader:()=>le(()=>import("./index.html-CCzsEYFw.js"),[]),meta:{title:"区块链运维指南"}}],["/ops/docker/other/ETLCloud/",{loader:()=>le(()=>import("./index.html-IYV2HMW0.js"),[]),meta:{title:"ETLCloud"}}],["/ops/docker/db/mongodb/",{loader:()=>le(()=>import("./index.html-_pIRHVPC.js"),[]),meta:{title:"使用 Docker 部署 MongoDB"}}],["/ops/docker/db/postgres/",{loader:()=>le(()=>import("./index.html-BDAMGQtk.js"),[]),meta:{title:"使用 Docker 部署 Postgres"}}],["/ops/docker/",{loader:()=>le(()=>import("./index.html-BYbEk3h9.js"),[]),meta:{title:"Docker 部署运维"}}],["/ops/linux/basic-commands/",{loader:()=>le(()=>import("./index.html-BnWw385B.js"),[]),meta:{title:"Linux 基础命令详解"}}],["/ops/linux/other/",{loader:()=>le(()=>import("./index.html-DlP8KP38.js"),[]),meta:{title:"一些零散的命令"}}],["/ops/linux/",{loader:()=>le(()=>import("./index.html-B-A75awO.js"),[]),meta:{title:"Linux 运维笔记"}}],["/programming/leetcode/question_sheet/beginner/",{loader:()=>le(()=>import("./index.html-wYjaZKfF.js"),[]),meta:{title:"LeetCode 入门题单~(≧∇≦)ノ"}}],["/programming/leetcode/",{loader:()=>le(()=>import("./index.html-Cd7bqf1E.js"),[]),meta:{title:"LeetCode 题解笔记"}}],["/programming/web/",{loader:()=>le(()=>import("./index.html-Dx8zt2-t.js"),[]),meta:{title:"Web 概览与学习路径"}}],["/programming/solidity/basic-syntax/",{loader:()=>le(()=>import("./index.html-B68LVSu_.js"),[]),meta:{title:"Solidity 基础语法与数据类型"}}],["/programming/solidity/analysis/case-analysis/",{loader:()=>le(()=>import("./index.html-DcJiIrgJ.js"),[]),meta:{title:"十份代码实例"}}],["/programming/solidity/",{loader:()=>le(()=>import("./index.html-C-6j4i-i.js"),[]),meta:{title:"Solidity 学习笔记"}}],["/subject/english/",{loader:()=>le(()=>import("./index.html-DG_jkMKM.js"),[]),meta:{title:"英语学习笔记"}}],["/subject/certification/",{loader:()=>le(()=>import("./index.html-Wg4dQ8mg.js"),[]),meta:{title:"系统分析师"}}],["/theory/cryptography/",{loader:()=>le(()=>import("./index.html-TsymVqFL.js"),[]),meta:{title:"密码学基础"}}],["/ops/blockchain/practice/basic-deployment/",{loader:()=>le(()=>import("./index.html-DOsKPsf7.js"),[]),meta:{title:"区块链产品设计和基础部署"}}],["/ops/blockchain/practice/console-operator/",{loader:()=>le(()=>import("./index.html-fag8lpWj.js"),[]),meta:{title:"Console 控制台操作"}}],["/ops/blockchain/practice/node-deployment/",{loader:()=>le(()=>import("./index.html-CIpKZRih.js"),[]),meta:{title:"区块链网络部署与管理"}}],["/ops/blockchain/theory/basic-principles/",{loader:()=>le(()=>import("./index.html-758Ahy6g.js"),[]),meta:{title:"区块链的基本原理"}}],["/ops/blockchain/theory/fisco-bcos-node-type/",{loader:()=>le(()=>import("./index.html-FD-ACTf-.js"),[]),meta:{title:"区块链的节点"}}],["/programming/web/basic-syntax/html-css-js/",{loader:()=>le(()=>import("./index.html-CpwubMFC.js"),[]),meta:{title:"Web 前端基础讲解"}}],["/programming/web/basic-syntax/html-lists-and-semantic-layout/",{loader:()=>le(()=>import("./index.html-DVkqZ9JE.js"),[]),meta:{title:"html 列表与语义布局"}}],["/programming/web/basic-syntax/html-tags-attributes/",{loader:()=>le(()=>import("./index.html-Bt0sQogl.js"),[]),meta:{title:"HTML 常用标签与属性"}}],["/programming/web/basic-syntax/javascript-basics/",{loader:()=>le(()=>import("./index.html-C50i6rPd.js"),[]),meta:{title:"JavaScript 基础知识"}}],["/programming/solidity/other/hardhat/",{loader:()=>le(()=>import("./index.html-BMP9E8WZ.js"),[]),meta:{title:"Hardhat 相关知识"}}],["/programming/solidity/other/miscellaneous/",{loader:()=>le(()=>import("./index.html-ENHqyUVG.js"),[]),meta:{title:"一些没分类的小知识"}}],["/subject/english/basis/",{loader:()=>le(()=>import("./index.html-ztv7V_es.js"),[]),meta:{title:"英语环境配置"}}],["/subject/english/exam/cet-4/",{loader:()=>le(()=>import("./index.html-BgbUDPlW.js"),[]),meta:{title:"英语四级 (CET-4) 备考指南"}}],["/subject/english/reading-writing/",{loader:()=>le(()=>import("./index.html-C6ADquPd.js"),[]),meta:{title:"阅读提升"}}],["/subject/english/listening-speaking/",{loader:()=>le(()=>import("./index.html-CVxmHHKC.js"),[]),meta:{title:"听力口语训练"}}],["/subject/english/grammar/",{loader:()=>le(()=>import("./index.html-B-uUuQRy.js"),[]),meta:{title:"核心语法与句型"}}],["/subject/english/vocabulary/",{loader:()=>le(()=>import("./index.html-D7dIUfb4.js"),[]),meta:{title:"词汇学习与记忆法"}}],["/subject/english/writing-translation/",{loader:()=>le(()=>import("./index.html-DIi7-a7d.js"),[]),meta:{title:"写译"}}],["/subject/certification/sys-analyst/math/",{loader:()=>le(()=>import("./index.html-C4R5s5qm.js"),[]),meta:{title:"第二章 数学与工程基础"}}],["/subject/certification/sys-analyst/planning/",{loader:()=>le(()=>import("./index.html-zscDDZdv.js"),[]),meta:{title:"第十章 系统规划与分析"}}],["/subject/certification/sys-analyst/",{loader:()=>le(()=>import("./index.html-D79QJKEY.js"),[]),meta:{title:"第一章 绪论"}}],["/theory/cryptography/permutation-encryption/",{loader:()=>le(()=>import("./index.html-CcTNxn3o.js"),[]),meta:{title:"置换密码 - 等待完善"}}],["/theory/cryptography/substitution-ciphers/",{loader:()=>le(()=>import("./index.html-CHV_74V8.js"),[]),meta:{title:"替换密码"}}],["/404.html",{loader:()=>le(()=>import("./404.html-D_Wnqzx0.js"),[]),meta:{title:""}}],["/blog/",{loader:()=>le(()=>import("./index.html-BxVFzGhN.js"),[]),meta:{title:"博客"}}],["/blog/tags/",{loader:()=>le(()=>import("./index.html-CToLLyxO.js"),[]),meta:{title:"标签"}}],["/blog/archives/",{loader:()=>le(()=>import("./index.html-TUoTkLzZ.js"),[]),meta:{title:"归档"}}],["/blog/categories/",{loader:()=>le(()=>import("./index.html-CIXC421J.js"),[]),meta:{title:"分类"}}]]);/*! - * vue-router v4.5.1 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const io=typeof document<"u";function Uf(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Mm(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Uf(e.default)}const Le=Object.assign;function Yr(e,t){const n={};for(const o in t){const s=t[o];n[o]=Ht(s)?s.map(e):e(s)}return n}const Qo=()=>{},Ht=Array.isArray,zf=/#/g,Rm=/&/g,Dm=/\//g,Nm=/=/g,Vm=/\?/g,Gf=/\+/g,Hm=/%5B/g,jm=/%5D/g,qf=/%5E/g,Bm=/%60/g,Kf=/%7B/g,Fm=/%7C/g,Yf=/%7D/g,Wm=/%20/g;function va(e){return encodeURI(""+e).replace(Fm,"|").replace(Hm,"[").replace(jm,"]")}function Um(e){return va(e).replace(Kf,"{").replace(Yf,"}").replace(qf,"^")}function Pi(e){return va(e).replace(Gf,"%2B").replace(Wm,"+").replace(zf,"%23").replace(Rm,"%26").replace(Bm,"`").replace(Kf,"{").replace(Yf,"}").replace(qf,"^")}function zm(e){return Pi(e).replace(Nm,"%3D")}function Gm(e){return va(e).replace(zf,"%23").replace(Vm,"%3F")}function qm(e){return e==null?"":Gm(e).replace(Dm,"%2F")}function us(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Km=/\/$/,Ym=e=>e.replace(Km,"");function Qr(e,t,n="/"){let o,s={},r="",i="";const a=t.indexOf("#");let l=t.indexOf("?");return a=0&&(l=-1),l>-1&&(o=t.slice(0,l),r=t.slice(l+1,a>-1?a:t.length),s=e(r)),a>-1&&(o=o||t.slice(0,a),i=t.slice(a,t.length)),o=Zm(o??t,n),{fullPath:o+(r&&"?")+r+i,path:o,query:s,hash:us(i)}}function Qm(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Dl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Jm(e,t,n){const o=t.matched.length-1,s=n.matched.length-1;return o>-1&&o===s&&wo(t.matched[o],n.matched[s])&&Qf(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function wo(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Qf(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!Xm(e[n],t[n]))return!1;return!0}function Xm(e,t){return Ht(e)?Nl(e,t):Ht(t)?Nl(t,e):e===t}function Nl(e,t){return Ht(t)?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function Zm(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),s=o[o.length-1];(s===".."||s===".")&&o.push("");let r=n.length-1,i,a;for(i=0;i1&&r--;else break;return n.slice(0,r).join("/")+"/"+o.slice(i).join("/")}const an={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var fs;(function(e){e.pop="pop",e.push="push"})(fs||(fs={}));var Jo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Jo||(Jo={}));function eg(e){if(!e)if(io){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Ym(e)}const tg=/^[^#]+#/;function ng(e,t){return e.replace(tg,"#")+t}function og(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}const Lr=()=>({left:window.scrollX,top:window.scrollY});function sg(e){let t;if("el"in e){const n=e.el,o=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=og(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Vl(e,t){return(history.state?history.state.position-t:-1)+e}const Li=new Map;function rg(e,t){Li.set(e,t)}function ig(e){const t=Li.get(e);return Li.delete(e),t}let ag=()=>location.protocol+"//"+location.host;function Jf(e,t){const{pathname:n,search:o,hash:s}=t,r=e.indexOf("#");if(r>-1){let a=s.includes(e.slice(r))?e.slice(r).length:1,l=s.slice(a);return l[0]!=="/"&&(l="/"+l),Dl(l,"")}return Dl(n,e)+o+s}function lg(e,t,n,o){let s=[],r=[],i=null;const a=({state:d})=>{const h=Jf(e,location),v=n.value,y=t.value;let _=0;if(d){if(n.value=h,t.value=d,i&&i===v){i=null;return}_=y?d.position-y.position:0}else o(h);s.forEach(E=>{E(n.value,v,{delta:_,type:fs.pop,direction:_?_>0?Jo.forward:Jo.back:Jo.unknown})})};function l(){i=n.value}function c(d){s.push(d);const h=()=>{const v=s.indexOf(d);v>-1&&s.splice(v,1)};return r.push(h),h}function u(){const{history:d}=window;d.state&&d.replaceState(Le({},d.state,{scroll:Lr()}),"")}function f(){for(const d of r)d();r=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:l,listen:c,destroy:f}}function Hl(e,t,n,o=!1,s=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:s?Lr():null}}function cg(e){const{history:t,location:n}=window,o={value:Jf(e,n)},s={value:t.state};s.value||r(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(l,c,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:ag()+e+l;try{t[u?"replaceState":"pushState"](c,"",d),s.value=c}catch(h){console.error(h),n[u?"replace":"assign"](d)}}function i(l,c){const u=Le({},t.state,Hl(s.value.back,l,s.value.forward,!0),c,{position:s.value.position});r(l,u,!0),o.value=l}function a(l,c){const u=Le({},s.value,t.state,{forward:l,scroll:Lr()});r(u.current,u,!0);const f=Le({},Hl(o.value,l,null),{position:u.position+1},c);r(l,f,!1),o.value=l}return{location:o,state:s,push:a,replace:i}}function ug(e){e=eg(e);const t=cg(e),n=lg(e,t.state,t.location,t.replace);function o(r,i=!0){i||n.pauseListeners(),history.go(r)}const s=Le({location:"",base:e,go:o,createHref:ng.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function fg(e){return typeof e=="string"||e&&typeof e=="object"}function Xf(e){return typeof e=="string"||typeof e=="symbol"}const Zf=Symbol("");var jl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(jl||(jl={}));function $o(e,t){return Le(new Error,{type:e,[Zf]:!0},t)}function sn(e,t){return e instanceof Error&&Zf in e&&(t==null||!!(e.type&t))}const Bl="[^/]+?",dg={sensitive:!1,strict:!1,start:!0,end:!0},pg=/[.+*?^${}()[\]/\\]/g;function hg(e,t){const n=Le({},dg,t),o=[];let s=n.start?"^":"";const r=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function ed(e,t){let n=0;const o=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const mg={type:0,value:""},gg=/[a-zA-Z0-9_]/;function bg(e){if(!e)return[[]];if(e==="/")return[[mg]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${c}": ${h}`)}let n=0,o=n;const s=[];let r;function i(){r&&s.push(r),r=[]}let a=0,l,c="",u="";function f(){c&&(n===0?r.push({type:0,value:c}):n===1||n===2||n===3?(r.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:1,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function d(){c+=l}for(;a{i(k)}:Qo}function i(f){if(Xf(f)){const d=o.get(f);d&&(o.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(i),d.alias.forEach(i))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&o.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function a(){return n}function l(f){const d=$g(f,n);n.splice(d,0,f),f.record.name&&!zl(f)&&o.set(f.record.name,f)}function c(f,d){let h,v={},y,_;if("name"in f&&f.name){if(h=o.get(f.name),!h)throw $o(1,{location:f});_=h.record.name,v=Le(Wl(d.params,h.keys.filter(k=>!k.optional).concat(h.parent?h.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),f.params&&Wl(f.params,h.keys.map(k=>k.name))),y=h.stringify(v)}else if(f.path!=null)y=f.path,h=n.find(k=>k.re.test(y)),h&&(v=h.parse(y),_=h.record.name);else{if(h=d.name?o.get(d.name):n.find(k=>k.re.test(d.path)),!h)throw $o(1,{location:f,currentLocation:d});_=h.record.name,v=Le({},d.params,f.params),y=h.stringify(v)}const E=[];let $=h;for(;$;)E.unshift($.record),$=$.parent;return{name:_,path:y,params:v,matched:E,meta:wg(E)}}e.forEach(f=>r(f));function u(){n.length=0,o.clear()}return{addRoute:r,resolve:c,removeRoute:i,clearRoutes:u,getRoutes:a,getRecordMatcher:s}}function Wl(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function Ul(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:kg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function kg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]=typeof n=="object"?n[o]:n;return t}function zl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function wg(e){return e.reduce((t,n)=>Le(t,n.meta),{})}function Gl(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function $g(e,t){let n=0,o=t.length;for(;n!==o;){const r=n+o>>1;ed(e,t[r])<0?o=r:n=r+1}const s=xg(e);return s&&(o=t.lastIndexOf(s,o-1)),o}function xg(e){let t=e;for(;t=t.parent;)if(td(t)&&ed(e,t)===0)return t}function td({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Tg(e){const t={};if(e===""||e==="?")return t;const o=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&Pi(r)):[o&&Pi(o)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Cg(e){const t={};for(const n in e){const o=e[n];o!==void 0&&(t[n]=Ht(o)?o.map(s=>s==null?null:""+s):o==null?o:""+o)}return t}const Eg=Symbol(""),Kl=Symbol(""),Ar=Symbol(""),ma=Symbol(""),Ai=Symbol("");function Ho(){let e=[];function t(o){return e.push(o),()=>{const s=e.indexOf(o);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function An(e,t,n,o,s,r=i=>i()){const i=o&&(o.enterCallbacks[s]=o.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const c=d=>{d===!1?l($o(4,{from:n,to:t})):d instanceof Error?l(d):fg(d)?l($o(2,{from:t,to:d})):(i&&o.enterCallbacks[s]===i&&typeof d=="function"&&i.push(d),a())},u=r(()=>e.call(o&&o.instances[s],t,n,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(d=>l(d))})}function Jr(e,t,n,o,s=r=>r()){const r=[];for(const i of e)for(const a in i.components){let l=i.components[a];if(!(t!=="beforeRouteEnter"&&!i.instances[a]))if(Uf(l)){const u=(l.__vccOpts||l)[t];u&&r.push(An(u,n,o,i,a,s))}else{let c=l();r.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${i.path}"`);const f=Mm(u)?u.default:u;i.mods[a]=u,i.components[a]=f;const h=(f.__vccOpts||f)[t];return h&&An(h,n,o,i,a,s)()}))}}return r}function Yl(e){const t=De(Ar),n=De(ma),o=x(()=>{const l=m(e.to);return t.resolve(l)}),s=x(()=>{const{matched:l}=o.value,{length:c}=l,u=l[c-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(wo.bind(null,u));if(d>-1)return d;const h=Ql(l[c-2]);return c>1&&Ql(u)===h&&f[f.length-1].path!==h?f.findIndex(wo.bind(null,l[c-2])):d}),r=x(()=>s.value>-1&&Ig(n.params,o.value.params)),i=x(()=>s.value>-1&&s.value===n.matched.length-1&&Qf(n.params,o.value.params));function a(l={}){if(Ag(l)){const c=t[m(e.replace)?"replace":"push"](m(e.to)).catch(Qo);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:o,href:x(()=>o.value.href),isActive:r,isExactActive:i,navigate:a}}function Sg(e){return e.length===1?e[0]:e}const Pg=R({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:Yl,setup(e,{slots:t}){const n=Yn(Yl(e)),{options:o}=De(Ar),s=x(()=>({[Jl(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Jl(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&Sg(t.default(n));return e.custom?r:$e("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},r)}}}),Lg=Pg;function Ag(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Ig(e,t){for(const n in t){const o=t[n],s=e[n];if(typeof o=="string"){if(o!==s)return!1}else if(!Ht(s)||s.length!==o.length||o.some((r,i)=>r!==s[i]))return!1}return!0}function Ql(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Jl=(e,t,n)=>e??t??n,Og=R({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=De(Ai),s=x(()=>e.route||o.value),r=De(Kl,0),i=x(()=>{let c=m(r);const{matched:u}=s.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),a=x(()=>s.value.matched[i.value]);hn(Kl,x(()=>i.value+1)),hn(Eg,a),hn(Ai,s);const l=X();return be(()=>[l.value,a.value,e.name],([c,u,f],[d,h,v])=>{u&&(u.instances[f]=c,h&&h!==u&&c&&c===d&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),c&&u&&(!h||!wo(u,h)||!d)&&(u.enterCallbacks[f]||[]).forEach(y=>y(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return Xl(n.default,{Component:d,route:c});const h=f.props[u],v=h?h===!0?c.params:typeof h=="function"?h(c):h:null,_=$e(d,Le({},v,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return Xl(n.default,{Component:_,route:c})||_}}});function Xl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Mg=Og;function Rg(e){const t=_g(e.routes,e),n=e.parseQuery||Tg,o=e.stringifyQuery||ql,s=e.history,r=Ho(),i=Ho(),a=Ho(),l=xe(an);let c=an;io&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Yr.bind(null,N=>""+N),f=Yr.bind(null,qm),d=Yr.bind(null,us);function h(N,re){let te,fe;return Xf(N)?(te=t.getRecordMatcher(N),fe=re):fe=N,t.addRoute(fe,te)}function v(N){const re=t.getRecordMatcher(N);re&&t.removeRoute(re)}function y(){return t.getRoutes().map(N=>N.record)}function _(N){return!!t.getRecordMatcher(N)}function E(N,re){if(re=Le({},re||l.value),typeof N=="string"){const C=Qr(n,N,re.path),A=t.resolve({path:C.path},re),F=s.createHref(C.fullPath);return Le(C,A,{params:d(A.params),hash:us(C.hash),redirectedFrom:void 0,href:F})}let te;if(N.path!=null)te=Le({},N,{path:Qr(n,N.path,re.path).path});else{const C=Le({},N.params);for(const A in C)C[A]==null&&delete C[A];te=Le({},N,{params:f(C)}),re.params=f(re.params)}const fe=t.resolve(te,re),Ee=N.hash||"";fe.params=u(d(fe.params));const Re=Qm(o,Le({},N,{hash:Um(Ee),path:fe.path})),w=s.createHref(Re);return Le({fullPath:Re,hash:Ee,query:o===ql?Cg(N.query):N.query||{}},fe,{redirectedFrom:void 0,href:w})}function $(N){return typeof N=="string"?Qr(n,N,l.value.path):Le({},N)}function k(N,re){if(c!==N)return $o(8,{from:re,to:N})}function S(N){return G(N)}function V(N){return S(Le($(N),{replace:!0}))}function B(N){const re=N.matched[N.matched.length-1];if(re&&re.redirect){const{redirect:te}=re;let fe=typeof te=="function"?te(N):te;return typeof fe=="string"&&(fe=fe.includes("?")||fe.includes("#")?fe=$(fe):{path:fe},fe.params={}),Le({query:N.query,hash:N.hash,params:fe.path!=null?{}:N.params},fe)}}function G(N,re){const te=c=E(N),fe=l.value,Ee=N.state,Re=N.force,w=N.replace===!0,C=B(te);if(C)return G(Le($(C),{state:typeof C=="object"?Le({},Ee,C.state):Ee,force:Re,replace:w}),re||te);const A=te;A.redirectedFrom=re;let F;return!Re&&Jm(o,fe,te)&&(F=$o(16,{to:A,from:fe}),lt(fe,fe,!0,!1)),(F?Promise.resolve(F):W(A,fe)).catch(D=>sn(D)?sn(D,2)?D:vt(D):ae(D,A,fe)).then(D=>{if(D){if(sn(D,2))return G(Le({replace:w},$(D.to),{state:typeof D.to=="object"?Le({},Ee,D.to.state):Ee,force:Re}),re||A)}else D=H(A,fe,!0,w,Ee);return Q(A,fe,D),D})}function ue(N,re){const te=k(N,re);return te?Promise.reject(te):Promise.resolve()}function I(N){const re=nn.values().next().value;return re&&typeof re.runWithContext=="function"?re.runWithContext(N):N()}function W(N,re){let te;const[fe,Ee,Re]=Dg(N,re);te=Jr(fe.reverse(),"beforeRouteLeave",N,re);for(const C of fe)C.leaveGuards.forEach(A=>{te.push(An(A,N,re))});const w=ue.bind(null,N,re);return te.push(w),et(te).then(()=>{te=[];for(const C of r.list())te.push(An(C,N,re));return te.push(w),et(te)}).then(()=>{te=Jr(Ee,"beforeRouteUpdate",N,re);for(const C of Ee)C.updateGuards.forEach(A=>{te.push(An(A,N,re))});return te.push(w),et(te)}).then(()=>{te=[];for(const C of Re)if(C.beforeEnter)if(Ht(C.beforeEnter))for(const A of C.beforeEnter)te.push(An(A,N,re));else te.push(An(C.beforeEnter,N,re));return te.push(w),et(te)}).then(()=>(N.matched.forEach(C=>C.enterCallbacks={}),te=Jr(Re,"beforeRouteEnter",N,re,I),te.push(w),et(te))).then(()=>{te=[];for(const C of i.list())te.push(An(C,N,re));return te.push(w),et(te)}).catch(C=>sn(C,8)?C:Promise.reject(C))}function Q(N,re,te){a.list().forEach(fe=>I(()=>fe(N,re,te)))}function H(N,re,te,fe,Ee){const Re=k(N,re);if(Re)return Re;const w=re===an,C=io?history.state:{};te&&(fe||w?s.replace(N.fullPath,Le({scroll:w&&C&&C.scroll},Ee)):s.push(N.fullPath,Ee)),l.value=N,lt(N,re,te,w),vt()}let ce;function se(){ce||(ce=s.listen((N,re,te)=>{if(!Ft.listening)return;const fe=E(N),Ee=B(fe);if(Ee){G(Le(Ee,{replace:!0,force:!0}),fe).catch(Qo);return}c=fe;const Re=l.value;io&&rg(Vl(Re.fullPath,te.delta),Lr()),W(fe,Re).catch(w=>sn(w,12)?w:sn(w,2)?(G(Le($(w.to),{force:!0}),fe).then(C=>{sn(C,20)&&!te.delta&&te.type===fs.pop&&s.go(-1,!1)}).catch(Qo),Promise.reject()):(te.delta&&s.go(-te.delta,!1),ae(w,fe,Re))).then(w=>{w=w||H(fe,Re,!1),w&&(te.delta&&!sn(w,8)?s.go(-te.delta,!1):te.type===fs.pop&&sn(w,20)&&s.go(-1,!1)),Q(fe,Re,w)}).catch(Qo)}))}let de=Ho(),Y=Ho(),me;function ae(N,re,te){vt(N);const fe=Y.list();return fe.length?fe.forEach(Ee=>Ee(N,re,te)):console.error(N),Promise.reject(N)}function ke(){return me&&l.value!==an?Promise.resolve():new Promise((N,re)=>{de.add([N,re])})}function vt(N){return me||(me=!N,se(),de.list().forEach(([re,te])=>N?te(N):re()),de.reset()),N}function lt(N,re,te,fe){const{scrollBehavior:Ee}=e;if(!io||!Ee)return Promise.resolve();const Re=!te&&ig(Vl(N.fullPath,0))||(fe||!te)&&history.state&&history.state.scroll||null;return at().then(()=>Ee(N,re,Re)).then(w=>w&&sg(w)).catch(w=>ae(w,N,re))}const Ye=N=>s.go(N);let mt;const nn=new Set,Ft={currentRoute:l,listening:!0,addRoute:h,removeRoute:v,clearRoutes:t.clearRoutes,hasRoute:_,getRoutes:y,resolve:E,options:e,push:S,replace:V,go:Ye,back:()=>Ye(-1),forward:()=>Ye(1),beforeEach:r.add,beforeResolve:i.add,afterEach:a.add,onError:Y.add,isReady:ke,install(N){const re=this;N.component("RouterLink",Lg),N.component("RouterView",Mg),N.config.globalProperties.$router=re,Object.defineProperty(N.config.globalProperties,"$route",{enumerable:!0,get:()=>m(l)}),io&&!mt&&l.value===an&&(mt=!0,S(s.location).catch(Ee=>{}));const te={};for(const Ee in an)Object.defineProperty(te,Ee,{get:()=>l.value[Ee],enumerable:!0});N.provide(Ar,re),N.provide(ma,Au(te)),N.provide(Ai,l);const fe=N.unmount;nn.add(N),N.unmount=function(){nn.delete(N),nn.size<1&&(c=an,ce&&ce(),ce=null,l.value=an,mt=!1,me=!1),fe()}}};function et(N){return N.reduce((re,te)=>re.then(()=>I(te)),Promise.resolve())}return Ft}function Dg(e,t){const n=[],o=[],s=[],r=Math.max(t.matched.length,e.matched.length);for(let i=0;iwo(c,a))?o.push(a):n.push(a));const l=e.matched[i];l&&(t.matched.find(c=>wo(c,l))||s.push(l))}return[n,o,s]}function Lo(){return De(Ar)}function ft(e){return De(ma)}var ga=Symbol(""),Xt=()=>{const e=De(ga);if(!e)throw new Error("useClientData() is called without provider.");return e},Ng=()=>Xt().pageComponent,nd=()=>Xt().pageData,Ir=()=>Xt().pageFrontmatter,Vg=()=>Xt().pageHead,Ao=()=>Xt().pageLang,Hg=()=>Xt().pageLayout,$n=()=>Xt().routeLocale,jg=()=>Xt().routePath,Bg=()=>Xt().siteLocaleData,ba=Xt,Fg=Ir,Wg=nd,Ii=new Set,ya=e=>{Ii.add(e),wn(()=>{Ii.delete(e)})},Ug=Symbol(""),Oi=xe(Im),go=xe(Om),od=(e,t)=>{const n=wm(e,t);if(go.value[n])return n;const o=encodeURI(n);if(go.value[o])return o;const s=Oi.value[n]||Oi.value[o];return s||n},ds=(e,t)=>{const{pathname:n,hashAndQueries:o}=jf(e),s=od(n,t),r=s+o;return go.value[s]?{...go.value[s],path:r,notFound:!1}:{...go.value["/404.html"],path:r,notFound:!0}},xn=(e,t)=>{const{pathname:n,hashAndQueries:o}=jf(e);return od(n,t)+o},zg=e=>{if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)&&!(e.currentTarget&&e.currentTarget.getAttribute("target")?.match(/\b_blank\b/i)))return e.preventDefault(),!0},Gg=R({name:"RouteLink",props:{to:{type:String,required:!0},active:Boolean,activeClass:{type:String,default:"route-link-active"}},slots:Object,setup(e,{slots:t}){const n=Lo(),o=ft(),s=x(()=>e.to.startsWith("#")||e.to.startsWith("?")?e.to:`/${xn(e.to,o.path).substring(1)}`);return()=>$e("a",{class:["route-link",{[e.activeClass]:e.active}],href:s.value,onClick:(r={})=>{zg(r)&&n.push(e.to).catch()}},t.default())}}),_a=R({name:"ClientOnly",setup(e,t){const n=X(!1);return Ie(()=>{n.value=!0}),()=>n.value?t.slots.default?.():null}}),Hs=e=>{Ii.forEach(t=>t(e))},sd=R({name:"Content",props:{path:{type:String,required:!1,default:""}},setup(e){const t=Ng(),n=x(()=>{if(!e.path)return t.value;const s=ds(e.path);return aa(async()=>s.loader().then(({comp:r})=>r))}),o=Ir();return be(o,()=>{Hs("updated")},{deep:!0,flush:"post"}),()=>$e(n.value,{onVnodeMounted:()=>{Hs("mounted")},onVnodeUpdated:()=>{Hs("updated")},onVnodeBeforeUnmount:()=>{Hs("beforeUnmount")}})}}),qg="Layout",Kg="en-US",jn=Yn({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageHead:(e,t,n)=>{const o=Yt(t.description)?t.description:n.description,s=[...Array.isArray(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:o}]];return Sm(s)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||Kg,resolvePageLayout:(e,t)=>{const n=Yt(e.frontmatter.layout)?e.frontmatter.layout:qg;if(!t[n])throw new Error(`[vuepress] Cannot resolve layout: ${n}`);return t[n]},resolveRouteLocale:(e,t)=>$m(e,decodeURI(t)),resolveSiteLocaleData:({base:e,locales:t,...n},o)=>({...n,...t[o],head:[...t[o]?.head??[],...n.head]})}),Zt=(e={})=>e,$t=e=>Bt(e)?e:`/${Pr(e)}`,Yg=Object.defineProperty,Qg=(e,t)=>{for(var n in t)Yg(e,n,{get:t[n],enumerable:!0})},Jg={};const Xg=Object.freeze(Object.defineProperty({__proto__:null,default:Jg},Symbol.toStringTag,{value:"Module"}));var Zg={};Qg(Zg,{COMPONENT_STATE_TYPE:()=>e1,INSPECTOR_ID:()=>t1,INSPECTOR_LABEL:()=>n1,INSPECTOR_NODES:()=>o1,INSPECTOR_STATE_SECTION_NAME:()=>s1,PLUGIN_ID:()=>rd,PLUGIN_LABEL:()=>ka});var rd="org.vuejs.vuepress",ka="VuePress",e1=ka,t1=rd,n1=ka,Zl={id:"INTERNAL",label:"Internal",keys:["layouts","routes","redirects"]},ec={id:"SITE",label:"Site",keys:["siteData","siteLocaleData"]},tc={id:"ROUTE",label:"Route",keys:["routePath","routeLocale"]},nc={id:"PAGE",label:"Page",keys:["pageData","pageFrontmatter","pageLang","pageHead","pageHeadTitle","pageLayout","pageComponent"]},o1={[Zl.id]:Zl,[ec.id]:ec,[tc.id]:tc,[nc.id]:nc},s1="State";const oc=e=>typeof e=="number"?`${e}px`:e,wa=({size:e=48,stroke:t=4,wrapper:n=!0,height:o=2*e})=>{const s=$e("span",{style:`--loading-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='xMidYMid' viewBox='25 25 50 50'%3E%3CanimateTransform attributeName='transform' type='rotate' dur='2s' keyTimes='0;1' repeatCount='indefinite' values='0;360'%3E%3C/animateTransform%3E%3Ccircle cx='50' cy='50' r='20' fill='none' stroke='currentColor' stroke-width='${t}' stroke-linecap='round'%3E%3Canimate attributeName='stroke-dasharray' dur='1.5s' keyTimes='0;0.5;1' repeatCount='indefinite' values='1,200;90,200;1,200'%3E%3C/animate%3E%3Canimate attributeName='stroke-dashoffset' dur='1.5s' keyTimes='0;0.5;1' repeatCount='indefinite' values='0;-35px;-125px'%3E%3C/animate%3E%3C/circle%3E%3C/svg%3E");--icon-size: ${oc(e)};display: inline-block;width: var(--icon-size);height: var(--icon-size);background-color: currentcolor;-webkit-mask-image: var(--loading-icon);mask-image: var(--loading-icon)`});return n?$e("div",{style:`display: flex;align-items: center;justify-content: center;height: ${oc(o)}`},s):s};wa.displayName="LoadingIcon";const $s=R({name:"FadeInExpandTransition",props:{group:Boolean,appear:Boolean,width:Boolean,mode:String,onLeave:Function,onAfterLeave:Function,onAfterEnter:Function},setup(e,{slots:t}){const n=a=>{a.style[e.width?"maxWidth":"maxHeight"]=`${a.offsetHeight}px`,a.offsetWidth},o=a=>{a.style[e.width?"maxWidth":"maxHeight"]="0",a.offsetWidth,e.onLeave?.()},s=a=>{a.style[e.width?"maxWidth":"maxHeight"]="",e.onAfterLeave?.()},r=a=>{if(a.style.transition="none",e.width){const l=a.offsetWidth;a.style.maxWidth="0",a.offsetWidth,a.style.transition="",a.style.maxWidth=`${l}px`}else{const l=a.offsetHeight;a.style.maxHeight="0",a.offsetWidth,a.style.transition="",a.style.maxHeight=`${l}px`}a.offsetWidth},i=a=>{a.style[e.width?"maxWidth":"maxHeight"]="",e.onAfterEnter?.()};return()=>$e(e.group?tm:jt,{name:e.width?"fade-in-width-expand":"fade-in-height-expand",appear:e.appear,onEnter:r,onAfterEnter:i,onBeforeLeave:n,onLeave:o,onAfterLeave:s,...e.group?void 0:{mode:e.mode}},t)}});var yt=Uint8Array,uo=Uint16Array,r1=Int32Array,id=new yt([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]),ad=new yt([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]),i1=new yt([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ld=function(e,t){for(var n=new uo(31),o=0;o<31;++o)n[o]=t+=1<>1|(je&21845)<<1;Cn=(Cn&52428)>>2|(Cn&13107)<<2,Cn=(Cn&61680)>>4|(Cn&3855)<<4,Mi[je]=((Cn&65280)>>8|(Cn&255)<<8)>>1}var Xo=(function(e,t,n){for(var o=e.length,s=0,r=new uo(t);s>l]=c}else for(a=new uo(o),s=0;s>15-e[s]);return a}),xs=new yt(288);for(var je=0;je<144;++je)xs[je]=8;for(var je=144;je<256;++je)xs[je]=9;for(var je=256;je<280;++je)xs[je]=7;for(var je=280;je<288;++je)xs[je]=8;var fd=new yt(32);for(var je=0;je<32;++je)fd[je]=5;var u1=Xo(xs,9,1),f1=Xo(fd,5,1),Xr=function(e){for(var t=e[0],n=1;nt&&(t=e[n]);return t},It=function(e,t,n){var o=t/8|0;return(e[o]|e[o+1]<<8)>>(t&7)&n},Zr=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},d1=function(e){return(e+7)/8|0},dd=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new yt(e.subarray(t,n))},p1=["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"],Ct=function(e,t,n){var o=new Error(t||p1[e]);if(o.code=e,Error.captureStackTrace&&Error.captureStackTrace(o,Ct),!n)throw o;return o},h1=function(e,t,n,o){var s=e.length,r=0;if(!s||t.f&&!t.l)return n||new yt(0);var i=!n,a=i||t.i!=2,l=t.i;i&&(n=new yt(s*3));var c=function(Ee){var Re=n.length;if(Ee>Re){var w=new yt(Math.max(Re*2,Ee));w.set(n),n=w}},u=t.f||0,f=t.p||0,d=t.b||0,h=t.l,v=t.d,y=t.m,_=t.n,E=s*8;do{if(!h){u=It(e,f,1);var $=It(e,f+1,3);if(f+=3,$)if($==1)h=u1,v=f1,y=9,_=5;else if($==2){var B=It(e,f,31)+257,G=It(e,f+10,15)+4,ue=B+It(e,f+5,31)+1;f+=14;for(var I=new yt(ue),W=new yt(19),Q=0;Q>4;if(k<16)I[Q++]=k;else{var Y=0,me=0;for(k==16?(me=3+It(e,f,3),f+=2,Y=I[Q-1]):k==17?(me=3+It(e,f,7),f+=3):k==18&&(me=11+It(e,f,127),f+=7);me--;)I[Q++]=Y}}var ae=I.subarray(0,B),ke=I.subarray(B);y=Xr(ae),_=Xr(ke),h=Xo(ae,y,1),v=Xo(ke,_,1)}else Ct(1);else{var k=d1(f)+4,S=e[k-4]|e[k-3]<<8,V=k+S;if(V>s){l&&Ct(0);break}a&&c(d+S),n.set(e.subarray(k,V),d),t.b=d+=S,t.p=f=V*8,t.f=u;continue}if(f>E){l&&Ct(0);break}}a&&c(d+131072);for(var vt=(1<>4;if(f+=Y&15,f>E){l&&Ct(0);break}if(Y||Ct(2),mt<256)n[d++]=mt;else if(mt==256){Ye=f,h=null;break}else{var nn=mt-254;if(mt>264){var Q=mt-257,Ft=id[Q];nn=It(e,f,(1<>4;et||Ct(3),f+=et&15;var ke=c1[N];if(N>3){var Ft=ad[N];ke+=Zr(e,f)&(1<E){l&&Ct(0);break}a&&c(d+131072);var re=d+nn;if(d>4>7||(e[0]<<8|e[1])%31)&&Ct(6,"invalid zlib data"),(e[1]>>5&1)==1&&Ct(6,"invalid zlib data: "+(e[1]&32?"need":"unexpected")+" dictionary"),(e[1]>>3&4)+2};function g1(e,t){return h1(e.subarray(m1(e),-4),{i:2},t,t)}var Ri=typeof TextDecoder<"u"&&new TextDecoder,b1=0;try{Ri.decode(v1,{stream:!0}),b1=1}catch{}var y1=function(e){for(var t="",n=0;;){var o=e[n++],s=(o>127)+(o>223)+(o>239);if(n+s>e.length)return{s:t,r:dd(e,n-1)};s?s==3?(o=((o&15)<<18|(e[n++]&63)<<12|(e[n++]&63)<<6|e[n++]&63)-65536,t+=String.fromCharCode(55296|o>>10,56320|o&1023)):s&1?t+=String.fromCharCode((o&31)<<6|e[n++]&63):t+=String.fromCharCode((o&15)<<12|(e[n++]&63)<<6|e[n++]&63):t+=String.fromCharCode(o)}};function _1(e,t){{for(var n=new yt(e.length),o=0;o{const t=atob(e);return k1(g1(_1(t)))},rc=e=>/\b(?:Android|iPhone)/i.test(e),ic=()=>document.documentElement.getAttribute("data-theme")==="dark",w1=e=>typeof e<"u",{isArray:dr}=Array,$1=(e,t)=>Yt(e)&&e.startsWith(t),pd=e=>$1(e,"/")&&e[1]!=="/",Zo=(e,t)=>{const n=Lt()?.appContext.components;return n?e in n||ht(e)in n||gs(ht(e))in n:!1},x1=e=>new Promise(t=>{setTimeout(t,e)}),T1=Symbol(""),Di=X(!1);typeof document<"u"&&(Di.value=ic(),new MutationObserver(()=>{Di.value=ic()}).observe(document.documentElement,{attributeFilter:["data-theme"],attributes:!0}));const C1=()=>Rn(De(T1,Di)),E1=e=>{const t=$n();return x(()=>_e(e)[t.value]??{})},Ts=E1;function Xn(e){return hu()?(Qp(e),!0):!1}const ei=new WeakMap,S1=(...e)=>{var t;const n=e[0],o=(t=Lt())==null?void 0:t.proxy;if(o==null&&!Hu())throw new Error("injectLocal must be called in setup");return o&&ei.has(o)&&n in ei.get(o)?ei.get(o)[n]:De(...e)},Cs=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const P1=e=>e!=null,L1=Object.prototype.toString,A1=e=>L1.call(e)==="[object Object]",pt=()=>{},I1=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),Ni=O1();function O1(){var e,t;return Cs&&((e=window?.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window?.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function $a(...e){if(e.length!==1)return Qn(...e);const t=e[0];return typeof t=="function"?Rn(na(()=>({get:t,set:pt}))):X(t)}function xa(e,t){function n(...o){return new Promise((s,r)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(s).catch(r)})}return n}const hd=e=>e();function vd(e,t={}){let n,o,s=pt;const r=l=>{clearTimeout(l),s(),s=pt};let i;return l=>{const c=_e(e),u=_e(t.maxWait);return n&&r(n),c<=0||u!==void 0&&u<=0?(o&&(r(o),o=void 0),Promise.resolve(l())):new Promise((f,d)=>{s=t.rejectOnCancel?d:f,i=l,u&&!o&&(o=setTimeout(()=>{n&&r(n),o=void 0,f(i())},u)),n=setTimeout(()=>{o&&r(o),o=void 0,f(l())},c)})}}function M1(...e){let t=0,n,o=!0,s=pt,r,i,a,l,c;!Ge(e[0])&&typeof e[0]=="object"?{delay:i,trailing:a=!0,leading:l=!0,rejectOnCancel:c=!1}=e[0]:[i,a=!0,l=!0,c=!1]=e;const u=()=>{n&&(clearTimeout(n),n=void 0,s(),s=pt)};return d=>{const h=_e(i),v=Date.now()-t,y=()=>r=d();return u(),h<=0?(t=Date.now(),y()):(v>h&&(l||!o)?(t=Date.now(),y()):a&&(r=new Promise((_,E)=>{s=c?E:_,n=setTimeout(()=>{t=Date.now(),o=!0,_(y()),u()},Math.max(0,h-v))})),!l&&!n&&(n=setTimeout(()=>o=!0,h)),o=!1,r)}}function R1(e=hd,t={}){const{initialState:n="active"}=t,o=$a(n==="active");function s(){o.value=!1}function r(){o.value=!0}return{isActive:Rn(o),pause:s,resume:r,eventFilter:(...a)=>{o.value&&e(...a)}}}function D1(e){let t;function n(){return t||(t=e()),t}return n.reset=async()=>{const o=t;t=void 0,o&&await o},n}function ac(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function es(e){return Array.isArray(e)?e:[e]}function N1(e){return Lt()}function md(e,t=200,n={}){return xa(vd(t,n),e)}function gd(e,t=200,n=!1,o=!0,s=!1){return xa(M1(t,n,o,s),e)}function bd(e,t,n={}){const{eventFilter:o=hd,...s}=n;return be(e,xa(o,t),s)}function V1(e,t,n={}){const{eventFilter:o,initialState:s="active",...r}=n,{eventFilter:i,pause:a,resume:l,isActive:c}=R1(o,{initialState:s});return{stop:bd(e,t,{...r,eventFilter:i}),pause:a,resume:l,isActive:c}}function Io(e,t=!0,n){N1()?Ie(e,n):t?e():at(e)}function H1(e,t,n={}){const{immediate:o=!0,immediateCallback:s=!1}=n,r=xe(!1);let i;function a(){i&&(clearTimeout(i),i=void 0)}function l(){r.value=!1,a()}function c(...u){s&&e(),a(),r.value=!0,i=setTimeout(()=>{r.value=!1,i=void 0,e(...u)},_e(t))}return o&&(r.value=!0,Cs&&c()),Xn(l),{isPending:mh(r),start:c,stop:l}}function j1(e,t,n={}){const{debounce:o=0,maxWait:s=void 0,...r}=n;return bd(e,t,{...r,eventFilter:vd(o,{maxWait:s})})}function xo(e,t,n){return be(e,t,{...n,immediate:!0})}function Bw(e,t,n){var o;let s;Ge(n)?s={evaluating:n}:s={};const{lazy:r=!1,flush:i="pre",evaluating:a=void 0,shallow:l=!0,onError:c=(o=globalThis.reportError)!=null?o:pt}=s,u=xe(!r),f=l?xe(t):X(t);let d=0;return _s(async h=>{if(!u.value)return;d++;const v=d;let y=!1;a&&Promise.resolve().then(()=>{a.value=!0});try{const _=await e(E=>{h(()=>{a&&(a.value=!1),y||E()})});v===d&&(f.value=_)}catch(_){c(_)}finally{a&&v===d&&(a.value=!1),y=!0}},{flush:i}),r?x(()=>(u.value=!0,f.value)):f}const rt=Cs?window:void 0,B1=Cs?window.document:void 0,yd=Cs?window.navigator:void 0;function Ze(e){var t;const n=_e(e);return(t=n?.$el)!=null?t:n}function Ue(...e){const t=[],n=()=>{t.forEach(a=>a()),t.length=0},o=(a,l,c,u)=>(a.addEventListener(l,c,u),()=>a.removeEventListener(l,c,u)),s=x(()=>{const a=es(_e(e[0])).filter(l=>l!=null);return a.every(l=>typeof l!="string")?a:void 0}),r=xo(()=>{var a,l;return[(l=(a=s.value)==null?void 0:a.map(c=>Ze(c)))!=null?l:[rt].filter(c=>c!=null),es(_e(s.value?e[1]:e[0])),es(m(s.value?e[2]:e[1])),_e(s.value?e[3]:e[2])]},([a,l,c,u])=>{if(n(),!a?.length||!l?.length||!c?.length)return;const f=A1(u)?{...u}:u;t.push(...a.flatMap(d=>l.flatMap(h=>c.map(v=>o(d,h,v,f)))))},{flush:"post"}),i=()=>{r(),n()};return Xn(n),i}let lc=!1;function Ta(e,t,n={}){const{window:o=rt,ignore:s=[],capture:r=!0,detectIframe:i=!1,controls:a=!1}=n;if(!o)return a?{stop:pt,cancel:pt,trigger:pt}:pt;if(Ni&&!lc){lc=!0;const _={passive:!0};Array.from(o.document.body.children).forEach(E=>E.addEventListener("click",pt,_)),o.document.documentElement.addEventListener("click",pt,_)}let l=!0;const c=_=>_e(s).some(E=>{if(typeof E=="string")return Array.from(o.document.querySelectorAll(E)).some($=>$===_.target||_.composedPath().includes($));{const $=Ze(E);return $&&(_.target===$||_.composedPath().includes($))}});function u(_){const E=_e(_);return E&&E.$.subTree.shapeFlag===16}function f(_,E){const $=_e(_),k=$.$.subTree&&$.$.subTree.children;return k==null||!Array.isArray(k)?!1:k.some(S=>S.el===E.target||E.composedPath().includes(S.el))}const d=_=>{const E=Ze(e);if(_.target!=null&&!(!(E instanceof Element)&&u(e)&&f(e,_))&&!(!E||E===_.target||_.composedPath().includes(E))){if("detail"in _&&_.detail===0&&(l=!c(_)),!l){l=!0;return}t(_)}};let h=!1;const v=[Ue(o,"click",_=>{h||(h=!0,setTimeout(()=>{h=!1},0),d(_))},{passive:!0,capture:r}),Ue(o,"pointerdown",_=>{const E=Ze(e);l=!c(_)&&!!(E&&!_.composedPath().includes(E))},{passive:!0}),i&&Ue(o,"blur",_=>{setTimeout(()=>{var E;const $=Ze(e);((E=o.document.activeElement)==null?void 0:E.tagName)==="IFRAME"&&!$?.contains(o.document.activeElement)&&t(_)},0)},{passive:!0})].filter(Boolean),y=()=>v.forEach(_=>_());return a?{stop:y,cancel:()=>{l=!1},trigger:_=>{l=!0,d(_),l=!1}}:y}function F1(){const e=xe(!1),t=Lt();return t&&Ie(()=>{e.value=!0},t),e}function Oo(e){const t=F1();return x(()=>(t.value,!!e()))}function _d(e,t,n={}){const{window:o=rt,...s}=n;let r;const i=Oo(()=>o&&"MutationObserver"in o),a=()=>{r&&(r.disconnect(),r=void 0)},l=x(()=>{const d=_e(e),h=es(d).map(Ze).filter(P1);return new Set(h)}),c=be(l,d=>{a(),i.value&&d.size&&(r=new MutationObserver(t),d.forEach(h=>r.observe(h,s)))},{immediate:!0,flush:"post"}),u=()=>r?.takeRecords(),f=()=>{c(),a()};return Xn(f),{isSupported:i,stop:f,takeRecords:u}}function W1(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function cc(...e){let t,n,o={};e.length===3?(t=e[0],n=e[1],o=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],o=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:s=rt,eventName:r="keydown",passive:i=!1,dedupe:a=!1}=o,l=W1(t);return Ue(s,r,u=>{u.repeat&&_e(a)||l(u)&&n(u)},i)}const U1=Symbol("vueuse-ssr-width");function z1(){const e=Hu()?S1(U1,null):null;return typeof e=="number"?e:void 0}function wt(e,t={}){const{window:n=rt,ssrWidth:o=z1()}=t,s=Oo(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),r=xe(typeof o=="number"),i=xe(),a=xe(!1),l=c=>{a.value=c.matches};return _s(()=>{if(r.value){r.value=!s.value;const c=_e(e).split(",");a.value=c.some(u=>{const f=u.includes("not all"),d=u.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),h=u.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let v=!!(d||h);return d&&v&&(v=o>=ac(d[1])),h&&v&&(v=o<=ac(h[1])),f?!v:v});return}s.value&&(i.value=n.matchMedia(_e(e)),a.value=i.value.matches)}),Ue(i,"change",l,{passive:!0}),x(()=>a.value)}function uc(e,t={}){const{controls:n=!1,navigator:o=yd}=t,s=Oo(()=>o&&"permissions"in o),r=xe(),i=typeof e=="string"?{name:e}:e,a=xe(),l=()=>{var u,f;a.value=(f=(u=r.value)==null?void 0:u.state)!=null?f:"prompt"};Ue(r,"change",l,{passive:!0});const c=D1(async()=>{if(s.value){if(!r.value)try{r.value=await o.permissions.query(i)}catch{r.value=void 0}finally{l()}if(n)return Ce(r.value)}});return c(),n?{state:a,isSupported:s,query:c}:a}function G1(e={}){const{navigator:t=yd,read:n=!1,source:o,copiedDuring:s=1500,legacy:r=!1}=e,i=Oo(()=>t&&"clipboard"in t),a=uc("clipboard-read"),l=uc("clipboard-write"),c=x(()=>i.value||r),u=xe(""),f=xe(!1),d=H1(()=>f.value=!1,s,{immediate:!1});async function h(){let $=!(i.value&&E(a.value));if(!$)try{u.value=await t.clipboard.readText()}catch{$=!0}$&&(u.value=_())}c.value&&n&&Ue(["copy","cut"],h,{passive:!0});async function v($=_e(o)){if(c.value&&$!=null){let k=!(i.value&&E(l.value));if(!k)try{await t.clipboard.writeText($)}catch{k=!0}k&&y($),u.value=$,f.value=!0,d.start()}}function y($){const k=document.createElement("textarea");k.value=$??"",k.style.position="absolute",k.style.opacity="0",document.body.appendChild(k),k.select(),document.execCommand("copy"),k.remove()}function _(){var $,k,S;return(S=(k=($=document?.getSelection)==null?void 0:$.call(document))==null?void 0:k.toString())!=null?S:""}function E($){return $==="granted"||$==="prompt"}return{isSupported:c,text:u,copied:f,copy:v}}const js=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Bs="__vueuse_ssr_handlers__",q1=K1();function K1(){return Bs in js||(js[Bs]=js[Bs]||{}),js[Bs]}function kd(e,t){return q1[e]||t}function Y1(e){return wt("(prefers-color-scheme: dark)",e)}function Q1(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const J1={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},fc="vueuse-storage";function Es(e,t,n,o={}){var s;const{flush:r="pre",deep:i=!0,listenToStorageChanges:a=!0,writeDefaults:l=!0,mergeDefaults:c=!1,shallow:u,window:f=rt,eventFilter:d,onError:h=se=>{console.error(se)},initOnMounted:v}=o,y=(u?xe:X)(typeof t=="function"?t():t),_=x(()=>_e(e));if(!n)try{n=kd("getDefaultStorage",()=>{var se;return(se=rt)==null?void 0:se.localStorage})()}catch(se){h(se)}if(!n)return y;const E=_e(t),$=Q1(E),k=(s=o.serializer)!=null?s:J1[$],{pause:S,resume:V}=V1(y,se=>W(se),{flush:r,deep:i,eventFilter:d});be(_,()=>H(),{flush:r});let B=!1;const G=se=>{v&&!B||H(se)},ue=se=>{v&&!B||ce(se)};f&&a&&(n instanceof Storage?Ue(f,"storage",G,{passive:!0}):Ue(f,fc,ue)),v?Io(()=>{B=!0,H()}):H();function I(se,de){if(f){const Y={key:_.value,oldValue:se,newValue:de,storageArea:n};f.dispatchEvent(n instanceof Storage?new StorageEvent("storage",Y):new CustomEvent(fc,{detail:Y}))}}function W(se){try{const de=n.getItem(_.value);if(se==null)I(de,null),n.removeItem(_.value);else{const Y=k.write(se);de!==Y&&(n.setItem(_.value,Y),I(de,Y))}}catch(de){h(de)}}function Q(se){const de=se?se.newValue:n.getItem(_.value);if(de==null)return l&&E!=null&&n.setItem(_.value,k.write(E)),E;if(!se&&c){const Y=k.read(de);return typeof c=="function"?c(Y,E):$==="object"&&!Array.isArray(Y)?{...E,...Y}:Y}else return typeof de!="string"?de:k.read(de)}function H(se){if(!(se&&se.storageArea!==n)){if(se&&se.key==null){y.value=E;return}if(!(se&&se.key!==_.value)){S();try{const de=k.write(y.value);(se===void 0||se?.newValue!==de)&&(y.value=Q(se))}catch(de){h(de)}finally{se?at(V):V()}}}}function ce(se){H(se.detail)}return y}const X1="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function Z1(e={}){const{selector:t="html",attribute:n="class",initialValue:o="auto",window:s=rt,storage:r,storageKey:i="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:l,emitAuto:c,disableTransition:u=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},d=Y1({window:s}),h=x(()=>d.value?"dark":"light"),v=l||(i==null?$a(o):Es(i,o,r,{window:s,listenToStorageChanges:a})),y=x(()=>v.value==="auto"?h.value:v.value),_=kd("updateHTMLAttrs",(S,V,B)=>{const G=typeof S=="string"?s?.document.querySelector(S):Ze(S);if(!G)return;const ue=new Set,I=new Set;let W=null;if(V==="class"){const H=B.split(/\s/g);Object.values(f).flatMap(ce=>(ce||"").split(/\s/g)).filter(Boolean).forEach(ce=>{H.includes(ce)?ue.add(ce):I.add(ce)})}else W={key:V,value:B};if(ue.size===0&&I.size===0&&W===null)return;let Q;u&&(Q=s.document.createElement("style"),Q.appendChild(document.createTextNode(X1)),s.document.head.appendChild(Q));for(const H of ue)G.classList.add(H);for(const H of I)G.classList.remove(H);W&&G.setAttribute(W.key,W.value),u&&(s.getComputedStyle(Q).opacity,document.head.removeChild(Q))});function E(S){var V;_(t,n,(V=f[S])!=null?V:S)}function $(S){e.onChanged?e.onChanged(S,E):E(S)}be(y,$,{flush:"post",immediate:!0}),Io(()=>$(y.value));const k=x({get(){return c?v.value:y.value},set(S){v.value=S}});return Object.assign(k,{store:v,system:h,state:y})}function e0(e,t,n={}){const{window:o=rt,initialValue:s,observe:r=!1}=n,i=xe(s),a=x(()=>{var c;return Ze(t)||((c=o?.document)==null?void 0:c.documentElement)});function l(){var c;const u=_e(e),f=_e(a);if(f&&o&&u){const d=(c=o.getComputedStyle(f).getPropertyValue(u))==null?void 0:c.trim();i.value=d||i.value||s}}return r&&_d(a,l,{attributeFilter:["style","class"],window:o}),be([a,()=>_e(e)],(c,u)=>{u[0]&&u[1]&&u[0].style.removeProperty(u[1]),l()},{immediate:!0}),be([i,a],([c,u])=>{const f=_e(e);u?.style&&f&&(c==null?u.style.removeProperty(f):u.style.setProperty(f,c))},{immediate:!0}),i}function t0(e={}){const{valueDark:t="dark",valueLight:n=""}=e,o=Z1({...e,onChanged:(i,a)=>{var l;e.onChanged?(l=e.onChanged)==null||l.call(e,i==="dark",a,i):a(i)},modes:{dark:t,light:n}}),s=x(()=>o.system.value);return x({get(){return o.value==="dark"},set(i){const a=i?"dark":"light";s.value===a?o.value="auto":o.value=a}})}function ts(e,t,n={}){const{window:o=rt,...s}=n;let r;const i=Oo(()=>o&&"ResizeObserver"in o),a=()=>{r&&(r.disconnect(),r=void 0)},l=x(()=>{const f=_e(e);return Array.isArray(f)?f.map(d=>Ze(d)):[Ze(f)]}),c=be(l,f=>{if(a(),i.value&&o){r=new ResizeObserver(t);for(const d of f)d&&r.observe(d,s)}},{immediate:!0,flush:"post"}),u=()=>{a(),c()};return Xn(u),{isSupported:i,stop:u}}function wd(e,t={width:0,height:0},n={}){const{window:o=rt,box:s="content-box"}=n,r=x(()=>{var f,d;return(d=(f=Ze(e))==null?void 0:f.namespaceURI)==null?void 0:d.includes("svg")}),i=xe(t.width),a=xe(t.height),{stop:l}=ts(e,([f])=>{const d=s==="border-box"?f.borderBoxSize:s==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(o&&r.value){const h=Ze(e);if(h){const v=h.getBoundingClientRect();i.value=v.width,a.value=v.height}}else if(d){const h=es(d);i.value=h.reduce((v,{inlineSize:y})=>v+y,0),a.value=h.reduce((v,{blockSize:y})=>v+y,0)}else i.value=f.contentRect.width,a.value=f.contentRect.height},n);Io(()=>{const f=Ze(e);f&&(i.value="offsetWidth"in f?f.offsetWidth:t.width,a.value="offsetHeight"in f?f.offsetHeight:t.height)});const c=be(()=>Ze(e),f=>{i.value=f?t.width:0,a.value=f?t.height:0});function u(){l(),c()}return{width:i,height:a,stop:u}}const dc=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function n0(e,t={}){const{document:n=B1,autoExit:o=!1}=t,s=x(()=>{var $;return($=Ze(e))!=null?$:n?.documentElement}),r=xe(!1),i=x(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find($=>n&&$ in n||s.value&&$ in s.value)),a=x(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find($=>n&&$ in n||s.value&&$ in s.value)),l=x(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find($=>n&&$ in n||s.value&&$ in s.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find($=>n&&$ in n),u=Oo(()=>s.value&&n&&i.value!==void 0&&a.value!==void 0&&l.value!==void 0),f=()=>c?n?.[c]===s.value:!1,d=()=>{if(l.value){if(n&&n[l.value]!=null)return n[l.value];{const $=s.value;if($?.[l.value]!=null)return!!$[l.value]}}return!1};async function h(){if(!(!u.value||!r.value)){if(a.value)if(n?.[a.value]!=null)await n[a.value]();else{const $=s.value;$?.[a.value]!=null&&await $[a.value]()}r.value=!1}}async function v(){if(!u.value||r.value)return;d()&&await h();const $=s.value;i.value&&$?.[i.value]!=null&&(await $[i.value](),r.value=!0)}async function y(){await(r.value?h():v())}const _=()=>{const $=d();(!$||$&&f())&&(r.value=$)},E={capture:!1,passive:!0};return Ue(n,dc,_,E),Ue(()=>Ze(s),dc,_,E),Io(_,!1),o&&Xn(h),{isSupported:u,isFullscreen:r,enter:v,exit:h,toggle:y}}function ti(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}const pc=1;function o0(e,t={}){const{throttle:n=0,idle:o=200,onStop:s=pt,onScroll:r=pt,offset:i={left:0,right:0,top:0,bottom:0},observe:a={mutation:!1},eventListenerOptions:l={capture:!1,passive:!0},behavior:c="auto",window:u=rt,onError:f=I=>{console.error(I)}}=t,d=typeof a=="boolean"?{mutation:a}:a,h=xe(0),v=xe(0),y=x({get(){return h.value},set(I){E(I,void 0)}}),_=x({get(){return v.value},set(I){E(void 0,I)}});function E(I,W){var Q,H,ce,se;if(!u)return;const de=_e(e);if(!de)return;(ce=de instanceof Document?u.document.body:de)==null||ce.scrollTo({top:(Q=_e(W))!=null?Q:_.value,left:(H=_e(I))!=null?H:y.value,behavior:_e(c)});const Y=((se=de?.document)==null?void 0:se.documentElement)||de?.documentElement||de;y!=null&&(h.value=Y.scrollLeft),_!=null&&(v.value=Y.scrollTop)}const $=xe(!1),k=Yn({left:!0,right:!1,top:!0,bottom:!1}),S=Yn({left:!1,right:!1,top:!1,bottom:!1}),V=I=>{$.value&&($.value=!1,S.left=!1,S.right=!1,S.top=!1,S.bottom=!1,s(I))},B=md(V,n+o),G=I=>{var W;if(!u)return;const Q=((W=I?.document)==null?void 0:W.documentElement)||I?.documentElement||Ze(I),{display:H,flexDirection:ce,direction:se}=getComputedStyle(Q),de=se==="rtl"?-1:1,Y=Q.scrollLeft;S.left=Yh.value;const me=Math.abs(Y*de)<=(i.left||0),ae=Math.abs(Y*de)+Q.clientWidth>=Q.scrollWidth-(i.right||0)-pc;H==="flex"&&ce==="row-reverse"?(k.left=ae,k.right=me):(k.left=me,k.right=ae),h.value=Y;let ke=Q.scrollTop;I===u.document&&!ke&&(ke=u.document.body.scrollTop),S.top=kev.value;const vt=Math.abs(ke)<=(i.top||0),lt=Math.abs(ke)+Q.clientHeight>=Q.scrollHeight-(i.bottom||0)-pc;H==="flex"&&ce==="column-reverse"?(k.top=lt,k.bottom=vt):(k.top=vt,k.bottom=lt),v.value=ke},ue=I=>{var W;if(!u)return;const Q=(W=I.target.documentElement)!=null?W:I.target;G(Q),$.value=!0,B(I),r(I)};return Ue(e,"scroll",n?gd(ue,n,!0,!1):ue,l),Io(()=>{try{const I=_e(e);if(!I)return;G(I)}catch(I){f(I)}}),d?.mutation&&e!=null&&e!==u&&e!==document&&_d(e,()=>{const I=_e(e);I&&G(I)},{attributes:!0,childList:!0,subtree:!0}),Ue(e,"scrollend",V,l),{x:y,y:_,isScrolling:$,arrivedState:k,directions:S,measure(){const I=_e(e);u&&I&&G(I)}}}function s0(e,t,n={}){const{window:o=rt}=n;return Es(e,t,o?.localStorage,n)}function $d(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const ni=new WeakMap;function Ca(e,t=!1){const n=xe(t);let o=null,s="";be($a(e),a=>{const l=ti(_e(a));if(l){const c=l;if(ni.get(c)||ni.set(c,c.style.overflow),c.style.overflow!=="hidden"&&(s=c.style.overflow),c.style.overflow==="hidden")return n.value=!0;if(n.value)return c.style.overflow="hidden"}},{immediate:!0});const r=()=>{const a=ti(_e(e));!a||n.value||(Ni&&(o=Ue(a,"touchmove",l=>{r0(l)},{passive:!1})),a.style.overflow="hidden",n.value=!0)},i=()=>{const a=ti(_e(e));!a||!n.value||(Ni&&o?.(),a.style.overflow=s,ni.delete(a),n.value=!1)};return Xn(i),x({get(){return n.value},set(a){a?r():i()}})}function xd(e,t,n={}){const{window:o=rt}=n;return Es(e,t,o?.sessionStorage,n)}function Ea(e={}){const{window:t=rt,...n}=e;return o0(t,n)}function Td(e={}){const{window:t=rt,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:o=Number.POSITIVE_INFINITY,listenOrientation:s=!0,includeScrollbar:r=!0,type:i="inner"}=e,a=xe(n),l=xe(o),c=()=>{if(t)if(i==="outer")a.value=t.outerWidth,l.value=t.outerHeight;else if(i==="visual"&&t.visualViewport){const{width:f,height:d,scale:h}=t.visualViewport;a.value=Math.round(f*h),l.value=Math.round(d*h)}else r?(a.value=t.innerWidth,l.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,l.value=t.document.documentElement.clientHeight)};c(),Io(c);const u={passive:!0};if(Ue("resize",c,u),t&&i==="visual"&&t.visualViewport&&Ue(t.visualViewport,"resize",c,u),s){const f=wt("(orientation: portrait)");be(f,()=>c())}return{width:a,height:l}}const i0=/language-(shellscript|shell|bash|sh|zsh)/,a0=({selector:e,ignoreSelector:t,inlineSelector:n,duration:o=2e3,locales:s,showInMobile:r,transform:i})=>{const a=wt("(max-width: 419px)"),l=x(()=>!a.value||r),c=Ts(s),u=y=>{if(y.hasAttribute("copy-code"))return;const _=document.createElement("button");_.type="button",_.classList.add("vp-copy-code-button"),_.setAttribute("aria-label",c.value.copy),_.setAttribute("data-copied",c.value.copied),y.parentElement?.insertBefore(_,y),y.setAttribute("copy-code","")},f=()=>{document.body.classList.toggle("no-copy-code",!l.value),l.value&&document.querySelectorAll(e).forEach(u)};xo(l,()=>at(f),{flush:"post"}),ya(y=>{y!=="beforeUnmount"&&f()});const{copy:d}=G1({legacy:!0}),h=new WeakMap,v=async(y,_,E)=>{const $=_.cloneNode(!0);$.querySelectorAll(t).forEach(V=>{V.remove()}),i&&i($);let k=$.textContent||"";if(i0.test(y.className)&&(k=k.replace(/^ *(\$|>) /gm,"")),await d(k),o<=0)return;E.classList.add("copied"),clearTimeout(h.get(E));const S=setTimeout(()=>{E.classList.remove("copied"),E.blur(),h.delete(E)},o);h.set(E,S)};Ue("click",y=>{const _=y.target;if(l.value&&_.matches('div[class*="language-"] > button.vp-copy-code-button')){const E=_.parentElement,$=_.nextElementSibling;if(!E||!$)return;v(E,$,_)}},{passive:!0})};var l0={"/":{copy:"复制代码",copied:"已复制"}};const c0=Zt({setup:()=>{a0({selector:'[vp-content] div[class*="language-"] pre',ignoreSelector:".vp-copy-ignore,.diff.remove",inlineSelector:"",locales:l0,duration:2e3,showInMobile:!1})}}),u0=Object.freeze(Object.defineProperty({__proto__:null,default:c0},Symbol.toStringTag,{value:"Module"})),f0=({selector:e='div[class*="language-"].has-collapsed-lines > .collapsed-lines'}={})=>{Ue("click",t=>{const n=t.target;if(n.matches(e)){const o=n.parentElement;o?.classList.toggle("collapsed")&&o.scrollIntoView({block:"center",behavior:"instant"})}},{passive:!0})},d0={setup(){f0()}},p0=Object.freeze(Object.defineProperty({__proto__:null,default:d0},Symbol.toStringTag,{value:"Module"})),h0={key:0,class:"vp-tabs"},v0={class:"vp-tabs-nav",role:"tablist"},m0=["aria-controls","aria-selected","onClick","onKeydown"],g0=["id","aria-expanded"],b0={class:"vp-tab-title"},y0="VUEPRESS_TAB_STORE",_0=R({__name:"Tabs",props:{id:{},tabId:{default:""},active:{default:0},data:{}},setup(e){const t=e,n=Es(y0,{}),o=X(t.active),s=xe([]);function r(){t.tabId&&(n.value[t.tabId]=t.data[o.value].id)}function i(f=o.value){o.value=f0?f-1:s.value.length-1,s.value[o.value].focus()}function l(f,d){f.key===" "||f.key==="Enter"?(f.preventDefault(),o.value=d):f.key==="ArrowRight"?(f.preventDefault(),i()):f.key==="ArrowLeft"&&(f.preventDefault(),a()),r()}function c(){if(t.tabId){const f=t.data.findIndex(({id:d})=>n.value[t.tabId]===d);if(f!==-1)return f}return t.active}Ie(()=>{o.value=c(),be(()=>n.value[t.tabId],(f,d)=>{if(t.tabId&&f!==d){const h=t.data.findIndex(({id:v})=>v===f);h!==-1&&(o.value=h)}})});function u(f){o.value=f,r()}return(f,d)=>e.data.length?(p(),g("div",h0,[b("div",v0,[(p(!0),g(ee,null,we(e.data,(h,v)=>(p(),g("button",{key:v,ref_for:!0,ref:y=>y&&(s.value[v]=y),class:K(["vp-tab-nav",{active:v===o.value}]),type:"button",role:"tab","aria-controls":`tab-${e.id}-${v}`,"aria-selected":v===o.value,onClick:()=>u(v),onKeydown:y=>l(y,v)},[T(f.$slots,`title${v}`,{value:h.id,isActive:v===o.value})],42,m0))),128))]),(p(!0),g(ee,null,we(e.data,(h,v)=>(p(),g("div",{id:`tab-${e.id}-${v}`,key:v,class:K(["vp-tab",{active:v===o.value}]),role:"tabpanel","aria-expanded":v===o.value},[b("div",b0,[T(f.$slots,`title${v}`,{value:h.id,isActive:v===o.value})]),T(f.$slots,`tab${v}`,{value:h.id,isActive:v===o.value})],10,g0))),128))])):L("",!0)}}),k0={key:0,class:"vp-code-tabs"},w0={class:"vp-code-tabs-nav",role:"tablist"},$0=["aria-controls","aria-selected","onClick","onKeydown"],x0=["id","aria-expanded"],T0={class:"vp-code-tab-title"},C0="VUEPRESS_CODE_TAB_STORE",E0=R({__name:"CodeTabs",props:{id:{},tabId:{default:""},active:{default:0},data:{}},setup(e){const t=e,n=Es(C0,{}),o=X(t.active),s=xe([]);function r(){t.tabId&&(n.value[t.tabId]=t.data[o.value].id)}function i(f=o.value){o.value=f0?f-1:s.value.length-1,s.value[o.value].focus()}function l(f,d){f.key===" "||f.key==="Enter"?(f.preventDefault(),o.value=d):f.key==="ArrowRight"?(f.preventDefault(),i()):f.key==="ArrowLeft"&&(f.preventDefault(),a()),t.tabId&&(n.value[t.tabId]=t.data[o.value].id)}function c(){if(t.tabId){const f=t.data.findIndex(({id:d})=>n.value[t.tabId]===d);if(f!==-1)return f}return t.active}Ie(()=>{o.value=c(),be(()=>n.value[t.tabId],(f,d)=>{if(t.tabId&&f!==d){const h=t.data.findIndex(({id:v})=>v===f);h!==-1&&(o.value=h)}})});function u(f){o.value=f,r()}return(f,d)=>e.data.length?(p(),g("div",k0,[b("div",w0,[(p(!0),g(ee,null,we(e.data,(h,v)=>(p(),g("button",{key:v,ref_for:!0,ref:y=>y&&(s.value[v]=y),class:K(["vp-code-tab-nav",{active:v===o.value}]),type:"button",role:"tab","aria-controls":`codetab-${e.id}-${v}`,"aria-selected":v===o.value,onClick:()=>u(v),onKeydown:y=>l(y,v)},[T(f.$slots,`title${v}`,{value:h.id,isActive:v===o.value})],42,$0))),128))]),(p(!0),g(ee,null,we(e.data,(h,v)=>(p(),g("div",{id:`codetab-${e.id}-${v}`,key:v,class:K(["vp-code-tab",{active:v===o.value}]),role:"tabpanel","aria-expanded":v===o.value},[b("div",T0,[T(f.$slots,`title${v}`,{value:h.id,isActive:v===o.value})]),T(f.$slots,`tab${v}`,{value:h.id,isActive:v===o.value})],10,x0))),128))])):L("",!0)}}),S0=R({__name:"Plot",props:{trigger:{},effect:{}},setup(e){const t=e,n=Ir(),o=wt("(max-width: 768px)"),s=x(()=>{const c={},u=typeof n.value.plot=="object"?n.value.plot:{};return{trigger:o.value?"click":t.trigger??u.trigger??c.trigger??"hover",effect:t.effect??u.effect??c.effect??"mask"}}),r=X(!1),i=vo("el"),a=X([]);Ie(()=>{if(!i.value)return;const c=i.value.classList;!c.contains("hover")&&!c.contains("click")&&a.value.push(s.value.trigger),!c.contains("mask")&&!c.contains("blur")&&a.value.push(s.value.effect)}),Ta(i,()=>{(s.value.trigger==="click"||i.value?.classList.contains("click"))&&(r.value=!1)});function l(){(s.value.trigger==="click"||i.value?.classList.contains("click"))&&(r.value=!r.value)}return(c,u)=>(p(),g("span",{ref_key:"el",ref:i,class:K(["vp-plot",[{active:r.value},...a.value]]),onClick:l},[T(c.$slots,"default")],2))}}),P0={class:"vp-file-tree-node"},L0={key:0,class:"comment"},A0={key:0,class:"group"},I0=R({__name:"FileTreeNode",props:{type:{},filename:{},level:{},diff:{},expanded:{type:Boolean},focus:{type:Boolean},filepath:{}},setup(e){const t=e,n=De("active-file-tree-node",X("")),o=De("on-file-tree-node-click",()=>{}),s=X(t.expanded);function r(){t.filename==="…"||t.filename==="..."||o(t.filepath||t.filename,t.type)}function i(a){t.type==="folder"?a.target.matches(".comment, .comment *")||(s.value=!s.value,r()):r()}return(a,l)=>(p(),g("div",P0,[b("p",{class:K(["vp-file-tree-info",{[e.type]:!0,focus:e.focus,expanded:e.type==="folder"?s.value:!1,active:e.type==="file"?m(n)===e.filepath:!1,diff:e.diff,add:e.diff==="add",remove:e.diff==="remove"}]),style:Fe({"--file-tree-level":-e.level}),onClick:i},[T(a.$slots,"icon"),b("span",{class:K(["name",[e.type]])},j(e.filename),3),a.$slots.comment?(p(),g("span",L0,[T(a.$slots,"comment")])):L("",!0)],6),e.type==="folder"?Vt((p(),g("div",A0,[T(a.$slots,"default")],512)),[[Qt,s.value]]):L("",!0)]))}});function Cd(e=!0){const t=X(e);function n(){t.value=!t.value}return[t,n]}function O0(e,t){const n=x(()=>{const i=_e(t);return i?[{name:"JavaScript",items:i.jsLib?.map(a=>({name:o(a),url:a}))},{name:"CSS",items:i.cssLib?.map(a=>({name:o(a),url:a}))}].filter(a=>a.items?.length):[]});function o(i){return i.slice(i.lastIndexOf("/")+1)}const s=X(!1);function r(){s.value=!s.value}return Ta(e,()=>{s.value=!1}),{resources:n,showResources:s,toggleResources:r}}function M0(e,t){const n=X({js:"",css:"",html:"",jsType:"",cssType:""});return Ie(()=>{if(!e.value)return;const o=_e(t);n.value.html=o?.html??"";const s=Array.from(e.value.querySelectorAll('div[class*="language-"]'));for(const r of s){const i=r.className.match(/language-(\w+)/)?.[1]??"",a=r.querySelector("pre")?.textContent??"";(i==="js"||i==="javascript")&&(n.value.js=a,n.value.jsType="js"),(i==="ts"||i==="typescript")&&(n.value.js=a,n.value.jsType="ts"),(i==="css"||i==="scss"||i==="less"||i==="stylus"||i==="styl")&&(n.value.css=a,n.value.cssType=i==="styl"?"stylus":i)}}),n}function R0(e,t,n){const o=Lt(),s=ra(),r=x(()=>o?.appContext.config.globalProperties.$isDark.value),i=X("100px");return Ie(()=>{if(!e.value)return;const a=e.value.contentDocument||e.value.contentWindow?.document;if(!a)return;const l=`VPDemoNormalDraw${s}`;Ue("message",c=>{const u=N0(c.data);u.type===l&&(i.value=`${u.height+5}px`)}),be([n,t],()=>{a.write(D0(_e(t)||"Demo",l,_e(n)))},{immediate:!0}),be(r,()=>{a.documentElement.dataset.theme=r.value?"dark":"light"},{immediate:!0})}),{id:s,height:i}}function D0(e,t,n){const{cssLib:o=[],jsLib:s=[],html:r,css:i,script:a}=n||{},l=o.map(u=>``).join(""),c=s.map(u=>`归档 | 仲夏夜之梦 \ No newline at end of file diff --git a/blog/categories/index.html b/blog/categories/index.html deleted file mode 100644 index 451ba33..0000000 --- a/blog/categories/index.html +++ /dev/null @@ -1 +0,0 @@ -分类 | 仲夏夜之梦 \ No newline at end of file diff --git a/blog/index.html b/blog/index.html index 94506ab..9851912 100644 --- a/blog/index.html +++ b/blog/index.html @@ -1,8 +1,7 @@ -博客 | 仲夏夜之梦
Skip to content

SiMengWebSite Notes

SiMengWebSite Notes

祀梦的笔记网站

\ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html deleted file mode 100644 index 9ceb244..0000000 --- a/blog/tags/index.html +++ /dev/null @@ -1 +0,0 @@ -标签 | 仲夏夜之梦
Skip to content

标签

contest2

algorithms2

python1

cs-fundamentals1

honkai-impact-3rd1

llm1

wsl2

image-hosting1

SiMengWebSite Notes

SiMengWebSite Notes

祀梦的笔记网站

\ No newline at end of file diff --git a/friends/index.html b/friends/index.html index 9a1cc5d..f6d223e 100644 --- a/friends/index.html +++ b/friends/index.html @@ -1 +1 @@ -My Friends | 仲夏夜之梦
Skip to content

My Friends

星星划过的时候,要记得许愿哦~♪

pengzhanbo
pengzhanbo

即使慢,驰而不息,纵会落后,纵会失败,但必须能够到达他所向的目标。

祀梦
祀梦

嗨~ 新的一天,从一场美妙的邂逅开始。

AJohn
AJohn

我希望正在读这句话的人永远开心

小小夏
小小夏

Kawasaki天下第一!

\ No newline at end of file +My Friends | 仲夏夜之梦
Skip to content

My Friends

星星划过的时候,要记得许愿哦~♪

pengzhanbo
pengzhanbo

即使慢,驰而不息,纵会落后,纵会失败,但必须能够到达他所向的目标。

祀梦
祀梦

嗨~ 新的一天,从一场美妙的邂逅开始。

AJohn
AJohn

我希望正在读这句话的人永远开心

小小夏
小小夏

Kawasaki天下第一!

\ No newline at end of file diff --git a/index.html b/index.html index 276a91f..ec1d48d 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -仲夏夜之梦
Skip to content

仲夏夜之梦

祀梦和小小夏的花园

在这里,每一个文字都承载着温暖与美好 🌸

\ No newline at end of file +仲夏夜之梦
Skip to content

仲夏夜之梦

祀梦和小小夏的花园

在这里,每一个文字都承载着温暖与美好 🌸

\ No newline at end of file diff --git a/ops/blockchain/index.html b/ops/blockchain/index.html index 692fd4c..399737e 100644 --- a/ops/blockchain/index.html +++ b/ops/blockchain/index.html @@ -1 +1 @@ -区块链运维指南 | 仲夏夜之梦
Skip to content

区块链运维指南

约 461 字大约 2 分钟

2025-09-28

\ No newline at end of file +区块链运维指南 | 区块链运维 | 仲夏夜之梦
Skip to content

区块链运维指南

约 461 字大约 2 分钟

2025-09-28

\ No newline at end of file diff --git a/ops/blockchain/practice/basic-deployment/index.html b/ops/blockchain/practice/basic-deployment/index.html index 05f1b80..95a9e88 100644 --- a/ops/blockchain/practice/basic-deployment/index.html +++ b/ops/blockchain/practice/basic-deployment/index.html @@ -1 +1 @@ -区块链产品设计和基础部署 | 仲夏夜之梦
Skip to content

区块链产品设计和基础部署

约 556 字大约 2 分钟

2025-09-28

\ No newline at end of file +区块链产品设计和基础部署 | 区块链运维 | 仲夏夜之梦
Skip to content

区块链产品设计和基础部署

约 556 字大约 2 分钟

2025-09-28

\ No newline at end of file diff --git a/ops/blockchain/practice/console-operator/index.html b/ops/blockchain/practice/console-operator/index.html index 5856da5..2bb7301 100644 --- a/ops/blockchain/practice/console-operator/index.html +++ b/ops/blockchain/practice/console-operator/index.html @@ -1,4 +1,4 @@ -Console 控制台操作 | 仲夏夜之梦
Skip to content

Console 控制台操作

约 344 字大约 1 分钟

2025-10-03

\ No newline at end of file +]
\ No newline at end of file diff --git a/ops/blockchain/practice/node-deployment/index.html b/ops/blockchain/practice/node-deployment/index.html index 61501fe..aa3daf7 100644 --- a/ops/blockchain/practice/node-deployment/index.html +++ b/ops/blockchain/practice/node-deployment/index.html @@ -1,4 +1,4 @@ -区块链网络部署与管理 | 仲夏夜之梦
Skip to content

区块链网络部署与管理

约 1067 字大约 4 分钟

2025-10-02

\ No newline at end of file diff --git a/ops/blockchain/theory/basic-principles/index.html b/ops/blockchain/theory/basic-principles/index.html index bb9c5c1..b49fab9 100644 --- a/ops/blockchain/theory/basic-principles/index.html +++ b/ops/blockchain/theory/basic-principles/index.html @@ -1 +1 @@ -区块链的基本原理 | 仲夏夜之梦
Skip to content

区块链的基本原理

约 17 字小于 1 分钟

2025-09-28

\ No newline at end of file +区块链的基本原理 | 区块链运维 | 仲夏夜之梦 \ No newline at end of file diff --git a/ops/blockchain/theory/fisco-bcos-node-type/index.html b/ops/blockchain/theory/fisco-bcos-node-type/index.html index 04b6849..7c7e6a4 100644 --- a/ops/blockchain/theory/fisco-bcos-node-type/index.html +++ b/ops/blockchain/theory/fisco-bcos-node-type/index.html @@ -1,4 +1,4 @@ -区块链的节点 | 仲夏夜之梦
Skip to content

区块链的节点

约 2233 字大约 7 分钟

2025-10-05

\ No newline at end of file diff --git a/ops/docker/db/mongodb/index.html b/ops/docker/db/mongodb/index.html index 83c7705..6c3d14a 100644 --- a/ops/docker/db/mongodb/index.html +++ b/ops/docker/db/mongodb/index.html @@ -1 +1 @@ -使用 Docker 部署 MongoDB | 仲夏夜之梦
Skip to content

使用 Docker 部署 MongoDB

约 352 字大约 1 分钟

2025-12-24

\ No newline at end of file +使用 Docker 部署 MongoDB | Docker | 仲夏夜之梦
Skip to content

使用 Docker 部署 MongoDB

约 352 字大约 1 分钟

2025-12-24

\ No newline at end of file diff --git a/ops/docker/db/postgres/index.html b/ops/docker/db/postgres/index.html index 72474ef..d77a34c 100644 --- a/ops/docker/db/postgres/index.html +++ b/ops/docker/db/postgres/index.html @@ -1,4 +1,4 @@ -使用 Docker 部署 Postgres | 仲夏夜之梦
Skip to content

使用 Docker 部署 Postgres

约 392 字大约 1 分钟

2025-12-25

\ No newline at end of file diff --git a/ops/docker/index.html b/ops/docker/index.html index b7403f8..bbaac3c 100644 --- a/ops/docker/index.html +++ b/ops/docker/index.html @@ -1 +1 @@ -Docker 部署运维 | 仲夏夜之梦
Skip to content

Docker 部署运维

约 386 字大约 1 分钟

2025-12-24

\ No newline at end of file +Docker 部署运维 | Docker | 仲夏夜之梦
Skip to content

Docker 部署运维

约 386 字大约 1 分钟

2025-12-24

\ No newline at end of file diff --git a/ops/docker/other/ETLCloud/index.html b/ops/docker/other/ETLCloud/index.html index 4fca525..d0d904e 100644 --- a/ops/docker/other/ETLCloud/index.html +++ b/ops/docker/other/ETLCloud/index.html @@ -1,4 +1,4 @@ -ETLCloud | 仲夏夜之梦
Skip to content

ETLCloud

约 595 字大约 2 分钟

2025-12-24

\ No newline at end of file diff --git a/ops/linux/basic-commands/index.html b/ops/linux/basic-commands/index.html index 66dd40c..851b837 100644 --- a/ops/linux/basic-commands/index.html +++ b/ops/linux/basic-commands/index.html @@ -1,4 +1,4 @@ -Linux 基础命令详解 | 仲夏夜之梦
Skip to content

Linux 基础命令详解

约 1160 字大约 4 分钟

2025-09-28

\ No newline at end of file diff --git a/ops/linux/index.html b/ops/linux/index.html index 2eb9722..bd06475 100644 --- a/ops/linux/index.html +++ b/ops/linux/index.html @@ -1 +1 @@ -Linux 运维笔记 | 仲夏夜之梦
Skip to content

Linux 运维笔记

约 430 字大约 1 分钟

2025-09-28

\ No newline at end of file +Linux 运维笔记 | Linux 运维 | 仲夏夜之梦
Skip to content

Linux 运维笔记

约 430 字大约 1 分钟

2025-09-28

\ No newline at end of file diff --git a/ops/linux/other/index.html b/ops/linux/other/index.html index 48b9417..09737d5 100644 --- a/ops/linux/other/index.html +++ b/ops/linux/other/index.html @@ -1 +1 @@ -一些零散的命令 | 仲夏夜之梦
Skip to content

一些零散的命令

约 45 字小于 1 分钟

2025-12-31

\ No newline at end of file +一些零散的命令 | Linux 运维 | 仲夏夜之梦
Skip to content

一些零散的命令

约 45 字小于 1 分钟

2025-12-31

\ No newline at end of file diff --git a/programming/leetcode/index.html b/programming/leetcode/index.html deleted file mode 100644 index 5108edd..0000000 --- a/programming/leetcode/index.html +++ /dev/null @@ -1 +0,0 @@ -LeetCode 题解笔记 | 仲夏夜之梦
Skip to content

LeetCode 题解笔记

约 268 字小于 1 分钟

2025-09-22

\ No newline at end of file diff --git a/programming/leetcode/question_sheet/beginner/index.html b/programming/leetcode/question_sheet/beginner/index.html deleted file mode 100644 index 354e21f..0000000 --- a/programming/leetcode/question_sheet/beginner/index.html +++ /dev/null @@ -1 +0,0 @@ -LeetCode 入门题单~(≧∇≦)ノ | 仲夏夜之梦
Skip to content

LeetCode 入门题单~(≧∇≦)ノ

约 203 字小于 1 分钟

2025年9月22日

\ No newline at end of file diff --git a/programming/solidity/analysis/case-analysis/index.html b/programming/solidity/analysis/case-analysis/index.html index aaf4dca..9659af3 100644 --- a/programming/solidity/analysis/case-analysis/index.html +++ b/programming/solidity/analysis/case-analysis/index.html @@ -1 +1 @@ -十份代码实例 | 仲夏夜之梦
Skip to content

十份代码实例

约 6208 字大约 21 分钟

2025-10-10

\ No newline at end of file +十份代码实例 | Solidity | 仲夏夜之梦
Skip to content

十份代码实例

约 6208 字大约 21 分钟

2025-10-10

\ No newline at end of file diff --git a/programming/solidity/basic-syntax/index.html b/programming/solidity/basic-syntax/index.html index 4f95e1f..589639d 100644 --- a/programming/solidity/basic-syntax/index.html +++ b/programming/solidity/basic-syntax/index.html @@ -1,4 +1,4 @@ -Solidity 基础语法与数据类型 | 仲夏夜之梦
Skip to content

Solidity 基础语法与数据类型

约 600 字大约 2 分钟

2025-09-22

\ No newline at end of file diff --git a/programming/solidity/index.html b/programming/solidity/index.html index 756232f..35779a6 100644 --- a/programming/solidity/index.html +++ b/programming/solidity/index.html @@ -1 +1 @@ -Solidity 学习笔记 | 仲夏夜之梦
Skip to content

Solidity 学习笔记

约 132 字小于 1 分钟

2025-09-28

\ No newline at end of file +Solidity 学习笔记 | Solidity | 仲夏夜之梦
Skip to content

Solidity 学习笔记

约 132 字小于 1 分钟

2025-09-28

\ No newline at end of file diff --git a/programming/solidity/other/hardhat/index.html b/programming/solidity/other/hardhat/index.html index 357bd42..49e2774 100644 --- a/programming/solidity/other/hardhat/index.html +++ b/programming/solidity/other/hardhat/index.html @@ -1,4 +1,4 @@ -Hardhat 相关知识 | 仲夏夜之梦
Skip to content

Hardhat 相关知识

约 332 字大约 1 分钟

2025-10-14

\ No newline at end of file diff --git a/programming/solidity/other/miscellaneous/index.html b/programming/solidity/other/miscellaneous/index.html index a0b4b4e..7c4a5dc 100644 --- a/programming/solidity/other/miscellaneous/index.html +++ b/programming/solidity/other/miscellaneous/index.html @@ -1,4 +1,4 @@ -一些没分类的小知识 | 仲夏夜之梦
Skip to content

一些没分类的小知识

约 721 字大约 2 分钟

2025-10-12

\ No newline at end of file diff --git a/programming/web/basic-syntax/html-css-js/index.html b/programming/web/basic-syntax/html-css-js/index.html index 9a09160..8c788f2 100644 --- a/programming/web/basic-syntax/html-css-js/index.html +++ b/programming/web/basic-syntax/html-css-js/index.html @@ -1,4 +1,4 @@ -Web 前端基础讲解 | 仲夏夜之梦
Skip to content

Web 前端基础讲解

约 4108 字大约 14 分钟

2025-10-28

\ No newline at end of file +});
\ No newline at end of file diff --git a/programming/web/basic-syntax/html-lists-and-semantic-layout/index.html b/programming/web/basic-syntax/html-lists-and-semantic-layout/index.html index 947d081..24bcc14 100644 --- a/programming/web/basic-syntax/html-lists-and-semantic-layout/index.html +++ b/programming/web/basic-syntax/html-lists-and-semantic-layout/index.html @@ -1,4 +1,4 @@ -html 列表与语义布局 | 仲夏夜之梦
Skip to content

html 列表与语义布局

约 2083 字大约 7 分钟

2025-11-02

\ No newline at end of file +});

结尾:先结构清晰,再上样式与交互

写网页像搭房子:先把房间(结构标签)安排好,再选家具颜色(CSS),最后加智能设备(JS)。

建议你先用这些常用标签做一个“个人名片页”,含标题、段落、头像图片、导航链接和一个简单表单。练熟后再加样式与交互。

延伸阅读

  • HTML 规范与参考(MDN):https://developer.mozilla.org/en-US/docs/Web/HTML
  • 无障碍与语义化:https://developer.mozilla.org/en-US/docs/Glossary/Semantics
\ No newline at end of file diff --git a/programming/web/basic-syntax/html-tags-attributes/index.html b/programming/web/basic-syntax/html-tags-attributes/index.html index 324b34c..fd4304c 100644 --- a/programming/web/basic-syntax/html-tags-attributes/index.html +++ b/programming/web/basic-syntax/html-tags-attributes/index.html @@ -1,4 +1,4 @@ - = 一个个纸箱 箱子里 = 可以放各种物品(文字、图片、按钮...">HTML 常用标签与属性 | 仲夏夜之梦 = 一个个纸箱 箱子里 = 可以放各种物品(文字、图片、按钮...">
Skip to content

HTML 常用标签与属性

约 2603 字大约 9 分钟

2025-11-2

\ No newline at end of file +img { border: 2px solid #eee; border-radius: 50%; }
\ No newline at end of file diff --git a/programming/web/basic-syntax/javascript-basics/index.html b/programming/web/basic-syntax/javascript-basics/index.html index c416dc3..50d8d40 100644 --- a/programming/web/basic-syntax/javascript-basics/index.html +++ b/programming/web/basic-syntax/javascript-basics/index.html @@ -1,4 +1,4 @@ -JavaScript 基础知识 | 仲夏夜之梦
Skip to content

JavaScript 基础知识

约 2518 字大约 8 分钟

2025-11-2

\ No newline at end of file diff --git a/programming/web/index.html b/programming/web/index.html index 31449ae..563d022 100644 --- a/programming/web/index.html +++ b/programming/web/index.html @@ -1 +1 @@ -Web 概览与学习路径 | 仲夏夜之梦
Skip to content

Web 概览与学习路径

约 739 字大约 2 分钟

2025-10-28

\ No newline at end of file +Web 概览与学习路径 | Web 开发 | 仲夏夜之梦
Skip to content

Web 概览与学习路径

约 739 字大约 2 分钟

2025-10-28

\ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index f279eb8..2dbb9f6 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,3 +1,3 @@ -https://www.simengweb.com/about/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/friends/dailyhttps://www.simengweb.com/dailyhttps://www.simengweb.com/tools/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/article/free_model_api/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/article/8gihio2v/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/ea20bdda-0d49-4472-a647-2e305a930d11/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/article/deploying-wsl2-on-windows-10/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/article/operate-wsl2/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/ops/blockchain/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/other/ETLCloud/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/db/mongodb/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/db/postgres/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/linux/basic-commands/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/linux/other/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/linux/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/leetcode/question_sheet/beginner/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/leetcode/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/basic-syntax/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/analysis/case-analysis/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/certification/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/theory/cryptography/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/practice/basic-deployment/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/practice/console-operator/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/practice/node-deployment/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/theory/basic-principles/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/theory/fisco-bcos-node-type/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/html-css-js/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/html-lists-and-semantic-layout/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/html-tags-attributes/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/javascript-basics/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/other/hardhat/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/other/miscellaneous/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/basis/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/exam/cet-4/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/reading-writing/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/listening-speaking/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/grammar/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/vocabulary/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/writing-translation/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/certification/sys-analyst/math/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/subject/certification/sys-analyst/planning/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/subject/certification/sys-analyst/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/theory/cryptography/permutation-encryption/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/theory/cryptography/substitution-ciphers/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/blog/dailyhttps://www.simengweb.com/blog/tags/dailyhttps://www.simengweb.com/blog/archives/dailyhttps://www.simengweb.com/blog/categories/daily \ No newline at end of file +https://www.simengweb.com/about/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/friends/dailyhttps://www.simengweb.com/dailyhttps://www.simengweb.com/tools/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/archives/b1c77a1d-d402-4788-8049-fa3aeb12ebd0/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/d0ad06b9-d675-461c-a8ce-f47baeeb291d/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/article/8gihio2v/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/ea20bdda-0d49-4472-a647-2e305a930d11/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/article/deploying-wsl2-on-windows-10/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/1325a3bf-91d7-43ff-9630-e894549e12c1/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/article/operate-wsl2/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/56ea3081-9c69-43d7-96c8-2812ec08be2c/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/6f41cabe-41e6-4a09-9f1c-af7dd709a35d/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/archives/a5b3ea8e-7c3c-40a1-a737-26e911623da8/2026-03-28T16:28:45.000Zdailyhttps://www.simengweb.com/article/free_model_api/2026-03-29T05:21:46.000Zdailyhttps://www.simengweb.com/article/windows11-ragflow-deployment-mcp/2026-03-29T05:21:46.000Zdailyhttps://www.simengweb.com/ai/2026-03-29T05:21:46.000Zdailyhttps://www.simengweb.com/ops/blockchain/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/other/ETLCloud/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/db/mongodb/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/db/postgres/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/docker/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/linux/basic-commands/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/linux/other/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/linux/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/basic-syntax/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/analysis/case-analysis/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/theory/cryptography/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/certification/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/subject/english/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/practice/basic-deployment/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/practice/console-operator/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/practice/node-deployment/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/theory/basic-principles/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/ops/blockchain/theory/fisco-bcos-node-type/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/other/hardhat/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/solidity/other/miscellaneous/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/html-css-js/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/html-lists-and-semantic-layout/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/html-tags-attributes/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/programming/web/basic-syntax/javascript-basics/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/theory/cryptography/permutation-encryption/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/theory/cryptography/substitution-ciphers/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/certification/sys-analyst/math/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/subject/certification/sys-analyst/planning/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/subject/certification/sys-analyst/2026-03-01T12:47:17.000Zdailyhttps://www.simengweb.com/subject/english/basis/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/exam/cet-4/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/grammar/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/listening-speaking/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/reading-writing/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/vocabulary/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/subject/english/writing-translation/2026-01-09T02:03:40.000Zdailyhttps://www.simengweb.com/blog/dailyhttps://www.simengweb.com/article/tags/dailyhttps://www.simengweb.com/article/archives/dailyhttps://www.simengweb.com/article/categories/daily \ No newline at end of file diff --git a/subject/certification/index.html b/subject/certification/index.html index 9be5fe9..17fd9f4 100644 --- a/subject/certification/index.html +++ b/subject/certification/index.html @@ -1 +1 @@ -系统分析师 | 仲夏夜之梦
Skip to content

系统分析师

约 1749 字大约 6 分钟

2026-03-01

\ No newline at end of file +系统分析师 | 系统分析师 | 仲夏夜之梦
Skip to content

系统分析师

约 1749 字大约 6 分钟

2026-03-01

\ No newline at end of file diff --git a/subject/certification/sys-analyst/index.html b/subject/certification/sys-analyst/index.html index d2c8bba..2840496 100644 --- a/subject/certification/sys-analyst/index.html +++ b/subject/certification/sys-analyst/index.html @@ -1 +1 @@ -第一章 绪论 | 仲夏夜之梦
Skip to content

第一章 绪论

约 36 字小于 1 分钟

2026-03-01

\ No newline at end of file +第一章 绪论 | 系统分析师 | 仲夏夜之梦
Skip to content

第一章 绪论

约 36 字小于 1 分钟

2026-03-01

\ No newline at end of file diff --git a/subject/certification/sys-analyst/math/index.html b/subject/certification/sys-analyst/math/index.html index f53ded9..e67e31c 100644 --- a/subject/certification/sys-analyst/math/index.html +++ b/subject/certification/sys-analyst/math/index.html @@ -1 +1 @@ -第二章 数学与工程基础 | 仲夏夜之梦
Skip to content

第二章 数学与工程基础

约 46 字小于 1 分钟

2026-03-01

\ No newline at end of file +第二章 数学与工程基础 | 系统分析师 | 仲夏夜之梦
Skip to content

第二章 数学与工程基础

约 46 字小于 1 分钟

2026-03-01

\ No newline at end of file diff --git a/subject/certification/sys-analyst/planning/index.html b/subject/certification/sys-analyst/planning/index.html index 10e2354..b61c510 100644 --- a/subject/certification/sys-analyst/planning/index.html +++ b/subject/certification/sys-analyst/planning/index.html @@ -1 +1 @@ -第十章 系统规划与分析 | 仲夏夜之梦
Skip to content

第十章 系统规划与分析

约 46 字小于 1 分钟

2026-03-01

\ No newline at end of file +第十章 系统规划与分析 | 系统分析师 | 仲夏夜之梦
Skip to content

第十章 系统规划与分析

约 46 字小于 1 分钟

2026-03-01

\ No newline at end of file diff --git a/subject/english/basis/index.html b/subject/english/basis/index.html index a404a16..a6534d8 100644 --- a/subject/english/basis/index.html +++ b/subject/english/basis/index.html @@ -1 +1 @@ -英语环境配置 | 仲夏夜之梦
Skip to content

英语环境配置

约 72 字小于 1 分钟

2025-10-20

\ No newline at end of file +英语环境配置 | 英语学习 | 仲夏夜之梦
Skip to content

英语环境配置

约 72 字小于 1 分钟

2025-10-20

\ No newline at end of file diff --git a/subject/english/exam/cet-4/index.html b/subject/english/exam/cet-4/index.html index 0bf5e66..eff8546 100644 --- a/subject/english/exam/cet-4/index.html +++ b/subject/english/exam/cet-4/index.html @@ -1 +1 @@ -英语四级 (CET-4) 备考指南 | 仲夏夜之梦
Skip to content

英语四级 (CET-4) 备考指南

约 415 字大约 1 分钟

2025-10-20

\ No newline at end of file +英语四级 (CET-4) 备考指南 | 英语学习 | 仲夏夜之梦
Skip to content

英语四级 (CET-4) 备考指南

约 415 字大约 1 分钟

2025-10-20

\ No newline at end of file diff --git a/subject/english/grammar/index.html b/subject/english/grammar/index.html index 9ac4542..f4ff3ea 100644 --- a/subject/english/grammar/index.html +++ b/subject/english/grammar/index.html @@ -1 +1 @@ -核心语法与句型 | 仲夏夜之梦
Skip to content

核心语法与句型

约 740 字大约 2 分钟

2025-10-20

\ No newline at end of file +核心语法与句型 | 英语学习 | 仲夏夜之梦
Skip to content

核心语法与句型

约 740 字大约 2 分钟

2025-10-20

\ No newline at end of file diff --git a/subject/english/index.html b/subject/english/index.html index a9ca1d6..86a991e 100644 --- a/subject/english/index.html +++ b/subject/english/index.html @@ -1 +1 @@ -英语学习笔记 | 仲夏夜之梦
Skip to content

英语学习笔记

约 123 字小于 1 分钟

2025-10-20

\ No newline at end of file +英语学习笔记 | 英语学习 | 仲夏夜之梦
Skip to content

英语学习笔记

约 123 字小于 1 分钟

2025-10-20

\ No newline at end of file diff --git a/subject/english/listening-speaking/index.html b/subject/english/listening-speaking/index.html index 7ebddfc..38fc4da 100644 --- a/subject/english/listening-speaking/index.html +++ b/subject/english/listening-speaking/index.html @@ -1 +1 @@ -听力口语训练 | 仲夏夜之梦
Skip to content

听力口语训练

约 729 字大约 2 分钟

2025-10-20

\ No newline at end of file +听力口语训练 | 英语学习 | 仲夏夜之梦
Skip to content

听力口语训练

约 729 字大约 2 分钟

2025-10-20

\ No newline at end of file diff --git a/subject/english/reading-writing/index.html b/subject/english/reading-writing/index.html index 482d1e7..5ec7aa2 100644 --- a/subject/english/reading-writing/index.html +++ b/subject/english/reading-writing/index.html @@ -1 +1 @@ -阅读提升 | 仲夏夜之梦
Skip to content

阅读提升

约 40 字小于 1 分钟

2025-10-20

\ No newline at end of file +阅读提升 | 英语学习 | 仲夏夜之梦
Skip to content

阅读提升

约 40 字小于 1 分钟

2025-10-20

\ No newline at end of file diff --git a/subject/english/vocabulary/index.html b/subject/english/vocabulary/index.html index a0a7a72..cebb50b 100644 --- a/subject/english/vocabulary/index.html +++ b/subject/english/vocabulary/index.html @@ -1 +1 @@ -词汇学习与记忆法 | 仲夏夜之梦
Skip to content

词汇学习与记忆法

约 62 字小于 1 分钟

2025-10-20

\ No newline at end of file +词汇学习与记忆法 | 英语学习 | 仲夏夜之梦
Skip to content

词汇学习与记忆法

约 62 字小于 1 分钟

2025-10-20

\ No newline at end of file diff --git a/subject/english/writing-translation/index.html b/subject/english/writing-translation/index.html index 41a2ea9..aaabb23 100644 --- a/subject/english/writing-translation/index.html +++ b/subject/english/writing-translation/index.html @@ -1 +1 @@ -写译 | 仲夏夜之梦
Skip to content

写译

约 46 字小于 1 分钟

2025-10-22

\ No newline at end of file +写译 | 英语学习 | 仲夏夜之梦
Skip to content

写译

约 46 字小于 1 分钟

2025-10-22

\ No newline at end of file diff --git a/theory/cryptography/index.html b/theory/cryptography/index.html index 9cf552b..4c9c408 100644 --- a/theory/cryptography/index.html +++ b/theory/cryptography/index.html @@ -1,7 +1,7 @@ -密码学基础 | 仲夏夜之梦
Skip to content

密码学基础

约 1603 字大约 5 分钟

2025-10-27

\ No newline at end of file diff --git a/theory/cryptography/permutation-encryption/index.html b/theory/cryptography/permutation-encryption/index.html index 815b61c..e30107e 100644 --- a/theory/cryptography/permutation-encryption/index.html +++ b/theory/cryptography/permutation-encryption/index.html @@ -1,3 +1,3 @@ -置换密码 - 等待完善 | 仲夏夜之梦
Skip to content

置换密码 - 等待完善

约 1022 字大约 3 分钟

2025-10-29

\ No newline at end of file diff --git a/theory/cryptography/substitution-ciphers/index.html b/theory/cryptography/substitution-ciphers/index.html index d311d5f..73a2ad1 100644 --- a/theory/cryptography/substitution-ciphers/index.html +++ b/theory/cryptography/substitution-ciphers/index.html @@ -1,3 +1,3 @@ -替换密码 | 仲夏夜之梦
Skip to content

替换密码

约 1648 字大约 5 分钟

2025-10-27

\ No newline at end of file diff --git a/tools/index.html b/tools/index.html index 6561aae..1dbc513 100644 --- a/tools/index.html +++ b/tools/index.html @@ -1 +1 @@ -常用Web工具 | 仲夏夜之梦
Skip to content

常用Web工具

约 503 字大约 2 分钟

2025-09-22

贡献者: 祀梦
\ No newline at end of file +常用Web工具 | 仲夏夜之梦
Skip to content

常用Web工具

约 503 字大约 2 分钟

2025-09-22

\ No newline at end of file