Repository: gdy666/lucky Branch: master Commit: b4cf9edc9d8f Files: 186 Total size: 2.8 MB Directory structure: gitextract_wc7gf33_/ ├── .gitattributes ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── berforebuild.bat ├── config/ │ ├── appinfo.go │ ├── blacklist.go │ ├── config.go │ ├── ddns.go │ ├── portforward.go │ ├── reverseproxy.go │ ├── safecheck.go │ ├── sslcertficate.go │ ├── whitelist.go │ └── wol.go ├── ddns/ │ ├── alidns.go │ ├── baidu.go │ ├── callback.go │ ├── cloudflare.go │ ├── dns.go │ ├── dnscommon.go │ ├── dnspod.go │ ├── godaddy.go │ ├── huawei.go │ ├── porkbun.go │ └── worker.go ├── ddnscore.go/ │ ├── cache.go │ ├── domain.go │ ├── taskinfo.go │ ├── taskstate.go │ └── webhook.go ├── debug.go ├── go.mod ├── go.sum ├── goports ├── main.go ├── module/ │ ├── ddns/ │ │ ├── conf/ │ │ │ └── ddns.go │ │ ├── ddnscore.go/ │ │ │ ├── cache.go │ │ │ ├── domain.go │ │ │ ├── taskinfo.go │ │ │ ├── taskstate.go │ │ │ └── webhook.go │ │ ├── ddnsgo/ │ │ │ └── ddns.go │ │ ├── providers/ │ │ │ ├── alidns.go │ │ │ ├── baidu.go │ │ │ ├── callback.go │ │ │ ├── cloudflare.go │ │ │ ├── dnspod.go │ │ │ ├── godaddy.go │ │ │ ├── huawei.go │ │ │ ├── porkbun.go │ │ │ ├── provider.go │ │ │ └── providercommon.go │ │ └── worker.go │ ├── portforward/ │ │ ├── conf/ │ │ │ └── portforward.go │ │ ├── portforward.go │ │ └── socketproxy/ │ │ ├── baseproxyconf.go │ │ ├── proxy.go │ │ ├── socketproxy.go │ │ ├── tcpproxy.go │ │ ├── tcpudpcommon.go │ │ └── udpproxy.go │ ├── reverseproxy/ │ │ ├── conf/ │ │ │ └── reverseproxy.go │ │ ├── proxy.go │ │ └── reverseproxy.go │ ├── safe/ │ │ ├── blacklist.go │ │ ├── conf/ │ │ │ ├── black.go │ │ │ └── white.go │ │ ├── safe.go │ │ ├── safecheck.go │ │ └── whitelist.go │ ├── service/ │ │ └── service.go │ ├── sslcertficate/ │ │ ├── conf/ │ │ │ └── sslconf.go │ │ ├── ssl.go │ │ └── sslcertficate.go │ ├── weblog/ │ │ └── weblog.go │ └── wol/ │ ├── client.go │ ├── conf/ │ │ ├── device.go │ │ └── service.go │ ├── ctl.go │ ├── device.go │ ├── httpapi/ │ │ └── api.go │ ├── module.go │ ├── msg.go │ ├── service.go │ └── websocketcommon.go ├── reverseproxy/ │ └── proxy.go ├── scripts/ │ ├── lucky.service │ ├── luckyservice │ └── misnap_init.sh ├── socketproxy/ │ ├── baseproxyconf.go │ ├── proxy.go │ ├── tcpproxy.go │ ├── tcpudpcommon.go │ └── udpproxy.go ├── thirdlib/ │ ├── fatedier/ │ │ └── golib/ │ │ └── json/ │ │ ├── msg.go │ │ ├── pack.go │ │ └── process.go │ ├── gdylib/ │ │ ├── bemfa/ │ │ │ ├── device.go │ │ │ └── global.go │ │ ├── blinker/ │ │ │ ├── VoiceAssistant.go │ │ │ ├── device.go │ │ │ └── global.go │ │ ├── dnsutils/ │ │ │ └── resolve.go │ │ ├── fileutils/ │ │ │ ├── fileutils.go │ │ │ ├── run_linux.go │ │ │ └── run_windows.go │ │ ├── ginutils/ │ │ │ ├── basicAuth.go │ │ │ ├── jwt.go │ │ │ ├── staticFilesHandler.go │ │ │ └── utils.go │ │ ├── httputils/ │ │ │ ├── common.go │ │ │ ├── goututils.go │ │ │ └── httpclient.go │ │ ├── logsbuffer/ │ │ │ └── logsbuffer.go │ │ ├── netinterfaces/ │ │ │ └── netInterface.go │ │ ├── pool/ │ │ │ └── buf.go │ │ ├── recoverutil/ │ │ │ └── recoverutil.go │ │ ├── service/ │ │ │ └── service.go │ │ ├── slice/ │ │ │ └── options.go │ │ ├── stderrredirect/ │ │ │ ├── stderrredirect_linux.go │ │ │ └── stderrredirect_windows.go │ │ ├── stringsp/ │ │ │ ├── binary.go │ │ │ ├── randomutils.go │ │ │ ├── stringsp.go │ │ │ └── url.go │ │ └── websocketController/ │ │ └── controller.go │ ├── go-wol/ │ │ ├── magic_packet.go │ │ └── wol.go │ └── jeessy2/ │ └── ddns-go/ │ └── util/ │ ├── aliyun_signer.go │ ├── aliyun_signer_util.go │ ├── baidu_signer.go │ ├── escape.go │ ├── huawei_signer.go │ └── net.go ├── web/ │ ├── adminviews/ │ │ ├── .gitignore │ │ ├── .vscode/ │ │ │ └── extensions.json │ │ ├── README.md │ │ ├── auto-imports.d.ts │ │ ├── components.d.ts │ │ ├── dist/ │ │ │ ├── assets/ │ │ │ │ ├── index.0c84c960.js │ │ │ │ ├── index.abda1f8d.css │ │ │ │ ├── index.e5c8aec2.js │ │ │ │ └── index.f23c7bd8.css │ │ │ └── index.html │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── App.vue │ │ │ ├── apis/ │ │ │ │ ├── storage.js │ │ │ │ └── utils.js │ │ │ ├── assets/ │ │ │ │ ├── appbase.css │ │ │ │ ├── base.css │ │ │ │ └── common-layout.scss │ │ │ ├── components/ │ │ │ │ ├── About.vue │ │ │ │ ├── BlackLists.vue │ │ │ │ ├── DDNS.vue │ │ │ │ ├── DDNSSet.vue │ │ │ │ ├── Log.vue │ │ │ │ ├── Login.vue │ │ │ │ ├── PSet.vue │ │ │ │ ├── Pmenu.vue │ │ │ │ ├── PortForward.vue │ │ │ │ ├── PortForwardSet.vue │ │ │ │ ├── ReverseProxy.vue │ │ │ │ ├── SSL.vue │ │ │ │ ├── Status.vue │ │ │ │ ├── WhiteListSet.vue │ │ │ │ ├── WhiteLists.vue │ │ │ │ └── tools/ │ │ │ │ ├── WOL.vue │ │ │ │ └── WOLServiceSet.vue │ │ │ ├── main.js │ │ │ ├── request/ │ │ │ │ └── index.js │ │ │ └── utils/ │ │ │ ├── ui.ts │ │ │ └── utils.ts │ │ └── vite.config.js │ ├── blackwhitelist.go │ ├── common.go │ ├── configure.go │ ├── ddns.go │ ├── portforward.go │ ├── reverseproxy.go │ ├── ssl.go │ ├── web.go │ └── wol.go └── web.go ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitattributes ================================================ *.* linguist-language=Go ================================================ FILE: .gitignore ================================================ # Binaries for programs and plugins *.exe *.exe~ *.dll *.so *.dylib relayports lucky # Test binary, built with `go test -c` *.test .goreleaser.yaml # Output of the go coverage tool, specifically when used with LiteIDE *.out *.log *.upx *.pem *.crt *.key lucky.conf # Dependency directories (remove the comment below to include it) # vendor/ /dist/ config.json ================================================ FILE: Dockerfile ================================================ FROM scratch COPY lucky / EXPOSE 16601 WORKDIR /goodluck ENTRYPOINT ["/lucky"] CMD ["-c", "/goodluck/lucky.conf"] ================================================ FILE: LICENSE ================================================ MIT License Copyright (c) 2022 gdy , 272288813@qq.com Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Lucky(万吉) 本项目 CDN 加速及安全防护由 Tencent EdgeOne 赞助 [亚洲最佳CDN、边缘和安全解决方案 - Tencent EdgeOne](https://edgeone.ai/zh?from=github) ![](https://edgeone.ai/media/34fe3a45-492d-4ea4-ae5d-ea1087ca7b4b.png) ## 注意:源码公布到1.4.10版本,后续暂无继续开源计划。 ## 麻烦各位大佬发表lucky相关教程的时候不要加上“开源”神器,开源二字我不配,lucky后续也没开源打算。 1.开源并不等于安全,闭源并不等于不安全。闭源软件开发也会受到安全人员的审查。无论是开源还是闭源软件,都有可能会受到各种安全人员的审查和研究。安全人员可以使用各种技术手段来检测软件的安全性和漏洞。 2. 个人观点lucky这种应用类软件更多只是体力活,毫无技术含量,开源的优势在于透明度和社区参与,更多劳动力参与,但也可能导致功能过多、复杂度增加的问题。闭源软件的优势在于我想怎么写就怎么写,即使还未能从lucky中获利,lucky对我也有更深的特殊含义。 3. 我对lucky的规划还有一大部分未实现,不想被人当免费劳动力使唤,不解释太多,就这样。 ## 如果您是第一次使用Lucky,请务必先访问 https://lucky666.cn ,并仔细阅读相关的文档,以获得必要的信息和答案。在这些文档中,您可以了解到Lucky的基本功能和特性,掌握Lucky的使用方法,以及解决常见的问题和疑惑。 - [Lucky(万吉)](#) - [特性](#特性) - [一键安装](#一键安装) - [OpenwrtIPK包安装](#OpenwrtIPK包安装) - [使用](#使用) - [Docker中使用](#docker中使用) - [后台界面](#后台界面) - [开发编译](#开发编译) - [更新日志](#更新日志) - [使用注意与常见问题](#使用注意与常见问题) ## 特性 Lucky最初是作为一个小工具,由开发者为自己的个人使用而开发,用于替代socat,在小米路由AX6000官方系统上实现公网IPv6转内网IPv4的功能。Lucky的设计始终致力于让更多的Linux嵌入式设备运行,以实现或集成个人用户常用功能,降低用户的硬件和软件操作学习成本,同时引导使用者注意网络安全。随着版本更新和网友反馈,Lucky不断迭代改进,拥有更多功能和更好的性能,成为用户值得信赖的工具。 Lucky 的核心程序完全采用 Golang 实现,具有高效、稳定、跨平台等优点。其后台前端则采用 Vue3.2 技术进行开发,具有良好的用户体验和响应速度。此外,Lucky 的管理后台采用前后端分离的架构,第三方开发者也可以自由使用OpenToken轻松调用Lucky的各种功能接口。 ## 功能模块 目前已经实现/集成的主要功能模块有 - 端口转发 - 动态域名(DDNS) - Web服务 - Stun内网穿透 - 网络唤醒 - 计划任务 - ACME自动证书 - 网络存储 ### 端口转发 1. 主要用于实现公网 IPv6 转内网 IPv4 的 TCP/UDP 端口转发。 2. 支持界面化的管理转发规则,用户可以通过 web 后台轻松地进行规则的添加、删除、修改等操作。 3. 单条转发规则支持设置多个转发端口,这样可以实现多个内网服务端口的转发。 4. 提供了一键开关和定时开关功能,用户可以根据自己的需求设置转发规则的开启和关闭时间,还可以使用计划任务模块进行定时开关。 5. 单条规则支持黑白名单安全模式切换,用户可以根据需要选择使用白名单模式或黑名单模式。 6. 白名单模式可以让没有安全验证的内网服务端口稍微安全一点暴露到公网,提高服务可用性。 7. 实时记录最新的访问日志,方便用户了解转发情况。 8. 规则列表日志一目了然,用户可以方便地追踪转发异常,及时进行排查和处理。 ### 动态域名(DDNS) 1. 支持接入多个不同的 DNS 服务商。 2. 支持全功能自定义回调(Callback),包括设置 BasicAuth,方便接入任意 DNS 服务商。 3. Webhook 支持自定义 headers。 4. 内置常用免费 DNS 服务商设置模板(每步、No-IP、Dynv6、Dynu),通过自定义回调进行快速接入,仅需修改相应用户密码或 token 即可一键填充。 5. 支持 阿里云,百度云,华为云,京东云,腾讯云,火山引擎,帝恩爱斯-DNS.LA,Cloudflare,deSEC,DNSPod.CN,DNSPod.COM,Dynadot,Dynv6,Freemyip ,GoDaddy,Name.com,NameSilo,Porkbun,Vercel等服务商。 ### Web服务 1. 支持反向代理、重定向和 URL 跳转。 2. 支持 HTTP 基本认证。 3. 支持 IP 黑白名单模式。 4. 支持 UserAgent 黑白名单。 5. 规则日志清晰易懂,便于追踪异常。 6. 支持一键开关规则和定时开关规则。 ### Stun内网穿透 1. 实现内网穿透,无需公网IPv4地址。 2. 适合于国内运营商级NAT1宽带网络. ### 网络唤醒 1. 支持远程控制唤醒和关机操作 2. 支持接入第三方物联网平台(点灯科技 巴法云),可通过各大平台的语音助手控制设备唤醒和关机. ### 计划任务 1. 不依赖 Linux 系统的 Cron,支持 Windows 系统。 2. 操作简便,可视化编辑。 3. 可操作控制 Lucky 框架内的其他模块开关。 ### ACME自动证书 1. 支持 ACME 自动证书的申请和续签。 2. 支持 阿里云,百度云,华为云,京东云,腾讯云,火山引擎,帝恩爱斯-DNS.LA,Cloudflare,deSEC,DNSPod.CN,DNSPod.COM,Dynadot,Dynv6,Freemyip ,GoDaddy,Name.com,NameSilo,Porkbun,Vercel等服务商. ### 网络存储 1. 网络存储模块是一个应用范围广泛的模块,它提供了将本地存储、WebDAV和阿里云盘挂载到Lucky内部的各个文件类服务功能。 2. 通过网络存储模块,你可以将添加的存储挂载到Web服务的文件服务、WebDAV、FTP和FileBrowser模块,实现更加便捷的文件管理和访问。 ## 一键安装 - [一键安装详看这里](https://github.com/gdy666/lucky-files) ## OpenwrtIPK包安装 - [Openwrt IPK包](https://github.com/gdy666/luci-app-lucky) ## 使用 - 默认后台管理地址 http://<运行设备IP>:16601 默认登录账号: 666 默认登录密码: 666 - 常规使用请用 -cd <配置文件夹路径> 指定配置文件夹的方式运行 ```bash #仅指定配置文件夹路径(如果配置文件夹不存在会自动创建),建议使用绝对路径 lucky -cd luckyconf ``` ## Docker中使用 - 不挂载主机目录, 删除容器同时会删除配置 ```bash # host模式, 同时支持IPv4/IPv6, Liunx系统推荐 docker run -d --name lucky --restart=always --net=host gdy666/lucky # 桥接模式, 只支持IPv4, Mac/Windows推荐,windows 不推荐使用docker版本 docker run -d --name lucky --restart=always -p 16601:16601 gdy666/lucky ``` - 在浏览器中打开`http://主机IP:16601`,修改你的配置,成功 - [可选] 挂载主机目录, 删除容器后配置不会丢失。可替换 `/root/luckyconf` 为主机目录, 配置文件夹为lucky ```bash docker run -d --name lucky --restart=always --net=host -v /root/luckyconf:/goodluck gdy666/lucky ``` ## 宝塔Docker安装 1. 安装宝塔面板 (9.2.0版本及以上),前往 [宝塔面板](https://www.bt.cn/new/download.html) 官网,选择正式版的脚本下载安装 2. 安装后登录宝塔面板,在菜单栏中点击 Docker ,首次进入会提示安装 Docker 服务,点击立即安装,按提示完成安装 3. 安装完成后在应用商店中找到 lucky ,点击安装,配置基本选项 即可完成安装 #开发编译 ```bash go build -v -tags "adminweb nomsgpack" -ldflags="-s -w" ``` # 更新日志 2026-02-01 v2.27.2 1. 重构并优化文件服务/WebDav 前端显示。 2. CorazaWAF: 内置规则集更新至 v4.22.0。 新增每条规则的功能提示。 新增出入站阈值自定义功能。 注:WAF 建议按需开启,请勿全选规则,避免误判正常访问。 如何验证 WAF 是否生效? 在已开启防护的域名后面加上测试后缀,例如: https://你的域名.com/?test=../../../ 生效表现:页面被拦截(显示 403 Forbidden ,Lucky/WAF)。 未生效表现:页面能正常打开或显示 404。 2026-01-31 Lucky v2.27.1 1. 修复已知Bug。 2. 网页认证页面重构优化 2026-01-30 Lucky v2.27.1 beta1 1. IP 地址库:更新 ip2region 解析引擎 2. Cloudflared:同步官方最新源码 3. Rclone 同步官方最新源码 4. 轻面板 内置面板源: 现已提供 4 种主题风格切换 站点页面新增“搜索引擎”显示设置,支持快捷搜索 新增前端静态源自定义默认参数功能。支持预设背景、主题及默认标签页等默认参数。 5.修复了已知的部分 Bug。 2026-01-28 Lucky v2.27.0 Beta1 | 轻导航体验版,全版本支持。 本次更新带来了全新的 “轻导航” 功能,旨在通过极简的配置实现高效的面板管理。 提供美观、响应式的站点导航内外网识别、多链接支持,Docker 容器监控、Lucky 服务状态展示等功能。 快速上手:进入 Web服务 -> 子规则 -> 选择“轻面板”服务类型 ,填写前端域名编辑轻面板设置即可。 配置建议: 初次体验:无需修改“前端静态源”、“全局设置”及“图标源”,维持默认配置即可秒速开通。 深度定制:支持自行部署前端源码,打造个性化导航界面。 🛠 相关资源 内置面板前端源码:https://github.com/gdy666/LuckyLightPanel 内置图标库:icons.666666.host 进阶技巧:非前端开发者如需深度定制,推荐结合 qoder IDE 使用 AI 辅助修改。 Qoder注册下载地址:https://qoder.com/referral?referral_code=uaJw7kR25Ed4hiHfjRroImw6eoVfmXqj ⚠️ 注意事项 Alpha 阶段:当前为体验版本,正式版发布时可能存在配置兼容性调整。 持续关注:建议密切关注群公告,以便及时获取配置迁移或更新通知。 [更多日志请查看](https://lucky666.cn/docs/category/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97) 。 ================================================ FILE: berforebuild.bat ================================================ cd ./web/adminviews npm run build ================================================ FILE: config/appinfo.go ================================================ package config import ( "runtime" "time" ) type AppInfo struct { AppName string Version string OS string ARCH string Date string RunTime string GoVersion string } var appInfo AppInfo func GetAppInfo() *AppInfo { return &appInfo } func InitAppInfo(version, date string) { appInfo.AppName = "Lucky" appInfo.Version = version appInfo.Date = date appInfo.OS = runtime.GOOS appInfo.ARCH = runtime.GOARCH appInfo.RunTime = time.Now().Format("2006-01-02 15:04:05") appInfo.GoVersion = runtime.Version() time.Now().Format("2006-01-02T15:04:05Z") buildTime, err := time.Parse("2006-01-02T15:04:05Z", date) if err != nil { return } appInfo.Date = buildTime.Local().Format("2006-01-02 15:04:05") } ================================================ FILE: config/blacklist.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package config import ( "fmt" "net" "strings" "time" ) type BlackListItem WhiteListItem func (w *BlackListItem) Contains(ip string) bool { netIP := net.ParseIP(ip) if netIP == nil { return false } if w.NetIP != nil { return w.NetIP.Equal(netIP) } if w.Cidr != nil { return w.Cidr.Contains(netIP) } return false } type BlackListConfigure struct { BlackList []BlackListItem `json:"BlackList"` //黑名单列表 } func GetBlackList() []BlackListItem { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() BlackListFlush(false) var resList []BlackListItem if programConfigure == nil { return resList } for i := range programConfigure.BlackListConfigure.BlackList { resList = append(resList, programConfigure.BlackListConfigure.BlackList[i]) } return resList } func BlackListInit() { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var netIP net.IP var cidr *net.IPNet for i := range programConfigure.BlackListConfigure.BlackList { netIP = nil cidr = nil if strings.Contains(programConfigure.BlackListConfigure.BlackList[i].IP, "/") { _, cidr, _ = net.ParseCIDR(programConfigure.BlackListConfigure.BlackList[i].IP) } else { netIP = net.ParseIP(programConfigure.BlackListConfigure.BlackList[i].IP) } programConfigure.BlackListConfigure.BlackList[i].Cidr = cidr programConfigure.BlackListConfigure.BlackList[i].NetIP = netIP } } func BlackListAdd(ip string, activelifeDuration int32) (string, error) { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() var err error var netIP net.IP = nil var cidr *net.IPNet = nil if strings.Contains(ip, "/") { _, cidr, err = net.ParseCIDR(ip) if err != nil { return "", fmt.Errorf("网段格式有误,转换出错:%s", err.Error()) } } else { netIP = net.ParseIP(ip) if netIP == nil { return "", fmt.Errorf("IP格式有误") } } if activelifeDuration <= 0 { activelifeDuration = 666666 } EffectiveTimeStr := time.Now().Add(time.Hour * time.Duration(activelifeDuration)).Format("2006-01-02 15:04:05") for i, ipr := range programConfigure.BlackListConfigure.BlackList { if ipr.IP == ip { programConfigure.BlackListConfigure.BlackList[i].EffectiveTime = EffectiveTimeStr return EffectiveTimeStr, Save() } } item := BlackListItem{IP: ip, EffectiveTime: EffectiveTimeStr, NetIP: netIP, Cidr: cidr} programConfigure.BlackListConfigure.BlackList = append(programConfigure.BlackListConfigure.BlackList, item) return EffectiveTimeStr, Save() } func BlackListDelete(ip string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range programConfigure.BlackListConfigure.BlackList { if ipr.IP == ip { removeIndex = i break } } if removeIndex >= 0 { removeCount++ programConfigure.BlackListConfigure.BlackList = DeleteBlackListlice(programConfigure.BlackListConfigure.BlackList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return Save() } func BlackListFlush(lock bool) error { if lock { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() } removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range programConfigure.BlackListConfigure.BlackList { ipat, err := time.ParseInLocation("2006-01-02 15:04:05", ipr.EffectiveTime, time.Local) if err != nil { //有效时间格式有误,当失效处理 removeIndex = i break } if time.Since(ipat) > 0 { removeIndex = i break } } if removeIndex >= 0 { removeCount++ programConfigure.BlackListConfigure.BlackList = DeleteBlackListlice(programConfigure.BlackListConfigure.BlackList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return Save() } func DeleteBlackListlice(a []BlackListItem, deleteIndex int) []BlackListItem { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: config/config.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package config import ( "encoding/json" "fmt" "log" "net" "runtime" "strings" "sync" "github.com/gdy666/lucky/socketproxy" "github.com/gdy666/lucky/thirdlib/gdylib/fileutils" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" ) const defaultAdminAccount = "666" const defaultAdminPassword = "666" const defaultAdminListenPort = 16601 const defaultLogSize = 2048 const minLogSize = 1024 const maxLogSize = 40960 var runMode = "prod" var version = "0.0.0" func SetVersion(v string) { version = v } func GetVersion() string { return version } var loginRandomkey = "" func GetLoginRandomKey() string { return loginRandomkey } func FlushLoginRandomKey() { loginRandomkey = stringsp.GetRandomString(16) } type BaseConfigure struct { AdminWebListenPort int `json:"AdminWebListenPort"` //管理后台端口 AdminWebListenTLS bool `json:"AdminWebListenTLS"` //启用TLS监听端口 AdminWebListenHttpsPort int `json:"AdminWebListenHttpsPort"` //管理后台Https端口 //ProxyCountLimit int64 `json:"ProxyCountLimit"` //全局代理数量限制 AdminAccount string `json:"AdminAccount"` //登录账号 AdminPassword string `json:"AdminPassword"` //登录密码 AllowInternetaccess bool `json:"AllowInternetaccess"` //允许外网访问 //GlobalMaxConnections int64 `json:"GlobalMaxConnections"` //全局最大连接数 LogMaxSize int `json:"LogMaxSize"` //日志记录最大条数 } type ProgramConfigure struct { BaseConfigure BaseConfigure `json:"BaseConfigure"` WhiteListConfigure WhiteListConfigure `json:"WhiteListConfigure"` BlackListConfigure BlackListConfigure `json:"BlackListConfigure"` DDNSConfigure DDNSConfigure `json:"DDNSConfigure"` //DDNS 参数设置 DDNSTaskList []DDNSTask `json:"DDNSTaskList"` //DDNS任务列表 ReverseProxyRuleList []ReverseProxyRule `json:"ReverseProxyRuleList"` //反向代理规则列表 SSLCertficateList []SSLCertficate `json:"SSLCertficateList"` //SSL证书列表 PortForwardsRuleList []PortForwardsRule `json:"PortForwardsRuleList"` //端口转发规则列表 PortForwardsConfigure PortForwardsConfigure `json:"PortForwardsConfigure"` //端口转发设置 WOLDeviceList []WOLDevice `json:"WOLDeviceList"` //网络唤醒设备列表 } var programConfigureMutex sync.RWMutex var programConfigure *ProgramConfigure var configurePath string // var readConfigureFileOnce sync.Once var checkConfigureFileOnce sync.Once var configureFileSign int8 = -1 // func GetConfigMutex() *sync.RWMutex { // return &programConfigureMutex // } func GetAuthAccount() map[string]string { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() accountInfo := make(map[string]string) accountInfo[programConfigure.BaseConfigure.AdminAccount] = programConfigure.BaseConfigure.AdminPassword return accountInfo } func GetRunMode() string { return runMode } func SetRunMode(mode string) { runMode = mode } func SetConfig(p *ProgramConfigure) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() programConfigure = p return Save() } func GetConfig() *ProgramConfigure { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() conf := *programConfigure return &conf } func GetConfigureBytes() []byte { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() if programConfigure == nil { return []byte("{}") } //JSON.Pars res, err := json.MarshalIndent(*programConfigure, "", "\t") if err != nil { return []byte("{}") } return res } func GetBaseConfigure() BaseConfigure { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() baseConf := programConfigure.BaseConfigure return baseConf } func GetDDNSConfigure() DDNSConfigure { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() conf := programConfigure.DDNSConfigure return conf } func GetPortForwardsConfigure() PortForwardsConfigure { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() conf := programConfigure.PortForwardsConfigure return conf } func SetPortForwardsConfigure(conf *PortForwardsConfigure) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() if conf.PortForwardsLimit < 0 { conf.PortForwardsLimit = 0 } else if conf.PortForwardsLimit > 1024 { conf.PortForwardsLimit = 1024 } if conf.TCPPortforwardMaxConnections < 0 { conf.TCPPortforwardMaxConnections = 0 } else if conf.TCPPortforwardMaxConnections > 4096 { conf.TCPPortforwardMaxConnections = 4096 } if conf.UDPReadTargetDataMaxgoroutineCount < 0 { conf.UDPReadTargetDataMaxgoroutineCount = 0 } else if conf.UDPReadTargetDataMaxgoroutineCount > 4096 { conf.UDPReadTargetDataMaxgoroutineCount = 4096 } programConfigure.PortForwardsConfigure = *conf socketproxy.SetGlobalMaxPortForwardsCountLimit(conf.PortForwardsLimit) socketproxy.SetGlobalTCPPortforwardMaxConnections(conf.TCPPortforwardMaxConnections) socketproxy.SetGlobalUDPReadTargetDataMaxgoroutineCountLimit(conf.UDPReadTargetDataMaxgoroutineCount) return Save() } // 保存基础配置 func SetBaseConfigure(conf *BaseConfigure) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() programConfigure.BaseConfigure = *conf //socketproxy.SetGlobalMaxConnections(conf.GlobalMaxConnections) //socketproxy.SetGlobalMaxPortForwardsCount(conf.ProxyCountLimit) if conf.LogMaxSize < minLogSize { conf.LogMaxSize = minLogSize } else if conf.LogMaxSize > maxLogSize { conf.LogMaxSize = maxLogSize } return Save() } func SetDDNSConfigure(conf *DDNSConfigure) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() if conf.Intervals < 30 { conf.Intervals = 30 } if conf.Intervals > 3600 { conf.Intervals = 3600 } if conf.FirstCheckDelay < 0 { conf.FirstCheckDelay = 0 } if conf.FirstCheckDelay > 3600 { conf.FirstCheckDelay = 3600 } programConfigure.DDNSConfigure = *conf return Save() } func Read(filePath string) (err error) { if runtime.GOOS == "windows" && filePath == "" { filePath = "lucky.conf" log.Printf("未指定配置文件路径,使用默认路径lucky所在位置,默认配置文件名lucky.conf") } pc, err := readProgramConfigure(filePath) if err != nil { return err } if pc.PortForwardsConfigure.PortForwardsLimit <= 0 { pc.PortForwardsConfigure.PortForwardsLimit = socketproxy.DEFAULT_MAX_PORTFORWARDS_LIMIT } if pc.PortForwardsConfigure.TCPPortforwardMaxConnections <= 0 { pc.PortForwardsConfigure.TCPPortforwardMaxConnections = socketproxy.DEFAULT_GLOBAL_MAX_CONNECTIONS } if pc.PortForwardsConfigure.UDPReadTargetDataMaxgoroutineCount <= 0 { pc.PortForwardsConfigure.UDPReadTargetDataMaxgoroutineCount = socketproxy.DEFAULT_GLOBAL_UDPReadTargetDataMaxgoroutineCount } socketproxy.SetGlobalMaxPortForwardsCountLimit(pc.PortForwardsConfigure.PortForwardsLimit) socketproxy.SetGlobalTCPPortforwardMaxConnections(pc.PortForwardsConfigure.TCPPortforwardMaxConnections) socketproxy.SetGlobalUDPReadTargetDataMaxgoroutineCountLimit(pc.PortForwardsConfigure.UDPReadTargetDataMaxgoroutineCount) if pc.BaseConfigure.AdminWebListenPort <= 0 { pc.BaseConfigure.AdminWebListenPort = 16601 } if pc.BaseConfigure.AdminWebListenHttpsPort <= 0 { pc.BaseConfigure.AdminWebListenHttpsPort = 16626 } if pc.BaseConfigure.LogMaxSize < minLogSize { pc.BaseConfigure.LogMaxSize = minLogSize } else if pc.BaseConfigure.LogMaxSize > maxLogSize { pc.BaseConfigure.LogMaxSize = maxLogSize } programConfigure = pc return nil } func LoadDefault(adminWebListenPort int) { programConfigure = loadDefaultConfigure(adminWebListenPort) } func Save() (err error) { //log.Printf("Save配置\n") if configureFileSign == 0 { return fmt.Errorf("配置文件不存在,不作保存") } defer func() { checkConfigureFileOnce.Do(func() { if err == nil { configureFileSign = 1 } else { configureFileSign = 0 } }) }() err = saveProgramConfig(programConfigure, configurePath) return } //------------------------------------------------------------------------------------ func readProgramConfigure(filePath string) (conf *ProgramConfigure, err error) { if filePath == "" { return nil, fmt.Errorf("未指定配置文件路径") } if !strings.HasPrefix(filePath, "/") { filePath = fmt.Sprintf("%s/%s", fileutils.GetCurrentDirectory(), filePath) } configurePath = filePath //fmt.Printf("filePath:%s\n", configurePath) fileContent, err := fileutils.ReadTextFromFile(configurePath) if err != nil { return nil, fmt.Errorf("读取配置文件出错:%s", err.Error()) } var pc ProgramConfigure err = json.Unmarshal([]byte(fileContent), &pc) if err != nil { log.Fatalf("解析配置文件出错:%s", err.Error()) return nil, fmt.Errorf("解析配置文件出错:%s", err.Error()) } return &pc, nil } func loadDefaultConfigure( adminWebListenPort int) *ProgramConfigure { baseConfigure := BaseConfigure{AdminWebListenPort: adminWebListenPort, AdminAccount: defaultAdminAccount, AdminPassword: defaultAdminPassword, AllowInternetaccess: false, LogMaxSize: defaultLogSize} whiteListConfigure := WhiteListConfigure{BaseConfigure: WhiteListBaseConfigure{ActivelifeDuration: 36, BasicAccount: defaultAdminAccount, BasicPassword: defaultAdminPassword}} var pc ProgramConfigure pc.BaseConfigure = baseConfigure pc.WhiteListConfigure = whiteListConfigure if pc.PortForwardsConfigure.PortForwardsLimit <= 0 { pc.PortForwardsConfigure.PortForwardsLimit = socketproxy.DEFAULT_MAX_PORTFORWARDS_LIMIT } socketproxy.SetGlobalMaxPortForwardsCountLimit(pc.PortForwardsConfigure.PortForwardsLimit) if pc.PortForwardsConfigure.TCPPortforwardMaxConnections <= 0 { pc.PortForwardsConfigure.TCPPortforwardMaxConnections = socketproxy.TCPUDP_DEFAULT_SINGLE_PROXY_MAX_CONNECTIONS } socketproxy.SetGlobalTCPPortforwardMaxConnections(pc.PortForwardsConfigure.TCPPortforwardMaxConnections) if pc.PortForwardsConfigure.UDPReadTargetDataMaxgoroutineCount <= 0 { pc.PortForwardsConfigure.UDPReadTargetDataMaxgoroutineCount = socketproxy.DEFAULT_GLOBAL_UDPReadTargetDataMaxgoroutineCount } socketproxy.SetGlobalUDPReadTargetDataMaxgoroutineCountLimit(pc.PortForwardsConfigure.UDPReadTargetDataMaxgoroutineCount) if pc.BaseConfigure.AdminWebListenPort <= 0 { pc.BaseConfigure.AdminWebListenPort = defaultAdminListenPort } if pc.DDNSConfigure.Intervals < 30 { pc.DDNSConfigure.Intervals = 30 } if pc.DDNSConfigure.FirstCheckDelay <= 0 { pc.DDNSConfigure.FirstCheckDelay = 0 } return &pc } func saveProgramConfig(programConfigure *ProgramConfigure, filePath string) error { resBytes, err := json.MarshalIndent(*programConfigure, "", "\t") if err != nil { return fmt.Errorf("json.Marshal:%s", err.Error()) } return fileutils.SaveTextToFile(string(resBytes), filePath) } func CheckTCPPortAvalid(port int) bool { ln, err := net.Listen("tcp", fmt.Sprintf(":%d", port)) if err != nil { return false } ln.Close() return true } ================================================ FILE: config/ddns.go ================================================ package config import ( "fmt" "log" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" ) type DDNSConfigure struct { Enable bool `json:"Enable"` HttpClientSecureVerify bool `json:"HttpClientSecureVerify"` FirstCheckDelay int `json:"FirstCheckDelay"` //首次检查延迟时间 Intervals int `json:"Intervals"` } type DDNSTask struct { TaskName string `json:"TaskName"` TaskKey string `json:"TaskKey"` //添加任务时随机生成,方便管理任务(修改删除) //规则类型 IPv4/IPv6 TaskType string `json:"TaskType"` Enable bool // 获取IP类型 url/netInterface GetType string `json:"GetType"` URL []string `json:"URL"` NetInterface string `json:"NetInterface"` IPReg string `json:"IPReg"` Domains []string `json:"Domains"` DNS DNSConfig `json:"DNS"` Webhook TTL string `json:"TTL"` HttpClientTimeout int `json:"HttpClientTimeout"` } type Webhook struct { WebhookEnable bool `json:"WebhookEnable"` //Webhook开关 WebhookCallOnGetIPfail bool `json:"WebhookCallOnGetIPfail"` //获取IP失败时触发Webhook 开关 WebhookURL string `json:"WebhookURL"` WebhookMethod string `json:"WebhookMethod"` WebhookHeaders []string `json:"WebhookHeaders"` WebhookRequestBody string `json:"WebhookRequestBody"` WebhookDisableCallbackSuccessContentCheck bool `json:"WebhookDisableCallbackSuccessContentCheck"` //禁用成功调用返回检测 WebhookSuccessContent []string `json:"WebhookSuccessContent"` //接口调用成功包含的内容 WebhookProxy string `json:"WebhookProxy"` //使用DNS代理设置 ""表示禁用,"dns"表示使用dns的代理设置 WebhookProxyAddr string `json:"WebhookProxyAddr"` //代理服务器IP WebhookProxyUser string `json:"WebhookProxyUser"` //代理用户 WebhookProxyPassword string `json:"WebhookProxyPassword"` //代理密码 } // DNSConfig DNS配置 type DNSConfig struct { // 名称。如:alidns,webhook Name string `json:"Name"` ID string `json:"ID"` Secret string `json:"Secret"` ForceInterval int `json:"ForceInterval"` //(秒)即使IP没有变化,到一定时间后依然强制更新或先DNS解析比较IP再更新 ResolverDoaminCheck bool `json:"ResolverDoaminCheck"` //调用callback同步前先解析一次域名,如果IP相同就不同步 DNSServerList []string `json:"DNSServerList"` //DNS服务器列表 CallAPINetwork string `json:"CallAPINetwork"` //空代理tcp, tcp4,tcp6 Callback DNSCallback `json:"Callback"` HttpClientProxyType string `json:"HttpClientProxyType"` //http client代理服务器设置 HttpClientProxyAddr string `json:"HttpClientProxyAddr"` //代理服务器IP HttpClientProxyUser string `json:"HttpClientProxyUser"` //代理用户 HttpClientProxyPassword string `json:"HttpClientProxyPassword"` //代理密码 } func (d *DNSConfig) GetCallAPINetwork() string { switch d.CallAPINetwork { case "tcp4", "tcp6": return d.CallAPINetwork default: return "tcp" } } type DNSCallback struct { URL string `json:"URL"` //请求地址 Method string `json:"Method"` //请求方法 Headers []string `json:"Headers"` RequestBody string `json:"RequestBody"` Server string `json:"Server"` //预设服务商 DisableCallbackSuccessContentCheck bool `json:"DisableCallbackSuccessContentCheck"` //禁用成功调用返回检测 CallbackSuccessContent []string `json:"CallbackSuccessContent"` //接口调用成功包含内容 } var checkIPv4URLList = []string{"https://4.ipw.cn", "http://v4.ip.zxinc.org/getip", "https://myip4.ipip.net", "https://www.taobao.com/help/getip.php", "https://ddns.oray.com/checkip", "https://ip.3322.net", "https://v4.myip.la"} var checkIPv6URLList = []string{"https://6.ipw.cn", "https://ipv6.ddnspod.com", "http://v6.ip.zxinc.org/getip", "https://speed.neu6.edu.cn/getIP.php", "https://v6.ident.me", "https://v6.myip.la"} var DefaultIPv6DNSServerList = []string{ "[2001:4860:4860::8888]:53", //谷歌 "[2001:4860:4860::8844]:53", //谷歌 "[2606:4700:4700::64]:53", //cloudflare "[2606:4700:4700::6400]:53", //cloudflare "[240C::6666]:53", //下一代互联网北京研究中心 "[240C::6644]:53", //下一代互联网北京研究中心 "[2402:4e00::]:53", //dnspod //"[2400:3200::1]:53", //阿里 // "[2400:3200:baba::1]:53", //阿里 "[240e:4c:4008::1]:53", //中国电信 "[240e:4c:4808::1]:53", //中国电信 "[2408:8899::8]:53", //中国联通 "[2408:8888::8]:53", //中国联通 "[2409:8088::a]:53", //中国移动 "[2409:8088::b]:53", //中国移动 "[2001:dc7:1000::1]:53", //CNNIC "[2400:da00::6666]:53", //百度 } var DefaultIPv4DNSServerList = []string{ "1.1.1.1:53", "1.2.4.8:53", "8.8.8.8:53", "9.9.9.9:53", "8.8.4.4:53", "114.114.114.114:53", "223.5.5.5:53", "223.6.6.6:53", "101.226.4.6:53", "218.30.118.6:53", "119.28.28.28:53", } // func SetDDNSTaskIpCacheForceCompareByTaskKey(taskKey string, force bool) { // programConfigureMutex.Lock() // defer programConfigureMutex.Unlock() // taskIndex := -1 // for i := range programConfigure.DDNSTaskList { // if programConfigure.DDNSTaskList[i].TaskKey == taskKey { // taskIndex = i // break // } // } // if taskIndex == -1 { // return // } // programConfigure.DDNSTaskList[taskIndex].IpCache.ForceCompare = force // } func DDNSTaskListConfigureCheck() { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() for i := range programConfigure.DDNSTaskList { if programConfigure.DDNSTaskList[i].DNS.ForceInterval < 60 { programConfigure.DDNSTaskList[i].DNS.ForceInterval = 60 } else if programConfigure.DDNSTaskList[i].DNS.ForceInterval > 360000 { programConfigure.DDNSTaskList[i].DNS.ForceInterval = 360000 } if programConfigure.DDNSTaskList[i].HttpClientTimeout < 3 { programConfigure.DDNSTaskList[i].HttpClientTimeout = 3 } else if programConfigure.DDNSTaskList[i].HttpClientTimeout > 60 { programConfigure.DDNSTaskList[i].HttpClientTimeout = 60 } } } func DDNSTaskSetWebhookCallResult(taskKey string, result bool, message string) { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() taskIndex := -1 for i := range programConfigure.DDNSTaskList { if programConfigure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return } log.Printf("DDNSTaskSetWebhookCallResult %s", taskKey) } func GetDDNSTaskConfigureList() []*DDNSTask { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var resList []*DDNSTask for i := range programConfigure.DDNSTaskList { task := programConfigure.DDNSTaskList[i] resList = append(resList, &task) } return resList } func GetDDNSTaskByKey(taskKey string) *DDNSTask { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() taskIndex := -1 for i := range programConfigure.DDNSTaskList { if programConfigure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return nil } res := programConfigure.DDNSTaskList[taskIndex] return &res } func DDNSTaskListAdd(task *DDNSTask) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() task.TaskKey = stringsp.GetRandomString(16) programConfigure.DDNSTaskList = append(programConfigure.DDNSTaskList, *task) return Save() } func DDNSTaskListDelete(taskKey string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() taskIndex := -1 for i := range programConfigure.DDNSTaskList { if programConfigure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return fmt.Errorf("找不到需要删除的DDNS任务") } programConfigure.DDNSTaskList = DeleteDDNSTaskListlice(programConfigure.DDNSTaskList, taskIndex) return Save() } func CheckDDNSTaskAvalid(task *DDNSTask) error { if len(task.URL) == 0 { if task.TaskType == "IPv6" { task.URL = checkIPv6URLList } else { task.URL = checkIPv4URLList } } switch task.DNS.Name { case "cloudflare": if task.DNS.Secret == "" { return fmt.Errorf("cloudflare token不能为空") } case "callback": if task.DNS.Callback.URL == "" { return fmt.Errorf("callback URL不能为空") } if task.DNS.Callback.Method == "" { return fmt.Errorf("请选择callback method") } default: if task.DNS.ID == "" || task.DNS.Secret == "" { return fmt.Errorf("dns服务商相关参数不能为空") } } if len(task.Domains) <= 0 { return fmt.Errorf("域名列表不能为空") } return nil } func EnableDDNSTaskByKey(taskKey string, enable bool) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() taskIndex := -1 for i := range programConfigure.DDNSTaskList { if programConfigure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return fmt.Errorf("开关DDNS任务失败,TaskKey不存在") } programConfigure.DDNSTaskList[taskIndex].Enable = enable return Save() } func UpdateTaskToDDNSTaskList(taskKey string, task DDNSTask) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() taskIndex := -1 for i := range programConfigure.DDNSTaskList { if programConfigure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return fmt.Errorf("找不到需要更新的DDNS任务") } programConfigure.DDNSTaskList[taskIndex].TaskName = task.TaskName programConfigure.DDNSTaskList[taskIndex].TaskType = task.TaskType programConfigure.DDNSTaskList[taskIndex].Enable = task.Enable programConfigure.DDNSTaskList[taskIndex].GetType = task.GetType programConfigure.DDNSTaskList[taskIndex].URL = task.URL programConfigure.DDNSTaskList[taskIndex].NetInterface = task.NetInterface programConfigure.DDNSTaskList[taskIndex].IPReg = task.IPReg programConfigure.DDNSTaskList[taskIndex].Domains = task.Domains programConfigure.DDNSTaskList[taskIndex].DNS = task.DNS programConfigure.DDNSTaskList[taskIndex].Webhook = task.Webhook programConfigure.DDNSTaskList[taskIndex].TTL = task.TTL programConfigure.DDNSTaskList[taskIndex].HttpClientTimeout = task.HttpClientTimeout return Save() } func DeleteDDNSTaskListlice(a []DDNSTask, deleteIndex int) []DDNSTask { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } //**************************** ================================================ FILE: config/portforward.go ================================================ package config import ( "fmt" "log" "strconv" "strings" "github.com/gdy666/lucky/socketproxy" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" "github.com/sirupsen/logrus" ) type PortForwardsConfigure struct { PortForwardsLimit int64 `json:"PortForwardsLimit"` //全局端口转发数量限制 TCPPortforwardMaxConnections int64 `json:"TCPPortforwardMaxConnections"` //端口转发全局TCP并发链接数限制 UDPReadTargetDataMaxgoroutineCount int64 `json:"UDPReadTargetDataMaxgoroutineCount"` //端口转发全局UDP读取目标地址数据协程数限制 } type PortForwardsRule struct { Name string `json:"Name"` Key string `json:"Key"` Enable bool `json:"Enable"` ForwardTypes []string `json:"ForwardTypes"` ListenAddress string `json:"ListenAddress"` ListenPorts string `json:"ListenPorts"` TargetAddressList []string `json:"TargetAddressList"` TargetPorts string `json:"TargetPorts"` Options socketproxy.RelayRuleOptions `json:"Options"` ReverseProxyList *[]socketproxy.Proxy `json:"-"` logsBuffer *logsbuffer.LogsBuffer logrus *logrus.Logger LogLevel int `json:"LogLevel"` //日志输出级别 LogOutputToConsole bool `json:"LogOutputToConsole"` //日志输出到终端 AccessLogMaxNum int `json:"AccessLogMaxNum"` WebListShowLastLogMaxCount int `json:"WebListShowLastLogMaxCount"` //前端列表显示最新日志最大条数 } func (r *PortForwardsRule) ProxyCount() int { if r.ReverseProxyList == nil { return 0 } return len(*r.ReverseProxyList) } func (r *PortForwardsRule) StartAllProxys() { if r.ReverseProxyList == nil { return } for i := range *r.ReverseProxyList { (*r.ReverseProxyList)[i].StartProxy() } } func (r *PortForwardsRule) GetLastLogs(maxCount int) []any { return r.GetLogsBuffer().GetLastLogs(WebLogConvert, maxCount) } func (r *PortForwardsRule) Fire(entry *logrus.Entry) error { if !r.LogOutputToConsole { return nil } s, _ := entry.String() log.Print(s) return nil } func (r *PortForwardsRule) Levels() []logrus.Level { return logrus.AllLevels } func (r *PortForwardsRule) GetLogrus() *logrus.Logger { if r.logrus == nil { r.logrus = logrus.New() r.logrus.SetLevel(logrus.Level(r.LogLevel)) r.logrus.SetOutput(r.GetLogsBuffer()) r.logrus.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05", DisableTimestamp: true, DisableHTMLEscape: true, DataKey: "ExtInfo", }) r.logrus.AddHook(r) } return r.logrus } func (r *PortForwardsRule) GetLogsBuffer() *logsbuffer.LogsBuffer { if r.logsBuffer == nil { r.logsBuffer = logsbuffer.CreateLogbuffer("portforward:"+r.Key, r.AccessLogMaxNum) } return r.logsBuffer } func (r *PortForwardsRule) StopAllProxys() { if r.ReverseProxyList == nil { return } for i := range *r.ReverseProxyList { (*r.ReverseProxyList)[i].StopProxy() } } // TidyReverseProxyCache 整理端口转发日志缓存 func TidyPortforwardLogsCache() { ruleList := GetPortForwardsRuleList() var keyListBuffer strings.Builder for _, rule := range ruleList { keyListBuffer.WriteString(rule.Key) keyListBuffer.WriteString(",") } keyListStr := keyListBuffer.String() logsbuffer.LogsBufferStoreMu.Lock() defer logsbuffer.LogsBufferStoreMu.Unlock() var needDeleteKeys []string for k := range logsbuffer.LogsBufferStore { if !strings.HasPrefix(k, "portforward:") { continue } if len(k) <= 13 { continue } if !strings.Contains(keyListStr, k[12:]) { needDeleteKeys = append(needDeleteKeys, k) } } for i := range needDeleteKeys { delete(logsbuffer.LogsBufferStore, needDeleteKeys[i]) } } func (r *PortForwardsRule) InitProxyList() error { listenPorts, err := PortsStrToIList(r.ListenPorts) if err != nil { return err } targetPorts, err := PortsStrToIList(r.TargetPorts) if err != nil { return err } if len(listenPorts) != len(targetPorts) { return fmt.Errorf("端口个数不一致") } var proxyList []socketproxy.Proxy for i := range r.ForwardTypes { for j := range listenPorts { p, err := socketproxy.CreateProxy(r.GetLogrus(), r.ForwardTypes[i], r.ListenAddress, r.TargetAddressList, listenPorts[j], targetPorts[j], &r.Options) if err != nil { return err } proxyList = append(proxyList, p) } } r.ReverseProxyList = &proxyList return nil } func PortsCheck(ports1Str, ports2Str string) (bool, error) { ports1, err := PortsStrToIList(ports1Str) if err != nil { return false, err } ports2, err := PortsStrToIList(ports2Str) if err != nil { return false, err } if len(ports1) != len(ports2) { return false, fmt.Errorf("端口个数不一致") } return true, nil } // portsStrToIList func PortsStrToIList(portsStr string) (ports []int, err error) { if portsStr == "" { return } if strings.Contains(portsStr, ",") { tmpStrList := strings.Split(portsStr, ",") for i := range tmpStrList { tps, e := PortsStrToIList(tmpStrList[i]) if e != nil { err = fmt.Errorf("端口字符串处理出错:%s", e.Error()) return } ports = append(ports, tps...) } return } portsStrList := strings.Split(portsStr, "-") if len(portsStrList) > 2 { err = fmt.Errorf("端口%s格式有误", portsStr) return } if len(portsStrList) == 1 { //single listen port listenPort, e := portStrToi(portsStrList[0]) if e != nil { err = fmt.Errorf("端口格式有误!%s", e.Error()) return } ports = append(ports, listenPort) } if len(portsStrList) == 2 { minListenPort, e := portStrToi(portsStrList[0]) if e != nil { err = fmt.Errorf("端口格式有误!%s", portsStrList[0]) return } maxListenPort, e := portStrToi(portsStrList[1]) if e != nil { err = fmt.Errorf("端口格式有误!%s", portsStrList[1]) return } if maxListenPort <= minListenPort { err = fmt.Errorf("前一个端口[%d]要小于后一个端口[%d]", minListenPort, maxListenPort) return } i := minListenPort for { if i > maxListenPort { break } ports = append(ports, i) i++ } } return } func portStrToi(portStr string) (int, error) { port, err := strconv.Atoi(portStr) if err != nil { return 0, fmt.Errorf("端口格式有误:%s", err.Error()) } if port < 1 || port > 65535 { return 0, fmt.Errorf("端口[%d]超出范围", port) } return port, nil } func PortForwardsRuleListInit() { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var err error for i := range programConfigure.PortForwardsRuleList { err = programConfigure.PortForwardsRuleList[i].InitProxyList() if err != nil { log.Printf("InitProxyList error:%s\n", err.Error()) } if programConfigure.PortForwardsRuleList[i].Enable { programConfigure.PortForwardsRuleList[i].StartAllProxys() } } } func GetPortForwardsRuleList() []PortForwardsRule { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var resList []PortForwardsRule for i := range programConfigure.PortForwardsRuleList { r := programConfigure.PortForwardsRuleList[i] resList = append(resList, r) } return resList } func GetPortForwardsGlobalProxyCount() int { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() count := 0 for i := range programConfigure.PortForwardsRuleList { count += programConfigure.PortForwardsRuleList[i].ProxyCount() } return count } func GetPortForwardsGlobalProxyCountExcept(key string) int { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() count := 0 for i := range programConfigure.PortForwardsRuleList { if key == programConfigure.PortForwardsRuleList[i].Key { continue } count += programConfigure.PortForwardsRuleList[i].ProxyCount() } return count } func GetPortForwardsRuleByKey(key string) *PortForwardsRule { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() index := -1 for i := range programConfigure.PortForwardsRuleList { if programConfigure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return nil } res := programConfigure.PortForwardsRuleList[index] return &res } func StopAllSocketProxysByRuleKey(key string) error { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() index := -1 for i := range programConfigure.PortForwardsRuleList { if programConfigure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到key:%s对应的规则", key) } programConfigure.PortForwardsRuleList[index].StopAllProxys() return nil } func StartAllSocketProxysByRuleKey(key string) error { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() index := -1 for i := range programConfigure.PortForwardsRuleList { if programConfigure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到key:%s对应的规则", key) } programConfigure.PortForwardsRuleList[index].StartAllProxys() return nil } func PortForwardsRuleListAdd(r *PortForwardsRule) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() r.Enable = true programConfigure.PortForwardsRuleList = append(programConfigure.PortForwardsRuleList, *r) return Save() } func PortForwardsRuleListDelete(key string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() index := -1 for i := range programConfigure.PortForwardsRuleList { if programConfigure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到需要删除的端口转发规则") } programConfigure.PortForwardsRuleList[index].StopAllProxys() programConfigure.PortForwardsRuleList = DeletePortForwardsRuleListSlice(programConfigure.PortForwardsRuleList, index) return Save() } func EnablePortForwardsRuleByKey(key string, enable bool) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() index := -1 for i := range programConfigure.DDNSTaskList { if programConfigure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("开关端口转发规则失败,key查找失败") } if enable { programConfigure.PortForwardsRuleList[index].StartAllProxys() } else { programConfigure.PortForwardsRuleList[index].StopAllProxys() } programConfigure.PortForwardsRuleList[index].Enable = enable return Save() } func UpdatePortForwardsRuleToPortForwardsRuleList(key string, r *PortForwardsRule) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() index := -1 for i := range programConfigure.PortForwardsRuleList { if programConfigure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到需要更新的端口转发规则") } programConfigure.PortForwardsRuleList[index] = *r return Save() } func DeletePortForwardsRuleListSlice(a []PortForwardsRule, deleteIndex int) []PortForwardsRule { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: config/reverseproxy.go ================================================ package config import ( "crypto/tls" "fmt" "log" "net" "net/http" "net/http/httputil" "net/url" "strconv" "strings" "sync" "time" "github.com/gdy666/lucky/thirdlib/gdylib/ginutils" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" ) var reverseProxyServerStore sync.Map var reverseProxyServerStoreMu sync.Mutex func init() { } // TidyReverseProxyCache 整理反向代理日志缓存 func TidyReverseProxyCache() { ruleList := GetReverseProxyRuleList() var keyListBuffer strings.Builder for _, rule := range ruleList { keyListBuffer.WriteString(rule.DefaultProxy.Key) keyListBuffer.WriteString(",") for _, sr := range rule.ProxyList { keyListBuffer.WriteString(sr.Key) keyListBuffer.WriteString(",") } } keyListStr := keyListBuffer.String() logsbuffer.LogsBufferStoreMu.Lock() defer logsbuffer.LogsBufferStoreMu.Unlock() var needDeleteKeys []string for k := range logsbuffer.LogsBufferStore { if !strings.HasPrefix(k, "reverseproxy:") { continue } if len(k) <= 13 { continue } if !strings.Contains(keyListStr, k[13:]) { needDeleteKeys = append(needDeleteKeys, k) } } for i := range needDeleteKeys { delete(logsbuffer.LogsBufferStore, needDeleteKeys[i]) reverseProxyServerStore.Delete(needDeleteKeys[i]) } } type SubReverProxyRule struct { Key string `json:"Key"` initOnce sync.Once Locations []string `json:"Locations"` //长度大于1时均衡负载 locationMutex *sync.Mutex `json:"-"` locationsCount int `json:"-"` locationIndex uint64 `json:"-"` EnableAccessLog bool `json:"EnableAccessLog"` //开启日志 LogLevel int `json:"LogLevel"` //日志输出级别 LogOutputToConsole bool `json:"LogOutputToConsole"` //日志输出到终端 AccessLogMaxNum int `json:"AccessLogMaxNum"` //最大条数 WebListShowLastLogMaxCount int `json:"WebListShowLastLogMaxCount"` //前端列表显示最新日志最大条数 ForwardedByClientIP bool `json:"ForwardedByClientIP"` TrustedCIDRsStrList []string `json:"TrustedCIDRsStrList"` RemoteIPHeaders []string `json:"RemoteIPHeaders"` //识别客户端原始IP的Http请求头 TrustedProxyCIDRs []*net.IPNet `json:"-"` AddRemoteIPToHeader bool `json:"AddRemoteIPToHeader"` //追加客户端连接IP到指定Header AddRemoteIPHeaderKey string `json:"AddRemoteIPHeaderKey"` EnableBasicAuth bool `json:"EnableBasicAuth"` //启用BasicAuth认证 BasicAuthUser string `json:"BasicAuthUser"` //如果配置此参数,暴露出去的 HTTP 服务需要采用 Basic Auth 的鉴权才能访问 BasicAuthPasswd string `json:"BasicAuthPasswd"` //结合 BasicAuthUser 使用 SafeIPMode string `json:"SafeIPMode"` //IP过滤模式 黑白名单 SafeUserAgentMode string `json:"SafeUserAgentMode"` //UserAgent 过滤模式 黑白名单 UserAgentfilter []string `json:"UserAgentfilter"` //UserAgent 过滤内容 CustomRobotTxt bool `json:"CustomRobotTxt"` RobotTxt string `json:"RobotTxt"` //------------------ logsBuffer *logsbuffer.LogsBuffer logrus *logrus.Logger logger *log.Logger } type ReverseProxyRule struct { RuleName string `json:"RuleName"` RuleKey string `json:"RuleKey"` Enable bool `json:"Enable"` ListenIP string `json:"ListenIP"` ListenPort int `json:"ListenPort"` EnableTLS bool `json:"EnableTLS"` Network string `json:"Network"` DefaultProxy struct { SubReverProxyRule } `json:"DefaultProxy"` ProxyList []ReverseProxy `json:"ProxyList"` domainsMap *sync.Map initOnec sync.Once } func (r *ReverseProxyRule) Init() { r.initOnec.Do(func() { r.initDomainsMap() }) } func (r *SubReverProxyRule) Logf(level logrus.Level, c *gin.Context, format string, v ...any) { clientIP := r.ClientIP(c) remoteIP := c.RemoteIP() method := c.Request.Method host := c.Request.Host //hostname, hostport := httputils.SplitHostPort(c.Request.Host) url := c.Request.URL.String() //path := c.Request.URL.Path r.GetLogrus().WithFields(logrus.Fields{ "ClientIP": clientIP, "RemoteIP": remoteIP, "Method": method, "Host": host, // "Hostname": hostname, // "Hostport": hostport, "URL": url, //"path": path, "UserAgent": c.Request.UserAgent(), }).Logf(level, format, v...) } func (r *SubReverProxyRule) HandlerReverseProxy(remote *url.URL, host, path string, c *gin.Context) { proxy := httputil.NewSingleHostReverseProxy(remote) proxy.Director = func(req *http.Request) { req.Header = c.Request.Header req.Host = host //remote.Host //req.Host = remote.Host req.URL.Scheme = remote.Scheme req.URL.Host = remote.Host req.URL.Path = path if r.AddRemoteIPToHeader && r.AddRemoteIPHeaderKey != "" { cip := r.ClientIP(c) req.Header.Add(r.AddRemoteIPHeaderKey, cip) } } proxy.ErrorLog = r.GetLogger() proxy.ServeHTTP(c.Writer, c.Request) } func (r *SubReverProxyRule) Fire(entry *logrus.Entry) error { if !r.LogOutputToConsole { return nil } s, _ := entry.String() log.Print(s) return nil } func (r *SubReverProxyRule) Levels() []logrus.Level { return logrus.AllLevels } func (r *SubReverProxyRule) GetLogrus() *logrus.Logger { if r.logrus == nil { r.logrus = logrus.New() r.logrus.SetLevel(logrus.Level(r.LogLevel)) r.logrus.SetOutput(r.GetLogsBuffer()) r.logrus.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05", DisableTimestamp: true, DisableHTMLEscape: true, DataKey: "ExtInfo", }) r.logrus.AddHook(r) } return r.logrus } func (r *SubReverProxyRule) GetLogger() *log.Logger { if r.logger == nil { r.logger = log.New(r.GetLogsBuffer(), "", log.LstdFlags) } return r.logger } func (r *SubReverProxyRule) GetLogsBuffer() *logsbuffer.LogsBuffer { if r.logsBuffer == nil { r.logsBuffer = logsbuffer.CreateLogbuffer("reverseproxy:"+r.Key, r.AccessLogMaxNum) } return r.logsBuffer } func (r *SubReverProxyRule) checkupClientIP(ip string) bool { return SafeCheck(r.SafeIPMode, ip) } func (r *SubReverProxyRule) checkupUserAgent(ua string) bool { isContains := false for _, c := range r.UserAgentfilter { if strings.Contains(ua, c) { isContains = true break } } switch r.SafeUserAgentMode { case "whitelist": return isContains case "blacklist": return !isContains default: return false } } func (r *ReverseProxyRule) ReverseProxyHandler(c *gin.Context) { path := c.Param("proxyPath") hostName, _ := httputils.SplitHostPort(c.Request.Host) rule, ok := r.GetSubRuleByDomain(hostName) var subRule *SubReverProxyRule = nil if ok && rule.Enable { subRule = &rule.SubReverProxyRule } else { subRule = &r.DefaultProxy.SubReverProxyRule } if !subRule.checkupClientIP(subRule.ClientIP(c)) { //IP检查 subRule.Logf(logrus.WarnLevel, c, "IP[%s]禁止访问,当前Ip检查模式[%s]", subRule.ClientIP(c), subRule.SafeIPMode) c.Abort() return } if !subRule.checkupUserAgent(c.Request.UserAgent()) { subRule.Logf(logrus.WarnLevel, c, "IP[%s]UA[%s]禁止访问,当前UA检查模式[%s]", subRule.ClientIP(c), c.Request.UserAgent(), subRule.SafeUserAgentMode) c.Abort() return } if !subRule.BasicAuthHandler(c) { subRule.Logf(logrus.WarnLevel, c, "BasicAuth认证不通过") c.Abort() return } if subRule.CustomRobotTxt && c.Request.RequestURI == "/robots.txt" { if c.Request.Method != "GET" && c.Request.Method != "HEAD" { status := http.StatusOK if c.Request.Method != "OPTIONS" { status = http.StatusMethodNotAllowed } c.Header("Allow", "GET,HEAD,OPTIONS") c.AbortWithStatus(status) return } c.Data(http.StatusOK, "text/plain", []byte(subRule.RobotTxt)) subRule.Logf(logrus.InfoLevel, c, "触发自定义robots.txt") return } location := subRule.GetLocation() if location == "" && subRule.Key == r.RuleKey { subRule.Logf(logrus.InfoLevel, c, "域名[%s]没有对应后端地址,默认后端地址没有设置", hostName) c.Abort() return } if subRule.Key == r.RuleKey { subRule.Logf(logrus.InfoLevel, c, "[%s] 指向默认后端地址[%s%s]", hostName, location, c.Request.URL.String()) } else { subRule.Logf(logrus.InfoLevel, c, "[%s] 指向后端地址[%s%s]", hostName, location, c.Request.URL.String()) } remote, err := url.Parse(location) if err != nil { subRule.Logf(logrus.ErrorLevel, c, "后端地址转换出错:%s", err.Error()) c.JSON(http.StatusBadGateway, gin.H{"ret": 1, "msg": fmt.Sprintf("后端地址[%s] 转换出错:%s", location, err.Error())}) return } subRule.HandlerReverseProxy(remote, hostName, path, c) } func (r *ReverseProxyRule) GetSubRuleByDomain(domain string) (*ReverseProxy, bool) { val, ok := r.domainsMap.Load(domain) if !ok { return nil, false } return val.(*ReverseProxy), true } type ReverseProxy struct { SubReverProxyRule Enable bool `json:"Enable"` Remark string `json:"Remark"` Domains []string `json:"Domains"` //自定义域名 } func GetSubRuleByKey(ruleKey, proxyKey string) *SubReverProxyRule { //rule := getSubRuleByKey() rule := GetReverseProxyRuleByKey(ruleKey) if rule == nil { return nil } //fmt.Printf("FFF ruleKey:%s proxyKey:%s\n", ruleKey, proxyKey) if proxyKey == "default" { return &rule.DefaultProxy.SubReverProxyRule } for i := range rule.ProxyList { if rule.ProxyList[i].Key == proxyKey { return &rule.ProxyList[i].SubReverProxyRule } } return nil } func (r *ReverseProxyRule) GetServer() *http.Server { s, loaded := reverseProxyServerStore.Load(r.RuleKey) if !loaded { return nil } return s.(*http.Server) } func (r *ReverseProxyRule) SetServer(s *http.Server) { if s == nil { reverseProxyServerStore.Delete(r.RuleKey) return } reverseProxyServerStore.Store(r.RuleKey, s) } func (r *ReverseProxyRule) ServerStart() error { // r.smu.Lock() // defer r.smu.Unlock() reverseProxyServerStoreMu.Lock() defer reverseProxyServerStoreMu.Unlock() server := r.GetServer() if server != nil { return fmt.Errorf("RuleServer[%s]已经启动,请勿重复启动", r.Addr()) } ginR := gin.New() ginR.Any("/*proxyPath", r.ReverseProxyHandler) server = &http.Server{ Addr: r.Addr(), Handler: ginR, } //*************************** var err error server.TLSConfig = &tls.Config{} if r.EnableTLS { certList := GetValidSSLCertficateList() server.TLSConfig.Certificates = certList } //server.TLSConfig.Certificates = make([]tls.Certificate, 3) //**************************** ln, err := net.Listen(r.Network, r.Addr()) if err != nil { return err } var serveResult error go func() { if !r.EnableTLS { serveResult = server.Serve(ln) return } if len(server.TLSConfig.Certificates) <= 0 { log.Printf("可用证书列表为空,%s 未能启用TLS", r.Addr()) serveResult = server.Serve(ln) return } log.Printf("%s 已启用TLS", r.Addr()) serveResult = server.ServeTLS(ln, "", "") }() <-time.After(time.Millisecond * 300) defer func() { if serveResult == nil { r.SetServer(server) } }() return serveResult } func (r *ReverseProxyRule) ServerStop() { reverseProxyServerStoreMu.Lock() defer reverseProxyServerStoreMu.Unlock() server := r.GetServer() if server == nil { return } server.Close() r.SetServer(nil) } func (r *ReverseProxyRule) initDomainsMap() error { r.domainsMap = &sync.Map{} for i := range r.ProxyList { for j := range r.ProxyList[i].Domains { _, loaded := r.domainsMap.LoadOrStore(r.ProxyList[i].Domains[j], &r.ProxyList[i]) if loaded { return fmt.Errorf("前端域名[%s]冲突", r.ProxyList[i].Domains[j]) } } } return nil } func (r *SubReverProxyRule) initOnceExec() { r.initOnce.Do(func() { r.locationsCount = len(r.Locations) r.InitTrustedProxyCIDRs() r.locationMutex = &sync.Mutex{} }) } func (r *SubReverProxyRule) GetLocation() string { r.initOnceExec() r.locationMutex.Lock() defer func() { r.locationIndex++ r.locationMutex.Unlock() }() if r.locationsCount == 0 { return "" } return r.Locations[r.locationIndex%uint64(r.locationsCount)] } func (r *SubReverProxyRule) BasicAuthHandler(c *gin.Context) bool { if !r.EnableBasicAuth || r.BasicAuthUser == "" { return true } realm := "Basic realm=" + strconv.Quote("Authorization Required") pairs := ginutils.ProcessAccounts(gin.Accounts{r.BasicAuthUser: r.BasicAuthPasswd}) user, found := pairs.SearchCredential(c.GetHeader("Authorization")) if !found { // Credentials doesn't match, we return 401 and abort handlers chain. c.Header("WWW-Authenticate", realm) c.AbortWithStatus(http.StatusUnauthorized) return false } c.Set("user", user) return true } func (r *SubReverProxyRule) InitTrustedProxyCIDRs() error { var res []*net.IPNet for i := range r.TrustedCIDRsStrList { if strings.TrimSpace(r.TrustedCIDRsStrList[i]) == "" { continue } _, cidr, err := net.ParseCIDR(r.TrustedCIDRsStrList[i]) if err != nil { return fmt.Errorf("[%s]网段格式有误", r.TrustedCIDRsStrList[i]) } res = append(res, cidr) } r.TrustedProxyCIDRs = res return nil } func (r *SubReverProxyRule) ClientIP(c *gin.Context) string { remoteIP := net.ParseIP(c.RemoteIP()) if remoteIP == nil { return "" } trusted := r.isTrustedProxy(remoteIP) if trusted && r.ForwardedByClientIP && r.RemoteIPHeaders != nil { for _, headerName := range r.RemoteIPHeaders { ip, valid := r.validateHeader(c.Request.Header.Get(headerName)) if valid { return ip } } } return remoteIP.String() } func (r *SubReverProxyRule) validateHeader(header string) (clientIP string, valid bool) { if header == "" { return "", false } items := strings.Split(header, ",") for i := len(items) - 1; i >= 0; i-- { ipStr := strings.TrimSpace(items[i]) ip := net.ParseIP(ipStr) if ip == nil { break } if (i == 0) || (!r.isTrustedProxy(ip)) { return ipStr, true } } return "", false } func (r *SubReverProxyRule) isTrustedProxy(ip net.IP) bool { r.initOnceExec() if r.TrustedProxyCIDRs == nil { return false } for _, cidr := range r.TrustedProxyCIDRs { if cidr.Contains(ip) { return true } } return false } func (r *ReverseProxyRule) Addr() string { return fmt.Sprintf("%s:%d", r.ListenIP, r.ListenPort) } type LogItem struct { ProxyKey string ClientIP string LogContent string LogTime string } // 2006-01-02 15:04:05 func WebLogConvert(lg *logsbuffer.LogItem) any { l := LogItem{ LogContent: lg.Content, LogTime: time.Unix(lg.Timestamp/int64(time.Second), 0).Format("2006-01-02 15:04:05")} return l } func (r *ReverseProxyRule) GetLastLogs() map[string][]any { res := make(map[string][]any) res["default"] = r.DefaultProxy.GetLogsBuffer().GetLastLogs(WebLogConvert, r.DefaultProxy.WebListShowLastLogMaxCount) for i := range r.ProxyList { res[r.ProxyList[i].Key] = r.ProxyList[i].GetLogsBuffer().GetLastLogs( WebLogConvert, r.ProxyList[i].WebListShowLastLogMaxCount) } return res } //------------------------------------------------------------ func GetReverseProxyRuleList() []*ReverseProxyRule { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var resList []*ReverseProxyRule for i := range programConfigure.ReverseProxyRuleList { programConfigure.ReverseProxyRuleList[i].Init() rule := programConfigure.ReverseProxyRuleList[i] resList = append(resList, &rule) } return resList } func GetReverseProxyRuleByKey(ruleKey string) *ReverseProxyRule { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() ruleIndex := -1 for i := range programConfigure.ReverseProxyRuleList { if programConfigure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return nil } res := programConfigure.ReverseProxyRuleList[ruleIndex] return &res } func ReverseProxyRuleListAdd(rule *ReverseProxyRule) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() programConfigure.ReverseProxyRuleList = append(programConfigure.ReverseProxyRuleList, *rule) return Save() } func ReverseProxyRuleListDelete(ruleKey string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() ruleIndex := -1 for i := range programConfigure.ReverseProxyRuleList { if programConfigure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("找不到需要删除的反向代理任务") } programConfigure.ReverseProxyRuleList = DeleteReverseProxyRuleListlice(programConfigure.ReverseProxyRuleList, ruleIndex) return Save() } func EnableReverseProxyRuleByKey(ruleKey string, enable bool) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() ruleIndex := -1 for i := range programConfigure.ReverseProxyRuleList { if programConfigure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("开关反向代理规则失败,ruleKey %s 未找到", ruleKey) } programConfigure.ReverseProxyRuleList[ruleIndex].Enable = enable return Save() } func EnableReverseProxySubRule(ruleKey, proxyKey string, enable bool) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() ruleIndex := -1 for i := range programConfigure.ReverseProxyRuleList { if programConfigure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("开关反向代理子规则失败,ruleKey %s 未找到", ruleKey) } proxyIndex := -1 for i := range programConfigure.ReverseProxyRuleList[ruleIndex].ProxyList { if programConfigure.ReverseProxyRuleList[ruleIndex].ProxyList[i].Key == proxyKey { proxyIndex = i break } } if proxyIndex == -1 { return fmt.Errorf("开关反向代理子规则失败,proxyKey %s 未找到", proxyKey) } programConfigure.ReverseProxyRuleList[ruleIndex].ProxyList[proxyIndex].Enable = enable return Save() } func UpdateReverseProxyRulet(rule ReverseProxyRule) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() ruleIndex := -1 for i := range programConfigure.ReverseProxyRuleList { if programConfigure.ReverseProxyRuleList[i].RuleKey == rule.RuleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("找不到需要更新的反向代理规则") } // rule.RuleKey = programConfigure.ReverseProxyRuleList[ruleIndex].RuleKey programConfigure.ReverseProxyRuleList[ruleIndex] = rule return Save() } func DeleteReverseProxyRuleListlice(a []ReverseProxyRule, deleteIndex int) []ReverseProxyRule { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: config/safecheck.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package config import ( "time" ) func SafeCheck(mode, ip string) bool { switch mode { case "whitelist": //log.Printf("whitelist") return whiteListCheck(ip) case "blacklist": //log.Printf("blacklist") return blackListCheck(ip) default: return false } } func whiteListCheck(ip string) bool { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() if programConfigure == nil { return false } for _, item := range programConfigure.WhiteListConfigure.WhiteList { if !item.Contains(ip) { continue } itemEffectiveTime, err := time.ParseInLocation("2006-01-02 15:04:05", item.EffectiveTime, time.Local) if err != nil { return false } if time.Since(itemEffectiveTime) < 0 { //log.Printf("CCC") return true } return false } //log.Printf("DDDD") return false } func blackListCheck(ip string) bool { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() if programConfigure == nil { return true } for _, item := range programConfigure.BlackListConfigure.BlackList { if !item.Contains(ip) { continue } itemEffectiveTime, err := time.ParseInLocation("2006-01-02 15:04:05", item.EffectiveTime, time.Local) if err != nil { return true } if time.Since(itemEffectiveTime) < 0 { return false } return true } return true } ================================================ FILE: config/sslcertficate.go ================================================ package config import ( "crypto/tls" "crypto/x509" "encoding/base64" "fmt" "log" "strings" "time" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" ) type SSLCertficate struct { Key string `json:"Key"` Enable bool `json:"Enable"` Remark string `json:"Remark"` //备注 CertBase64 string `json:"CertBase64"` KeyBase64 string `json:"KeyBase64"` AddTime string `json:"AddTime"` //添加时间 CertsInfo *[]CertInfo `json:"-"` //--------------------- Certificate *tls.Certificate `json:"-"` } func (s *SSLCertficate) Init() error { tc, err := CreateX509KeyPairByBase64Str(s.CertBase64, s.KeyBase64) if err != nil { return fmt.Errorf("CreateX509KeyPairByBase64Str error:%s", err.Error()) } domainsInfo, err := GetCertDomainInfo(tc) if err != nil { return fmt.Errorf("GetCertDomainInfo error:%s", err.Error()) } s.Certificate = tc s.CertsInfo = domainsInfo return nil } // GetOnlyDomain 返回证书第一条域名 func (s *SSLCertficate) GetFirstDomain() string { if s.CertsInfo == nil { return "" } if len(*s.CertsInfo) <= 0 { return "" } if len((*s.CertsInfo)[0].Domains) <= 0 { return "" } return (*s.CertsInfo)[0].Domains[0] } func CreateX509KeyPairByBase64Str(certBase64, keyBase64 string) (*tls.Certificate, error) { crtBytes, err := base64.StdEncoding.DecodeString(certBase64) if err != nil { return nil, fmt.Errorf("certBase64 decode error:%s", err.Error()) } keyBytes, err := base64.StdEncoding.DecodeString(keyBase64) if err != nil { return nil, fmt.Errorf("keyBase64 decode error:%s", err.Error()) } cert, err := tls.X509KeyPair(crtBytes, keyBytes) if err != nil { return nil, fmt.Errorf("create X509KeyPair error:%s", err.Error()) } return &cert, nil } type CertInfo struct { Domains []string NotBeforeTime string `json:"NotBeforeTime"` //time.Time NotAfterTime string `json:"NotAfterTime"` //time.Time } func GetCertDomainInfo(cert *tls.Certificate) (*[]CertInfo, error) { if cert == nil { return nil, fmt.Errorf("cert == nil") } var res []CertInfo for i := range cert.Certificate { xx, err := x509.ParseCertificate(cert.Certificate[i]) if err != nil { continue } ds := GetDomainsTrimSpace(xx.DNSNames) if len(ds) == 0 { continue } info := CertInfo{Domains: ds, NotBeforeTime: xx.NotBefore.Format("2006-01-02 15:04:05"), NotAfterTime: xx.NotAfter.Format("2006-01-02 15:04:05")} res = append(res, info) } return &res, nil } func GetCertDomains(cert *tls.Certificate) []string { var res []string if cert == nil { return res } for i := range cert.Certificate { xx, err := x509.ParseCertificate(cert.Certificate[i]) if err != nil { continue } for j := range xx.DNSNames { d := strings.TrimSpace(xx.DNSNames[j]) if d == "" { continue } res = append(res, d) } } return res } // 除去空域名 func GetDomainsTrimSpace(dst []string) []string { var res []string for i := range dst { if strings.TrimSpace(dst[i]) == "" { continue } res = append(res, strings.TrimSpace(dst[i])) } return res } func GetDomainsStrByDomains(dst []string) string { var res strings.Builder for i := range dst { d := strings.TrimSpace(dst[i]) if d == "" { continue } if res.Len() > 0 { res.WriteString(",") } res.WriteString(d) } return res.String() } //--------------------------------- func SSLCertficateListInit() { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var err error for i := range programConfigure.SSLCertficateList { err = programConfigure.SSLCertficateList[i].Init() if err != nil { log.Printf("SSLCertficateListInit [%s]err:%s", programConfigure.SSLCertficateList[i].Key, err.Error()) } } } func GetSSLCertficateList() []SSLCertficate { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var res []SSLCertficate if programConfigure == nil { return res } for i := range programConfigure.SSLCertficateList { res = append(res, programConfigure.SSLCertficateList[i]) } return res } func SSLCertficateListAdd(s *SSLCertficate) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() //************ //重复检测 for i := range programConfigure.SSLCertficateList { if programConfigure.SSLCertficateList[i].CertBase64 == s.CertBase64 { return fmt.Errorf("绑定域名[%s]的相同证书已存在,请勿重复添加", (*s.CertsInfo)[0].Domains[0]) } if programConfigure.SSLCertficateList[i].GetFirstDomain() != "" && programConfigure.SSLCertficateList[i].GetFirstDomain() == s.GetFirstDomain() { return fmt.Errorf("绑定域名[%s]的证书已存在,如果要添加新证书请先手动删除旧证书", (*s.CertsInfo)[0].Domains[0]) } } //************ if s.Key == "" { s.Key = stringsp.GetRandomString(8) } s.AddTime = time.Now().Format("2006-01-02 15:04:05") s.Enable = true programConfigure.SSLCertficateList = append(programConfigure.SSLCertficateList, *s) return Save() } func SSLCertficateListDelete(key string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() deleteIndex := -1 for i := range programConfigure.SSLCertficateList { if programConfigure.SSLCertficateList[i].Key == key { deleteIndex = i break } } if deleteIndex < 0 { return fmt.Errorf("key:%s 不存在", key) } programConfigure.SSLCertficateList = DeleteSSLCertficateListslice(programConfigure.SSLCertficateList, deleteIndex) return Save() } func SSLCertficateEnable(key string, enable bool) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() index := -1 for i := range programConfigure.SSLCertficateList { if programConfigure.SSLCertficateList[i].Key == key { index = i break } } if index < 0 { return fmt.Errorf("key:%s 不存在", key) } programConfigure.SSLCertficateList[index].Enable = enable return Save() } func SSLCertficateAlterRemark(key, remark string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() index := -1 for i := range programConfigure.SSLCertficateList { if programConfigure.SSLCertficateList[i].Key == key { index = i break } } if index < 0 { return fmt.Errorf("key:%s 不存在", key) } programConfigure.SSLCertficateList[index].Remark = remark return Save() } func DeleteSSLCertficateListslice(a []SSLCertficate, deleteIndex int) []SSLCertficate { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } func GetValidSSLCertficateList() []tls.Certificate { var res []tls.Certificate var gdnRes []tls.Certificate sslListCache := GetSSLCertficateList() for _, s := range sslListCache { if !s.Enable { continue } if strings.HasPrefix(s.GetFirstDomain(), "*.") { gdnRes = append(gdnRes, *s.Certificate) continue } res = append(res, *s.Certificate) } res = append(res, gdnRes...) return res } ================================================ FILE: config/whitelist.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package config import ( "fmt" "net" "strings" "time" ) type WhiteListConfigure struct { BaseConfigure WhiteListBaseConfigure `json:"BaseConfigure"` WhiteList []WhiteListItem `json:"WhiteList"` //白名单列表 } type WhiteListItem struct { IP string `json:"IP"` EffectiveTime string `json:"Effectivetime"` //有效时间 NetIP net.IP `json:"-"` Cidr *net.IPNet `json:"-"` } func (w *WhiteListItem) Contains(ip string) bool { netIP := net.ParseIP(ip) if netIP == nil { return false } if w.NetIP != nil { return w.NetIP.Equal(netIP) } if w.Cidr != nil { return w.Cidr.Contains(netIP) } return false } type WhiteListBaseConfigure struct { URL string `json:"URL"` ActivelifeDuration int32 `json:"ActivelifeDuration"` //有效期限,小时 BasicAccount string `json:"BasicAccount"` BasicPassword string `json:"BasicPassword"` } func GetWhiteListBaseConfigure() WhiteListBaseConfigure { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() return programConfigure.WhiteListConfigure.BaseConfigure } func SetWhiteListBaseConfigure(activelifeDuration int32, url, account, password string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() programConfigure.WhiteListConfigure.BaseConfigure.URL = url programConfigure.WhiteListConfigure.BaseConfigure.ActivelifeDuration = activelifeDuration programConfigure.WhiteListConfigure.BaseConfigure.BasicAccount = account programConfigure.WhiteListConfigure.BaseConfigure.BasicPassword = password return Save() } func GetWhiteList() []WhiteListItem { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() WhiteListFlush(false) var resList []WhiteListItem if programConfigure == nil { return resList } for i := range programConfigure.WhiteListConfigure.WhiteList { resList = append(resList, programConfigure.WhiteListConfigure.WhiteList[i]) } return resList } func WhiteListInit() { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var netIP net.IP var cidr *net.IPNet for i := range programConfigure.WhiteListConfigure.WhiteList { netIP = nil cidr = nil if strings.Contains(programConfigure.WhiteListConfigure.WhiteList[i].IP, "/") { _, cidr, _ = net.ParseCIDR(programConfigure.WhiteListConfigure.WhiteList[i].IP) } else { netIP = net.ParseIP(programConfigure.WhiteListConfigure.WhiteList[i].IP) } programConfigure.WhiteListConfigure.WhiteList[i].Cidr = cidr programConfigure.WhiteListConfigure.WhiteList[i].NetIP = netIP } } func WhiteListAdd(ip string, activelifeDuration int32) (string, error) { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() var err error var netIP net.IP = nil var cidr *net.IPNet = nil if strings.Contains(ip, "/") { _, cidr, err = net.ParseCIDR(ip) if err != nil { return "", fmt.Errorf("网段格式有误,转换出错:%s", err.Error()) } } else { netIP = net.ParseIP(ip) if netIP == nil { return "", fmt.Errorf("IP格式有误") } } if activelifeDuration <= 0 { activelifeDuration = programConfigure.WhiteListConfigure.BaseConfigure.ActivelifeDuration } EffectiveTimeStr := time.Now().Add(time.Hour * time.Duration(activelifeDuration)).Format("2006-01-02 15:04:05") for i, ipr := range programConfigure.WhiteListConfigure.WhiteList { if ipr.IP == ip { programConfigure.WhiteListConfigure.WhiteList[i].EffectiveTime = EffectiveTimeStr return EffectiveTimeStr, Save() } } item := WhiteListItem{IP: ip, EffectiveTime: EffectiveTimeStr, NetIP: netIP, Cidr: cidr} programConfigure.WhiteListConfigure.WhiteList = append(programConfigure.WhiteListConfigure.WhiteList, item) return EffectiveTimeStr, Save() } func WhiteListDelete(ip string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range programConfigure.WhiteListConfigure.WhiteList { if ipr.IP == ip { removeIndex = i break } } if removeIndex >= 0 { removeCount++ programConfigure.WhiteListConfigure.WhiteList = DeleteWhiteListlice(programConfigure.WhiteListConfigure.WhiteList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return Save() } func WhiteListFlush(lock bool) error { if lock { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() } removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range programConfigure.WhiteListConfigure.WhiteList { ipat, err := time.ParseInLocation("2006-01-02 15:04:05", ipr.EffectiveTime, time.Local) if err != nil { //有效时间格式有误,当失效处理 removeIndex = i break } if time.Since(ipat) > 0 { removeIndex = i break } } if removeIndex >= 0 { removeCount++ programConfigure.WhiteListConfigure.WhiteList = DeleteWhiteListlice(programConfigure.WhiteListConfigure.WhiteList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return Save() } func DeleteWhiteListlice(a []WhiteListItem, deleteIndex int) []WhiteListItem { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: config/wol.go ================================================ package config import ( "fmt" "github.com/gdy666/lucky/thirdlib/gdylib/netinterfaces" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" "github.com/gdy666/lucky/thirdlib/go-wol" ) type WOLDevice struct { Key string DeviceName string MacList []string BroadcastIPs []string Port int Relay bool //交给中继设备发送 Repeat int //重复发送次数 } func (d *WOLDevice) WakeUp() error { return WakeOnLan(d.MacList, d.BroadcastIPs, d.Port, d.Repeat) } func WakeOnLan(macList []string, broadcastIps []string, port, repeat int) (err error) { globalBroadcastList := netinterfaces.GetGlobalIPv4BroadcastList() matchCount := 0 defer func() { if matchCount <= 0 { err = fmt.Errorf("找不到匹配的局域网广播IP,未能发送唤醒指令") } }() if len(broadcastIps) > 0 { for _, bcst := range broadcastIps { bcstOk := stringsp.StrIsInList(bcst, globalBroadcastList) if !bcstOk { continue } matchCount++ for _, mac := range macList { wol.WakeUpRepeat(mac, bcst, "", port, repeat) } } return } for _, bcst := range globalBroadcastList { matchCount++ for _, mac := range macList { wol.WakeUpRepeat(mac, bcst, "", port, repeat) } } return } //---------------------------------------- func GetWOLDeviceByKey(key string) *WOLDevice { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() index := -1 for i := range programConfigure.WOLDeviceList { if programConfigure.WOLDeviceList[i].Key == key { index = i break } } if index < 0 { return nil } device := programConfigure.WOLDeviceList[index] return &device } func GetWOLDeviceList() []WOLDevice { programConfigureMutex.RLock() defer programConfigureMutex.RUnlock() var res []WOLDevice if programConfigure == nil { return res } for i := range programConfigure.WOLDeviceList { res = append(res, programConfigure.WOLDeviceList[i]) } return res } func WOLDeviceListAdd(d *WOLDevice) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() if d.Key == "" { d.Key = stringsp.GetRandomString(8) } programConfigure.WOLDeviceList = append(programConfigure.WOLDeviceList, *d) return Save() } func WOLDeviceListAlter(d *WOLDevice) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() index := -1 for i := range programConfigure.WOLDeviceList { if programConfigure.WOLDeviceList[i].Key == d.Key { index = i break } } if index < 0 { return fmt.Errorf("key:%s 不存在", d.Key) } programConfigure.WOLDeviceList[index] = *d return Save() } func WOLDeviceListDelete(key string) error { programConfigureMutex.Lock() defer programConfigureMutex.Unlock() deleteIndex := -1 for i := range programConfigure.WOLDeviceList { if programConfigure.WOLDeviceList[i].Key == key { deleteIndex = i break } } if deleteIndex < 0 { return fmt.Errorf("key:%s 不存在", key) } programConfigure.WOLDeviceList = DeleteWOLDeviceListslice(programConfigure.WOLDeviceList, deleteIndex) return Save() } func DeleteWOLDeviceListslice(a []WOLDevice, deleteIndex int) []WOLDevice { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: ddns/alidns.go ================================================ package ddns import ( "bytes" "fmt" "log" "net/http" "net/url" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/jeessy2/ddns-go/util" ) const ( alidnsEndpoint string = "https://alidns.aliyuncs.com/" ) // https://help.aliyun.com/document_detail/29776.html?spm=a2c4g.11186623.6.672.715a45caji9dMA // Alidns Alidns type Alidns struct { DNSCommon TTL string } // AlidnsRecord record type AlidnsRecord struct { DomainName string RecordID string Value string } // AlidnsSubDomainRecords 记录 type AlidnsSubDomainRecords struct { TotalCount int DomainRecords struct { Record []AlidnsRecord } } // AlidnsResp 修改/添加返回结果 type AlidnsResp struct { RecordID string RequestID string } // Init 初始化 func (ali *Alidns) Init(task *ddnscore.DDNSTaskInfo) { ali.DNSCommon.Init(task) if task.TTL == "" { // 默认600s ali.TTL = "600" } else { ali.TTL = task.TTL } ali.SetCreateUpdateDomainFunc(ali.createUpdateDomain) } func (ali *Alidns) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var records AlidnsSubDomainRecords // 获取当前域名信息 params := domain.GetCustomParams() params.Set("Action", "DescribeSubDomainRecords") params.Set("DomainName", domain.DomainName) params.Set("SubDomain", domain.GetFullDomain()) params.Set("Type", recordType) err := ali.request(params, &records) if err != nil { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) return } if records.TotalCount > 0 { // 默认第一个 recordSelected := records.DomainRecords.Record[0] if params.Has("RecordId") { for i := 0; i < len(records.DomainRecords.Record); i++ { if records.DomainRecords.Record[i].RecordID == params.Get("RecordId") { recordSelected = records.DomainRecords.Record[i] } } } // 存在,更新 ali.modify(recordSelected, domain, recordType, ipAddr) } else { // 不存在,创建 ali.create(domain, recordType, ipAddr) } } // 创建 func (ali *Alidns) create(domain *ddnscore.Domain, recordType string, ipAddr string) { params := domain.GetCustomParams() params.Set("Action", "AddDomainRecord") params.Set("DomainName", domain.DomainName) params.Set("RR", domain.GetSubDomain()) params.Set("Type", recordType) params.Set("Value", ipAddr) params.Set("TTL", ali.TTL) var result AlidnsResp err := ali.request(params, &result) if err == nil && result.RecordID != "" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("创建域名失败:\n%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (ali *Alidns) modify(recordSelected AlidnsRecord, domain *ddnscore.Domain, recordType string, ipAddr string) { // 相同不修改 if recordSelected.Value == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } params := domain.GetCustomParams() params.Set("Action", "UpdateDomainRecord") params.Set("RR", domain.GetSubDomain()) params.Set("RecordId", recordSelected.RecordID) params.Set("Type", recordType) params.Set("Value", ipAddr) params.Set("TTL", ali.TTL) var result AlidnsResp err := ali.request(params, &result) if err == nil && result.RecordID != "" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析失败:%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // request 统一请求接口 func (ali *Alidns) request(params url.Values, result interface{}) (err error) { util.AliyunSigner(ali.task.DNS.ID, ali.task.DNS.Secret, ¶ms) req, err := http.NewRequest( "GET", alidnsEndpoint, bytes.NewBuffer(nil), ) req.URL.RawQuery = params.Encode() if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } client, err := ali.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: ddns/baidu.go ================================================ package ddns import ( "bytes" "encoding/json" "log" "net/http" "strconv" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/jeessy2/ddns-go/util" ) // https://cloud.baidu.com/doc/BCD/s/4jwvymhs7 const ( baiduEndpoint = "https://bcd.baidubce.com" ) type BaiduCloud struct { DNSCommon TTL int } // BaiduRecord 单条解析记录 type BaiduRecord struct { RecordId uint `json:"recordId"` Domain string `json:"domain"` View string `json:"view"` Rdtype string `json:"rdtype"` TTL int `json:"ttl"` Rdata string `json:"rdata"` ZoneName string `json:"zoneName"` Status string `json:"status"` } // BaiduRecordsResp 获取解析列表拿到的结果 type BaiduRecordsResp struct { TotalCount int `json:"totalCount"` Result []BaiduRecord `json:"result"` } // BaiduListRequest 获取解析列表请求的body json type BaiduListRequest struct { Domain string `json:"domain"` PageNum int `json:"pageNum"` PageSize int `json:"pageSize"` } // BaiduModifyRequest 修改解析请求的body json type BaiduModifyRequest struct { RecordId uint `json:"recordId"` Domain string `json:"domain"` View string `json:"view"` RdType string `json:"rdType"` TTL int `json:"ttl"` Rdata string `json:"rdata"` ZoneName string `json:"zoneName"` } // BaiduCreateRequest 创建新解析请求的body json type BaiduCreateRequest struct { Domain string `json:"domain"` RdType string `json:"rdType"` TTL int `json:"ttl"` Rdata string `json:"rdata"` ZoneName string `json:"zoneName"` } func (baidu *BaiduCloud) Init(task *ddnscore.DDNSTaskInfo) { baidu.DNSCommon.Init(task) if task.TTL == "" { // 默认300s baidu.TTL = 300 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { baidu.TTL = 300 } else { baidu.TTL = ttl } } baidu.SetCreateUpdateDomainFunc(baidu.createUpdateDomain) } func (baidu *BaiduCloud) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var records BaiduRecordsResp requestBody := BaiduListRequest{ Domain: domain.DomainName, PageNum: 1, PageSize: 1000, } err := baidu.request("POST", baiduEndpoint+"/v1/domain/resolve/list", requestBody, &records) if err != nil { errMsg := "更新失败[001]:\n" errMsg += err.Error() domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } find := false for _, record := range records.Result { if record.Domain == domain.GetSubDomain() { //存在就去更新 baidu.modify(record, domain, recordType, ipAddr) find = true break } } if !find { //没找到,去创建 baidu.create(domain, recordType, ipAddr) } } // create 创建新的解析 func (baidu *BaiduCloud) create(domain *ddnscore.Domain, recordType string, ipAddr string) { var baiduCreateRequest = BaiduCreateRequest{ Domain: domain.GetSubDomain(), //处理一下@ RdType: recordType, TTL: baidu.TTL, Rdata: ipAddr, ZoneName: domain.DomainName, } var result BaiduRecordsResp err := baidu.request("POST", baiduEndpoint+"/v1/domain/resolve/add", baiduCreateRequest, &result) if err == nil { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { //log.Printf("新增域名解析 %s 失败!", domain) domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) } } // modify 更新解析 func (baidu *BaiduCloud) modify(record BaiduRecord, domain *ddnscore.Domain, rdType string, ipAddr string) { //没有变化直接跳过 if record.Rdata == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } var baiduModifyRequest = BaiduModifyRequest{ RecordId: record.RecordId, Domain: record.Domain, View: record.View, RdType: rdType, TTL: record.TTL, Rdata: ipAddr, ZoneName: record.ZoneName, } var result BaiduRecordsResp err := baidu.request("POST", baiduEndpoint+"/v1/domain/resolve/edit", baiduModifyRequest, &result) if err == nil { //log.Printf("更新域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { //log.Printf("更新域名解析 %s 失败!", domain) domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) } } // request 统一请求接口 func (baidu *BaiduCloud) request(method string, url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( method, url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } util.BaiduSigner(baidu.task.DNS.ID, baidu.task.DNS.Secret, req) client, err := baidu.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: ddns/callback.go ================================================ package ddns import ( "fmt" "net/http" "strings" "time" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) type Callback struct { DNSCommon TTL string } // Init 初始化 func (cb *Callback) Init(task *ddnscore.DDNSTaskInfo) { cb.DNSCommon.Init(task) if task.TTL == "" { // 默认600 cb.TTL = "600" } else { cb.TTL = task.TTL } cb.SetCreateUpdateDomainFunc(cb.createUpdateDomain) } func CopyHeadersMap(sm map[string]string) map[string]string { dm := make(map[string]string) for k, v := range sm { dm[k] = v } return dm } func (cb *Callback) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { url := replacePara(cb.task.DNS.Callback.URL, ipAddr, domain, recordType, cb.TTL) requestBody := replacePara(cb.task.DNS.Callback.RequestBody, ipAddr, domain, recordType, cb.TTL) //headersStr := cb.task.DNS.Callback.Headers var headerStrList []string for i := range cb.task.DNS.Callback.Headers { header := replacePara(cb.task.DNS.Callback.Headers[i], ipAddr, domain, recordType, cb.TTL) headerStrList = append(headerStrList, header) } headers := httputils.CreateHeadersMap(headerStrList) succcssCotentList := []string{} for i := range cb.task.DNS.Callback.CallbackSuccessContent { content := replacePara(cb.task.DNS.Callback.CallbackSuccessContent[i], ipAddr, domain, recordType, cb.TTL) succcssCotentList = append(succcssCotentList, content) } callErr := cb.CallbackHttpClientDo(cb.task.DNS.Callback.Method, url, requestBody, headers, succcssCotentList) if callErr != nil { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, callErr.Error()) return } domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } // replacePara 替换参数 func replacePara(orgPara, ipAddr string, domain *ddnscore.Domain, recordType string, ttl string) (newPara string) { orgPara = strings.ReplaceAll(orgPara, "#{ip}", ipAddr) orgPara = strings.ReplaceAll(orgPara, "#{domain}", domain.String()) orgPara = strings.ReplaceAll(orgPara, "#{recordType}", recordType) orgPara = strings.ReplaceAll(orgPara, "#{ttl}", ttl) for k, v := range domain.GetCustomParams() { if len(v) == 1 { orgPara = strings.ReplaceAll(orgPara, "#{"+k+"}", v[0]) } } return orgPara } func (cb *Callback) CallbackHttpClientDo(method, url, requestBody string, headers map[string]string, callbackSuccessContent []string) error { globalDDNSConf := config.GetDDNSConfigure() dnsConf := cb.task.DNS statusCode, respStr, err := httputils.GetStringGoutDoHttpRequest( "tcp", "", method, url, requestBody, dnsConf.HttpClientProxyType, dnsConf.HttpClientProxyAddr, dnsConf.HttpClientProxyUser, dnsConf.HttpClientProxyPassword, headers, !globalDDNSConf.HttpClientSecureVerify, time.Duration(cb.task.HttpClientTimeout)*time.Second) if err != nil { return fmt.Errorf("Callback 调用接口[%s]出错:%s", url, err.Error()) } if cb.task.DNS.Callback.DisableCallbackSuccessContentCheck { if statusCode == http.StatusOK { return nil } return fmt.Errorf("调用接口失败:\n statusCode:%d\n%s", statusCode, respStr) } //log.Printf("接口[%s]调用响应:%s\n", url, respStr) //fmt.Printf("statusCode:%d\n", statusCode) for _, successContent := range callbackSuccessContent { if strings.Contains(respStr, successContent) { return nil } } return fmt.Errorf("调用接口失败:\n%s", respStr) } ================================================ FILE: ddns/cloudflare.go ================================================ package ddns import ( "bytes" "encoding/json" "fmt" "log" "net/http" "strconv" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) const ( zonesAPI string = "https://api.cloudflare.com/client/v4/zones" ) // Cloudflare Cloudflare实现 type Cloudflare struct { DNSCommon TTL int } // CloudflareZonesResp cloudflare zones返回结果 type CloudflareZonesResp struct { CloudflareStatus Result []struct { ID string Name string Status string Paused bool } } // CloudflareRecordsResp records type CloudflareRecordsResp struct { CloudflareStatus Result []CloudflareRecord } // CloudflareRecord 记录实体 type CloudflareRecord struct { ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` Content string `json:"content"` Proxied bool `json:"proxied"` TTL int `json:"ttl"` } // CloudflareStatus 公共状态 type CloudflareStatus struct { Success bool Messages []string } // Init 初始化 func (cf *Cloudflare) Init(task *ddnscore.DDNSTaskInfo) { cf.DNSCommon.Init(task) if task.TTL == "" { // 默认1 auto ttl cf.TTL = 1 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { cf.TTL = 1 } else { cf.TTL = ttl } } cf.SetCreateUpdateDomainFunc(cf.createUpdateDomain) } func (cf *Cloudflare) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { result, err := cf.getZones(domain) if err != nil || len(result.Result) != 1 { errMsg := "更新失败[001]:\n" if err != nil { errMsg += err.Error() } else { errMsg += fmt.Sprintf("%v", result) } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } zoneID := result.Result[0].ID var records CloudflareRecordsResp // getDomains 最多更新前50条 err = cf.request( "GET", fmt.Sprintf(zonesAPI+"/%s/dns_records?type=%s&name=%s&per_page=50", zoneID, recordType, domain), nil, &records, ) if err != nil || !records.Success { errMsg := "更新失败[002]:\n" if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } if len(records.Result) > 0 { // 更新 cf.modify(records, zoneID, domain, recordType, ipAddr) } else { // 新增 cf.create(zoneID, domain, recordType, ipAddr) } } // 创建 func (cf *Cloudflare) create(zoneID string, domain *ddnscore.Domain, recordType string, ipAddr string) { record := &CloudflareRecord{ Type: recordType, Name: domain.String(), Content: ipAddr, Proxied: false, TTL: cf.TTL, } var status CloudflareStatus err := cf.request( "POST", fmt.Sprintf(zonesAPI+"/%s/dns_records", zoneID), record, &status, ) if err == nil && status.Success { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("创建域名失败:\n%v\n", status) if err != nil { errMsg += fmt.Sprintf(":%s", err.Error()) } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (cf *Cloudflare) modify(result CloudflareRecordsResp, zoneID string, domain *ddnscore.Domain, recordType string, ipAddr string) { for _, record := range result.Result { // 相同不修改 if record.Content == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } continue } var status CloudflareStatus record.Content = ipAddr record.TTL = cf.TTL err := cf.request( "PUT", fmt.Sprintf(zonesAPI+"/%s/dns_records/%s", zoneID, record.ID), record, &status, ) if err == nil && status.Success { //log.Printf("更新域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { //log.Printf("更新域名解析 %s 失败!Messages: %s", domain, status.Messages) errMsg := fmt.Sprintf("更新域名解析失败:%v\n", status) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } } // 获得域名记录列表 func (cf *Cloudflare) getZones(domain *ddnscore.Domain) (result CloudflareZonesResp, err error) { err = cf.request( "GET", fmt.Sprintf(zonesAPI+"?name=%s&status=%s&per_page=%s", domain.DomainName, "active", "50"), nil, &result, ) return } // request 统一请求接口 func (cf *Cloudflare) request(method string, url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( method, url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } req.Header.Set("Authorization", "Bearer "+cf.task.DNS.Secret) req.Header.Set("Content-Type", "application/json") client, err := cf.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: ddns/dns.go ================================================ package ddns import "github.com/gdy666/lucky/ddnscore.go" // DNS interface type DNS interface { Init(task *ddnscore.DDNSTaskInfo) // 添加或更新IPv4/IPv6记录 AddUpdateDomainRecords() string } ================================================ FILE: ddns/dnscommon.go ================================================ package ddns import ( "fmt" "log" "net/http" "strings" "time" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" "github.com/miekg/dns" "golang.org/x/net/idna" ) type DNSCommon struct { //Domains *config.Domains createUpdateDomainFunc func(recordType, ipaddr string, domain *ddnscore.Domain) task *ddnscore.DDNSTaskInfo } func (d *DNSCommon) SetCreateUpdateDomainFunc(f func(recordType, ipaddr string, domain *ddnscore.Domain)) { d.createUpdateDomainFunc = f } func (d *DNSCommon) Init(task *ddnscore.DDNSTaskInfo) { d.task = task } // 添加或更新IPv4/IPv6记录 func (d *DNSCommon) AddUpdateDomainRecords() string { if d.task.TaskType == "IPv6" { return d.addUpdateDomainRecords("AAAA") } return d.addUpdateDomainRecords("A") } func (d *DNSCommon) addUpdateDomainRecords(recordType string) string { ipAddr, change := d.task.CheckIPChange() defer ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) d.task.TaskState.SetIPAddr(ipAddr) //及时刷新IP地址显示 ddnscore.DDNSTaskInfoMapUpdateIPInfo(d.task) if ipAddr == "" { d.task.TaskState.SetDomainUpdateStatus(ddnscore.UpdatePause, "获取公网IP失败") return ipAddr } //var preFaildDomains []ddnscore.Domain checkDoamins := d.task.TaskState.Domains //log.Printf("时间间隔:%d秒", time.Since(d.task.TaskState.LastSyncTime)/time.Second) if time.Since(d.task.TaskState.LastSyncTime) > time.Second*time.Duration(d.task.DNS.ForceInterval-1) { //log.Printf("DDNS任务[%s]强制更新", d.task.TaskName) change = true goto sync } //设置原先状态成功的为继续成功 //不成功的就更新 if !change { //公网IP没有改变 checkDoamins = []ddnscore.Domain{} for i := range d.task.TaskState.Domains { //如果原先状态成功或不改变就刷新时间 if d.task.TaskState.Domains[i].UpdateStatus == ddnscore.UpdatedNothing || d.task.TaskState.Domains[i].UpdateStatus == ddnscore.UpdatedSuccess { d.task.TaskState.Domains[i].SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) continue } checkDoamins = append(checkDoamins, d.task.TaskState.Domains[i]) } if len(checkDoamins) == 0 { return ipAddr } } sync: if change { syncTime := time.Now() defer func() { //记录最近一次同步操作时间 d.task.TaskState.LastSyncTime = syncTime }() } for i := range checkDoamins { if d.createUpdateDomainFunc == nil { log.Printf("ddns createUpdateDomainFunc undefine") break } domain := getDomainItem(checkDoamins[i].String(), &d.task.TaskState.Domains) if domain == nil { log.Printf("getDomainItem nil") continue } if d.task.DNS.ResolverDoaminCheck { //<-time.After(time.Second) domainResolverIPaddr, _ := ResolveDomainAtServerList(recordType, domain.String(), d.task.DNS.DNSServerList) //log.Printf("domain:%s domainResolverIPaddr:%s ,ipaddr:%s", domain.String(), domainResolverIPaddr, ipAddr) if domainResolverIPaddr == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) continue } } //********* // params := domain.GetCustomParams() // if params.Has("recordType") { // recordType = params.Get("recordType") // } // if params.Has("recordContent") { // //ipAddr = params.Get("recordContent") // recordContent := params.Get("recordContent") // recordContent = strings.Replace(recordContent, "#{ip}", ipAddr, -1) // ipAddr = recordContent // log.Printf("recordType[%s]recordContent[%s]", recordType, recordContent) // } //********* d.createUpdateDomainFunc(recordType, ipAddr, domain) ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) } return ipAddr } func getDomainItem(fullDomain string, domains *[]ddnscore.Domain) *ddnscore.Domain { if domains == nil { return nil } for i, domain := range *domains { if domain.String() == fullDomain { return &(*domains)[i] } } return nil } //-------------------------------------------------------------------------------------------------- func (d *DNSCommon) CreateHTTPClient() (*http.Client, error) { ddnsGlobalConf := config.GetDDNSConfigure() return httputils.CreateHttpClient( d.task.DNS.GetCallAPINetwork(), "", !ddnsGlobalConf.HttpClientSecureVerify, d.task.DNS.HttpClientProxyType, d.task.DNS.HttpClientProxyAddr, d.task.DNS.HttpClientProxyUser, d.task.DNS.HttpClientProxyPassword, time.Duration(d.task.HttpClientTimeout)*time.Second) } // --------------------------------------------------------------------------------------------------- func ResolveDomainAtServerList(queryType, domain string, dnsServerList []string) (string, error) { if len(dnsServerList) == 0 { if queryType == "AAAA" { dnsServerList = config.DefaultIPv6DNSServerList } else { dnsServerList = config.DefaultIPv4DNSServerList } } //some name that ought to exist, does not exist (NXDOMAIN) querytype, querytypeOk := dns.StringToType[strings.ToUpper(queryType)] if !querytypeOk { return "", fmt.Errorf("queryType error:%s", queryType) } if strings.HasPrefix(domain, "*.") { randomStr := stringsp.GetRandomString(8) domain = strings.Replace(domain, "*", randomStr, 1) } domain = dns.Fqdn(domain) domain, err := idna.ToASCII(domain) if err != nil { return "", fmt.Errorf(` idna.ToASCII(domain) error:%s`, err.Error()) } m := new(dns.Msg) m.SetQuestion(domain, querytype) m.MsgHdr.RecursionDesired = true c := new(dns.Client) noExistTimes := 0 for _, dnsServer := range dnsServerList { c.Net = "" ipaddr, err := resolveDomain(m, c, dnsServer) if err != nil { //log.Printf("[%s]===>[%s][%s] ResolveDomain error:%s", dnsServer, queryType, domain, err.Error()) if strings.Contains(err.Error(), "some name that ought to exist, does not exist (NXDOMAIN)") { noExistTimes++ if noExistTimes >= 4 { return "", fmt.Errorf("解析域名[%s][%s]IP失败:noExistTimes", queryType, domain) } } continue } return ipaddr, nil } return "", fmt.Errorf("解析域名[%s][%s]IP失败", queryType, domain) } func resolveDomain(msg *dns.Msg, client *dns.Client, dnsServer string) (string, error) { Redo: if in, _, err := client.Exchange(msg, dnsServer); err == nil { // Second return value is RTT, not used for now if in.MsgHdr.Truncated { client.Net = "tcp" goto Redo } switch in.MsgHdr.Rcode { case dns.RcodeServerFailure: return "", fmt.Errorf("the name server encountered an internal failure while processing this request (SERVFAIL)") case dns.RcodeNameError: return "", fmt.Errorf("some name that ought to exist, does not exist (NXDOMAIN)") case dns.RcodeRefused: return "", fmt.Errorf("the name server refuses to perform the specified operation for policy or security reasons (REFUSED)") default: //fmt.Printf("in.Answer len:%d\n", len(in.Answer)) for _, rr := range in.Answer { //fmt.Printf("rr.String :%s\n", rr.String()) return strings.Replace(rr.String(), rr.Header().String(), "", -1), nil } } } return "", fmt.Errorf("DNS server could not be reached") } ================================================ FILE: ddns/dnspod.go ================================================ package ddns import ( "fmt" "net/url" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) const ( recordListAPI string = "https://dnsapi.cn/Record.List" recordModifyURL string = "https://dnsapi.cn/Record.Modify" recordCreateAPI string = "https://dnsapi.cn/Record.Create" ) // https://cloud.tencent.com/document/api/302/8516 // Dnspod 腾讯云dns实现 type Dnspod struct { DNSCommon TTL string } // DnspodRecordListResp recordListAPI结果 type DnspodRecordListResp struct { DnspodStatus Records []struct { ID string Name string Type string Value string Enabled string } } // DnspodStatus DnspodStatus type DnspodStatus struct { Status struct { Code string Message string } } // Init 初始化 func (dnspod *Dnspod) Init(task *ddnscore.DDNSTaskInfo) { dnspod.DNSCommon.Init(task) if task.TTL == "" { // 默认600s dnspod.TTL = "600" } else { dnspod.TTL = task.TTL } dnspod.SetCreateUpdateDomainFunc(dnspod.createUpdateDomain) } func (dnspod *Dnspod) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { result, err := dnspod.getRecordList(domain, recordType) if err != nil { errMsg := "更新失败[001]:\n" errMsg += err.Error() domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } if len(result.Records) > 0 { // 更新 dnspod.modify(result, domain, recordType, ipAddr) } else { // 新增 dnspod.create(result, domain, recordType, ipAddr) } } // 创建 func (dnspod *Dnspod) create(result DnspodRecordListResp, domain *ddnscore.Domain, recordType string, ipAddr string) { params := domain.GetCustomParams() params.Add("login_token", dnspod.task.DNS.ID+","+dnspod.task.DNS.Secret) params.Add("domain", domain.DomainName) params.Add("sub_domain", domain.GetSubDomain()) params.Add("record_type", recordType) params.Add("value", ipAddr) params.Add("ttl", dnspod.TTL) params.Add("format", "json") if !params.Has("record_line") { params.Add("record_line", "默认") } status, err := dnspod.commonRequest(recordCreateAPI, params, domain) if err == nil && status.Status.Code == "1" { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("创建域名失败:%v\n", status) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (dnspod *Dnspod) modify(result DnspodRecordListResp, domain *ddnscore.Domain, recordType string, ipAddr string) { for _, record := range result.Records { // 相同不修改 if record.Value == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } continue } params := domain.GetCustomParams() params.Add("login_token", dnspod.task.DNS.ID+","+dnspod.task.DNS.Secret) params.Add("domain", domain.DomainName) params.Add("sub_domain", domain.GetSubDomain()) params.Add("record_type", recordType) params.Add("value", ipAddr) params.Add("ttl", dnspod.TTL) params.Add("format", "json") params.Add("record_id", record.ID) if !params.Has("record_line") { params.Add("record_line", "默认") } status, err := dnspod.commonRequest(recordModifyURL, params, domain) if err == nil && status.Status.Code == "1" { //log.Printf("更新域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析失败:%v\n", status) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } } // 公共 func (dnspod *Dnspod) commonRequest(apiAddr string, values url.Values, domain *ddnscore.Domain) (status DnspodStatus, err error) { client, e := dnspod.CreateHTTPClient() if e != nil { err = e return } resp, e := client.PostForm( apiAddr, values, ) if e != nil { err = e return } err = httputils.GetAndParseJSONResponseFromHttpResponse(resp, &status) return } // 获得域名记录列表 func (dnspod *Dnspod) getRecordList(domain *ddnscore.Domain, typ string) (result DnspodRecordListResp, err error) { params := domain.GetCustomParams() params.Add("login_token", dnspod.task.DNS.ID+","+dnspod.task.DNS.Secret) params.Add("domain", domain.DomainName) params.Add("record_type", typ) params.Add("sub_domain", domain.GetSubDomain()) params.Add("format", "json") if !params.Has("record_line") { params.Add("record_line", "默认") } client, e := dnspod.CreateHTTPClient() if e != nil { err = e return } resp, err := client.PostForm( recordListAPI, params, ) if err != nil { err = e return } err = httputils.GetAndParseJSONResponseFromHttpResponse(resp, &result) return } ================================================ FILE: ddns/godaddy.go ================================================ package ddns import ( "bytes" "encoding/json" "fmt" "net/http" "strconv" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) type godaddyRecord struct { Data string `json:"data"` Name string `json:"name"` TTL int `json:"ttl"` Type string `json:"type"` } type godaddyRecords []godaddyRecord type GoDaddy struct { DNSCommon TTL int header http.Header client *http.Client } // Init 初始化 func (gd *GoDaddy) Init(task *ddnscore.DDNSTaskInfo) { gd.DNSCommon.Init(task) // if task.TTL == "" { // // 默认600s // gd.TTL = 600 // } else { // gd.TTL = task.TTL // } if task.TTL == "" { // 默认300s gd.TTL = 600 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { gd.TTL = 600 } else { gd.TTL = ttl } } gd.header = map[string][]string{ "Authorization": {fmt.Sprintf("sso-key %s:%s", task.DNS.ID, task.DNS.Secret)}, "Content-Type": {"application/json"}, } //g.throttle, _ = util.GetThrottle(55) gd.client, _ = gd.CreateHTTPClient() gd.SetCreateUpdateDomainFunc(gd.createUpdateDomain) } func (gd *GoDaddy) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { _, err := gd.sendReq(http.MethodPut, recordType, domain, &godaddyRecords{godaddyRecord{ Data: ipAddr, Name: domain.SubDomain, TTL: gd.TTL, Type: recordType, }}) if err != nil { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) } } func (gd *GoDaddy) sendReq(method string, rType string, domain *ddnscore.Domain, data any) (*godaddyRecords, error) { var body *bytes.Buffer if data != nil { if buffer, err := json.Marshal(data); err != nil { return nil, err } else { body = bytes.NewBuffer(buffer) } } path := fmt.Sprintf("https://api.godaddy.com/v1/domains/%s/records/%s/%s", domain.DomainName, rType, domain.SubDomain) req, err := http.NewRequest(method, path, body) if err != nil { return nil, err } req.Header = gd.header resp, err := gd.client.Do(req) if err != nil { return nil, err } result := &godaddyRecords{} httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) return result, nil } ================================================ FILE: ddns/huawei.go ================================================ package ddns import ( "bytes" "encoding/json" "fmt" "log" "net/http" "strconv" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/jeessy2/ddns-go/util" ) const ( huaweicloudEndpoint string = "https://dns.myhuaweicloud.com" ) // https://support.huaweicloud.com/api-dns/dns_api_64001.html // Huaweicloud Huaweicloud type Huaweicloud struct { DNSCommon TTL int } // HuaweicloudZonesResp zones response type HuaweicloudZonesResp struct { Zones []struct { ID string Name string Recordsets []HuaweicloudRecordsets } } // HuaweicloudRecordsResp 记录返回结果 type HuaweicloudRecordsResp struct { Recordsets []HuaweicloudRecordsets } // HuaweicloudRecordsets 记录 type HuaweicloudRecordsets struct { ID string Name string `json:"name"` ZoneID string `json:"zone_id"` Status string Type string `json:"type"` TTL int `json:"ttl"` Records []string `json:"records"` } // Init 初始化 func (hw *Huaweicloud) Init(task *ddnscore.DDNSTaskInfo) { hw.DNSCommon.Init(task) if task.TTL == "" { // 默认300s hw.TTL = 300 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { hw.TTL = 300 } else { hw.TTL = ttl } } hw.SetCreateUpdateDomainFunc(hw.createUpdateDomain) } func (hw *Huaweicloud) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var records HuaweicloudRecordsResp err := hw.request( "GET", fmt.Sprintf(huaweicloudEndpoint+"/v2/recordsets?type=%s&name=%s", recordType, domain), nil, &records, ) if err != nil { errMsg := "更新失败[001]:\n" errMsg += err.Error() domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } find := false for _, record := range records.Recordsets { // 名称相同才更新。华为云默认是模糊搜索 if record.Name == domain.String()+"." { // 更新 hw.modify(record, domain, recordType, ipAddr) find = true break } } if !find { // 新增 hw.create(domain, recordType, ipAddr) } } // 创建 func (hw *Huaweicloud) create(domain *ddnscore.Domain, recordType string, ipAddr string) { zone, err := hw.getZones(domain) if err != nil { return } if len(zone.Zones) == 0 { log.Println("未能找到公网域名, 请检查域名是否添加") return } zoneID := zone.Zones[0].ID for _, z := range zone.Zones { if z.Name == domain.DomainName+"." { zoneID = z.ID break } } record := &HuaweicloudRecordsets{ Type: recordType, Name: domain.String() + ".", Records: []string{ipAddr}, TTL: hw.TTL, } var result HuaweicloudRecordsets err = hw.request( "POST", fmt.Sprintf(huaweicloudEndpoint+"/v2/zones/%s/recordsets", zoneID), record, &result, ) if err == nil && (len(result.Records) > 0 && result.Records[0] == ipAddr) { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("新增域名失败:%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (hw *Huaweicloud) modify(record HuaweicloudRecordsets, domain *ddnscore.Domain, recordType string, ipAddr string) { // 相同不修改 if len(record.Records) > 0 && record.Records[0] == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } var request map[string]interface{} = make(map[string]interface{}) request["records"] = []string{ipAddr} request["ttl"] = hw.TTL var result HuaweicloudRecordsets err := hw.request( "PUT", fmt.Sprintf(huaweicloudEndpoint+"/v2/zones/%s/recordsets/%s", record.ZoneID, record.ID), &request, &result, ) if err == nil && (len(result.Records) > 0 && result.Records[0] == ipAddr) { //log.Printf("更新域名解析 %s 成功!IP: %s, 状态: %s", domain, ipAddr, result.Status) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析:%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 获得域名记录列表 func (hw *Huaweicloud) getZones(domain *ddnscore.Domain) (result HuaweicloudZonesResp, err error) { err = hw.request( "GET", fmt.Sprintf(huaweicloudEndpoint+"/v2/zones?name=%s", domain.DomainName), nil, &result, ) return } // request 统一请求接口 func (hw *Huaweicloud) request(method string, url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( method, url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } s := util.Signer{ Key: hw.task.DNS.ID, Secret: hw.task.DNS.Secret, } s.Sign(req) req.Header.Add("content-type", "application/json") client, err := hw.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: ddns/porkbun.go ================================================ package ddns import ( "bytes" "encoding/json" "fmt" "log" "net/http" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) const ( porkbunEndpoint string = "https://porkbun.com/api/json/v3/dns" ) type Porkbun struct { DNSCommon TTL string } type PorkbunDomainRecord struct { Name string `json:"name"` // subdomain Type string `json:"type"` // record type, e.g. A AAAA CNAME Content string `json:"content"` // value Ttl string `json:"ttl"` // default 300 } type PorkbunResponse struct { Status string `json:"status"` } type PorkbunDomainQueryResponse struct { *PorkbunResponse Records []PorkbunDomainRecord `json:"records"` } type PorkbunApiKey struct { AccessKey string `json:"apikey"` SecretKey string `json:"secretapikey"` } type PorkbunDomainCreateOrUpdateVO struct { *PorkbunApiKey *PorkbunDomainRecord } // Init 初始化 func (pb *Porkbun) Init(task *ddnscore.DDNSTaskInfo) { pb.DNSCommon.Init(task) if task.TTL == "" { // 默认600s pb.TTL = "600" } else { pb.TTL = task.TTL } pb.SetCreateUpdateDomainFunc(pb.createUpdateDomain) } func (pb *Porkbun) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var record PorkbunDomainQueryResponse // 获取当前域名信息 err := pb.request( porkbunEndpoint+fmt.Sprintf("/retrieveByNameType/%s/%s/%s", domain.DomainName, recordType, domain.SubDomain), &PorkbunApiKey{ AccessKey: pb.task.DNS.ID, SecretKey: pb.task.DNS.Secret, }, &record, ) if err != nil { return } if record.Status == "SUCCESS" { if len(record.Records) > 0 { // 存在,更新 pb.modify(&record, domain, recordType, ipAddr) } else { // 不存在,创建 pb.create(domain, recordType, ipAddr) } } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, "查询现有域名记录失败") } } // 创建 func (pb *Porkbun) create(domain *ddnscore.Domain, recordType string, ipAddr string) { var response PorkbunResponse err := pb.request( porkbunEndpoint+fmt.Sprintf("/create/%s", domain.DomainName), &PorkbunDomainCreateOrUpdateVO{ PorkbunApiKey: &PorkbunApiKey{ AccessKey: pb.task.DNS.ID, SecretKey: pb.task.DNS.Secret, }, PorkbunDomainRecord: &PorkbunDomainRecord{ Name: domain.SubDomain, Type: recordType, Content: ipAddr, Ttl: pb.TTL, }, }, &response, ) if err == nil && response.Status == "SUCCESS" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("新增域名失败:%v\n", response) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (pb *Porkbun) modify(record *PorkbunDomainQueryResponse, domain *ddnscore.Domain, recordType string, ipAddr string) { // 相同不修改 if len(record.Records) > 0 && record.Records[0].Content == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } var response PorkbunResponse err := pb.request( porkbunEndpoint+fmt.Sprintf("/editByNameType/%s/%s/%s", domain.DomainName, recordType, domain.SubDomain), &PorkbunDomainCreateOrUpdateVO{ PorkbunApiKey: &PorkbunApiKey{ AccessKey: pb.task.DNS.ID, SecretKey: pb.task.DNS.Secret, }, PorkbunDomainRecord: &PorkbunDomainRecord{ Content: ipAddr, Ttl: pb.TTL, }, }, &response, ) if err == nil && response.Status == "SUCCESS" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析失败:%v\n", response) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // request 统一请求接口 func (pb *Porkbun) request(url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( "POST", url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } req.Header.Set("Content-Type", "application/json") client, e := pb.CreateHTTPClient() if e != nil { err = e return } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: ddns/worker.go ================================================ package ddns import ( "log" "runtime/debug" "sync" "time" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/service" ) var DDNSService *service.Service func init() { DDNSService, _ = service.NewService("ddns") DDNSService.SetTimerFunc(syncAllDomainsOnce) DDNSService.SetEventFunc(syncTaskDomainsOnce) } // Run 定时运行 func Run(firstDelay time.Duration, delay time.Duration) { log.Printf("DDNS 第一次运行将等待 %d 秒后运行 (等待网络)", int(firstDelay.Seconds())) <-time.After(firstDelay) DDNSService.Start() } var wg sync.WaitGroup // RunOnce RunOnce func syncAllDomainsOnce(params ...any) { ddnsTaskList := ddnscore.GetDDNSTaskInfoList() ddnscore.CleanIPUrlAddrMap() ddnsConf := config.GetDDNSConfigure() //log.Printf("批量执行DDNS任务") taskBeginTime := time.Now() //fmt.Printf("ddnsTaskList:%v\n", ddnsTaskList) for index := range ddnsTaskList { task := ddnsTaskList[index] if !task.Enable { continue } if time.Since(task.TaskState.LastWorkTime) < time.Second*15 { //log.Printf("[%s]太接近,忽略", task.TaskName) continue } //log.Printf("task[%s] enable\n", task.TaskName) wg.Add(1) go func() { defer func() { wg.Done() recoverErr := recover() if recoverErr == nil { return } log.Printf("syncDDNSTask[%s]panic:\n%v", task.TaskName, recoverErr) log.Printf("%s", debug.Stack()) }() syncDDNSTask(task) }() <-time.After(time.Millisecond * 600) } wg.Wait() taskEndTime := time.Now() usedTime := taskEndTime.Sub(taskBeginTime) nextTaskTimer := time.Second*time.Duration(ddnsConf.Intervals) - usedTime //debug.FreeOSMemory() //log.Printf("syncAllDomainsOnce 任务完成") DDNSService.Timer = time.NewTimer(nextTaskTimer) } func syncTaskDomainsOnce(params ...any) { serverMsg := (params[1]).(service.ServiceMsg) taskKey := serverMsg.Params[0].(string) switch serverMsg.Type { case "syncDDNSTask": { //log.Printf("syncTaskDomainsOnce 单DDNS任务更新:%s", taskKey) ddnscore.CleanIPUrlAddrMap() task := ddnscore.GetDDNSTaskInfoByKey(taskKey) syncDDNSTask(task) } default: return } } func syncDDNSTask(task *ddnscore.DDNSTaskInfo) { if task == nil { return } var dnsSelected DNS switch task.DNS.Name { case "alidns": dnsSelected = &Alidns{} case "dnspod": dnsSelected = &Dnspod{} case "cloudflare": dnsSelected = &Cloudflare{} case "huaweicloud": dnsSelected = &Huaweicloud{} case "callback": dnsSelected = &Callback{} case "baiducloud": dnsSelected = &BaiduCloud{} case "porkbun": dnsSelected = &Porkbun{} default: return } dnsSelected.Init(task) dnsSelected.AddUpdateDomainRecords() task.ExecWebhook(&task.TaskState) ddnscore.DDNSTaskInfoMapUpdate(task) task.TaskState.LastWorkTime = time.Now() //记录最近一次检测时间,防止批量检测和单个检测时间间隔过于接近 // } ================================================ FILE: ddnscore.go/cache.go ================================================ package ddnscore import ( "fmt" "strings" "sync" "sync/atomic" "time" "github.com/gdy666/lucky/config" ) var taskInfoMap sync.Map var taskInfoMapMutex sync.RWMutex var webLastAccessDDNSTaskListLastTime int64 // 记录最后的前端请求DDNS任务列表时间 func FLushWebLastAccessDDNSTaskListLastTime() { atomic.StoreInt64(&webLastAccessDDNSTaskListLastTime, time.Now().Unix()) } // webAccessAvalid 判断前端访问是否处于活跃时间内 func webAccessAvalid() bool { lastTime := atomic.LoadInt64(&webLastAccessDDNSTaskListLastTime) return time.Now().Unix()-lastTime <= 5 } func EnableDDNSTaskByKey(key string, enable bool) error { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() taskInfo, ok := taskInfoMap.Load(key) if !ok { return fmt.Errorf("DDNSTaskInfoMap key[%s] no found", key) } if enable { taskInfo.(*DDNSTaskState).SetDomainUpdateStatus(UpdateWaiting, "") } else { taskInfo.(*DDNSTaskState).SetDomainUpdateStatus(UpdateStop, "") } return config.EnableDDNSTaskByKey(key, enable) } func DDNSTaskInfoMapUpdate(task *DDNSTaskInfo) { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() preInfo, ok := taskInfoMap.Load(task.TaskKey) if ok { var checkDomains []Domain //防止有域名被删除 for i, new := range task.TaskState.Domains { for _, pre := range preInfo.(*DDNSTaskState).Domains { if strings.Compare(new.String(), pre.String()) == 0 { checkDomains = append(checkDomains, task.TaskState.Domains[i]) break } } } task.TaskState.Domains = checkDomains if len(preInfo.(*DDNSTaskState).Domains) > 0 && preInfo.(*DDNSTaskState).Domains[0].UpdateStatus == UpdateStop { task.TaskState.SetDomainUpdateStatus(UpdateStop, "") } taskInfoMap.Store(task.TaskKey, &task.TaskState) return } } // 即时更新IP相关数据信息 func DDNSTaskInfoMapUpdateIPInfo(task *DDNSTaskInfo) { if !webAccessAvalid() { //log.Printf("前端没有访问,不即时更新") return } //log.Printf("前端没有访问,不即时更新") taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() state, ok := taskInfoMap.Load(task.TaskKey) if !ok { return } state.(*DDNSTaskState).IpAddr = task.TaskState.IpAddr state.(*DDNSTaskState).IPAddrHistory = task.TaskState.IPAddrHistory } func DDNSTaskInfoMapUpdateDomainInfo(task *DDNSTaskInfo) { if !webAccessAvalid() { //log.Printf("前端没有访问,不即时更新") return } //log.Printf("前端有访问,即时更新") taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() state, ok := taskInfoMap.Load(task.TaskKey) if !ok { return } state.(*DDNSTaskState).Domains = task.TaskState.Domains } func DDNSTaskInfoMapDelete(key string) { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() taskInfoMap.Delete(key) } func UpdateDomainsStateByTaskKey(key, status, message string) { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() preInfo, ok := taskInfoMap.Load(key) if !ok { return } preInfo.(*DDNSTaskState).SetDomainUpdateStatus(status, message) } func GetDDNSTaskInfoList() []*DDNSTaskInfo { taskInfoMapMutex.RLock() defer taskInfoMapMutex.RUnlock() ddnsTaskList := config.GetDDNSTaskConfigureList() var res []*DDNSTaskInfo for i := range ddnsTaskList { ti := CreateDDNSTaskInfo(ddnsTaskList[i]) res = append(res, ti) } return res } func GetDDNSTaskInfoByKey(key string) *DDNSTaskInfo { taskInfoMapMutex.RLock() defer taskInfoMapMutex.RUnlock() ddnsConf := config.GetDDNSTaskByKey(key) if ddnsConf == nil { return nil } info := CreateDDNSTaskInfo(ddnsConf) return info } func CreateDDNSTaskInfo(task *config.DDNSTask) *DDNSTaskInfo { var res DDNSTaskInfo res.DDNSTask = *task info, ok := taskInfoMap.Load(task.TaskKey) if ok { res.TaskState = *info.(*DDNSTaskState) } else { res.TaskState.Init(res.Domains) if task.Enable { res.TaskState.SetDomainUpdateStatus(UpdateWaiting, "") } else { res.TaskState.SetDomainUpdateStatus(UpdateStop, "") } taskInfoMap.Store(task.TaskKey, &res.TaskState) } return &res } ================================================ FILE: ddnscore.go/domain.go ================================================ package ddnscore import ( "net/url" "time" ) const ( // UpdatedNothing 未改变 UpdatedNothing string = "域名IP和公网IP一致" // UpdatedFailed 更新失败 UpdatedFailed = "失败" // UpdatedSuccess 更新成功 UpdatedSuccess = "成功" // UpdateStop 暂停 UpdateStop = "停止同步" //UpdatePause 暂停 获取IP失败时暂停 UpdatePause = "暂停同步" // UpdateWaiting UpdateWaiting = "等待更新" ) // Domain 域名实体 type Domain struct { DomainName string SubDomain string CustomParams string UpdateStatus string // 更新状态 LastUpdateStatusTime string //最后更新状态的时间 Message string UpdateHistroy []any } type UpdateHistroyItem struct { UpdateStatus string UpdateTime string } func (d *Domain) String() string { if d.SubDomain != "" { return d.SubDomain + "." + d.DomainName } return d.DomainName } // GetFullDomain 返回完整子域名 func (d *Domain) GetFullDomain() string { if d.SubDomain != "" { return d.SubDomain + "." + d.DomainName } return "@" + "." + d.DomainName } // GetCustomParams not be nil func (d *Domain) GetCustomParams() url.Values { if d.CustomParams != "" { q, err := url.ParseQuery(d.CustomParams) if err == nil { return q } } return url.Values{} } // GetSubDomain 获得子域名,为空返回@ // 阿里云,dnspod需要 func (d *Domain) GetSubDomain() string { if d.SubDomain != "" { return d.SubDomain } return "@" } func (d *Domain) SetDomainUpdateStatus(status string, message string) { if status != UpdateWaiting { if status != UpdateStop || d.UpdateStatus != UpdateStop { d.LastUpdateStatusTime = time.Now().Format("2006-01-02 15:04:05") // 状态更新历史记录 hi := UpdateHistroyItem{UpdateStatus: string(status), UpdateTime: d.LastUpdateStatusTime} d.UpdateHistroy = append(d.UpdateHistroy, hi) if len(d.UpdateHistroy) > 10 { d.UpdateHistroy = DeleteAnyListlice(d.UpdateHistroy, 0) } } } d.UpdateStatus = status d.Message = message } ================================================ FILE: ddnscore.go/taskinfo.go ================================================ package ddnscore import ( "io" "log" "regexp" "strings" "sync" "time" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/gdylib/netinterfaces" ) // Ipv4Reg IPv4正则 const Ipv4Reg = `((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])` // Ipv6Reg IPv6正则 const Ipv6Reg = `((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))` var ipUrlAddrMap sync.Map type DDNSTaskInfo struct { config.DDNSTask TaskState DDNSTaskState `json:"TaskState"` } func (d *DDNSTaskInfo) getIpAddr() (result string) { if d.TaskType == "IPv6" { return d.getIpv6Addr() } return d.getIpv4Addr() } // CheckIPChange 检测公网IP是否改变 func (d *DDNSTaskInfo) CheckIPChange() (ipAddr string, change bool) { ipAddr = d.getIpAddr() checkIPChange := d.TaskState.IPChangeCheck(ipAddr) if checkIPChange { return ipAddr, true } //IP没变化 return ipAddr, false } // getIpv4Addr 获得IPv4地址 func (d *DDNSTaskInfo) getIpv4Addr() (result string) { // 判断从哪里获取IP if d.GetType == "netInterface" { result = netinterfaces.GetIPFromNetInterface("IPv4", d.NetInterface, d.IPReg) return } ddnsGlobalConf := config.GetDDNSConfigure() client, err := httputils.CreateHttpClient( "tcp4", "", ddnsGlobalConf.HttpClientSecureVerify, "", "", "", "", time.Duration(d.HttpClientTimeout)*time.Second) if err != nil { log.Printf("%s", err.Error()) return } for _, url := range d.URL { url = strings.TrimSpace(url) mapIp, ok := ipUrlAddrMap.Load(url) if ok { //log.Printf("URL[%s]已缓存IP[%s]", url, mapIp) result = mapIp.(string) return } resp, err := client.Get(url) if err != nil { //log.Printf("连接失败!%s查看接口能否返回IPv4地址,", url) continue } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { log.Printf("读取IPv4结果失败! 接口:%s", url) continue } comp := regexp.MustCompile(Ipv4Reg) result = comp.FindString(string(body)) if result != "" { ipUrlAddrMap.Store(url, result) return } // else { // log.Printf("获取IPv4结果失败! 接口: %s ,返回值: %s\n", url, result) // } } log.Printf("所有查询公网IPv4的接口均获取IPv4结果失败,请检查接口或当前网络情况") return } // getIpv6Addr 获得IPv6地址 func (d *DDNSTaskInfo) getIpv6Addr() (result string) { // 判断从哪里获取IP if d.GetType == "netInterface" { result = netinterfaces.GetIPFromNetInterface("IPv6", d.NetInterface, d.IPReg) return } ddnsGlobalConf := config.GetDDNSConfigure() client, err := httputils.CreateHttpClient( "tcp6", "", !ddnsGlobalConf.HttpClientSecureVerify, "", "", "", "", time.Duration(d.HttpClientTimeout)*time.Second) if err != nil { log.Printf("%s", err.Error()) return } for _, url := range d.URL { url = strings.TrimSpace(url) mapIp, ok := ipUrlAddrMap.Load(url) if ok { //log.Printf("URL[%s]已缓存IP[%s]", url, mapIp) result = mapIp.(string) return } resp, err := client.Get(url) if err != nil { //log.Printf("连接失败! %s查看接口能否返回IPv6地址 ", url) continue } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { log.Println("读取IPv6结果失败! 接口: ", url) continue } comp := regexp.MustCompile(Ipv6Reg) result = comp.FindString(string(body)) if result != "" { ipUrlAddrMap.Store(url, result) return } } log.Printf("所有查询公网IPv6的接口均获取IPv6结果失败,请检查接口或当前网络情况") return } func CleanIPUrlAddrMap() { keys := []string{} ipUrlAddrMap.Range(func(key, value any) bool { keys = append(keys, key.(string)) return true }) for _, k := range keys { ipUrlAddrMap.Delete(k) } } ================================================ FILE: ddnscore.go/taskstate.go ================================================ package ddnscore import ( "log" "net/url" "strings" "time" ) // 固定的主域名 var staticMainDomains = []string{"com.cn", "org.cn", "net.cn", "ac.cn", "eu.org"} // 获取ip失败的次数 // Domains Ipv4/Ipv6 DDNSTaskState type DDNSTaskState struct { IpAddr string Domains []Domain WebhookCallTime string `json:"WebhookCallTime"` //最后触发时间 WebhookCallResult bool `json:"WebhookCallResult"` //触发结果 WebhookCallErrorMsg string `json:"WebhookCallErrorMsg"` //触发错误信息 LastSyncTime time.Time `json:"-"` //记录最新一次同步操作时间 LastWorkTime time.Time `json:"-"` IPAddrHistory []any `json:"IPAddrHistory"` WebhookCallHistroy []any `json:"WebhookCallHistroy"` } type IPAddrHistoryItem struct { IPaddr string RecordTime string } type WebhookCallHistroyItem struct { CallTime string CallResult string } func (d *DDNSTaskState) SetIPAddr(ipaddr string) { if d.IpAddr == ipaddr { return } d.IpAddr = ipaddr hi := IPAddrHistoryItem{IPaddr: ipaddr, RecordTime: time.Now().Local().Format("2006-01-02 15:04:05")} d.IPAddrHistory = append(d.IPAddrHistory, hi) if len(d.IPAddrHistory) > 10 { d.IPAddrHistory = DeleteAnyListlice(d.IPAddrHistory, 0) } } func DeleteAnyListlice(a []any, deleteIndex int) []any { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } func (d *DDNSTaskState) SetDomainUpdateStatus(status string, message string) { for i := range d.Domains { d.Domains[i].SetDomainUpdateStatus(status, message) } } func (d *DDNSTaskState) SetWebhookResult(result bool, errMsg string) { d.WebhookCallResult = result d.WebhookCallErrorMsg = errMsg d.WebhookCallTime = time.Now().Format("2006-01-02 15:04:05") cr := "成功" if !result { cr = "出错" } hi := WebhookCallHistroyItem{CallResult: cr, CallTime: time.Now().Local().Format("2006-01-02 15:04:05")} d.WebhookCallHistroy = append(d.WebhookCallHistroy, hi) if len(d.WebhookCallHistroy) > 10 { d.WebhookCallHistroy = DeleteAnyListlice(d.WebhookCallHistroy, 0) } } func (d *DDNSTaskState) Init(domains []string) { d.Domains = d.checkParseDomains(domains) } // checkParseDomains 校验并解析用户输入的域名 func (d *DDNSTaskState) checkParseDomains(domainArr []string) (domains []Domain) { for _, domainStr := range domainArr { domainStr = strings.TrimSpace(domainStr) if domainStr != "" { domain := &Domain{} dp := strings.Split(domainStr, ":") dplen := len(dp) if dplen == 1 { // 自动识别域名 sp := strings.Split(domainStr, ".") length := len(sp) if length <= 1 { log.Println(domainStr, "域名不正确") continue } // 处理域名 domain.DomainName = sp[length-2] + "." + sp[length-1] // 如包含在org.cn等顶级域名下,后三个才为用户主域名 for _, staticMainDomain := range staticMainDomains { if staticMainDomain == domain.DomainName { domain.DomainName = sp[length-3] + "." + domain.DomainName break } } domainLen := len(domainStr) - len(domain.DomainName) if domainLen > 0 { domain.SubDomain = domainStr[:domainLen-1] } else { domain.SubDomain = domainStr[:domainLen] } } else if dplen == 2 { // 主机记录:域名 格式 sp := strings.Split(dp[1], ".") length := len(sp) if length <= 1 { log.Println(domainStr, "域名不正确") continue } domain.DomainName = dp[1] domain.SubDomain = dp[0] } else { log.Println(domainStr, "域名不正确") continue } // 参数条件 if strings.Contains(domain.DomainName, "?") { u, err := url.Parse("http://" + domain.DomainName) if err != nil { log.Println(domainStr, "域名解析失败") continue } domain.DomainName = u.Host domain.CustomParams = u.Query().Encode() } domains = append(domains, *domain) } } return } // Check 检测IP是否有改变 func (state *DDNSTaskState) IPChangeCheck(newAddr string) bool { if newAddr == "" { return true } // 地址改变 if state.IpAddr != newAddr { //log.Printf("公网地址改变:[%s]===>[%s]", d.DomainsInfo.IpAddr, newAddr) //domains.IpAddr = newAddr return true } return false } ================================================ FILE: ddnscore.go/webhook.go ================================================ package ddnscore import ( "fmt" "net/http" "strings" "time" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) // ExecWebhook 添加或更新IPv4/IPv6记录 func (d *DDNSTaskInfo) ExecWebhook(state *DDNSTaskState) { if !d.WebhookEnable { return } if state.IpAddr == "" && !d.WebhookCallOnGetIPfail { return } hasUpdate := hasDomainTryToUpdate(&state.Domains) if d.WebhookURL != "" && (hasUpdate || (state.IpAddr == "" && d.WebhookCallOnGetIPfail)) { //log.Printf("DDNS任务【%s】触发Webhook", d.TaskName) nowTime := time.Now().Format("2006-01-02 15:04:05") url := d.replaceWebhookPara(nowTime, d.WebhookURL) requestBody := d.replaceWebhookPara(nowTime, d.WebhookRequestBody) //headersStr := cb.task.DNS.Callback.Headers var headerStrList []string for i := range d.WebhookHeaders { header := d.replaceWebhookPara(nowTime, d.WebhookHeaders[i]) headerStrList = append(headerStrList, header) } headers := httputils.CreateHeadersMap(headerStrList) succcssCotentList := []string{} for i := range d.WebhookSuccessContent { content := d.replaceWebhookPara(nowTime, d.WebhookSuccessContent[i]) succcssCotentList = append(succcssCotentList, content) } callErr := d.webhookHttpClientDo(d.WebhookMethod, url, requestBody, headers, succcssCotentList) if callErr != nil { //log.Printf("WebHook 调用出错:%s", callErr.Error()) state.SetWebhookResult(false, callErr.Error()) return } //log.Printf("Webhook 调用成功") state.SetWebhookResult(true, "") } } func WebhookTest(d *DDNSTaskInfo, url, method, WebhookRequestBody, proxy, addr, user, passwd string, headerList, successContentListraw []string) (string, error) { nowTime := time.Now().Format("2006-01-02 15:04:05") url = replaceWebhookTestPara(url, nowTime) requestBody := replaceWebhookTestPara(WebhookRequestBody, nowTime) //log.Printf("requestBody:\n%s", requestBody) //headersStr := cb.task.DNS.Callback.Headers var headerStrList []string for i := range headerList { header := replaceWebhookTestPara(headerList[i], nowTime) headerStrList = append(headerStrList, header) } headers := httputils.CreateHeadersMap(headerStrList) succcssCotentList := []string{} for i := range successContentListraw { content := replaceWebhookTestPara(successContentListraw[i], nowTime) succcssCotentList = append(succcssCotentList, content) } globalDDNSConf := config.GetDDNSConfigure() proxyType := "" proxyAddr := "" proxyUser := "" proxyPasswd := "" switch proxy { case "dns": { if d.DNS.HttpClientProxyType != "" && d.DNS.HttpClientProxyAddr != "" { proxyType = d.DNS.HttpClientProxyType proxyAddr = d.DNS.HttpClientProxyAddr proxyUser = d.DNS.HttpClientProxyUser proxyPasswd = d.DNS.HttpClientProxyPassword } } case "http", "https", "socks5": { proxyType = proxy proxyAddr = addr proxyUser = user proxyPasswd = passwd } default: } //fmt.Printf("proxyType:%s\taddr:%s\t,user[%s]passwd[%s]\n", proxyType, proxyAddr, proxyUser, proxyPasswd) //dnsConf := cb.task.DNS _, respStr, err := httputils.GetStringGoutDoHttpRequest( "tcp", "", method, url, requestBody, proxyType, proxyAddr, proxyUser, proxyPasswd, headers, !globalDDNSConf.HttpClientSecureVerify, time.Second*20) if err != nil { return "", fmt.Errorf("webhookTest 调用接口[%s]出错:%s", url, err.Error()) } for _, successContent := range succcssCotentList { if strings.Contains(respStr, successContent) { return respStr, nil } } return respStr, fmt.Errorf("接口调用出错,未匹配预设成功返回的字符串") } func (d *DDNSTaskInfo) webhookHttpClientDo(method, url, requestBody string, headers map[string]string, callbackSuccessContent []string) error { globalDDNSConf := config.GetDDNSConfigure() proxyType := "" proxyAddr := "" proxyUser := "" proxyPasswd := "" switch d.WebhookProxy { case "dns": { if d.DNS.HttpClientProxyType != "" && d.DNS.HttpClientProxyAddr != "" { proxyType = d.DNS.HttpClientProxyType proxyAddr = d.DNS.HttpClientProxyAddr proxyUser = d.DNS.HttpClientProxyUser proxyPasswd = d.DNS.HttpClientProxyPassword } } case "http", "https", "socks5": { proxyType = d.WebhookProxy proxyAddr = d.WebhookProxyAddr proxyUser = d.WebhookProxyUser proxyPasswd = d.WebhookProxyPassword } default: } //dnsConf := cb.task.DNS statusCode, respStr, err := httputils.GetStringGoutDoHttpRequest( "tcp", "", method, url, requestBody, proxyType, proxyAddr, proxyUser, proxyPasswd, headers, !globalDDNSConf.HttpClientSecureVerify, time.Second*20) if err != nil { return fmt.Errorf("webhook 调用接口[%s]出错:%s", url, err.Error()) } if d.WebhookDisableCallbackSuccessContentCheck { if statusCode == http.StatusOK { return nil } return fmt.Errorf("webhook调用接口失败:\n statusCode:%d\n%s", statusCode, respStr) } for _, successContent := range callbackSuccessContent { if strings.Contains(respStr, successContent) { return nil } } return fmt.Errorf("webhook 调用接口失败:\n%s", respStr) } // DomainsIsChange func hasDomainTryToUpdate(domains *[]Domain) bool { for _, v46 := range *domains { switch v46.UpdateStatus { case UpdatedFailed: return true case UpdatedSuccess: return true default: } } return false } // replaceWebhookTestPara WebhookTest替换参数 #{successDomains},#{failedDomains} func replaceWebhookTestPara(orgPara, nowTime string) (newPara string) { orgPara = strings.ReplaceAll(orgPara, "#{ipAddr}", "66.66.66.66") successDomains := "www1.google.com,www2.google.com,www3.google.com,www4.google.com" failedDomains := "www1.github.com,www2.github.com,www3.github.com,www4.github.com" successDomainsLine := strings.Replace(successDomains, ",", `\n`, -1) failedDomainsLine := strings.Replace(failedDomains, ",", `\n`, -1) orgPara = strings.ReplaceAll(orgPara, "#{successDomains}", successDomains) orgPara = strings.ReplaceAll(orgPara, "#{failedDomains}", failedDomains) orgPara = strings.ReplaceAll(orgPara, "#{successDomainsLine}", successDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{failedDomainsLine}", failedDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{time}", nowTime) return orgPara } // replacePara 替换参数 #{successDomains},#{failedDomains} func (d *DDNSTaskInfo) replaceWebhookPara(nowTime, orgPara string) (newPara string) { ipAddrText := d.TaskState.IpAddr successDomains, failedDomains := d.getDomainsStr(&d.TaskState.Domains) if ipAddrText == "" { ipAddrText = "获取IP失败" successDomains = "" failedDomains = "" } successDomainsLine := strings.Replace(successDomains, ",", `\n`, -1) failedDomainsLine := strings.Replace(failedDomains, ",", `\n`, -1) orgPara = strings.ReplaceAll(orgPara, "#{ipAddr}", ipAddrText) orgPara = strings.ReplaceAll(orgPara, "#{successDomains}", successDomains) orgPara = strings.ReplaceAll(orgPara, "#{failedDomains}", failedDomains) orgPara = strings.ReplaceAll(orgPara, "#{successDomainsLine}", successDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{failedDomainsLine}", failedDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{time}", nowTime) return orgPara } // getDomainsStr 用逗号分割域名,分类域名返回,成功和失败的 func (d *DDNSTaskInfo) getDomainsStr(domains *[]Domain) (string, string) { var successDomainBuf strings.Builder var failedDomainsBuf strings.Builder for _, v46 := range *domains { if v46.UpdateStatus == UpdatedFailed || (d.Webhook.WebhookCallOnGetIPfail && v46.UpdateStatus == UpdatePause) { if failedDomainsBuf.Len() > 0 { failedDomainsBuf.WriteString(",") } failedDomainsBuf.WriteString(v46.String()) continue } //if v46.UpdateStatus == UpdatedNothing || v46.UpdateStatus == UpdatedSuccess { if v46.UpdateStatus == UpdatedSuccess { if successDomainBuf.Len() > 0 { successDomainBuf.WriteString(",") } successDomainBuf.WriteString(v46.String()) } } return successDomainBuf.String(), failedDomainsBuf.String() } ================================================ FILE: debug.go ================================================ //go:build debug // +build debug package main import ( "fmt" "github.com/gdy666/lucky/thirdlib/gdylib/recoverutil" ) func init() { defer func() { recoverErr := recover() if recoverErr == nil { return } panicFile := fmt.Sprintf("闪退.log") recoverutil.RecoverHandler(recoverErr, true, true, panicFile) }() } ================================================ FILE: go.mod ================================================ module github.com/gdy666/lucky go 1.18 require ( github.com/buger/jsonparser v1.1.1 github.com/eclipse/paho.mqtt.golang v1.4.1 github.com/fatedier/golib v0.2.0 github.com/gin-contrib/gzip v0.0.6 github.com/gin-gonic/gin v1.8.1 github.com/golang-jwt/jwt v3.2.2+incompatible github.com/guonaihong/gout v0.3.1 github.com/miekg/dns v1.1.50 github.com/shirou/gopsutil/v3 v3.22.9 github.com/sirupsen/logrus v1.9.0 golang.org/x/net v0.0.0-20221004154528-8021a29435af ) require ( github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-playground/locales v0.14.0 // indirect github.com/go-playground/universal-translator v0.18.0 // indirect github.com/go-playground/validator/v10 v10.11.1 // indirect github.com/goccy/go-json v0.9.11 // indirect github.com/gorilla/websocket v1.4.2 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/leodido/go-urn v1.2.1 // indirect github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c // indirect github.com/mattn/go-isatty v0.0.16 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c // indirect github.com/tklauser/go-sysconf v0.3.10 // indirect github.com/tklauser/numcpus v0.5.0 // indirect github.com/ugorji/go/codec v1.2.7 // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect golang.org/x/crypto v0.0.0-20221010152910-d6f0a8c073c2 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde // indirect golang.org/x/sys v0.0.0-20221010170243-090e33056c14 // indirect golang.org/x/text v0.3.8 // indirect golang.org/x/tools v0.1.12 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect ) ================================================ FILE: go.sum ================================================ github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/eclipse/paho.mqtt.golang v1.4.1 h1:tUSpviiL5G3P9SZZJPC4ZULZJsxQKXxfENpMvdbAXAI= github.com/eclipse/paho.mqtt.golang v1.4.1/go.mod h1:JGt0RsEwEX+Xa/agj90YJ9d9DH2b7upDZMK9HRbFvCA= github.com/fatedier/golib v0.2.0 h1:8BxiUcjleBlXBYlTNUllD8KZZHaFU/NP/vP0Yu1Fkpg= github.com/fatedier/golib v0.2.0/go.mod h1:e2NPpBGUFsHDjXrfP1B5aK3S0+yUeVxgqfc3go3KNj0= github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= github.com/gin-contrib/gzip v0.0.6/go.mod h1:QOJlmV2xmayAjkNS2Y8NQsMneuRShOU/kjovCXNuzzk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.8.1 h1:4+fr/el88TOO3ewCmQr8cx/CtZ/umlIRIs5M4NTNjf8= github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-playground/assert/v2 v2.0.1 h1:MsBgLAaY856+nPRTKrp3/OZK38U/wa0CcBYNjji3q3A= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.0 h1:u50s323jtVGugKlcYeyzC0etD1HifMjqmJqb8WugfUU= github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/universal-translator v0.18.0 h1:82dyy6p4OuJq4/CByFNOn/jYrnRPArHwAcmLoJZxyho= github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJWXmqUsHwfTRRkQ= github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/goccy/go-json v0.9.11 h1:/pAaQDLHEoCq/5FFmSKBswWmK6H0e8g4159Kc/X/nqk= github.com/goccy/go-json v0.9.11/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/golang-jwt/jwt v3.2.2+incompatible h1:IfV12K8xAKAnZqdXVzCZ+TOjboZ2keLg81eXfW3O+oY= github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/guonaihong/gout v0.3.1 h1:pj/44Jw0TTmcHF2RjMaCWhKPwCH98YuQejbN15Hts/o= github.com/guonaihong/gout v0.3.1/go.mod h1:lhje0jRkh/gcIogrG22ENPITo9tylQa3kwD9eVxcDrk= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c h1:VtwQ41oftZwlMnOEbMWQtSEUgU64U4s+GHk7hZK+jtY= github.com/lufia/plan9stats v0.0.0-20220913051719-115f729f3c8c/go.mod h1:JKx41uQRwqlTZabZc+kILPrO/3jlKnQ2Z8b7YiVw5cE= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/miekg/dns v1.1.50 h1:DQUfb9uc6smULcREF09Uc+/Gd46YWqJd5DbpPE9xkcA= github.com/miekg/dns v1.1.50/go.mod h1:e3IlAVfNqAllflbibAZEWOXOQ+Ynzk/dDozDxY7XnME= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo= github.com/pelletier/go-toml/v2 v2.0.5 h1:ipoSadvV8oGUjnUbMub59IDPPwfxF694nG/jwbMiyQg= github.com/pelletier/go-toml/v2 v2.0.5/go.mod h1:OMHamSCAODeSsVrwwvcJOaoN0LIUIaFVNZzmWyNfXas= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c h1:NRoLoZvkBTKvR5gQLgA3e0hqjkY9u1wm+iOL45VN/qI= github.com/power-devops/perfstat v0.0.0-20220216144756-c35f1ee13d7c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/shirou/gopsutil/v3 v3.22.9 h1:yibtJhIVEMcdw+tCTbOPiF1VcsuDeTE4utJ8Dm4c5eA= github.com/shirou/gopsutil/v3 v3.22.9/go.mod h1:bBYl1kjgEJpWpxeHmLI+dVHWtyAwfcmSBLDsp2TNT8A= github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/tklauser/go-sysconf v0.3.10 h1:IJ1AZGZRWbY8T5Vfk04D9WOA5WSejdflXxP03OUqALw= github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/tklauser/numcpus v0.5.0 h1:ooe7gN0fg6myJ0EKoTAf5hebTZrH52px3New/D9iJ+A= github.com/tklauser/numcpus v0.5.0/go.mod h1:OGzpTxpcIMNGYQdit2BYL1pvk/dSOaJWjKoflh+RQjo= github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M= github.com/ugorji/go/codec v1.2.7 h1:YPXUKf7fYbp/y8xloBqZOw2qaVggbfwMlI8WM3wZUJ0= github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20221010152910-d6f0a8c073c2 h1:x8vtB3zMecnlqZIwJNUUpwYKYSqCz5jXbiyv0ZJJZeI= golang.org/x/crypto v0.0.0-20221010152910-d6f0a8c073c2/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/net v0.0.0-20190228165749-92fc7df08ae7/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200425230154-ff2c4b7c35a0/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20221004154528-8021a29435af h1:wv66FM3rLZGPdxpYL+ApnDe2HzHcTFta3z5nsc13wI4= golang.org/x/net v0.0.0-20221004154528-8021a29435af/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde h1:ejfdSekXMDxDLbRrJMwUk6KnSLZ2McaUCVcIKM+N6jc= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14 h1:k5II8e6QD8mITdi+okbbmR/cIyEbeXLBhy5Ha4nevyc= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= ================================================ FILE: main.go ================================================ //Copyright 2022 gdy, 272288813@qq.com package main import ( "flag" "log" "os" "os/signal" "syscall" "time" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/ddns" "github.com/gdy666/lucky/reverseproxy" "github.com/gdy666/lucky/socketproxy" ) var ( listenPort = flag.Int("p", 16601, "http Admin Web listen port ") configureFileURL = flag.String("c", "", "configure file url") ) var ( runMode = "prod" version = "dev" commit = "none" date = "2022-07-27T17:54:45Z" ) var runTime time.Time func init() { var cstZone = time.FixedZone("CST", 8*3600) // 东八 time.Local = cstZone } func main() { flag.Parse() config.InitAppInfo(version, date) err := config.Read(*configureFileURL) if err != nil { log.Printf("%s", err.Error()) log.Printf("载入默认配置以及命令行设定的参数") config.LoadDefault(*listenPort) if len(*configureFileURL) > 0 { err = config.Save() if err != nil { log.Printf("保存配置到%s出错:%s", *configureFileURL, err.Error()) } } } gcf := config.GetConfig() config.BlackListInit() config.WhiteListInit() config.SSLCertficateListInit() //fmt.Printf("*gcf:%v\n", *gcf) socketproxy.SetSafeCheck(config.SafeCheck) //socketproxy.SetGlobalMaxConnections(gcf.BaseConfigure.GlobalMaxConnections) //socketproxy.SetGlobalMaxProxyCount(gcf.BaseConfigure.ProxyCountLimit) config.SetRunMode(runMode) config.SetVersion(version) log.Printf("RunMode:%s\n", runMode) log.Printf("version:%s\tcommit %s, built at %s\n", version, commit, date) RunAdminWeb(&gcf.BaseConfigure) runTime = time.Now() //LoadRuleFromConfigFile(gcf) config.PortForwardsRuleListInit() //config.DDNSTaskListTaskDetailsInit() config.DDNSTaskListConfigureCheck() ddnsConf := config.GetDDNSConfigure() if ddnsConf.Enable { go ddns.Run(time.Duration(ddnsConf.FirstCheckDelay)*time.Second, time.Duration(ddnsConf.Intervals)*time.Second) } reverseproxy.InitReverseProxyServer() //ddns.RunTimer(time.Second, time.Second*30) //initProxyList() //***************** // time.Sleep(time.Microsecond * 50) // cruuentPath, _ := fileutils.GetCurrentDirectory() // panicFile := fmt.Sprintf("%s/relayport_panic.log", cruuentPath) // fileutils.PanicRedirect(panicFile) //***************** //main goroutine wait sigs := make(chan os.Signal, 1) exit := make(chan bool, 1) signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) go func() { <-sigs exit <- true }() <-exit } // func LoadRuleFromConfigFile(pc *config.ProgramConfigure) { // if pc == nil { // return // } // for i := range pc.RelayRuleList { // relayRule, err := rule.CreateRuleByConfigureAndOptions( // pc.RelayRuleList[i].Name, // pc.RelayRuleList[i].Configurestr, // pc.RelayRuleList[i].Options) // if err != nil { // continue // } // relayRule.From = "configureFile" //规则来源 // relayRule.IsEnable = pc.RelayRuleList[i].Enable // _, e := rule.AddRuleToGlobalRuleList(false, *relayRule) // if e != nil { // log.Printf("%s\n", e) // } // } // } ================================================ FILE: module/ddns/conf/ddns.go ================================================ package ddnsconf import ( "fmt" "io" "log" "regexp" "strings" "sync" "time" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/gdylib/netinterfaces" ) var getDDNSConfigureFunc func() DDNSConfigure func SetGetDDNSConfigureFunc(f func() DDNSConfigure) { getDDNSConfigureFunc = f } type DDNSConfigure struct { Enable bool `json:"Enable"` HttpClientSecureVerify bool `json:"HttpClientSecureVerify"` FirstCheckDelay int `json:"FirstCheckDelay"` //首次检查延迟时间 Intervals int `json:"Intervals"` } type DDNSTask struct { TaskName string `json:"TaskName"` TaskKey string `json:"TaskKey"` //添加任务时随机生成,方便管理任务(修改删除) //规则类型 IPv4/IPv6 TaskType string `json:"TaskType"` Enable bool // 获取IP类型 url/netInterface GetType string `json:"GetType"` //IP获取方式 URL []string `json:"URL"` NetInterface string `json:"NetInterface"` IPReg string `json:"IPReg"` Domains []string `json:"Domains"` DNS DNSConfig `json:"DNS"` Webhook TTL string `json:"TTL"` HttpClientTimeout int `json:"HttpClientTimeout"` ModifyTime int64 `json:"ModifyTime"` } type Webhook struct { WebhookEnable bool `json:"WebhookEnable"` //Webhook开关 WebhookCallOnGetIPfail bool `json:"WebhookCallOnGetIPfail"` //获取IP失败时触发Webhook 开关 WebhookURL string `json:"WebhookURL"` WebhookMethod string `json:"WebhookMethod"` WebhookHeaders []string `json:"WebhookHeaders"` WebhookRequestBody string `json:"WebhookRequestBody"` WebhookDisableCallbackSuccessContentCheck bool `json:"WebhookDisableCallbackSuccessContentCheck"` //禁用成功调用返回检测 WebhookSuccessContent []string `json:"WebhookSuccessContent"` //接口调用成功包含的内容 WebhookProxy string `json:"WebhookProxy"` //使用DNS代理设置 ""表示禁用,"dns"表示使用dns的代理设置 WebhookProxyAddr string `json:"WebhookProxyAddr"` //代理服务器IP WebhookProxyUser string `json:"WebhookProxyUser"` //代理用户 WebhookProxyPassword string `json:"WebhookProxyPassword"` //代理密码 } // DNSConfig DNS配置 type DNSConfig struct { // 名称。如:alidns,webhook Name string `json:"Name"` ID string `json:"ID"` Secret string `json:"Secret"` ForceInterval int `json:"ForceInterval"` //(秒)即使IP没有变化,到一定时间后依然强制更新或先DNS解析比较IP再更新 ResolverDoaminCheck bool `json:"ResolverDoaminCheck"` //调用callback同步前先解析一次域名,如果IP相同就不同步 DNSServerList []string `json:"DNSServerList"` //DNS服务器列表 CallAPINetwork string `json:"CallAPINetwork"` //空代理tcp, tcp4,tcp6 Callback DNSCallback `json:"Callback"` HttpClientProxyType string `json:"HttpClientProxyType"` //http client代理服务器设置 HttpClientProxyAddr string `json:"HttpClientProxyAddr"` //代理服务器IP HttpClientProxyUser string `json:"HttpClientProxyUser"` //代理用户 HttpClientProxyPassword string `json:"HttpClientProxyPassword"` //代理密码 } func (d *DNSConfig) GetCallAPINetwork() string { switch d.CallAPINetwork { case "tcp4", "tcp6": return d.CallAPINetwork default: return "tcp" } } type DNSCallback struct { URL string `json:"URL"` //请求地址 Method string `json:"Method"` //请求方法 Headers []string `json:"Headers"` RequestBody string `json:"RequestBody"` Server string `json:"Server"` //预设服务商 DisableCallbackSuccessContentCheck bool `json:"DisableCallbackSuccessContentCheck"` //禁用成功调用返回检测 CallbackSuccessContent []string `json:"CallbackSuccessContent"` //接口调用成功包含内容 } // Ipv4Reg IPv4正则 const Ipv4Reg = `((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])` // Ipv6Reg IPv6正则 const Ipv6Reg = `((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))` var ipUrlAddrMap sync.Map func (d *DDNSTask) GetIpAddr() (result string) { if d.TaskType == "IPv6" { return d.getIpv6Addr() } return d.getIpv4Addr() } // getIpv4Addr 获取IPv4地址 func (d *DDNSTask) getIpv4Addr() (result string) { // 判断从哪里获取IP if d.GetType == "netInterface" { result = netinterfaces.GetIPFromNetInterface("IPv4", d.NetInterface, d.IPReg) return } ddnsGlobalConf := getDDNSConfigureFunc() client, err := httputils.CreateHttpClient( "tcp4", "", ddnsGlobalConf.HttpClientSecureVerify, "", "", "", "", time.Duration(d.HttpClientTimeout)*time.Second) if err != nil { log.Printf("%s", err.Error()) return } for _, url := range d.URL { url = strings.TrimSpace(url) mapIp, ok := ipUrlAddrMap.Load(url) if ok { //log.Printf("URL[%s]已缓存IP[%s]", url, mapIp) result = mapIp.(string) return } resp, err := client.Get(url) if err != nil { //log.Printf("连接失败!%s查看接口能否返回IPv4地址,", url) continue } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { log.Printf("读取IPv4结果失败! 接口:%s", url) continue } comp := regexp.MustCompile(Ipv4Reg) result = comp.FindString(string(body)) if result != "" { ipUrlAddrMap.Store(url, result) return } // else { // log.Printf("获取IPv4结果失败! 接口: %s ,返回值: %s\n", url, result) // } } log.Printf("所有查询公网IPv4的接口均获取IPv4结果失败,请检查接口或当前网络情况") return } // getIpv6Addr 获得IPv6地址 func (d *DDNSTask) getIpv6Addr() (result string) { // 判断从哪里获取IP if d.GetType == "netInterface" { result = netinterfaces.GetIPFromNetInterface("IPv6", d.NetInterface, d.IPReg) return } ddnsGlobalConf := getDDNSConfigureFunc() client, err := httputils.CreateHttpClient( "tcp6", "", !ddnsGlobalConf.HttpClientSecureVerify, "", "", "", "", time.Duration(d.HttpClientTimeout)*time.Second) if err != nil { log.Printf("%s", err.Error()) return } for _, url := range d.URL { url = strings.TrimSpace(url) mapIp, ok := ipUrlAddrMap.Load(url) if ok { //log.Printf("URL[%s]已缓存IP[%s]", url, mapIp) result = mapIp.(string) return } resp, err := client.Get(url) if err != nil { //log.Printf("连接失败! %s查看接口能否返回IPv6地址 ", url) continue } defer resp.Body.Close() body, err := io.ReadAll(resp.Body) if err != nil { log.Println("读取IPv6结果失败! 接口: ", url) continue } comp := regexp.MustCompile(Ipv6Reg) result = comp.FindString(string(body)) if result != "" { ipUrlAddrMap.Store(url, result) return } } log.Printf("所有查询公网IPv6的接口均获取IPv6结果失败,请检查接口或当前网络情况") return } func CleanIPUrlAddrMap() { keys := []string{} ipUrlAddrMap.Range(func(key, value any) bool { keys = append(keys, key.(string)) return true }) for _, k := range keys { ipUrlAddrMap.Delete(k) } } var checkIPv4URLList = []string{"https://4.ipw.cn", "http://v4.ip.zxinc.org/getip", "https://myip4.ipip.net", "https://www.taobao.com/help/getip.php", "https://ddns.oray.com/checkip", "https://ip.3322.net", "https://v4.myip.la"} var checkIPv6URLList = []string{"https://6.ipw.cn", "https://ipv6.ddnspod.com", "http://v6.ip.zxinc.org/getip", "https://speed.neu6.edu.cn/getIP.php", "https://v6.ident.me", "https://v6.myip.la"} func CheckDDNSTaskAvalid(task *DDNSTask) error { if len(task.URL) == 0 { if task.TaskType == "IPv6" { task.URL = checkIPv6URLList } else { task.URL = checkIPv4URLList } } switch task.DNS.Name { case "cloudflare": if task.DNS.Secret == "" { return fmt.Errorf("cloudflare token不能为空") } case "callback": if task.DNS.Callback.URL == "" { return fmt.Errorf("callback URL不能为空") } if task.DNS.Callback.Method == "" { return fmt.Errorf("请选择callback method") } default: if task.DNS.ID == "" || task.DNS.Secret == "" { return fmt.Errorf("dns服务商相关参数不能为空") } } if len(task.Domains) <= 0 { return fmt.Errorf("域名列表不能为空") } return nil } ================================================ FILE: module/ddns/ddnscore.go/cache.go ================================================ package ddnscore import ( "fmt" "sync" "sync/atomic" "time" ddnsconf "github.com/gdy666/lucky/module/ddns/conf" "github.com/gdy666/lucky/module/ddns/ddnsgo" ) var taskInfoMap sync.Map var taskInfoMapMutex sync.RWMutex var webLastAccessDDNSTaskListLastTime int64 // 记录最后的前端请求DDNS任务列表时间 func FLushWebLastAccessDDNSTaskListLastTime() { atomic.StoreInt64(&webLastAccessDDNSTaskListLastTime, time.Now().Unix()) } // webAccessAvalid 判断前端访问是否处于活跃时间内 func webAccessAvalid() bool { lastTime := atomic.LoadInt64(&webLastAccessDDNSTaskListLastTime) return time.Now().Unix()-lastTime <= 5 } func EnableDDNSTaskByKey(key string, enable bool) error { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() taskInfo, ok := taskInfoMap.Load(key) if !ok { return fmt.Errorf("DDNSTaskInfoMap key[%s] no found", key) } if enable { taskInfo.(*DDNSTaskState).SetDomainUpdateStatus(UpdateWaiting, "") } else { taskInfo.(*DDNSTaskState).SetDomainUpdateStatus(UpdateStop, "") } return ddnsgo.EnableDDNSTaskByKey(key, enable) } func DDNSTaskInfoMapUpdate(task *DDNSTaskInfo) bool { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() t := ddnsgo.GetDDNSTaskByKey(task.TaskKey) if t == nil { return false } if t.ModifyTime > task.ModifyTime { //fmt.Printf("失效,不刷新\n") return false } task.TaskState.LastWorkTime = time.Now() taskInfoMap.Store(task.TaskKey, &task.TaskState) // preInfo, ok := taskInfoMap.Load(task.TaskKey) // if ok { // var checkDomains []Domain // //防止有域名被删除 // for i, new := range task.TaskState.Domains { // for _, pre := range preInfo.(*DDNSTaskState).Domains { // if strings.Compare(new.String(), pre.String()) == 0 { // checkDomains = append(checkDomains, task.TaskState.Domains[i]) // break // } // } // } // task.TaskState.Domains = checkDomains // if len(preInfo.(*DDNSTaskState).Domains) > 0 && preInfo.(*DDNSTaskState).Domains[0].UpdateStatus == UpdateStop { // task.TaskState.SetDomainUpdateStatus(UpdateStop, "") // } // task.TaskState.LastWorkTime = time.Now() // taskInfoMap.Store(task.TaskKey, &task.TaskState) // return true // } return false } // 即时更新IP相关数据信息 func DDNSTaskInfoMapUpdateIPInfo(task *DDNSTaskInfo) { if !webAccessAvalid() { //log.Printf("前端没有访问,不即时更新") return } //log.Printf("前端没有访问,不即时更新") taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() state, ok := taskInfoMap.Load(task.TaskKey) if !ok { return } state.(*DDNSTaskState).IpAddr = task.TaskState.IpAddr state.(*DDNSTaskState).IPAddrHistory = task.TaskState.IPAddrHistory } func DDNSTaskInfoMapUpdateDomainInfo(task *DDNSTaskInfo) { if !webAccessAvalid() { //log.Printf("前端没有访问,不即时更新") return } //log.Printf("前端有访问,即时更新") taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() state, ok := taskInfoMap.Load(task.TaskKey) if !ok { return } state.(*DDNSTaskState).Domains = task.TaskState.Domains } func DDNSTaskInfoMapDelete(key string) { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() taskInfoMap.Delete(key) } func UpdateDomainsStateByTaskKey(key, status, message string) { taskInfoMapMutex.Lock() defer taskInfoMapMutex.Unlock() preInfo, ok := taskInfoMap.Load(key) if !ok { return } preInfo.(*DDNSTaskState).SetDomainUpdateStatus(status, message) } func GetDDNSTaskInfoList() []*DDNSTaskInfo { taskInfoMapMutex.RLock() defer taskInfoMapMutex.RUnlock() ddnsTaskList := ddnsgo.GetDDNSTaskConfigureList() var res []*DDNSTaskInfo for i := range ddnsTaskList { ti := GetDDNSTaskState(ddnsTaskList[i]) //ti.syncDomains() res = append(res, ti) } return res } func GetDDNSTaskInfoByKey(key string) *DDNSTaskInfo { taskInfoMapMutex.RLock() defer taskInfoMapMutex.RUnlock() ddnsConf := ddnsgo.GetDDNSTaskByKey(key) if ddnsConf == nil { return nil } info := GetDDNSTaskState(ddnsConf) return info } func GetDDNSTaskState(task *ddnsconf.DDNSTask) *DDNSTaskInfo { var d DDNSTaskInfo d.DDNSTask = *task info, ok := taskInfoMap.Load(task.TaskKey) if ok { d.TaskState = *info.(*DDNSTaskState) } else { var state DDNSTaskState state.Init(d.Domains, d.ModifyTime) if task.Enable { state.SetDomainUpdateStatus(UpdateWaiting, "") } else { state.SetDomainUpdateStatus(UpdateStop, "") } d.TaskState = state taskInfoMap.Store(task.TaskKey, &state) } return &d } ================================================ FILE: module/ddns/ddnscore.go/domain.go ================================================ package ddnscore import ( "log" "net/url" "strings" "time" ) const ( // UpdatedNothing 未改变 UpdatedNothing string = "域名IP和公网IP一致" // UpdatedFailed 更新失败 UpdatedFailed = "失败" // UpdatedSuccess 更新成功 UpdatedSuccess = "成功" // UpdateStop 暂停 UpdateStop = "停止同步" //UpdatePause 暂停 获取IP失败时暂停 UpdatePause = "暂停同步" // UpdateWaiting UpdateWaiting = "等待更新" ) // Domain 域名实体 type Domain struct { RawStr string DomainName string SubDomain string CustomParams string UpdateStatus string // 更新状态 LastUpdateStatusTime string //最后更新状态的时间 Message string UpdateHistroy []any } type UpdateHistroyItem struct { UpdateStatus string UpdateTime string } func (d *Domain) String() string { if d.SubDomain != "" { return d.SubDomain + "." + d.DomainName } return d.DomainName } // GetFullDomain 返回完整子域名 func (d *Domain) GetFullDomain() string { if d.SubDomain != "" { return d.SubDomain + "." + d.DomainName } return "@" + "." + d.DomainName } // GetCustomParams not be nil func (d *Domain) GetCustomParams() url.Values { if d.CustomParams != "" { q, err := url.ParseQuery(d.CustomParams) if err == nil { return q } } return url.Values{} } // GetSubDomain 获得子域名,为空返回@ // 阿里云,dnspod需要 func (d *Domain) GetSubDomain() string { if d.SubDomain != "" { return d.SubDomain } return "@" } func (d *Domain) SetDomainUpdateStatus(status string, message string) { if status != UpdateWaiting { if status != UpdateStop || d.UpdateStatus != UpdateStop { d.LastUpdateStatusTime = time.Now().Format("2006-01-02 15:04:05") // 状态更新历史记录 hi := UpdateHistroyItem{UpdateStatus: string(status), UpdateTime: d.LastUpdateStatusTime} d.UpdateHistroy = append(d.UpdateHistroy, hi) if len(d.UpdateHistroy) > 10 { d.UpdateHistroy = DeleteAnyListlice(d.UpdateHistroy, 0) } } } d.UpdateStatus = status d.Message = message } func checkParseDomains(domainArr []string) (domains []Domain, domainsRawStrList []string) { for _, domainStr := range domainArr { domainStr = strings.TrimSpace(domainStr) if domainStr == "" { continue } domain := Domain{} domain.RawStr = domainStr dp := strings.Split(domainStr, ":") dplen := len(dp) switch dplen { case 1: { sp := strings.Split(domainStr, ".") length := len(sp) if length <= 1 { log.Println(domainStr, "域名不正确") continue } // 处理域名 domain.DomainName = sp[length-2] + "." + sp[length-1] // 如包含在org.cn等顶级域名下,后三个才为用户主域名 for _, staticMainDomain := range staticMainDomains { if staticMainDomain == domain.DomainName { domain.DomainName = sp[length-3] + "." + domain.DomainName break } } domainLen := len(domainStr) - len(domain.DomainName) if domainLen > 0 { domain.SubDomain = domainStr[:domainLen-1] } else { domain.SubDomain = domainStr[:domainLen] } } case 2: { sp := strings.Split(dp[1], ".") length := len(sp) if length <= 1 { log.Println(domainStr, "域名不正确") continue } domain.DomainName = dp[1] domain.SubDomain = dp[0] } default: { log.Println(domainStr, "域名不正确") continue } } if strings.Contains(domain.DomainName, "?") { u, err := url.Parse("http://" + domain.DomainName) if err != nil { log.Println(domainStr, "域名解析失败") continue } domain.DomainName = u.Host domain.CustomParams = u.Query().Encode() } domains = append(domains, domain) domainsRawStrList = append(domainsRawStrList, domainStr) } return } ================================================ FILE: module/ddns/ddnscore.go/taskinfo.go ================================================ package ddnscore import ( ddnsconf "github.com/gdy666/lucky/module/ddns/conf" ) type DDNSTaskInfo struct { ddnsconf.DDNSTask TaskState DDNSTaskState `json:"TaskState"` } // CheckIPChange 检测公网IP是否改变 func (d *DDNSTaskInfo) CheckIPChange() (ipAddr string, change bool) { ipAddr = d.GetIpAddr() checkIPChange := d.TaskState.IPChanged(ipAddr) if checkIPChange { return ipAddr, true } //IP没变化 return ipAddr, false } func (d *DDNSTaskInfo) SyncDomains() { if d.ModifyTime == d.TaskState.ModifyTime { //fmt.Printf("不需要syncDomains\n") return } //fmt.Printf("需要syncDomains\n") domains, _ := checkParseDomains(d.Domains) for i := range domains { index := getDomainIndex(d.TaskState.Domains, &domains[i]) if index < 0 { continue } domains[i] = d.TaskState.Domains[index] } d.TaskState.Domains = domains d.TaskState.ModifyTime = d.ModifyTime taskInfoMap.Store(d.TaskKey, &d.TaskState) } func getDomainIndex(domains []Domain, domain *Domain) (index int) { index = -1 for i := range domains { if domains[i].RawStr == domain.RawStr { index = i return } } return } ================================================ FILE: module/ddns/ddnscore.go/taskstate.go ================================================ package ddnscore import ( "time" ) // 固定的主域名 var staticMainDomains = []string{"com.cn", "org.cn", "net.cn", "ac.cn", "eu.org"} // 获取ip失败的次数 // Domains Ipv4/Ipv6 DDNSTaskState type DDNSTaskState struct { IpAddr string Domains []Domain domainsRawStrList []string WebhookCallTime string `json:"WebhookCallTime"` //最后触发时间 WebhookCallResult bool `json:"WebhookCallResult"` //触发结果 WebhookCallErrorMsg string `json:"WebhookCallErrorMsg"` //触发错误信息 LastSyncTime time.Time `json:"-"` //记录最新一次同步操作时间 LastWorkTime time.Time `json:"-"` IPAddrHistory []any `json:"IPAddrHistory"` WebhookCallHistroy []any `json:"WebhookCallHistroy"` ModifyTime int64 } type IPAddrHistoryItem struct { IPaddr string RecordTime string } type WebhookCallHistroyItem struct { CallTime string CallResult string } func (d *DDNSTaskState) SetIPAddr(ipaddr string) { if d.IpAddr == ipaddr { return } d.IpAddr = ipaddr hi := IPAddrHistoryItem{IPaddr: ipaddr, RecordTime: time.Now().Local().Format("2006-01-02 15:04:05")} d.IPAddrHistory = append(d.IPAddrHistory, hi) if len(d.IPAddrHistory) > 10 { d.IPAddrHistory = DeleteAnyListlice(d.IPAddrHistory, 0) } } func DeleteAnyListlice(a []any, deleteIndex int) []any { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } func (d *DDNSTaskState) SetDomainUpdateStatus(status string, message string) { for i := range d.Domains { d.Domains[i].SetDomainUpdateStatus(status, message) } } func (d *DDNSTaskState) SetWebhookResult(result bool, errMsg string) { d.WebhookCallResult = result d.WebhookCallErrorMsg = errMsg d.WebhookCallTime = time.Now().Format("2006-01-02 15:04:05") cr := "成功" if !result { cr = "出错" } hi := WebhookCallHistroyItem{CallResult: cr, CallTime: time.Now().Local().Format("2006-01-02 15:04:05")} d.WebhookCallHistroy = append(d.WebhookCallHistroy, hi) if len(d.WebhookCallHistroy) > 10 { d.WebhookCallHistroy = DeleteAnyListlice(d.WebhookCallHistroy, 0) } } func (d *DDNSTaskState) Init(domains []string, mt int64) { d.Domains, d.domainsRawStrList = checkParseDomains(domains) d.ModifyTime = mt } // Check 检测IP是否有改变 func (d *DDNSTaskState) IPChanged(newAddr string) bool { if newAddr == "" { return true } // 地址改变 if d.IpAddr != newAddr { //log.Printf("公网地址改变:[%s]===>[%s]", d.DomainsInfo.IpAddr, newAddr) //domains.IpAddr = newAddr return true } return false } ================================================ FILE: module/ddns/ddnscore.go/webhook.go ================================================ package ddnscore import ( "fmt" "net/http" "strings" "time" "github.com/gdy666/lucky/module/ddns/ddnsgo" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) // ExecWebhook 添加或更新IPv4/IPv6记录 func (d *DDNSTaskInfo) ExecWebhook(state *DDNSTaskState) { if !d.WebhookEnable { return } if state.IpAddr == "" && !d.WebhookCallOnGetIPfail { return } hasUpdate := hasDomainTryToUpdate(&state.Domains) if d.WebhookURL != "" && (hasUpdate || (state.IpAddr == "" && d.WebhookCallOnGetIPfail)) { //log.Printf("DDNS任务【%s】触发Webhook", d.TaskName) nowTime := time.Now().Format("2006-01-02 15:04:05") url := d.replaceWebhookPara(nowTime, d.WebhookURL) requestBody := d.replaceWebhookPara(nowTime, d.WebhookRequestBody) //headersStr := cb.task.DNS.Callback.Headers var headerStrList []string for i := range d.WebhookHeaders { header := d.replaceWebhookPara(nowTime, d.WebhookHeaders[i]) headerStrList = append(headerStrList, header) } headers := httputils.CreateHeadersMap(headerStrList) succcssCotentList := []string{} for i := range d.WebhookSuccessContent { content := d.replaceWebhookPara(nowTime, d.WebhookSuccessContent[i]) succcssCotentList = append(succcssCotentList, content) } callErr := d.webhookHttpClientDo(d.WebhookMethod, url, requestBody, headers, succcssCotentList) if callErr != nil { state.SetWebhookResult(false, callErr.Error()) return } state.SetWebhookResult(true, "") } } func WebhookTest(d *DDNSTaskInfo, url, method, WebhookRequestBody, proxy, addr, user, passwd string, headerList, successContentListraw []string) (string, error) { nowTime := time.Now().Format("2006-01-02 15:04:05") url = replaceWebhookTestPara(url, nowTime) requestBody := replaceWebhookTestPara(WebhookRequestBody, nowTime) var headerStrList []string for i := range headerList { header := replaceWebhookTestPara(headerList[i], nowTime) headerStrList = append(headerStrList, header) } headers := httputils.CreateHeadersMap(headerStrList) succcssCotentList := []string{} for i := range successContentListraw { content := replaceWebhookTestPara(successContentListraw[i], nowTime) succcssCotentList = append(succcssCotentList, content) } globalDDNSConf := ddnsgo.GetDDNSConfigure() proxyType := "" proxyAddr := "" proxyUser := "" proxyPasswd := "" switch proxy { case "dns": { if d.DNS.HttpClientProxyType != "" && d.DNS.HttpClientProxyAddr != "" { proxyType = d.DNS.HttpClientProxyType proxyAddr = d.DNS.HttpClientProxyAddr proxyUser = d.DNS.HttpClientProxyUser proxyPasswd = d.DNS.HttpClientProxyPassword } } case "http", "https", "socks5": { proxyType = proxy proxyAddr = addr proxyUser = user proxyPasswd = passwd } default: } //fmt.Printf("proxyType:%s\taddr:%s\t,user[%s]passwd[%s]\n", proxyType, proxyAddr, proxyUser, proxyPasswd) //dnsConf := cb.task.DNS _, respStr, err := httputils.GetStringGoutDoHttpRequest( "tcp", "", method, url, requestBody, proxyType, proxyAddr, proxyUser, proxyPasswd, headers, !globalDDNSConf.HttpClientSecureVerify, time.Second*20) if err != nil { return "", fmt.Errorf("webhookTest 调用接口[%s]出错:%s", url, err.Error()) } for _, successContent := range succcssCotentList { if strings.Contains(respStr, successContent) { return respStr, nil } } return respStr, fmt.Errorf("接口调用出错,未匹配预设成功返回的字符串") } func (d *DDNSTaskInfo) webhookHttpClientDo(method, url, requestBody string, headers map[string]string, callbackSuccessContent []string) error { globalDDNSConf := ddnsgo.GetDDNSConfigure() proxyType := "" proxyAddr := "" proxyUser := "" proxyPasswd := "" switch d.WebhookProxy { case "dns": { if d.DNS.HttpClientProxyType != "" && d.DNS.HttpClientProxyAddr != "" { proxyType = d.DNS.HttpClientProxyType proxyAddr = d.DNS.HttpClientProxyAddr proxyUser = d.DNS.HttpClientProxyUser proxyPasswd = d.DNS.HttpClientProxyPassword } } case "http", "https", "socks5": { proxyType = d.WebhookProxy proxyAddr = d.WebhookProxyAddr proxyUser = d.WebhookProxyUser proxyPasswd = d.WebhookProxyPassword } default: } //dnsConf := cb.task.DNS statusCode, respStr, err := httputils.GetStringGoutDoHttpRequest( "tcp", "", method, url, requestBody, proxyType, proxyAddr, proxyUser, proxyPasswd, headers, !globalDDNSConf.HttpClientSecureVerify, time.Second*20) if err != nil { return fmt.Errorf("webhook 调用接口[%s]出错:%s", url, err.Error()) } if d.WebhookDisableCallbackSuccessContentCheck { if statusCode == http.StatusOK { return nil } return fmt.Errorf("webhook调用接口失败:\n statusCode:%d\n%s", statusCode, respStr) } for _, successContent := range callbackSuccessContent { if strings.Contains(respStr, successContent) { return nil } } return fmt.Errorf("webhook 调用接口失败:\n%s", respStr) } // DomainsIsChange func hasDomainTryToUpdate(domains *[]Domain) bool { for _, v46 := range *domains { switch v46.UpdateStatus { case UpdatedFailed: return true case UpdatedSuccess: return true default: } } return false } // replaceWebhookTestPara WebhookTest替换参数 #{successDomains},#{failedDomains} func replaceWebhookTestPara(orgPara, nowTime string) (newPara string) { orgPara = strings.ReplaceAll(orgPara, "#{ipAddr}", "66.66.66.66") successDomains := "www1.google.com,www2.google.com,www3.google.com,www4.google.com" failedDomains := "www1.github.com,www2.github.com,www3.github.com,www4.github.com" successDomainsLine := strings.Replace(successDomains, ",", `\n`, -1) failedDomainsLine := strings.Replace(failedDomains, ",", `\n`, -1) orgPara = strings.ReplaceAll(orgPara, "#{successDomains}", successDomains) orgPara = strings.ReplaceAll(orgPara, "#{failedDomains}", failedDomains) orgPara = strings.ReplaceAll(orgPara, "#{successDomainsLine}", successDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{failedDomainsLine}", failedDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{time}", nowTime) return orgPara } // replacePara 替换参数 #{successDomains},#{failedDomains} func (d *DDNSTaskInfo) replaceWebhookPara(nowTime, orgPara string) (newPara string) { ipAddrText := d.TaskState.IpAddr successDomains, failedDomains := d.getDomainsStr(&d.TaskState.Domains) if ipAddrText == "" { ipAddrText = "获取IP失败" successDomains = "" failedDomains = "" } successDomainsLine := strings.Replace(successDomains, ",", `\n`, -1) failedDomainsLine := strings.Replace(failedDomains, ",", `\n`, -1) orgPara = strings.ReplaceAll(orgPara, "#{ipAddr}", ipAddrText) orgPara = strings.ReplaceAll(orgPara, "#{successDomains}", successDomains) orgPara = strings.ReplaceAll(orgPara, "#{failedDomains}", failedDomains) orgPara = strings.ReplaceAll(orgPara, "#{successDomainsLine}", successDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{failedDomainsLine}", failedDomainsLine) orgPara = strings.ReplaceAll(orgPara, "#{time}", nowTime) return orgPara } // getDomainsStr 用逗号分割域名,分类域名返回,成功和失败的 func (d *DDNSTaskInfo) getDomainsStr(domains *[]Domain) (string, string) { var successDomainBuf strings.Builder var failedDomainsBuf strings.Builder for _, v46 := range *domains { if v46.UpdateStatus == UpdatedFailed || (d.Webhook.WebhookCallOnGetIPfail && v46.UpdateStatus == UpdatePause) { if failedDomainsBuf.Len() > 0 { failedDomainsBuf.WriteString(",") } failedDomainsBuf.WriteString(v46.String()) continue } //if v46.UpdateStatus == UpdatedNothing || v46.UpdateStatus == UpdatedSuccess { if v46.UpdateStatus == UpdatedSuccess { if successDomainBuf.Len() > 0 { successDomainBuf.WriteString(",") } successDomainBuf.WriteString(v46.String()) } } return successDomainBuf.String(), failedDomainsBuf.String() } ================================================ FILE: module/ddns/ddnsgo/ddns.go ================================================ package ddnsgo import ( "fmt" "log" "time" "github.com/gdy666/lucky/config" ddnsconf "github.com/gdy666/lucky/module/ddns/conf" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" ) func init() { ddnsconf.SetGetDDNSConfigureFunc(GetDDNSConfigure) } func DDNSTaskListConfigureCheck() { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() for i := range config.Configure.DDNSTaskList { if config.Configure.DDNSTaskList[i].DNS.ForceInterval < 60 { config.Configure.DDNSTaskList[i].DNS.ForceInterval = 60 } else if config.Configure.DDNSTaskList[i].DNS.ForceInterval > 360000 { config.Configure.DDNSTaskList[i].DNS.ForceInterval = 360000 } if config.Configure.DDNSTaskList[i].HttpClientTimeout < 3 { config.Configure.DDNSTaskList[i].HttpClientTimeout = 3 } else if config.Configure.DDNSTaskList[i].HttpClientTimeout > 60 { config.Configure.DDNSTaskList[i].HttpClientTimeout = 60 } } } func DDNSTaskSetWebhookCallResult(taskKey string, result bool, message string) { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() taskIndex := -1 for i := range config.Configure.DDNSTaskList { if config.Configure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return } log.Printf("DDNSTaskSetWebhookCallResult %s", taskKey) } func GetDDNSTaskConfigureList() []*ddnsconf.DDNSTask { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var resList []*ddnsconf.DDNSTask for i := range config.Configure.DDNSTaskList { task := config.Configure.DDNSTaskList[i] resList = append(resList, &task) } return resList } func GetDDNSTaskByKey(taskKey string) *ddnsconf.DDNSTask { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() taskIndex := -1 for i := range config.Configure.DDNSTaskList { if config.Configure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return nil } res := config.Configure.DDNSTaskList[taskIndex] return &res } func DDNSTaskListAdd(task *ddnsconf.DDNSTask) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() task.TaskKey = stringsp.GetRandomString(16) task.ModifyTime = time.Now().Unix() config.Configure.DDNSTaskList = append(config.Configure.DDNSTaskList, *task) return config.Save() } func DDNSTaskListDelete(taskKey string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() taskIndex := -1 for i := range config.Configure.DDNSTaskList { if config.Configure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return fmt.Errorf("找不到需要删除的DDNS任务") } config.Configure.DDNSTaskList = DeleteDDNSTaskListlice(config.Configure.DDNSTaskList, taskIndex) return config.Save() } func EnableDDNSTaskByKey(taskKey string, enable bool) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() taskIndex := -1 for i := range config.Configure.DDNSTaskList { if config.Configure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return fmt.Errorf("开关DDNS任务失败,TaskKey不存在") } config.Configure.DDNSTaskList[taskIndex].Enable = enable return config.Save() } func UpdateTaskToDDNSTaskList(taskKey string, task ddnsconf.DDNSTask) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() taskIndex := -1 for i := range config.Configure.DDNSTaskList { if config.Configure.DDNSTaskList[i].TaskKey == taskKey { taskIndex = i break } } if taskIndex == -1 { return fmt.Errorf("找不到需要更新的DDNS任务") } config.Configure.DDNSTaskList[taskIndex].TaskName = task.TaskName config.Configure.DDNSTaskList[taskIndex].TaskType = task.TaskType config.Configure.DDNSTaskList[taskIndex].Enable = task.Enable config.Configure.DDNSTaskList[taskIndex].GetType = task.GetType config.Configure.DDNSTaskList[taskIndex].URL = task.URL config.Configure.DDNSTaskList[taskIndex].NetInterface = task.NetInterface config.Configure.DDNSTaskList[taskIndex].IPReg = task.IPReg config.Configure.DDNSTaskList[taskIndex].Domains = task.Domains config.Configure.DDNSTaskList[taskIndex].DNS = task.DNS config.Configure.DDNSTaskList[taskIndex].Webhook = task.Webhook config.Configure.DDNSTaskList[taskIndex].TTL = task.TTL config.Configure.DDNSTaskList[taskIndex].HttpClientTimeout = task.HttpClientTimeout config.Configure.DDNSTaskList[taskIndex].ModifyTime = time.Now().Unix() return config.Save() } func DeleteDDNSTaskListlice(a []ddnsconf.DDNSTask, deleteIndex int) []ddnsconf.DDNSTask { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } func GetDDNSConfigure() ddnsconf.DDNSConfigure { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() conf := config.Configure.DDNSConfigure return conf } func SetDDNSConfigure(conf *ddnsconf.DDNSConfigure) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() if conf.Intervals < 30 { conf.Intervals = 30 } if conf.Intervals > 3600 { conf.Intervals = 3600 } if conf.FirstCheckDelay < 0 { conf.FirstCheckDelay = 0 } if conf.FirstCheckDelay > 3600 { conf.FirstCheckDelay = 3600 } config.Configure.DDNSConfigure = *conf return config.Save() } ================================================ FILE: module/ddns/providers/alidns.go ================================================ package providers import ( "bytes" "fmt" "log" "net/http" "net/url" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/jeessy2/ddns-go/util" ) const ( alidnsEndpoint string = "https://alidns.aliyuncs.com/" ) // https://help.aliyun.com/document_detail/29776.html?spm=a2c4g.11186623.6.672.715a45caji9dMA // Alidns Alidns type Alidns struct { ProviderCommon TTL string } // AlidnsRecord record type AlidnsRecord struct { DomainName string RecordID string Value string } // AlidnsSubDomainRecords 记录 type AlidnsSubDomainRecords struct { TotalCount int DomainRecords struct { Record []AlidnsRecord } } // AlidnsResp 修改/添加返回结果 type AlidnsResp struct { RecordID string RequestID string } // Init 初始化 func (ali *Alidns) Init(task *ddnscore.DDNSTaskInfo) { ali.ProviderCommon.Init(task) if task.TTL == "" { // 默认600s ali.TTL = "600" } else { ali.TTL = task.TTL } ali.SetCreateUpdateDomainFunc(ali.createUpdateDomain) } func (ali *Alidns) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var records AlidnsSubDomainRecords // 获取当前域名信息 params := domain.GetCustomParams() params.Set("Action", "DescribeSubDomainRecords") params.Set("DomainName", domain.DomainName) params.Set("SubDomain", domain.GetFullDomain()) params.Set("Type", recordType) err := ali.request(params, &records) if err != nil { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) return } if records.TotalCount > 0 { // 默认第一个 recordSelected := records.DomainRecords.Record[0] if params.Has("RecordId") { for i := 0; i < len(records.DomainRecords.Record); i++ { if records.DomainRecords.Record[i].RecordID == params.Get("RecordId") { recordSelected = records.DomainRecords.Record[i] } } } // 存在,更新 ali.modify(recordSelected, domain, recordType, ipAddr) } else { // 不存在,创建 ali.create(domain, recordType, ipAddr) } } // 创建 func (ali *Alidns) create(domain *ddnscore.Domain, recordType string, ipAddr string) { params := domain.GetCustomParams() params.Set("Action", "AddDomainRecord") params.Set("DomainName", domain.DomainName) params.Set("RR", domain.GetSubDomain()) params.Set("Type", recordType) params.Set("Value", ipAddr) params.Set("TTL", ali.TTL) var result AlidnsResp err := ali.request(params, &result) if err == nil && result.RecordID != "" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("创建域名失败:\n%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (ali *Alidns) modify(recordSelected AlidnsRecord, domain *ddnscore.Domain, recordType string, ipAddr string) { // 相同不修改 if recordSelected.Value == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } params := domain.GetCustomParams() params.Set("Action", "UpdateDomainRecord") params.Set("RR", domain.GetSubDomain()) params.Set("RecordId", recordSelected.RecordID) params.Set("Type", recordType) params.Set("Value", ipAddr) params.Set("TTL", ali.TTL) var result AlidnsResp err := ali.request(params, &result) if err == nil && result.RecordID != "" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析失败:%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // request 统一请求接口 func (ali *Alidns) request(params url.Values, result interface{}) (err error) { util.AliyunSigner(ali.task.DNS.ID, ali.task.DNS.Secret, ¶ms) req, err := http.NewRequest( "GET", alidnsEndpoint, bytes.NewBuffer(nil), ) req.URL.RawQuery = params.Encode() if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } client, err := ali.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: module/ddns/providers/baidu.go ================================================ package providers import ( "bytes" "encoding/json" "log" "net/http" "strconv" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/jeessy2/ddns-go/util" ) // https://cloud.baidu.com/doc/BCD/s/4jwvymhs7 const ( baiduEndpoint = "https://bcd.baidubce.com" ) type BaiduCloud struct { ProviderCommon TTL int } // BaiduRecord 单条解析记录 type BaiduRecord struct { RecordId uint `json:"recordId"` Domain string `json:"domain"` View string `json:"view"` Rdtype string `json:"rdtype"` TTL int `json:"ttl"` Rdata string `json:"rdata"` ZoneName string `json:"zoneName"` Status string `json:"status"` } // BaiduRecordsResp 获取解析列表拿到的结果 type BaiduRecordsResp struct { TotalCount int `json:"totalCount"` Result []BaiduRecord `json:"result"` } // BaiduListRequest 获取解析列表请求的body json type BaiduListRequest struct { Domain string `json:"domain"` PageNum int `json:"pageNum"` PageSize int `json:"pageSize"` } // BaiduModifyRequest 修改解析请求的body json type BaiduModifyRequest struct { RecordId uint `json:"recordId"` Domain string `json:"domain"` View string `json:"view"` RdType string `json:"rdType"` TTL int `json:"ttl"` Rdata string `json:"rdata"` ZoneName string `json:"zoneName"` } // BaiduCreateRequest 创建新解析请求的body json type BaiduCreateRequest struct { Domain string `json:"domain"` RdType string `json:"rdType"` TTL int `json:"ttl"` Rdata string `json:"rdata"` ZoneName string `json:"zoneName"` } func (baidu *BaiduCloud) Init(task *ddnscore.DDNSTaskInfo) { baidu.ProviderCommon.Init(task) if task.TTL == "" { // 默认300s baidu.TTL = 300 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { baidu.TTL = 300 } else { baidu.TTL = ttl } } baidu.SetCreateUpdateDomainFunc(baidu.createUpdateDomain) } func (baidu *BaiduCloud) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var records BaiduRecordsResp requestBody := BaiduListRequest{ Domain: domain.DomainName, PageNum: 1, PageSize: 1000, } err := baidu.request("POST", baiduEndpoint+"/v1/domain/resolve/list", requestBody, &records) if err != nil { errMsg := "更新失败[001]:\n" errMsg += err.Error() domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } find := false for _, record := range records.Result { if record.Domain == domain.GetSubDomain() { //存在就去更新 baidu.modify(record, domain, recordType, ipAddr) find = true break } } if !find { //没找到,去创建 baidu.create(domain, recordType, ipAddr) } } // create 创建新的解析 func (baidu *BaiduCloud) create(domain *ddnscore.Domain, recordType string, ipAddr string) { var baiduCreateRequest = BaiduCreateRequest{ Domain: domain.GetSubDomain(), //处理一下@ RdType: recordType, TTL: baidu.TTL, Rdata: ipAddr, ZoneName: domain.DomainName, } var result BaiduRecordsResp err := baidu.request("POST", baiduEndpoint+"/v1/domain/resolve/add", baiduCreateRequest, &result) if err == nil { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { //log.Printf("新增域名解析 %s 失败!", domain) domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) } } // modify 更新解析 func (baidu *BaiduCloud) modify(record BaiduRecord, domain *ddnscore.Domain, rdType string, ipAddr string) { //没有变化直接跳过 if record.Rdata == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } var baiduModifyRequest = BaiduModifyRequest{ RecordId: record.RecordId, Domain: record.Domain, View: record.View, RdType: rdType, TTL: record.TTL, Rdata: ipAddr, ZoneName: record.ZoneName, } var result BaiduRecordsResp err := baidu.request("POST", baiduEndpoint+"/v1/domain/resolve/edit", baiduModifyRequest, &result) if err == nil { //log.Printf("更新域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { //log.Printf("更新域名解析 %s 失败!", domain) domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) } } // request 统一请求接口 func (baidu *BaiduCloud) request(method string, url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( method, url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } util.BaiduSigner(baidu.task.DNS.ID, baidu.task.DNS.Secret, req) client, err := baidu.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: module/ddns/providers/callback.go ================================================ package providers import ( "fmt" "net/http" "strings" "time" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/module/ddns/ddnsgo" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) type Callback struct { ProviderCommon TTL string } // Init 初始化 func (cb *Callback) Init(task *ddnscore.DDNSTaskInfo) { cb.ProviderCommon.Init(task) if task.TTL == "" { // 默认600 cb.TTL = "600" } else { cb.TTL = task.TTL } cb.SetCreateUpdateDomainFunc(cb.createUpdateDomain) } func CopyHeadersMap(sm map[string]string) map[string]string { dm := make(map[string]string) for k, v := range sm { dm[k] = v } return dm } func (cb *Callback) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { url := replacePara(cb.task.DNS.Callback.URL, ipAddr, domain, recordType, cb.TTL) requestBody := replacePara(cb.task.DNS.Callback.RequestBody, ipAddr, domain, recordType, cb.TTL) //headersStr := cb.task.DNS.Callback.Headers var headerStrList []string for i := range cb.task.DNS.Callback.Headers { header := replacePara(cb.task.DNS.Callback.Headers[i], ipAddr, domain, recordType, cb.TTL) headerStrList = append(headerStrList, header) } headers := httputils.CreateHeadersMap(headerStrList) succcssCotentList := []string{} for i := range cb.task.DNS.Callback.CallbackSuccessContent { content := replacePara(cb.task.DNS.Callback.CallbackSuccessContent[i], ipAddr, domain, recordType, cb.TTL) succcssCotentList = append(succcssCotentList, content) } callErr := cb.CallbackHttpClientDo(cb.task.DNS.Callback.Method, url, requestBody, headers, succcssCotentList) if callErr != nil { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, callErr.Error()) return } domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } // replacePara 替换参数 func replacePara(orgPara, ipAddr string, domain *ddnscore.Domain, recordType string, ttl string) (newPara string) { orgPara = strings.ReplaceAll(orgPara, "#{ip}", ipAddr) orgPara = strings.ReplaceAll(orgPara, "#{domain}", domain.String()) orgPara = strings.ReplaceAll(orgPara, "#{recordType}", recordType) orgPara = strings.ReplaceAll(orgPara, "#{ttl}", ttl) for k, v := range domain.GetCustomParams() { if len(v) == 1 { orgPara = strings.ReplaceAll(orgPara, "#{"+k+"}", v[0]) } } return orgPara } func (cb *Callback) CallbackHttpClientDo(method, url, requestBody string, headers map[string]string, callbackSuccessContent []string) error { globalDDNSConf := ddnsgo.GetDDNSConfigure() dnsConf := cb.task.DNS statusCode, respStr, err := httputils.GetStringGoutDoHttpRequest( "tcp", "", method, url, requestBody, dnsConf.HttpClientProxyType, dnsConf.HttpClientProxyAddr, dnsConf.HttpClientProxyUser, dnsConf.HttpClientProxyPassword, headers, !globalDDNSConf.HttpClientSecureVerify, time.Duration(cb.task.HttpClientTimeout)*time.Second) if err != nil { return fmt.Errorf("Callback 调用接口[%s]出错:%s", url, err.Error()) } if cb.task.DNS.Callback.DisableCallbackSuccessContentCheck { if statusCode == http.StatusOK { return nil } return fmt.Errorf("调用接口失败:\n statusCode:%d\n%s", statusCode, respStr) } //log.Printf("接口[%s]调用响应:%s\n", url, respStr) //fmt.Printf("statusCode:%d\n", statusCode) for _, successContent := range callbackSuccessContent { if strings.Contains(respStr, successContent) { return nil } } return fmt.Errorf("调用接口失败:\n%s", respStr) } ================================================ FILE: module/ddns/providers/cloudflare.go ================================================ package providers import ( "bytes" "encoding/json" "fmt" "log" "net/http" "strconv" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) const ( zonesAPI string = "https://api.cloudflare.com/client/v4/zones" ) // Cloudflare Cloudflare实现 type Cloudflare struct { ProviderCommon TTL int } // CloudflareZonesResp cloudflare zones返回结果 type CloudflareZonesResp struct { CloudflareStatus Result []struct { ID string Name string Status string Paused bool } } // CloudflareRecordsResp records type CloudflareRecordsResp struct { CloudflareStatus Result []CloudflareRecord } // CloudflareRecord 记录实体 type CloudflareRecord struct { ID string `json:"id"` Name string `json:"name"` Type string `json:"type"` Content string `json:"content"` Proxied bool `json:"proxied"` TTL int `json:"ttl"` } // CloudflareStatus 公共状态 type CloudflareStatus struct { Success bool Messages []string } // Init 初始化 func (cf *Cloudflare) Init(task *ddnscore.DDNSTaskInfo) { cf.ProviderCommon.Init(task) if task.TTL == "" { // 默认1 auto ttl cf.TTL = 1 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { cf.TTL = 1 } else { cf.TTL = ttl } } cf.SetCreateUpdateDomainFunc(cf.createUpdateDomain) } func (cf *Cloudflare) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { result, err := cf.getZones(domain) if err != nil || len(result.Result) != 1 { errMsg := "更新失败[001]:\n" if err != nil { errMsg += err.Error() } else { errMsg += fmt.Sprintf("%v", result) } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } zoneID := result.Result[0].ID var records CloudflareRecordsResp // getDomains 最多更新前50条 err = cf.request( "GET", fmt.Sprintf(zonesAPI+"/%s/dns_records?type=%s&name=%s&per_page=50", zoneID, recordType, domain), nil, &records, ) if err != nil || !records.Success { errMsg := "更新失败[002]:\n" if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } if len(records.Result) > 0 { // 更新 cf.modify(records, zoneID, domain, recordType, ipAddr) } else { // 新增 cf.create(zoneID, domain, recordType, ipAddr) } } // 创建 func (cf *Cloudflare) create(zoneID string, domain *ddnscore.Domain, recordType string, ipAddr string) { record := &CloudflareRecord{ Type: recordType, Name: domain.String(), Content: ipAddr, Proxied: false, TTL: cf.TTL, } var status CloudflareStatus err := cf.request( "POST", fmt.Sprintf(zonesAPI+"/%s/dns_records", zoneID), record, &status, ) if err == nil && status.Success { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("创建域名失败:\n%v\n", status) if err != nil { errMsg += fmt.Sprintf(":%s", err.Error()) } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (cf *Cloudflare) modify(result CloudflareRecordsResp, zoneID string, domain *ddnscore.Domain, recordType string, ipAddr string) { for _, record := range result.Result { // 相同不修改 if record.Content == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } continue } var status CloudflareStatus record.Content = ipAddr record.TTL = cf.TTL err := cf.request( "PUT", fmt.Sprintf(zonesAPI+"/%s/dns_records/%s", zoneID, record.ID), record, &status, ) if err == nil && status.Success { //log.Printf("更新域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { //log.Printf("更新域名解析 %s 失败!Messages: %s", domain, status.Messages) errMsg := fmt.Sprintf("更新域名解析失败:%v\n", status) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } } // 获得域名记录列表 func (cf *Cloudflare) getZones(domain *ddnscore.Domain) (result CloudflareZonesResp, err error) { err = cf.request( "GET", fmt.Sprintf(zonesAPI+"?name=%s&status=%s&per_page=%s", domain.DomainName, "active", "50"), nil, &result, ) return } // request 统一请求接口 func (cf *Cloudflare) request(method string, url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( method, url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } req.Header.Set("Authorization", "Bearer "+cf.task.DNS.Secret) req.Header.Set("Content-Type", "application/json") client, err := cf.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: module/ddns/providers/dnspod.go ================================================ package providers import ( "fmt" "net/url" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) const ( recordListAPI string = "https://dnsapi.cn/Record.List" recordModifyURL string = "https://dnsapi.cn/Record.Modify" recordCreateAPI string = "https://dnsapi.cn/Record.Create" ) // https://cloud.tencent.com/document/api/302/8516 // Dnspod 腾讯云dns实现 type Dnspod struct { ProviderCommon TTL string } // DnspodRecordListResp recordListAPI结果 type DnspodRecordListResp struct { DnspodStatus Records []struct { ID string Name string Type string Value string Enabled string } } // DnspodStatus DnspodStatus type DnspodStatus struct { Status struct { Code string Message string } } // Init 初始化 func (dnspod *Dnspod) Init(task *ddnscore.DDNSTaskInfo) { dnspod.ProviderCommon.Init(task) if task.TTL == "" { // 默认600s dnspod.TTL = "600" } else { dnspod.TTL = task.TTL } dnspod.SetCreateUpdateDomainFunc(dnspod.createUpdateDomain) } func (dnspod *Dnspod) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { result, err := dnspod.getRecordList(domain, recordType) if err != nil { errMsg := "更新失败[001]:\n" errMsg += err.Error() domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } if len(result.Records) > 0 { // 更新 dnspod.modify(result, domain, recordType, ipAddr) } else { // 新增 dnspod.create(result, domain, recordType, ipAddr) } } // 创建 func (dnspod *Dnspod) create(result DnspodRecordListResp, domain *ddnscore.Domain, recordType string, ipAddr string) { params := domain.GetCustomParams() params.Add("login_token", dnspod.task.DNS.ID+","+dnspod.task.DNS.Secret) params.Add("domain", domain.DomainName) params.Add("sub_domain", domain.GetSubDomain()) params.Add("record_type", recordType) params.Add("value", ipAddr) params.Add("ttl", dnspod.TTL) params.Add("format", "json") if !params.Has("record_line") { params.Add("record_line", "默认") } status, err := dnspod.commonRequest(recordCreateAPI, params, domain) if err == nil && status.Status.Code == "1" { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("创建域名失败:%v\n", status) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (dnspod *Dnspod) modify(result DnspodRecordListResp, domain *ddnscore.Domain, recordType string, ipAddr string) { for _, record := range result.Records { // 相同不修改 if record.Value == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } continue } params := domain.GetCustomParams() params.Add("login_token", dnspod.task.DNS.ID+","+dnspod.task.DNS.Secret) params.Add("domain", domain.DomainName) params.Add("sub_domain", domain.GetSubDomain()) params.Add("record_type", recordType) params.Add("value", ipAddr) params.Add("ttl", dnspod.TTL) params.Add("format", "json") params.Add("record_id", record.ID) if !params.Has("record_line") { params.Add("record_line", "默认") } status, err := dnspod.commonRequest(recordModifyURL, params, domain) if err == nil && status.Status.Code == "1" { //log.Printf("更新域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析失败:%v\n", status) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } } // 公共 func (dnspod *Dnspod) commonRequest(apiAddr string, values url.Values, domain *ddnscore.Domain) (status DnspodStatus, err error) { client, e := dnspod.CreateHTTPClient() if e != nil { err = e return } resp, e := client.PostForm( apiAddr, values, ) if e != nil { err = e return } err = httputils.GetAndParseJSONResponseFromHttpResponse(resp, &status) return } // 获得域名记录列表 func (dnspod *Dnspod) getRecordList(domain *ddnscore.Domain, typ string) (result DnspodRecordListResp, err error) { params := domain.GetCustomParams() params.Add("login_token", dnspod.task.DNS.ID+","+dnspod.task.DNS.Secret) params.Add("domain", domain.DomainName) params.Add("record_type", typ) params.Add("sub_domain", domain.GetSubDomain()) params.Add("format", "json") if !params.Has("record_line") { params.Add("record_line", "默认") } client, e := dnspod.CreateHTTPClient() if e != nil { err = e return } resp, err := client.PostForm( recordListAPI, params, ) if err != nil { err = e return } err = httputils.GetAndParseJSONResponseFromHttpResponse(resp, &result) return } ================================================ FILE: module/ddns/providers/godaddy.go ================================================ package providers import ( "bytes" "encoding/json" "fmt" "net/http" "strconv" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) type godaddyRecord struct { Data string `json:"data"` Name string `json:"name"` TTL int `json:"ttl"` Type string `json:"type"` } type godaddyRecords []godaddyRecord type GoDaddy struct { ProviderCommon TTL int header http.Header client *http.Client } // Init 初始化 func (gd *GoDaddy) Init(task *ddnscore.DDNSTaskInfo) { gd.ProviderCommon.Init(task) // if task.TTL == "" { // // 默认600s // gd.TTL = 600 // } else { // gd.TTL = task.TTL // } if task.TTL == "" { // 默认300s gd.TTL = 600 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { gd.TTL = 600 } else { gd.TTL = ttl } } gd.header = map[string][]string{ "Authorization": {fmt.Sprintf("sso-key %s:%s", task.DNS.ID, task.DNS.Secret)}, "Content-Type": {"application/json"}, } //g.throttle, _ = util.GetThrottle(55) gd.client, _ = gd.CreateHTTPClient() gd.SetCreateUpdateDomainFunc(gd.createUpdateDomain) } func (gd *GoDaddy) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { _, err := gd.sendReq(http.MethodPut, recordType, domain, &godaddyRecords{godaddyRecord{ Data: ipAddr, Name: domain.SubDomain, TTL: gd.TTL, Type: recordType, }}) if err != nil { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, err.Error()) } } func (gd *GoDaddy) sendReq(method string, rType string, domain *ddnscore.Domain, data any) (*godaddyRecords, error) { var body *bytes.Buffer if data != nil { if buffer, err := json.Marshal(data); err != nil { return nil, err } else { body = bytes.NewBuffer(buffer) } } path := fmt.Sprintf("https://api.godaddy.com/v1/domains/%s/records/%s/%s", domain.DomainName, rType, domain.SubDomain) req, err := http.NewRequest(method, path, body) if err != nil { return nil, err } req.Header = gd.header resp, err := gd.client.Do(req) if err != nil { return nil, err } result := &godaddyRecords{} httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) return result, nil } ================================================ FILE: module/ddns/providers/huawei.go ================================================ package providers import ( "bytes" "encoding/json" "fmt" "log" "net/http" "strconv" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/jeessy2/ddns-go/util" ) const ( huaweicloudEndpoint string = "https://dns.myhuaweicloud.com" ) // https://support.huaweicloud.com/api-dns/dns_api_64001.html // Huaweicloud Huaweicloud type Huaweicloud struct { ProviderCommon TTL int } // HuaweicloudZonesResp zones response type HuaweicloudZonesResp struct { Zones []struct { ID string Name string Recordsets []HuaweicloudRecordsets } } // HuaweicloudRecordsResp 记录返回结果 type HuaweicloudRecordsResp struct { Recordsets []HuaweicloudRecordsets } // HuaweicloudRecordsets 记录 type HuaweicloudRecordsets struct { ID string Name string `json:"name"` ZoneID string `json:"zone_id"` Status string Type string `json:"type"` TTL int `json:"ttl"` Records []string `json:"records"` } // Init 初始化 func (hw *Huaweicloud) Init(task *ddnscore.DDNSTaskInfo) { hw.ProviderCommon.Init(task) if task.TTL == "" { // 默认300s hw.TTL = 300 } else { ttl, err := strconv.Atoi(task.TTL) if err != nil { hw.TTL = 300 } else { hw.TTL = ttl } } hw.SetCreateUpdateDomainFunc(hw.createUpdateDomain) } func (hw *Huaweicloud) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var records HuaweicloudRecordsResp err := hw.request( "GET", fmt.Sprintf(huaweicloudEndpoint+"/v2/recordsets?type=%s&name=%s", recordType, domain), nil, &records, ) if err != nil { errMsg := "更新失败[001]:\n" errMsg += err.Error() domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) return } find := false for _, record := range records.Recordsets { // 名称相同才更新。华为云默认是模糊搜索 if record.Name == domain.String()+"." { // 更新 hw.modify(record, domain, recordType, ipAddr) find = true break } } if !find { // 新增 hw.create(domain, recordType, ipAddr) } } // 创建 func (hw *Huaweicloud) create(domain *ddnscore.Domain, recordType string, ipAddr string) { zone, err := hw.getZones(domain) if err != nil { return } if len(zone.Zones) == 0 { log.Println("未能找到公网域名, 请检查域名是否添加") return } zoneID := zone.Zones[0].ID for _, z := range zone.Zones { if z.Name == domain.DomainName+"." { zoneID = z.ID break } } record := &HuaweicloudRecordsets{ Type: recordType, Name: domain.String() + ".", Records: []string{ipAddr}, TTL: hw.TTL, } var result HuaweicloudRecordsets err = hw.request( "POST", fmt.Sprintf(huaweicloudEndpoint+"/v2/zones/%s/recordsets", zoneID), record, &result, ) if err == nil && (len(result.Records) > 0 && result.Records[0] == ipAddr) { //log.Printf("新增域名解析 %s 成功!IP: %s", domain, ipAddr) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("新增域名失败:%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (hw *Huaweicloud) modify(record HuaweicloudRecordsets, domain *ddnscore.Domain, recordType string, ipAddr string) { // 相同不修改 if len(record.Records) > 0 && record.Records[0] == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } var request map[string]interface{} = make(map[string]interface{}) request["records"] = []string{ipAddr} request["ttl"] = hw.TTL var result HuaweicloudRecordsets err := hw.request( "PUT", fmt.Sprintf(huaweicloudEndpoint+"/v2/zones/%s/recordsets/%s", record.ZoneID, record.ID), &request, &result, ) if err == nil && (len(result.Records) > 0 && result.Records[0] == ipAddr) { //log.Printf("更新域名解析 %s 成功!IP: %s, 状态: %s", domain, ipAddr, result.Status) domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析:%v\n", result) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 获得域名记录列表 func (hw *Huaweicloud) getZones(domain *ddnscore.Domain) (result HuaweicloudZonesResp, err error) { err = hw.request( "GET", fmt.Sprintf(huaweicloudEndpoint+"/v2/zones?name=%s", domain.DomainName), nil, &result, ) return } // request 统一请求接口 func (hw *Huaweicloud) request(method string, url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( method, url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } s := util.Signer{ Key: hw.task.DNS.ID, Secret: hw.task.DNS.Secret, } s.Sign(req) req.Header.Add("content-type", "application/json") client, err := hw.CreateHTTPClient() if err != nil { return err } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: module/ddns/providers/porkbun.go ================================================ package providers import ( "bytes" "encoding/json" "fmt" "log" "net/http" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) const ( porkbunEndpoint string = "https://porkbun.com/api/json/v3/dns" ) type Porkbun struct { ProviderCommon TTL string } type PorkbunDomainRecord struct { Name string `json:"name"` // subdomain Type string `json:"type"` // record type, e.g. A AAAA CNAME Content string `json:"content"` // value Ttl string `json:"ttl"` // default 300 } type PorkbunResponse struct { Status string `json:"status"` } type PorkbunDomainQueryResponse struct { *PorkbunResponse Records []PorkbunDomainRecord `json:"records"` } type PorkbunApiKey struct { AccessKey string `json:"apikey"` SecretKey string `json:"secretapikey"` } type PorkbunDomainCreateOrUpdateVO struct { *PorkbunApiKey *PorkbunDomainRecord } // Init 初始化 func (pb *Porkbun) Init(task *ddnscore.DDNSTaskInfo) { pb.ProviderCommon.Init(task) if task.TTL == "" { // 默认600s pb.TTL = "600" } else { pb.TTL = task.TTL } pb.SetCreateUpdateDomainFunc(pb.createUpdateDomain) } func (pb *Porkbun) createUpdateDomain(recordType, ipAddr string, domain *ddnscore.Domain) { var record PorkbunDomainQueryResponse // 获取当前域名信息 err := pb.request( porkbunEndpoint+fmt.Sprintf("/retrieveByNameType/%s/%s/%s", domain.DomainName, recordType, domain.SubDomain), &PorkbunApiKey{ AccessKey: pb.task.DNS.ID, SecretKey: pb.task.DNS.Secret, }, &record, ) if err != nil { return } if record.Status == "SUCCESS" { if len(record.Records) > 0 { // 存在,更新 pb.modify(&record, domain, recordType, ipAddr) } else { // 不存在,创建 pb.create(domain, recordType, ipAddr) } } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, "查询现有域名记录失败") } } // 创建 func (pb *Porkbun) create(domain *ddnscore.Domain, recordType string, ipAddr string) { var response PorkbunResponse err := pb.request( porkbunEndpoint+fmt.Sprintf("/create/%s", domain.DomainName), &PorkbunDomainCreateOrUpdateVO{ PorkbunApiKey: &PorkbunApiKey{ AccessKey: pb.task.DNS.ID, SecretKey: pb.task.DNS.Secret, }, PorkbunDomainRecord: &PorkbunDomainRecord{ Name: domain.SubDomain, Type: recordType, Content: ipAddr, Ttl: pb.TTL, }, }, &response, ) if err == nil && response.Status == "SUCCESS" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("新增域名失败:%v\n", response) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // 修改 func (pb *Porkbun) modify(record *PorkbunDomainQueryResponse, domain *ddnscore.Domain, recordType string, ipAddr string) { // 相同不修改 if len(record.Records) > 0 && record.Records[0].Content == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } return } var response PorkbunResponse err := pb.request( porkbunEndpoint+fmt.Sprintf("/editByNameType/%s/%s/%s", domain.DomainName, recordType, domain.SubDomain), &PorkbunDomainCreateOrUpdateVO{ PorkbunApiKey: &PorkbunApiKey{ AccessKey: pb.task.DNS.ID, SecretKey: pb.task.DNS.Secret, }, PorkbunDomainRecord: &PorkbunDomainRecord{ Content: ipAddr, Ttl: pb.TTL, }, }, &response, ) if err == nil && response.Status == "SUCCESS" { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { errMsg := fmt.Sprintf("更新域名解析失败:%v\n", response) if err != nil { errMsg += err.Error() } domain.SetDomainUpdateStatus(ddnscore.UpdatedFailed, errMsg) } } // request 统一请求接口 func (pb *Porkbun) request(url string, data interface{}, result interface{}) (err error) { jsonStr := make([]byte, 0) if data != nil { jsonStr, _ = json.Marshal(data) } req, err := http.NewRequest( "POST", url, bytes.NewBuffer(jsonStr), ) if err != nil { log.Println("http.NewRequest失败. Error: ", err) return } req.Header.Set("Content-Type", "application/json") client, e := pb.CreateHTTPClient() if e != nil { err = e return } resp, err := client.Do(req) if err != nil { return err } return httputils.GetAndParseJSONResponseFromHttpResponse(resp, result) } ================================================ FILE: module/ddns/providers/provider.go ================================================ package providers import "github.com/gdy666/lucky/module/ddns/ddnscore.go" // Provider interface type Provider interface { Init(task *ddnscore.DDNSTaskInfo) // 添加或更新IPv4/IPv6记录 AddUpdateDomainRecords() string } ================================================ FILE: module/ddns/providers/providercommon.go ================================================ package providers import ( "log" "net/http" "time" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/module/ddns/ddnsgo" "github.com/gdy666/lucky/thirdlib/gdylib/dnsutils" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" ) type ProviderCommon struct { createUpdateDomainFunc func(recordType, ipaddr string, domain *ddnscore.Domain) task *ddnscore.DDNSTaskInfo taskKey string } func (d *ProviderCommon) SetCreateUpdateDomainFunc(f func(recordType, ipaddr string, domain *ddnscore.Domain)) { d.createUpdateDomainFunc = f } func (d *ProviderCommon) Init(task *ddnscore.DDNSTaskInfo) { d.task = task d.taskKey = task.TaskKey } // 添加或更新IPv4/IPv6记录 func (d *ProviderCommon) AddUpdateDomainRecords() string { if d.task.TaskType == "IPv6" { return d.addUpdateDomainRecords("AAAA") } return d.addUpdateDomainRecords("A") } func (d *ProviderCommon) addUpdateDomainRecords(recordType string) string { ipAddr, change := d.task.CheckIPChange() defer ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) d.task.TaskState.SetIPAddr(ipAddr) //及时刷新IP地址显示 ddnscore.DDNSTaskInfoMapUpdateIPInfo(d.task) if ipAddr == "" { d.task.TaskState.SetDomainUpdateStatus(ddnscore.UpdatePause, "获取公网IP失败") return ipAddr } checkDoamins := d.task.TaskState.Domains if time.Since(d.task.TaskState.LastSyncTime) > time.Second*time.Duration(d.task.DNS.ForceInterval-1) { //log.Printf("DDNS任务[%s]强制更新", d.task.TaskName) change = true goto sync } //设置原先状态成功的为继续成功 //不成功的就更新 if !change { //公网IP没有改变 checkDoamins = []ddnscore.Domain{} for i := range d.task.TaskState.Domains { //如果原先状态成功或不改变就刷新时间 if d.task.TaskState.Domains[i].UpdateStatus == ddnscore.UpdatedNothing || d.task.TaskState.Domains[i].UpdateStatus == ddnscore.UpdatedSuccess { d.task.TaskState.Domains[i].SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) continue } checkDoamins = append(checkDoamins, d.task.TaskState.Domains[i]) } if len(checkDoamins) == 0 { return ipAddr } } sync: if change { syncTime := time.Now() defer func() { //记录最近一次同步操作时间 d.task.TaskState.LastSyncTime = syncTime }() } for i := range checkDoamins { if d.createUpdateDomainFunc == nil { log.Printf("ddns createUpdateDomainFunc undefine") break } domain := getDomainItem(checkDoamins[i].String(), &d.task.TaskState.Domains) if domain == nil { log.Printf("getDomainItem nil") continue } if d.task.DNS.ResolverDoaminCheck { //<-time.After(time.Second) domainResolverIPaddr, _ := dnsutils.ResolveDomainAtServerList(recordType, domain.String(), d.task.DNS.DNSServerList) //log.Printf("domain:%s domainResolverIPaddr:%s ,ipaddr:%s", domain.String(), domainResolverIPaddr, ipAddr) if domainResolverIPaddr == ipAddr { if domain.UpdateStatus == ddnscore.UpdatedFailed { domain.SetDomainUpdateStatus(ddnscore.UpdatedSuccess, "") } else { domain.SetDomainUpdateStatus(ddnscore.UpdatedNothing, "") } ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) continue } } //********* // params := domain.GetCustomParams() // if params.Has("recordType") { // recordType = params.Get("recordType") // } // if params.Has("recordContent") { // //ipAddr = params.Get("recordContent") // recordContent := params.Get("recordContent") // recordContent = strings.Replace(recordContent, "#{ip}", ipAddr, -1) // ipAddr = recordContent // log.Printf("recordType[%s]recordContent[%s]", recordType, recordContent) // } //********* d.createUpdateDomainFunc(recordType, ipAddr, domain) ddnscore.DDNSTaskInfoMapUpdateDomainInfo(d.task) } return ipAddr } func getDomainItem(fullDomain string, domains *[]ddnscore.Domain) *ddnscore.Domain { if domains == nil { return nil } for i, domain := range *domains { if domain.String() == fullDomain { return &(*domains)[i] } } return nil } //-------------------------------------------------------------------------------------------------- func (d *ProviderCommon) CreateHTTPClient() (*http.Client, error) { ddnsGlobalConf := ddnsgo.GetDDNSConfigure() return httputils.CreateHttpClient( d.task.DNS.GetCallAPINetwork(), "", !ddnsGlobalConf.HttpClientSecureVerify, d.task.DNS.HttpClientProxyType, d.task.DNS.HttpClientProxyAddr, d.task.DNS.HttpClientProxyUser, d.task.DNS.HttpClientProxyPassword, time.Duration(d.task.HttpClientTimeout)*time.Second) } ================================================ FILE: module/ddns/worker.go ================================================ package ddns import ( "log" "runtime/debug" "sync" "time" ddnsconf "github.com/gdy666/lucky/module/ddns/conf" "github.com/gdy666/lucky/module/ddns/ddnscore.go" "github.com/gdy666/lucky/module/ddns/ddnsgo" "github.com/gdy666/lucky/module/ddns/providers" "github.com/gdy666/lucky/thirdlib/gdylib/service" ) var DDNSService *service.Service func init() { DDNSService, _ = service.NewService("ddns") DDNSService.SetTimerFunc(syncAllDomainsOnce) DDNSService.SetEventFunc(syncTaskDomainsOnce) } // Run 定时运行 func Run(firstDelay time.Duration, delay time.Duration) { log.Printf("DDNS 第一次运行将等待 %d 秒后运行 (等待网络)", int(firstDelay.Seconds())) <-time.After(firstDelay) DDNSService.Start() } var wg sync.WaitGroup // RunOnce RunOnce func syncAllDomainsOnce(params ...any) { ddnsTaskList := ddnscore.GetDDNSTaskInfoList() ddnsconf.CleanIPUrlAddrMap() ddnsConf := ddnsgo.GetDDNSConfigure() //log.Printf("批量执行DDNS任务") taskBeginTime := time.Now() //fmt.Printf("ddnsTaskList:%v\n", ddnsTaskList) for index := range ddnsTaskList { task := ddnsTaskList[index] if !task.Enable { continue } if time.Since(task.TaskState.LastWorkTime) < time.Second*15 { //log.Printf("[%s]太接近,忽略", task.TaskName) continue } //log.Printf("task[%s] enable\n", task.TaskName) wg.Add(1) go func() { defer func() { wg.Done() recoverErr := recover() if recoverErr == nil { return } log.Printf("syncDDNSTask[%s]panic:\n%v", task.TaskName, recoverErr) log.Printf("%s", debug.Stack()) }() syncDDNSTask(task) }() <-time.After(time.Millisecond * 600) } wg.Wait() taskEndTime := time.Now() usedTime := taskEndTime.Sub(taskBeginTime) nextTaskTimer := time.Second*time.Duration(ddnsConf.Intervals) - usedTime //debug.FreeOSMemory() //log.Printf("syncAllDomainsOnce 任务完成") DDNSService.Timer = time.NewTimer(nextTaskTimer) } func syncTaskDomainsOnce(params ...any) { serverMsg := (params[1]).(service.ServiceMsg) taskKey := serverMsg.Params[0].(string) switch serverMsg.Type { case "syncDDNSTask": { //log.Printf("syncTaskDomainsOnce 单DDNS任务更新:%s", taskKey) ddnsconf.CleanIPUrlAddrMap() task := ddnscore.GetDDNSTaskInfoByKey(taskKey) syncDDNSTask(task) } default: return } } func syncDDNSTask(task *ddnscore.DDNSTaskInfo) { if task == nil { return } var dnsSelected providers.Provider switch task.DNS.Name { case "alidns": dnsSelected = &providers.Alidns{} case "dnspod": dnsSelected = &providers.Dnspod{} case "cloudflare": dnsSelected = &providers.Cloudflare{} case "huaweicloud": dnsSelected = &providers.Huaweicloud{} case "callback": dnsSelected = &providers.Callback{} case "baiducloud": dnsSelected = &providers.BaiduCloud{} case "porkbun": dnsSelected = &providers.Porkbun{} default: return } dnsSelected.Init(task) dnsSelected.AddUpdateDomainRecords() task.ExecWebhook(&task.TaskState) // log.Printf("假装耗时10秒\n") // <-time.After(time.Second * 10) // log.Printf("耗时完成\n") ddnscore.DDNSTaskInfoMapUpdate(task) //task.TaskState.LastWorkTime = time.Now() //记录最近一次检测时间,防止批量检测和单个检测时间间隔过于接近 // } ================================================ FILE: module/portforward/conf/portforward.go ================================================ package portforwardconf import ( "fmt" "log" "strconv" "strings" "github.com/gdy666/lucky/module/portforward/socketproxy" "github.com/gdy666/lucky/module/weblog" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" "github.com/sirupsen/logrus" ) type PortForwardsConfigure struct { PortForwardsLimit int64 `json:"PortForwardsLimit"` //全局端口转发数量限制 TCPPortforwardMaxConnections int64 `json:"TCPPortforwardMaxConnections"` //端口转发全局TCP并发链接数限制 UDPReadTargetDataMaxgoroutineCount int64 `json:"UDPReadTargetDataMaxgoroutineCount"` //端口转发全局UDP读取目标地址数据协程数限制 } type PortForwardsRule struct { Name string `json:"Name"` Key string `json:"Key"` Enable bool `json:"Enable"` ForwardTypes []string `json:"ForwardTypes"` ListenAddress string `json:"ListenAddress"` ListenPorts string `json:"ListenPorts"` TargetAddressList []string `json:"TargetAddressList"` TargetPorts string `json:"TargetPorts"` Options socketproxy.RelayRuleOptions `json:"Options"` ReverseProxyList *[]socketproxy.Proxy `json:"-"` logsBuffer *logsbuffer.LogsBuffer logrus *logrus.Logger LogLevel int `json:"LogLevel"` //日志输出级别 LogOutputToConsole bool `json:"LogOutputToConsole"` //日志输出到终端 AccessLogMaxNum int `json:"AccessLogMaxNum"` WebListShowLastLogMaxCount int `json:"WebListShowLastLogMaxCount"` //前端列表显示最新日志最大条数 } func (r *PortForwardsRule) ProxyCount() int { if r.ReverseProxyList == nil { return 0 } return len(*r.ReverseProxyList) } func (r *PortForwardsRule) StartAllProxys() { if r.ReverseProxyList == nil { return } for i := range *r.ReverseProxyList { (*r.ReverseProxyList)[i].StartProxy() } } func (r *PortForwardsRule) GetLastLogs(maxCount int) []any { return r.GetLogsBuffer().GetLastLogs(weblog.WebLogConvert, maxCount) } func (r *PortForwardsRule) Fire(entry *logrus.Entry) error { if !r.LogOutputToConsole { return nil } s, _ := entry.String() log.Print(s) return nil } func (r *PortForwardsRule) Levels() []logrus.Level { return logrus.AllLevels } func (r *PortForwardsRule) GetLogrus() *logrus.Logger { if r.logrus == nil { r.logrus = logrus.New() r.logrus.SetLevel(logrus.Level(r.LogLevel)) r.logrus.SetOutput(r.GetLogsBuffer()) r.logrus.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05", DisableTimestamp: true, DisableHTMLEscape: true, DataKey: "ExtInfo", }) r.logrus.AddHook(r) } return r.logrus } func (r *PortForwardsRule) GetLogsBuffer() *logsbuffer.LogsBuffer { if r.logsBuffer == nil { r.logsBuffer = logsbuffer.CreateLogbuffer("portforward:"+r.Key, r.AccessLogMaxNum) } return r.logsBuffer } func (r *PortForwardsRule) StopAllProxys() { if r.ReverseProxyList == nil { return } for i := range *r.ReverseProxyList { (*r.ReverseProxyList)[i].StopProxy() } } func (r *PortForwardsRule) InitProxyList() error { listenPorts, err := PortsStrToIList(r.ListenPorts) if err != nil { return err } targetPorts, err := PortsStrToIList(r.TargetPorts) if err != nil { return err } if len(listenPorts) != len(targetPorts) { return fmt.Errorf("端口个数不一致") } var proxyList []socketproxy.Proxy for i := range r.ForwardTypes { for j := range listenPorts { p, err := socketproxy.CreateProxy(r.GetLogrus(), r.ForwardTypes[i], r.ListenAddress, r.TargetAddressList, listenPorts[j], targetPorts[j], &r.Options) if err != nil { return err } proxyList = append(proxyList, p) } } r.ReverseProxyList = &proxyList return nil } // portsStrToIList func PortsStrToIList(portsStr string) (ports []int, err error) { if portsStr == "" { return } if strings.Contains(portsStr, ",") { tmpStrList := strings.Split(portsStr, ",") for i := range tmpStrList { tps, e := PortsStrToIList(tmpStrList[i]) if e != nil { err = fmt.Errorf("端口字符串处理出错:%s", e.Error()) return } ports = append(ports, tps...) } return } portsStrList := strings.Split(portsStr, "-") if len(portsStrList) > 2 { err = fmt.Errorf("端口%s格式有误", portsStr) return } if len(portsStrList) == 1 { //single listen port listenPort, e := portStrToi(portsStrList[0]) if e != nil { err = fmt.Errorf("端口格式有误!%s", e.Error()) return } ports = append(ports, listenPort) } if len(portsStrList) == 2 { minListenPort, e := portStrToi(portsStrList[0]) if e != nil { err = fmt.Errorf("端口格式有误!%s", portsStrList[0]) return } maxListenPort, e := portStrToi(portsStrList[1]) if e != nil { err = fmt.Errorf("端口格式有误!%s", portsStrList[1]) return } if maxListenPort <= minListenPort { err = fmt.Errorf("前一个端口[%d]要小于后一个端口[%d]", minListenPort, maxListenPort) return } i := minListenPort for { if i > maxListenPort { break } ports = append(ports, i) i++ } } return } func portStrToi(portStr string) (int, error) { port, err := strconv.Atoi(portStr) if err != nil { return 0, fmt.Errorf("端口格式有误:%s", err.Error()) } if port < 1 || port > 65535 { return 0, fmt.Errorf("端口[%d]超出范围", port) } return port, nil } func PortsCheck(ports1Str, ports2Str string) (bool, error) { ports1, err := PortsStrToIList(ports1Str) if err != nil { return false, err } ports2, err := PortsStrToIList(ports2Str) if err != nil { return false, err } if len(ports1) != len(ports2) { return false, fmt.Errorf("端口个数不一致") } return true, nil } ================================================ FILE: module/portforward/portforward.go ================================================ package portforward import ( "fmt" "log" "strings" "github.com/gdy666/lucky/config" portforwardconf "github.com/gdy666/lucky/module/portforward/conf" "github.com/gdy666/lucky/module/portforward/socketproxy" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" ) func Init() { PortForwardsRuleListInit() } // TidyReverseProxyCache 整理端口转发日志缓存 func TidyPortforwardLogsCache() { ruleList := GetPortForwardsRuleList() var keyListBuffer strings.Builder for _, rule := range ruleList { keyListBuffer.WriteString(rule.Key) keyListBuffer.WriteString(",") } keyListStr := keyListBuffer.String() logsbuffer.LogsBufferStoreMu.Lock() defer logsbuffer.LogsBufferStoreMu.Unlock() var needDeleteKeys []string for k := range logsbuffer.LogsBufferStore { if !strings.HasPrefix(k, "portforward:") { continue } if len(k) <= 13 { continue } if !strings.Contains(keyListStr, k[12:]) { needDeleteKeys = append(needDeleteKeys, k) } } for i := range needDeleteKeys { delete(logsbuffer.LogsBufferStore, needDeleteKeys[i]) } } func PortForwardsRuleListInit() { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var err error for i := range config.Configure.PortForwardsRuleList { err = config.Configure.PortForwardsRuleList[i].InitProxyList() if err != nil { log.Printf("InitProxyList error:%s\n", err.Error()) } if config.Configure.PortForwardsRuleList[i].Enable { config.Configure.PortForwardsRuleList[i].StartAllProxys() } } } func GetPortForwardsRuleList() []portforwardconf.PortForwardsRule { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var resList []portforwardconf.PortForwardsRule for i := range config.Configure.PortForwardsRuleList { r := config.Configure.PortForwardsRuleList[i] resList = append(resList, r) } return resList } func GetPortForwardsGlobalProxyCount() int { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() count := 0 for i := range config.Configure.PortForwardsRuleList { count += config.Configure.PortForwardsRuleList[i].ProxyCount() } return count } func GetPortForwardsGlobalProxyCountExcept(key string) int { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() count := 0 for i := range config.Configure.PortForwardsRuleList { if key == config.Configure.PortForwardsRuleList[i].Key { continue } count += config.Configure.PortForwardsRuleList[i].ProxyCount() } return count } func GetPortForwardsRuleByKey(key string) *portforwardconf.PortForwardsRule { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() index := -1 for i := range config.Configure.PortForwardsRuleList { if config.Configure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return nil } res := config.Configure.PortForwardsRuleList[index] return &res } func StopAllSocketProxysByRuleKey(key string) error { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() index := -1 for i := range config.Configure.PortForwardsRuleList { if config.Configure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到key:%s对应的规则", key) } config.Configure.PortForwardsRuleList[index].StopAllProxys() return nil } func StartAllSocketProxysByRuleKey(key string) error { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() index := -1 for i := range config.Configure.PortForwardsRuleList { if config.Configure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到key:%s对应的规则", key) } config.Configure.PortForwardsRuleList[index].StartAllProxys() return nil } func PortForwardsRuleListAdd(r *portforwardconf.PortForwardsRule) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() r.Enable = true config.Configure.PortForwardsRuleList = append(config.Configure.PortForwardsRuleList, *r) return config.Save() } func PortForwardsRuleListDelete(key string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.PortForwardsRuleList { if config.Configure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到需要删除的端口转发规则") } config.Configure.PortForwardsRuleList[index].StopAllProxys() config.Configure.PortForwardsRuleList = DeletePortForwardsRuleListSlice(config.Configure.PortForwardsRuleList, index) return config.Save() } func EnablePortForwardsRuleByKey(key string, enable bool) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.DDNSTaskList { if config.Configure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("开关端口转发规则失败,key查找失败") } if enable { config.Configure.PortForwardsRuleList[index].StartAllProxys() } else { config.Configure.PortForwardsRuleList[index].StopAllProxys() } config.Configure.PortForwardsRuleList[index].Enable = enable return config.Save() } func UpdatePortForwardsRuleToPortForwardsRuleList(key string, r *portforwardconf.PortForwardsRule) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.PortForwardsRuleList { if config.Configure.PortForwardsRuleList[i].Key == key { index = i break } } if index == -1 { return fmt.Errorf("找不到需要更新的端口转发规则") } config.Configure.PortForwardsRuleList[index] = *r return config.Save() } func DeletePortForwardsRuleListSlice(a []portforwardconf.PortForwardsRule, deleteIndex int) []portforwardconf.PortForwardsRule { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } func GetPortForwardsConfigure() portforwardconf.PortForwardsConfigure { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() conf := config.Configure.PortForwardsConfigure return conf } func SetPortForwardsConfigure(conf *portforwardconf.PortForwardsConfigure) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() if conf.PortForwardsLimit < 0 { conf.PortForwardsLimit = 0 } else if conf.PortForwardsLimit > 1024 { conf.PortForwardsLimit = 1024 } if conf.TCPPortforwardMaxConnections < 0 { conf.TCPPortforwardMaxConnections = 0 } else if conf.TCPPortforwardMaxConnections > 4096 { conf.TCPPortforwardMaxConnections = 4096 } if conf.UDPReadTargetDataMaxgoroutineCount < 0 { conf.UDPReadTargetDataMaxgoroutineCount = 0 } else if conf.UDPReadTargetDataMaxgoroutineCount > 4096 { conf.UDPReadTargetDataMaxgoroutineCount = 4096 } config.Configure.PortForwardsConfigure = *conf socketproxy.SetGlobalMaxPortForwardsCountLimit(conf.PortForwardsLimit) socketproxy.SetGlobalTCPPortforwardMaxConnections(conf.TCPPortforwardMaxConnections) socketproxy.SetGlobalUDPReadTargetDataMaxgoroutineCountLimit(conf.UDPReadTargetDataMaxgoroutineCount) return config.Save() } ================================================ FILE: module/portforward/socketproxy/baseproxyconf.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "sync/atomic" ) type BaseProxyConf struct { TrafficIn int64 TrafficOut int64 key string ProxyType string // tcp tcp4 tcp6 udp udp4 udp6 } func (p *BaseProxyConf) GetProxyType() string { return p.ProxyType } func (p *BaseProxyConf) GetStatus() string { return p.ProxyType } func (p *BaseProxyConf) ReceiveDataCallback(nw int64) { atomic.AddInt64(&p.TrafficIn, nw) } func (p *BaseProxyConf) SendDataCallback(nw int64) { atomic.AddInt64(&p.TrafficOut, nw) } func (p *BaseProxyConf) GetTrafficIn() int64 { return atomic.LoadInt64(&p.TrafficIn) } func (p *BaseProxyConf) GetTrafficOut() int64 { return atomic.LoadInt64(&p.TrafficOut) } ================================================ FILE: module/portforward/socketproxy/proxy.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "errors" "fmt" "io" "strings" "sync" "github.com/gdy666/lucky/thirdlib/gdylib/pool" "github.com/sirupsen/logrus" ) type Proxy interface { StartProxy() StopProxy() ReceiveDataCallback(int64) SendDataCallback(int64) GetProxyType() string GetStatus() string GetListenIP() string GetListenPort() int GetKey() string GetCurrentConnections() int64 String() string GetTrafficIn() int64 GetTrafficOut() int64 SafeCheck(ip string) bool } type RelayRuleOptions struct { UDPPackageSize int `json:"UDPPackageSize,omitempty"` SingleProxyMaxTCPConnections int64 `json:"SingleProxyMaxTCPConnections,omitempty"` SingleProxyMaxUDPReadTargetDatagoroutineCount int64 `json:"SingleProxyMaxUDPReadTargetDatagoroutineCount"` UDPProxyPerformanceMode bool `json:"UDPProxyPerformanceMode,omitempty"` UDPShortMode bool `json:"UDPShortMode,omitempty"` SafeMode string `json:"SafeMode,omitempty"` } // Join two io.ReadWriteCloser and do some operations. func (p *BaseProxyConf) relayData(targetServer io.ReadWriteCloser, client io.ReadWriteCloser) { var wait sync.WaitGroup pipe := func(to io.ReadWriteCloser, from io.ReadWriteCloser, writedataCallback func(int64)) { defer to.Close() defer from.Close() defer wait.Done() nw, _ := p.copyBuffer(to, from, nil, nil) if writedataCallback != nil { writedataCallback(nw) } // if p.TrafficMonitor { // buf := pool.GetBuf(8 * 1024 * 1024) // p.CopyBuffer(to, from, buf, writedataCallback) // pool.PutBuf(buf) // } else { // nw, _ := p.copyBuffer(to, from, nil, nil) // if writedataCallback != nil { // writedataCallback(nw) // } // } } wait.Add(2) go pipe(targetServer, client, p.ReceiveDataCallback) go pipe(client, targetServer, p.SendDataCallback) wait.Wait() } func (p *BaseProxyConf) CopyBuffer(dst io.Writer, src io.Reader, buf []byte, writedataCallback func(int64)) (written int64, err error) { if buf != nil && len(buf) == 0 { panic("empty buffer in CopyBuffer") } return p.copyBuffer(dst, src, buf, writedataCallback) } // copyBuffer is the actual implementation of Copy and CopyBuffer. // if buf is nil, one is allocated. func (p *BaseProxyConf) copyBuffer(dst io.Writer, src io.Reader, buf []byte, writedataCallback func(int64)) (written int64, err error) { if buf == nil { if wt, ok := src.(io.WriterTo); ok { return wt.WriteTo(dst) } if rt, ok := dst.(io.ReaderFrom); ok { return rt.ReadFrom(src) } size := 32 * 1024 if l, ok := src.(*io.LimitedReader); ok && int64(size) > l.N { if l.N < 1 { size = 1 } else { size = int(l.N) } } buf = pool.GetBuf(8 * size) defer pool.PutBuf(buf) } for { nr, er := src.Read(buf) if nr > 0 { nw, ew := dst.Write(buf[0:nr]) if nw < 0 || nr < nw { nw = 0 if ew == nil { ew = errors.New("invalid write result") } } written += int64(nw) if writedataCallback != nil { writedataCallback(int64(nw)) } if ew != nil { err = ew break } if nr != nw { err = io.ErrShortWrite break } } if er != nil { if er != io.EOF { err = er } break } } return written, err } func formatFileSize(fileSize int64) (size string) { switch { case fileSize < 1024: return fmt.Sprintf("%.2fB", float64(fileSize)/float64(1)) case fileSize < (1024 * 1024): return fmt.Sprintf("%.2fKB", float64(fileSize)/float64(1024)) case fileSize < (1024 * 1024 * 1024): return fmt.Sprintf("%.2fMB", float64(fileSize)/float64(1024*1024)) case fileSize < (1024 * 1024 * 1024 * 1024): return fmt.Sprintf("%.2fGB", float64(fileSize)/float64(1024*1024*1024)) case fileSize < (1024 * 1024 * 1024 * 1024 * 1024): return fmt.Sprintf("%.2fTB", float64(fileSize)/float64(1024*1024*1024*1024)) default: return fmt.Sprintf("%.2fEB", float64(fileSize)/float64(1024*1024*1024*1024*1024)) } } func CreateProxy(log *logrus.Logger, proxyType, listenIP string, targetAddressList []string, listenPort, targetPort int, options *RelayRuleOptions) (p Proxy, err error) { //key := GetProxyKey(proxyType, listenIP, listenPort) switch { case strings.HasPrefix(proxyType, "tcp"): { return CreateTCPProxy(log, proxyType, listenIP, targetAddressList, listenPort, targetPort, options), nil } case strings.HasPrefix(proxyType, "udp"): { return CreateUDPProxy(log, proxyType, listenIP, targetAddressList, listenPort, targetPort, options), nil } default: return nil, fmt.Errorf("未支持的类型:%s", proxyType) } } func GetProxyKey(proxyType, listenIP string, listenPort int) string { return fmt.Sprintf("%s@%s:%d", proxyType, listenIP, listenPort) } ================================================ FILE: module/portforward/socketproxy/socketproxy.go ================================================ package socketproxy ================================================ FILE: module/portforward/socketproxy/tcpproxy.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "fmt" "log" "net" "strings" "sync" "github.com/sirupsen/logrus" ) type TCPProxy struct { TCPUDPProxyCommonConf //TcpSingleProxyMaxConns int64 // tcpCurrentConns int64 listenConn net.Listener listenConnMutex sync.Mutex connMap map[string]net.Conn connMapMutex sync.Mutex } func CreateTCPProxy(log *logrus.Logger, proxyType, listenIP string, targetAddressList []string, listenPort, targetPort int, options *RelayRuleOptions) *TCPProxy { p := &TCPProxy{} p.ProxyType = proxyType p.listenIP = listenIP p.listenPort = listenPort p.targetAddressList = targetAddressList p.targetPort = targetPort p.log = log p.safeMode = options.SafeMode p.SetMaxConnections(options.SingleProxyMaxTCPConnections) return p } func (p *TCPProxy) GetStatus() string { return fmt.Sprintf("%s\nactivity connections:[%d]", p.String(), p.GetCurrentConnections()) } func (p *TCPProxy) CheckConnectionsLimit() error { if GetGlobalTCPPortForwardConnections() >= GetGlobalTCPPortforwardMaxConnections() { return fmt.Errorf("超出TCP最大总连接数[%d]限制", GetGlobalTCPPortforwardMaxConnections()) } if p.GetCurrentConnections() >= p.SingleProxyMaxConnections { return fmt.Errorf("超出单端口TCP最大连接数[%d]限制", p.SingleProxyMaxConnections) } //全局,单端口限制 return nil } func (p *TCPProxy) StartProxy() { p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() if p.listenConn != nil { //log.Printf("proxy %s is started", p.String()) p.log.Warnf("proxy %s is started", p.String()) return } if p.connMap == nil { p.connMap = make(map[string]net.Conn) } ln, err := net.Listen(p.ProxyType, p.GetListentAddress()) if err != nil { if strings.Contains(err.Error(), "Only one usage of each socket address") { p.log.Errorf("监听IP端口[%s]已被占用,proxy[%s]启动失败", p.GetListentAddress(), p.String()) } else { p.log.Errorf("Cannot start proxy[%s]:%s", p.String(), err) } return } p.listenConn = ln p.log.Infof("[端口转发][开启][%s]", p.String()) go func() { for { newConn, err := ln.Accept() if err != nil { if strings.Contains(err.Error(), "use of closed network connection") { break } p.log.Errorf(" Cannot accept connection due to error %s", err.Error()) continue } err = p.CheckConnectionsLimit() if err != nil { //p.PrintConnectionsInfo() p.log.Warnf("[%s]超出最大连接数限制,不再接受新连接:%s", p.GetKey(), err.Error()) newConn.Close() continue } newConnAddr := newConn.RemoteAddr().String() if !p.SafeCheck(newConnAddr) { p.log.Warnf("[%s]新连接 [%s]安全检查未通过", p.GetKey(), newConnAddr) newConn.Close() continue } p.log.Infof("[%s]新连接[%s]安全检查通过", p.GetKey(), newConnAddr) p.connMapMutex.Lock() p.connMap[newConn.RemoteAddr().String()] = newConn p.connMapMutex.Unlock() p.AddCurrentConnections(1) go p.handle(newConn) } }() // //p.test() //go p.test() //go p.tcptest() } func (p *TCPProxy) StopProxy() { p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() defer func() { p.log.Infof("[端口转发][关闭][%s]", p.String()) }() if p.listenConn == nil { return } p.listenConn.Close() p.listenConn = nil p.connMapMutex.Lock() for _, conn := range p.connMap { conn.Close() } p.connMap = make(map[string]net.Conn) p.connMapMutex.Unlock() } func (p *TCPProxy) handle(conn net.Conn) { //dialer := net.Dialer{Timeout: 10 * time.Second} //targetConn, err := dialer.Dial("tcp", p.TargetAddress) targetConn, err := net.Dial("tcp", p.GetTargetAddress()) defer func() { if targetConn != nil { targetConn.Close() } defer conn.Close() p.AddCurrentConnections(-1) p.connMapMutex.Lock() delete(p.connMap, conn.RemoteAddr().String()) p.log.Infof("[%s]%s 断开连接", p.GetKey(), conn.RemoteAddr().String()) p.connMapMutex.Unlock() }() if err != nil { log.Printf("%s error:%s", p.String(), err.Error()) return } //targetConn.SetDeadline(time.Now().Add(time.Second * 3)) // targetTcpConn, ok := targetConn.(*net.TCPConn) // if ok { // targetTcpConn.SetReadBuffer(p.BufferSize * 1024 * 256 * 1024) // targetTcpConn.SetWriteBuffer(p.BufferSize * 1024 * 256 * 1024) // } p.relayData(targetConn, conn) } ================================================ FILE: module/portforward/socketproxy/tcpudpcommon.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "fmt" "net" "strings" "sync" "sync/atomic" "github.com/sirupsen/logrus" ) const TCP_DEFAULT_STREAM_BUFFERSIZE = 128 const DEFAULT_GLOBAL_MAX_CONNECTIONS = int64(1024) const DEFAULT_GLOBAL_UDPReadTargetDataMaxgoroutineCount = int64(1024) const TCPUDP_DEFAULT_SINGLE_PROXY_MAX_CONNECTIONS = int64(256) const DEFAULT_MAX_PORTFORWARDS_LIMIT = int64(128) var globalTCPPortforwardMaxConnectionsLimit = DEFAULT_GLOBAL_MAX_CONNECTIONS var globalUDPReadTargetDataMaxgoroutineCountLimit = DEFAULT_GLOBAL_UDPReadTargetDataMaxgoroutineCount var globalTCPPortForwardCurrentConnections int64 = 0 var globalUDPPortForwardCurrentGroutineCount int64 = 0 var gloMaxPortForwardsCountLimit int64 = DEFAULT_MAX_PORTFORWARDS_LIMIT var safeCheckFunc func(mode, ip string) bool func SetSafeCheck(f func(mode, ip string) bool) { safeCheckFunc = f } func SetGlobalUDPReadTargetDataMaxgoroutineCountLimit(max int64) { atomic.StoreInt64(&globalUDPReadTargetDataMaxgoroutineCountLimit, max) } func GetGlobalUDPReadTargetDataMaxgoroutineCountLimit() int64 { return atomic.LoadInt64(&globalUDPReadTargetDataMaxgoroutineCountLimit) } func SetGlobalMaxPortForwardsCountLimit(max int64) { atomic.StoreInt64(&gloMaxPortForwardsCountLimit, max) } func GetGlobalMaxPortForwardsCountLimit() int64 { return atomic.LoadInt64(&gloMaxPortForwardsCountLimit) } func SetGlobalTCPPortforwardMaxConnections(max int64) { atomic.StoreInt64(&globalTCPPortforwardMaxConnectionsLimit, max) } func GetGlobalTCPPortforwardMaxConnections() int64 { return atomic.LoadInt64(&globalTCPPortforwardMaxConnectionsLimit) } func GetGlobalTCPPortForwardConnections() int64 { return atomic.LoadInt64(&globalTCPPortForwardCurrentConnections) } func GloBalTCPPortForwardConnectionsAdd(add int64) int64 { return atomic.AddInt64(&globalTCPPortForwardCurrentConnections, add) } func GetGlobalUDPPortForwardGroutineCount() int64 { return atomic.LoadInt64(&globalUDPPortForwardCurrentGroutineCount) } func GloBalUDPPortForwardGroutineCountAdd(add int64) int64 { return atomic.AddInt64(&globalUDPPortForwardCurrentGroutineCount, add) } type TCPUDPProxyCommonConf struct { CurrentConnectionsCount int64 SingleProxyMaxConnections int64 BaseProxyConf listentAddress string listenIP string listenPort int //targetIP string targetAddressList []string targetAddressCount int targetAddressIndex uint64 targetAddressLock sync.Mutex targetPort int safeMode string log *logrus.Logger } // func (p *TCPUDPProxyCommonConf) PrintConnectionsInfo() { // p.log.Infof("[%s]当前连接数:[%d],当前端口最大TCP连接数限制[%d],全局最大TCP连接数限制[%d]", p.GetKey(), p.GetCurrentConnections(), p.SingleProxyMaxConnections, GetGlobalTCPPortforwardMaxConnections()) // } func (p *TCPUDPProxyCommonConf) SetMaxConnections(max int64) { if max <= 0 { p.SingleProxyMaxConnections = TCPUDP_DEFAULT_SINGLE_PROXY_MAX_CONNECTIONS } else { p.SingleProxyMaxConnections = max } } func (p *TCPUDPProxyCommonConf) AddCurrentConnections(a int64) { atomic.AddInt64(&p.CurrentConnectionsCount, a) if strings.HasPrefix(p.ProxyType, "tcp") { GloBalTCPPortForwardConnectionsAdd(a) return } if strings.HasPrefix(p.ProxyType, "udp") { GloBalUDPPortForwardGroutineCountAdd(a) return } } func (p *TCPUDPProxyCommonConf) GetCurrentConnections() int64 { return atomic.LoadInt64(&p.CurrentConnectionsCount) } func (p *TCPUDPProxyCommonConf) GetListentAddress() string { if p.listentAddress == "" { if strings.Contains(p.listenIP, ":") { p.listentAddress = fmt.Sprintf("[%s]:%d", p.listenIP, p.listenPort) } else { p.listentAddress = fmt.Sprintf("%s:%d", p.listenIP, p.listenPort) } } return p.listentAddress } func (p *TCPUDPProxyCommonConf) GetKey() string { if p.key == "" { p.key = GetProxyKey(p.ProxyType, p.listenIP, p.listenPort) } return p.key } func (p *TCPUDPProxyCommonConf) GetListenIP() string { return p.listenIP } func (p *TCPUDPProxyCommonConf) GetListenPort() int { return p.listenPort } func (p *TCPUDPProxyCommonConf) GetTargetAddress() string { p.targetAddressLock.Lock() defer p.targetAddressLock.Unlock() if p.targetAddressCount <= 0 { p.targetAddressCount = len(p.targetAddressList) p.targetAddressIndex = 0 } address := fmt.Sprintf("%s:%d", p.targetAddressList[p.targetAddressIndex%uint64(p.targetAddressCount)], p.targetPort) p.targetAddressIndex++ return address } func (p *TCPUDPProxyCommonConf) String() string { return fmt.Sprintf("%s@%v ===> %v:%d", p.ProxyType, p.GetListentAddress(), p.targetAddressList, p.targetPort) } func (p *TCPUDPProxyCommonConf) SafeCheck(remodeAddr string) bool { host, _, _ := net.SplitHostPort(remodeAddr) return safeCheckFunc(p.safeMode, host) } ================================================ FILE: module/portforward/socketproxy/udpproxy.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "fmt" "net" "runtime" "strings" "sync" "time" "github.com/fatedier/golib/errors" "github.com/gdy666/lucky/thirdlib/gdylib/pool" "github.com/sirupsen/logrus" ) const UDP_DEFAULT_PACKAGE_SIZE = 1500 //测试 type UDPProxy struct { //BaseProxyConf TCPUDPProxyCommonConf // targetAddr *net.UDPAddr listenConn *net.UDPConn listenConnMutex sync.Mutex relayChs []chan *udpPackge replyCh chan *udpPackge udpPackageSize int //targetudpConnItemMap map[string]*udpMapItem //targetudpConnItemMapMutex sync.RWMutex targetConnectSessions sync.Map Upm bool //性能模式 ShortMode bool isStop bool SingleProxyMaxUDPReadTargetDatagoroutineCount int64 } type udpPackge struct { dataSize int data *[]byte remoteAddr *net.UDPAddr } type udpTagetConSession struct { targetConn *net.UDPConn lastTime time.Time } func CreateUDPProxy(log *logrus.Logger, proxyType, listenIP string, targetAddressList []string, listenPort, targetPort int, options *RelayRuleOptions) *UDPProxy { p := &UDPProxy{} //p.Key = key p.ProxyType = proxyType p.listenIP = listenIP p.listenPort = listenPort p.targetAddressList = targetAddressList p.targetPort = targetPort p.Upm = options.UDPProxyPerformanceMode p.ShortMode = options.UDPShortMode p.safeMode = options.SafeMode p.log = log p.SingleProxyMaxUDPReadTargetDatagoroutineCount = options.SingleProxyMaxUDPReadTargetDatagoroutineCount p.SetUDPPacketSize(options.UDPPackageSize) return p } func (p *UDPProxy) getHandlegoroutineNum() int { if p.Upm { return runtime.NumCPU() } return 1 } func (p *UDPProxy) SetUDPPacketSize(size int) { if size <= 0 { p.udpPackageSize = UDP_DEFAULT_PACKAGE_SIZE return } if size > 65507 { p.udpPackageSize = 65507 return } p.udpPackageSize = size } func (p *UDPProxy) GetUDPPacketSize() int { return p.udpPackageSize } func (p *UDPProxy) StartProxy() { //p.init() p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() if p.listenConn != nil { return } bindAddr, err := net.ResolveUDPAddr(p.ProxyType, p.GetListentAddress()) if err != nil { p.log.Errorf("Cannot start proxy[%s]:%s", p.GetKey(), err) return } ln, err := net.ListenUDP(p.ProxyType, bindAddr) if err != nil { if strings.Contains(err.Error(), " bind: Only one usage of each socket address") { p.log.Errorf("监听IP端口[%s]已被占用,proxy[%s]启动失败", p.GetListentAddress(), p.String()) } else { p.log.Errorf("Cannot start proxy[%s]:%s", p.String(), err) } return } ln.SetReadBuffer(p.getHandlegoroutineNum() * 4 * 1024 * 1024) ln.SetWriteBuffer(p.getHandlegoroutineNum() * 4 * 1024 * 1024) p.listenConn = ln p.log.Infof("[端口转发][开启][%s]", p.String()) p.relayChs = make([]chan *udpPackge, p.getHandlegoroutineNum()) for i := range p.relayChs { p.relayChs[i] = make(chan *udpPackge, 1024) } p.replyCh = make(chan *udpPackge, 1024) // if p.targetudpConnItemMap == nil { // p.targetudpConnItemMap = make(map[string]*udpMapItem) // } for i := range p.relayChs { go p.Forwarder(i, p.relayChs[i]) } go p.replyDataToRemotAddress() go p.CheckTargetUDPConnectSessions() for i := 0; i < p.getHandlegoroutineNum(); i++ { go p.ListenHandler(ln) } } func (p *UDPProxy) StopProxy() { p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() defer func() { p.targetConnectSessions.Range(func(key any, value any) bool { session := value.(*udpTagetConSession) session.targetConn.Close() p.targetConnectSessions.Delete(key) return true }) p.log.Infof("[端口转发][关闭][%s]", p.String()) }() if p.listenConn == nil { return } p.listenConn.Close() p.listenConn = nil p.isStop = true close(p.replyCh) for i := range p.relayChs { close(p.relayChs[i]) } } // ReadFromTargetOnce one clientAddr only read once,short mode eg: udp dns func (p *UDPProxy) ReadFromTargetOnce() bool { if p.targetPort == 53 || p.ShortMode { return true } return false } // func (p *UDPProxy) GetStatus() string { // return fmt.Sprintf("%s max packet size[%d]", p.String(), p.GetUDPPacketSize()) // } func (p *UDPProxy) ListenHandler(ln *net.UDPConn) { inDatabuf := pool.GetBuf(p.GetUDPPacketSize()) defer pool.PutBuf(inDatabuf) i := uint64(0) for { if p.listenConn == nil { break } inDatabufSize, remoteAddr, err := ln.ReadFromUDP(inDatabuf) if err != nil { if strings.Contains(err.Error(), `smaller than the datagram`) { p.log.Errorf("[%s] UDP包最大长度设置过小,请重新设置", p.GetKey()) } else { if !strings.Contains(err.Error(), "use of closed network connection") { p.log.Errorf(" %s ReadFromUDP error:\n%s \n", p.String(), err.Error()) } } continue } remoteAddrStr := remoteAddr.String() if !p.SafeCheck(remoteAddrStr) { p.log.Warnf("[%s]新连接 [%s]安全检查未通过", p.GetKey(), remoteAddrStr) continue } _, ok := p.targetConnectSessions.Load(remoteAddrStr) if !ok { p.log.Infof("[%s]新连接 [%s]安全检查通过", p.GetKey(), remoteAddrStr) } data := pool.GetBuf(inDatabufSize) copy(data, inDatabuf[:inDatabufSize]) inUdpPack := udpPackge{dataSize: inDatabufSize, data: &data, remoteAddr: remoteAddr} p.relayChs[i%uint64(p.getHandlegoroutineNum())] <- &inUdpPack i++ } } func (p *UDPProxy) handlerDataFromTargetAddress(raddr *net.UDPAddr, tgConn *net.UDPConn) { readBuffer := pool.GetBuf(p.GetUDPPacketSize()) var session *udpTagetConSession sessionKey := raddr.String() defer func() { pool.PutBuf(readBuffer) if p.ReadFromTargetOnce() { tgConn.Close() } else { p.targetConnectSessions.Delete(sessionKey) } p.AddCurrentConnections(-1) p.log.Infof("[%s]目标地址[%s]关闭连接[%s]", p.GetKey(), tgConn.RemoteAddr().String(), tgConn.LocalAddr().String()) }() var targetConn *net.UDPConn p.AddCurrentConnections(1) for { targetConn = nil session = nil timeout := 1200 * time.Millisecond if p.ReadFromTargetOnce() { timeout = 300 * time.Millisecond } if p.ReadFromTargetOnce() { targetConn = tgConn } else { se, ok := p.targetConnectSessions.Load(sessionKey) if !ok { return } session = se.(*udpTagetConSession) targetConn = session.targetConn } targetConn.SetReadDeadline(time.Now().Add(timeout)) n, _, err := targetConn.ReadFromUDP(readBuffer) if err != nil { errStr := err.Error() if strings.Contains(errStr, `i/o timeout`) && !p.ReadFromTargetOnce() { continue } if !strings.Contains(errStr, `use of closed network connection`) { p.log.Errorf("[%s]targetConn ReadFromUDP error:%s", p.GetKey(), err.Error()) } return } data := pool.GetBuf(n) copy(data, readBuffer[:n]) udpMsg := udpPackge{dataSize: n, data: &data, remoteAddr: raddr} if err = errors.PanicToError(func() { select { case p.replyCh <- &udpMsg: //转发数据到远程地址 default: } }); err != nil { return } if p.ReadFromTargetOnce() { //一次性 return } //非一次性,刷新时间或者退出 _, ok := p.targetConnectSessions.Load(sessionKey) if !ok { return } } } func (p *UDPProxy) Forwarder(kk int, replych chan *udpPackge) { // read from targetAddr and write clientAddr var err error // read from readCh for udpMsg := range replych { err = nil se, ok := p.targetConnectSessions.Load(udpMsg.remoteAddr.String()) if !ok { err := p.CheckReadTargetDataGoroutineLimit() if err != nil { p.log.Warnf("[%s]转发中止:%s", p.GetKey(), err.Error()) continue } } var session *udpTagetConSession if ok { session = se.(*udpTagetConSession) } else { session = &udpTagetConSession{} } if !ok { addr := p.GetTargetAddress() tgAddr, err := net.ResolveUDPAddr("udp", addr) if err != nil { p.log.Errorf("[%s]UDP端口转发目标地址[%s]解析出错:%s", p.GetKey(), addr, err.Error()) pool.PutBuf(*udpMsg.data) continue } targetConn, err := net.DialUDP("udp", nil, tgAddr) if err != nil { p.log.Errorf("[%s]UDP端口转发目标地址[%s]连接出错:%s", p.GetKey(), addr, err.Error()) pool.PutBuf(*udpMsg.data) continue } targetConn.SetWriteBuffer(4 * 1024 * 1024) targetConn.SetReadBuffer(4 * 1024 * 1024) session.targetConn = targetConn } session.lastTime = time.Now() if !p.ReadFromTargetOnce() { //只存储非一次性 p.targetConnectSessions.Store(udpMsg.remoteAddr.String(), session) } p.ReceiveDataCallback(int64(udpMsg.dataSize)) //接收流量记录 _, err = session.targetConn.Write(*udpMsg.data) if err != nil { p.log.Errorf("[%s]转发数据到目标端口出错:%s", p.GetKey(), err.Error()) session.targetConn.Close() continue } pool.PutBuf(*udpMsg.data) if !ok { go p.handlerDataFromTargetAddress(udpMsg.remoteAddr, session.targetConn) } } } func (p *UDPProxy) replyDataToRemotAddress() { for msg := range p.replyCh { _, err := p.listenConn.WriteToUDP(*(msg.data), msg.remoteAddr) pool.PutBuf(*msg.data) if err != nil { p.log.Errorf("[%s]转发目标端口数据到远程端口出错:%s", p.GetKey(), err.Error()) continue } p.SendDataCallback(int64(msg.dataSize)) //发送流量记录 } } func (p *UDPProxy) CheckReadTargetDataGoroutineLimit() error { if GetGlobalUDPPortForwardGroutineCount() >= GetGlobalUDPReadTargetDataMaxgoroutineCountLimit() { return fmt.Errorf("超出端口转发全局UDP读取目标地址数据协程数限制[%d]", GetGlobalUDPReadTargetDataMaxgoroutineCountLimit()) } if p.GetCurrentConnections() >= p.SingleProxyMaxUDPReadTargetDatagoroutineCount { return fmt.Errorf("超出单端口UDP读取目标地址数据协程数限制[%d]", p.SingleProxyMaxUDPReadTargetDatagoroutineCount) } return nil } func (p *UDPProxy) CheckTargetUDPConnectSessions() { for { <-time.After(time.Second * 1) if p.isStop { return } if p.GetCurrentConnections() <= 0 { continue } p.targetConnectSessions.Range(func(key any, value any) bool { session := value.(*udpTagetConSession) if time.Since(session.lastTime) >= 30*time.Second { session.targetConn.Close() p.targetConnectSessions.Delete(key) } return true }) } } ================================================ FILE: module/reverseproxy/conf/reverseproxy.go ================================================ package reverseproxyconf import ( "crypto/tls" "fmt" "log" "net" "net/http" "net/http/httputil" "net/url" "strconv" "strings" "sync" "time" //"github.com/gdy666/lucky/module/safe" //ssl "github.com/gdy666/lucky/module/sslcertficate" "github.com/gdy666/lucky/module/weblog" "github.com/gdy666/lucky/thirdlib/gdylib/ginutils" "github.com/gdy666/lucky/thirdlib/gdylib/httputils" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" "github.com/gin-gonic/gin" "github.com/sirupsen/logrus" ) var ReverseProxyServerStore sync.Map var ReverseProxyServerStoreMu sync.Mutex var GetValidSSLCertficateList func() []tls.Certificate var SafeCheck func(string, string) bool type SubReverProxyRule struct { Key string `json:"Key"` initOnce sync.Once Locations []string `json:"Locations"` //长度大于1时均衡负载 locationMutex *sync.Mutex `json:"-"` locationsCount int `json:"-"` locationIndex uint64 `json:"-"` EnableAccessLog bool `json:"EnableAccessLog"` //开启日志 LogLevel int `json:"LogLevel"` //日志输出级别 LogOutputToConsole bool `json:"LogOutputToConsole"` //日志输出到终端 AccessLogMaxNum int `json:"AccessLogMaxNum"` //最大条数 WebListShowLastLogMaxCount int `json:"WebListShowLastLogMaxCount"` //前端列表显示最新日志最大条数 ForwardedByClientIP bool `json:"ForwardedByClientIP"` TrustedCIDRsStrList []string `json:"TrustedCIDRsStrList"` RemoteIPHeaders []string `json:"RemoteIPHeaders"` //识别客户端原始IP的Http请求头 TrustedProxyCIDRs []*net.IPNet `json:"-"` AddRemoteIPToHeader bool `json:"AddRemoteIPToHeader"` //追加客户端连接IP到指定Header AddRemoteIPHeaderKey string `json:"AddRemoteIPHeaderKey"` EnableBasicAuth bool `json:"EnableBasicAuth"` //启用BasicAuth认证 BasicAuthUser string `json:"BasicAuthUser"` //如果配置此参数,暴露出去的 HTTP 服务需要采用 Basic Auth 的鉴权才能访问 BasicAuthPasswd string `json:"BasicAuthPasswd"` //结合 BasicAuthUser 使用 SafeIPMode string `json:"SafeIPMode"` //IP过滤模式 黑白名单 SafeUserAgentMode string `json:"SafeUserAgentMode"` //UserAgent 过滤模式 黑白名单 UserAgentfilter []string `json:"UserAgentfilter"` //UserAgent 过滤内容 CustomRobotTxt bool `json:"CustomRobotTxt"` RobotTxt string `json:"RobotTxt"` //------------------ logsBuffer *logsbuffer.LogsBuffer logrus *logrus.Logger logger *log.Logger } type ReverseProxyRule struct { RuleName string `json:"RuleName"` RuleKey string `json:"RuleKey"` Enable bool `json:"Enable"` ListenIP string `json:"ListenIP"` ListenPort int `json:"ListenPort"` EnableTLS bool `json:"EnableTLS"` Network string `json:"Network"` DefaultProxy struct { SubReverProxyRule } `json:"DefaultProxy"` ProxyList []ReverseProxy `json:"ProxyList"` domainsMap *sync.Map initOnec sync.Once } func (r *ReverseProxyRule) Init() { r.initOnec.Do(func() { r.initDomainsMap() }) } func (r *SubReverProxyRule) Logf(level logrus.Level, c *gin.Context, format string, v ...any) { clientIP := r.ClientIP(c) remoteIP := c.RemoteIP() method := c.Request.Method host := c.Request.Host //hostname, hostport := httputils.SplitHostPort(c.Request.Host) url := c.Request.URL.String() //path := c.Request.URL.Path r.GetLogrus().WithFields(logrus.Fields{ "ClientIP": clientIP, "RemoteIP": remoteIP, "Method": method, "Host": host, // "Hostname": hostname, // "Hostport": hostport, "URL": url, //"path": path, "UserAgent": c.Request.UserAgent(), }).Logf(level, format, v...) } func (r *SubReverProxyRule) HandlerReverseProxy(remote *url.URL, host, path string, c *gin.Context) { proxy := httputil.NewSingleHostReverseProxy(remote) proxy.Director = func(req *http.Request) { req.Header = c.Request.Header req.Host = host //remote.Host //req.Host = remote.Host req.URL.Scheme = remote.Scheme req.URL.Host = remote.Host req.URL.Path = path if r.AddRemoteIPToHeader && r.AddRemoteIPHeaderKey != "" { cip := r.ClientIP(c) req.Header.Add(r.AddRemoteIPHeaderKey, cip) } } proxy.ErrorLog = r.GetLogger() proxy.ServeHTTP(c.Writer, c.Request) } func (r *SubReverProxyRule) Fire(entry *logrus.Entry) error { if !r.LogOutputToConsole { return nil } s, _ := entry.String() log.Print(s) return nil } func (r *SubReverProxyRule) Levels() []logrus.Level { return logrus.AllLevels } func (r *SubReverProxyRule) GetLogrus() *logrus.Logger { if r.logrus == nil { r.logrus = logrus.New() r.logrus.SetLevel(logrus.Level(r.LogLevel)) r.logrus.SetOutput(r.GetLogsBuffer()) r.logrus.SetFormatter(&logrus.JSONFormatter{ TimestampFormat: "2006-01-02 15:04:05", DisableTimestamp: true, DisableHTMLEscape: true, DataKey: "ExtInfo", }) r.logrus.AddHook(r) } return r.logrus } func (r *SubReverProxyRule) GetLogger() *log.Logger { if r.logger == nil { r.logger = log.New(r.GetLogsBuffer(), "", log.LstdFlags) } return r.logger } func (r *SubReverProxyRule) GetLogsBuffer() *logsbuffer.LogsBuffer { if r.logsBuffer == nil { r.logsBuffer = logsbuffer.CreateLogbuffer("reverseproxy:"+r.Key, r.AccessLogMaxNum) } return r.logsBuffer } func (r *SubReverProxyRule) checkupClientIP(ip string) bool { return SafeCheck(r.SafeIPMode, ip) } func (r *SubReverProxyRule) checkupUserAgent(ua string) bool { isContains := false for _, c := range r.UserAgentfilter { if strings.Contains(ua, c) { isContains = true break } } switch r.SafeUserAgentMode { case "whitelist": return isContains case "blacklist": return !isContains default: return false } } func (r *ReverseProxyRule) ReverseProxyHandler(c *gin.Context) { path := c.Param("proxyPath") hostName, _ := httputils.SplitHostPort(c.Request.Host) rule, ok := r.GetSubRuleByDomain(hostName) var subRule *SubReverProxyRule = nil if ok && rule.Enable { subRule = &rule.SubReverProxyRule } else { subRule = &r.DefaultProxy.SubReverProxyRule } if !subRule.checkupClientIP(subRule.ClientIP(c)) { //IP检查 subRule.Logf(logrus.WarnLevel, c, "IP[%s]禁止访问,当前Ip检查模式[%s]", subRule.ClientIP(c), subRule.SafeIPMode) c.Abort() return } if !subRule.checkupUserAgent(c.Request.UserAgent()) { subRule.Logf(logrus.WarnLevel, c, "IP[%s]UA[%s]禁止访问,当前UA检查模式[%s]", subRule.ClientIP(c), c.Request.UserAgent(), subRule.SafeUserAgentMode) c.Abort() return } if !subRule.BasicAuthHandler(c) { subRule.Logf(logrus.WarnLevel, c, "BasicAuth认证不通过") c.Abort() return } if subRule.CustomRobotTxt && c.Request.RequestURI == "/robots.txt" { if c.Request.Method != "GET" && c.Request.Method != "HEAD" { status := http.StatusOK if c.Request.Method != "OPTIONS" { status = http.StatusMethodNotAllowed } c.Header("Allow", "GET,HEAD,OPTIONS") c.AbortWithStatus(status) return } c.Data(http.StatusOK, "text/plain", []byte(subRule.RobotTxt)) subRule.Logf(logrus.InfoLevel, c, "触发自定义robots.txt") return } location := subRule.GetLocation() if location == "" && subRule.Key == r.RuleKey { subRule.Logf(logrus.InfoLevel, c, "域名[%s]没有对应后端地址,默认后端地址没有设置", hostName) c.Abort() return } if subRule.Key == r.RuleKey { subRule.Logf(logrus.InfoLevel, c, "[%s] 指向默认后端地址[%s%s]", hostName, location, c.Request.URL.String()) } else { subRule.Logf(logrus.InfoLevel, c, "[%s] 指向后端地址[%s%s]", hostName, location, c.Request.URL.String()) } remote, err := url.Parse(location) if err != nil { subRule.Logf(logrus.ErrorLevel, c, "后端地址转换出错:%s", err.Error()) c.JSON(http.StatusBadGateway, gin.H{"ret": 1, "msg": fmt.Sprintf("后端地址[%s] 转换出错:%s", location, err.Error())}) return } subRule.HandlerReverseProxy(remote, hostName, path, c) } func (r *ReverseProxyRule) GetSubRuleByDomain(domain string) (*ReverseProxy, bool) { val, ok := r.domainsMap.Load(domain) if !ok { return nil, false } return val.(*ReverseProxy), true } type ReverseProxy struct { SubReverProxyRule Enable bool `json:"Enable"` Remark string `json:"Remark"` Domains []string `json:"Domains"` //自定义域名 } func (r *ReverseProxyRule) GetServer() *http.Server { s, loaded := ReverseProxyServerStore.Load(r.RuleKey) if !loaded { return nil } return s.(*http.Server) } func (r *ReverseProxyRule) SetServer(s *http.Server) { if s == nil { ReverseProxyServerStore.Delete(r.RuleKey) return } ReverseProxyServerStore.Store(r.RuleKey, s) } func (r *ReverseProxyRule) ServerStart() error { // r.smu.Lock() // defer r.smu.Unlock() ReverseProxyServerStoreMu.Lock() defer ReverseProxyServerStoreMu.Unlock() server := r.GetServer() if server != nil { return fmt.Errorf("RuleServer[%s]已经启动,请勿重复启动", r.Addr()) } ginR := gin.New() ginR.Any("/*proxyPath", r.ReverseProxyHandler) server = &http.Server{ Addr: r.Addr(), Handler: ginR, ErrorLog: r.DefaultProxy.GetLogger(), } //*************************** var err error server.TLSConfig = &tls.Config{} if r.EnableTLS { certList := GetValidSSLCertficateList() //ssl.GetValidSSLCertficateList() server.TLSConfig.Certificates = certList } //server.TLSConfig.Certificates = make([]tls.Certificate, 3) //**************************** ln, err := net.Listen(r.Network, r.Addr()) if err != nil { return err } var serveResult error go func() { if !r.EnableTLS { serveResult = server.Serve(ln) return } if len(server.TLSConfig.Certificates) <= 0 { log.Printf("可用证书列表为空,%s 未能启用TLS", r.Addr()) serveResult = server.Serve(ln) return } log.Printf("%s 已启用TLS", r.Addr()) serveResult = server.ServeTLS(ln, "", "") }() <-time.After(time.Millisecond * 300) defer func() { if serveResult == nil { r.SetServer(server) } }() return serveResult } func (r *ReverseProxyRule) ServerStop() { ReverseProxyServerStoreMu.Lock() defer ReverseProxyServerStoreMu.Unlock() server := r.GetServer() if server == nil { return } server.Close() r.SetServer(nil) } func (r *ReverseProxyRule) initDomainsMap() error { r.domainsMap = &sync.Map{} for i := range r.ProxyList { for j := range r.ProxyList[i].Domains { _, loaded := r.domainsMap.LoadOrStore(r.ProxyList[i].Domains[j], &r.ProxyList[i]) if loaded { return fmt.Errorf("前端域名[%s]冲突", r.ProxyList[i].Domains[j]) } } } return nil } func (r *SubReverProxyRule) initOnceExec() { r.initOnce.Do(func() { r.locationsCount = len(r.Locations) r.InitTrustedProxyCIDRs() r.locationMutex = &sync.Mutex{} }) } func (r *SubReverProxyRule) GetLocation() string { r.initOnceExec() r.locationMutex.Lock() defer func() { r.locationIndex++ r.locationMutex.Unlock() }() if r.locationsCount == 0 { return "" } return r.Locations[r.locationIndex%uint64(r.locationsCount)] } func (r *SubReverProxyRule) BasicAuthHandler(c *gin.Context) bool { if !r.EnableBasicAuth || r.BasicAuthUser == "" { return true } realm := "Basic realm=" + strconv.Quote("Authorization Required") pairs := ginutils.ProcessAccounts(gin.Accounts{r.BasicAuthUser: r.BasicAuthPasswd}) user, found := pairs.SearchCredential(c.GetHeader("Authorization")) if !found { // Credentials doesn't match, we return 401 and abort handlers chain. c.Header("WWW-Authenticate", realm) c.AbortWithStatus(http.StatusUnauthorized) return false } c.Set("user", user) return true } func (r *SubReverProxyRule) InitTrustedProxyCIDRs() error { var res []*net.IPNet for i := range r.TrustedCIDRsStrList { if strings.TrimSpace(r.TrustedCIDRsStrList[i]) == "" { continue } _, cidr, err := net.ParseCIDR(r.TrustedCIDRsStrList[i]) if err != nil { return fmt.Errorf("[%s]网段格式有误", r.TrustedCIDRsStrList[i]) } res = append(res, cidr) } r.TrustedProxyCIDRs = res return nil } func (r *SubReverProxyRule) ClientIP(c *gin.Context) string { remoteIP := net.ParseIP(c.RemoteIP()) if remoteIP == nil { return "" } trusted := r.isTrustedProxy(remoteIP) if trusted && r.ForwardedByClientIP && r.RemoteIPHeaders != nil { for _, headerName := range r.RemoteIPHeaders { ip, valid := r.validateHeader(c.Request.Header.Get(headerName)) if valid { return ip } } } return remoteIP.String() } func (r *SubReverProxyRule) validateHeader(header string) (clientIP string, valid bool) { if header == "" { return "", false } items := strings.Split(header, ",") for i := len(items) - 1; i >= 0; i-- { ipStr := strings.TrimSpace(items[i]) ip := net.ParseIP(ipStr) if ip == nil { break } if (i == 0) || (!r.isTrustedProxy(ip)) { return ipStr, true } } return "", false } func (r *SubReverProxyRule) isTrustedProxy(ip net.IP) bool { r.initOnceExec() if r.TrustedProxyCIDRs == nil { return false } for _, cidr := range r.TrustedProxyCIDRs { if cidr.Contains(ip) { return true } } return false } func (r *ReverseProxyRule) Addr() string { return fmt.Sprintf("%s:%d", r.ListenIP, r.ListenPort) } func (r *ReverseProxyRule) GetLastLogs() map[string][]any { res := make(map[string][]any) res["default"] = r.DefaultProxy.GetLogsBuffer().GetLastLogs(weblog.WebLogConvert, r.DefaultProxy.WebListShowLastLogMaxCount) for i := range r.ProxyList { res[r.ProxyList[i].Key] = r.ProxyList[i].GetLogsBuffer().GetLastLogs( weblog.WebLogConvert, r.ProxyList[i].WebListShowLastLogMaxCount) } return res } ================================================ FILE: module/reverseproxy/proxy.go ================================================ package reverseproxy import ( "fmt" "log" reverseproxyconf "github.com/gdy666/lucky/module/reverseproxy/conf" "github.com/gdy666/lucky/module/weblog" ) func InitReverseProxyServer() { ruleList := GetReverseProxyRuleList() for ruleIndex := range ruleList { if ruleList[ruleIndex].Enable { startRes := ruleList[ruleIndex].ServerStart() if startRes == nil { log.Printf("启动反向代理服务[%s]成功", ruleList[ruleIndex].Addr()) } else { log.Printf("启动反向代理服务[%s]失败:%s", ruleList[ruleIndex].Addr(), startRes.Error()) } } } } func EnableRuleByKey(key string, enable bool) error { rule := GetReverseProxyRuleByKey(key) if rule == nil { return fmt.Errorf("GetReverseProxyRuleByKey not found:%s", key) } if enable { err := rule.ServerStart() if err != nil { log.Printf("启用反向代理规则[%s]出错:%s", rule.Addr(), err.Error()) EnableReverseProxyRuleByKey(key, false) return fmt.Errorf("启用反向代理规则[%s]出错:%s", rule.Addr(), err.Error()) } else { log.Printf("启用反向代理规则[%s]成功", rule.Addr()) } } else { rule.ServerStop() log.Printf("停用反向代理规则[%s]成功", rule.Addr()) } return EnableReverseProxyRuleByKey(key, enable) } type RuleInfo struct { reverseproxyconf.ReverseProxyRule AccessLogs map[string][]any } func GetProxyRuleListInfo() *[]RuleInfo { ruleList := GetReverseProxyRuleList() var res []RuleInfo for i := range ruleList { //ti := createProxyRuleInfo(nil, ruleList[i]) var ri RuleInfo ri.ReverseProxyRule = *ruleList[i] ri.AccessLogs = ruleList[i].GetLastLogs() res = append(res, ri) } return &res } func GetAccessLogs(ruleKey, proxyKey string, pageSize, page int) (int, []any) { var res []any total := 0 subRule := GetSubRuleByKey(ruleKey, proxyKey) if subRule == nil { return 0, res } total, res = subRule.GetLogsBuffer().GetLogsByLimit(weblog.WebLogConvert, pageSize, page) return total, res } ================================================ FILE: module/reverseproxy/reverseproxy.go ================================================ package reverseproxy import ( "fmt" "strings" "github.com/gdy666/lucky/config" reverseproxyconf "github.com/gdy666/lucky/module/reverseproxy/conf" "github.com/gdy666/lucky/module/safe" ssl "github.com/gdy666/lucky/module/sslcertficate" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" ) func init() { reverseproxyconf.GetValidSSLCertficateList = ssl.GetValidSSLCertficateList reverseproxyconf.SafeCheck = safe.SafeCheck } // TidyReverseProxyCache 整理反向代理日志缓存 func TidyReverseProxyCache() { ruleList := GetReverseProxyRuleList() var keyListBuffer strings.Builder for _, rule := range ruleList { keyListBuffer.WriteString(rule.DefaultProxy.Key) keyListBuffer.WriteString(",") for _, sr := range rule.ProxyList { keyListBuffer.WriteString(sr.Key) keyListBuffer.WriteString(",") } } keyListStr := keyListBuffer.String() logsbuffer.LogsBufferStoreMu.Lock() defer logsbuffer.LogsBufferStoreMu.Unlock() var needDeleteKeys []string for k := range logsbuffer.LogsBufferStore { if !strings.HasPrefix(k, "reverseproxy:") { continue } if len(k) <= 13 { continue } if !strings.Contains(keyListStr, k[13:]) { needDeleteKeys = append(needDeleteKeys, k) } } for i := range needDeleteKeys { delete(logsbuffer.LogsBufferStore, needDeleteKeys[i]) reverseproxyconf.ReverseProxyServerStore.Delete(needDeleteKeys[i]) } } //------------------------------------------------------------ func GetReverseProxyRuleList() []*reverseproxyconf.ReverseProxyRule { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var resList []*reverseproxyconf.ReverseProxyRule for i := range config.Configure.ReverseProxyRuleList { config.Configure.ReverseProxyRuleList[i].Init() rule := config.Configure.ReverseProxyRuleList[i] resList = append(resList, &rule) } return resList } func GetReverseProxyRuleByKey(ruleKey string) *reverseproxyconf.ReverseProxyRule { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() ruleIndex := -1 for i := range config.Configure.ReverseProxyRuleList { if config.Configure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return nil } res := config.Configure.ReverseProxyRuleList[ruleIndex] return &res } func ReverseProxyRuleListAdd(rule *reverseproxyconf.ReverseProxyRule) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() config.Configure.ReverseProxyRuleList = append(config.Configure.ReverseProxyRuleList, *rule) return config.Save() } func ReverseProxyRuleListDelete(ruleKey string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() ruleIndex := -1 for i := range config.Configure.ReverseProxyRuleList { if config.Configure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("找不到需要删除的反向代理任务") } config.Configure.ReverseProxyRuleList = DeleteReverseProxyRuleListlice(config.Configure.ReverseProxyRuleList, ruleIndex) return config.Save() } func EnableReverseProxyRuleByKey(ruleKey string, enable bool) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() ruleIndex := -1 for i := range config.Configure.ReverseProxyRuleList { if config.Configure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("开关反向代理规则失败,ruleKey %s 未找到", ruleKey) } config.Configure.ReverseProxyRuleList[ruleIndex].Enable = enable return config.Save() } func EnableReverseProxySubRule(ruleKey, proxyKey string, enable bool) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() ruleIndex := -1 for i := range config.Configure.ReverseProxyRuleList { if config.Configure.ReverseProxyRuleList[i].RuleKey == ruleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("开关反向代理子规则失败,ruleKey %s 未找到", ruleKey) } proxyIndex := -1 for i := range config.Configure.ReverseProxyRuleList[ruleIndex].ProxyList { if config.Configure.ReverseProxyRuleList[ruleIndex].ProxyList[i].Key == proxyKey { proxyIndex = i break } } if proxyIndex == -1 { return fmt.Errorf("开关反向代理子规则失败,proxyKey %s 未找到", proxyKey) } config.Configure.ReverseProxyRuleList[ruleIndex].ProxyList[proxyIndex].Enable = enable return config.Save() } func UpdateReverseProxyRulet(rule reverseproxyconf.ReverseProxyRule) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() ruleIndex := -1 for i := range config.Configure.ReverseProxyRuleList { if config.Configure.ReverseProxyRuleList[i].RuleKey == rule.RuleKey { ruleIndex = i break } } if ruleIndex == -1 { return fmt.Errorf("找不到需要更新的反向代理规则") } // rule.RuleKey = programConfigure.ReverseProxyRuleList[ruleIndex].RuleKey config.Configure.ReverseProxyRuleList[ruleIndex] = rule return config.Save() } func DeleteReverseProxyRuleListlice(a []reverseproxyconf.ReverseProxyRule, deleteIndex int) []reverseproxyconf.ReverseProxyRule { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } func GetSubRuleByKey(ruleKey, proxyKey string) *reverseproxyconf.SubReverProxyRule { //rule := getSubRuleByKey() rule := GetReverseProxyRuleByKey(ruleKey) if rule == nil { return nil } //fmt.Printf("FFF ruleKey:%s proxyKey:%s\n", ruleKey, proxyKey) if proxyKey == "default" { return &rule.DefaultProxy.SubReverProxyRule } for i := range rule.ProxyList { if rule.ProxyList[i].Key == proxyKey { return &rule.ProxyList[i].SubReverProxyRule } } return nil } ================================================ FILE: module/safe/blacklist.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package safe import ( "fmt" "net" "strings" "time" "github.com/gdy666/lucky/config" safeconf "github.com/gdy666/lucky/module/safe/conf" ) func GetBlackList() []safeconf.BlackListItem { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() BlackListFlush(false) var resList []safeconf.BlackListItem if config.Configure == nil { return resList } for i := range config.Configure.BlackListConfigure.BlackList { resList = append(resList, config.Configure.BlackListConfigure.BlackList[i]) } return resList } func BlackListInit() { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var netIP net.IP var cidr *net.IPNet for i := range config.Configure.BlackListConfigure.BlackList { netIP = nil cidr = nil if strings.Contains(config.Configure.BlackListConfigure.BlackList[i].IP, "/") { _, cidr, _ = net.ParseCIDR(config.Configure.BlackListConfigure.BlackList[i].IP) } else { netIP = net.ParseIP(config.Configure.BlackListConfigure.BlackList[i].IP) } config.Configure.BlackListConfigure.BlackList[i].Cidr = cidr config.Configure.BlackListConfigure.BlackList[i].NetIP = netIP } } func BlackListAdd(ip string, activelifeDuration int32) (string, error) { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() var err error var netIP net.IP = nil var cidr *net.IPNet = nil if strings.Contains(ip, "/") { _, cidr, err = net.ParseCIDR(ip) if err != nil { return "", fmt.Errorf("网段格式有误,转换出错:%s", err.Error()) } } else { netIP = net.ParseIP(ip) if netIP == nil { return "", fmt.Errorf("IP格式有误") } } if activelifeDuration <= 0 { activelifeDuration = 666666 } EffectiveTimeStr := time.Now().Add(time.Hour * time.Duration(activelifeDuration)).Format("2006-01-02 15:04:05") for i, ipr := range config.Configure.BlackListConfigure.BlackList { if ipr.IP == ip { config.Configure.BlackListConfigure.BlackList[i].EffectiveTime = EffectiveTimeStr return EffectiveTimeStr, config.Save() } } item := safeconf.BlackListItem{IP: ip, EffectiveTime: EffectiveTimeStr, NetIP: netIP, Cidr: cidr} config.Configure.BlackListConfigure.BlackList = append(config.Configure.BlackListConfigure.BlackList, item) return EffectiveTimeStr, config.Save() } func BlackListDelete(ip string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range config.Configure.BlackListConfigure.BlackList { if ipr.IP == ip { removeIndex = i break } } if removeIndex >= 0 { removeCount++ config.Configure.BlackListConfigure.BlackList = DeleteBlackListlice(config.Configure.BlackListConfigure.BlackList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return config.Save() } func BlackListFlush(lock bool) error { if lock { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() } removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range config.Configure.BlackListConfigure.BlackList { ipat, err := time.ParseInLocation("2006-01-02 15:04:05", ipr.EffectiveTime, time.Local) if err != nil { //有效时间格式有误,当失效处理 removeIndex = i break } if time.Since(ipat) > 0 { removeIndex = i break } } if removeIndex >= 0 { removeCount++ config.Configure.BlackListConfigure.BlackList = DeleteBlackListlice(config.Configure.BlackListConfigure.BlackList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return config.Save() } func DeleteBlackListlice(a []safeconf.BlackListItem, deleteIndex int) []safeconf.BlackListItem { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: module/safe/conf/black.go ================================================ package safeconf import "net" type BlackListItem WhiteListItem type BlackListConfigure struct { BlackList []BlackListItem `json:"BlackList"` //黑名单列表 } func (w *BlackListItem) Contains(ip string) bool { netIP := net.ParseIP(ip) if netIP == nil { return false } if w.NetIP != nil { return w.NetIP.Equal(netIP) } if w.Cidr != nil { return w.Cidr.Contains(netIP) } return false } ================================================ FILE: module/safe/conf/white.go ================================================ package safeconf import "net" type WhiteListBaseConfigure struct { URL string `json:"URL"` ActivelifeDuration int32 `json:"ActivelifeDuration"` //有效期限,小时 BasicAccount string `json:"BasicAccount"` BasicPassword string `json:"BasicPassword"` } type WhiteListConfigure struct { BaseConfigure WhiteListBaseConfigure `json:"BaseConfigure"` WhiteList []WhiteListItem `json:"WhiteList"` //白名单列表 } type WhiteListItem struct { IP string `json:"IP"` EffectiveTime string `json:"Effectivetime"` //有效时间 NetIP net.IP `json:"-"` Cidr *net.IPNet `json:"-"` } func (w *WhiteListItem) Contains(ip string) bool { netIP := net.ParseIP(ip) if netIP == nil { return false } if w.NetIP != nil { return w.NetIP.Equal(netIP) } if w.Cidr != nil { return w.Cidr.Contains(netIP) } return false } ================================================ FILE: module/safe/safe.go ================================================ package safe func Init() { BlackListInit() WhiteListInit() } ================================================ FILE: module/safe/safecheck.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package safe import ( "time" "github.com/gdy666/lucky/config" ) func SafeCheck(mode, ip string) bool { switch mode { case "whitelist": //log.Printf("whitelist") return whiteListCheck(ip) case "blacklist": //log.Printf("blacklist") return blackListCheck(ip) default: return false } } func whiteListCheck(ip string) bool { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() if config.Configure == nil { return false } for _, item := range config.Configure.WhiteListConfigure.WhiteList { if !item.Contains(ip) { continue } itemEffectiveTime, err := time.ParseInLocation("2006-01-02 15:04:05", item.EffectiveTime, time.Local) if err != nil { return false } if time.Since(itemEffectiveTime) < 0 { //log.Printf("CCC") return true } return false } //log.Printf("DDDD") return false } func blackListCheck(ip string) bool { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() if config.Configure == nil { return true } for _, item := range config.Configure.BlackListConfigure.BlackList { if !item.Contains(ip) { continue } itemEffectiveTime, err := time.ParseInLocation("2006-01-02 15:04:05", item.EffectiveTime, time.Local) if err != nil { return true } if time.Since(itemEffectiveTime) < 0 { return false } return true } return true } ================================================ FILE: module/safe/whitelist.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package safe import ( "fmt" "net" "strings" "time" "github.com/gdy666/lucky/config" safeconf "github.com/gdy666/lucky/module/safe/conf" ) func GetWhiteListBaseConfigure() safeconf.WhiteListBaseConfigure { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() return config.Configure.WhiteListConfigure.BaseConfigure } func SetWhiteListBaseConfigure(activelifeDuration int32, url, account, password string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() config.Configure.WhiteListConfigure.BaseConfigure.URL = url config.Configure.WhiteListConfigure.BaseConfigure.ActivelifeDuration = activelifeDuration config.Configure.WhiteListConfigure.BaseConfigure.BasicAccount = account config.Configure.WhiteListConfigure.BaseConfigure.BasicPassword = password return config.Save() } func GetWhiteList() []safeconf.WhiteListItem { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() WhiteListFlush(false) var resList []safeconf.WhiteListItem if config.Configure == nil { return resList } for i := range config.Configure.WhiteListConfigure.WhiteList { resList = append(resList, config.Configure.WhiteListConfigure.WhiteList[i]) } return resList } func WhiteListInit() { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var netIP net.IP var cidr *net.IPNet for i := range config.Configure.WhiteListConfigure.WhiteList { netIP = nil cidr = nil if strings.Contains(config.Configure.WhiteListConfigure.WhiteList[i].IP, "/") { _, cidr, _ = net.ParseCIDR(config.Configure.WhiteListConfigure.WhiteList[i].IP) } else { netIP = net.ParseIP(config.Configure.WhiteListConfigure.WhiteList[i].IP) } config.Configure.WhiteListConfigure.WhiteList[i].Cidr = cidr config.Configure.WhiteListConfigure.WhiteList[i].NetIP = netIP } } func WhiteListAdd(ip string, activelifeDuration int32) (string, error) { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() var err error var netIP net.IP = nil var cidr *net.IPNet = nil if strings.Contains(ip, "/") { _, cidr, err = net.ParseCIDR(ip) if err != nil { return "", fmt.Errorf("网段格式有误,转换出错:%s", err.Error()) } } else { netIP = net.ParseIP(ip) if netIP == nil { return "", fmt.Errorf("IP格式有误") } } if activelifeDuration <= 0 { activelifeDuration = config.Configure.WhiteListConfigure.BaseConfigure.ActivelifeDuration } EffectiveTimeStr := time.Now().Add(time.Hour * time.Duration(activelifeDuration)).Format("2006-01-02 15:04:05") for i, ipr := range config.Configure.WhiteListConfigure.WhiteList { if ipr.IP == ip { config.Configure.WhiteListConfigure.WhiteList[i].EffectiveTime = EffectiveTimeStr return EffectiveTimeStr, config.Save() } } item := safeconf.WhiteListItem{IP: ip, EffectiveTime: EffectiveTimeStr, NetIP: netIP, Cidr: cidr} config.Configure.WhiteListConfigure.WhiteList = append(config.Configure.WhiteListConfigure.WhiteList, item) return EffectiveTimeStr, config.Save() } func WhiteListDelete(ip string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range config.Configure.WhiteListConfigure.WhiteList { if ipr.IP == ip { removeIndex = i break } } if removeIndex >= 0 { removeCount++ config.Configure.WhiteListConfigure.WhiteList = DeleteWhiteListlice(config.Configure.WhiteListConfigure.WhiteList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return config.Save() } func WhiteListFlush(lock bool) error { if lock { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() } removeCount := 0 CONTINUECHECK: removeIndex := -1 for i, ipr := range config.Configure.WhiteListConfigure.WhiteList { ipat, err := time.ParseInLocation("2006-01-02 15:04:05", ipr.EffectiveTime, time.Local) if err != nil { //有效时间格式有误,当失效处理 removeIndex = i break } if time.Since(ipat) > 0 { removeIndex = i break } } if removeIndex >= 0 { removeCount++ config.Configure.WhiteListConfigure.WhiteList = DeleteWhiteListlice(config.Configure.WhiteListConfigure.WhiteList, removeIndex) goto CONTINUECHECK } if removeCount == 0 { return nil } return config.Save() } func DeleteWhiteListlice(a []safeconf.WhiteListItem, deleteIndex int) []safeconf.WhiteListItem { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: module/service/service.go ================================================ package service import ( "fmt" "runtime" "time" kservice "github.com/kardianos/service" ) // var globalService Service var startFunc func() var listenPort string var configureFileURL string func RegisterStartFunc(f func()) { startFunc = f } func SetListenPort(port int) { listenPort = fmt.Sprintf("%d", port) } func SetConfigureFile(f string) { configureFileURL = f } type Service struct { } func (p *Service) Start(s kservice.Service) error { go p.run() return nil } func (p *Service) run() { go func() { <-time.After(time.Second * 2) startFunc() }() } func (p *Service) Stop(s kservice.Service) error { return nil } func GetServiceState() int { serviceStatus := -1 s, err := GetService() if err == nil { status, _ := s.Status() serviceStatus = int(status) } return serviceStatus } func GetService() (kservice.Service, error) { options := make(kservice.KeyValue) // if kservice.ChosenSystem().String() == "unix-systemv" { // options["SysvScript"] = sysvScript // } if runtime.GOOS != "windows" { return nil, fmt.Errorf("仅支持安装卸载windows服务") } svcConfig := &kservice.Config{ Name: "lucky", DisplayName: "lucky", Description: "ipv6端口转发,反向代理,DDNS,网络唤醒...", Arguments: []string{"-p", listenPort, "-c", configureFileURL}, Option: options, } prg := &Service{} s, err := kservice.New(prg, svcConfig) if err != nil { return nil, err } return s, nil } // 卸载服务 func UninstallService() error { s, err := GetService() if err != nil { return err } return s.Uninstall() } // 安装服务 func InstallService() error { s, err := GetService() if err != nil { return err } status, err := s.Status() if err != nil && status == kservice.StatusUnknown { // 服务未知,创建服务 if err = s.Install(); err == nil { //s.Start() //log.Println("安装 lucky 服务成功!") return nil } return fmt.Errorf("安装 lucky 服务失败:%s", err.Error()) } return fmt.Errorf("lucky服务已安装,无需再次安装:下一次系统启动lucky会以服务形式启动.") } func Stop() error { s, err := GetService() if err != nil { return err } return s.Stop() } func Start() error { s, err := GetService() if err != nil { return err } return s.Start() } func Restart() error { s, err := GetService() if err != nil { return err } return s.Restart() } ================================================ FILE: module/sslcertficate/conf/sslconf.go ================================================ package sslconf import ( "crypto/tls" "crypto/x509" "encoding/base64" "fmt" "strings" ) type SSLCertficate struct { Key string `json:"Key"` Enable bool `json:"Enable"` Remark string `json:"Remark"` //备注 CertBase64 string `json:"CertBase64"` KeyBase64 string `json:"KeyBase64"` AddTime string `json:"AddTime"` //添加时间 CertsInfo *[]CertInfo `json:"-"` //--------------------- Certificate *tls.Certificate `json:"-"` } type CertInfo struct { Domains []string NotBeforeTime string `json:"NotBeforeTime"` //time.Time NotAfterTime string `json:"NotAfterTime"` //time.Time } func (s *SSLCertficate) Init() error { tc, err := CreateX509KeyPairByBase64Str(s.CertBase64, s.KeyBase64) if err != nil { return fmt.Errorf("CreateX509KeyPairByBase64Str error:%s", err.Error()) } domainsInfo, err := GetCertDomainInfo(tc) if err != nil { return fmt.Errorf("GetCertDomainInfo error:%s", err.Error()) } s.Certificate = tc s.CertsInfo = domainsInfo return nil } // GetOnlyDomain 返回证书第一条域名 func (s *SSLCertficate) GetFirstDomain() string { if s.CertsInfo == nil { return "" } if len(*s.CertsInfo) <= 0 { return "" } if len((*s.CertsInfo)[0].Domains) <= 0 { return "" } return (*s.CertsInfo)[0].Domains[0] } func CreateX509KeyPairByBase64Str(certBase64, keyBase64 string) (*tls.Certificate, error) { crtBytes, err := base64.StdEncoding.DecodeString(certBase64) if err != nil { return nil, fmt.Errorf("certBase64 decode error:%s", err.Error()) } keyBytes, err := base64.StdEncoding.DecodeString(keyBase64) if err != nil { return nil, fmt.Errorf("keyBase64 decode error:%s", err.Error()) } cert, err := tls.X509KeyPair(crtBytes, keyBytes) if err != nil { return nil, fmt.Errorf("create X509KeyPair error:%s", err.Error()) } return &cert, nil } func GetCertDomainInfo(cert *tls.Certificate) (*[]CertInfo, error) { if cert == nil { return nil, fmt.Errorf("cert == nil") } var res []CertInfo for i := range cert.Certificate { xx, err := x509.ParseCertificate(cert.Certificate[i]) if err != nil { continue } ds := GetDomainsTrimSpace(xx.DNSNames) if len(ds) == 0 { continue } info := CertInfo{Domains: ds, NotBeforeTime: xx.NotBefore.Format("2006-01-02 15:04:05"), NotAfterTime: xx.NotAfter.Format("2006-01-02 15:04:05")} res = append(res, info) } return &res, nil } // 除去空域名 func GetDomainsTrimSpace(dst []string) []string { var res []string for i := range dst { if strings.TrimSpace(dst[i]) == "" { continue } res = append(res, strings.TrimSpace(dst[i])) } return res } ================================================ FILE: module/sslcertficate/ssl.go ================================================ package ssl func Init() { SSLCertficateListInit() } ================================================ FILE: module/sslcertficate/sslcertficate.go ================================================ package ssl import ( "crypto/tls" "crypto/x509" "fmt" "log" "strings" "time" "github.com/gdy666/lucky/config" sslconf "github.com/gdy666/lucky/module/sslcertficate/conf" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" ) func GetCertDomains(cert *tls.Certificate) []string { var res []string if cert == nil { return res } for i := range cert.Certificate { xx, err := x509.ParseCertificate(cert.Certificate[i]) if err != nil { continue } for j := range xx.DNSNames { d := strings.TrimSpace(xx.DNSNames[j]) if d == "" { continue } res = append(res, d) } } return res } func GetDomainsStrByDomains(dst []string) string { var res strings.Builder for i := range dst { d := strings.TrimSpace(dst[i]) if d == "" { continue } if res.Len() > 0 { res.WriteString(",") } res.WriteString(d) } return res.String() } //--------------------------------- func SSLCertficateListInit() { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var err error for i := range config.Configure.SSLCertficateList { err = config.Configure.SSLCertficateList[i].Init() if err != nil { log.Printf("SSLCertficateListInit [%s]err:%s", config.Configure.SSLCertficateList[i].Key, err.Error()) } } } func GetSSLCertficateList() []sslconf.SSLCertficate { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var res []sslconf.SSLCertficate if config.Configure == nil { return res } for i := range config.Configure.SSLCertficateList { res = append(res, config.Configure.SSLCertficateList[i]) } return res } func SSLCertficateListAdd(s *sslconf.SSLCertficate) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() //************ //重复检测 for i := range config.Configure.SSLCertficateList { if config.Configure.SSLCertficateList[i].CertBase64 == s.CertBase64 { return fmt.Errorf("绑定域名[%s]的相同证书已存在,请勿重复添加", (*s.CertsInfo)[0].Domains[0]) } if config.Configure.SSLCertficateList[i].GetFirstDomain() != "" && config.Configure.SSLCertficateList[i].GetFirstDomain() == s.GetFirstDomain() { return fmt.Errorf("绑定域名[%s]的证书已存在,如果要添加新证书请先手动删除旧证书", (*s.CertsInfo)[0].Domains[0]) } } //************ if s.Key == "" { s.Key = stringsp.GetRandomString(8) } s.AddTime = time.Now().Format("2006-01-02 15:04:05") s.Enable = true config.Configure.SSLCertficateList = append(config.Configure.SSLCertficateList, *s) return config.Save() } func SSLCertficateListDelete(key string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() deleteIndex := -1 for i := range config.Configure.SSLCertficateList { if config.Configure.SSLCertficateList[i].Key == key { deleteIndex = i break } } if deleteIndex < 0 { return fmt.Errorf("key:%s 不存在", key) } config.Configure.SSLCertficateList = DeleteSSLCertficateListslice(config.Configure.SSLCertficateList, deleteIndex) return config.Save() } func SSLCertficateEnable(key string, enable bool) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.SSLCertficateList { if config.Configure.SSLCertficateList[i].Key == key { index = i break } } if index < 0 { return fmt.Errorf("key:%s 不存在", key) } config.Configure.SSLCertficateList[index].Enable = enable return config.Save() } func SSLCertficateAlterRemark(key, remark string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.SSLCertficateList { if config.Configure.SSLCertficateList[i].Key == key { index = i break } } if index < 0 { return fmt.Errorf("key:%s 不存在", key) } config.Configure.SSLCertficateList[index].Remark = remark return config.Save() } func DeleteSSLCertficateListslice(a []sslconf.SSLCertficate, deleteIndex int) []sslconf.SSLCertficate { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } func GetValidSSLCertficateList() []tls.Certificate { var res []tls.Certificate var gdnRes []tls.Certificate sslListCache := GetSSLCertficateList() for _, s := range sslListCache { if !s.Enable { continue } if strings.HasPrefix(s.GetFirstDomain(), "*.") { gdnRes = append(gdnRes, *s.Certificate) continue } res = append(res, *s.Certificate) } res = append(res, gdnRes...) return res } ================================================ FILE: module/weblog/weblog.go ================================================ package weblog import ( "time" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" ) type LogItem struct { ProxyKey string ClientIP string LogContent string LogTime string } // 2006-01-02 15:04:05 func WebLogConvert(lg *logsbuffer.LogItem) any { l := LogItem{ LogContent: lg.Content, LogTime: time.Unix(lg.Timestamp/int64(time.Second), 0).Format("2006-01-02 15:04:05")} return l } ================================================ FILE: module/wol/client.go ================================================ package wol import ( "fmt" "os/exec" "strings" "sync" "time" wolconf "github.com/gdy666/lucky/module/wol/conf" websocketcontroller "github.com/gdy666/lucky/thirdlib/gdylib/websocketController" "github.com/sirupsen/logrus" ) var wolClient *websocketcontroller.Controller var wolClientMu sync.Mutex var clientState string var clientStateMsg string func init() { wolconf.SetClientInitFunc(WOLClientInit) wolconf.SetClientDisconnectFunc(ClientDisconnect) } func GetClientState() string { return clientState } func GetClientStateMsg() string { return clientStateMsg } func ClientDisconnect() { wolClientMu.Lock() defer wolClientMu.Unlock() if wolClient == nil { return } go wolClient.Disconnect() } func WOLClientInit(logger *logrus.Logger, c *wolconf.WOLClientConfigure) { if !c.Enable || c.ServerURL == "" { return } client := websocketcontroller.Controller{} client.ReceiveMessageCallback = receiveMessageCallback client.ClientDisconnectedCallback = clientStop client.ClientReadyCallback = clientReady client.Logs = logger client.SetConnectRetry(true) client.SetConnectRetryInterval(time.Second * 3) client.SetReadDeadline(time.Second * 5) client.SetServerURL(fmt.Sprintf("%s/api/wol/service", c.ServerURL)) client.ScureSkipVerify(!wolconf.GetHttpClientSecureVerify()) client.SetSendMessageEncryptionFunc(SendMessageEncryptionFunc) client.SetReceiveMessageDecryptionFunc(ReceiveMessageDecryptionFunc) wolClientMu.Lock() defer wolClientMu.Unlock() wolClient = &client go wolClient.Connect() } func receiveMessageCallback(c *websocketcontroller.Controller, msgBytes []byte) { rawMsg, err := UnPack(msgBytes) if err != nil { return } switch m := rawMsg.(type) { case *LoginResp: go handlerLoginResp(m, c) case *SyncClientConfigure: go synsClientConfigureToClient(m) case *ReplyWakeUp: //fmt.Printf("中继唤醒包:%v\n", m) c.Logs.Infof("中继唤醒包:%v\n", m) go wolconf.WakeOnLan(false, m.MacList, m.BroadcastIPs, m.Port, m.Repeat, nil) case *ShutDown: go func() { conf := GetWOLServiceConfigure() c.Logs.Infof("执行关机指令:%s\n", conf.Client.PowerOffCMD) //<-time.After(time.Second * 1) cmd := strings.Split(conf.Client.PowerOffCMD, " ") var output []byte var err error //fileutils.OpenProgramOrFile(cmd) if len(cmd) == 1 { output, err = exec.Command(cmd[0], []string{}...).Output() } else { output, err = exec.Command(cmd[0], cmd[1:]...).Output() } if err != nil { c.Logs.Errorf("执行关机指令[%s]出错:%s:%s", conf.Client.PowerOffCMD, string(output), err.Error()) } }() default: } } func clientStop(cc *websocketcontroller.Controller) { //fmt.Printf("客户端已断开服务器连接\n") //clientState = "服务端已断开连接" //clientStateMsg = "" } func clientReady(cc *websocketcontroller.Controller) { cc.Logs.Info("WOL 客户端已连接上服务端,发送登录消息...") logMsg := &Login{} logMsg.WOLClientConfigure = wolconf.GetWOLServiceConfigure().Client logMsg.ClientTimeStamp = time.Now().Unix() SendMessage(cc, logMsg) } func handlerLoginResp(m *LoginResp, c *websocketcontroller.Controller) { if m.Ret != 0 { c.Disconnect() c.Logs.Error("WOl 服务端登录失败:%s", m.Msg) clientState = "服务端登录失败" clientStateMsg = m.Msg return } c.Logs.Info("WOL服务端登录成功") clientState = "服务端登录成功" clientStateMsg = "" } func synsClientConfigureToClient(m *SyncClientConfigure) { //fmt.Printf("处理来自服务端同步配置\n") conf := GetWOLServiceConfigure() conf.Client.Relay = m.Relay conf.Client.DeviceName = m.DeviceName conf.Client.Mac = m.Mac conf.Client.BroadcastIP = m.BroadcastIP conf.Client.Port = m.Port conf.Client.Repeat = m.Repeat conf.Client.UpdateTime = m.UpdateTime AlterWOLClientConfigure(&conf, logger, false) } ================================================ FILE: module/wol/conf/device.go ================================================ package wolconf import ( "fmt" "log" "github.com/gdy666/lucky/thirdlib/gdylib/bemfa" "github.com/gdy666/lucky/thirdlib/gdylib/blinker" "github.com/gdy666/lucky/thirdlib/gdylib/netinterfaces" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" gowol "github.com/gdy666/lucky/thirdlib/go-wol" ) var httpClientSecureVerify bool var httpClientTimeout int func GetHttpClientSecureVerify() bool { return httpClientSecureVerify } func SetHttpClientSecureVerify(b bool) { httpClientSecureVerify = b } func SetHttpClientTimeout(t int) { httpClientTimeout = t } type WOLDevice struct { Key string DeviceName string MacList []string BroadcastIPs []string Port int Relay bool //交给中继设备发送 Repeat int //重复发送次数 //PowerOffCMD string //关机指令 UpdateTime int64 //配置更新时间 IOT_DianDeng_Enable bool //点灯科技开关 IOT_DianDeng_AUTHKEY string dianDengClient *blinker.Device dianDengClientMsg string IOT_Bemfa_Enable bool //巴法平台开关 IOT_Bemfa_SecretKey string IOT_Bemfa_Topic string bemfaClient *bemfa.Device bemfaClientMsg string shutDownFunc func(d *WOLDevice) int } func (d *WOLDevice) SetShutDownFunc(f func(d *WOLDevice) int) { d.shutDownFunc = f } func (d *WOLDevice) GetDianDengClientState() string { if d.dianDengClient == nil { if d.dianDengClientMsg != "" { return d.dianDengClientMsg } return "未设置" } if d.dianDengClient.OnLine() { return "已连接" } return "未连接" } func (d *WOLDevice) GetBemfaClientState() string { if d.bemfaClient == nil { if d.bemfaClientMsg != "" { return d.bemfaClientMsg } return "未设置" } if d.bemfaClient.OnLine() { return "已连接" } return "未连接" } func (d *WOLDevice) BemfaClientStart() { if !d.IOT_Bemfa_Enable || d.IOT_Bemfa_SecretKey == "" || d.IOT_Bemfa_Topic == "" { return } bemfaClient, err := bemfa.GetBemfaDevice(d.IOT_Bemfa_SecretKey, httpClientSecureVerify, httpClientTimeout) if err != nil { //fmt.Printf("FUCK:%s\n", err.Error()) d.SetBemfaClientMsg(err.Error()) } if bemfaClient != nil { d.SetBemfaClientMsg("") bemfaClient.ResigsterPowerChangeCallbackFunc(d.IOT_Bemfa_Topic, d.GetIdentKey(), d.powerChange) d.bemfaClient = bemfaClient } } func (d *WOLDevice) BemfaClientStop() { if d.bemfaClient == nil { return } bemfa.UnRegisterPowerChangeCallback(d.bemfaClient, d.IOT_Bemfa_Topic, d.GetIdentKey()) d.bemfaClient = nil } func (d *WOLDevice) SetBemfaClientMsg(msg string) { d.bemfaClientMsg = msg } func (d *WOLDevice) GetBemfaClient() *bemfa.Device { return d.bemfaClient } func (d *WOLDevice) SetBemfaClient(dd *bemfa.Device) { d.bemfaClient = dd } //-------------------------- func (d *WOLDevice) DianDengClientStart() { if !d.IOT_DianDeng_Enable || d.IOT_DianDeng_AUTHKEY == "" { return } blinkerClient, err := blinker.GetBlinkerDevice(d.IOT_DianDeng_AUTHKEY, httpClientSecureVerify, httpClientTimeout) if err != nil { //fmt.Printf("FUCK:%s\n", err.Error()) d.SetDianDengClientMsg(err.Error()) } if blinkerClient != nil { d.SetDianDengClientMsg("") blinkerClient.RegisterPowerChangeCallbackFunc(d.GetIdentKey(), d.powerChange) d.dianDengClient = blinkerClient } } func (d *WOLDevice) DianDengClientStop() { if d.dianDengClient == nil { return } blinker.UnRegisterPowerChangeCallback(d.dianDengClient, d.GetIdentKey()) d.dianDengClient = nil } func (d *WOLDevice) powerChange(state string) { log.Printf("WOLDevice 语音助手控制设备[%s]状态:%s\n", d.DeviceName, state) if state == "on" || state == "true" { d.WakeUp(nil) } else { if d.shutDownFunc != nil { d.shutDownFunc(d) } } } func (d *WOLDevice) SetDianDengClientMsg(msg string) { d.dianDengClientMsg = msg } func (d *WOLDevice) GetDianDengClient() *blinker.Device { return d.dianDengClient } func (d *WOLDevice) SetDianDengClient(dd *blinker.Device) { d.dianDengClient = dd } func (d *WOLDevice) GetIdentKey() string { return fmt.Sprintf("WOL:%s", d.Key) } func (d *WOLDevice) WakeUp(finishedCallback func(relay bool, macList []string, broadcastIps []string, port, repeat int)) error { return WakeOnLan(d.Relay, d.MacList, d.BroadcastIPs, d.Port, d.Repeat, finishedCallback) } func WakeOnLan(relay bool, macList []string, broadcastIps []string, port, repeat int, finishedCallback func(relay bool, macList []string, broadcastIps []string, port, repeat int), ) (err error) { defer func() { if finishedCallback != nil { finishedCallback(relay, macList, broadcastIps, port, repeat) } }() globalBroadcastList := netinterfaces.GetGlobalIPv4BroadcastList() matchCount := 0 defer func() { if matchCount <= 0 { err = fmt.Errorf("找不到匹配的局域网广播IP,未能发送唤醒指令") } }() if len(broadcastIps) > 0 { for _, bcst := range broadcastIps { bcstOk := stringsp.StrIsInList(bcst, globalBroadcastList) if !bcstOk { continue } matchCount++ for _, mac := range macList { gowol.WakeUpRepeat(mac, bcst, "", port, repeat) } } return } for _, bcst := range globalBroadcastList { matchCount++ for _, mac := range macList { gowol.WakeUpRepeat(mac, bcst, "", port, repeat) } } return } ================================================ FILE: module/wol/conf/service.go ================================================ package wolconf import ( "sync" "github.com/sirupsen/logrus" ) type WOLServerConfigure struct { Enable bool Token string } type WOLClientConfigure struct { Enable bool //开关 ServerURL string //服务器地址 Token string //验证token Relay bool //中继唤醒包 Key string DeviceName string //设备名称 Mac string //网卡物理地址 BroadcastIP string //广播地址 Port int //端口 Repeat int //重复次数 PowerOffCMD string //关机指令 UpdateTime int64 //配置更新时间 } type WOLServiceConfigure struct { Server WOLServerConfigure Client WOLClientConfigure } var serviceConfigure *WOLServiceConfigure var serviceConfigureMu sync.RWMutex var clientInitFunc func(logger *logrus.Logger, c *WOLClientConfigure) var clientDisconnectFunc func() func SetClientInitFunc(f func(logger *logrus.Logger, c *WOLClientConfigure)) { clientInitFunc = f } func SetClientDisconnectFunc(f func()) { clientDisconnectFunc = f } func GetWOLServiceConfigure() WOLServiceConfigure { serviceConfigureMu.RLock() defer serviceConfigureMu.RUnlock() conf := *serviceConfigure return conf } func StoreWOLServiceConfigure(con *WOLServiceConfigure) { serviceConfigureMu.Lock() defer serviceConfigureMu.Unlock() serviceConfigure = con } func (c *WOLClientConfigure) Init(logger *logrus.Logger) { if clientInitFunc != nil { clientInitFunc(logger, c) } } func (c *WOLClientConfigure) ClientDisconnect() { if clientDisconnectFunc != nil { clientDisconnectFunc() } } ================================================ FILE: module/wol/ctl.go ================================================ package wol import ( "encoding/base64" jsonMsg "github.com/gdy666/lucky/thirdlib/fatedier/golib/json" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" ) type Message = jsonMsg.Message var ( msgCtl *jsonMsg.MsgCtl ) var msgkeyBytes = []byte("lucky666") func init() { msgCtl = jsonMsg.NewMsgCtl() for typeByte, msg := range msgTypeMap { msgCtl.RegisterMsg(typeByte, msg) } } func SendMessageEncryptionFunc(messageBytesPtr []byte) ([]byte, error) { outs, _ := stringsp.DesEncrypt(messageBytesPtr, msgkeyBytes) //加密 buf := make([]byte, base64.StdEncoding.EncodedLen(len(outs))) base64.StdEncoding.Encode(buf, outs) return buf, nil } // receiveMessageDecryptionFunc 自定义接收消息解密函数 func ReceiveMessageDecryptionFunc(messageBytes []byte) ([]byte, error) { rawEncryptMsgBytes, err := base64.StdEncoding.DecodeString(string(messageBytes)) if err != nil { return nil, err } rawMsgBytes, err := stringsp.DesDecrypt(rawEncryptMsgBytes, msgkeyBytes) return rawMsgBytes, err } ================================================ FILE: module/wol/device.go ================================================ package wol import ( "fmt" "net/url" "strings" "time" "github.com/gdy666/lucky/config" wolconf "github.com/gdy666/lucky/module/wol/conf" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" websocketcontroller "github.com/gdy666/lucky/thirdlib/gdylib/websocketController" "github.com/sirupsen/logrus" ) var logger *logrus.Logger func WOLClientConfigureInit(l *logrus.Logger) { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() wolconf.StoreWOLServiceConfigure(&config.Configure.WOLServiceConfigure) wolconf.SetHttpClientSecureVerify(config.Configure.BaseConfigure.HttpClientSecureVerify) wolconf.SetHttpClientTimeout(config.Configure.BaseConfigure.HttpClientTimeout) config.Configure.WOLServiceConfigure.Client.Init(l) logger = l } //---------------------------------------- func GetWOLServiceConfigure() wolconf.WOLServiceConfigure { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() conf := config.Configure.WOLServiceConfigure return conf } func AlterWOLClientConfigure(conf *wolconf.WOLServiceConfigure, logger *logrus.Logger, updateTimeOpt bool) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() if conf.Client.Key == "" { conf.Client.Key = fmt.Sprintf("Client_%s", stringsp.GetRandomString(16)) } // if programConfigure.WOLClientConfigure.Client != nil { // go programConfigure.WOLClientConfigure.Client.Disconnect() // } if updateTimeOpt { config.Configure.WOLServiceConfigure.Client.ClientDisconnect() } conf.Client.ServerURL = strings.TrimSpace(conf.Client.ServerURL) conf.Client.ServerURL = handlerWOLServerURL(conf.Client.ServerURL) conf.Client.Token = strings.TrimSpace(conf.Client.Token) conf.Client.DeviceName = strings.TrimSpace(conf.Client.DeviceName) conf.Client.Mac = strings.TrimSpace(conf.Client.Mac) conf.Client.BroadcastIP = strings.TrimSpace(conf.Client.BroadcastIP) conf.Client.PowerOffCMD = strings.TrimSpace(conf.Client.PowerOffCMD) if err := CheckWOLServiceConfigure(conf); err != nil { return err } if updateTimeOpt { conf.Client.UpdateTime = time.Now().Unix() } config.Configure.WOLServiceConfigure = *conf if updateTimeOpt { config.Configure.WOLServiceConfigure.Client.Init(logger) } wolconf.StoreWOLServiceConfigure(&config.Configure.WOLServiceConfigure) return config.Save() } func handlerWOLServerURL(l string) string { if !strings.HasPrefix(l, "http") && !strings.HasPrefix(l, "ws") { l = "ws://" + l } u, e := url.Parse(l) if e != nil { return "" } scheme := "" switch u.Scheme { case "http": scheme = "ws" case "https": scheme = "wss" case "ws": scheme = "ws" case "wss": scheme = "wss" default: scheme = "未知协议" } l = fmt.Sprintf("%s://%s", scheme, u.Host) return l } func CheckWOLServiceConfigure(conf *wolconf.WOLServiceConfigure) error { if conf.Client.Enable && strings.TrimSpace(conf.Client.ServerURL) == "" { return fmt.Errorf("客户端设置 服务端地址不能为空") } if conf.Client.Enable && strings.TrimSpace(conf.Client.Token) == "" { return fmt.Errorf("客户端设置 Token不能为空") } if conf.Client.Enable && strings.TrimSpace(conf.Client.PowerOffCMD) == "" { return fmt.Errorf("客户端设置 关机指令不能为空") } //广播地址,设备名称,关机指令可以为空 // if strings.TrimSpace(conf.DeviceName) == "" { // return fmt.Errorf("设备名称不能为空") // } if conf.Client.Enable && strings.TrimSpace(conf.Client.Mac) == "" { return fmt.Errorf("客户端设置 物理网卡地址不能为空") } if conf.Server.Enable && strings.TrimSpace(conf.Server.Token) == "" { return fmt.Errorf("服务端设置 Token不能为空") } return nil } func GetWOLDeviceByKey(key string) *wolconf.WOLDevice { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.WOLDeviceList { if config.Configure.WOLDeviceList[i].Key == key { index = i break } } if index < 0 { return nil } device := config.Configure.WOLDeviceList[index] return &device } func GetWOLDeviceByMac(mac string) *wolconf.WOLDevice { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.WOLDeviceList { if config.Configure.WOLDeviceList[i].MacList[0] == mac && len(config.Configure.WOLDeviceList[i].MacList) == 1 { index = i break } } if index < 0 { return nil } device := config.Configure.WOLDeviceList[index] return &device } func GetWOLDeviceList() []wolconf.WOLDevice { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() var res []wolconf.WOLDevice if config.Configure == nil { return res } for i := range config.Configure.WOLDeviceList { res = append(res, config.Configure.WOLDeviceList[i]) } return res } func GetDeviceStateDetail(d *wolconf.WOLDevice) (state string, onlineMacList []string) { // clientControllerMap.Range(func(key any, val any) bool { // fmt.Printf("%v %v\n", key, val) // return true // }) if strings.HasPrefix(d.Key, "Client_") { c, ok := clientControllerMap.Load(d.Key) if ok { deviceName := "未设置主机名" dn, ok := c.(*websocketcontroller.Controller).GetExtData("deviceName") if ok { deviceName = dn.(string) } remoteAddr := strings.Split(c.(*websocketcontroller.Controller).GetRemoteAddr(), ":")[0] onlineMacList = append(onlineMacList, fmt.Sprintf("主机名:%s [ %s ] 网卡物理地址:%s", deviceName, remoteAddr, d.MacList[0])) state = "在线" } else { state = "离线" } return } for i := range d.MacList { c, ok := clientControllerMap.Load(d.MacList[i]) if ok { deviceName := "未设置主机名" dn, ok := c.(*websocketcontroller.Controller).GetExtData("deviceName") if ok { deviceName = dn.(string) } remoteAddr := strings.Split(c.(*websocketcontroller.Controller).GetRemoteAddr(), ":")[0] onlineMacList = append(onlineMacList, fmt.Sprintf("主机名:%s [ %s ] 网卡物理地址:%s", deviceName, remoteAddr, d.MacList[i])) } } if len(onlineMacList) == 0 { //离线 // if len(d.MacList) == 1 { // state = "离线" // } else { // state = "全部离线" // } state = "未知" return } if len(onlineMacList) == len(d.MacList) { if len(d.MacList) == 1 { state = "在线" } else { state = "全部在线" } return } state = "部分在线" return } func WOLDeviceListAdd(d *wolconf.WOLDevice) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() if d.Key == "" { d.Key = stringsp.GetRandomString(8) } if d.UpdateTime == 0 { d.UpdateTime = time.Now().Unix() } d.SetShutDownFunc(ExecShutDown) config.Configure.WOLDeviceList = append(config.Configure.WOLDeviceList, *d) listLength := len(config.Configure.WOLDeviceList) go config.Configure.WOLDeviceList[listLength-1].DianDengClientStart() go config.Configure.WOLDeviceList[listLength-1].BemfaClientStart() return config.Save() } func WOLDeviceListAlter(d *wolconf.WOLDevice) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.WOLDeviceList { if config.Configure.WOLDeviceList[i].Key == d.Key { index = i break } } if index < 0 { return fmt.Errorf("key:%s 不存在", d.Key) } d.UpdateTime = time.Now().Unix() config.Configure.WOLDeviceList[index].DianDengClientStop() config.Configure.WOLDeviceList[index].BemfaClientStop() //go d.DianDengClientStart() d.SetShutDownFunc(ExecShutDown) config.Configure.WOLDeviceList[index] = *d go config.Configure.WOLDeviceList[index].DianDengClientStart() go config.Configure.WOLDeviceList[index].BemfaClientStart() return config.Save() } func WOLDeviceListReplace(key string, d *wolconf.WOLDevice) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() index := -1 for i := range config.Configure.WOLDeviceList { if config.Configure.WOLDeviceList[i].Key == key { index = i break } } if index < 0 { return fmt.Errorf("key:%s 不存在", d.Key) } config.Configure.WOLDeviceList[index] = *d return config.Save() } func WOLDeviceListDelete(key string) error { config.ConfigureMutex.Lock() defer config.ConfigureMutex.Unlock() deleteIndex := -1 for i := range config.Configure.WOLDeviceList { if config.Configure.WOLDeviceList[i].Key == key { deleteIndex = i break } } if deleteIndex < 0 { return fmt.Errorf("key:%s 不存在", key) } config.Configure.WOLDeviceList[deleteIndex].DianDengClientStop() config.Configure.WOLDeviceList[deleteIndex].BemfaClientStop() config.Configure.WOLDeviceList = DeleteWOLDeviceListslice(config.Configure.WOLDeviceList, deleteIndex) return config.Save() } func DeleteWOLDeviceListslice(a []wolconf.WOLDevice, deleteIndex int) []wolconf.WOLDevice { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: module/wol/httpapi/api.go ================================================ package wolhttpapi import ( "fmt" "log" "net/http" "strings" "github.com/gdy666/lucky/module/service" "github.com/gdy666/lucky/module/wol" wolconf "github.com/gdy666/lucky/module/wol/conf" "github.com/gdy666/lucky/thirdlib/gdylib/netinterfaces" websocketcontroller "github.com/gdy666/lucky/thirdlib/gdylib/websocketController" "github.com/gin-gonic/gin" "github.com/gorilla/websocket" "github.com/sirupsen/logrus" ) var logger *logrus.Logger func SetLogger(l *logrus.Logger) { logger = l } // RegisterAPI 注册相关API func RegisterAPI(r *gin.Engine, authorized *gin.RouterGroup) { authorized.POST("/api/wol/device", AddWOLDevice) authorized.GET("/api/wol/device/wakeup", WOLDeviceWakeUp) authorized.GET("/api/wol/device/shutdown", WOLDeviceShutDown) authorized.GET("/api/wol/devices", GetWOLDeviceList) authorized.PUT("/api/wol/device", AlterWOLDevice) authorized.DELETE("/api/wol/device", DeleteWOLDevice) authorized.GET("/api/wol/service/configure", WOLServiceConfigure) authorized.PUT("/api/wol/service/configure", WOLAlterServiceConfigure) authorized.GET("api/wol/service/getipv4interface", GetIPv4Interface) r.GET("/api/wol/service", WOLWebsocketHandler) } var upgrader = websocket.Upgrader{ ReadBufferSize: 4096 * 1, WriteBufferSize: 4096 * 1, CheckOrigin: func(r *http.Request) bool { //允许跨域 return true }, } func AddWOLDevice(c *gin.Context) { var requestObj wolconf.WOLDevice err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = checkWolDevice(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("添加网络唤醒设备出错:%s", err.Error())}) return } err = wol.WOLDeviceListAdd(&requestObj) if err != nil { log.Printf("config.WOLDeviceListAdd error:%s", err.Error()) c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("添加网络唤醒设备出错!:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } type DeviceInfo struct { wolconf.WOLDevice State string OnlineMacList []string DianDengClientState string BemfaClientState string } func GetWOLDeviceList(c *gin.Context) { rawlist := wol.GetWOLDeviceList() var list []DeviceInfo for i := range rawlist { state, onlineMacList := wol.GetDeviceStateDetail(&rawlist[i]) d := DeviceInfo{} d.WOLDevice = rawlist[i] d.State = state d.OnlineMacList = onlineMacList d.DianDengClientState = rawlist[i].GetDianDengClientState() d.BemfaClientState = rawlist[i].GetBemfaClientState() list = append(list, d) } c.JSON(http.StatusOK, gin.H{"ret": 0, "list": list}) } func AlterWOLDevice(c *gin.Context) { var requestObj wolconf.WOLDevice err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = checkWolDevice(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("修改网络唤醒设备出错:%s", err.Error())}) return } err = wol.WOLDeviceListAlter(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("修改网络唤醒设备配置失败:%s", err.Error())}) return } wol.SyncClientConfigureToClient(&requestObj) c.JSON(http.StatusOK, gin.H{"ret": 0}) } func DeleteWOLDevice(c *gin.Context) { key := c.Query("key") err := wol.WOLDeviceListDelete(key) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("删除网络唤醒设备失败:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func WOLDeviceWakeUp(c *gin.Context) { key := c.Query("key") device := wol.GetWOLDeviceByKey(key) if device == nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "找不到Key对应的设备,唤醒失败"}) return } err := device.WakeUp(wol.WakeUpFinishedCallback) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": "唤醒失败"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func WOLDeviceShutDown(c *gin.Context) { key := c.Query("key") device := wol.GetWOLDeviceByKey(key) if device == nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "找不到Key对应的设备,发送执行关机指令失败"}) return } count := wol.ExecShutDown(device) if count == 0 { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": "没有设备在线,未能发送关机指令"}) return } c.SecureJSON(http.StatusOK, gin.H{"ret": 0, "successCount": count}) } func checkWolDevice(d *wolconf.WOLDevice) error { if len(d.MacList) <= 0 { return fmt.Errorf("网卡MAC不能为空") } if strings.HasPrefix(d.Key, "Client_") { if len(d.MacList) > 1 { return fmt.Errorf("与客户端关联的设备(由客户端连接同步)只能填写一个mac") } if len(d.BroadcastIPs) > 1 { return fmt.Errorf("与客户端关联的设备(由客户端连接同步)只能填写一个广播地址") } } if d.IOT_Bemfa_Enable { if strings.TrimSpace(d.IOT_Bemfa_SecretKey) == "" { return fmt.Errorf("巴法云私钥不能为空") } if strings.TrimSpace(d.IOT_Bemfa_Topic) == "" { return fmt.Errorf("巴法云主题不能为空") } if !strings.HasSuffix(d.IOT_Bemfa_Topic, "001") { return fmt.Errorf("巴法云主题需要以001结尾,表示插座类型") } } if d.IOT_DianDeng_Enable { if strings.TrimSpace(d.IOT_DianDeng_AUTHKEY) == "" { return fmt.Errorf("点灯科技设备密钥不能为空") } } if d.Port <= 0 || d.Port > 065535 { d.Port = 9 } if d.Repeat <= 0 || d.Repeat > 10 { d.Repeat = 5 } return nil } func WOLServiceConfigure(c *gin.Context) { conf := wol.GetWOLServiceConfigure() c.JSON(http.StatusOK, gin.H{ "ret": 0, "configure": conf, "ClientState": wol.GetClientState(), "ClientStateMsg": wol.GetClientStateMsg(), "serviceStatus": service.GetServiceState()}) } func GetIPv4Interface(c *gin.Context) { interfacceList, err := netinterfaces.GetIPv4NetInterfaceInfoList() if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("获取IPv4网络信息列表出错:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "list": interfacceList}) } func WOLAlterServiceConfigure(c *gin.Context) { var conf wolconf.WOLServiceConfigure err := c.BindJSON(&conf) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = wol.AlterWOLClientConfigure(&conf, logger, true) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("保存配置出错:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "configure": conf}) } func WOLWebsocketHandler(c *gin.Context) { if !wol.GetWOLServiceConfigure().Server.Enable { c.Abort() return } conn, err := upgrader.Upgrade(c.Writer, c.Request, nil) if err != nil { logger.Errorf("WOLWebsocketHandler upgrader.Upgrade :error:%s", err.Error()) c.Abort() return } wsc := new(websocketcontroller.Controller) wsc.Logs = logger wsc.ReceiveMessageCallback = wol.ReceiveMsgFromWOLClient wsc.ClientDisconnectedCallback = wol.WOLClientDisconnect wsc.ClientReadyCallback = wol.WOLClientConnected wsc.SetSendMessageEncryptionFunc(wol.SendMessageEncryptionFunc) wsc.SetReceiveMessageDecryptionFunc(wol.ReceiveMessageDecryptionFunc) wsc.ConnectReady(conn) } ================================================ FILE: module/wol/module.go ================================================ package wol import ( "github.com/gdy666/lucky/config" "github.com/sirupsen/logrus" ) func Init(log *logrus.Logger) { WOLClientConfigureInit(log) deviceInit(log) } // deviceInit 暂时用于第三方物联网平台部分初始化 func deviceInit(log *logrus.Logger) { config.ConfigureMutex.RLock() defer config.ConfigureMutex.RUnlock() for i := range config.Configure.WOLDeviceList { config.Configure.WOLDeviceList[i].SetShutDownFunc(ExecShutDown) go config.Configure.WOLDeviceList[i].DianDengClientStart() go config.Configure.WOLDeviceList[i].BemfaClientStart() } } ================================================ FILE: module/wol/msg.go ================================================ package wol import ( wolconf "github.com/gdy666/lucky/module/wol/conf" ) const ( TypeLogin = '0' TypeLoginResp = '1' TypeSyncClientConfigure = '2' TypeReplyWakeUp = '3' TypeShutDown = '4' ) var ( msgTypeMap = map[byte]interface{}{ TypeLogin: Login{}, TypeLoginResp: LoginResp{}, TypeSyncClientConfigure: SyncClientConfigure{}, TypeReplyWakeUp: ReplyWakeUp{}, TypeShutDown: ShutDown{}, } ) type Login struct { wolconf.WOLClientConfigure ClientTimeStamp int64 } // 服务器发送给客户端,登录认证反馈 ,ret 为0成功,其它失败 type LoginResp struct { Ret int // Msg string } type SyncClientConfigure struct { wolconf.WOLClientConfigure } type ReplyWakeUp struct { MacList []string BroadcastIPs []string Port int Repeat int } type ShutDown struct { } ================================================ FILE: module/wol/service.go ================================================ package wol import ( "fmt" "sync" "time" wolconf "github.com/gdy666/lucky/module/wol/conf" websocketcontroller "github.com/gdy666/lucky/thirdlib/gdylib/websocketController" ) var clientControllerMap sync.Map func ReceiveMsgFromWOLClient(c *websocketcontroller.Controller, msgBytes []byte) { rawMsg, err := UnPack(msgBytes) if err != nil { return } switch m := rawMsg.(type) { case *Login: go hanlderWOLDeviceClientLogin(m, c) default: fmt.Printf("未知消息类型\n") } } func SyncClientConfigureToClient(d *wolconf.WOLDevice) { wc, wcOk := clientControllerMap.Load(d.Key) if !wcOk { return } syncMsg := &SyncClientConfigure{} syncMsg.DeviceName = d.DeviceName syncMsg.BroadcastIP = d.BroadcastIPs[0] syncMsg.Mac = d.MacList[0] syncMsg.Port = d.Port syncMsg.Relay = d.Relay syncMsg.Repeat = d.Repeat syncMsg.UpdateTime = d.UpdateTime SendMessage(wc.(*websocketcontroller.Controller), syncMsg) } func WOLClientDisconnect(c *websocketcontroller.Controller) { mac, macOk := c.GetExtData("mac") if macOk { clientControllerMap.Delete(mac) } key, keyOk := c.GetExtData("key") if keyOk { clientControllerMap.Delete(key) } } func WOLClientConnected(c *websocketcontroller.Controller) { //fmt.Printf("WOLClientConnected \n") } func WakeUpFinishedCallback(reply bool, macList []string, broadcastIps []string, port, repeat int) { if !reply { return } msg := &ReplyWakeUp{MacList: macList, BroadcastIPs: broadcastIps, Port: port, Repeat: repeat} devicesList := GetWOLDeviceList() for _, d := range devicesList { if !d.Relay { continue } wc, wcOk := clientControllerMap.Load(d.Key) if !wcOk { continue } SendMessage(wc.(*websocketcontroller.Controller), msg) } } func hanlderWOLDeviceClientLogin(m *Login, c *websocketcontroller.Controller) { msg := &LoginResp{} defer func() { if msg.Ret != 0 { return } c.StoreExtData("mac", m.Mac) c.StoreExtData("key", m.Key) c.StoreExtData("deviceName", m.DeviceName) clientControllerMap.Store(m.Key, c) clientControllerMap.Store(m.Mac, c) }() nowTimeStamp := time.Now().Unix() if nowTimeStamp-m.ClientTimeStamp > 30 || m.ClientTimeStamp-nowTimeStamp > 30 { msg.Msg = "客户端和服务器端时间相差大于30秒,请先校对时间" msg.Ret = 1 SendMessage(c, msg) return } if m.Token != GetWOLServiceConfigure().Server.Token { msg.Msg = "Token不匹配" msg.Ret = 1 SendMessage(c, msg) return } d := GetWOLDeviceByKey(m.Key) if d == nil { //根据Key找不到记录 d = GetWOLDeviceByMac(m.Mac) dev := &wolconf.WOLDevice{ Key: m.Key, DeviceName: m.DeviceName, MacList: []string{m.Mac}, BroadcastIPs: []string{m.BroadcastIP}, Port: m.Port, Relay: m.Relay, Repeat: m.Repeat, UpdateTime: m.UpdateTime, } if d == nil { //创建记录 err := WOLDeviceListAdd(dev) if err == nil { msg.Ret = 0 SendMessage(c, msg) } else { msg.Msg = fmt.Sprintf("添加唤醒设备记录出错:%s", err.Error()) msg.Ret = 2 SendMessage(c, msg) } } else { //修改相同Mac记录的设备未 fmt.Printf("修改相同Mac记录的设备\n") err := WOLDeviceListReplace(d.Key, dev) if err == nil { msg.Ret = 0 SendMessage(c, msg) } else { msg.Msg = fmt.Sprintf("替换唤醒设备记录出错:%s", err.Error()) msg.Ret = 3 SendMessage(c, msg) } } return } if d.UpdateTime == m.UpdateTime { //fmt.Printf("两端规则更新时间一致,不用同步\n") msg.Ret = 0 SendMessage(c, msg) return } //fmt.Printf("d.UpdateTime:%d m.UpdateTime:%d\n", d.UpdateTime, m.UpdateTime) if d.UpdateTime > m.UpdateTime { msg.Ret = 0 SendMessage(c, msg) //fmt.Printf("服务端配置较新,同步至客户端\n") syncMsg := &SyncClientConfigure{m.WOLClientConfigure} syncMsg.DeviceName = d.DeviceName syncMsg.BroadcastIP = d.BroadcastIPs[0] syncMsg.Mac = d.MacList[0] syncMsg.Port = d.Port syncMsg.Relay = d.Relay syncMsg.Repeat = d.Repeat syncMsg.UpdateTime = d.UpdateTime SendMessage(c, syncMsg) } else { //fmt.Printf("客户端配置较新,同步至服务器端") dev := &wolconf.WOLDevice{ Key: m.Key, DeviceName: m.DeviceName, MacList: []string{m.Mac}, BroadcastIPs: []string{m.BroadcastIP}, Port: m.Port, Relay: m.Relay, Repeat: m.Repeat, UpdateTime: m.UpdateTime, IOT_DianDeng_Enable: d.IOT_Bemfa_Enable, IOT_DianDeng_AUTHKEY: d.IOT_DianDeng_AUTHKEY, IOT_Bemfa_Enable: d.IOT_Bemfa_Enable, IOT_Bemfa_SecretKey: d.IOT_Bemfa_SecretKey, IOT_Bemfa_Topic: d.IOT_Bemfa_Topic, } err := WOLDeviceListAlter(dev) if err == nil { msg.Ret = 0 SendMessage(c, msg) } else { msg.Ret = 3 msg.Msg = fmt.Sprintf("同步客户端配置到服务端出错:%s", err.Error()) } } } func ExecShutDown(d *wolconf.WOLDevice) int { successCount := 0 msg := &ShutDown{} for _, mac := range d.MacList { cc, ccOk := clientControllerMap.Load(mac) if !ccOk { continue } SendMessage(cc.(*websocketcontroller.Controller), msg) successCount++ } return successCount } ================================================ FILE: module/wol/websocketcommon.go ================================================ package wol import ( "fmt" websocketcontroller "github.com/gdy666/lucky/thirdlib/gdylib/websocketController" ) func SendMessage(c *websocketcontroller.Controller, msg any) error { msgBytes, err := Pack(msg) if err != nil { fmt.Printf("pack FUck:%s\n", err.Error()) return err } c.SendMessage(msgBytes) return nil } func Pack(msg interface{}) ([]byte, error) { return msgCtl.Pack(msg) } func UnPack(bytes []byte) (msg Message, err error) { if len(bytes) <= 9 { err = fmt.Errorf("len(bytes) <= 9") return } return msgCtl.UnPack(bytes[0], bytes[9:]) } ================================================ FILE: reverseproxy/proxy.go ================================================ package reverseproxy import ( "fmt" "log" "github.com/gdy666/lucky/config" ) func InitReverseProxyServer() { ruleList := config.GetReverseProxyRuleList() for ruleIndex := range ruleList { if ruleList[ruleIndex].Enable { startRes := ruleList[ruleIndex].ServerStart() if startRes == nil { log.Printf("启动反向代理服务[%s]成功", ruleList[ruleIndex].Addr()) } else { log.Printf("启动反向代理服务[%s]失败:%s", ruleList[ruleIndex].Addr(), startRes.Error()) } } } } func EnableRuleByKey(key string, enable bool) error { rule := config.GetReverseProxyRuleByKey(key) if rule == nil { return fmt.Errorf("GetReverseProxyRuleByKey not found:%s", key) } if enable { err := rule.ServerStart() if err != nil { log.Printf("启用反向代理规则[%s]出错:%s", rule.Addr(), err.Error()) config.EnableReverseProxyRuleByKey(key, false) return fmt.Errorf("启用反向代理规则[%s]出错:%s", rule.Addr(), err.Error()) } else { log.Printf("启用反向代理规则[%s]成功", rule.Addr()) } } else { rule.ServerStop() log.Printf("停用反向代理规则[%s]成功", rule.Addr()) } return config.EnableReverseProxyRuleByKey(key, enable) } type RuleInfo struct { config.ReverseProxyRule AccessLogs map[string][]any } func GetProxyRuleListInfo() *[]RuleInfo { ruleList := config.GetReverseProxyRuleList() var res []RuleInfo for i := range ruleList { //ti := createProxyRuleInfo(nil, ruleList[i]) var ri RuleInfo ri.ReverseProxyRule = *ruleList[i] ri.AccessLogs = ruleList[i].GetLastLogs() res = append(res, ri) } return &res } func GetAccessLogs(ruleKey, proxyKey string, pageSize, page int) (int, []any) { var res []any total := 0 subRule := config.GetSubRuleByKey(ruleKey, proxyKey) if subRule == nil { return 0, res } total, res = subRule.GetLogsBuffer().GetLogsByLimit(config.WebLogConvert, pageSize, page) return total, res } ================================================ FILE: scripts/lucky.service ================================================ [Unit] Description=lucky After=network.target [Service] Type=simple User=root ExecStart=/etc/lucky/lucky -c /etc/lucky/lucky.conf >/dev/null Restart=on-failure RestartSec=3s LimitNOFILE=999999 [Install] WantedBy=multi-user.target ================================================ FILE: scripts/luckyservice ================================================ #!/bin/sh /etc/rc.common # Copyright (C) 2006-2011 OpenWrt.org START=99 SERVICE_USE_PID=1 SERVICE_WRITE_PID=1 SERVICE_DAEMONIZE=1 #获取目录 DIR=$(cat /etc/profile | grep luckydir | awk -F "\"" '{print $2}') [ -z "$DIR" ] && DIR=$(cat ~/.bashrc | grep luckydir | awk -F "\"" '{print $2}') [ -z "$BINDIR" ] && BINDIR=$DIR BIN=$BINDIR/lucky CONF=$BINDIR/lucky.conf start() { service_start $BIN -c $CONF & } stop() { service_stop $BIN } ================================================ FILE: scripts/misnap_init.sh ================================================ #!/bin/sh # Copyright (C) gdy luckydir=/data/lucky.daji profile=/etc/profile sed -i '/alias lucky=*/'d $profile sed -i '/export luckydir=*/'d $profile #h初始化环境变量 echo "alias lucky=\"$luckydir/lucky\"" >> $profile echo "export luckydir=\"$luckydir\"" >> $profile #设置init.d服务并启动lucky ln -sf $luckydir/scripts/luckyservice /etc/init.d/lucky.daji chmod 755 /etc/init.d/lucky.daji log_file=`uci get system.@system[0].log_file` i=0 while [ "$i" -lt 10 ];do sleep 3 [ -n "$(grep 'init complete' $log_file)" ] && i=10 || i=$((i+1)) done /etc/init.d/lucky.daji enable /etc/init.d/lucky.daji start ================================================ FILE: socketproxy/baseproxyconf.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "sync/atomic" ) type BaseProxyConf struct { TrafficIn int64 TrafficOut int64 key string ProxyType string // tcp tcp4 tcp6 udp udp4 udp6 } func (p *BaseProxyConf) GetProxyType() string { return p.ProxyType } func (p *BaseProxyConf) GetStatus() string { return p.ProxyType } func (p *BaseProxyConf) ReceiveDataCallback(nw int64) { atomic.AddInt64(&p.TrafficIn, nw) } func (p *BaseProxyConf) SendDataCallback(nw int64) { atomic.AddInt64(&p.TrafficOut, nw) } func (p *BaseProxyConf) GetTrafficIn() int64 { return atomic.LoadInt64(&p.TrafficIn) } func (p *BaseProxyConf) GetTrafficOut() int64 { return atomic.LoadInt64(&p.TrafficOut) } ================================================ FILE: socketproxy/proxy.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "errors" "fmt" "io" "strings" "sync" "github.com/gdy666/lucky/thirdlib/gdylib/pool" "github.com/sirupsen/logrus" ) type Proxy interface { StartProxy() StopProxy() ReceiveDataCallback(int64) SendDataCallback(int64) GetProxyType() string GetStatus() string GetListenIP() string GetListenPort() int GetKey() string GetCurrentConnections() int64 String() string GetTrafficIn() int64 GetTrafficOut() int64 SafeCheck(ip string) bool } type RelayRuleOptions struct { UDPPackageSize int `json:"UDPPackageSize,omitempty"` SingleProxyMaxTCPConnections int64 `json:"SingleProxyMaxTCPConnections,omitempty"` SingleProxyMaxUDPReadTargetDatagoroutineCount int64 `json:"SingleProxyMaxUDPReadTargetDatagoroutineCount"` UDPProxyPerformanceMode bool `json:"UDPProxyPerformanceMode,omitempty"` UDPShortMode bool `json:"UDPShortMode,omitempty"` SafeMode string `json:"SafeMode,omitempty"` } // Join two io.ReadWriteCloser and do some operations. func (p *BaseProxyConf) relayData(targetServer io.ReadWriteCloser, client io.ReadWriteCloser) { var wait sync.WaitGroup pipe := func(to io.ReadWriteCloser, from io.ReadWriteCloser, writedataCallback func(int64)) { defer to.Close() defer from.Close() defer wait.Done() nw, _ := p.copyBuffer(to, from, nil, nil) if writedataCallback != nil { writedataCallback(nw) } // if p.TrafficMonitor { // buf := pool.GetBuf(8 * 1024 * 1024) // p.CopyBuffer(to, from, buf, writedataCallback) // pool.PutBuf(buf) // } else { // nw, _ := p.copyBuffer(to, from, nil, nil) // if writedataCallback != nil { // writedataCallback(nw) // } // } } wait.Add(2) go pipe(targetServer, client, p.ReceiveDataCallback) go pipe(client, targetServer, p.SendDataCallback) wait.Wait() } func (p *BaseProxyConf) CopyBuffer(dst io.Writer, src io.Reader, buf []byte, writedataCallback func(int64)) (written int64, err error) { if buf != nil && len(buf) == 0 { panic("empty buffer in CopyBuffer") } return p.copyBuffer(dst, src, buf, writedataCallback) } // copyBuffer is the actual implementation of Copy and CopyBuffer. // if buf is nil, one is allocated. func (p *BaseProxyConf) copyBuffer(dst io.Writer, src io.Reader, buf []byte, writedataCallback func(int64)) (written int64, err error) { if buf == nil { if wt, ok := src.(io.WriterTo); ok { return wt.WriteTo(dst) } if rt, ok := dst.(io.ReaderFrom); ok { return rt.ReadFrom(src) } size := 32 * 1024 if l, ok := src.(*io.LimitedReader); ok && int64(size) > l.N { if l.N < 1 { size = 1 } else { size = int(l.N) } } buf = pool.GetBuf(8 * size) defer pool.PutBuf(buf) } for { nr, er := src.Read(buf) if nr > 0 { nw, ew := dst.Write(buf[0:nr]) if nw < 0 || nr < nw { nw = 0 if ew == nil { ew = errors.New("invalid write result") } } written += int64(nw) if writedataCallback != nil { writedataCallback(int64(nw)) } if ew != nil { err = ew break } if nr != nw { err = io.ErrShortWrite break } } if er != nil { if er != io.EOF { err = er } break } } return written, err } func formatFileSize(fileSize int64) (size string) { switch { case fileSize < 1024: return fmt.Sprintf("%.2fB", float64(fileSize)/float64(1)) case fileSize < (1024 * 1024): return fmt.Sprintf("%.2fKB", float64(fileSize)/float64(1024)) case fileSize < (1024 * 1024 * 1024): return fmt.Sprintf("%.2fMB", float64(fileSize)/float64(1024*1024)) case fileSize < (1024 * 1024 * 1024 * 1024): return fmt.Sprintf("%.2fGB", float64(fileSize)/float64(1024*1024*1024)) case fileSize < (1024 * 1024 * 1024 * 1024 * 1024): return fmt.Sprintf("%.2fTB", float64(fileSize)/float64(1024*1024*1024*1024)) default: return fmt.Sprintf("%.2fEB", float64(fileSize)/float64(1024*1024*1024*1024*1024)) } } func CreateProxy(log *logrus.Logger, proxyType, listenIP string, targetAddressList []string, listenPort, targetPort int, options *RelayRuleOptions) (p Proxy, err error) { //key := GetProxyKey(proxyType, listenIP, listenPort) switch { case strings.HasPrefix(proxyType, "tcp"): { return CreateTCPProxy(log, proxyType, listenIP, targetAddressList, listenPort, targetPort, options), nil } case strings.HasPrefix(proxyType, "udp"): { return CreateUDPProxy(log, proxyType, listenIP, targetAddressList, listenPort, targetPort, options), nil } default: return nil, fmt.Errorf("未支持的类型:%s", proxyType) } } func GetProxyKey(proxyType, listenIP string, listenPort int) string { return fmt.Sprintf("%s@%s:%d", proxyType, listenIP, listenPort) } ================================================ FILE: socketproxy/tcpproxy.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "fmt" "log" "net" "strings" "sync" "github.com/sirupsen/logrus" ) type TCPProxy struct { TCPUDPProxyCommonConf //TcpSingleProxyMaxConns int64 // tcpCurrentConns int64 listenConn net.Listener listenConnMutex sync.Mutex connMap map[string]net.Conn connMapMutex sync.Mutex } func CreateTCPProxy(log *logrus.Logger, proxyType, listenIP string, targetAddressList []string, listenPort, targetPort int, options *RelayRuleOptions) *TCPProxy { p := &TCPProxy{} p.ProxyType = proxyType p.listenIP = listenIP p.listenPort = listenPort p.targetAddressList = targetAddressList p.targetPort = targetPort p.log = log p.safeMode = options.SafeMode p.SetMaxConnections(options.SingleProxyMaxTCPConnections) return p } func (p *TCPProxy) GetStatus() string { return fmt.Sprintf("%s\nactivity connections:[%d]", p.String(), p.GetCurrentConnections()) } func (p *TCPProxy) CheckConnectionsLimit() error { if GetGlobalTCPPortForwardConnections() >= GetGlobalTCPPortforwardMaxConnections() { return fmt.Errorf("超出TCP最大总连接数[%d]限制", GetGlobalTCPPortforwardMaxConnections()) } if p.GetCurrentConnections() >= p.SingleProxyMaxConnections { return fmt.Errorf("超出单端口TCP最大连接数[%d]限制", p.SingleProxyMaxConnections) } //全局,单端口限制 return nil } func (p *TCPProxy) StartProxy() { p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() if p.listenConn != nil { //log.Printf("proxy %s is started", p.String()) p.log.Warnf("proxy %s is started", p.String()) return } if p.connMap == nil { p.connMap = make(map[string]net.Conn) } ln, err := net.Listen(p.ProxyType, p.GetListentAddress()) if err != nil { if strings.Contains(err.Error(), "Only one usage of each socket address") { p.log.Errorf("监听IP端口[%s]已被占用,proxy[%s]启动失败", p.GetListentAddress(), p.String()) } else { p.log.Errorf("Cannot start proxy[%s]:%s", p.String(), err) } return } p.listenConn = ln p.log.Infof("[端口转发][开启][%s]", p.String()) go func() { for { newConn, err := ln.Accept() if err != nil { if strings.Contains(err.Error(), "use of closed network connection") { break } p.log.Errorf(" Cannot accept connection due to error %s", err.Error()) continue } err = p.CheckConnectionsLimit() if err != nil { //p.PrintConnectionsInfo() p.log.Warnf("[%s]超出最大连接数限制,不再接受新连接:%s", p.GetKey(), err.Error()) newConn.Close() continue } newConnAddr := newConn.RemoteAddr().String() if !p.SafeCheck(newConnAddr) { p.log.Warnf("[%s]新连接 [%s]安全检查未通过", p.GetKey(), newConnAddr) newConn.Close() continue } p.log.Infof("[%s]新连接[%s]安全检查通过", p.GetKey(), newConnAddr) p.connMapMutex.Lock() p.connMap[newConn.RemoteAddr().String()] = newConn p.connMapMutex.Unlock() p.AddCurrentConnections(1) go p.handle(newConn) } }() // //p.test() //go p.test() //go p.tcptest() } func (p *TCPProxy) StopProxy() { p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() defer func() { p.log.Infof("[端口转发][关闭][%s]", p.String()) }() if p.listenConn == nil { return } p.listenConn.Close() p.listenConn = nil p.connMapMutex.Lock() for _, conn := range p.connMap { conn.Close() } p.connMap = make(map[string]net.Conn) p.connMapMutex.Unlock() } func (p *TCPProxy) handle(conn net.Conn) { //dialer := net.Dialer{Timeout: 10 * time.Second} //targetConn, err := dialer.Dial("tcp", p.TargetAddress) targetConn, err := net.Dial("tcp", p.GetTargetAddress()) defer func() { if targetConn != nil { targetConn.Close() } defer conn.Close() p.AddCurrentConnections(-1) p.connMapMutex.Lock() delete(p.connMap, conn.RemoteAddr().String()) p.log.Infof("[%s]%s 断开连接", p.GetKey(), conn.RemoteAddr().String()) p.connMapMutex.Unlock() }() if err != nil { log.Printf("%s error:%s", p.String(), err.Error()) return } //targetConn.SetDeadline(time.Now().Add(time.Second * 3)) // targetTcpConn, ok := targetConn.(*net.TCPConn) // if ok { // targetTcpConn.SetReadBuffer(p.BufferSize * 1024 * 256 * 1024) // targetTcpConn.SetWriteBuffer(p.BufferSize * 1024 * 256 * 1024) // } p.relayData(targetConn, conn) } ================================================ FILE: socketproxy/tcpudpcommon.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "fmt" "net" "strings" "sync" "sync/atomic" "github.com/sirupsen/logrus" ) const TCP_DEFAULT_STREAM_BUFFERSIZE = 128 const DEFAULT_GLOBAL_MAX_CONNECTIONS = int64(1024) const DEFAULT_GLOBAL_UDPReadTargetDataMaxgoroutineCount = int64(1024) const TCPUDP_DEFAULT_SINGLE_PROXY_MAX_CONNECTIONS = int64(256) const DEFAULT_MAX_PORTFORWARDS_LIMIT = int64(128) var globalTCPPortforwardMaxConnectionsLimit = DEFAULT_GLOBAL_MAX_CONNECTIONS var globalUDPReadTargetDataMaxgoroutineCountLimit = DEFAULT_GLOBAL_UDPReadTargetDataMaxgoroutineCount var globalTCPPortForwardCurrentConnections int64 = 0 var globalUDPPortForwardCurrentGroutineCount int64 = 0 var gloMaxPortForwardsCountLimit int64 = DEFAULT_MAX_PORTFORWARDS_LIMIT var safeCheckFunc func(mode, ip string) bool func SetSafeCheck(f func(mode, ip string) bool) { safeCheckFunc = f } func SetGlobalUDPReadTargetDataMaxgoroutineCountLimit(max int64) { atomic.StoreInt64(&globalUDPReadTargetDataMaxgoroutineCountLimit, max) } func GetGlobalUDPReadTargetDataMaxgoroutineCountLimit() int64 { return atomic.LoadInt64(&globalUDPReadTargetDataMaxgoroutineCountLimit) } func SetGlobalMaxPortForwardsCountLimit(max int64) { atomic.StoreInt64(&gloMaxPortForwardsCountLimit, max) } func GetGlobalMaxPortForwardsCountLimit() int64 { return atomic.LoadInt64(&gloMaxPortForwardsCountLimit) } func SetGlobalTCPPortforwardMaxConnections(max int64) { atomic.StoreInt64(&globalTCPPortforwardMaxConnectionsLimit, max) } func GetGlobalTCPPortforwardMaxConnections() int64 { return atomic.LoadInt64(&globalTCPPortforwardMaxConnectionsLimit) } func GetGlobalTCPPortForwardConnections() int64 { return atomic.LoadInt64(&globalTCPPortForwardCurrentConnections) } func GloBalTCPPortForwardConnectionsAdd(add int64) int64 { return atomic.AddInt64(&globalTCPPortForwardCurrentConnections, add) } func GetGlobalUDPPortForwardGroutineCount() int64 { return atomic.LoadInt64(&globalUDPPortForwardCurrentGroutineCount) } func GloBalUDPPortForwardGroutineCountAdd(add int64) int64 { return atomic.AddInt64(&globalUDPPortForwardCurrentGroutineCount, add) } type TCPUDPProxyCommonConf struct { CurrentConnectionsCount int64 SingleProxyMaxConnections int64 BaseProxyConf listentAddress string listenIP string listenPort int //targetIP string targetAddressList []string targetAddressCount int targetAddressIndex uint64 targetAddressLock sync.Mutex targetPort int safeMode string log *logrus.Logger } // func (p *TCPUDPProxyCommonConf) PrintConnectionsInfo() { // p.log.Infof("[%s]当前连接数:[%d],当前端口最大TCP连接数限制[%d],全局最大TCP连接数限制[%d]", p.GetKey(), p.GetCurrentConnections(), p.SingleProxyMaxConnections, GetGlobalTCPPortforwardMaxConnections()) // } func (p *TCPUDPProxyCommonConf) SetMaxConnections(max int64) { if max <= 0 { p.SingleProxyMaxConnections = TCPUDP_DEFAULT_SINGLE_PROXY_MAX_CONNECTIONS } else { p.SingleProxyMaxConnections = max } } func (p *TCPUDPProxyCommonConf) AddCurrentConnections(a int64) { atomic.AddInt64(&p.CurrentConnectionsCount, a) if strings.HasPrefix(p.ProxyType, "tcp") { GloBalTCPPortForwardConnectionsAdd(a) return } if strings.HasPrefix(p.ProxyType, "udp") { GloBalUDPPortForwardGroutineCountAdd(a) return } } func (p *TCPUDPProxyCommonConf) GetCurrentConnections() int64 { return atomic.LoadInt64(&p.CurrentConnectionsCount) } func (p *TCPUDPProxyCommonConf) GetListentAddress() string { if p.listentAddress == "" { if strings.Contains(p.listenIP, ":") { p.listentAddress = fmt.Sprintf("[%s]:%d", p.listenIP, p.listenPort) } else { p.listentAddress = fmt.Sprintf("%s:%d", p.listenIP, p.listenPort) } } return p.listentAddress } func (p *TCPUDPProxyCommonConf) GetKey() string { if p.key == "" { p.key = GetProxyKey(p.ProxyType, p.listenIP, p.listenPort) } return p.key } func (p *TCPUDPProxyCommonConf) GetListenIP() string { return p.listenIP } func (p *TCPUDPProxyCommonConf) GetListenPort() int { return p.listenPort } func (p *TCPUDPProxyCommonConf) GetTargetAddress() string { p.targetAddressLock.Lock() defer p.targetAddressLock.Unlock() if p.targetAddressCount <= 0 { p.targetAddressCount = len(p.targetAddressList) p.targetAddressIndex = 0 } address := fmt.Sprintf("%s:%d", p.targetAddressList[p.targetAddressIndex%uint64(p.targetAddressCount)], p.targetPort) p.targetAddressIndex++ return address } func (p *TCPUDPProxyCommonConf) String() string { return fmt.Sprintf("%s@%v ===> %v:%d", p.ProxyType, p.GetListentAddress(), p.targetAddressList, p.targetPort) } func (p *TCPUDPProxyCommonConf) SafeCheck(remodeAddr string) bool { host, _, _ := net.SplitHostPort(remodeAddr) return safeCheckFunc(p.safeMode, host) } ================================================ FILE: socketproxy/udpproxy.go ================================================ // Copyright 2022 gdy, 272288813@qq.com package socketproxy import ( "fmt" "net" "runtime" "strings" "sync" "time" "github.com/fatedier/golib/errors" "github.com/gdy666/lucky/thirdlib/gdylib/pool" "github.com/sirupsen/logrus" ) const UDP_DEFAULT_PACKAGE_SIZE = 1500 //测试 type UDPProxy struct { //BaseProxyConf TCPUDPProxyCommonConf // targetAddr *net.UDPAddr listenConn *net.UDPConn listenConnMutex sync.Mutex relayChs []chan *udpPackge replyCh chan *udpPackge udpPackageSize int //targetudpConnItemMap map[string]*udpMapItem //targetudpConnItemMapMutex sync.RWMutex targetConnectSessions sync.Map Upm bool //性能模式 ShortMode bool isStop bool SingleProxyMaxUDPReadTargetDatagoroutineCount int64 } type udpPackge struct { dataSize int data *[]byte remoteAddr *net.UDPAddr } type udpTagetConSession struct { targetConn *net.UDPConn lastTime time.Time } func CreateUDPProxy(log *logrus.Logger, proxyType, listenIP string, targetAddressList []string, listenPort, targetPort int, options *RelayRuleOptions) *UDPProxy { p := &UDPProxy{} //p.Key = key p.ProxyType = proxyType p.listenIP = listenIP p.listenPort = listenPort p.targetAddressList = targetAddressList p.targetPort = targetPort p.Upm = options.UDPProxyPerformanceMode p.ShortMode = options.UDPShortMode p.safeMode = options.SafeMode p.log = log p.SingleProxyMaxUDPReadTargetDatagoroutineCount = options.SingleProxyMaxUDPReadTargetDatagoroutineCount p.SetUDPPacketSize(options.UDPPackageSize) return p } func (p *UDPProxy) getHandlegoroutineNum() int { if p.Upm { return runtime.NumCPU() } return 1 } func (p *UDPProxy) SetUDPPacketSize(size int) { if size <= 0 { p.udpPackageSize = UDP_DEFAULT_PACKAGE_SIZE return } if size > 65507 { p.udpPackageSize = 65507 return } p.udpPackageSize = size } func (p *UDPProxy) GetUDPPacketSize() int { return p.udpPackageSize } func (p *UDPProxy) StartProxy() { //p.init() p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() if p.listenConn != nil { return } bindAddr, err := net.ResolveUDPAddr(p.ProxyType, p.GetListentAddress()) if err != nil { p.log.Errorf("Cannot start proxy[%s]:%s", p.GetKey(), err) return } ln, err := net.ListenUDP(p.ProxyType, bindAddr) if err != nil { if strings.Contains(err.Error(), " bind: Only one usage of each socket address") { p.log.Errorf("监听IP端口[%s]已被占用,proxy[%s]启动失败", p.GetListentAddress(), p.String()) } else { p.log.Errorf("Cannot start proxy[%s]:%s", p.String(), err) } return } ln.SetReadBuffer(p.getHandlegoroutineNum() * 4 * 1024 * 1024) ln.SetWriteBuffer(p.getHandlegoroutineNum() * 4 * 1024 * 1024) p.listenConn = ln p.log.Infof("[端口转发][开启][%s]", p.String()) p.relayChs = make([]chan *udpPackge, p.getHandlegoroutineNum()) for i := range p.relayChs { p.relayChs[i] = make(chan *udpPackge, 1024) } p.replyCh = make(chan *udpPackge, 1024) // if p.targetudpConnItemMap == nil { // p.targetudpConnItemMap = make(map[string]*udpMapItem) // } for i := range p.relayChs { go p.Forwarder(i, p.relayChs[i]) } go p.replyDataToRemotAddress() go p.CheckTargetUDPConnectSessions() for i := 0; i < p.getHandlegoroutineNum(); i++ { go p.ListenHandler(ln) } } func (p *UDPProxy) StopProxy() { p.listenConnMutex.Lock() defer p.listenConnMutex.Unlock() defer func() { p.targetConnectSessions.Range(func(key any, value any) bool { session := value.(*udpTagetConSession) session.targetConn.Close() p.targetConnectSessions.Delete(key) return true }) p.log.Infof("[端口转发][关闭][%s]", p.String()) }() if p.listenConn == nil { return } p.listenConn.Close() p.listenConn = nil p.isStop = true close(p.replyCh) for i := range p.relayChs { close(p.relayChs[i]) } } // ReadFromTargetOnce one clientAddr only read once,short mode eg: udp dns func (p *UDPProxy) ReadFromTargetOnce() bool { if p.targetPort == 53 || p.ShortMode { return true } return false } // func (p *UDPProxy) GetStatus() string { // return fmt.Sprintf("%s max packet size[%d]", p.String(), p.GetUDPPacketSize()) // } func (p *UDPProxy) ListenHandler(ln *net.UDPConn) { inDatabuf := pool.GetBuf(p.GetUDPPacketSize()) defer pool.PutBuf(inDatabuf) i := uint64(0) for { if p.listenConn == nil { break } inDatabufSize, remoteAddr, err := ln.ReadFromUDP(inDatabuf) if err != nil { if strings.Contains(err.Error(), `smaller than the datagram`) { p.log.Errorf("[%s] UDP包最大长度设置过小,请重新设置", p.GetKey()) } else { if !strings.Contains(err.Error(), "use of closed network connection") { p.log.Errorf(" %s ReadFromUDP error:\n%s \n", p.String(), err.Error()) } } continue } remoteAddrStr := remoteAddr.String() if !p.SafeCheck(remoteAddrStr) { p.log.Warnf("[%s]新连接 [%s]安全检查未通过", p.GetKey(), remoteAddrStr) continue } _, ok := p.targetConnectSessions.Load(remoteAddrStr) if !ok { p.log.Infof("[%s]新连接 [%s]安全检查通过", p.GetKey(), remoteAddrStr) } data := pool.GetBuf(inDatabufSize) copy(data, inDatabuf[:inDatabufSize]) inUdpPack := udpPackge{dataSize: inDatabufSize, data: &data, remoteAddr: remoteAddr} p.relayChs[i%uint64(p.getHandlegoroutineNum())] <- &inUdpPack i++ } } func (p *UDPProxy) handlerDataFromTargetAddress(raddr *net.UDPAddr, tgConn *net.UDPConn) { readBuffer := pool.GetBuf(p.GetUDPPacketSize()) var session *udpTagetConSession sessionKey := raddr.String() defer func() { pool.PutBuf(readBuffer) if p.ReadFromTargetOnce() { tgConn.Close() } else { p.targetConnectSessions.Delete(sessionKey) } p.AddCurrentConnections(-1) p.log.Infof("[%s]目标地址[%s]关闭连接[%s]", p.GetKey(), tgConn.RemoteAddr().String(), tgConn.LocalAddr().String()) }() var targetConn *net.UDPConn p.AddCurrentConnections(1) for { targetConn = nil session = nil timeout := 1200 * time.Millisecond if p.ReadFromTargetOnce() { timeout = 300 * time.Millisecond } if p.ReadFromTargetOnce() { targetConn = tgConn } else { se, ok := p.targetConnectSessions.Load(sessionKey) if !ok { return } session = se.(*udpTagetConSession) targetConn = session.targetConn } targetConn.SetReadDeadline(time.Now().Add(timeout)) n, _, err := targetConn.ReadFromUDP(readBuffer) if err != nil { errStr := err.Error() if strings.Contains(errStr, `i/o timeout`) && !p.ReadFromTargetOnce() { continue } if !strings.Contains(errStr, `use of closed network connection`) { p.log.Errorf("[%s]targetConn ReadFromUDP error:%s", p.GetKey(), err.Error()) } return } data := pool.GetBuf(n) copy(data, readBuffer[:n]) udpMsg := udpPackge{dataSize: n, data: &data, remoteAddr: raddr} if err = errors.PanicToError(func() { select { case p.replyCh <- &udpMsg: //转发数据到远程地址 default: } }); err != nil { return } if p.ReadFromTargetOnce() { //一次性 return } //非一次性,刷新时间或者退出 _, ok := p.targetConnectSessions.Load(sessionKey) if !ok { return } } } func (p *UDPProxy) Forwarder(kk int, replych chan *udpPackge) { // read from targetAddr and write clientAddr var err error // read from readCh for udpMsg := range replych { err = nil se, ok := p.targetConnectSessions.Load(udpMsg.remoteAddr.String()) if !ok { err := p.CheckReadTargetDataGoroutineLimit() if err != nil { p.log.Warnf("[%s]转发中止:%s", p.GetKey(), err.Error()) continue } } var session *udpTagetConSession if ok { session = se.(*udpTagetConSession) } else { session = &udpTagetConSession{} } if !ok { addr := p.GetTargetAddress() tgAddr, err := net.ResolveUDPAddr("udp", addr) if err != nil { p.log.Errorf("[%s]UDP端口转发目标地址[%s]解析出错:%s", p.GetKey(), addr, err.Error()) pool.PutBuf(*udpMsg.data) continue } targetConn, err := net.DialUDP("udp", nil, tgAddr) if err != nil { p.log.Errorf("[%s]UDP端口转发目标地址[%s]连接出错:%s", p.GetKey(), addr, err.Error()) pool.PutBuf(*udpMsg.data) continue } targetConn.SetWriteBuffer(4 * 1024 * 1024) targetConn.SetReadBuffer(4 * 1024 * 1024) session.targetConn = targetConn } session.lastTime = time.Now() if !p.ReadFromTargetOnce() { //只存储非一次性 p.targetConnectSessions.Store(udpMsg.remoteAddr.String(), session) } p.ReceiveDataCallback(int64(udpMsg.dataSize)) //接收流量记录 _, err = session.targetConn.Write(*udpMsg.data) if err != nil { p.log.Errorf("[%s]转发数据到目标端口出错:%s", p.GetKey(), err.Error()) session.targetConn.Close() continue } pool.PutBuf(*udpMsg.data) if !ok { go p.handlerDataFromTargetAddress(udpMsg.remoteAddr, session.targetConn) } } } func (p *UDPProxy) replyDataToRemotAddress() { for msg := range p.replyCh { _, err := p.listenConn.WriteToUDP(*(msg.data), msg.remoteAddr) pool.PutBuf(*msg.data) if err != nil { p.log.Errorf("[%s]转发目标端口数据到远程端口出错:%s", p.GetKey(), err.Error()) continue } p.SendDataCallback(int64(msg.dataSize)) //发送流量记录 } } func (p *UDPProxy) CheckReadTargetDataGoroutineLimit() error { if GetGlobalUDPPortForwardGroutineCount() >= GetGlobalUDPReadTargetDataMaxgoroutineCountLimit() { return fmt.Errorf("超出端口转发全局UDP读取目标地址数据协程数限制[%d]", GetGlobalUDPReadTargetDataMaxgoroutineCountLimit()) } if p.GetCurrentConnections() >= p.SingleProxyMaxUDPReadTargetDatagoroutineCount { return fmt.Errorf("超出单端口UDP读取目标地址数据协程数限制[%d]", p.SingleProxyMaxUDPReadTargetDatagoroutineCount) } return nil } func (p *UDPProxy) CheckTargetUDPConnectSessions() { for { <-time.After(time.Second * 1) if p.isStop { return } if p.GetCurrentConnections() <= 0 { continue } p.targetConnectSessions.Range(func(key any, value any) bool { session := value.(*udpTagetConSession) if time.Since(session.lastTime) >= 30*time.Second { session.targetConn.Close() p.targetConnectSessions.Delete(key) } return true }) } } ================================================ FILE: thirdlib/fatedier/golib/json/msg.go ================================================ // Copyright 2018 fatedier, fatedier@gmail.com // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package json import ( "reflect" ) var ( defaultMaxMsgLength int64 = 10240 ) // Message wraps socket packages for communicating between frpc and frps. type Message interface{} type MsgCtl struct { typeMap map[byte]reflect.Type typeByteMap map[reflect.Type]byte maxMsgLength int64 } func NewMsgCtl() *MsgCtl { return &MsgCtl{ typeMap: make(map[byte]reflect.Type), typeByteMap: make(map[reflect.Type]byte), maxMsgLength: defaultMaxMsgLength, } } func (msgCtl *MsgCtl) RegisterMsg(typeByte byte, msg interface{}) { msgCtl.typeMap[typeByte] = reflect.TypeOf(msg) msgCtl.typeByteMap[reflect.TypeOf(msg)] = typeByte } func (msgCtl *MsgCtl) SetMaxMsgLength(length int64) { msgCtl.maxMsgLength = length } ================================================ FILE: thirdlib/fatedier/golib/json/pack.go ================================================ // Copyright 2018 fatedier, fatedier@gmail.com // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package json import ( "bytes" "encoding/binary" "encoding/json" "reflect" ) func (msgCtl *MsgCtl) unpack(typeByte byte, buffer []byte, msgIn Message) (msg Message, err error) { if msgIn == nil { t, ok := msgCtl.typeMap[typeByte] if !ok { err = ErrMsgType return } msg = reflect.New(t).Interface().(Message) } else { msg = msgIn } err = json.Unmarshal(buffer, &msg) return } func (msgCtl *MsgCtl) UnPackInto(buffer []byte, msg Message) (err error) { _, err = msgCtl.unpack(' ', buffer, msg) return } func (msgCtl *MsgCtl) UnPack(typeByte byte, buffer []byte) (msg Message, err error) { return msgCtl.unpack(typeByte, buffer, nil) } func (msgCtl *MsgCtl) Pack(msg Message) ([]byte, error) { typeByte, ok := msgCtl.typeByteMap[reflect.TypeOf(msg).Elem()] if !ok { return nil, ErrMsgType } content, err := json.Marshal(msg) if err != nil { return nil, err } buffer := bytes.NewBuffer(nil) buffer.WriteByte(typeByte) binary.Write(buffer, binary.BigEndian, int64(len(content))) buffer.Write(content) return buffer.Bytes(), nil } ================================================ FILE: thirdlib/fatedier/golib/json/process.go ================================================ // Copyright 2018 fatedier, fatedier@gmail.com // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package json import ( "encoding/binary" "errors" "io" ) var ( ErrMsgType = errors.New("message type error") ErrMaxMsgLength = errors.New("message length exceed the limit") ErrMsgLength = errors.New("message length error") ErrMsgFormat = errors.New("message format error") ) func (msgCtl *MsgCtl) readMsg(c io.Reader) (typeByte byte, buffer []byte, err error) { buffer = make([]byte, 1) _, err = c.Read(buffer) if err != nil { return } typeByte = buffer[0] if _, ok := msgCtl.typeMap[typeByte]; !ok { err = ErrMsgType return } var length int64 err = binary.Read(c, binary.BigEndian, &length) if err != nil { return } if length > msgCtl.maxMsgLength { err = ErrMaxMsgLength return } else if length < 0 { err = ErrMsgLength return } buffer = make([]byte, length) n, err := io.ReadFull(c, buffer) if err != nil { return } if int64(n) != length { err = ErrMsgFormat } return } func (msgCtl *MsgCtl) ReadMsg(c io.Reader) (msg Message, err error) { typeByte, buffer, err := msgCtl.readMsg(c) if err != nil { return } return msgCtl.UnPack(typeByte, buffer) } func (msgCtl *MsgCtl) ReadMsgInto(c io.Reader, msg Message) (err error) { _, buffer, err := msgCtl.readMsg(c) if err != nil { return } return msgCtl.UnPackInto(buffer, msg) } func (msgCtl *MsgCtl) WriteMsg(c io.Writer, msg interface{}) (err error) { buffer, err := msgCtl.Pack(msg) if err != nil { return } if _, err = c.Write(buffer); err != nil { return } return nil } ================================================ FILE: thirdlib/gdylib/bemfa/device.go ================================================ package bemfa import ( "crypto/tls" "fmt" "log" "sync" "sync/atomic" "time" MQTT "github.com/eclipse/paho.mqtt.golang" ) const ( bemfaHost = "bemfa.com" //mqttPort = 9501 mqttsPort = 9503 ) const ( Disconnected uint32 = iota Connecting Reconnecting Connected ) type Device struct { linkState uint32 secretKey string extStroe sync.Map secureVerify bool httpClientTimeout int powerChangeCallbackMap map[string]map[string]func(string) mu *sync.Mutex client MQTT.Client //clientMu sync.Mutex } func CreateDevice(secretKey string, secureVerify bool, httpClientTimeout int) *Device { d := &Device{secretKey: secretKey, secureVerify: secureVerify, httpClientTimeout: httpClientTimeout} d.powerChangeCallbackMap = make(map[string]map[string]func(string)) d.mu = &sync.Mutex{} return d } func (d *Device) OnLine() bool { state := atomic.LoadUint32(&d.linkState) return state == Connected } func (d *Device) IsDisconnected() bool { state := atomic.LoadUint32(&d.linkState) return state == Disconnected } func (d *Device) ResigsterPowerChangeCallbackFunc(subTopic, key string, f func(string)) error { d.mu.Lock() defer d.mu.Unlock() if d.client == nil { return fmt.Errorf("client == nil") } if _, ok := d.powerChangeCallbackMap[subTopic]; ok { //已订阅 d.powerChangeCallbackMap[subTopic][key] = f } else { d.powerChangeCallbackMap[subTopic] = make(map[string]func(string)) d.powerChangeCallbackMap[subTopic][key] = f //fmt.Printf("订阅主题") d.client.Subscribe(subTopic, 1, d.ReceiveMessageHandler) } return nil } func (d *Device) UnRegisterPowerChangeCallbackFunc(subTopic, key string) { d.mu.Lock() defer d.mu.Unlock() if _, ok := d.powerChangeCallbackMap[subTopic]; !ok { //已订阅 return } delete(d.powerChangeCallbackMap[subTopic], key) if len(d.powerChangeCallbackMap[subTopic]) <= 0 { delete(d.powerChangeCallbackMap, subTopic) } } func (d *Device) StoreExtData(key any, val any) { d.extStroe.Store(key, val) } func (d *Device) GetExtData(key any) (val any, ok bool) { val, ok = d.extStroe.Load(key) return } func (d *Device) Login() error { opts := MQTT.NewClientOptions() brokeyURL := fmt.Sprintf("mqtts://%s:%d", bemfaHost, mqttsPort) opts.AddBroker(brokeyURL) opts.SetClientID(d.secretKey) opts.SetUsername("") opts.SetPassword("") opts.SetConnectTimeout(time.Second * 2) opts.SetKeepAlive(time.Second * 30) opts.SetTLSConfig(&tls.Config{InsecureSkipVerify: !d.secureVerify}) opts.SetAutoReconnect(true) opts.ConnectRetryInterval = time.Second * 3 opts.SetOnConnectHandler(func(c MQTT.Client) { log.Printf("巴法云 [%s]已连接\n", d.secretKey) d.mu.Lock() d.client = c d.mu.Unlock() atomic.StoreUint32(&d.linkState, Connected) d.SubTopicOption() }) opts.OnConnectionLost = func(c MQTT.Client, err error) { log.Printf("巴法云 [%s]连接丢失:%s\n", d.secretKey, err.Error()) atomic.StoreUint32(&d.linkState, Disconnected) } opts.SetReconnectingHandler(func(c MQTT.Client, opt *MQTT.ClientOptions) { atomic.StoreUint32(&d.linkState, Reconnecting) }) client := MQTT.NewClient(opts) if token := client.Connect(); token.Wait() && token.Error() != nil { return fmt.Errorf("连接出错:%s", token.Error()) } return nil } func (d *Device) Stop() { d.closeMQTTClient() } func (d *Device) closeMQTTClient() { d.mu.Lock() defer d.mu.Unlock() if d.client == nil { return } d.client.Disconnect(0) log.Printf("巴法云 [%s]主动关闭连接", d.secretKey) d.client = nil } func (d *Device) SubTopicOption() { d.mu.Lock() defer d.mu.Unlock() if d.client == nil { return } topicList := []string{} for k := range d.powerChangeCallbackMap { topicList = append(topicList, k) } for _, t := range topicList { d.client.Subscribe(t, 1, d.ReceiveMessageHandler) } } func (d *Device) ReceiveMessageHandler(c MQTT.Client, m MQTT.Message) { // fmt.Printf("接收到MQTT消息:\n[【%s】\n%s\n\n", m.Topic(), m.Payload()) // switch string(m.Payload()) { // case "on": // c.Publish("switch001/up", 1, true, m.Payload()) // case "off": // c.Publish("switch001/up", 1, true, m.Payload()) // default: // } c.Publish(fmt.Sprintf("%s/up", m.Topic()), 1, true, m.Payload()) go d.handlerReceivemessage(m.Topic(), string(m.Payload())) } func (d *Device) handlerReceivemessage(topic, msg string) { d.mu.Lock() defer d.mu.Unlock() if _, ok := d.powerChangeCallbackMap[topic]; !ok { return } for _, f := range d.powerChangeCallbackMap[topic] { f(msg) } } ================================================ FILE: thirdlib/gdylib/bemfa/global.go ================================================ package bemfa import ( "fmt" "sync" "time" ) var bemfaStore sync.Map var bemfaStroeMu sync.Mutex func GetBemfaDevice(secretKey string, httpClientSecureVerify bool, httpClientTimeout int) (*Device, error) { bemfaStroeMu.Lock() defer bemfaStroeMu.Unlock() device, deviceOk := bemfaStore.Load(secretKey) if deviceOk { d := device.(*Device) if d.OnLine() { return d, nil } if d.IsDisconnected() { d.Stop() err := d.Login() if err != nil { return nil, fmt.Errorf("bemfa Device login error:%s", err.Error()) } i := 0 for { <-time.After(time.Second * 200) i++ if d.OnLine() { break } if i > 26 { break } } if d.OnLine() { return d, nil } return nil, fmt.Errorf("blinker drvice 连接服务器失败") } return device.(*Device), nil } d := CreateDevice(secretKey, httpClientSecureVerify, httpClientTimeout) err := d.Login() if err != nil { return nil, fmt.Errorf("bemfa Device Login error:%s", err.Error()) } i := 0 for { <-time.After(time.Millisecond * 100) i++ if d.OnLine() { break } if i > 51 { break } } //fmt.Printf("在线\n") if d.OnLine() { bemfaStore.Store(secretKey, d) return d, nil } return nil, fmt.Errorf("bemfa drvice 连接服务器失败") } func UnRegisterPowerChangeCallback(d *Device, topic, key string) { bemfaStroeMu.Lock() defer bemfaStroeMu.Unlock() d.UnRegisterPowerChangeCallbackFunc(topic, key) if len(d.powerChangeCallbackMap) != 0 { return } d.Stop() bemfaStore.Delete(d.secretKey) } ================================================ FILE: thirdlib/gdylib/blinker/VoiceAssistant.go ================================================ package blinker import "fmt" const ( VA_TYPE_LIGHT = "light" VA_TYPE_OUTLET = "outlet" VA_TYPE_MULTI_OUTLET = "multi_outlet" VA_TYPE_SENSOR = "sensor" VA_TYPE_FAN = "fan" VA_TYPE_AIRCONDITION = "aircondition" ) type VoiceAssistant struct { DeviceType string //语言助手类型 (设备类型). VAType string //语言助手类型 MIOT AliGenie DuerOS Device *BlinkerDevice topic string } func (v *VoiceAssistant) GetSKey() string { switch v.VAType { case "MIOT": return "miType" case "AliGenie": return "aliType" case "DuerOS": return "duerType" default: return "" } } func (v *VoiceAssistant) PowerChangeReply(msgid, st string) { state := "off" if st == "true" { state = "on" } // if v.VAType == "MIOT" { // if state == "on" { // state = "true" // } else { // state = "false" // } // } data := map[string]string{"pState": state} v.Device.SendMessage("vAssistant", v.GetToDevice(), msgid, data) } func (v *VoiceAssistant) QueryDeviceState(msgid string) { state := v.Device.state // if v.VAType == "MIOT" { // if state == "on" { // state = "true" // } else { // state = "false" // } // } data := map[string]string{"pState": state} v.Device.SendMessage("vAssistant", v.GetToDevice(), msgid, data) } func (v *VoiceAssistant) GetToDevice() string { // if v.Device.DetailInfo.Broker == "blinker" { // return "ServerReceiver" // } return v.topic } func CreateVoiceAssistant(deviceType, vaType string) *VoiceAssistant { switch vaType { case "MIOT": return &VoiceAssistant{DeviceType: deviceType, VAType: vaType, topic: fmt.Sprintf("%s_r", vaType)} case "AliGenie": return &VoiceAssistant{DeviceType: deviceType, VAType: vaType, topic: fmt.Sprintf("%s_r", vaType)} case "DuerOS": { newDeviceType := "" switch deviceType { case VA_TYPE_LIGHT: newDeviceType = "LIGHT" case VA_TYPE_OUTLET: newDeviceType = "SOCKET" case VA_TYPE_MULTI_OUTLET: newDeviceType = "MULTI_SOCKET" case VA_TYPE_SENSOR: newDeviceType = "AIR_MONITOR" default: } if newDeviceType == "" { return nil } return &VoiceAssistant{DeviceType: newDeviceType, VAType: vaType, topic: fmt.Sprintf("%s_r", vaType)} } default: return nil } } ================================================ FILE: thirdlib/gdylib/blinker/device.go ================================================ package blinker import ( "compress/gzip" "encoding/base64" "encoding/json" "fmt" "io/ioutil" "log" "net/http" "strings" "sync" "time" "github.com/buger/jsonparser" MQTT "github.com/eclipse/paho.mqtt.golang" ) const ( HOST = "https://iot.diandeng.tech" API_AUTH = HOST + "/api/v1/user/device/diy/auth" API_HEARTBEAT = HOST + "/api/v1/user/device/heartbeat" API_VOICE_ASSISTANT = HOST + "/api/v1/user/device/voice_assistant" ) type BlinkerDevice struct { authKey string subTopic string pubTopic string exasubTopic string //aliyun特有 exapubTopic string //aliyun特有 client MQTT.Client DetailInfo BlinkerDetailInfo heartBeatChan chan uint8 hbmu sync.Mutex preSendTime time.Time sendMsgChan chan message // state string voiceAssistants map[string]*VoiceAssistant } type message struct { TargetType string Device string MessageID string Msg any } func CreateBlinkerDevice(ak string) *BlinkerDevice { d := &BlinkerDevice{authKey: ak} d.voiceAssistants = make(map[string]*VoiceAssistant) d.state = "on" return d } func (d *BlinkerDevice) AddVoiceAssistant(v *VoiceAssistant) { v.Device = d d.voiceAssistants[v.VAType] = v } func (d *BlinkerDevice) SyncAssistants() error { for _, v := range d.voiceAssistants { skey := v.GetSKey() dataMap := make(map[string]string) dataMap["token"] = d.DetailInfo.IotToken dataMap[skey] = v.DeviceType dataBytes, _ := json.Marshal(dataMap) resp, err := http.Post(API_VOICE_ASSISTANT, "application/json", strings.NewReader(string(dataBytes))) if err != nil { return err } _, err = GetBytesFromHttpResponse(resp) if err != nil { return err } //fmt.Printf("同步语音助手结果:%s\n", respBytes) } return nil } func (d *BlinkerDevice) RunSenderMessageService() { for m := range d.sendMsgChan { t := time.Since(d.preSendTime) - time.Millisecond*1100 if t < 0 { //log.Printf("太快,睡眠一下:%d\n", -t) <-time.After(-t) } d.sendMessage(m.TargetType, m.Device, m.MessageID, m.Msg) } } func (d *BlinkerDevice) RunHeartBearTimer() { if !d.hbmu.TryLock() { return } defer d.hbmu.Unlock() log.Printf("开始心跳...\n") d.heartBeatChan <- uint8(1) for range d.heartBeatChan { d.heartBeat() <-time.After(time.Second * 599) d.heartBeatChan <- uint8(1) } log.Printf("心跳中止...\n") } func (d *BlinkerDevice) Init() error { apiurl := fmt.Sprintf("%s?authKey=%s", API_AUTH, d.authKey) resp, err := http.Get(apiurl) if err != nil { return fmt.Errorf("device init http.Get err:%s", err.Error()) } var infoRes BlinkerInfoRes err = GetAndParseJSONResponseFromHttpResponse(resp, &infoRes) if err != nil { return fmt.Errorf("parse DeviceInfo resp err:%s", err.Error()) } d.DetailInfo = infoRes.Detail err = d.SyncAssistants() if err != nil { return err } // if d.DetailInfo.Broker == "blinker" { // d.subTopic = fmt.Sprintf("/device/%s/r", d.DetailInfo.DeviceName) // d.pubTopic = fmt.Sprintf("/device/%s/s", d.DetailInfo.DeviceName) // return nil // } // if d.DetailInfo.Broker == "aliyun" { // d.subTopic = fmt.Sprintf("/%s/%s/r", d.DetailInfo.ProductKey, d.DetailInfo.DeviceName) // d.pubTopic = fmt.Sprintf("/%s/%s/s", d.DetailInfo.ProductKey, d.DetailInfo.DeviceName) // d.exasubTopic = "/device/ServerSender/r" // d.exapubTopic = "/device/ServerReceiver/s" // return nil // } d.subTopic = fmt.Sprintf("/device/%s/r", d.DetailInfo.DeviceName) d.pubTopic = fmt.Sprintf("/device/%s/s", d.DetailInfo.DeviceName) d.exasubTopic = "/device/ServerSender/r" d.exapubTopic = "/device/ServerReceiver/s" return nil } func (d *BlinkerDevice) Login() error { opts := MQTT.NewClientOptions() brokeyURL := fmt.Sprintf("%s:%s", d.DetailInfo.Host, d.DetailInfo.Port) //brokeyURL := fmt.Sprintf("tcp://broker.diandeng.tech:%s", d.DetailInfo.Port) opts.AddBroker(brokeyURL) opts.SetClientID(d.DetailInfo.DeviceName) opts.SetUsername(d.DetailInfo.IotID) opts.SetPassword(d.DetailInfo.IotToken) //opts.SetKeepAlive(time.Second * 3) //opts.WillRetained = true //choke := make(chan [2]string) // opts.SetDefaultPublishHandler(func(client MQTT.Client, msg MQTT.Message) { // //choke <- [2]string{msg.Topic(), string(msg.Payload())} // msg.Payload() // }) opts.SetOnConnectHandler(func(c MQTT.Client) { log.Printf("连接成功!") d.client = c c.Subscribe(d.subTopic, byte(0), d.ReceiveMessageHandler) //c.Subscribe(d.exasubTopic, byte(0), d.ReceiveMessageHandler) d.heartBeatChan = make(chan uint8, 1) go d.RunHeartBearTimer() d.sendMsgChan = make(chan message, 8) go d.RunSenderMessageService() }) opts.OnConnectionLost = func(c MQTT.Client, err error) { log.Printf("连接丢失:%s\n", err.Error()) close(d.heartBeatChan) close(d.sendMsgChan) d.client = nil } //opts. client := MQTT.NewClient(opts) if token := client.Connect(); token.Wait() && token.Error() != nil { return fmt.Errorf("连接出错:%s", token.Error()) } <-time.After(time.Second * 60000) return nil } func (d *BlinkerDevice) heartBeat() error { //hr := fmt.Sprintf("%s?deviceName=%s&key=%s&heartbeat=600", SERVER+HEARTBEAT_URL, d.DetailInfo.DeviceName, d.authKey) hr := fmt.Sprintf("%s?deviceName=%s&key=%s&heartbeat=600", API_HEARTBEAT, d.DetailInfo.DeviceName, d.authKey) resp, err := http.Get(hr) if err != nil { return fmt.Errorf("device init http.Get err:%s", err.Error()) } respBytes, err := GetBytesFromHttpResponse(resp) if err != nil { return err } fmt.Printf("HearBeat:%s\n", string(respBytes)) return nil } func (d *BlinkerDevice) ReceiveMessageHandler(c MQTT.Client, m MQTT.Message) { log.Printf("接收到MQTT消息:【%s】%s\n", m.Topic(), m.Payload()) if m.Topic() != d.subTopic { return } fromDevice, fromDeviceErr := jsonparser.GetString(m.Payload(), "fromDevice") if fromDeviceErr != nil || (fromDevice != d.DetailInfo.UUID && fromDevice != "ServerSender") { return } if fromDevice == d.DetailInfo.UUID { d.ownAppMessagehandler(m.Payload()) return } from, fromErr := jsonparser.GetString(m.Payload(), "data", "from") if fromErr != nil { return } switch from { case "MIOT", "AliGenie", "DuerOS": d.voiceAssistantMessageHandler(from, m.Payload()) default: } } func (d *BlinkerDevice) voiceAssistantMessageHandler(from string, msg []byte) { fmt.Printf("from:%s msg:%s\n", from, string(msg)) va, ok := d.voiceAssistants[from] if !ok { return } //fmt.Printf("voiceAssistantMessageHandler\t msg:[%s]\n", msg) messageId, messageIdErr := jsonparser.GetString(msg, "data", "messageId") if messageIdErr != nil { return } //jsonparser.GetString(msg, "data", "set") pstate, pstateErr := jsonparser.GetString(msg, "data", "set", "pState") if pstateErr == nil { d.powerChange(va, messageId, pstate) return } _, getKeyerr := jsonparser.GetString(msg, "data", "get") if getKeyerr == nil { va.QueryDeviceState(messageId) } //va.Power() } func (d *BlinkerDevice) powerChange(va *VoiceAssistant, msgId, state string) { d.state = state if va != nil { va.PowerChangeReply(msgId, state) } } func (d *BlinkerDevice) ownAppMessagehandler(msg []byte) { getValue, getKeyError := jsonparser.GetString(msg, "data", "get") if getKeyError == nil { switch getValue { case "state": d.SendMessage("OwnApp", d.DetailInfo.UUID, "", map[string]any{"state": "online"}) case "timing": d.SendMessage("OwnApp", d.DetailInfo.UUID, "", map[string]any{"timing": map[string]any{"timing": []any{}}}) //{"timing":{"timing":[]}} case "countdown": d.SendMessage("OwnApp", d.DetailInfo.UUID, "", map[string]any{"countdown": "false"}) //`{ "countdown": false }` default: fmt.Printf(` "data", "get":Value:%s`, getValue) } return } } type mess2device struct { DeviceType string `json:"deviceType"` Data any `json:"data"` FromDeivce string `json:"fromDevice"` ToDevice string `json:"toDevice"` } type mess2assistant struct { DeviceType string `json:"deviceType"` Data any `json:"data"` FromDeivce string `json:"fromDevice"` ToDevice string `json:"toDevice"` MessageID string `json:"-"` //`json:"messageId"` } func (d *BlinkerDevice) formatMess2assistant(targetType, toDevice, msgid string, data any) ([]byte, error) { m := mess2assistant{DeviceType: targetType, Data: data, FromDeivce: d.DetailInfo.DeviceName, ToDevice: toDevice, MessageID: msgid} rawBytes, err := json.Marshal(m) if err != nil { return []byte{}, err } str := base64.StdEncoding.EncodeToString(rawBytes) log.Printf("回复语音助手:%s\n", string(rawBytes)) //fmt.Printf("base64:%s\n", str) return []byte(str), nil //return rawBytes, nil } func (d *BlinkerDevice) formatMess2Device(targetType, toDevice string, data any) ([]byte, error) { m := mess2device{DeviceType: targetType, Data: data, FromDeivce: d.DetailInfo.DeviceName, ToDevice: toDevice} return json.Marshal(m) } func (d *BlinkerDevice) SendMessage(targetType, todevice, msgid string, msg any) { m := message{Device: todevice, Msg: msg, TargetType: targetType, MessageID: msgid} d.sendMsgChan <- m } func (d *BlinkerDevice) sendMessage(targetType, todevice, msgid string, msg any) error { if d.client == nil { return fmt.Errorf("SendMessage error:client == nil") } var pubTopic string var payload []byte var err error if targetType == "OwnApp" { pubTopic = d.pubTopic payload, err = d.formatMess2Device(targetType, todevice, msg) if err != nil { return err } } else if targetType == "vAssistant" { //pubTopic = "/device/ServerReceiver/s" //pubTopic = fmt.Sprintf("/sys/%s/%s/rrpc/response/%s", d.DetailInfo.ProductKey, d.DetailInfo.DeviceName, msgid) //pubTopic = fmt.Sprintf("%s", d.exapubTopic) pubTopic = d.pubTopic payload, err = d.formatMess2assistant(targetType, todevice, msgid, msg) if err != nil { return err } } fmt.Printf("topic:%s\n", pubTopic) if token := d.client.Publish(pubTopic, 0, false, payload); token.Wait() && token.Error() != nil { fmt.Printf("Publish error:%s\n", token.Error()) return token.Error() } d.preSendTime = time.Now() return nil } //----------------------- type BlinkerDetailInfo struct { Broker string `json:"broker"` DeviceName string `json:"deviceName"` Host string `json:"host"` IotID string `json:"iotId"` IotToken string `json:"iotToken"` Port string `json:"port"` ProductKey string `json:"productKey"` UUID string `json:"uuid"` } type BlinkerInfoRes struct { Message int `json:"message"` Detail BlinkerDetailInfo `json:"detail"` } // GetStringFromHttpResponse 从response获取 func GetBytesFromHttpResponse(resp *http.Response) ([]byte, error) { if resp == nil || resp.Body == nil { return []byte{}, fmt.Errorf("resp.Body = nil") } defer resp.Body.Close() var body []byte var err error if resp.Header.Get("Content-Encoding") == "gzip" { reader, err := gzip.NewReader(resp.Body) if err != nil { return []byte{}, err } body, err = ioutil.ReadAll(reader) return body, err } body, err = ioutil.ReadAll(resp.Body) return body, err } func GetAndParseJSONResponseFromHttpResponse(resp *http.Response, result interface{}) error { bytes, err := GetBytesFromHttpResponse(resp) if err != nil { return fmt.Errorf("GetBytesFromHttpResponse err:%s", err.Error()) } if len(bytes) > 0 { err = json.Unmarshal(bytes, &result) if err != nil { //log.Printf("请求接口解析json结果失败! ERROR: %s\n", err) return fmt.Errorf("GetAndParseJSONResponseFromHttpResponse 解析JSON结果出错:%s", err.Error()) } } return nil } ================================================ FILE: thirdlib/gdylib/blinker/global.go ================================================ package blinker import ( "fmt" "sync" "time" ) var blinkerDeviceStore sync.Map var blinkerdeviceStroeMu sync.Mutex func GetBlinkerDevice(authKey string, httpClientSecureVerify bool, httpClientTimeout int) (*Device, error) { blinkerdeviceStroeMu.Lock() defer blinkerdeviceStroeMu.Unlock() device, deviceOk := blinkerDeviceStore.Load(authKey) if deviceOk { d := device.(*Device) if d.OnLine() { return d, nil } if d.IsDisconnected() { err := d.Init() if err != nil { return nil, fmt.Errorf("blinker Device init error:%s", err.Error()) } d.Stop() err = d.Login() if err != nil { return nil, fmt.Errorf("blinker Device login error:%s", err.Error()) } i := 0 for { <-time.After(time.Second * 200) i++ if d.OnLine() { break } if i > 26 { break } } if d.OnLine() { return d, nil } return nil, fmt.Errorf("blinker drvice 连接服务器失败") } return device.(*Device), nil } d := CreateDevice(authKey, httpClientSecureVerify, httpClientTimeout) d.AddVoiceAssistant(CreateVoiceAssistant(VA_TYPE_OUTLET, "MIOT")) d.AddVoiceAssistant(CreateVoiceAssistant(VA_TYPE_OUTLET, "AliGenie")) d.AddVoiceAssistant(CreateVoiceAssistant(VA_TYPE_OUTLET, "DuerOS")) err := d.Init() if err != nil { return nil, fmt.Errorf("blinker Device init error:%s", err.Error()) } err = d.Login() if err != nil { return nil, fmt.Errorf("blinker Device Login error:%s", err.Error()) } i := 0 for { <-time.After(time.Millisecond * 100) i++ if d.OnLine() { break } if i > 51 { break } } //fmt.Printf("在线\n") if d.OnLine() { blinkerDeviceStore.Store(authKey, d) return d, nil } return nil, fmt.Errorf("blinker drvice 连接服务器失败") } // func RegisterPowerChangeCallback(authkey, key string, cb func(string)) (*Device, error) { // d, err := GetBlinkerDevice(authkey) // if err != nil { // return nil, err // } // d.RegisterPowerChangeCallbackFunc(key, cb) // return d, nil // } func UnRegisterPowerChangeCallback(d *Device, key string) { blinkerdeviceStroeMu.Lock() defer blinkerdeviceStroeMu.Unlock() d.UnRegisterPowerChangeCallbackFunc(key) isEmpty := true d.powerChangeCallbackMap.Range(func(key any, val any) bool { isEmpty = false return false }) if isEmpty { d.Stop() blinkerDeviceStore.Delete(d.authKey) } } ================================================ FILE: thirdlib/gdylib/dnsutils/resolve.go ================================================ package dnsutils import ( "fmt" "strings" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" "github.com/miekg/dns" "golang.org/x/net/idna" ) var DefaultIPv6DNSServerList = []string{ "[2001:4860:4860::8888]:53", //谷歌 "[2001:4860:4860::8844]:53", //谷歌 "[2606:4700:4700::64]:53", //cloudflare "[2606:4700:4700::6400]:53", //cloudflare "[240C::6666]:53", //下一代互联网北京研究中心 "[240C::6644]:53", //下一代互联网北京研究中心 "[2402:4e00::]:53", //dnspod //"[2400:3200::1]:53", //阿里 // "[2400:3200:baba::1]:53", //阿里 "[240e:4c:4008::1]:53", //中国电信 "[240e:4c:4808::1]:53", //中国电信 "[2408:8899::8]:53", //中国联通 "[2408:8888::8]:53", //中国联通 "[2409:8088::a]:53", //中国移动 "[2409:8088::b]:53", //中国移动 "[2001:dc7:1000::1]:53", //CNNIC "[2400:da00::6666]:53", //百度 } var DefaultIPv4DNSServerList = []string{ "1.1.1.1:53", "1.2.4.8:53", "8.8.8.8:53", "9.9.9.9:53", "8.8.4.4:53", "114.114.114.114:53", "223.5.5.5:53", "223.6.6.6:53", "101.226.4.6:53", "218.30.118.6:53", "119.28.28.28:53", } func ResolveDomainAtServerList(queryType, domain string, dnsServerList []string) (string, error) { if len(dnsServerList) == 0 { if queryType == "AAAA" { dnsServerList = DefaultIPv6DNSServerList } else { dnsServerList = DefaultIPv4DNSServerList } } //some name that ought to exist, does not exist (NXDOMAIN) querytype, querytypeOk := dns.StringToType[strings.ToUpper(queryType)] if !querytypeOk { return "", fmt.Errorf("queryType error:%s", queryType) } if strings.HasPrefix(domain, "*.") { randomStr := stringsp.GetRandomString(8) domain = strings.Replace(domain, "*", randomStr, 1) } domain = dns.Fqdn(domain) domain, err := idna.ToASCII(domain) if err != nil { return "", fmt.Errorf(` idna.ToASCII(domain) error:%s`, err.Error()) } m := new(dns.Msg) m.SetQuestion(domain, querytype) m.MsgHdr.RecursionDesired = true c := new(dns.Client) noExistTimes := 0 for _, dnsServer := range dnsServerList { c.Net = "" ipaddr, err := resolveDomain(m, c, dnsServer) if err != nil { //log.Printf("[%s]===>[%s][%s] ResolveDomain error:%s", dnsServer, queryType, domain, err.Error()) if strings.Contains(err.Error(), "some name that ought to exist, does not exist (NXDOMAIN)") { noExistTimes++ if noExistTimes >= 4 { return "", fmt.Errorf("解析域名[%s][%s]IP失败:noExistTimes", queryType, domain) } } continue } return ipaddr, nil } return "", fmt.Errorf("解析域名[%s][%s]IP失败", queryType, domain) } func resolveDomain(msg *dns.Msg, client *dns.Client, dnsServer string) (string, error) { Redo: if in, _, err := client.Exchange(msg, dnsServer); err == nil { // Second return value is RTT, not used for now if in.MsgHdr.Truncated { client.Net = "tcp" goto Redo } switch in.MsgHdr.Rcode { case dns.RcodeServerFailure: return "", fmt.Errorf("the name server encountered an internal failure while processing this request (SERVFAIL)") case dns.RcodeNameError: return "", fmt.Errorf("some name that ought to exist, does not exist (NXDOMAIN)") case dns.RcodeRefused: return "", fmt.Errorf("the name server refuses to perform the specified operation for policy or security reasons (REFUSED)") default: //fmt.Printf("in.Answer len:%d\n", len(in.Answer)) for _, rr := range in.Answer { //fmt.Printf("rr.String :%s\n", rr.String()) return strings.Replace(rr.String(), rr.Header().String(), "", -1), nil } } } return "", fmt.Errorf("DNS server could not be reached") } ================================================ FILE: thirdlib/gdylib/fileutils/fileutils.go ================================================ package fileutils import ( "encoding/base64" "fmt" "io/ioutil" "log" "os" "path/filepath" ) //获取当前路径 func GetCurrentDirectory() string { dir, err := filepath.Abs(filepath.Dir(os.Args[0])) if err != nil { log.Fatal(err) } return dir } //保存base64为文件,一般用于保存图片 func SaveBase64AsFile(base64Str *string, fileURL string) (err error) { decodeStr, _ := base64.StdEncoding.DecodeString(*base64Str) //把base64写入缓存 err = ioutil.WriteFile(fileURL, decodeStr, 0666) //buffer输出到jpg文件中(不做处理,直接写到文件) return } //判断文件或文件夹是否存在 func FileExists(path string) (bool, error) { _, err := os.Stat(path) if err == nil { return true, nil } if os.IsNotExist(err) { return false, nil } return false, err } //保存Text到文本 func SaveTextToFile(text, fileURL string) error { dstFile, err := os.Create(fileURL) if err != nil { fmt.Println(err.Error()) return err } defer dstFile.Close() dstFile.WriteString(text + "\n") return nil } //ReadTextFromFile 从文本读取内容 func ReadTextFromFile(path string) (string, error) { fi, err := os.Open(path) if err != nil { return "", err } defer fi.Close() fd, err := ioutil.ReadAll(fi) return string(fd), nil } ================================================ FILE: thirdlib/gdylib/fileutils/run_linux.go ================================================ package fileutils import ( "os/exec" ) //OpenProgramOrFile 启动程序 func OpenProgramOrFile(argv []string) error { var startArgvs []string for i := range argv { if i == 0 { continue } startArgvs = append(startArgvs, argv[i]) } //startArgvs = append(startArgvs, "-c") //startArgvs = append(startArgvs, argv...) //fmt.Printf("fuck...%v \n", startArgvs) //cmd := exec.Command("/bin/bash", startArgvs...) cmd := exec.Command(argv[0], startArgvs...) return cmd.Start() } ================================================ FILE: thirdlib/gdylib/fileutils/run_windows.go ================================================ package fileutils import "os/exec" //OpenProgramOrFile 启动程序 func OpenProgramOrFile(argv []string) error { var startArgvs []string startArgvs = append(startArgvs, "/C") startArgvs = append(startArgvs, "start") startArgvs = append(startArgvs, argv...) cmd := exec.Command("cmd.exe", startArgvs...) return cmd.Start() } ================================================ FILE: thirdlib/gdylib/ginutils/basicAuth.go ================================================ package ginutils import ( "crypto/subtle" "encoding/base64" "unsafe" "github.com/gin-gonic/gin" ) type BasicAuthPair struct { value string user string } type BasicAuthPairs []BasicAuthPair func ProcessAccounts(accounts gin.Accounts) BasicAuthPairs { length := len(accounts) assert1(length > 0, "Empty list of authorized credentials") pairs := make(BasicAuthPairs, 0, length) for user, password := range accounts { assert1(user != "", "User can not be empty") value := authorizationHeader(user, password) pairs = append(pairs, BasicAuthPair{ value: value, user: user, }) } return pairs } func authorizationHeader(user, password string) string { base := user + ":" + password return "Basic " + base64.StdEncoding.EncodeToString(StringToBytes(base)) } func assert1(guard bool, text string) { if !guard { panic(text) } } func StringToBytes(s string) []byte { return *(*[]byte)(unsafe.Pointer( &struct { string Cap int }{s, len(s)}, )) } func (a BasicAuthPairs) SearchCredential(authValue string) (string, bool) { if authValue == "" { return "", false } for _, pair := range a { if subtle.ConstantTimeCompare(StringToBytes(pair.value), StringToBytes(authValue)) == 1 { return pair.user, true } } return "", false } ================================================ FILE: thirdlib/gdylib/ginutils/jwt.go ================================================ package ginutils import ( "errors" "fmt" "time" "github.com/golang-jwt/jwt" ) func GetJWTToken(tokenString, tokenKey string) (t *jwt.Token, e error) { token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) { return []byte(tokenKey), nil }) if err != nil { //beego.Error("Parse token:", err) if ve, ok := err.(*jwt.ValidationError); ok { if ve.Errors&jwt.ValidationErrorMalformed != 0 { // That's not even a token return nil, errors.New("errInputData") } else if ve.Errors&(jwt.ValidationErrorExpired|jwt.ValidationErrorNotValidYet) != 0 { // Token is either expired or not active yet return nil, errors.New("errExpired") } else { // Couldn't handle this token return nil, errors.New("errInputData") } } else { // Couldn't handle this token return nil, errors.New("errInputData") } } if !token.Valid { //beego.Error("Token invalid:", tokenString) return nil, errors.New("errInputData") } return token, nil } // info 存储的信息 // key 加密的key // exp 有效期 // GetJWTTokenString 获取Token字符串 func GetJWTTokenString(info map[string]interface{}, key string, exp time.Duration) (string, error) { claims := make(jwt.MapClaims) claims["exp"] = time.Now().Add(exp).Unix() //token 24小时有效期 for k := range info { claims[k] = info[k] } token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) tokenString, err := token.SignedString([]byte(key)) if err != nil { return "", fmt.Errorf("生成TokenString出错:%s", err.Error()) } return tokenString, nil } ================================================ FILE: thirdlib/gdylib/ginutils/staticFilesHandler.go ================================================ package ginutils import ( "io/fs" "net/http" "strings" "github.com/gin-gonic/gin" ) func HandlerStaticFiles(files fs.FS) gin.HandlerFunc { fileServer := http.FileServer(http.FS(files)) return func(c *gin.Context) { staticFile := isStaticFile(http.FS(files), c.Request.URL.Path, true) if staticFile { fileServer.ServeHTTP(c.Writer, c.Request) c.Abort() return } c.Next() } } func isStaticFile(fs http.FileSystem, name string, redirect bool) (isFile bool) { const indexPage = "/index.html" if strings.HasSuffix(name, indexPage) { return true } f, err := fs.Open(name) if err != nil { return false } defer f.Close() _, err = f.Stat() return err == nil } ================================================ FILE: thirdlib/gdylib/ginutils/utils.go ================================================ package ginutils import ( "net/http" "strings" "github.com/gin-gonic/gin" ) // Cors 处理跨域请求,支持options访问 func Cors(params ...interface{}) gin.HandlerFunc { return func(c *gin.Context) { method := c.Request.Method c.Header("Access-Control-Allow-Origin", "*") c.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token,access_token") c.Header("Access-Control-Allow-Methods", "POST, GET, PUT,OPTIONS,DELETE") c.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type") c.Header("Access-Control-Allow-Credentials", "true") //放行所有OPTIONS方法 if method == "OPTIONS" { c.AbortWithStatus(http.StatusNoContent) } // 处理请求 c.Next() } } // GetChildDomain 获取子域名部分 func GetChildDomain(host string) string { hostSplitList := strings.Split(host, ".") listLen := len(hostSplitList) var resBuilder strings.Builder for i := range hostSplitList { if i >= listLen-2 { break } if resBuilder.Len() > 0 { resBuilder.WriteString(".") } resBuilder.WriteString(hostSplitList[i]) } return resBuilder.String() } ================================================ FILE: thirdlib/gdylib/httputils/common.go ================================================ package httputils import ( "compress/gzip" "context" "crypto/tls" "encoding/json" "fmt" "io/ioutil" "net" "net/http" "net/url" "strings" "sync" "syscall" "time" "golang.org/x/net/proxy" ) var globalTransportMap map[string]*http.Transport var globalTransportMapMutex sync.Mutex func init() { globalTransportMap = make(map[string]*http.Transport) } func SplitHostPort(hostPort string) (host, port string) { host = hostPort colon := strings.LastIndexByte(host, ':') if colon != -1 && validOptionalPort(host[colon:]) { host, port = host[:colon], host[colon+1:] } if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") { host = host[1 : len(host)-1] } return } func validOptionalPort(port string) bool { if port == "" { return true } if port[0] != ':' { return false } for _, b := range port[1:] { if b < '0' || b > '9' { return false } } return true } func GetAndParseJSONResponseFromHttpResponse(resp *http.Response, result interface{}) error { bytes, err := GetBytesFromHttpResponse(resp) if err != nil { return fmt.Errorf("GetBytesFromHttpResponse err:%s", err.Error()) } if len(bytes) > 0 { err = json.Unmarshal(bytes, &result) if err != nil { //log.Printf("请求接口解析json结果失败! ERROR: %s\n", err) return fmt.Errorf("GetAndParseJSONResponseFromHttpResponse 解析JSON结果出错:%s", err.Error()) } } return nil } // GetStringFromHttpResponse 从response获取 func GetBytesFromHttpResponse(resp *http.Response) ([]byte, error) { if resp == nil || resp.Body == nil { return []byte{}, fmt.Errorf("resp.Body = nil") } defer resp.Body.Close() var body []byte var err error if resp.Header.Get("Content-Encoding") == "gzip" { reader, err := gzip.NewReader(resp.Body) if err != nil { return []byte{}, err } body, err = ioutil.ReadAll(reader) return body, err } body, err = ioutil.ReadAll(resp.Body) return body, err } // GetStringFromHttpResponse 从response获取 func GetStringFromHttpResponse(resp *http.Response) (string, error) { respBytes, err := GetBytesFromHttpResponse(resp) if err != nil { return "", err } return string(respBytes), nil } type transportIt struct { Network string LocalAddr string ProxyType string ProxyUrl string User string Passwd string SecureSkipVerify bool } func (t *transportIt) String() string { return fmt.Sprintf("%s,%s,%s,%s,%s,%s,%v", t.Network, t.LocalAddr, t.ProxyType, t.ProxyUrl, t.User, t.Passwd, t.SecureSkipVerify) } // NewTransport // transportNetwork 网络类型 tcp tcp4 tcp6 // localAddr 指定网卡出口 func NewTransport(transportNetwork, localAddrStr string, secureSkipVerify bool, proxyType, proxyUrl, user, passwd string) (*http.Transport, error) { var transport *http.Transport proxyType = strings.ToLower(proxyType) ti := transportIt{ Network: transportNetwork, LocalAddr: localAddrStr, ProxyType: proxyType, ProxyUrl: proxyUrl, User: user, Passwd: passwd, SecureSkipVerify: secureSkipVerify} globalTransportMapMutex.Lock() defer globalTransportMapMutex.Unlock() tr, ok := globalTransportMap[ti.String()] if ok { //log.Printf("map[%s]已存在", ti.String()) return tr, nil } //log.Printf("map[%s]未存在", ti.String()) switch proxyType { case "http", "https": { //log.Printf("http proxy Transport network:%s", transportNetwork) if !strings.Contains(proxyUrl, "http") { proxyUrl = fmt.Sprintf("%s://%s", proxyType, proxyUrl) } urlProxy, err := url.Parse(proxyUrl) if err != nil { return nil, fmt.Errorf("NewTransport=>proxy url.Parse error:%s", err.Error()) } if user != "" && passwd != "" { urlProxy.User = url.UserPassword(user, passwd) } var localAddr net.Addr localAddr = nil if localAddrStr != "" { lAddr, err := net.ResolveTCPAddr(transportNetwork, localAddrStr+":0") if err != nil { return nil, fmt.Errorf("NewTransport=> ResolveTCPAddr localAddr:%s error:%s", localAddrStr, err.Error()) } localAddr = lAddr } dialer := (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: localAddr, }) transport = &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: secureSkipVerify}, Proxy: http.ProxyURL(urlProxy), DialContext: func(ctx context.Context, network, addr string) (conn net.Conn, err error) { return dialer.Dial(transportNetwork, addr) }, ForceAttemptHTTP2: true, Dial: dialer.Dial, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } } case "socket5", "socks5": { //log.Printf("socket5 proxy Transport network:%s", transportNetwork) var userAuth proxy.Auth if user != "" && passwd != "" { userAuth.User = user userAuth.Password = passwd } dialer, err := proxy.SOCKS5("tcp", proxyUrl, &userAuth, proxy.Direct) if err != nil { return nil, fmt.Errorf("NewTransport=>proxy.SOCKS5 error:%s", err.Error()) } transport = &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: secureSkipVerify}, DialContext: func(ctx context.Context, network, addr string) (conn net.Conn, err error) { return dialer.Dial(transportNetwork, addr) }, Dial: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, }).Dial, ForceAttemptHTTP2: true, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } } default: { //log.Printf("default Transport network:%s", transportNetwork) var localAddr net.Addr localAddr = nil if localAddrStr != "" { lAddr, err := net.ResolveTCPAddr(transportNetwork, localAddrStr+":0") if err != nil { return nil, fmt.Errorf("NewTransport=> ResolveTCPAddr localAddr:%s error:%s", localAddrStr, err.Error()) } localAddr = lAddr } dialer := (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: localAddr, Control: func(network, address string, c syscall.RawConn) error { // fmt.Printf("network:%s\taddress:%s\n", network, address) if network != transportNetwork && transportNetwork != "tcp" { return fmt.Errorf("must use :%s", transportNetwork) } return nil }, }) transport = &http.Transport{ DisableKeepAlives: true, TLSClientConfig: &tls.Config{InsecureSkipVerify: secureSkipVerify}, DialContext: func(ctx context.Context, network, addr string) (conn net.Conn, err error) { return dialer.Dial(transportNetwork, addr) }, Dial: dialer.Dial, ForceAttemptHTTP2: true, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } } } globalTransportMap[ti.String()] = transport return transport, nil } func CreateHeadersMap(headers []string) map[string]string { hm := make(map[string]string) for _, header := range headers { kvSpliteIndex := strings.Index(header, ":") if kvSpliteIndex < 0 { continue } if kvSpliteIndex+1 > len(header) { continue } key := header[:kvSpliteIndex] value := header[kvSpliteIndex+1:] hm[key] = value } return hm } ================================================ FILE: thirdlib/gdylib/httputils/goututils.go ================================================ package httputils import ( "encoding/json" "fmt" "strings" "time" "github.com/guonaihong/gout" "github.com/guonaihong/gout/dataflow" ) func NewGout(transportNetwork, localAddr string, secureSkipVerify bool, proxyType, proxyUrl, user, passwd string, timeout time.Duration) (*dataflow.Gout, error) { httpClient, err := CreateHttpClient(transportNetwork, localAddr, secureSkipVerify, proxyType, proxyUrl, user, passwd, timeout) if err != nil { return nil, fmt.Errorf("CreateHttpClient error:%s", err.Error()) } return gout.New(httpClient), nil } func GetAndParseJSONResponseFromGoutDoHttpRequest(transportNetwork, localAddr, method, url, requestBody, proxyType, proxyUrl, user, passwd string, headers map[string]string, secureSkipVerify bool, timeout time.Duration, result interface{}) error { _, bytes, err := GetBytesFromGoutDoHttpRequest( transportNetwork, localAddr, method, url, requestBody, proxyType, proxyUrl, user, passwd, headers, secureSkipVerify, timeout) if err != nil { return fmt.Errorf("GetBytesFromHttpResponse err:%s", err.Error()) } if len(bytes) > 0 { err = json.Unmarshal(bytes, &result) if err != nil { return fmt.Errorf("GetAndParseJSONResponseFromHttpResponse 解析JSON结果出错:%s", err.Error()) } } return nil } func GetStringGoutDoHttpRequest(transportNetwork, localAddr, method, url, requestBody, proxyType, proxyUrl, user, passwd string, headers map[string]string, secureSkipVerify bool, timeout time.Duration) (int, string, error) { statusCode, bytes, err := GetBytesFromGoutDoHttpRequest(transportNetwork, localAddr, method, url, requestBody, proxyType, proxyUrl, user, passwd, headers, secureSkipVerify, timeout) if err != nil { return 0, "", err } return statusCode, string(bytes), nil } func GetBytesFromGoutDoHttpRequest(transportNetwork, localAddr, method, url, requestBody, proxyType, proxyUrl, user, passwd string, headers map[string]string, secureSkipVerify bool, timeout time.Duration) (int, []byte, error) { gout, err := NewGout( transportNetwork, localAddr, secureSkipVerify, proxyType, proxyUrl, user, passwd, timeout) if err != nil { return 0, []byte{}, fmt.Errorf("GoutDoHttpRequest err:%s", err.Error()) } switch strings.ToLower(method) { case "get": gout.GET(url) case "post": gout.POST(url) case "put": gout.PUT(url) case "delete": gout.DELETE(url) default: return 0, []byte{}, fmt.Errorf("未支持的Callback请求方法:%s", method) } basicAuthUserName, BasicAuthUserNameOk := headers["BasicAuthUserName"] basicAuthPassword, BasicAuthPasswordOk := headers["BasicAuthPassword"] if BasicAuthUserNameOk && BasicAuthPasswordOk { gout.SetBasicAuth(basicAuthUserName, basicAuthPassword) } delete(headers, "BasicAuthUserName") delete(headers, "BasicAuthPassword") if len(requestBody) > 0 && method != "get" { if json.Valid([]byte(requestBody)) { gout.SetJSON(requestBody) } else { gout.SetWWWForm(requestBody) } } gout.SetHeader(headers) //gout.SetTimeout(timeout) resp, err := gout.Response() if err != nil { return 0, []byte{}, fmt.Errorf("gout.Response() error:%s", err.Error()) } respByte, respErr := GetBytesFromHttpResponse(resp) return resp.StatusCode, respByte, respErr } ================================================ FILE: thirdlib/gdylib/httputils/httpclient.go ================================================ package httputils import ( "net/http" "time" ) func CreateHttpClient(transportNetwork, localAddr string, secureSkipVerify bool, proxyType, proxyUrl, user, passwd string, timeout time.Duration) (*http.Client, error) { transport, err := NewTransport(transportNetwork, localAddr, secureSkipVerify, proxyType, proxyUrl, user, passwd) if err != nil { return nil, err } httpClient := &http.Client{ Timeout: timeout, Transport: transport} return httpClient, nil } ================================================ FILE: thirdlib/gdylib/logsbuffer/logsbuffer.go ================================================ package logsbuffer import ( "fmt" "strings" "sync" "time" "github.com/sirupsen/logrus" ) type LogsBuffer struct { bufferSize int preTimeStamp int64 timeStampIndex int64 logsStore []LogItem mu sync.RWMutex fireCallback func(entry *logrus.Entry) error } type LogItem struct { Timestamp int64 Content string Data map[string]any } func (l *LogsBuffer) AddLog(t time.Time, msg string, data map[string]any) { l.mu.Lock() defer l.mu.Unlock() if l.preTimeStamp == t.UnixNano() { l.timeStampIndex++ } else { l.timeStampIndex = 0 } li := LogItem{Timestamp: t.UnixNano() + l.timeStampIndex, Content: strings.TrimSpace(msg), Data: data} l.logsStore = append(l.logsStore, li) l.preTimeStamp = t.UnixNano() if len(l.logsStore) > l.bufferSize+16 { l.logsStore = l.logsStore[len(l.logsStore)-l.bufferSize:] } } func (l *LogsBuffer) Fire(entry *logrus.Entry) error { entryStr, err := entry.String() if err != nil { return fmt.Errorf("entry.String() err:%s", err.Error()) } if l.fireCallback != nil { return l.fireCallback(entry) } else { l.AddLog(entry.Time, entryStr, entry.Data) } return nil } func (l *LogsBuffer) SetFireCallback(f func(entry *logrus.Entry) error) { l.fireCallback = f } func (l *LogsBuffer) Levels() []logrus.Level { return logrus.AllLevels } func (l *LogsBuffer) Write(p []byte) (n int, err error) { l.AddLog(time.Now(), string(p), nil) return len(p), nil } func (l *LogsBuffer) GetLogs(logItemConvertFunc func(*LogItem) any, fTimestamp int64) []any { l.mu.RLock() defer l.mu.RUnlock() var logs []any for i := range l.logsStore { if l.logsStore[i].Timestamp <= fTimestamp { continue } lg := l.getLogItem(logItemConvertFunc, l.logsStore[i]) logs = append(logs, lg) } return logs } func (l *LogsBuffer) GetLastLogs(logItemConvertFunc func(*LogItem) any, maxCount int) []any { l.mu.RLock() defer l.mu.RUnlock() logCount := len(l.logsStore) var resRaw []LogItem if maxCount >= logCount { resRaw = l.logsStore[0:] } else { resRaw = l.logsStore[logCount-maxCount:] } var logs []any for i := range resRaw { lg := l.getLogItem(logItemConvertFunc, resRaw[i]) logs = append(logs, lg) } return logs } func (l *LogsBuffer) GetLogsByLimit(logItemConvertFunc func(*LogItem) any, pageSize, page int) (int, []any) { l.mu.RLock() defer l.mu.RUnlock() logCount := len(l.logsStore) var resRaw []LogItem firstIndex := (page - 1) * pageSize endIndex := firstIndex + pageSize if firstIndex < logCount { if endIndex >= logCount { resRaw = l.logsStore[firstIndex:] } else { resRaw = l.logsStore[firstIndex:endIndex] } } var logs []any for i := range resRaw { lg := l.getLogItem(logItemConvertFunc, resRaw[i]) logs = append(logs, lg) } return logCount, logs } func (l *LogsBuffer) getLogItem(logItemConvertFunc func(*LogItem) any, li LogItem) any { var lg any if logItemConvertFunc == nil { lg = li } else { lg = logItemConvertFunc(&li) } return lg } func (l *LogsBuffer) ClearLog() { l.logsStore = l.logsStore[:0] } func Create(size int) *LogsBuffer { lb := &LogsBuffer{bufferSize: size} return lb } func (l *LogsBuffer) SetBufferSize(size int) { l.mu.Lock() defer l.mu.Unlock() l.bufferSize = size if len(l.logsStore) > l.bufferSize { l.logsStore = l.logsStore[len(l.logsStore)-l.bufferSize:] } } func (l *LogsBuffer) GetBufferSize() int { l.mu.RLock() defer l.mu.RUnlock() return l.bufferSize } func (l *LogsBuffer) GetLogCount() int { l.mu.Lock() defer l.mu.Unlock() return len(l.logsStore) } //--------------------------- var LogsBufferStore map[string]*LogsBuffer var LogsBufferStoreMu sync.Mutex func init() { LogsBufferStore = make(map[string]*LogsBuffer) } func CreateLogbuffer(key string, buffSize int) *LogsBuffer { if strings.TrimSpace(key) == "" { return nil } LogsBufferStoreMu.Lock() defer LogsBufferStoreMu.Unlock() var buf *LogsBuffer var ok bool if buf, ok = LogsBufferStore[key]; !ok { buf = &LogsBuffer{} buf.SetBufferSize(buffSize) LogsBufferStore[key] = buf } else if buf.GetBufferSize() != buffSize { buf.SetBufferSize(buffSize) } return buf } ================================================ FILE: thirdlib/gdylib/netinterfaces/netInterface.go ================================================ package netinterfaces import ( "log" "net" "regexp" "strconv" "strings" ) // NetInterface 本机网络 type NetInterface struct { NetInterfaceName string AddressList []string } // GetNetInterface 获得网卡地址 // 返回ipv4, ipv6地址 func GetNetInterface() (ipv4NetInterfaces []NetInterface, ipv6NetInterfaces []NetInterface, err error) { allNetInterfaces, err := net.Interfaces() if err != nil { //fmt.Println("net.Interfaces failed, err:", err.Error()) return ipv4NetInterfaces, ipv6NetInterfaces, err } // https://en.wikipedia.org/wiki/IPv6_address#General_allocation //_, ipv6Unicast, _ := net.ParseCIDR("2000::/3") for i := 0; i < len(allNetInterfaces); i++ { if (allNetInterfaces[i].Flags & net.FlagUp) != 0 { addrs, _ := allNetInterfaces[i].Addrs() ipv4 := []string{} ipv6 := []string{} for _, address := range addrs { if ipnet, ok := address.(*net.IPNet); ok && ipnet.IP.IsGlobalUnicast() { _, bits := ipnet.Mask.Size() // 需匹配全局单播地址 //if bits == 128 && ipv6Unicast.Contains(ipnet.IP) { if bits == 128 { ipv6 = append(ipv6, ipnet.IP.String()) } if bits == 32 { ipv4 = append(ipv4, ipnet.IP.String()) } } } if len(ipv4) > 0 { ipv4NetInterfaces = append( ipv4NetInterfaces, NetInterface{ NetInterfaceName: allNetInterfaces[i].Name, AddressList: ipv4, }, ) } if len(ipv6) > 0 { ipv6NetInterfaces = append( ipv6NetInterfaces, NetInterface{ NetInterfaceName: allNetInterfaces[i].Name, AddressList: ipv6, }, ) } } } return ipv4NetInterfaces, ipv6NetInterfaces, nil } func GetIPFromNetInterface(ipType, netinterface, ipreg string) string { ipv4NetInterfaces, ipv6NetInterfaces, err := GetNetInterface() if err != nil { log.Printf("获取网卡信息出错:%s", err.Error()) return "" } var netInterfaces []NetInterface switch ipType { case "IPv6": netInterfaces = ipv6NetInterfaces case "IPv4": netInterfaces = ipv4NetInterfaces default: log.Printf("未知IP类型") return "" } var addressList []string for i := range netInterfaces { if netInterfaces[i].NetInterfaceName == netinterface { addressList = netInterfaces[i].AddressList break } } if len(addressList) <= 0 { return "" } if ipreg == "" { //默认返回第一个IP return addressList[0] } ipN, err := strconv.Atoi(ipreg) if err == nil { //选择第N个IP if len(addressList) < ipN { log.Printf("当前选择网卡[%s]的第[%d]个IP,超出列表范围", netinterface, ipN) return "" } return addressList[ipN-1] } for i := range addressList { matched, err := regexp.MatchString(ipreg, addressList[i]) if matched && err == nil { //log.Printf("正则匹配上") return addressList[i] } } if len(ipreg) <= 1 { return "" } if ipreg[len(ipreg)-1] == '*' { prefixStr := ipreg[:len(ipreg)-1] log.Printf("匹配以 %s 开头的IP", prefixStr) for i := range addressList { if strings.HasPrefix(addressList[i], prefixStr) { return addressList[i] } } return "" } if ipreg[0] == '*' { suffixStr := ipreg[1:] log.Printf("匹配以 %s 结尾的IP", suffixStr) for i := range addressList { if strings.HasSuffix(addressList[i], suffixStr) { return addressList[i] } } return "" } return "" } func GetGlobalIPv4BroadcastList() []string { var res []string allNetInterfaces, err := net.Interfaces() if err != nil { return res } for i := 0; i < len(allNetInterfaces); i++ { if (allNetInterfaces[i].Flags & net.FlagUp) != 0 { addrs, _ := allNetInterfaces[i].Addrs() for _, address := range addrs { if ipnet, ok := address.(*net.IPNet); ok && ipnet.IP.IsGlobalUnicast() { _, bits := ipnet.Mask.Size() // 需匹配全局单播地址 //if bits == 128 && ipv6Unicast.Contains(ipnet.IP) { if bits == 32 { //ipv4 = append(ipv4, ipnet.IP.String()) bcst := GetBroadcast(ipnet.IP, ipnet.Mask) res = append(res, bcst) } } } } } return res } func GetBroadcast(ip net.IP, mask net.IPMask) string { bcst := make(net.IP, len(ip)) copy(bcst, ip) for i := 0; i < len(mask); i++ { ipIdx := len(bcst) - i - 1 bcst[ipIdx] = ip[ipIdx] | ^mask[len(mask)-i-1] } return bcst.String() } ================================================ FILE: thirdlib/gdylib/pool/buf.go ================================================ package pool import ( "sync" ) var ( bufPool sync.Pool bufPool1k sync.Pool bufPool2k sync.Pool bufPool4k sync.Pool bufPool8k sync.Pool bufPool16k sync.Pool ) const ( k16 = 16 * 1024 k8 = 8 * 1024 k4 = 4 * 1024 k2 = 2 * 1024 k1 = 1024 ) func GetBuf(size int) []byte { var x interface{} switch { case size >= k16: x = bufPool16k.Get() case size >= k8: x = bufPool8k.Get() case size >= k4: x = bufPool4k.Get() case size >= k2: x = bufPool2k.Get() case size >= k1: x = bufPool1k.Get() default: x = bufPool.Get() } if x == nil { return make([]byte, size) } buf := x.([]byte) if cap(buf) < size { return make([]byte, size) } return buf[:size] } func PutBuf(buf interface{}) { size := cap(buf.([]byte)) switch { case size >= k16: bufPool16k.Put(buf) case size >= k8: bufPool8k.Put(buf) case size >= k4: bufPool4k.Put(buf) case size >= k2: bufPool2k.Put(buf) case size >= k1: bufPool1k.Put(buf) default: bufPool.Put(buf) } } ================================================ FILE: thirdlib/gdylib/recoverutil/recoverutil.go ================================================ package recoverutil import ( "fmt" "os" "runtime/debug" "strings" "time" "github.com/gdy666/lucky/thirdlib/gdylib/fileutils" "github.com/gdy666/lucky/thirdlib/gdylib/stderrredirect" ) //RecoverHandler 恢复处理 func RecoverHandler(recoverErr interface{}, exit, reboot bool, panicFileURL string) { if recoverErr == nil { return } outputPanicV2(panicFileURL, recoverErr) if reboot { var argvsBuilder strings.Builder for i := range os.Args { if i == 0 { continue } if argvsBuilder.Len() == 0 { argvsBuilder.WriteString(os.Args[i]) } else { argvsBuilder.WriteString(" ") argvsBuilder.WriteString(os.Args[i]) } } fileutils.OpenProgramOrFile(os.Args) //重启程序 //fileutil.OpenProgramOrFile(restartURIBuilder.String()) } if exit { os.Exit(1) } } func outputPanic(panicFileURL string, recoverErr interface{}) { exeName := os.Args[0] //获取程序名称 now := time.Now() //获取当前时间 pid := os.Getpid() //获取进程ID if !strings.Contains(panicFileURL, ":") && !strings.HasPrefix(panicFileURL, "/") { //相对路径 panicFileURL = fmt.Sprintf("%s%s%s", fileutils.GetCurrentDirectory(), string(os.PathSeparator), panicFileURL) } fileDir := "" lastIndex := strings.LastIndex(panicFileURL, string(os.PathSeparator)) if lastIndex > 0 { fileDir = panicFileURL[:lastIndex] } if err := os.MkdirAll(fileDir, 0755); err != nil { panic(fmt.Sprintf("创建错误重定向文件夹路径出错:%s", err.Error())) } file, err := os.OpenFile(panicFileURL, os.O_CREATE|os.O_APPEND, 0666) if err != nil { panic(fmt.Sprintf("panic重定向出错:%s", err.Error())) } defer file.Close() timeStr := now.Format("2006-01-02 15:04:05") //设定时间格式 file.WriteString("\n\n\n↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓\r\n") file.WriteString(fmt.Sprintf("%s-%d-%s dump LOG\r\n", exeName, pid, timeStr)) file.WriteString(fmt.Sprintf("%v\r\n", err)) //输出panic信息 file.WriteString(string(debug.Stack())) //输出堆栈信息 file.WriteString("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\r\n") // timeStr := now.Format("20060102150405") //设定时间格式 // fname := fmt.Sprintf("%s-%d-%s-dump.log", exeName, pid, timeStr) //保存错误信息文件名:程序名-进程ID-当前时间(年月日时分秒) // fmt.Println("dump to file ", fname) // f, err := os.Create(fname) // if err != nil { // return // } // defer f.Close() // if recoverErr != nil { // f.WriteString(fmt.Sprintf("%v\r\n", err)) //输出panic信息 // f.WriteString("========\r\n") // } // f.WriteString(string(debug.Stack())) //输出堆栈信息 } func outputPanicV2(panicFileURL string, recoverErr interface{}) { exeName := os.Args[0] //获取程序名称 now := time.Now() //获取当前时间 pid := os.Getpid() //获取进程ID setPanicRedirect := true if panicFileURL == "" { //空路径不设置 setPanicRedirect = false } if !strings.Contains(panicFileURL, ":") && !strings.HasPrefix(panicFileURL, "/") { //相对路径 panicFileURL = fmt.Sprintf("%s%s%s", fileutils.GetCurrentDirectory(), string(os.PathSeparator), panicFileURL) } // fileDir := "" // lastIndex := strings.LastIndex(panicFileURL, string(os.PathSeparator)) // if lastIndex > 0 { // fileDir = panicFileURL[:lastIndex] // } // if err := os.MkdirAll(fileDir, 0755); err != nil { // panic(fmt.Sprintf("创建错误重定向文件夹路径出错:%s", err.Error())) // } if setPanicRedirect { stderrredirect.PanicRedirect(panicFileURL) } timeStr := now.Format("2006-01-02 15:04:05") //设定时间格式 stderrredirect.PanicFile.WriteString("\n\n\n↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓\r\n") stderrredirect.PanicFile.WriteString(fmt.Sprintf("%s-%d-%s dump LOG\r\n", exeName, pid, timeStr)) // stderrredirect.PanicFile.WriteString(fmt.Sprintf("%v\r\n", err)) //输出panic信息 stderrredirect.PanicFile.WriteString(string(debug.Stack())) //输出堆栈信息 stderrredirect.PanicFile.WriteString("↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑\r\n") // file, err := os.OpenFile(panicFileURL, os.O_CREATE|os.O_APPEND, 0666) // if err != nil { // panic(fmt.Sprintf("panic重定向出错:%s", err.Error())) // } // defer file.Close() } ================================================ FILE: thirdlib/gdylib/service/service.go ================================================ package service import ( "context" "fmt" "log" "runtime/debug" "sync" "time" ) const ( //StateStop 未启动 StateStop = 0 //StateRunning 正在运行 StateRunning = 1 //StateStopping 正在结束 StateStopping = 2 ) //ServiceMsg 服务消息 type ServiceMsg struct { Type string Params []any } //var serviceMap map[string]*Service //用于保存已创建的服务 //var serverMapRWLock sync.RWMutex var serviceMap = struct { sync.RWMutex services map[string]*Service }{ services: map[string]*Service{}, } //Service 服务 type Service struct { Name string //服务名称 serviceMutex sync.Mutex State uint8 //服务状态 //服务运行状态 , 0:未启动 1:正在运行 2:正在结束 NextAction string //动作名称 DefaultAction string //默认动作 TimerFunc func(...any) //定时回调函数 EventFunc func(...any) //事件回调函数 StopFinishedCallback func(...any) //服务停止后的回调函数 eventChan chan any Timer *time.Timer //Args []interface{} context context.Context cancelFunc context.CancelFunc } //NewService 创建服务对象 func NewService(name string) (*Service, error) { serviceMap.Lock() defer serviceMap.Unlock() if _, ok := serviceMap.services[name]; ok { return nil, fmt.Errorf("命名为[%s]服务已存在", name) } if _, ok := serviceMap.services[name]; !ok { service := Service{Name: name, State: StateStop} service.eventChan = make(chan any, 32) serviceMap.services[name] = &service return &service, nil } panic(fmt.Sprintf("命名为[%s]服务已存在", name)) //return nil, fmt.Errorf("命名为[%s]服务已存在", name) } //SetDefaultAction 设置默认action func (s *Service) SetDefaultAction(action string) *Service { s.DefaultAction = action return s } //SetTimerFunc 设置定时功能函数 func (s *Service) SetTimerFunc(timerFunc func(...any)) *Service { s.TimerFunc = timerFunc return s } //SetEventFunc 设置时间功能函数 func (s *Service) SetEventFunc(eventFunc func(...any)) *Service { s.EventFunc = eventFunc return s } //SetStopFinishedCallback 设置服务停止后的回调函数 func (s *Service) SetStopFinishedCallback(f func(...any)) *Service { s.StopFinishedCallback = f return s } //Start 服务启动 func (s *Service) Start(vs ...any) error { s.serviceMutex.Lock() defer s.serviceMutex.Unlock() if s.State == StateRunning { text := fmt.Sprintf("服务 [%s]已启动,无需再次启动", s.Name) return fmt.Errorf(text) } if s.State == StateStopping { text := fmt.Sprintf("服务[%s]正在结束,请结束后再次启动", s.Name) return fmt.Errorf(text) } s.State = StateRunning s.NextAction = s.DefaultAction log.Printf("服务[%s] 启动", s.Name) s.context, s.cancelFunc = context.WithCancel(context.Background()) go s.loop(vs) return nil } //Stop 服务结束 func (s *Service) Stop() error { s.serviceMutex.Lock() defer s.serviceMutex.Unlock() if s.State == StateStop { text := fmt.Sprintf("服务[%s]未启动,无须停止", s.Name) return fmt.Errorf(text) } if s.State == StateStopping { text := fmt.Sprintf("服务[%s]正在结束,无须再次结束.", s.Name) return fmt.Errorf(text) } if s.cancelFunc == nil { return fmt.Errorf("服务[%s]context nil", s.Name) } s.cancelFunc() s.State = StateStopping return nil } func (s *Service) loop(params ...any) { defer func() { recoverErr := recover() if recoverErr == nil { return } log.Printf("service[%s] panic:\n%v", s.Name, recoverErr) log.Printf("\n%s\n", debug.Stack()) s.State = StateStop log.Printf("server[%s] restart", s.Name) s.Start() }() s.Timer = time.NewTimer(0) for { select { case <-s.Timer.C: { if s.TimerFunc != nil { //如果设置了定时回调的话 s.TimerFunc(s, params) } } case <-s.context.Done(): { if s.State == StateStopping { s.State = StateStop log.Printf("服务[%s] 停止", s.Name) if s.StopFinishedCallback != nil { s.StopFinishedCallback() } s.context = nil s.cancelFunc = nil return } if s.State == StateStop { log.Printf("服务[%s] 状态有误,结束服务失败", s.Name) return } if s.State == StateRunning { log.Printf("服务[%s] 状态有误,请使用正确途径结束", s.Name) return } } case msg := <-s.eventChan: { if s.EventFunc != nil { s.EventFunc(s, msg) } } } } } //Restart 重启服务 func (s *Service) Restart(params ...any) error { s.Stop() var timeout time.Duration if len(params) == 0 { timeout = time.Second * 15 } else { timeout = params[0].(time.Duration) } preTime := time.Now() for { waitTime := time.Now() if s.State == StateStop { return s.Start() } if waitTime.Sub(preTime) > timeout { return fmt.Errorf("重启服务[%s]超时", s.Name) } <-time.After(time.Millisecond * 100) } } //Message 发送消息给service //t 消息类型 //params 消息内容 func (s *Service) Message(t string, params ...any) error { s.serviceMutex.Lock() defer s.serviceMutex.Unlock() if s.State != StateRunning { return fmt.Errorf("[%s]服务已关闭或者正在关闭,无法处理消息 %v,", s.Name, params) } msg := ServiceMsg{Type: t} for i := range params { msg.Params = append(msg.Params, params[i]) } select { case s.eventChan <- msg: default: return fmt.Errorf("[%s]服务EventChan阻塞,无法处理event", s.Name) } return nil } //************************************* //GetService 查询服务根据服务名称 func GetService(name string) (*Service, error) { serviceMap.RLock() defer serviceMap.RUnlock() if _, ok := serviceMap.services[name]; !ok { return nil, fmt.Errorf("service[%s]不存在", name) } service := serviceMap.services[name] return service, nil } //Message 发送消息到service,根据serviceName func Message(serviceName string, msgType string, params ...any) error { service, err := GetService(serviceName) if err != nil { return fmt.Errorf("service[%s] Message faild,:%s", serviceName, err.Error()) } return service.Message(msgType, params...) } //Stop 服务停止,根据serviceName func Stop(serviceName string) error { service, err := GetService(serviceName) if err != nil { return fmt.Errorf("service[%s] stop faild:%s", serviceName, err.Error()) } return service.Stop() } //Restart 服务重启 func Restart(serviceName string) error { service, err := GetService(serviceName) if err != nil { return fmt.Errorf("restart servcie[%s] faild,:%s", serviceName, err.Error()) } return service.Restart() } //Start 服务启动 func Start(serviceName string) error { service, err := GetService(serviceName) if err != nil { return fmt.Errorf("servcie[%s] start faild,:%s", serviceName, err.Error()) } return service.Start() } ================================================ FILE: thirdlib/gdylib/slice/options.go ================================================ package slice func DeleteAnyListlice(a []any, deleteIndex int) []any { j := 0 for i := range a { if i != deleteIndex { a[j] = a[i] j++ } } return a[:j] } ================================================ FILE: thirdlib/gdylib/stderrredirect/stderrredirect_linux.go ================================================ package stderrredirect import ( "fmt" "os" "strings" "sync" "syscall" "github.com/gdy666/lucky/thirdlib/gdylib/fileutils" ) var PanicFile *os.File var doOnce sync.Once //PanicRedirect panic重定向 func PanicRedirect(fileURL string) { doOnce.Do(func() { if !strings.HasPrefix(fileURL, "/") { //相对路径 fileURL = fmt.Sprintf("%s%s%s", fileutils.GetCurrentDirectory(), string(os.PathSeparator), fileURL) } lastIndex := strings.LastIndex(fileURL, string(os.PathSeparator)) fileDir := "" if lastIndex > 0 { fileDir = fileURL[:lastIndex] } if err := os.MkdirAll(fileDir, 0755); err != nil { panic(fmt.Sprintf("创建错误重定向文件夹路径出错:%s", err.Error())) } file, err := os.OpenFile(fileURL, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) PanicFile = file if err != nil { return } if err = syscall.Dup2(int(file.Fd()), int(os.Stderr.Fd())); err != nil { return } return }) } ================================================ FILE: thirdlib/gdylib/stderrredirect/stderrredirect_windows.go ================================================ package stderrredirect import ( "fmt" "os" "strings" "sync" "syscall" "github.com/gdy666/lucky/thirdlib/gdylib/fileutils" ) //错误输出重定向,用于捕获闪退信息 //PanicFile 记录闪退的文件 var PanicFile *os.File var doOnce sync.Once //PanicRedirect panic重定向 func PanicRedirect(fileURL string) { doOnce.Do(func() { if !strings.Contains(fileURL, ":") { //相对路径 fileURL = fmt.Sprintf("%s%s%s", fileutils.GetCurrentDirectory(), string(os.PathSeparator), fileURL) } //fmt.Printf("FileURL:%s\n", fileURL) lastIndex := strings.LastIndex(fileURL, string(os.PathSeparator)) fileDir := "" if lastIndex > 0 { fileDir = fileURL[:lastIndex] } if err := os.MkdirAll(fileDir, 0755); err != nil { panic(fmt.Sprintf("创建错误重定向文件夹路径出错:%s", err.Error())) } //fileDir := strings.LastIndex(fileURL, string(os.PathSeparator)) file, err := os.OpenFile(fileURL, os.O_CREATE|os.O_APPEND, 0666) PanicFile = file if err != nil { panic(fmt.Sprintf("panic重定向出错:%s", err.Error())) } kernel32 := syscall.NewLazyDLL("kernel32.dll") setStdHandle := kernel32.NewProc("SetStdHandle") sh := syscall.STD_ERROR_HANDLE v, _, err := setStdHandle.Call(uintptr(sh), uintptr(file.Fd())) if v == 0 { return } }) } ================================================ FILE: thirdlib/gdylib/stringsp/binary.go ================================================ package stringsp import "fmt" const ( KB = uint(1024) MB = uint64(1024 * 1024) GB = uint64(1024 * 1024 * 1024) TB = uint64(1024 * 1024 * 1024 * 1024) EB = uint64(1024 * 1024 * 1024 * 1024 * 1024) ) func BinaryUnitToStr(binaryUnit uint64) (size string) { switch { case binaryUnit < 1024: return fmt.Sprintf("%.2fB", float64(binaryUnit)/float64(1)) case binaryUnit < MB: //1024*1024 return fmt.Sprintf("%.2fKB", float64(binaryUnit)/float64(KB)) case binaryUnit < GB: //1024 * 1024 * 1024 return fmt.Sprintf("%.2fMB", float64(binaryUnit)/float64(MB)) case binaryUnit < TB: //1024 * 1024 * 1024 * 1024 return fmt.Sprintf("%.2fGB", float64(binaryUnit)/float64(GB)) case binaryUnit < EB: //1024 * 1024 * 1024 * 1024 * 1024 return fmt.Sprintf("%.2fTB", float64(binaryUnit)/float64(TB)) default: return fmt.Sprintf("%.2fEB", float64(binaryUnit)/float64(EB)) } } ================================================ FILE: thirdlib/gdylib/stringsp/randomutils.go ================================================ package stringsp import ( "math/rand" "strings" "sync" "time" ) var strModel = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" var stringsBytes = []byte(strModel) var strModelLength = len(strModel) var numStrModel = "0123456789" var numStrBytes = []byte(numStrModel) var numStrLength = len(numStrModel) var randVar = rand.New(rand.NewSource(time.Now().UnixNano())) //GetRandomString 生成随机字符串 func GetRandomString(len int) string { var resBuf strings.Builder for i := 0; i < len; i++ { resBuf.WriteByte(stringsBytes[randVar.Intn(strModelLength)]) } return resBuf.String() } //GetRandomStringNum 生成随机数字字符串 func GetRandomStringNum(len int) string { var resBuf strings.Builder for i := 0; i < len; i++ { resBuf.WriteByte(numStrBytes[randVar.Intn(numStrLength)]) } return resBuf.String() } var timeStampIDMutex sync.Mutex var pretimeStampID int64 = 0 //GetTimeStampID 获取时间戳ID func GetTimeStampID() int64 { timeStampIDMutex.Lock() defer timeStampIDMutex.Unlock() id := time.Now().UnixNano() CHECK: if id == pretimeStampID || id < pretimeStampID { if id < pretimeStampID { id = pretimeStampID + 1 } else { id++ } goto CHECK } pretimeStampID = id return id } ================================================ FILE: thirdlib/gdylib/stringsp/stringsp.go ================================================ package stringsp func StrIsInList(str string, strList []string) bool { checkMap := make(map[string]uint8) for i := range strList { checkMap[strList[i]] = 1 } if _, ok := checkMap[str]; ok { return true } return false } ================================================ FILE: thirdlib/gdylib/stringsp/url.go ================================================ package stringsp import ( "net/url" "strings" ) func GetHostAndPathFromURL(urlstr string) (string, string, string, string, error) { if !strings.HasPrefix(urlstr, "http") { urlstr = "http://" + urlstr } u, err := url.Parse(urlstr) if err != nil { return "", "", "", "", err } return u.Scheme, u.Hostname(), u.Port(), u.Path, nil } ================================================ FILE: thirdlib/gdylib/websocketController/controller.go ================================================ package websocketcontroller import ( "context" "crypto/tls" "fmt" "net/http" "runtime/debug" "sync" "sync/atomic" "time" "github.com/gorilla/websocket" "github.com/sirupsen/logrus" ) const ( disconnected uint32 = iota connecting reconnecting connected ) const ( // Time allowed to write a message to the peer. writeWait = 5 * time.Second // Time allowed to read the next pong message from the peer. pongWait = 9 * time.Second // Send pings to peer with this period. Must be less than pongWait. pingPeriod = 1500 * time.Millisecond // Maximum message size allowed from peer. maxMessageSize = 4096 * 4 handshakeTimeout = 10 * time.Second readTimeout = 9 * time.Second ) type Controller struct { Logs *logrus.Logger mu sync.Mutex wait sync.WaitGroup initOnce sync.Once //一次 status uint32 readTimeout time.Duration writeWait time.Duration //自定义写超时参数 pongWait time.Duration //自定义Pong超时参数 pingPeriod time.Duration //自定义发送ping时间间隔 sendChan chan []byte ReceiveMessageCallback func(c *Controller, messageBytes []byte) //接收消息回调函数 ctx context.Context ctxCancelFunc context.CancelFunc sendMessageEncryptionFunc func(messageBytes []byte) ([]byte, error) //发送消息加密函数 receiveMessageDecryptionFunc func(messageBytes []byte) ([]byte, error) //接收消息解密函数 //---------- 客户端特有 serverUrl string scureSkipVerify bool handshakeTimeout time.Duration disconnectSign uint32 //主动断开连接标记,不自动重连 connectRetry bool //重连 connectRetryInterval time.Duration connectRetryCount int //0表示无限次 ClientReadyCallback func(c *Controller) ClientDisconnectedCallback func(c *Controller) remoteAddr string extDataMap sync.Map } func (c *Controller) SetSendMessageEncryptionFunc(f func(messageBytes []byte) ([]byte, error)) { c.sendMessageEncryptionFunc = f } func (c *Controller) SetReceiveMessageDecryptionFunc(f func(messageBytes []byte) ([]byte, error)) { c.receiveMessageDecryptionFunc = f } func (c *Controller) StoreExtData(key any, data any) { c.extDataMap.Store(key, data) } func (c *Controller) GetExtData(key any) (any, bool) { return c.extDataMap.Load(key) } func (c *Controller) disconnect() { c.mu.Lock() defer c.mu.Unlock() status := atomic.LoadUint32(&c.status) if status == disconnected { return } c.wait.Wait() if c.ctxCancelFunc != nil { c.ctxCancelFunc() c.ctxCancelFunc = nil } if c.ClientDisconnectedCallback != nil { c.ClientDisconnectedCallback(c) } atomic.StoreUint32(&c.status, disconnected) disconnectSign := atomic.LoadUint32(&c.disconnectSign) // if c.connectRetry && !c.disconnectSign { if c.connectRetry && disconnectSign == 0 { go func() { <-time.After(c.connectRetryInterval) c.Connect() }() } } func (c *Controller) SetServerURL(url string) { c.serverUrl = url } func (c *Controller) ScureSkipVerify(b bool) { c.scureSkipVerify = b } func (c *Controller) SetConnectRetry(b bool) { c.connectRetry = b } func (c *Controller) SetConnectRetryInterval(t time.Duration) { c.connectRetryInterval = t } func (c *Controller) SetConnectRetryCount(count int) { c.connectRetryCount = count } func (c *Controller) SetReadDeadline(d time.Duration) { c.readTimeout = d } func (c *Controller) init() { c.mu.Lock() defer c.mu.Unlock() status := atomic.LoadUint32(&c.status) if status == connected { return } if c.writeWait <= 0 { c.writeWait = writeWait } if c.pongWait <= 0 { c.pongWait = pongWait } if c.pingPeriod <= 0 { c.pingPeriod = pingPeriod } if c.handshakeTimeout <= 0 { c.handshakeTimeout = handshakeTimeout } if c.readTimeout <= 0 { c.readTimeout = readTimeout } //c.disconnectSign = false atomic.StoreUint32(&c.disconnectSign, 0) c.initOnce.Do(func() { c.sendChan = make(chan []byte, 1024) }) } func (c *Controller) Disconnect() { //c.disconnectSign = true atomic.StoreUint32(&c.disconnectSign, 1) c.mu.Lock() defer c.mu.Unlock() status := atomic.LoadUint32(&c.status) if status != connected { return } c.Logs.Infof("[%s]Disconnect", c.serverUrl) if c.ctxCancelFunc != nil { c.ctxCancelFunc() } } func (c *Controller) SendMessage(messageBytes []byte) { c.mu.Lock() defer c.mu.Unlock() status := atomic.LoadUint32(&c.status) if status != connected { c.Logs.Warn("websocketclient 未连接,消息[%s]发送失败", string(messageBytes)) return } if c.sendMessageEncryptionFunc != nil { enMsgBytes, err := c.sendMessageEncryptionFunc(messageBytes) if err != nil { c.Logs.Error("WebSocket客户端 自定义发送消息加密函数加密出错:%s", err.Error()) return } messageBytes = enMsgBytes } select { case c.sendChan <- messageBytes: default: } } func (c *Controller) writePump(ctx context.Context, conn *websocket.Conn) { ticker := time.NewTicker(c.pingPeriod) c.wait.Add(1) defer func() { conn.Close() c.wait.Done() ticker.Stop() c.disconnect() //c.Logs.Printf("writePump return\n") recoverErr := recover() if recoverErr == nil { return } c.Logs.Errorf("webscoket controller writePump panic:\n%v", recoverErr) c.Logs.Errorf("%s", debug.Stack()) }() //ccontext, _ := context.WithCancel(ctx) for { select { case messageBytes, ok := <-c.sendChan: //需要发送的消息 conn.SetWriteDeadline(time.Now().Add(c.writeWait)) if !ok { conn.WriteMessage(websocket.CloseMessage, []byte{}) return } w, err := conn.NextWriter(websocket.TextMessage) if err != nil { return } if len(messageBytes) == 0 { continue } w.Write(messageBytes) if err := w.Close(); err != nil { return } case <-ticker.C: conn.SetWriteDeadline(time.Now().Add(c.writeWait)) if err := conn.WriteMessage(websocket.PingMessage, nil); err != nil { return } // case <-ccontext.Done(): // { // return // } case <-ctx.Done(): { //fmt.Printf("ctx.Done():666\n") return } } } } func (c *Controller) readPump(cancelFunc context.CancelFunc, conn *websocket.Conn) { defer func() { c.wait.Done() cancelFunc() //c.Logs.Printf("readPump return ") recoverErr := recover() if recoverErr == nil { return } c.Logs.Errorf("webscoket controller readPump panic:\n%v", recoverErr) c.Logs.Errorf("%s", debug.Stack()) }() c.wait.Add(1) conn.SetReadLimit(maxMessageSize) conn.SetReadDeadline(time.Now().Add(c.readTimeout)) conn.SetPongHandler(func(string) error { conn.SetReadDeadline(time.Now().Add(c.pongWait)) return nil }) for { _, messageBytes, err := conn.ReadMessage() if err != nil { if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseAbnormalClosure) { c.Logs.Error("websocket.IsUnexpectedCloseError : %s", err.Error()) } break } messageSize := len(messageBytes) if messageSize <= 1 { //忽略心跳消息 continue } if c.receiveMessageDecryptionFunc != nil { deMsgBytes, err := c.receiveMessageDecryptionFunc(messageBytes) if err != nil { c.Logs.Error("Websocket controller 消息接收消息解密出错:%s", err.Error()) continue } messageBytes = deMsgBytes } if c.ReceiveMessageCallback != nil { go c.ReceiveMessageCallback(c, messageBytes) } } } func (c *Controller) Connect() error { c.init() c.mu.Lock() defer c.mu.Unlock() dialer := &websocket.Dialer{ Proxy: http.ProxyFromEnvironment, HandshakeTimeout: c.handshakeTimeout, TLSClientConfig: &tls.Config{InsecureSkipVerify: c.scureSkipVerify}} atomic.StoreUint32(&c.status, connecting) retryCount := 0 RETRYCONN: connect, _, err := dialer.Dial(c.serverUrl, nil) if err != nil { disconnectSign := atomic.LoadUint32(&c.disconnectSign) // if c.connectRetry && (c.connectRetryCount <= 0 || retryCount < c.connectRetryCount) && !c.disconnectSign { if c.connectRetry && (c.connectRetryCount <= 0 || retryCount < c.connectRetryCount) && disconnectSign == 0 { <-time.After(c.connectRetryInterval) retryCount++ c.Logs.Errorf("[%d]Connect error:%s", disconnectSign, err.Error()) c.Logs.Infof("[%s]重新连接...%d\n", c.serverUrl, retryCount) goto RETRYCONN } atomic.StoreUint32(&c.status, disconnected) return fmt.Errorf("Connect DefaultDialer error:%s", err.Error()) } //c.conn = connect if c.ctxCancelFunc != nil { c.ctxCancelFunc() } c.monitor(connect) return nil } // ConnectReady Websocket 服务器端使用 func (c *Controller) ConnectReady(connect *websocket.Conn) { c.init() c.mu.Lock() defer c.mu.Unlock() c.remoteAddr = connect.RemoteAddr().String() c.monitor(connect) } func (c *Controller) GetRemoteAddr() string { return c.remoteAddr } func (c *Controller) monitor(connect *websocket.Conn) { ctx, ctxCancelFunc := context.WithCancel(context.Background()) c.ctx = ctx c.ctxCancelFunc = ctxCancelFunc atomic.StoreUint32(&c.status, connected) go c.writePump(ctx, connect) go c.readPump(ctxCancelFunc, connect) if c.ClientReadyCallback != nil { go c.ClientReadyCallback(c) } } ================================================ FILE: thirdlib/go-wol/magic_packet.go ================================================ package wol //////////////////////////////////////////////////////////////////////////////// import ( "bytes" "encoding/binary" "fmt" "net" "regexp" ) //////////////////////////////////////////////////////////////////////////////// var ( delims = ":-" reMAC = regexp.MustCompile(`^([0-9a-fA-F]{2}[` + delims + `]){5}([0-9a-fA-F]{2})$`) ) //////////////////////////////////////////////////////////////////////////////// // MACAddress represents a 6 byte network mac address. type MACAddress [6]byte // MagicPacket is constituted of 6 bytes of 0xFF followed by 16-groups of the // destination MAC address. type MagicPacket struct { header [6]byte payload [16]MACAddress } // New returns a magic packet based on a mac address string. func New(mac string) (*MagicPacket, error) { var packet MagicPacket var macAddr MACAddress hwAddr, err := net.ParseMAC(mac) if err != nil { return nil, err } // We only support 6 byte MAC addresses since it is much harder to use the // binary.Write(...) interface when the size of the MagicPacket is dynamic. if !reMAC.MatchString(mac) { return nil, fmt.Errorf("%s is not a IEEE 802 MAC-48 address", mac) } // Copy bytes from the returned HardwareAddr -> a fixed size MACAddress. for idx := range macAddr { macAddr[idx] = hwAddr[idx] } // Setup the header which is 6 repetitions of 0xFF. for idx := range packet.header { packet.header[idx] = 0xFF } // Setup the payload which is 16 repetitions of the MAC addr. for idx := range packet.payload { packet.payload[idx] = macAddr } return &packet, nil } // Marshal serializes the magic packet structure into a 102 byte slice. func (mp *MagicPacket) Marshal() ([]byte, error) { var buf bytes.Buffer if err := binary.Write(&buf, binary.BigEndian, mp); err != nil { return nil, err } return buf.Bytes(), nil } ================================================ FILE: thirdlib/go-wol/wol.go ================================================ package wol import ( "fmt" "net" ) func WakeUpRepeat(macAddr, broadcastIP, bcastInterface string, port, repeat int) { i := 0 for { WakeUp(macAddr, broadcastIP, bcastInterface, port) i++ if i >= repeat { return } } } func WakeUp(macAddr, broadcastIP, bcastInterface string, port int) error { var localAddr *net.UDPAddr var err error if bcastInterface != "" { localAddr, err = ipFromInterface(bcastInterface) if err != nil { return err } } bcastAddr := fmt.Sprintf("%s:%d", broadcastIP, port) udpAddr, err := net.ResolveUDPAddr("udp", bcastAddr) if err != nil { return err } // Build the magic packet. mp, err := New(macAddr) if err != nil { return err } bs, err := mp.Marshal() if err != nil { return err } conn, err := net.DialUDP("udp", localAddr, udpAddr) if err != nil { return err } defer conn.Close() //fmt.Printf("Attempting to send a magic packet to MAC %s\n", macAddr) //fmt.Printf("... Broadcasting to: %s\n", bcastAddr) n, err := conn.Write(bs) if err == nil && n != 102 { err = fmt.Errorf("magic packet sent was %d bytes (expected 102 bytes sent)", n) } if err != nil { return err } //fmt.Printf("Magic packet sent successfully to %s\n", macAddr) return nil } // ipFromInterface returns a `*net.UDPAddr` from a network interface name. func ipFromInterface(iface string) (*net.UDPAddr, error) { ief, err := net.InterfaceByName(iface) if err != nil { return nil, err } addrs, err := ief.Addrs() if err == nil && len(addrs) <= 0 { err = fmt.Errorf("no address associated with interface %s", iface) } if err != nil { return nil, err } // Validate that one of the addrs is a valid network IP address. for _, addr := range addrs { switch ip := addr.(type) { case *net.IPNet: if !ip.IP.IsLoopback() && ip.IP.To4() != nil { return &net.UDPAddr{ IP: ip.IP, }, nil } } } return nil, fmt.Errorf("no address associated with interface %s", iface) } ================================================ FILE: thirdlib/jeessy2/ddns-go/util/aliyun_signer.go ================================================ package util import ( "crypto/hmac" "crypto/md5" "crypto/sha1" "crypto/sha256" "encoding/base64" "fmt" "hash" "io" "net/url" ) // https://github.com/rosbit/aliyun-sign/blob/master/aliyun-sign.go var ( signMethodMap = map[string]func() hash.Hash{ "HMAC-SHA1": sha1.New, "HMAC-SHA256": sha256.New, "HMAC-MD5": md5.New, } ) func HmacSign(signMethod string, httpMethod string, appKeySecret string, vals url.Values) (signature []byte) { key := []byte(appKeySecret + "&") var h hash.Hash if method, ok := signMethodMap[signMethod]; ok { h = hmac.New(method, key) } else { h = hmac.New(sha1.New, key) } makeDataToSign(h, httpMethod, vals) return h.Sum(nil) } func HmacSignToB64(signMethod string, httpMethod string, appKeySecret string, vals url.Values) (signature string) { return base64.StdEncoding.EncodeToString(HmacSign(signMethod, httpMethod, appKeySecret, vals)) } type strToEnc struct { s string e bool } func makeDataToSign(w io.Writer, httpMethod string, vals url.Values) { in := make(chan *strToEnc) go func() { in <- &strToEnc{s: httpMethod} in <- &strToEnc{s: "&"} in <- &strToEnc{s: "/", e: true} in <- &strToEnc{s: "&"} in <- &strToEnc{s: vals.Encode(), e: true} close(in) }() specialUrlEncode(in, w) } var ( encTilde = "%7E" // '~' -> "%7E" encBlank = []byte("%20") // ' ' -> "%20" tilde = []byte("~") ) func specialUrlEncode(in <-chan *strToEnc, w io.Writer) { for s := range in { if !s.e { io.WriteString(w, s.s) continue } l := len(s.s) for i := 0; i < l; { ch := s.s[i] switch ch { case '%': if encTilde == s.s[i:i+3] { w.Write(tilde) i += 3 continue } fallthrough case '*', '/', '&', '=': fmt.Fprintf(w, "%%%02X", ch) case '+': w.Write(encBlank) default: fmt.Fprintf(w, "%c", ch) } i += 1 } } } ================================================ FILE: thirdlib/jeessy2/ddns-go/util/aliyun_signer_util.go ================================================ package util import ( "net/url" "strconv" "time" ) // AliyunSigner AliyunSigner func AliyunSigner(accessKeyID, accessSecret string, params *url.Values) { // 公共参数 params.Set("SignatureMethod", "HMAC-SHA1") params.Set("SignatureNonce", strconv.FormatInt(time.Now().UnixNano(), 10)) params.Set("AccessKeyId", accessKeyID) params.Set("SignatureVersion", "1.0") params.Set("Timestamp", time.Now().UTC().Format("2006-01-02T15:04:05Z")) params.Set("Format", "JSON") params.Set("Version", "2015-01-09") params.Set("Signature", HmacSignToB64("HMAC-SHA1", "GET", accessSecret, *params)) } ================================================ FILE: thirdlib/jeessy2/ddns-go/util/baidu_signer.go ================================================ package util import ( "crypto/hmac" "crypto/sha256" "encoding/hex" "fmt" "net/http" "strings" "time" ) // https://cloud.baidu.com/doc/Reference/s/Njwvz1wot const ( BaiduDateFormat = "2006-01-02T15:04:05Z" expirationPeriod = "1800" ) func HmacSha256Hex(secret, message string) string { key := []byte(secret) h := hmac.New(sha256.New, key) h.Write([]byte(message)) sha := hex.EncodeToString(h.Sum(nil)) return sha } func BaiduCanonicalURI(r *http.Request) string { pattens := strings.Split(r.URL.Path, "/") var uri []string for _, v := range pattens { uri = append(uri, escape(v)) } urlpath := strings.Join(uri, "/") if len(urlpath) == 0 || urlpath[len(urlpath)-1] != '/' { urlpath = urlpath + "/" } return urlpath[0 : len(urlpath)-1] } // BaiduSigner set Authorization header func BaiduSigner(accessKeyID, accessSecret string, r *http.Request) { //format: bce-auth-v1/{accessKeyId}/{timestamp}/{expirationPeriodInSeconds} authStringPrefix := "bce-auth-v1/" + accessKeyID + "/" + time.Now().UTC().Format(BaiduDateFormat) + "/" + expirationPeriod baiduCanonicalURL := BaiduCanonicalURI(r) //format: HTTP Method + "\n" + CanonicalURI + "\n" + CanonicalQueryString + "\n" + CanonicalHeaders //由于仅仅调用三个POST接口且不会更改,这里CanonicalQueryString和CanonicalHeaders直接写死 CanonicalReq := fmt.Sprintf("%s\n%s\n%s\n%s", r.Method, baiduCanonicalURL, "", "host:bcd.baidubce.com") signingKey := HmacSha256Hex(accessSecret, authStringPrefix) signature := HmacSha256Hex(signingKey, CanonicalReq) //format: authStringPrefix/{signedHeaders}/{signature} authString := authStringPrefix + "/host/" + signature r.Header.Set(HeaderAuthorization, authString) } ================================================ FILE: thirdlib/jeessy2/ddns-go/util/escape.go ================================================ // based on https://github.com/golang/go/blob/master/src/net/url/url.go // Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package util func shouldEscape(c byte) bool { if 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' || '0' <= c && c <= '9' || c == '_' || c == '-' || c == '~' || c == '.' { return false } return true } func escape(s string) string { hexCount := 0 for i := 0; i < len(s); i++ { c := s[i] if shouldEscape(c) { hexCount++ } } if hexCount == 0 { return s } t := make([]byte, len(s)+2*hexCount) j := 0 for i := 0; i < len(s); i++ { switch c := s[i]; { case shouldEscape(c): t[j] = '%' t[j+1] = "0123456789ABCDEF"[c>>4] t[j+2] = "0123456789ABCDEF"[c&15] j += 3 default: t[j] = s[i] j++ } } return string(t) } ================================================ FILE: thirdlib/jeessy2/ddns-go/util/huawei_signer.go ================================================ // HWS API Gateway Signature // based on https://github.com/datastream/aws/blob/master/signv4.go // Copyright (c) 2014, Xianjie package util import ( "bytes" "crypto/hmac" "crypto/sha256" "fmt" "io/ioutil" "net/http" "sort" "strings" "time" ) const ( BasicDateFormat = "20060102T150405Z" Algorithm = "SDK-HMAC-SHA256" HeaderXDate = "X-Sdk-Date" HeaderHost = "host" HeaderAuthorization = "Authorization" HeaderContentSha256 = "X-Sdk-Content-Sha256" ) func hmacsha256(key []byte, data string) ([]byte, error) { h := hmac.New(sha256.New, []byte(key)) if _, err := h.Write([]byte(data)); err != nil { return nil, err } return h.Sum(nil), nil } // Build a CanonicalRequest from a regular request string // // CanonicalRequest = // HTTPRequestMethod + '\n' + // CanonicalURI + '\n' + // CanonicalQueryString + '\n' + // CanonicalHeaders + '\n' + // SignedHeaders + '\n' + // HexEncode(Hash(RequestPayload)) func CanonicalRequest(r *http.Request, signedHeaders []string) (string, error) { var hexencode string var err error if hex := r.Header.Get(HeaderContentSha256); hex != "" { hexencode = hex } else { data, err := RequestPayload(r) if err != nil { return "", err } hexencode, err = HexEncodeSHA256Hash(data) if err != nil { return "", err } } return fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s", r.Method, CanonicalURI(r), CanonicalQueryString(r), CanonicalHeaders(r, signedHeaders), strings.Join(signedHeaders, ";"), hexencode), err } // CanonicalURI returns request uri func CanonicalURI(r *http.Request) string { pattens := strings.Split(r.URL.Path, "/") var uri []string for _, v := range pattens { uri = append(uri, escape(v)) } urlpath := strings.Join(uri, "/") if len(urlpath) == 0 || urlpath[len(urlpath)-1] != '/' { urlpath = urlpath + "/" } return urlpath } // CanonicalQueryString func CanonicalQueryString(r *http.Request) string { var keys []string query := r.URL.Query() for key := range query { keys = append(keys, key) } sort.Strings(keys) var a []string for _, key := range keys { k := escape(key) sort.Strings(query[key]) for _, v := range query[key] { kv := fmt.Sprintf("%s=%s", k, escape(v)) a = append(a, kv) } } queryStr := strings.Join(a, "&") r.URL.RawQuery = queryStr return queryStr } // CanonicalHeaders func CanonicalHeaders(r *http.Request, signerHeaders []string) string { var a []string header := make(map[string][]string) for k, v := range r.Header { header[strings.ToLower(k)] = v } for _, key := range signerHeaders { value := header[key] if strings.EqualFold(key, HeaderHost) { value = []string{r.Host} } sort.Strings(value) for _, v := range value { a = append(a, key+":"+strings.TrimSpace(v)) } } return fmt.Sprintf("%s\n", strings.Join(a, "\n")) } // SignedHeaders func SignedHeaders(r *http.Request) []string { var a []string for key := range r.Header { a = append(a, strings.ToLower(key)) } sort.Strings(a) return a } // RequestPayload func RequestPayload(r *http.Request) ([]byte, error) { if r.Body == nil { return []byte(""), nil } b, err := ioutil.ReadAll(r.Body) if err != nil { return []byte(""), err } r.Body = ioutil.NopCloser(bytes.NewBuffer(b)) return b, err } // Create a "String to Sign". func StringToSign(canonicalRequest string, t time.Time) (string, error) { hash := sha256.New() _, err := hash.Write([]byte(canonicalRequest)) if err != nil { return "", err } return fmt.Sprintf("%s\n%s\n%x", Algorithm, t.UTC().Format(BasicDateFormat), hash.Sum(nil)), nil } // Create the HWS Signature. func SignStringToSign(stringToSign string, signingKey []byte) (string, error) { hm, err := hmacsha256(signingKey, stringToSign) return fmt.Sprintf("%x", hm), err } // HexEncodeSHA256Hash returns hexcode of sha256 func HexEncodeSHA256Hash(body []byte) (string, error) { hash := sha256.New() if body == nil { body = []byte("") } _, err := hash.Write(body) return fmt.Sprintf("%x", hash.Sum(nil)), err } // Get the finalized value for the "Authorization" header. The signature parameter is the output from SignStringToSign func AuthHeaderValue(signature, accessKey string, signedHeaders []string) string { return fmt.Sprintf("%s Access=%s, SignedHeaders=%s, Signature=%s", Algorithm, accessKey, strings.Join(signedHeaders, ";"), signature) } // Signature HWS meta type Signer struct { Key string Secret string } // SignRequest set Authorization header func (s *Signer) Sign(r *http.Request) error { var t time.Time var err error var dt string if dt = r.Header.Get(HeaderXDate); dt != "" { t, err = time.Parse(BasicDateFormat, dt) } if err != nil || dt == "" { t = time.Now() r.Header.Set(HeaderXDate, t.UTC().Format(BasicDateFormat)) } signedHeaders := SignedHeaders(r) canonicalRequest, err := CanonicalRequest(r, signedHeaders) if err != nil { return err } stringToSign, err := StringToSign(canonicalRequest, t) if err != nil { return err } signature, err := SignStringToSign(stringToSign, []byte(s.Secret)) if err != nil { return err } authValue := AuthHeaderValue(signature, s.Key, signedHeaders) r.Header.Set(HeaderAuthorization, authValue) return nil } ================================================ FILE: thirdlib/jeessy2/ddns-go/util/net.go ================================================ package util import ( "net" "strings" ) // IsPrivateNetwork 是否为私有地址 // https://en.wikipedia.org/wiki/Private_network func IsPrivateNetwork(remoteAddr string) bool { lastIndex := strings.LastIndex(remoteAddr, ":") if lastIndex < 1 { return false } remoteAddr = remoteAddr[:lastIndex] // ipv6 if strings.HasPrefix(remoteAddr, "[") && strings.HasSuffix(remoteAddr, "]") { remoteAddr = remoteAddr[1 : len(remoteAddr)-1] } if ip := net.ParseIP(remoteAddr); ip != nil { return ip.IsLoopback() || // 127/8, ::1 ip.IsPrivate() || // 10/8, 172.16/12, 192.168/16, fc00::/7 ip.IsLinkLocalUnicast() // 169.254/16, fe80::/10 } // localhost if remoteAddr == "localhost" { return true } return false } ================================================ FILE: web/adminviews/.gitignore ================================================ # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log* node_modules .DS_Store dist-ssr coverage *.local /cypress/videos/ /cypress/screenshots/ # Editor directories and files .vscode/* !.vscode/extensions.json .idea *.suo *.ntvs* *.njsproj *.sln *.sw? ================================================ FILE: web/adminviews/.vscode/extensions.json ================================================ { "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] } ================================================ FILE: web/adminviews/README.md ================================================ # lucky-adminviews This template should help get you started developing with Vue 3 in Vite. ## Recommended IDE Setup [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). ## Customize configuration See [Vite Configuration Reference](https://vitejs.dev/config/). ## Project Setup ```sh npm install ``` ### Compile and Hot-Reload for Development ```sh npm run dev ``` ### Compile and Minify for Production ```sh npm run build ``` ================================================ FILE: web/adminviews/auto-imports.d.ts ================================================ // Generated by 'unplugin-auto-import' export {} declare global { } ================================================ FILE: web/adminviews/components.d.ts ================================================ // generated by unplugin-vue-components // We suggest you to commit this file into source control // Read more: https://github.com/vuejs/core/pull/3399 import '@vue/runtime-core' declare module '@vue/runtime-core' { export interface GlobalComponents { About: typeof import('./src/components/About.vue')['default'] BlackLists: typeof import('./src/components/BlackLists.vue')['default'] DDNS: typeof import('./src/components/DDNS.vue')['default'] DDNSSet: typeof import('./src/components/DDNSSet.vue')['default'] ElAffix: typeof import('element-plus/es')['ElAffix'] ElButton: typeof import('element-plus/es')['ElButton'] ElCheckbox: typeof import('element-plus/es')['ElCheckbox'] ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup'] ElCollapse: typeof import('element-plus/es')['ElCollapse'] ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem'] ElContainer: typeof import('element-plus/es')['ElContainer'] ElDescriptions: typeof import('element-plus/es')['ElDescriptions'] ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem'] ElDialog: typeof import('element-plus/es')['ElDialog'] ElDivider: typeof import('element-plus/es')['ElDivider'] ElForm: typeof import('element-plus/es')['ElForm'] ElFormItem: typeof import('element-plus/es')['ElFormItem'] ElHeader: typeof import('element-plus/es')['ElHeader'] ElIcon: typeof import('element-plus/es')['ElIcon'] ElInput: typeof import('element-plus/es')['ElInput'] ElInputNumber: typeof import('element-plus/es')['ElInputNumber'] ElLink: typeof import('element-plus/es')['ElLink'] ElMain: typeof import('element-plus/es')['ElMain'] ElMenu: typeof import('element-plus/es')['ElMenu'] ElMenuItem: typeof import('element-plus/es')['ElMenuItem'] ElOption: typeof import('element-plus/es')['ElOption'] ElPagination: typeof import('element-plus/es')['ElPagination'] ElRadio: typeof import('element-plus/es')['ElRadio'] ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup'] ElScrollbar: typeof import('element-plus/es')['ElScrollbar'] ElSelect: typeof import('element-plus/es')['ElSelect'] ElSubMenu: typeof import('element-plus/es')['ElSubMenu'] ElSwitch: typeof import('element-plus/es')['ElSwitch'] ElTable: typeof import('element-plus/es')['ElTable'] ElTableColumn: typeof import('element-plus/es')['ElTableColumn'] ElTooltip: typeof import('element-plus/es')['ElTooltip'] ElUpload: typeof import('element-plus/es')['ElUpload'] Loading: typeof import('element-plus/es')['ElLoadingDirective'] Log: typeof import('./src/components/Log.vue')['default'] Login: typeof import('./src/components/Login.vue')['default'] Pmenu: typeof import('./src/components/Pmenu.vue')['default'] PortForward: typeof import('./src/components/PortForward.vue')['default'] PortForwardSet: typeof import('./src/components/PortForwardSet.vue')['default'] PSet: typeof import('./src/components/PSet.vue')['default'] ReverseProxy: typeof import('./src/components/ReverseProxy.vue')['default'] SSL: typeof import('./src/components/SSL.vue')['default'] Status: typeof import('./src/components/Status.vue')['default'] WhiteLists: typeof import('./src/components/WhiteLists.vue')['default'] WhiteListSet: typeof import('./src/components/WhiteListSet.vue')['default'] WOL: typeof import('./src/components/tools/WOL.vue')['default'] } } export {} ================================================ FILE: web/adminviews/dist/assets/index.0c84c960.js ================================================ var up=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Dpe=up((Cn,En)=>{const ap=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))o(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const a of u.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerpolicy&&(u.referrerPolicy=l.referrerpolicy),l.crossorigin==="use-credentials"?u.credentials="include":l.crossorigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function o(l){if(l.ep)return;l.ep=!0;const u=n(l);fetch(l.href,u)}};ap();function xi(e,t){const n=Object.create(null),o=e.split(",");for(let l=0;l!!n[l.toLowerCase()]:l=>!!n[l]}const rp="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",sp=xi(rp);function jd(e){return!!e||e===""}function ut(e){if(qe(e)){const t={};for(let n=0;n{if(n){const o=n.split(cp);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function K(e){let t="";if(tt(e))t=e;else if(qe(e))for(let n=0;nJl(n,t))}const re=e=>tt(e)?e:e==null?"":qe(e)||dt(e)&&(e.toString===Yd||!Ge(e.toString))?JSON.stringify(e,Gd,2):String(e),Gd=(e,t)=>t&&t.__v_isRef?Gd(e,t.value):Gl(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,l])=>(n[`${o} =>`]=l,n),{})}:Sr(t)?{[`Set(${t.size})`]:[...t.values()]}:dt(t)&&!qe(t)&&!Xd(t)?String(t):t,wt={},Kl=[],vt=()=>{},pp=()=>!1,vp=/^on[^a-z]/,$r=e=>vp.test(e),$i=e=>e.startsWith("onUpdate:"),Ht=Object.assign,Si=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},hp=Object.prototype.hasOwnProperty,st=(e,t)=>hp.call(e,t),qe=Array.isArray,Gl=e=>da(e)==="[object Map]",Sr=e=>da(e)==="[object Set]",l2=e=>da(e)==="[object Date]",Ge=e=>typeof e=="function",tt=e=>typeof e=="string",ju=e=>typeof e=="symbol",dt=e=>e!==null&&typeof e=="object",dr=e=>dt(e)&&Ge(e.then)&&Ge(e.catch),Yd=Object.prototype.toString,da=e=>Yd.call(e),qa=e=>da(e).slice(8,-1),Xd=e=>da(e)==="[object Object]",ki=e=>tt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ja=xi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),kr=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},_p=/-(\w)/g,Ln=kr(e=>e.replace(_p,(t,n)=>n?n.toUpperCase():"")),mp=/\B([A-Z])/g,ll=kr(e=>e.replace(mp,"-$1").toLowerCase()),Pr=kr(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ka=kr(e=>e?`on${Pr(e)}`:""),Ku=(e,t)=>!Object.is(e,t),Ga=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},pr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let u2;const gp=()=>u2||(u2=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let yn;class bp{constructor(t=!1){this.detached=t,this.active=!0,this.effects=[],this.cleanups=[],this.parent=yn,!t&&yn&&(this.index=(yn.scopes||(yn.scopes=[])).push(this)-1)}run(t){if(this.active){const n=yn;try{return yn=this,t()}finally{yn=n}}}on(){yn=this}off(){yn=this.parent}stop(t){if(this.active){let n,o;for(n=0,o=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Qd=e=>(e.w&el)>0,Zd=e=>(e.n&el)>0,Cp=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{(i==="length"||i>=o)&&r.push(s)});else switch(n!==void 0&&r.push(a.get(n)),t){case"add":qe(e)?ki(n)&&r.push(a.get("length")):(r.push(a.get(El)),Gl(e)&&r.push(a.get(Vs)));break;case"delete":qe(e)||(r.push(a.get(El)),Gl(e)&&r.push(a.get(Vs)));break;case"set":Gl(e)&&r.push(a.get(El));break}if(r.length===1)r[0]&&Is(r[0]);else{const s=[];for(const i of r)i&&s.push(...i);Is(Pi(s))}}function Is(e,t){const n=qe(e)?e:[...e];for(const o of n)o.computed&&r2(o);for(const o of n)o.computed||r2(o)}function r2(e,t){(e!==Wn||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Fp=xi("__proto__,__v_isRef,__isVue"),n1=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ju)),Ap=Ti(),Dp=Ti(!1,!0),Bp=Ti(!0),s2=xp();function xp(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const o=ct(this);for(let u=0,a=this.length;u{e[t]=function(...n){kl();const o=ct(this)[t].apply(this,n);return Pl(),o}}),e}function Ti(e=!1,t=!1){return function(o,l,u){if(l==="__v_isReactive")return!e;if(l==="__v_isReadonly")return e;if(l==="__v_isShallow")return t;if(l==="__v_raw"&&u===(e?t?Wp:r1:t?a1:u1).get(o))return o;const a=qe(o);if(!e&&a&&st(s2,l))return Reflect.get(s2,l,u);const r=Reflect.get(o,l,u);return(ju(l)?n1.has(l):Fp(l))||(e||Fn(o,"get",l),t)?r:yt(r)?a&&ki(l)?r:r.value:dt(r)?e?Vi(r):Rt(r):r}}const $p=o1(),Sp=o1(!0);function o1(e=!1){return function(n,o,l,u){let a=n[o];if(Ql(a)&&yt(a)&&!yt(l))return!1;if(!e&&(!vr(l)&&!Ql(l)&&(a=ct(a),l=ct(l)),!qe(n)&&yt(a)&&!yt(l)))return a.value=l,!0;const r=qe(n)&&ki(o)?Number(o)e,Lr=e=>Reflect.getPrototypeOf(e);function Da(e,t,n=!1,o=!1){e=e.__v_raw;const l=ct(e),u=ct(t);n||(t!==u&&Fn(l,"get",t),Fn(l,"get",u));const{has:a}=Lr(l),r=o?zi:n?Hi:Gu;if(a.call(l,t))return r(e.get(t));if(a.call(l,u))return r(e.get(u));e!==l&&e.get(t)}function Ba(e,t=!1){const n=this.__v_raw,o=ct(n),l=ct(e);return t||(e!==l&&Fn(o,"has",e),Fn(o,"has",l)),e===l?n.has(e):n.has(e)||n.has(l)}function xa(e,t=!1){return e=e.__v_raw,!t&&Fn(ct(e),"iterate",El),Reflect.get(e,"size",e)}function i2(e){e=ct(e);const t=ct(this);return Lr(t).has.call(t,e)||(t.add(e),xo(t,"add",e,e)),this}function c2(e,t){t=ct(t);const n=ct(this),{has:o,get:l}=Lr(n);let u=o.call(n,e);u||(e=ct(e),u=o.call(n,e));const a=l.call(n,e);return n.set(e,t),u?Ku(t,a)&&xo(n,"set",e,t):xo(n,"add",e,t),this}function d2(e){const t=ct(this),{has:n,get:o}=Lr(t);let l=n.call(t,e);l||(e=ct(e),l=n.call(t,e)),o&&o.call(t,e);const u=t.delete(e);return l&&xo(t,"delete",e,void 0),u}function f2(){const e=ct(this),t=e.size!==0,n=e.clear();return t&&xo(e,"clear",void 0,void 0),n}function $a(e,t){return function(o,l){const u=this,a=u.__v_raw,r=ct(a),s=t?zi:e?Hi:Gu;return!e&&Fn(r,"iterate",El),a.forEach((i,p)=>o.call(l,s(i),s(p),u))}}function Sa(e,t,n){return function(...o){const l=this.__v_raw,u=ct(l),a=Gl(u),r=e==="entries"||e===Symbol.iterator&&a,s=e==="keys"&&a,i=l[e](...o),p=n?zi:t?Hi:Gu;return!t&&Fn(u,"iterate",s?Vs:El),{next(){const{value:m,done:v}=i.next();return v?{value:m,done:v}:{value:r?[p(m[0]),p(m[1])]:p(m),done:v}},[Symbol.iterator](){return this}}}}function Ro(e){return function(...t){return e==="delete"?!1:this}}function Mp(){const e={get(u){return Da(this,u)},get size(){return xa(this)},has:Ba,add:i2,set:c2,delete:d2,clear:f2,forEach:$a(!1,!1)},t={get(u){return Da(this,u,!1,!0)},get size(){return xa(this)},has:Ba,add:i2,set:c2,delete:d2,clear:f2,forEach:$a(!1,!0)},n={get(u){return Da(this,u,!0)},get size(){return xa(this,!0)},has(u){return Ba.call(this,u,!0)},add:Ro("add"),set:Ro("set"),delete:Ro("delete"),clear:Ro("clear"),forEach:$a(!0,!1)},o={get(u){return Da(this,u,!0,!0)},get size(){return xa(this,!0)},has(u){return Ba.call(this,u,!0)},add:Ro("add"),set:Ro("set"),delete:Ro("delete"),clear:Ro("clear"),forEach:$a(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(u=>{e[u]=Sa(u,!1,!1),n[u]=Sa(u,!0,!1),t[u]=Sa(u,!1,!0),o[u]=Sa(u,!0,!0)}),[e,n,t,o]}const[Vp,Ip,Hp,Rp]=Mp();function Mi(e,t){const n=t?e?Rp:Hp:e?Ip:Vp;return(o,l,u)=>l==="__v_isReactive"?!e:l==="__v_isReadonly"?e:l==="__v_raw"?o:Reflect.get(st(n,l)&&l in o?n:o,l,u)}const Np={get:Mi(!1,!1)},Op={get:Mi(!1,!0)},Up={get:Mi(!0,!1)},u1=new WeakMap,a1=new WeakMap,r1=new WeakMap,Wp=new WeakMap;function qp(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function jp(e){return e.__v_skip||!Object.isExtensible(e)?0:qp(qa(e))}function Rt(e){return Ql(e)?e:Ii(e,!1,l1,Np,u1)}function s1(e){return Ii(e,!1,zp,Op,a1)}function Vi(e){return Ii(e,!0,Tp,Up,r1)}function Ii(e,t,n,o,l){if(!dt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const u=l.get(e);if(u)return u;const a=jp(e);if(a===0)return e;const r=new Proxy(e,a===2?o:n);return l.set(e,r),r}function Yl(e){return Ql(e)?Yl(e.__v_raw):!!(e&&e.__v_isReactive)}function Ql(e){return!!(e&&e.__v_isReadonly)}function vr(e){return!!(e&&e.__v_isShallow)}function i1(e){return Yl(e)||Ql(e)}function ct(e){const t=e&&e.__v_raw;return t?ct(t):e}function c1(e){return fr(e,"__v_skip",!0),e}const Gu=e=>dt(e)?Rt(e):e,Hi=e=>dt(e)?Vi(e):e;function d1(e){Qo&&Wn&&(e=ct(e),t1(e.dep||(e.dep=Pi())))}function Ri(e,t){e=ct(e),e.dep&&Is(e.dep)}function yt(e){return!!(e&&e.__v_isRef===!0)}function L(e){return f1(e,!1)}function Kn(e){return f1(e,!0)}function f1(e,t){return yt(e)?e:new Kp(e,t)}class Kp{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:ct(t),this._value=n?t:Gu(t)}get value(){return d1(this),this._value}set value(t){const n=this.__v_isShallow||vr(t)||Ql(t);t=n?t:ct(t),Ku(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Gu(t),Ri(this))}}function xu(e){Ri(e)}function h(e){return yt(e)?e.value:e}const Gp={get:(e,t,n)=>h(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const l=e[t];return yt(l)&&!yt(n)?(l.value=n,!0):Reflect.set(e,t,n,o)}};function p1(e){return Yl(e)?e:new Proxy(e,Gp)}function ho(e){const t=qe(e)?new Array(e.length):{};for(const n in e)t[n]=Tn(e,n);return t}class Yp{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Tn(e,t,n){const o=e[t];return yt(o)?o:new Yp(e,t,n)}var v1;class Xp{constructor(t,n,o,l){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[v1]=!1,this._dirty=!0,this.effect=new Li(t,()=>{this._dirty||(this._dirty=!0,Ri(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!l,this.__v_isReadonly=o}get value(){const t=ct(this);return d1(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}v1="__v_isReadonly";function h1(e,t,n=!1){let o,l;const u=Ge(e);return u?(o=e,l=vt):(o=e.get,l=e.set),new Xp(o,l,u||!l,n)}const Vu=[];function Jp(e,...t){kl();const n=Vu.length?Vu[Vu.length-1].component:null,o=n&&n.appContext.config.warnHandler,l=Qp();if(o)Ao(o,n,11,[e+t.join(""),n&&n.proxy,l.map(({vnode:u})=>`at <${W1(n,u.type)}>`).join(` `),l]);else{const u=[`[Vue warn]: ${e}`,...t];l.length&&u.push(` `,...Zp(l)),console.warn(...u)}Pl()}function Qp(){let e=Vu[Vu.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Zp(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` `],...e3(n))}),t}function e3({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,l=` at <${W1(e.component,e.type,o)}`,u=">"+n;return e.props?[l,...t3(e.props),u]:[l+u]}function t3(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(..._1(o,e[o]))}),n.length>3&&t.push(" ..."),t}function _1(e,t,n){return tt(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:yt(t)?(t=_1(e,ct(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Ge(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=ct(t),n?t:[`${e}=`,t])}function Ao(e,t,n,o){let l;try{l=o?e(...o):e()}catch(u){Tr(u,t,n)}return l}function Sn(e,t,n,o){if(Ge(e)){const u=Ao(e,t,n,o);return u&&dr(u)&&u.catch(a=>{Tr(a,t,n)}),u}const l=[];for(let u=0;u>>1;Xu(jt[o])uo&&jt.splice(t,1)}function u3(e){qe(e)?Xl.push(...e):(!wo||!wo.includes(e,e.allowRecurse?vl+1:vl))&&Xl.push(e),g1()}function p2(e,t=Yu?uo+1:0){for(;tXu(n)-Xu(o)),vl=0;vle.id==null?1/0:e.id,a3=(e,t)=>{const n=Xu(e)-Xu(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function y1(e){Hs=!1,Yu=!0,jt.sort(a3);const t=vt;try{for(uo=0;uo_.trim())),m&&(l=n.map(pr))}let r,s=o[r=Ka(t)]||o[r=Ka(Ln(t))];!s&&u&&(s=o[r=Ka(ll(t))]),s&&Sn(s,e,6,l);const i=o[r+"Once"];if(i){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,Sn(i,e,6,l)}}function w1(e,t,n=!1){const o=t.emitsCache,l=o.get(e);if(l!==void 0)return l;const u=e.emits;let a={},r=!1;if(!Ge(e)){const s=i=>{const p=w1(i,t,!0);p&&(r=!0,Ht(a,p))};!n&&t.mixins.length&&t.mixins.forEach(s),e.extends&&s(e.extends),e.mixins&&e.mixins.forEach(s)}return!u&&!r?(dt(e)&&o.set(e,null),null):(qe(u)?u.forEach(s=>a[s]=null):Ht(a,u),dt(e)&&o.set(e,a),a)}function zr(e,t){return!e||!$r(t)?!1:(t=t.slice(2).replace(/Once$/,""),st(e,t[0].toLowerCase()+t.slice(1))||st(e,ll(t))||st(e,t))}let Kt=null,Mr=null;function hr(e){const t=Kt;return Kt=e,Mr=e&&e.type.__scopeId||null,t}function gu(e){Mr=e}function bu(){Mr=null}function d(e,t=Kt,n){if(!t||e._n)return e;const o=(...l)=>{o._d&&A2(-1);const u=hr(t);let a;try{a=e(...l)}finally{hr(u),o._d&&A2(1)}return a};return o._n=!0,o._c=!0,o._d=!0,o}function is(e){const{type:t,vnode:n,proxy:o,withProxy:l,props:u,propsOptions:[a],slots:r,attrs:s,emit:i,render:p,renderCache:m,data:v,setupState:_,ctx:g,inheritAttrs:y}=e;let w,E;const D=hr(e);try{if(n.shapeFlag&4){const B=l||o;w=lo(p.call(B,B,m,u,_,v,g)),E=s}else{const B=t;w=lo(B.length>1?B(u,{attrs:s,slots:r,emit:i}):B(u,null)),E=t.props?s:s3(s)}}catch(B){Ru.length=0,Tr(B,e,1),w=c(an)}let C=w;if(E&&y!==!1){const B=Object.keys(E),{shapeFlag:$}=C;B.length&&$&7&&(a&&B.some($i)&&(E=i3(E,a)),C=$o(C,E))}return n.dirs&&(C=$o(C),C.dirs=C.dirs?C.dirs.concat(n.dirs):n.dirs),n.transition&&(C.transition=n.transition),w=C,hr(D),w}const s3=e=>{let t;for(const n in e)(n==="class"||n==="style"||$r(n))&&((t||(t={}))[n]=e[n]);return t},i3=(e,t)=>{const n={};for(const o in e)(!$i(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function c3(e,t,n){const{props:o,children:l,component:u}=e,{props:a,children:r,patchFlag:s}=t,i=u.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&s>=0){if(s&1024)return!0;if(s&16)return o?v2(o,a,i):!!a;if(s&8){const p=t.dynamicProps;for(let m=0;me.__isSuspense;function p3(e,t){t&&t.pendingBranch?qe(e)?t.effects.push(...e):t.effects.push(e):u3(e)}function Dt(e,t){if(It){let n=It.provides;const o=It.parent&&It.parent.provides;o===n&&(n=It.provides=Object.create(o)),n[e]=t}}function Xe(e,t,n=!1){const o=It||Kt;if(o){const l=o.parent==null?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides;if(l&&e in l)return l[e];if(arguments.length>1)return n&&Ge(t)?t.call(o.proxy):t}}function Do(e,t){return Ui(e,null,t)}const h2={};function Me(e,t,n){return Ui(e,t,n)}function Ui(e,t,{immediate:n,deep:o,flush:l,onTrack:u,onTrigger:a}=wt){const r=It;let s,i=!1,p=!1;if(yt(e)?(s=()=>e.value,i=vr(e)):Yl(e)?(s=()=>e,o=!0):qe(e)?(p=!0,i=e.some(E=>Yl(E)||vr(E)),s=()=>e.map(E=>{if(yt(E))return E.value;if(Yl(E))return gl(E);if(Ge(E))return Ao(E,r,2)})):Ge(e)?t?s=()=>Ao(e,r,2):s=()=>{if(!(r&&r.isUnmounted))return m&&m(),Sn(e,r,3,[v])}:s=vt,t&&o){const E=s;s=()=>gl(E())}let m,v=E=>{m=w.onStop=()=>{Ao(E,r,4)}};if(ea)return v=vt,t?n&&Sn(t,r,3,[s(),p?[]:void 0,v]):s(),vt;let _=p?[]:h2;const g=()=>{if(!!w.active)if(t){const E=w.run();(o||i||(p?E.some((D,C)=>Ku(D,_[C])):Ku(E,_)))&&(m&&m(),Sn(t,r,3,[E,_===h2?void 0:_,v]),_=E)}else w.run()};g.allowRecurse=!!t;let y;l==="sync"?y=g:l==="post"?y=()=>un(g,r&&r.suspense):(g.pre=!0,r&&(g.id=r.uid),y=()=>Oi(g));const w=new Li(s,y);return t?n?g():_=w.run():l==="post"?un(w.run.bind(w),r&&r.suspense):w.run(),()=>{w.stop(),r&&r.scope&&Si(r.scope.effects,w)}}function v3(e,t,n){const o=this.proxy,l=tt(e)?e.includes(".")?C1(o,e):()=>o[e]:e.bind(o,o);let u;Ge(t)?u=t:(u=t.handler,n=t);const a=It;eu(this);const r=Ui(l,u.bind(o),n);return a?eu(a):Fl(),r}function C1(e,t){const n=t.split(".");return()=>{let o=e;for(let l=0;l{gl(n,t)});else if(Xd(e))for(const n in e)gl(e[n],t);return e}function E1(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return ot(()=>{e.isMounted=!0}),Mt(()=>{e.isUnmounting=!0}),e}const xn=[Function,Array],h3={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:xn,onEnter:xn,onAfterEnter:xn,onEnterCancelled:xn,onBeforeLeave:xn,onLeave:xn,onAfterLeave:xn,onLeaveCancelled:xn,onBeforeAppear:xn,onAppear:xn,onAfterAppear:xn,onAppearCancelled:xn},setup(e,{slots:t}){const n=pt(),o=E1();let l;return()=>{const u=t.default&&Wi(t.default(),!0);if(!u||!u.length)return;let a=u[0];if(u.length>1){for(const y of u)if(y.type!==an){a=y;break}}const r=ct(e),{mode:s}=r;if(o.isLeaving)return cs(a);const i=_2(a);if(!i)return cs(a);const p=Ju(i,r,o,n);Qu(i,p);const m=n.subTree,v=m&&_2(m);let _=!1;const{getTransitionKey:g}=i.type;if(g){const y=g();l===void 0?l=y:y!==l&&(l=y,_=!0)}if(v&&v.type!==an&&(!hl(i,v)||_)){const y=Ju(v,r,o,n);if(Qu(v,y),s==="out-in")return o.isLeaving=!0,y.afterLeave=()=>{o.isLeaving=!1,n.update()},cs(a);s==="in-out"&&i.type!==an&&(y.delayLeave=(w,E,D)=>{const C=A1(o,v);C[String(v.key)]=v,w._leaveCb=()=>{E(),w._leaveCb=void 0,delete p.delayedLeave},p.delayedLeave=D})}return a}}},F1=h3;function A1(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 Ju(e,t,n,o){const{appear:l,mode:u,persisted:a=!1,onBeforeEnter:r,onEnter:s,onAfterEnter:i,onEnterCancelled:p,onBeforeLeave:m,onLeave:v,onAfterLeave:_,onLeaveCancelled:g,onBeforeAppear:y,onAppear:w,onAfterAppear:E,onAppearCancelled:D}=t,C=String(e.key),B=A1(n,e),$=(T,H)=>{T&&Sn(T,o,9,H)},k=(T,H)=>{const j=H[1];$(T,H),qe(T)?T.every(X=>X.length<=1)&&j():T.length<=1&&j()},P={mode:u,persisted:a,beforeEnter(T){let H=r;if(!n.isMounted)if(l)H=y||r;else return;T._leaveCb&&T._leaveCb(!0);const j=B[C];j&&hl(e,j)&&j.el._leaveCb&&j.el._leaveCb(),$(H,[T])},enter(T){let H=s,j=i,X=p;if(!n.isMounted)if(l)H=w||s,j=E||i,X=D||p;else return;let W=!1;const N=T._enterCb=J=>{W||(W=!0,J?$(X,[T]):$(j,[T]),P.delayedLeave&&P.delayedLeave(),T._enterCb=void 0)};H?k(H,[T,N]):N()},leave(T,H){const j=String(e.key);if(T._enterCb&&T._enterCb(!0),n.isUnmounting)return H();$(m,[T]);let X=!1;const W=T._leaveCb=N=>{X||(X=!0,H(),N?$(g,[T]):$(_,[T]),T._leaveCb=void 0,B[j]===e&&delete B[j])};B[j]=e,v?k(v,[T,W]):W()},clone(T){return Ju(T,t,n,o)}};return P}function cs(e){if(Vr(e))return e=$o(e),e.children=null,e}function _2(e){return Vr(e)?e.children?e.children[0]:void 0:e}function Qu(e,t){e.shapeFlag&6&&e.component?Qu(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 Wi(e,t=!1,n){let o=[],l=0;for(let u=0;u1)for(let u=0;u!!e.type.__asyncLoader,Vr=e=>e.type.__isKeepAlive;function _3(e,t){B1(e,"a",t)}function D1(e,t){B1(e,"da",t)}function B1(e,t,n=It){const o=e.__wdc||(e.__wdc=()=>{let l=n;for(;l;){if(l.isDeactivated)return;l=l.parent}return e()});if(Ir(t,o,n),n){let l=n.parent;for(;l&&l.parent;)Vr(l.parent.vnode)&&m3(o,t,n,l),l=l.parent}}function m3(e,t,n,o){const l=Ir(t,e,o,!0);In(()=>{Si(o[t],l)},n)}function Ir(e,t,n=It,o=!1){if(n){const l=n[e]||(n[e]=[]),u=t.__weh||(t.__weh=(...a)=>{if(n.isUnmounted)return;kl(),eu(n);const r=Sn(t,n,e,a);return Fl(),Pl(),r});return o?l.unshift(u):l.push(u),u}}const Lo=e=>(t,n=It)=>(!ea||e==="sp")&&Ir(e,(...o)=>t(...o),n),Hr=Lo("bm"),ot=Lo("m"),g3=Lo("bu"),Ll=Lo("u"),Mt=Lo("bum"),In=Lo("um"),b3=Lo("sp"),y3=Lo("rtg"),w3=Lo("rtc");function C3(e,t=It){Ir("ec",e,t)}function fe(e,t){const n=Kt;if(n===null)return e;const o=Nr(n)||n.proxy,l=e.dirs||(e.dirs=[]);for(let u=0;ut(a,r,void 0,u&&u[r]));else{const a=Object.keys(e);l=new Array(a.length);for(let r=0,s=a.length;r{const u=o.fn(...l);return u&&(u.key=o.key),u}:o.fn)}return e}function ze(e,t,n={},o,l){if(Kt.isCE||Kt.parent&&Iu(Kt.parent)&&Kt.parent.isCE)return c("slot",t==="default"?null:{name:t},o&&o());let u=e[t];u&&u._c&&(u._d=!1),b();const a=u&&$1(u(n)),r=ae(Oe,{key:n.key||a&&a.key||`_${t}`},a||(o?o():[]),a&&e._===1?64:-2);return!l&&r.scopeId&&(r.slotScopeIds=[r.scopeId+"-s"]),u&&u._c&&(u._d=!0),r}function $1(e){return e.some(t=>cn(t)?!(t.type===an||t.type===Oe&&!$1(t.children)):!0)?e:null}function F3(e,t){const n={};for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:Ka(o)]=e[o];return n}const Rs=e=>e?R1(e)?Nr(e)||e.proxy:Rs(e.parent):null,_r=Ht(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=>Rs(e.parent),$root:e=>Rs(e.root),$emit:e=>e.emit,$options:e=>Gi(e),$forceUpdate:e=>e.f||(e.f=()=>Oi(e.update)),$nextTick:e=>e.n||(e.n=at.bind(e.proxy)),$watch:e=>v3.bind(e)}),A3={get({_:e},t){const{ctx:n,setupState:o,data:l,props:u,accessCache:a,type:r,appContext:s}=e;let i;if(t[0]!=="$"){const _=a[t];if(_!==void 0)switch(_){case 1:return o[t];case 2:return l[t];case 4:return n[t];case 3:return u[t]}else{if(o!==wt&&st(o,t))return a[t]=1,o[t];if(l!==wt&&st(l,t))return a[t]=2,l[t];if((i=e.propsOptions[0])&&st(i,t))return a[t]=3,u[t];if(n!==wt&&st(n,t))return a[t]=4,n[t];Ns&&(a[t]=0)}}const p=_r[t];let m,v;if(p)return t==="$attrs"&&Fn(e,"get",t),p(e);if((m=r.__cssModules)&&(m=m[t]))return m;if(n!==wt&&st(n,t))return a[t]=4,n[t];if(v=s.config.globalProperties,st(v,t))return v[t]},set({_:e},t,n){const{data:o,setupState:l,ctx:u}=e;return l!==wt&&st(l,t)?(l[t]=n,!0):o!==wt&&st(o,t)?(o[t]=n,!0):st(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(u[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:l,propsOptions:u}},a){let r;return!!n[a]||e!==wt&&st(e,a)||t!==wt&&st(t,a)||(r=u[0])&&st(r,a)||st(o,a)||st(_r,a)||st(l.config.globalProperties,a)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:st(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let Ns=!0;function D3(e){const t=Gi(e),n=e.proxy,o=e.ctx;Ns=!1,t.beforeCreate&&g2(t.beforeCreate,e,"bc");const{data:l,computed:u,methods:a,watch:r,provide:s,inject:i,created:p,beforeMount:m,mounted:v,beforeUpdate:_,updated:g,activated:y,deactivated:w,beforeDestroy:E,beforeUnmount:D,destroyed:C,unmounted:B,render:$,renderTracked:k,renderTriggered:P,errorCaptured:T,serverPrefetch:H,expose:j,inheritAttrs:X,components:W,directives:N,filters:J}=t;if(i&&B3(i,o,null,e.appContext.config.unwrapInjectedRef),a)for(const Ee in a){const te=a[Ee];Ge(te)&&(o[Ee]=te.bind(n))}if(l){const Ee=l.call(n,n);dt(Ee)&&(e.data=Rt(Ee))}if(Ns=!0,u)for(const Ee in u){const te=u[Ee],Z=Ge(te)?te.bind(n,n):Ge(te.get)?te.get.bind(n,n):vt,De=!Ge(te)&&Ge(te.set)?te.set.bind(n):vt,Be=U({get:Z,set:De});Object.defineProperty(o,Ee,{enumerable:!0,configurable:!0,get:()=>Be.value,set:x=>Be.value=x})}if(r)for(const Ee in r)S1(r[Ee],o,n,Ee);if(s){const Ee=Ge(s)?s.call(n):s;Reflect.ownKeys(Ee).forEach(te=>{Dt(te,Ee[te])})}p&&g2(p,e,"c");function ve(Ee,te){qe(te)?te.forEach(Z=>Ee(Z.bind(n))):te&&Ee(te.bind(n))}if(ve(Hr,m),ve(ot,v),ve(g3,_),ve(Ll,g),ve(_3,y),ve(D1,w),ve(C3,T),ve(w3,k),ve(y3,P),ve(Mt,D),ve(In,B),ve(b3,H),qe(j))if(j.length){const Ee=e.exposed||(e.exposed={});j.forEach(te=>{Object.defineProperty(Ee,te,{get:()=>n[te],set:Z=>n[te]=Z})})}else e.exposed||(e.exposed={});$&&e.render===vt&&(e.render=$),X!=null&&(e.inheritAttrs=X),W&&(e.components=W),N&&(e.directives=N)}function B3(e,t,n=vt,o=!1){qe(e)&&(e=Os(e));for(const l in e){const u=e[l];let a;dt(u)?"default"in u?a=Xe(u.from||l,u.default,!0):a=Xe(u.from||l):a=Xe(u),yt(a)&&o?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>a.value,set:r=>a.value=r}):t[l]=a}}function g2(e,t,n){Sn(qe(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function S1(e,t,n,o){const l=o.includes(".")?C1(n,o):()=>n[o];if(tt(e)){const u=t[e];Ge(u)&&Me(l,u)}else if(Ge(e))Me(l,e.bind(n));else if(dt(e))if(qe(e))e.forEach(u=>S1(u,t,n,o));else{const u=Ge(e.handler)?e.handler.bind(n):t[e.handler];Ge(u)&&Me(l,u,e)}}function Gi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:l,optionsCache:u,config:{optionMergeStrategies:a}}=e.appContext,r=u.get(t);let s;return r?s=r:!l.length&&!n&&!o?s=t:(s={},l.length&&l.forEach(i=>mr(s,i,a,!0)),mr(s,t,a)),dt(t)&&u.set(t,s),s}function mr(e,t,n,o=!1){const{mixins:l,extends:u}=t;u&&mr(e,u,n,!0),l&&l.forEach(a=>mr(e,a,n,!0));for(const a in t)if(!(o&&a==="expose")){const r=x3[a]||n&&n[a];e[a]=r?r(e[a],t[a]):t[a]}return e}const x3={data:b2,props:fl,emits:fl,methods:fl,computed:fl,beforeCreate:Zt,created:Zt,beforeMount:Zt,mounted:Zt,beforeUpdate:Zt,updated:Zt,beforeDestroy:Zt,beforeUnmount:Zt,destroyed:Zt,unmounted:Zt,activated:Zt,deactivated:Zt,errorCaptured:Zt,serverPrefetch:Zt,components:fl,directives:fl,watch:S3,provide:b2,inject:$3};function b2(e,t){return t?e?function(){return Ht(Ge(e)?e.call(this,this):e,Ge(t)?t.call(this,this):t)}:t:e}function $3(e,t){return fl(Os(e),Os(t))}function Os(e){if(qe(e)){const t={};for(let n=0;n0)&&!(a&16)){if(a&8){const p=e.vnode.dynamicProps;for(let m=0;m{s=!0;const[v,_]=P1(m,t,!0);Ht(a,v),_&&r.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!u&&!s)return dt(e)&&o.set(e,Kl),Kl;if(qe(u))for(let p=0;p-1,_[1]=y<0||g-1||st(_,"default"))&&r.push(m)}}}const i=[a,r];return dt(e)&&o.set(e,i),i}function y2(e){return e[0]!=="$"}function w2(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function C2(e,t){return w2(e)===w2(t)}function E2(e,t){return qe(t)?t.findIndex(n=>C2(n,e)):Ge(t)&&C2(t,e)?0:-1}const L1=e=>e[0]==="_"||e==="$stable",Yi=e=>qe(e)?e.map(lo):[lo(e)],L3=(e,t,n)=>{if(t._n)return t;const o=d((...l)=>Yi(t(...l)),n);return o._c=!1,o},T1=(e,t,n)=>{const o=e._ctx;for(const l in e){if(L1(l))continue;const u=e[l];if(Ge(u))t[l]=L3(l,u,o);else if(u!=null){const a=Yi(u);t[l]=()=>a}}},z1=(e,t)=>{const n=Yi(t);e.slots.default=()=>n},T3=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=ct(t),fr(t,"_",n)):T1(t,e.slots={})}else e.slots={},t&&z1(e,t);fr(e.slots,Rr,1)},z3=(e,t,n)=>{const{vnode:o,slots:l}=e;let u=!0,a=wt;if(o.shapeFlag&32){const r=t._;r?n&&r===1?u=!1:(Ht(l,t),!n&&r===1&&delete l._):(u=!t.$stable,T1(t,l)),a=t}else t&&(z1(e,t),a={default:1});if(u)for(const r in l)!L1(r)&&!(r in a)&&delete l[r]};function M1(){return{app:null,config:{isNativeTag:pp,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let M3=0;function V3(e,t){return function(o,l=null){Ge(o)||(o=Object.assign({},o)),l!=null&&!dt(l)&&(l=null);const u=M1(),a=new Set;let r=!1;const s=u.app={_uid:M3++,_component:o,_props:l,_container:null,_context:u,_instance:null,version:l8,get config(){return u.config},set config(i){},use(i,...p){return a.has(i)||(i&&Ge(i.install)?(a.add(i),i.install(s,...p)):Ge(i)&&(a.add(i),i(s,...p))),s},mixin(i){return u.mixins.includes(i)||u.mixins.push(i),s},component(i,p){return p?(u.components[i]=p,s):u.components[i]},directive(i,p){return p?(u.directives[i]=p,s):u.directives[i]},mount(i,p,m){if(!r){const v=c(o,l);return v.appContext=u,p&&t?t(v,i):e(v,i,m),r=!0,s._container=i,i.__vue_app__=s,Nr(v.component)||v.component.proxy}},unmount(){r&&(e(null,s._container),delete s._container.__vue_app__)},provide(i,p){return u.provides[i]=p,s}};return s}}function Ws(e,t,n,o,l=!1){if(qe(e)){e.forEach((v,_)=>Ws(v,t&&(qe(t)?t[_]:t),n,o,l));return}if(Iu(o)&&!l)return;const u=o.shapeFlag&4?Nr(o.component)||o.component.proxy:o.el,a=l?null:u,{i:r,r:s}=e,i=t&&t.r,p=r.refs===wt?r.refs={}:r.refs,m=r.setupState;if(i!=null&&i!==s&&(tt(i)?(p[i]=null,st(m,i)&&(m[i]=null)):yt(i)&&(i.value=null)),Ge(s))Ao(s,r,12,[a,p]);else{const v=tt(s),_=yt(s);if(v||_){const g=()=>{if(e.f){const y=v?st(m,s)?m[s]:p[s]:s.value;l?qe(y)&&Si(y,u):qe(y)?y.includes(u)||y.push(u):v?(p[s]=[u],st(m,s)&&(m[s]=p[s])):(s.value=[u],e.k&&(p[e.k]=s.value))}else v?(p[s]=a,st(m,s)&&(m[s]=a)):_&&(s.value=a,e.k&&(p[e.k]=a))};a?(g.id=-1,un(g,n)):g()}}}const un=p3;function I3(e){return H3(e)}function H3(e,t){const n=gp();n.__VUE__=!0;const{insert:o,remove:l,patchProp:u,createElement:a,createText:r,createComment:s,setText:i,setElementText:p,parentNode:m,nextSibling:v,setScopeId:_=vt,insertStaticContent:g}=e,y=(z,q,R,I=null,Y=null,pe=null,Fe=!1,ce=null,Ae=!!q.dynamicChildren)=>{if(z===q)return;z&&!hl(z,q)&&(I=he(z),x(z,Y,pe,!0),z=null),q.patchFlag===-2&&(Ae=!1,q.dynamicChildren=null);const{type:ue,ref:me,shapeFlag:Ie}=q;switch(ue){case fa:w(z,q,R,I);break;case an:E(z,q,R,I);break;case Ya:z==null&&D(q,R,I,Fe);break;case Oe:W(z,q,R,I,Y,pe,Fe,ce,Ae);break;default:Ie&1?$(z,q,R,I,Y,pe,Fe,ce,Ae):Ie&6?N(z,q,R,I,Y,pe,Fe,ce,Ae):(Ie&64||Ie&128)&&ue.process(z,q,R,I,Y,pe,Fe,ce,Ae,je)}me!=null&&Y&&Ws(me,z&&z.ref,pe,q||z,!q)},w=(z,q,R,I)=>{if(z==null)o(q.el=r(q.children),R,I);else{const Y=q.el=z.el;q.children!==z.children&&i(Y,q.children)}},E=(z,q,R,I)=>{z==null?o(q.el=s(q.children||""),R,I):q.el=z.el},D=(z,q,R,I)=>{[z.el,z.anchor]=g(z.children,q,R,I,z.el,z.anchor)},C=({el:z,anchor:q},R,I)=>{let Y;for(;z&&z!==q;)Y=v(z),o(z,R,I),z=Y;o(q,R,I)},B=({el:z,anchor:q})=>{let R;for(;z&&z!==q;)R=v(z),l(z),z=R;l(q)},$=(z,q,R,I,Y,pe,Fe,ce,Ae)=>{Fe=Fe||q.type==="svg",z==null?k(q,R,I,Y,pe,Fe,ce,Ae):H(z,q,Y,pe,Fe,ce,Ae)},k=(z,q,R,I,Y,pe,Fe,ce)=>{let Ae,ue;const{type:me,props:Ie,shapeFlag:ee,transition:Se,dirs:Ke}=z;if(Ae=z.el=a(z.type,pe,Ie&&Ie.is,Ie),ee&8?p(Ae,z.children):ee&16&&T(z.children,Ae,null,I,Y,pe&&me!=="foreignObject",Fe,ce),Ke&&sl(z,null,I,"created"),Ie){for(const we in Ie)we!=="value"&&!ja(we)&&u(Ae,we,null,Ie[we],pe,z.children,I,Y,Pe);"value"in Ie&&u(Ae,"value",null,Ie.value),(ue=Ie.onVnodeBeforeMount)&&oo(ue,I,z)}P(Ae,z,z.scopeId,Fe,I),Ke&&sl(z,null,I,"beforeMount");const nt=(!Y||Y&&!Y.pendingBranch)&&Se&&!Se.persisted;nt&&Se.beforeEnter(Ae),o(Ae,q,R),((ue=Ie&&Ie.onVnodeMounted)||nt||Ke)&&un(()=>{ue&&oo(ue,I,z),nt&&Se.enter(Ae),Ke&&sl(z,null,I,"mounted")},Y)},P=(z,q,R,I,Y)=>{if(R&&_(z,R),I)for(let pe=0;pe{for(let ue=Ae;ue{const ce=q.el=z.el;let{patchFlag:Ae,dynamicChildren:ue,dirs:me}=q;Ae|=z.patchFlag&16;const Ie=z.props||wt,ee=q.props||wt;let Se;R&&il(R,!1),(Se=ee.onVnodeBeforeUpdate)&&oo(Se,R,q,z),me&&sl(q,z,R,"beforeUpdate"),R&&il(R,!0);const Ke=Y&&q.type!=="foreignObject";if(ue?j(z.dynamicChildren,ue,ce,R,I,Ke,pe):Fe||te(z,q,ce,null,R,I,Ke,pe,!1),Ae>0){if(Ae&16)X(ce,q,Ie,ee,R,I,Y);else if(Ae&2&&Ie.class!==ee.class&&u(ce,"class",null,ee.class,Y),Ae&4&&u(ce,"style",Ie.style,ee.style,Y),Ae&8){const nt=q.dynamicProps;for(let we=0;we{Se&&oo(Se,R,q,z),me&&sl(q,z,R,"updated")},I)},j=(z,q,R,I,Y,pe,Fe)=>{for(let ce=0;ce{if(R!==I){if(R!==wt)for(const ce in R)!ja(ce)&&!(ce in I)&&u(z,ce,R[ce],null,Fe,q.children,Y,pe,Pe);for(const ce in I){if(ja(ce))continue;const Ae=I[ce],ue=R[ce];Ae!==ue&&ce!=="value"&&u(z,ce,ue,Ae,Fe,q.children,Y,pe,Pe)}"value"in I&&u(z,"value",R.value,I.value)}},W=(z,q,R,I,Y,pe,Fe,ce,Ae)=>{const ue=q.el=z?z.el:r(""),me=q.anchor=z?z.anchor:r("");let{patchFlag:Ie,dynamicChildren:ee,slotScopeIds:Se}=q;Se&&(ce=ce?ce.concat(Se):Se),z==null?(o(ue,R,I),o(me,R,I),T(q.children,R,me,Y,pe,Fe,ce,Ae)):Ie>0&&Ie&64&&ee&&z.dynamicChildren?(j(z.dynamicChildren,ee,R,Y,pe,Fe,ce),(q.key!=null||Y&&q===Y.subTree)&&Xi(z,q,!0)):te(z,q,R,me,Y,pe,Fe,ce,Ae)},N=(z,q,R,I,Y,pe,Fe,ce,Ae)=>{q.slotScopeIds=ce,z==null?q.shapeFlag&512?Y.ctx.activate(q,R,I,Fe,Ae):J(q,R,I,Y,pe,Fe,Ae):be(z,q,Ae)},J=(z,q,R,I,Y,pe,Fe)=>{const ce=z.component=X3(z,I,Y);if(Vr(z)&&(ce.ctx.renderer=je),J3(ce),ce.asyncDep){if(Y&&Y.registerDep(ce,ve),!z.el){const Ae=ce.subTree=c(an);E(null,Ae,q,R)}return}ve(ce,z,q,R,Y,pe,Fe)},be=(z,q,R)=>{const I=q.component=z.component;if(c3(z,q,R))if(I.asyncDep&&!I.asyncResolved){Ee(I,q,R);return}else I.next=q,l3(I.update),I.update();else q.el=z.el,I.vnode=q},ve=(z,q,R,I,Y,pe,Fe)=>{const ce=()=>{if(z.isMounted){let{next:me,bu:Ie,u:ee,parent:Se,vnode:Ke}=z,nt=me,we;il(z,!1),me?(me.el=Ke.el,Ee(z,me,Fe)):me=Ke,Ie&&Ga(Ie),(we=me.props&&me.props.onVnodeBeforeUpdate)&&oo(we,Se,me,Ke),il(z,!0);const Le=is(z),Qe=z.subTree;z.subTree=Le,y(Qe,Le,m(Qe.el),he(Qe),z,Y,pe),me.el=Le.el,nt===null&&d3(z,Le.el),ee&&un(ee,Y),(we=me.props&&me.props.onVnodeUpdated)&&un(()=>oo(we,Se,me,Ke),Y)}else{let me;const{el:Ie,props:ee}=q,{bm:Se,m:Ke,parent:nt}=z,we=Iu(q);if(il(z,!1),Se&&Ga(Se),!we&&(me=ee&&ee.onVnodeBeforeMount)&&oo(me,nt,q),il(z,!0),Ie&&se){const Le=()=>{z.subTree=is(z),se(Ie,z.subTree,z,Y,null)};we?q.type.__asyncLoader().then(()=>!z.isUnmounted&&Le()):Le()}else{const Le=z.subTree=is(z);y(null,Le,R,I,z,Y,pe),q.el=Le.el}if(Ke&&un(Ke,Y),!we&&(me=ee&&ee.onVnodeMounted)){const Le=q;un(()=>oo(me,nt,Le),Y)}(q.shapeFlag&256||nt&&Iu(nt.vnode)&&nt.vnode.shapeFlag&256)&&z.a&&un(z.a,Y),z.isMounted=!0,q=R=I=null}},Ae=z.effect=new Li(ce,()=>Oi(ue),z.scope),ue=z.update=()=>Ae.run();ue.id=z.uid,il(z,!0),ue()},Ee=(z,q,R)=>{q.component=z;const I=z.vnode.props;z.vnode=q,z.next=null,P3(z,q.props,I,R),z3(z,q.children,R),kl(),p2(),Pl()},te=(z,q,R,I,Y,pe,Fe,ce,Ae=!1)=>{const ue=z&&z.children,me=z?z.shapeFlag:0,Ie=q.children,{patchFlag:ee,shapeFlag:Se}=q;if(ee>0){if(ee&128){De(ue,Ie,R,I,Y,pe,Fe,ce,Ae);return}else if(ee&256){Z(ue,Ie,R,I,Y,pe,Fe,ce,Ae);return}}Se&8?(me&16&&Pe(ue,Y,pe),Ie!==ue&&p(R,Ie)):me&16?Se&16?De(ue,Ie,R,I,Y,pe,Fe,ce,Ae):Pe(ue,Y,pe,!0):(me&8&&p(R,""),Se&16&&T(Ie,R,I,Y,pe,Fe,ce,Ae))},Z=(z,q,R,I,Y,pe,Fe,ce,Ae)=>{z=z||Kl,q=q||Kl;const ue=z.length,me=q.length,Ie=Math.min(ue,me);let ee;for(ee=0;eeme?Pe(z,Y,pe,!0,!1,Ie):T(q,R,I,Y,pe,Fe,ce,Ae,Ie)},De=(z,q,R,I,Y,pe,Fe,ce,Ae)=>{let ue=0;const me=q.length;let Ie=z.length-1,ee=me-1;for(;ue<=Ie&&ue<=ee;){const Se=z[ue],Ke=q[ue]=Ae?Ko(q[ue]):lo(q[ue]);if(hl(Se,Ke))y(Se,Ke,R,null,Y,pe,Fe,ce,Ae);else break;ue++}for(;ue<=Ie&&ue<=ee;){const Se=z[Ie],Ke=q[ee]=Ae?Ko(q[ee]):lo(q[ee]);if(hl(Se,Ke))y(Se,Ke,R,null,Y,pe,Fe,ce,Ae);else break;Ie--,ee--}if(ue>Ie){if(ue<=ee){const Se=ee+1,Ke=Seee)for(;ue<=Ie;)x(z[ue],Y,pe,!0),ue++;else{const Se=ue,Ke=ue,nt=new Map;for(ue=Ke;ue<=ee;ue++){const G=q[ue]=Ae?Ko(q[ue]):lo(q[ue]);G.key!=null&&nt.set(G.key,ue)}let we,Le=0;const Qe=ee-Ke+1;let Ze=!1,M=0;const S=new Array(Qe);for(ue=0;ue=Qe){x(G,Y,pe,!0);continue}let ie;if(G.key!=null)ie=nt.get(G.key);else for(we=Ke;we<=ee;we++)if(S[we-Ke]===0&&hl(G,q[we])){ie=we;break}ie===void 0?x(G,Y,pe,!0):(S[ie-Ke]=ue+1,ie>=M?M=ie:Ze=!0,y(G,q[ie],R,null,Y,pe,Fe,ce,Ae),Le++)}const _e=Ze?R3(S):Kl;for(we=_e.length-1,ue=Qe-1;ue>=0;ue--){const G=Ke+ue,ie=q[G],$e=G+1{const{el:pe,type:Fe,transition:ce,children:Ae,shapeFlag:ue}=z;if(ue&6){Be(z.component.subTree,q,R,I);return}if(ue&128){z.suspense.move(q,R,I);return}if(ue&64){Fe.move(z,q,R,je);return}if(Fe===Oe){o(pe,q,R);for(let Ie=0;Iece.enter(pe),Y);else{const{leave:Ie,delayLeave:ee,afterLeave:Se}=ce,Ke=()=>o(pe,q,R),nt=()=>{Ie(pe,()=>{Ke(),Se&&Se()})};ee?ee(pe,Ke,nt):nt()}else o(pe,q,R)},x=(z,q,R,I=!1,Y=!1)=>{const{type:pe,props:Fe,ref:ce,children:Ae,dynamicChildren:ue,shapeFlag:me,patchFlag:Ie,dirs:ee}=z;if(ce!=null&&Ws(ce,null,R,z,!0),me&256){q.ctx.deactivate(z);return}const Se=me&1&&ee,Ke=!Iu(z);let nt;if(Ke&&(nt=Fe&&Fe.onVnodeBeforeUnmount)&&oo(nt,q,z),me&6)xe(z.component,R,I);else{if(me&128){z.suspense.unmount(R,I);return}Se&&sl(z,null,q,"beforeUnmount"),me&64?z.type.remove(z,q,R,Y,je,I):ue&&(pe!==Oe||Ie>0&&Ie&64)?Pe(ue,q,R,!1,!0):(pe===Oe&&Ie&384||!Y&&me&16)&&Pe(Ae,q,R),I&&O(z)}(Ke&&(nt=Fe&&Fe.onVnodeUnmounted)||Se)&&un(()=>{nt&&oo(nt,q,z),Se&&sl(z,null,q,"unmounted")},R)},O=z=>{const{type:q,el:R,anchor:I,transition:Y}=z;if(q===Oe){ye(R,I);return}if(q===Ya){B(z);return}const pe=()=>{l(R),Y&&!Y.persisted&&Y.afterLeave&&Y.afterLeave()};if(z.shapeFlag&1&&Y&&!Y.persisted){const{leave:Fe,delayLeave:ce}=Y,Ae=()=>Fe(R,pe);ce?ce(z.el,pe,Ae):Ae()}else pe()},ye=(z,q)=>{let R;for(;z!==q;)R=v(z),l(z),z=R;l(q)},xe=(z,q,R)=>{const{bum:I,scope:Y,update:pe,subTree:Fe,um:ce}=z;I&&Ga(I),Y.stop(),pe&&(pe.active=!1,x(Fe,z,q,R)),ce&&un(ce,q),un(()=>{z.isUnmounted=!0},q),q&&q.pendingBranch&&!q.isUnmounted&&z.asyncDep&&!z.asyncResolved&&z.suspenseId===q.pendingId&&(q.deps--,q.deps===0&&q.resolve())},Pe=(z,q,R,I=!1,Y=!1,pe=0)=>{for(let Fe=pe;Fez.shapeFlag&6?he(z.component.subTree):z.shapeFlag&128?z.suspense.next():v(z.anchor||z.el),Te=(z,q,R)=>{z==null?q._vnode&&x(q._vnode,null,null,!0):y(q._vnode||null,z,q,null,null,null,R),p2(),b1(),q._vnode=z},je={p:y,um:x,m:Be,r:O,mt:J,mc:T,pc:te,pbc:j,n:he,o:e};let de,se;return t&&([de,se]=t(je)),{render:Te,hydrate:de,createApp:V3(Te,de)}}function il({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Xi(e,t,n=!1){const o=e.children,l=t.children;if(qe(o)&&qe(l))for(let u=0;u>1,e[n[r]]0&&(t[o]=n[u-1]),n[u]=o)}}for(u=n.length,a=n[u-1];u-- >0;)n[u]=a,a=t[a];return n}const N3=e=>e.__isTeleport,Hu=e=>e&&(e.disabled||e.disabled===""),F2=e=>typeof SVGElement!="undefined"&&e instanceof SVGElement,qs=(e,t)=>{const n=e&&e.to;return tt(n)?t?t(n):null:n},O3={__isTeleport:!0,process(e,t,n,o,l,u,a,r,s,i){const{mc:p,pc:m,pbc:v,o:{insert:_,querySelector:g,createText:y,createComment:w}}=i,E=Hu(t.props);let{shapeFlag:D,children:C,dynamicChildren:B}=t;if(e==null){const $=t.el=y(""),k=t.anchor=y("");_($,n,o),_(k,n,o);const P=t.target=qs(t.props,g),T=t.targetAnchor=y("");P&&(_(T,P),a=a||F2(P));const H=(j,X)=>{D&16&&p(C,j,X,l,u,a,r,s)};E?H(n,k):P&&H(P,T)}else{t.el=e.el;const $=t.anchor=e.anchor,k=t.target=e.target,P=t.targetAnchor=e.targetAnchor,T=Hu(e.props),H=T?n:k,j=T?$:P;if(a=a||F2(k),B?(v(e.dynamicChildren,B,H,l,u,a,r),Xi(e,t,!0)):s||m(e,t,H,j,l,u,a,r,!1),E)T||ka(t,n,$,i,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const X=t.target=qs(t.props,g);X&&ka(t,X,null,i,0)}else T&&ka(t,k,P,i,1)}},remove(e,t,n,o,{um:l,o:{remove:u}},a){const{shapeFlag:r,children:s,anchor:i,targetAnchor:p,target:m,props:v}=e;if(m&&u(p),(a||!Hu(v))&&(u(i),r&16))for(let _=0;_0?qn||Kl:null,W3(),Zu>0&&qn&&qn.push(e),e}function F(e,t,n,o,l,u){return I1(f(e,t,n,o,l,u,!0))}function ae(e,t,n,o,l){return I1(c(e,t,n,o,l,!0))}function cn(e){return e?e.__v_isVNode===!0:!1}function hl(e,t){return e.type===t.type&&e.key===t.key}const Rr="__vInternal",H1=({key:e})=>e!=null?e:null,Xa=({ref:e,ref_key:t,ref_for:n})=>e!=null?tt(e)||yt(e)||Ge(e)?{i:Kt,r:e,k:t,f:!!n}:e:null;function f(e,t=null,n=null,o=0,l=null,u=e===Oe?0:1,a=!1,r=!1){const s={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&H1(t),ref:t&&Xa(t),scopeId:Mr,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:u,patchFlag:o,dynamicProps:l,dynamicChildren:null,appContext:null};return r?(Ji(s,n),u&128&&e.normalize(s)):n&&(s.shapeFlag|=tt(n)?8:16),Zu>0&&!a&&qn&&(s.patchFlag>0||u&6)&&s.patchFlag!==32&&qn.push(s),s}const c=q3;function q3(e,t=null,n=null,o=0,l=null,u=!1){if((!e||e===x1)&&(e=an),cn(e)){const r=$o(e,t,!0);return n&&Ji(r,n),Zu>0&&!u&&qn&&(r.shapeFlag&6?qn[qn.indexOf(e)]=r:qn.push(r)),r.patchFlag|=-2,r}if(n8(e)&&(e=e.__vccOpts),t){t=j3(t);let{class:r,style:s}=t;r&&!tt(r)&&(t.class=K(r)),dt(s)&&(i1(s)&&!qe(s)&&(s=Ht({},s)),t.style=ut(s))}const a=tt(e)?1:f3(e)?128:N3(e)?64:dt(e)?4:Ge(e)?2:0;return f(e,t,n,o,l,a,u,!0)}function j3(e){return e?i1(e)||Rr in e?Ht({},e):e:null}function $o(e,t,n=!1){const{props:o,ref:l,patchFlag:u,children:a}=e,r=t?kn(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:r,key:r&&H1(r),ref:t&&t.ref?n&&l?qe(l)?l.concat(Xa(t)):[l,Xa(t)]:Xa(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Oe?u===-1?16:u|16:u,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&$o(e.ssContent),ssFallback:e.ssFallback&&$o(e.ssFallback),el:e.el,anchor:e.anchor}}function A(e=" ",t=0){return c(fa,null,e,t)}function K3(e,t){const n=c(Ya,null,e);return n.staticCount=t,n}function oe(e="",t=!1){return t?(b(),ae(an,null,e)):c(an,null,e)}function lo(e){return e==null||typeof e=="boolean"?c(an):qe(e)?c(Oe,null,e.slice()):typeof e=="object"?Ko(e):c(fa,null,String(e))}function Ko(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:$o(e)}function Ji(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(qe(t))n=16;else if(typeof t=="object")if(o&65){const l=t.default;l&&(l._c&&(l._d=!1),Ji(e,l()),l._c&&(l._d=!0));return}else{n=32;const l=t._;!l&&!(Rr in t)?t._ctx=Kt:l===3&&Kt&&(Kt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ge(t)?(t={default:t,_ctx:Kt},n=32):(t=String(t),o&64?(n=16,t=[A(t)]):n=8);e.children=t,e.shapeFlag|=n}function kn(...e){const t={};for(let n=0;nIt||Kt,eu=e=>{It=e,e.scope.on()},Fl=()=>{It&&It.scope.off(),It=null};function R1(e){return e.vnode.shapeFlag&4}let ea=!1;function J3(e,t=!1){ea=t;const{props:n,children:o}=e.vnode,l=R1(e);k3(e,n,l,t),T3(e,o);const u=l?Q3(e,t):void 0;return ea=!1,u}function Q3(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=c1(new Proxy(e.ctx,A3));const{setup:o}=n;if(o){const l=e.setupContext=o.length>1?O1(e):null;eu(e),kl();const u=Ao(o,e,0,[e.props,l]);if(Pl(),Fl(),dr(u)){if(u.then(Fl,Fl),t)return u.then(a=>{D2(e,a,t)}).catch(a=>{Tr(a,e,0)});e.asyncDep=u}else D2(e,u,t)}else N1(e,t)}function D2(e,t,n){Ge(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:dt(t)&&(e.setupState=p1(t)),N1(e,n)}let B2;function N1(e,t,n){const o=e.type;if(!e.render){if(!t&&B2&&!o.render){const l=o.template||Gi(e).template;if(l){const{isCustomElement:u,compilerOptions:a}=e.appContext.config,{delimiters:r,compilerOptions:s}=o,i=Ht(Ht({isCustomElement:u,delimiters:r},a),s);o.render=B2(l,i)}}e.render=o.render||vt}eu(e),kl(),D3(e),Pl(),Fl()}function Z3(e){return new Proxy(e.attrs,{get(t,n){return Fn(e,"get","$attrs"),t[n]}})}function O1(e){const t=o=>{e.exposed=o||{}};let n;return{get attrs(){return n||(n=Z3(e))},slots:e.slots,emit:e.emit,expose:t}}function Nr(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(p1(c1(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in _r)return _r[n](e)}}))}const e8=/(?:^|[-_])(\w)/g,t8=e=>e.replace(e8,t=>t.toUpperCase()).replace(/[-_]/g,"");function U1(e,t=!0){return Ge(e)?e.displayName||e.name:e.name||t&&e.__name}function W1(e,t,n=!1){let o=U1(t);if(!o&&t.__file){const l=t.__file.match(/([^/\\]+)\.\w+$/);l&&(o=l[1])}if(!o&&e&&e.parent){const l=u=>{for(const a in u)if(u[a]===t)return a};o=l(e.components||e.parent.type.components)||l(e.appContext.components)}return o?t8(o):n?"App":"Anonymous"}function n8(e){return Ge(e)&&"__vccOpts"in e}const U=(e,t)=>h1(e,t,ea);function To(){return q1().slots}function o8(){return q1().attrs}function q1(){const e=pt();return e.setupContext||(e.setupContext=O1(e))}function Re(e,t,n){const o=arguments.length;return o===2?dt(t)&&!qe(t)?cn(t)?c(e,null,[t]):c(e,t):c(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&cn(n)&&(n=[n]),c(e,t,n))}const l8="3.2.41",u8="http://www.w3.org/2000/svg",_l=typeof document!="undefined"?document:null,x2=_l&&_l.createElement("template"),a8={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 l=t?_l.createElementNS(u8,e):_l.createElement(e,n?{is:n}:void 0);return e==="select"&&o&&o.multiple!=null&&l.setAttribute("multiple",o.multiple),l},createText:e=>_l.createTextNode(e),createComment:e=>_l.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>_l.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,l,u){const a=n?n.previousSibling:t.lastChild;if(l&&(l===u||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),n),!(l===u||!(l=l.nextSibling)););else{x2.innerHTML=o?`${e}`:e;const r=x2.content;if(o){const s=r.firstChild;for(;s.firstChild;)r.appendChild(s.firstChild);r.removeChild(s)}t.insertBefore(r,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function r8(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function s8(e,t,n){const o=e.style,l=tt(n);if(n&&!l){for(const u in n)js(o,u,n[u]);if(t&&!tt(t))for(const u in t)n[u]==null&&js(o,u,"")}else{const u=o.display;l?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=u)}}const $2=/\s*!important$/;function js(e,t,n){if(qe(n))n.forEach(o=>js(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=i8(e,t);$2.test(n)?e.setProperty(ll(o),n.replace($2,""),"important"):e[o]=n}}const S2=["Webkit","Moz","ms"],ds={};function i8(e,t){const n=ds[t];if(n)return n;let o=Ln(t);if(o!=="filter"&&o in e)return ds[t]=o;o=Pr(o);for(let l=0;lfs||(h8.then(()=>fs=0),fs=Date.now());function m8(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;Sn(g8(o,n.value),t,5,[o])};return n.value=e,n.attached=_8(),n}function g8(e,t){if(qe(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>l=>!l._stopped&&o&&o(l))}else return t}const L2=/^on[a-z]/,b8=(e,t,n,o,l=!1,u,a,r,s)=>{t==="class"?r8(e,o,l):t==="style"?s8(e,n,o):$r(t)?$i(t)||p8(e,t,n,o,a):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):y8(e,t,o,l))?d8(e,t,o,u,a,r,s):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),c8(e,t,o,l))};function y8(e,t,n,o){return o?!!(t==="innerHTML"||t==="textContent"||t in e&&L2.test(t)&&Ge(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||L2.test(t)&&tt(n)?!1:t in e}const No="transition",$u="animation",tn=(e,{slots:t})=>Re(F1,K1(e),t);tn.displayName="Transition";const j1={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},w8=tn.props=Ht({},F1.props,j1),cl=(e,t=[])=>{qe(e)?e.forEach(n=>n(...t)):e&&e(...t)},T2=e=>e?qe(e)?e.some(t=>t.length>1):e.length>1:!1;function K1(e){const t={};for(const W in e)W in j1||(t[W]=e[W]);if(e.css===!1)return t;const{name:n="v",type:o,duration:l,enterFromClass:u=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:r=`${n}-enter-to`,appearFromClass:s=u,appearActiveClass:i=a,appearToClass:p=r,leaveFromClass:m=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,g=C8(l),y=g&&g[0],w=g&&g[1],{onBeforeEnter:E,onEnter:D,onEnterCancelled:C,onLeave:B,onLeaveCancelled:$,onBeforeAppear:k=E,onAppear:P=D,onAppearCancelled:T=C}=t,H=(W,N,J)=>{Uo(W,N?p:r),Uo(W,N?i:a),J&&J()},j=(W,N)=>{W._isLeaving=!1,Uo(W,m),Uo(W,_),Uo(W,v),N&&N()},X=W=>(N,J)=>{const be=W?P:D,ve=()=>H(N,W,J);cl(be,[N,ve]),z2(()=>{Uo(N,W?s:u),bo(N,W?p:r),T2(be)||M2(N,o,y,ve)})};return Ht(t,{onBeforeEnter(W){cl(E,[W]),bo(W,u),bo(W,a)},onBeforeAppear(W){cl(k,[W]),bo(W,s),bo(W,i)},onEnter:X(!1),onAppear:X(!0),onLeave(W,N){W._isLeaving=!0;const J=()=>j(W,N);bo(W,m),Y1(),bo(W,v),z2(()=>{!W._isLeaving||(Uo(W,m),bo(W,_),T2(B)||M2(W,o,w,J))}),cl(B,[W,J])},onEnterCancelled(W){H(W,!1),cl(C,[W])},onAppearCancelled(W){H(W,!0),cl(T,[W])},onLeaveCancelled(W){j(W),cl($,[W])}})}function C8(e){if(e==null)return null;if(dt(e))return[ps(e.enter),ps(e.leave)];{const t=ps(e);return[t,t]}}function ps(e){return pr(e)}function bo(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Uo(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function z2(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let E8=0;function M2(e,t,n,o){const l=e._endId=++E8,u=()=>{l===e._endId&&o()};if(n)return setTimeout(u,n);const{type:a,timeout:r,propCount:s}=G1(e,t);if(!a)return o();const i=a+"end";let p=0;const m=()=>{e.removeEventListener(i,v),u()},v=_=>{_.target===e&&++p>=s&&m()};setTimeout(()=>{p(n[g]||"").split(", "),l=o(No+"Delay"),u=o(No+"Duration"),a=V2(l,u),r=o($u+"Delay"),s=o($u+"Duration"),i=V2(r,s);let p=null,m=0,v=0;t===No?a>0&&(p=No,m=a,v=u.length):t===$u?i>0&&(p=$u,m=i,v=s.length):(m=Math.max(a,i),p=m>0?a>i?No:$u:null,v=p?p===No?u.length:s.length:0);const _=p===No&&/\b(transform|all)(,|$)/.test(n[No+"Property"]);return{type:p,timeout:m,propCount:v,hasTransform:_}}function V2(e,t){for(;e.lengthI2(n)+I2(e[o])))}function I2(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function Y1(){return document.body.offsetHeight}const X1=new WeakMap,J1=new WeakMap,F8={name:"TransitionGroup",props:Ht({},w8,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=pt(),o=E1();let l,u;return Ll(()=>{if(!l.length)return;const a=e.moveClass||`${e.name||"v"}-move`;if(!$8(l[0].el,n.vnode.el,a))return;l.forEach(D8),l.forEach(B8);const r=l.filter(x8);Y1(),r.forEach(s=>{const i=s.el,p=i.style;bo(i,a),p.transform=p.webkitTransform=p.transitionDuration="";const m=i._moveCb=v=>{v&&v.target!==i||(!v||/transform$/.test(v.propertyName))&&(i.removeEventListener("transitionend",m),i._moveCb=null,Uo(i,a))};i.addEventListener("transitionend",m)})}),()=>{const a=ct(e),r=K1(a);let s=a.tag||Oe;l=u,u=t.default?Wi(t.default()):[];for(let i=0;i{a.split(/\s+/).forEach(r=>r&&o.classList.remove(r))}),n.split(/\s+/).forEach(a=>a&&o.classList.add(a)),o.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(o);const{hasTransform:u}=G1(o);return l.removeChild(o),u}const tu=e=>{const t=e.props["onUpdate:modelValue"]||!1;return qe(t)?n=>Ga(t,n):t};function S8(e){e.target.composing=!0}function H2(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const k8={created(e,{modifiers:{lazy:t,trim:n,number:o}},l){e._assign=tu(l);const u=o||l.props&&l.props.type==="number";Xo(e,t?"change":"input",a=>{if(a.target.composing)return;let r=e.value;n&&(r=r.trim()),u&&(r=pr(r)),e._assign(r)}),n&&Xo(e,"change",()=>{e.value=e.value.trim()}),t||(Xo(e,"compositionstart",S8),Xo(e,"compositionend",H2),Xo(e,"change",H2))},mounted(e,{value:t}){e.value=t==null?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:l}},u){if(e._assign=tu(u),e.composing||document.activeElement===e&&e.type!=="range"&&(n||o&&e.value.trim()===t||(l||e.type==="number")&&pr(e.value)===t))return;const a=t==null?"":t;e.value!==a&&(e.value=a)}},gr={deep:!0,created(e,t,n){e._assign=tu(n),Xo(e,"change",()=>{const o=e._modelValue,l=Z1(e),u=e.checked,a=e._assign;if(qe(o)){const r=Kd(o,l),s=r!==-1;if(u&&!s)a(o.concat(l));else if(!u&&s){const i=[...o];i.splice(r,1),a(i)}}else if(Sr(o)){const r=new Set(o);u?r.add(l):r.delete(l),a(r)}else a(ef(e,u))})},mounted:R2,beforeUpdate(e,t,n){e._assign=tu(n),R2(e,t,n)}};function R2(e,{value:t,oldValue:n},o){e._modelValue=t,qe(t)?e.checked=Kd(t,o.props.value)>-1:Sr(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=Jl(t,ef(e,!0)))}const Q1={created(e,{value:t},n){e.checked=Jl(t,n.props.value),e._assign=tu(n),Xo(e,"change",()=>{e._assign(Z1(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e._assign=tu(o),t!==n&&(e.checked=Jl(t,o.props.value))}};function Z1(e){return"_value"in e?e._value:e.value}function ef(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const P8=["ctrl","shift","alt","meta"],L8={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)=>P8.some(n=>e[`${n}Key`]&&!t.includes(n))},mt=(e,t)=>(n,...o)=>{for(let l=0;ln=>{if(!("key"in n))return;const o=ll(n.key);if(t.some(l=>l===o||T8[l]===o))return e(n)},ge={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Su(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),Su(e,!0),o.enter(e)):o.leave(e,()=>{Su(e,!1)}):Su(e,t))},beforeUnmount(e,{value:t}){Su(e,t)}};function Su(e,t){e.style.display=t?e._vod:"none"}const z8=Ht({patchProp:b8},a8);let N2;function tf(){return N2||(N2=I3(z8))}const nu=(...e)=>{tf().render(...e)},nf=(...e)=>{const t=tf().createApp(...e),{mount:n}=t;return t.mount=o=>{const l=M8(o);if(!l)return;const u=t._component;!Ge(u)&&!u.render&&!u.template&&(u.template=l.innerHTML),l.innerHTML="";const a=n(l,!1,l instanceof SVGElement);return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),a},t};function M8(e){return tt(e)?document.querySelector(e):e}var V8=typeof global=="object"&&global&&global.Object===Object&&global,of=V8,I8=typeof self=="object"&&self&&self.Object===Object&&self,H8=of||I8||Function("return this")(),Qn=H8,R8=Qn.Symbol,zn=R8,lf=Object.prototype,N8=lf.hasOwnProperty,O8=lf.toString,ku=zn?zn.toStringTag:void 0;function U8(e){var t=N8.call(e,ku),n=e[ku];try{e[ku]=void 0;var o=!0}catch{}var l=O8.call(e);return o&&(t?e[ku]=n:delete e[ku]),l}var W8=Object.prototype,q8=W8.toString;function j8(e){return q8.call(e)}var K8="[object Null]",G8="[object Undefined]",O2=zn?zn.toStringTag:void 0;function yu(e){return e==null?e===void 0?G8:K8:O2&&O2 in Object(e)?U8(e):j8(e)}function tl(e){return e!=null&&typeof e=="object"}var Y8="[object Symbol]";function Or(e){return typeof e=="symbol"||tl(e)&&yu(e)==Y8}function X8(e,t){for(var n=-1,o=e==null?0:e.length,l=Array(o);++n0){if(++t>=S5)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function T5(e){return function(){return e}}var z5=function(){try{var e=zl(Object,"defineProperty");return e({},"",{}),e}catch{}}(),br=z5,M5=br?function(e,t){return br(e,"toString",{configurable:!0,enumerable:!1,value:T5(t),writable:!0})}:r5,V5=M5,I5=L5(V5),H5=I5;function R5(e,t){for(var n=-1,o=e==null?0:e.length;++n-1&&e%1==0&&e-1&&e%1==0&&e<=j5}function sf(e){return e!=null&&tc(e.length)&&!af(e)}var K5=Object.prototype;function nc(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||K5;return e===n}function G5(e,t){for(var n=-1,o=Array(e);++n-1}function ih(e,t){var n=this.__data__,o=Wr(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function zo(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(r)?t>1?mf(r,t-1,n,o,l):ic(l,r):o||(l[l.length]=r)}return l}function Bh(e){var t=e==null?0:e.length;return t?mf(e,1):[]}function xh(e){return H5(q5(e,void 0,Bh),e+"")}var $h=hf(Object.getPrototypeOf,Object),gf=$h;function oa(){if(!arguments.length)return[];var e=arguments[0];return Yn(e)?e:[e]}function Sh(){this.__data__=new zo,this.size=0}function kh(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ph(e){return this.__data__.get(e)}function Lh(e){return this.__data__.has(e)}var Th=200;function zh(e,t){var n=this.__data__;if(n instanceof zo){var o=n.__data__;if(!na||o.lengthr))return!1;var i=u.get(e),p=u.get(t);if(i&&p)return i==t&&p==e;var m=-1,v=!0,_=n&wm?new Cr:void 0;for(u.set(e,t),u.set(t,e);++m=t||P<0||m&&T>=u}function E(){var k=ms();if(w(k))return D(k);r=setTimeout(E,y(k))}function D(k){return r=void 0,v&&o?_(k):(o=l=void 0,a)}function C(){r!==void 0&&clearTimeout(r),i=0,o=s=l=r=void 0}function B(){return r===void 0?a:D(ms())}function $(){var k=ms(),P=w(k);if(o=arguments,l=this,s=k,P){if(r===void 0)return g(s);if(m)return clearTimeout(r),r=setTimeout(E,t),_(s)}return r===void 0&&(r=setTimeout(E,t)),a}return $.cancel=C,$.flush=B,$}function xf(e){for(var t=-1,n=e==null?0:e.length,o={};++tgetComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,b0=e=>Array.from(e.querySelectorAll(o9)).filter(t=>u9(t)&&l9(t)),u9=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Qa=function(e,t,...n){let o;t.includes("mouse")||t.includes("click")?o="MouseEvents":t.includes("key")?o="KeyboardEvent":o="HTMLEvents";const l=document.createEvent(o);return l.initEvent(t,...n),e.dispatchEvent(l),e},Co=(e,t,{checkForDefaultPrevented:n=!0}={})=>l=>{const u=e==null?void 0:e(l);if(n===!1||!u)return t==null?void 0:t(l)};var y0;const _t=typeof window!="undefined",a9=e=>typeof e!="undefined",Ut=e=>typeof e=="boolean",r9=e=>typeof e=="function",gt=e=>typeof e=="number",s9=e=>typeof e=="string",gs=()=>{};_t&&((y0=window==null?void 0:window.navigator)==null?void 0:y0.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Er(e){return typeof e=="function"?e():h(e)}function i9(e,t){function n(...o){e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})}return n}function c9(e,t={}){let n,o;return u=>{const a=Er(e),r=Er(t.maxWait);if(n&&clearTimeout(n),a<=0||r!==void 0&&r<=0)return o&&(clearTimeout(o),o=null),u();r&&!o&&(o=setTimeout(()=>{n&&clearTimeout(n),o=null,u()},r)),n=setTimeout(()=>{o&&clearTimeout(o),o=null,u()},a)}}function d9(e){return e}function Kr(e){return wp()?(Jd(e),!0):!1}function f9(e,t=200,n={}){return i9(c9(t,n),e)}function p9(e,t=200,n={}){if(t<=0)return e;const o=L(e.value),l=f9(()=>{o.value=e.value},t,n);return Me(e,()=>l()),o}function fc(e,t=!0){pt()?ot(e):t?e():at(e)}function uu(e,t,n={}){const{immediate:o=!0}=n,l=L(!1);let u=null;function a(){u&&(clearTimeout(u),u=null)}function r(){l.value=!1,a()}function s(...i){a(),l.value=!0,u=setTimeout(()=>{l.value=!1,u=null,e(...i)},Er(t))}return o&&(l.value=!0,_t&&s()),Kr(r),{isPending:l,start:s,stop:r}}function ao(e){var t;const n=Er(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Gr=_t?window:void 0;function Gt(...e){let t,n,o,l;if(s9(e[0])?([n,o,l]=e,t=Gr):[t,n,o,l]=e,!t)return gs;let u=gs;const a=Me(()=>ao(t),s=>{u(),s&&(s.addEventListener(n,o,l),u=()=>{s.removeEventListener(n,o,l),u=gs})},{immediate:!0,flush:"post"}),r=()=>{a(),u()};return Kr(r),r}function v9(e,t,n={}){const{window:o=Gr,ignore:l,capture:u=!0,detectIframe:a=!1}=n;if(!o)return;const r=L(!0);let s;const i=_=>{o.clearTimeout(s);const g=ao(e);!g||g===_.target||_.composedPath().includes(g)||!r.value||t(_)},p=_=>l&&l.some(g=>{const y=ao(g);return y&&(_.target===y||_.composedPath().includes(y))}),m=[Gt(o,"click",i,{passive:!0,capture:u}),Gt(o,"pointerdown",_=>{const g=ao(e);r.value=!!g&&!_.composedPath().includes(g)&&!p(_)},{passive:!0}),Gt(o,"pointerup",_=>{if(_.button===0){const g=_.composedPath();_.composedPath=()=>g,s=o.setTimeout(()=>i(_),50)}},{passive:!0}),a&&Gt(o,"blur",_=>{var g;const y=ao(e);((g=document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(y!=null&&y.contains(document.activeElement))&&t(_)})].filter(Boolean);return()=>m.forEach(_=>_())}function h9(e,t=!1){const n=L(),o=()=>n.value=Boolean(e());return o(),fc(o,t),n}function _9(e){return JSON.parse(JSON.stringify(e))}const Zs=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},ei="__vueuse_ssr_handlers__";Zs[ei]=Zs[ei]||{};Zs[ei];var w0=Object.getOwnPropertySymbols,m9=Object.prototype.hasOwnProperty,g9=Object.prototype.propertyIsEnumerable,b9=(e,t)=>{var n={};for(var o in e)m9.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&w0)for(var o of w0(e))t.indexOf(o)<0&&g9.call(e,o)&&(n[o]=e[o]);return n};function po(e,t,n={}){const o=n,{window:l=Gr}=o,u=b9(o,["window"]);let a;const r=h9(()=>l&&"ResizeObserver"in l),s=()=>{a&&(a.disconnect(),a=void 0)},i=Me(()=>ao(e),m=>{s(),r.value&&l&&m&&(a=new ResizeObserver(t),a.observe(m,u))},{immediate:!0,flush:"post"}),p=()=>{s(),i()};return Kr(p),{isSupported:r,stop:p}}function C0(e,t={}){const{reset:n=!0,windowResize:o=!0,windowScroll:l=!0,immediate:u=!0}=t,a=L(0),r=L(0),s=L(0),i=L(0),p=L(0),m=L(0),v=L(0),_=L(0);function g(){const y=ao(e);if(!y){n&&(a.value=0,r.value=0,s.value=0,i.value=0,p.value=0,m.value=0,v.value=0,_.value=0);return}const w=y.getBoundingClientRect();a.value=w.height,r.value=w.bottom,s.value=w.left,i.value=w.right,p.value=w.top,m.value=w.width,v.value=w.x,_.value=w.y}return po(e,g),Me(()=>ao(e),y=>!y&&g()),l&&Gt("scroll",g,{passive:!0}),o&&Gt("resize",g,{passive:!0}),fc(()=>{u&&g()}),{height:a,bottom:r,left:s,right:i,top:p,width:m,x:v,y:_,update:g}}var E0;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(E0||(E0={}));var y9=Object.defineProperty,F0=Object.getOwnPropertySymbols,w9=Object.prototype.hasOwnProperty,C9=Object.prototype.propertyIsEnumerable,A0=(e,t,n)=>t in e?y9(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,E9=(e,t)=>{for(var n in t||(t={}))w9.call(t,n)&&A0(e,n,t[n]);if(F0)for(var n of F0(t))C9.call(t,n)&&A0(e,n,t[n]);return e};const F9={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};E9({linear:d9},F9);function A9(e,t,n,o={}){var l,u,a;const{clone:r=!1,passive:s=!1,eventName:i,deep:p=!1,defaultValue:m}=o,v=pt(),_=n||(v==null?void 0:v.emit)||((l=v==null?void 0:v.$emit)==null?void 0:l.bind(v))||((a=(u=v==null?void 0:v.proxy)==null?void 0:u.$emit)==null?void 0:a.bind(v==null?void 0:v.proxy));let g=i;t||(t="modelValue"),g=i||g||`update:${t.toString()}`;const y=E=>r?r9(r)?r(E):_9(E):E,w=()=>a9(e[t])?y(e[t]):m;if(s){const E=w(),D=L(E);return Me(()=>e[t],C=>D.value=y(C)),Me(D,C=>{(C!==e[t]||p)&&_(g,C)},{deep:p}),D}else return U({get(){return w()},set(E){_(g,E)}})}function D9(e={}){const{window:t=Gr,initialWidth:n=1/0,initialHeight:o=1/0,listenOrientation:l=!0,includeScrollbar:u=!0}=e,a=L(n),r=L(o),s=()=>{t&&(u?(a.value=t.innerWidth,r.value=t.innerHeight):(a.value=t.document.documentElement.clientWidth,r.value=t.document.documentElement.clientHeight))};return s(),fc(s),Gt("resize",s,{passive:!0}),l&&Gt("orientationchange",s,{passive:!0}),{width:a,height:r}}const jn=e=>e===void 0,nl=e=>typeof Element=="undefined"?!1:e instanceof Element,B9=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),D0=e=>Object.keys(e),x9=e=>Object.entries(e),Za=(e,t,n)=>({get value(){return en(e,t,n)},set value(o){n9(e,t,o)}});class $9 extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function An(e,t){throw new $9(`[${e}] ${t}`)}const Sf=(e="")=>e.split(" ").filter(t=>!!t.trim()),Al=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Fo=(e,t)=>{!e||!t.trim()||e.classList.add(...Sf(t))},Gn=(e,t)=>{!e||!t.trim()||e.classList.remove(...Sf(t))},Eo=(e,t)=>{var n;if(!_t||!e||!t)return"";let o=Ln(t);o==="float"&&(o="cssFloat");try{const l=e.style[o];if(l)return l;const u=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return u?u[o]:""}catch{return e.style[o]}};function Xn(e,t="px"){if(!e)return"";if(tt(e))return e;if(gt(e))return`${e}${t}`}const S9=(e,t)=>{if(!_t)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],o=Eo(e,n);return["scroll","auto","overlay"].some(l=>o.includes(l))},k9=(e,t)=>{if(!_t)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(S9(n,t))return n;n=n.parentNode}return n};let La;const P9=e=>{var t;if(!_t)return 0;if(La!==void 0)return La;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const o=n.offsetWidth;n.style.overflow="scroll";const l=document.createElement("div");l.style.width="100%",n.appendChild(l);const u=l.offsetWidth;return(t=n.parentNode)==null||t.removeChild(n),La=o-u,La};function L9(e,t){if(!_t)return;if(!t){e.scrollTop=0;return}const n=[];let o=t.offsetParent;for(;o!==null&&e!==o&&e.contains(o);)n.push(o),o=o.offsetParent;const l=t.offsetTop+n.reduce((s,i)=>s+i.offsetTop,0),u=l+t.offsetHeight,a=e.scrollTop,r=a+e.clientHeight;lr&&(e.scrollTop=u-e.clientHeight)}/*! Element Plus Icons Vue v2.0.10 */var T9={name:"AddLocation"},V=(e,t)=>{let n=e.__vccOpts||e;for(let[o,l]of t)n[o]=l;return n},z9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},M9=f("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),V9=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),I9=f("path",{fill:"currentColor",d:"M544 384h96a32 32 0 1 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0v96z"},null,-1),H9=[M9,V9,I9];function R9(e,t,n,o,l,u){return b(),F("svg",z9,H9)}var N9=V(T9,[["render",R9],["__file","add-location.vue"]]),O9={name:"Aim"},U9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},W9=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),q9=f("path",{fill:"currentColor",d:"M512 96a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V128a32 32 0 0 1 32-32zm0 576a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V704a32 32 0 0 1 32-32zM96 512a32 32 0 0 1 32-32h192a32 32 0 0 1 0 64H128a32 32 0 0 1-32-32zm576 0a32 32 0 0 1 32-32h192a32 32 0 1 1 0 64H704a32 32 0 0 1-32-32z"},null,-1),j9=[W9,q9];function K9(e,t,n,o,l,u){return b(),F("svg",U9,j9)}var G9=V(O9,[["render",K9],["__file","aim.vue"]]),Y9={name:"AlarmClock"},X9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},J9=f("path",{fill:"currentColor",d:"M512 832a320 320 0 1 0 0-640 320 320 0 0 0 0 640zm0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768z"},null,-1),Q9=f("path",{fill:"currentColor",d:"m292.288 824.576 55.424 32-48 83.136a32 32 0 1 1-55.424-32l48-83.136zm439.424 0-55.424 32 48 83.136a32 32 0 1 0 55.424-32l-48-83.136zM512 512h160a32 32 0 1 1 0 64H480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v192zM90.496 312.256A160 160 0 0 1 312.32 90.496l-46.848 46.848a96 96 0 0 0-128 128L90.56 312.256zm835.264 0A160 160 0 0 0 704 90.496l46.848 46.848a96 96 0 0 1 128 128l46.912 46.912z"},null,-1),Z9=[J9,Q9];function eg(e,t,n,o,l,u){return b(),F("svg",X9,Z9)}var tg=V(Y9,[["render",eg],["__file","alarm-clock.vue"]]),ng={name:"Apple"},og={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lg=f("path",{fill:"currentColor",d:"M599.872 203.776a189.44 189.44 0 0 1 64.384-4.672l2.624.128c31.168 1.024 51.2 4.096 79.488 16.32 37.632 16.128 74.496 45.056 111.488 89.344 96.384 115.264 82.752 372.8-34.752 521.728-7.68 9.728-32 41.6-30.72 39.936a426.624 426.624 0 0 1-30.08 35.776c-31.232 32.576-65.28 49.216-110.08 50.048-31.36.64-53.568-5.312-84.288-18.752l-6.528-2.88c-20.992-9.216-30.592-11.904-47.296-11.904-18.112 0-28.608 2.88-51.136 12.672l-6.464 2.816c-28.416 12.224-48.32 18.048-76.16 19.2-74.112 2.752-116.928-38.08-180.672-132.16-96.64-142.08-132.608-349.312-55.04-486.4 46.272-81.92 129.92-133.632 220.672-135.04 32.832-.576 60.288 6.848 99.648 22.72 27.136 10.88 34.752 13.76 37.376 14.272 16.256-20.16 27.776-36.992 34.56-50.24 13.568-26.304 27.2-59.968 40.704-100.8a32 32 0 1 1 60.8 20.224c-12.608 37.888-25.408 70.4-38.528 97.664zm-51.52 78.08c-14.528 17.792-31.808 37.376-51.904 58.816a32 32 0 1 1-46.72-43.776l12.288-13.248c-28.032-11.2-61.248-26.688-95.68-26.112-70.4 1.088-135.296 41.6-171.648 105.792C121.6 492.608 176 684.16 247.296 788.992c34.816 51.328 76.352 108.992 130.944 106.944 52.48-2.112 72.32-34.688 135.872-34.688 63.552 0 81.28 34.688 136.96 33.536 56.448-1.088 75.776-39.04 126.848-103.872 107.904-136.768 107.904-362.752 35.776-449.088-72.192-86.272-124.672-84.096-151.68-85.12-41.472-4.288-81.6 12.544-113.664 25.152z"},null,-1),ug=[lg];function ag(e,t,n,o,l,u){return b(),F("svg",og,ug)}var rg=V(ng,[["render",ag],["__file","apple.vue"]]),sg={name:"ArrowDownBold"},ig={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cg=f("path",{fill:"currentColor",d:"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496z"},null,-1),dg=[cg];function fg(e,t,n,o,l,u){return b(),F("svg",ig,dg)}var pg=V(sg,[["render",fg],["__file","arrow-down-bold.vue"]]),vg={name:"ArrowDown"},hg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_g=f("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"},null,-1),mg=[_g];function gg(e,t,n,o,l,u){return b(),F("svg",hg,mg)}var pa=V(vg,[["render",gg],["__file","arrow-down.vue"]]),bg={name:"ArrowLeftBold"},yg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wg=f("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"},null,-1),Cg=[wg];function Eg(e,t,n,o,l,u){return b(),F("svg",yg,Cg)}var Fg=V(bg,[["render",Eg],["__file","arrow-left-bold.vue"]]),Ag={name:"ArrowLeft"},Dg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bg=f("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"},null,-1),xg=[Bg];function $g(e,t,n,o,l,u){return b(),F("svg",Dg,xg)}var kf=V(Ag,[["render",$g],["__file","arrow-left.vue"]]),Sg={name:"ArrowRightBold"},kg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Pg=f("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"},null,-1),Lg=[Pg];function Tg(e,t,n,o,l,u){return b(),F("svg",kg,Lg)}var zg=V(Sg,[["render",Tg],["__file","arrow-right-bold.vue"]]),Mg={name:"ArrowRight"},Vg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ig=f("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"},null,-1),Hg=[Ig];function Rg(e,t,n,o,l,u){return b(),F("svg",Vg,Hg)}var wu=V(Mg,[["render",Rg],["__file","arrow-right.vue"]]),Ng={name:"ArrowUpBold"},Og={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ug=f("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z"},null,-1),Wg=[Ug];function qg(e,t,n,o,l,u){return b(),F("svg",Og,Wg)}var jg=V(Ng,[["render",qg],["__file","arrow-up-bold.vue"]]),Kg={name:"ArrowUp"},Gg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Yg=f("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0z"},null,-1),Xg=[Yg];function Jg(e,t,n,o,l,u){return b(),F("svg",Gg,Xg)}var pc=V(Kg,[["render",Jg],["__file","arrow-up.vue"]]),Qg={name:"Avatar"},Zg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},e7=f("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704l116.736-175.104zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0z"},null,-1),t7=[e7];function n7(e,t,n,o,l,u){return b(),F("svg",Zg,t7)}var o7=V(Qg,[["render",n7],["__file","avatar.vue"]]),l7={name:"Back"},u7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},a7=f("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64z"},null,-1),r7=f("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312L237.248 512z"},null,-1),s7=[a7,r7];function i7(e,t,n,o,l,u){return b(),F("svg",u7,s7)}var c7=V(l7,[["render",i7],["__file","back.vue"]]),d7={name:"Baseball"},f7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},p7=f("path",{fill:"currentColor",d:"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104z"},null,-1),v7=f("path",{fill:"currentColor",d:"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.48 491.904a320.128 320.128 0 0 1 423.616 423.68c-23.04-3.648-44.992-7.424-65.728-11.52a256.128 256.128 0 0 0-346.496-346.432 1736.64 1736.64 0 0 1-11.392-65.728z"},null,-1),h7=[p7,v7];function _7(e,t,n,o,l,u){return b(),F("svg",f7,h7)}var m7=V(d7,[["render",_7],["__file","baseball.vue"]]),g7={name:"Basketball"},b7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},y7=f("path",{fill:"currentColor",d:"M778.752 788.224a382.464 382.464 0 0 0 116.032-245.632 256.512 256.512 0 0 0-241.728-13.952 762.88 762.88 0 0 1 125.696 259.584zm-55.04 44.224a699.648 699.648 0 0 0-125.056-269.632 256.128 256.128 0 0 0-56.064 331.968 382.72 382.72 0 0 0 181.12-62.336zm-254.08 61.248A320.128 320.128 0 0 1 557.76 513.6a715.84 715.84 0 0 0-48.192-48.128 320.128 320.128 0 0 1-379.264 88.384 382.4 382.4 0 0 0 110.144 229.696 382.4 382.4 0 0 0 229.184 110.08zM129.28 481.088a256.128 256.128 0 0 0 331.072-56.448 699.648 699.648 0 0 0-268.8-124.352 382.656 382.656 0 0 0-62.272 180.8zm106.56-235.84a762.88 762.88 0 0 1 258.688 125.056 256.512 256.512 0 0 0-13.44-241.088A382.464 382.464 0 0 0 235.84 245.248zm318.08-114.944c40.576 89.536 37.76 193.92-8.448 281.344a779.84 779.84 0 0 1 66.176 66.112 320.832 320.832 0 0 1 282.112-8.128 382.4 382.4 0 0 0-110.144-229.12 382.4 382.4 0 0 0-229.632-110.208zM828.8 828.8a448 448 0 1 1-633.6-633.6 448 448 0 0 1 633.6 633.6z"},null,-1),w7=[y7];function C7(e,t,n,o,l,u){return b(),F("svg",b7,w7)}var E7=V(g7,[["render",C7],["__file","basketball.vue"]]),F7={name:"BellFilled"},A7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},D7=f("path",{fill:"currentColor",d:"M640 832a128 128 0 0 1-256 0h256zm192-64H134.4a38.4 38.4 0 0 1 0-76.8H192V448c0-154.88 110.08-284.16 256.32-313.6a64 64 0 1 1 127.36 0A320.128 320.128 0 0 1 832 448v243.2h57.6a38.4 38.4 0 0 1 0 76.8H832z"},null,-1),B7=[D7];function x7(e,t,n,o,l,u){return b(),F("svg",A7,B7)}var $7=V(F7,[["render",x7],["__file","bell-filled.vue"]]),S7={name:"Bell"},k7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},P7=f("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z"},null,-1),L7=f("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z"},null,-1),T7=f("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z"},null,-1),z7=[P7,L7,T7];function M7(e,t,n,o,l,u){return b(),F("svg",k7,z7)}var V7=V(S7,[["render",M7],["__file","bell.vue"]]),I7={name:"Bicycle"},H7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},R7=K3('',5),N7=[R7];function O7(e,t,n,o,l,u){return b(),F("svg",H7,N7)}var U7=V(I7,[["render",O7],["__file","bicycle.vue"]]),W7={name:"BottomLeft"},q7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},j7=f("path",{fill:"currentColor",d:"M256 768h416a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V352a32 32 0 0 1 64 0v416z"},null,-1),K7=f("path",{fill:"currentColor",d:"M246.656 822.656a32 32 0 0 1-45.312-45.312l544-544a32 32 0 0 1 45.312 45.312l-544 544z"},null,-1),G7=[j7,K7];function Y7(e,t,n,o,l,u){return b(),F("svg",q7,G7)}var X7=V(W7,[["render",Y7],["__file","bottom-left.vue"]]),J7={name:"BottomRight"},Q7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Z7=f("path",{fill:"currentColor",d:"M352 768a32 32 0 1 0 0 64h448a32 32 0 0 0 32-32V352a32 32 0 0 0-64 0v416H352z"},null,-1),eb=f("path",{fill:"currentColor",d:"M777.344 822.656a32 32 0 0 0 45.312-45.312l-544-544a32 32 0 0 0-45.312 45.312l544 544z"},null,-1),tb=[Z7,eb];function nb(e,t,n,o,l,u){return b(),F("svg",Q7,tb)}var ob=V(J7,[["render",nb],["__file","bottom-right.vue"]]),lb={name:"Bottom"},ub={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ab=f("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"},null,-1),rb=[ab];function sb(e,t,n,o,l,u){return b(),F("svg",ub,rb)}var ib=V(lb,[["render",sb],["__file","bottom.vue"]]),cb={name:"Bowl"},db={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fb=f("path",{fill:"currentColor",d:"M714.432 704a351.744 351.744 0 0 0 148.16-256H161.408a351.744 351.744 0 0 0 148.16 256h404.864zM288 766.592A415.68 415.68 0 0 1 96 416a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32 415.68 415.68 0 0 1-192 350.592V832a64 64 0 0 1-64 64H352a64 64 0 0 1-64-64v-65.408zM493.248 320h-90.496l254.4-254.4a32 32 0 1 1 45.248 45.248L493.248 320zm187.328 0h-128l269.696-155.712a32 32 0 0 1 32 55.424L680.576 320zM352 768v64h320v-64H352z"},null,-1),pb=[fb];function vb(e,t,n,o,l,u){return b(),F("svg",db,pb)}var hb=V(cb,[["render",vb],["__file","bowl.vue"]]),_b={name:"Box"},mb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gb=f("path",{fill:"currentColor",d:"M317.056 128 128 344.064V896h768V344.064L706.944 128H317.056zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64z"},null,-1),bb=f("path",{fill:"currentColor",d:"M64 320h896v64H64z"},null,-1),yb=f("path",{fill:"currentColor",d:"M448 327.872V640h128V327.872L526.08 128h-28.16L448 327.872zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320l64-256z"},null,-1),wb=[gb,bb,yb];function Cb(e,t,n,o,l,u){return b(),F("svg",mb,wb)}var Eb=V(_b,[["render",Cb],["__file","box.vue"]]),Fb={name:"Briefcase"},Ab={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Db=f("path",{fill:"currentColor",d:"M320 320V128h384v192h192v192H128V320h192zM128 576h768v320H128V576zm256-256h256.064V192H384v128z"},null,-1),Bb=[Db];function xb(e,t,n,o,l,u){return b(),F("svg",Ab,Bb)}var $b=V(Fb,[["render",xb],["__file","briefcase.vue"]]),Sb={name:"BrushFilled"},kb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Pb=f("path",{fill:"currentColor",d:"M608 704v160a96 96 0 0 1-192 0V704h-96a128 128 0 0 1-128-128h640a128 128 0 0 1-128 128h-96zM192 512V128.064h640V512H192z"},null,-1),Lb=[Pb];function Tb(e,t,n,o,l,u){return b(),F("svg",kb,Lb)}var zb=V(Sb,[["render",Tb],["__file","brush-filled.vue"]]),Mb={name:"Brush"},Vb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ib=f("path",{fill:"currentColor",d:"M896 448H128v192a64 64 0 0 0 64 64h192v192h256V704h192a64 64 0 0 0 64-64V448zm-770.752-64c0-47.552 5.248-90.24 15.552-128 14.72-54.016 42.496-107.392 83.2-160h417.28l-15.36 70.336L736 96h211.2c-24.832 42.88-41.92 96.256-51.2 160a663.872 663.872 0 0 0-6.144 128H960v256a128 128 0 0 1-128 128H704v160a32 32 0 0 1-32 32H352a32 32 0 0 1-32-32V768H192A128 128 0 0 1 64 640V384h61.248zm64 0h636.544c-2.048-45.824.256-91.584 6.848-137.216 4.48-30.848 10.688-59.776 18.688-86.784h-96.64l-221.12 141.248L561.92 160H256.512c-25.856 37.888-43.776 75.456-53.952 112.832-8.768 32.064-13.248 69.12-13.312 111.168z"},null,-1),Hb=[Ib];function Rb(e,t,n,o,l,u){return b(),F("svg",Vb,Hb)}var Nb=V(Mb,[["render",Rb],["__file","brush.vue"]]),Ob={name:"Burger"},Ub={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Wb=f("path",{fill:"currentColor",d:"M160 512a32 32 0 0 0-32 32v64a32 32 0 0 0 30.08 32H864a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H160zm736-58.56A96 96 0 0 1 960 544v64a96 96 0 0 1-51.968 85.312L855.36 833.6a96 96 0 0 1-89.856 62.272H258.496A96 96 0 0 1 168.64 833.6l-52.608-140.224A96 96 0 0 1 64 608v-64a96 96 0 0 1 64-90.56V448a384 384 0 1 1 768 5.44zM832 448a320 320 0 0 0-640 0h640zM512 704H188.352l40.192 107.136a32 32 0 0 0 29.952 20.736h507.008a32 32 0 0 0 29.952-20.736L835.648 704H512z"},null,-1),qb=[Wb];function jb(e,t,n,o,l,u){return b(),F("svg",Ub,qb)}var Kb=V(Ob,[["render",jb],["__file","burger.vue"]]),Gb={name:"Calendar"},Yb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xb=f("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64H128zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0v32zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64z"},null,-1),Jb=[Xb];function Qb(e,t,n,o,l,u){return b(),F("svg",Yb,Jb)}var Zb=V(Gb,[["render",Qb],["__file","calendar.vue"]]),ey={name:"CameraFilled"},ty={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ny=f("path",{fill:"currentColor",d:"M160 224a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64H748.416l-46.464-92.672A64 64 0 0 0 644.736 96H379.328a64 64 0 0 0-57.216 35.392L275.776 224H160zm352 435.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4zm0 140.8a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),oy=[ny];function ly(e,t,n,o,l,u){return b(),F("svg",ty,oy)}var uy=V(ey,[["render",ly],["__file","camera-filled.vue"]]),ay={name:"Camera"},ry={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sy=f("path",{fill:"currentColor",d:"M896 256H128v576h768V256zm-199.424-64-32.064-64h-304.96l-32 64h369.024zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32zm416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320zm0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448z"},null,-1),iy=[sy];function cy(e,t,n,o,l,u){return b(),F("svg",ry,iy)}var dy=V(ay,[["render",cy],["__file","camera.vue"]]),fy={name:"CaretBottom"},py={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vy=f("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"},null,-1),hy=[vy];function _y(e,t,n,o,l,u){return b(),F("svg",py,hy)}var my=V(fy,[["render",_y],["__file","caret-bottom.vue"]]),gy={name:"CaretLeft"},by={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yy=f("path",{fill:"currentColor",d:"M672 192 288 511.936 672 832z"},null,-1),wy=[yy];function Cy(e,t,n,o,l,u){return b(),F("svg",by,wy)}var Ey=V(gy,[["render",Cy],["__file","caret-left.vue"]]),Fy={name:"CaretRight"},Ay={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Dy=f("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"},null,-1),By=[Dy];function xy(e,t,n,o,l,u){return b(),F("svg",Ay,By)}var $y=V(Fy,[["render",xy],["__file","caret-right.vue"]]),Sy={name:"CaretTop"},ky={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Py=f("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"},null,-1),Ly=[Py];function Ty(e,t,n,o,l,u){return b(),F("svg",ky,Ly)}var zy=V(Sy,[["render",Ty],["__file","caret-top.vue"]]),My={name:"Cellphone"},Vy={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Iy=f("path",{fill:"currentColor",d:"M256 128a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64H256zm0-64h512a128 128 0 0 1 128 128v640a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V192A128 128 0 0 1 256 64zm128 128h256a32 32 0 1 1 0 64H384a32 32 0 0 1 0-64zm128 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128z"},null,-1),Hy=[Iy];function Ry(e,t,n,o,l,u){return b(),F("svg",Vy,Hy)}var Ny=V(My,[["render",Ry],["__file","cellphone.vue"]]),Oy={name:"ChatDotRound"},Uy={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Wy=f("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"},null,-1),qy=f("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1),jy=[Wy,qy];function Ky(e,t,n,o,l,u){return b(),F("svg",Uy,jy)}var Gy=V(Oy,[["render",Ky],["__file","chat-dot-round.vue"]]),Yy={name:"ChatDotSquare"},Xy={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Jy=f("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),Qy=f("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1),Zy=[Jy,Qy];function ew(e,t,n,o,l,u){return b(),F("svg",Xy,Zy)}var tw=V(Yy,[["render",ew],["__file","chat-dot-square.vue"]]),nw={name:"ChatLineRound"},ow={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lw=f("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"},null,-1),uw=f("path",{fill:"currentColor",d:"M352 576h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm32-192h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32z"},null,-1),aw=[lw,uw];function rw(e,t,n,o,l,u){return b(),F("svg",ow,aw)}var sw=V(nw,[["render",rw],["__file","chat-line-round.vue"]]),iw={name:"ChatLineSquare"},cw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dw=f("path",{fill:"currentColor",d:"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),fw=f("path",{fill:"currentColor",d:"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32z"},null,-1),pw=[dw,fw];function vw(e,t,n,o,l,u){return b(),F("svg",cw,pw)}var hw=V(iw,[["render",vw],["__file","chat-line-square.vue"]]),_w={name:"ChatRound"},mw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gw=f("path",{fill:"currentColor",d:"m174.72 855.68 130.048-43.392 23.424 11.392C382.4 849.984 444.352 864 512 864c223.744 0 384-159.872 384-352 0-192.832-159.104-352-384-352S128 319.168 128 512a341.12 341.12 0 0 0 69.248 204.288l21.632 28.8-44.16 110.528zm-45.248 82.56A32 32 0 0 1 89.6 896l56.512-141.248A405.12 405.12 0 0 1 64 512C64 299.904 235.648 96 512 96s448 203.904 448 416-173.44 416-448 416c-79.68 0-150.848-17.152-211.712-46.72l-170.88 56.96z"},null,-1),bw=[gw];function yw(e,t,n,o,l,u){return b(),F("svg",mw,bw)}var ww=V(_w,[["render",yw],["__file","chat-round.vue"]]),Cw={name:"ChatSquare"},Ew={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Fw=f("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),Aw=[Fw];function Dw(e,t,n,o,l,u){return b(),F("svg",Ew,Aw)}var Bw=V(Cw,[["render",Dw],["__file","chat-square.vue"]]),xw={name:"Check"},$w={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Sw=f("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"},null,-1),kw=[Sw];function Pw(e,t,n,o,l,u){return b(),F("svg",$w,kw)}var vc=V(xw,[["render",Pw],["__file","check.vue"]]),Lw={name:"Checked"},Tw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zw=f("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160.064v64H704v-64zM311.616 537.28l-45.312 45.248L447.36 763.52l316.8-316.8-45.312-45.184L447.36 673.024 311.616 537.28zM384 192V96h256v96H384z"},null,-1),Mw=[zw];function Vw(e,t,n,o,l,u){return b(),F("svg",Tw,Mw)}var Iw=V(Lw,[["render",Vw],["__file","checked.vue"]]),Hw={name:"Cherry"},Rw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nw=f("path",{fill:"currentColor",d:"M261.056 449.6c13.824-69.696 34.88-128.96 63.36-177.728 23.744-40.832 61.12-88.64 112.256-143.872H320a32 32 0 0 1 0-64h384a32 32 0 1 1 0 64H554.752c14.912 39.168 41.344 86.592 79.552 141.76 47.36 68.48 84.8 106.752 106.304 114.304a224 224 0 1 1-84.992 14.784c-22.656-22.912-47.04-53.76-73.92-92.608-38.848-56.128-67.008-105.792-84.352-149.312-55.296 58.24-94.528 107.52-117.76 147.2-23.168 39.744-41.088 88.768-53.568 147.072a224.064 224.064 0 1 1-64.96-1.6zM288 832a160 160 0 1 0 0-320 160 160 0 0 0 0 320zm448-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320z"},null,-1),Ow=[Nw];function Uw(e,t,n,o,l,u){return b(),F("svg",Rw,Ow)}var Ww=V(Hw,[["render",Uw],["__file","cherry.vue"]]),qw={name:"Chicken"},jw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Kw=f("path",{fill:"currentColor",d:"M349.952 716.992 478.72 588.16a106.688 106.688 0 0 1-26.176-19.072 106.688 106.688 0 0 1-19.072-26.176L304.704 671.744c.768 3.072 1.472 6.144 2.048 9.216l2.048 31.936 31.872 1.984c3.136.64 6.208 1.28 9.28 2.112zm57.344 33.152a128 128 0 1 1-216.32 114.432l-1.92-32-32-1.92a128 128 0 1 1 114.432-216.32L416.64 469.248c-2.432-101.44 58.112-239.104 149.056-330.048 107.328-107.328 231.296-85.504 316.8 0 85.44 85.44 107.328 209.408 0 316.8-91.008 90.88-228.672 151.424-330.112 149.056L407.296 750.08zm90.496-226.304c49.536 49.536 233.344-7.04 339.392-113.088 78.208-78.208 63.232-163.072 0-226.304-63.168-63.232-148.032-78.208-226.24 0C504.896 290.496 448.32 474.368 497.792 523.84zM244.864 708.928a64 64 0 1 0-59.84 59.84l56.32-3.52 3.52-56.32zm8.064 127.68a64 64 0 1 0 59.84-59.84l-56.32 3.52-3.52 56.32z"},null,-1),Gw=[Kw];function Yw(e,t,n,o,l,u){return b(),F("svg",jw,Gw)}var Xw=V(qw,[["render",Yw],["__file","chicken.vue"]]),Jw={name:"ChromeFilled"},Qw={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},Zw=f("path",{d:"M938.67 512.01c0-44.59-6.82-87.6-19.54-128H682.67a212.372 212.372 0 0 1 42.67 128c.06 38.71-10.45 76.7-30.42 109.87l-182.91 316.8c235.65-.01 426.66-191.02 426.66-426.67z",fill:"currentColor"},null,-1),eC=f("path",{d:"M576.79 401.63a127.92 127.92 0 0 0-63.56-17.6c-22.36-.22-44.39 5.43-63.89 16.38s-35.79 26.82-47.25 46.02a128.005 128.005 0 0 0-2.16 127.44l1.24 2.13a127.906 127.906 0 0 0 46.36 46.61 127.907 127.907 0 0 0 63.38 17.44c22.29.2 44.24-5.43 63.68-16.33a127.94 127.94 0 0 0 47.16-45.79v-.01l1.11-1.92a127.984 127.984 0 0 0 .29-127.46 127.957 127.957 0 0 0-46.36-46.91z",fill:"currentColor"},null,-1),tC=f("path",{d:"M394.45 333.96A213.336 213.336 0 0 1 512 298.67h369.58A426.503 426.503 0 0 0 512 85.34a425.598 425.598 0 0 0-171.74 35.98 425.644 425.644 0 0 0-142.62 102.22l118.14 204.63a213.397 213.397 0 0 1 78.67-94.21zm117.56 604.72H512zm-97.25-236.73a213.284 213.284 0 0 1-89.54-86.81L142.48 298.6c-36.35 62.81-57.13 135.68-57.13 213.42 0 203.81 142.93 374.22 333.95 416.55h.04l118.19-204.71a213.315 213.315 0 0 1-122.77-21.91z",fill:"currentColor"},null,-1),nC=[Zw,eC,tC];function oC(e,t,n,o,l,u){return b(),F("svg",Qw,nC)}var lC=V(Jw,[["render",oC],["__file","chrome-filled.vue"]]),uC={name:"CircleCheckFilled"},aC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rC=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null,-1),sC=[rC];function iC(e,t,n,o,l,u){return b(),F("svg",aC,sC)}var cC=V(uC,[["render",iC],["__file","circle-check-filled.vue"]]),dC={name:"CircleCheck"},fC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pC=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),vC=f("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"},null,-1),hC=[pC,vC];function _C(e,t,n,o,l,u){return b(),F("svg",fC,hC)}var Yr=V(dC,[["render",_C],["__file","circle-check.vue"]]),mC={name:"CircleCloseFilled"},gC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bC=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"},null,-1),yC=[bC];function wC(e,t,n,o,l,u){return b(),F("svg",gC,yC)}var hc=V(mC,[["render",wC],["__file","circle-close-filled.vue"]]),CC={name:"CircleClose"},EC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},FC=f("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"},null,-1),AC=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),DC=[FC,AC];function BC(e,t,n,o,l,u){return b(),F("svg",EC,DC)}var va=V(CC,[["render",BC],["__file","circle-close.vue"]]),xC={name:"CirclePlusFilled"},$C={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SC=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"},null,-1),kC=[SC];function PC(e,t,n,o,l,u){return b(),F("svg",$C,kC)}var LC=V(xC,[["render",PC],["__file","circle-plus-filled.vue"]]),TC={name:"CirclePlus"},zC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MC=f("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),VC=f("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"},null,-1),IC=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),HC=[MC,VC,IC];function RC(e,t,n,o,l,u){return b(),F("svg",zC,HC)}var NC=V(TC,[["render",RC],["__file","circle-plus.vue"]]),OC={name:"Clock"},UC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WC=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),qC=f("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32z"},null,-1),jC=f("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32z"},null,-1),KC=[WC,qC,jC];function GC(e,t,n,o,l,u){return b(),F("svg",UC,KC)}var YC=V(OC,[["render",GC],["__file","clock.vue"]]),XC={name:"CloseBold"},JC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},QC=f("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"},null,-1),ZC=[QC];function eE(e,t,n,o,l,u){return b(),F("svg",JC,ZC)}var tE=V(XC,[["render",eE],["__file","close-bold.vue"]]),nE={name:"Close"},oE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lE=f("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1),uE=[lE];function aE(e,t,n,o,l,u){return b(),F("svg",oE,uE)}var $l=V(nE,[["render",aE],["__file","close.vue"]]),rE={name:"Cloudy"},sE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iE=f("path",{fill:"currentColor",d:"M598.4 831.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 831.872zm-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 381.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"},null,-1),cE=[iE];function dE(e,t,n,o,l,u){return b(),F("svg",sE,cE)}var fE=V(rE,[["render",dE],["__file","cloudy.vue"]]),pE={name:"CoffeeCup"},vE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hE=f("path",{fill:"currentColor",d:"M768 192a192 192 0 1 1-8 383.808A256.128 256.128 0 0 1 512 768H320A256 256 0 0 1 64 512V160a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v32zm0 64v256a128 128 0 1 0 0-256zM96 832h640a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64zm32-640v320a192 192 0 0 0 192 192h192a192 192 0 0 0 192-192V192H128z"},null,-1),_E=[hE];function mE(e,t,n,o,l,u){return b(),F("svg",vE,_E)}var gE=V(pE,[["render",mE],["__file","coffee-cup.vue"]]),bE={name:"Coffee"},yE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wE=f("path",{fill:"currentColor",d:"M822.592 192h14.272a32 32 0 0 1 31.616 26.752l21.312 128A32 32 0 0 1 858.24 384h-49.344l-39.04 546.304A32 32 0 0 1 737.92 960H285.824a32 32 0 0 1-32-29.696L214.912 384H165.76a32 32 0 0 1-31.552-37.248l21.312-128A32 32 0 0 1 187.136 192h14.016l-6.72-93.696A32 32 0 0 1 226.368 64h571.008a32 32 0 0 1 31.936 34.304L822.592 192zm-64.128 0 4.544-64H260.736l4.544 64h493.184zm-548.16 128H820.48l-10.688-64H214.208l-10.688 64h6.784zm68.736 64 36.544 512H708.16l36.544-512H279.04z"},null,-1),CE=[wE];function EE(e,t,n,o,l,u){return b(),F("svg",yE,CE)}var FE=V(bE,[["render",EE],["__file","coffee.vue"]]),AE={name:"Coin"},DE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BE=f("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),xE=f("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),$E=f("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z"},null,-1),SE=[BE,xE,$E];function kE(e,t,n,o,l,u){return b(),F("svg",DE,SE)}var PE=V(AE,[["render",kE],["__file","coin.vue"]]),LE={name:"ColdDrink"},TE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zE=f("path",{fill:"currentColor",d:"M768 64a192 192 0 1 1-69.952 370.88L480 725.376V896h96a32 32 0 1 1 0 64H320a32 32 0 1 1 0-64h96V725.376L76.8 273.536a64 64 0 0 1-12.8-38.4v-10.688a32 32 0 0 1 32-32h71.808l-65.536-83.84a32 32 0 0 1 50.432-39.424l96.256 123.264h337.728A192.064 192.064 0 0 1 768 64zM656.896 192.448H800a32 32 0 0 1 32 32v10.624a64 64 0 0 1-12.8 38.4l-80.448 107.2a128 128 0 1 0-81.92-188.16v-.064zm-357.888 64 129.472 165.76a32 32 0 0 1-50.432 39.36l-160.256-205.12H144l304 404.928 304-404.928H299.008z"},null,-1),ME=[zE];function VE(e,t,n,o,l,u){return b(),F("svg",TE,ME)}var IE=V(LE,[["render",VE],["__file","cold-drink.vue"]]),HE={name:"CollectionTag"},RE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},NE=f("path",{fill:"currentColor",d:"M256 128v698.88l196.032-156.864a96 96 0 0 1 119.936 0L768 826.816V128H256zm-32-64h576a32 32 0 0 1 32 32v797.44a32 32 0 0 1-51.968 24.96L531.968 720a32 32 0 0 0-39.936 0L243.968 918.4A32 32 0 0 1 192 893.44V96a32 32 0 0 1 32-32z"},null,-1),OE=[NE];function UE(e,t,n,o,l,u){return b(),F("svg",RE,OE)}var WE=V(HE,[["render",UE],["__file","collection-tag.vue"]]),qE={name:"Collection"},jE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},KE=f("path",{fill:"currentColor",d:"M192 736h640V128H256a64 64 0 0 0-64 64v544zm64-672h608a32 32 0 0 1 32 32v672a32 32 0 0 1-32 32H160l-32 57.536V192A128 128 0 0 1 256 64z"},null,-1),GE=f("path",{fill:"currentColor",d:"M240 800a48 48 0 1 0 0 96h592v-96H240zm0-64h656v160a64 64 0 0 1-64 64H240a112 112 0 0 1 0-224zm144-608v250.88l96-76.8 96 76.8V128H384zm-64-64h320v381.44a32 32 0 0 1-51.968 24.96L480 384l-108.032 86.4A32 32 0 0 1 320 445.44V64z"},null,-1),YE=[KE,GE];function XE(e,t,n,o,l,u){return b(),F("svg",jE,YE)}var JE=V(qE,[["render",XE],["__file","collection.vue"]]),QE={name:"Comment"},ZE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},eF=f("path",{fill:"currentColor",d:"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112zm-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112zm-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112zM128 128v640h192v160l224-160h352V128H128z"},null,-1),tF=[eF];function nF(e,t,n,o,l,u){return b(),F("svg",ZE,tF)}var oF=V(QE,[["render",nF],["__file","comment.vue"]]),lF={name:"Compass"},uF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aF=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),rF=f("path",{fill:"currentColor",d:"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832z"},null,-1),sF=[aF,rF];function iF(e,t,n,o,l,u){return b(),F("svg",uF,sF)}var cF=V(lF,[["render",iF],["__file","compass.vue"]]),dF={name:"Connection"},fF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pF=f("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192h192z"},null,-1),vF=f("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192H384z"},null,-1),hF=[pF,vF];function _F(e,t,n,o,l,u){return b(),F("svg",fF,hF)}var mF=V(dF,[["render",_F],["__file","connection.vue"]]),gF={name:"Coordinate"},bF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yF=f("path",{fill:"currentColor",d:"M480 512h64v320h-64z"},null,-1),wF=f("path",{fill:"currentColor",d:"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64zm64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128zm256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),CF=[yF,wF];function EF(e,t,n,o,l,u){return b(),F("svg",bF,CF)}var FF=V(gF,[["render",EF],["__file","coordinate.vue"]]),AF={name:"CopyDocument"},DF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BF=f("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64h64z"},null,-1),xF=f("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64H384zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64z"},null,-1),$F=[BF,xF];function SF(e,t,n,o,l,u){return b(),F("svg",DF,$F)}var kF=V(AF,[["render",SF],["__file","copy-document.vue"]]),PF={name:"Cpu"},LF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},TF=f("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H320zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128z"},null,-1),zF=f("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zm160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zm-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zM64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32zm0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32zm0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32z"},null,-1),MF=[TF,zF];function VF(e,t,n,o,l,u){return b(),F("svg",LF,MF)}var IF=V(PF,[["render",VF],["__file","cpu.vue"]]),HF={name:"CreditCard"},RF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},NF=f("path",{fill:"currentColor",d:"M896 324.096c0-42.368-2.496-55.296-9.536-68.48a52.352 52.352 0 0 0-22.144-22.08c-13.12-7.04-26.048-9.536-68.416-9.536H228.096c-42.368 0-55.296 2.496-68.48 9.536a52.352 52.352 0 0 0-22.08 22.144c-7.04 13.12-9.536 26.048-9.536 68.416v375.808c0 42.368 2.496 55.296 9.536 68.48a52.352 52.352 0 0 0 22.144 22.08c13.12 7.04 26.048 9.536 68.416 9.536h567.808c42.368 0 55.296-2.496 68.48-9.536a52.352 52.352 0 0 0 22.08-22.144c7.04-13.12 9.536-26.048 9.536-68.416V324.096zm64 0v375.808c0 57.088-5.952 77.76-17.088 98.56-11.136 20.928-27.52 37.312-48.384 48.448-20.864 11.136-41.6 17.088-98.56 17.088H228.032c-57.088 0-77.76-5.952-98.56-17.088a116.288 116.288 0 0 1-48.448-48.384c-11.136-20.864-17.088-41.6-17.088-98.56V324.032c0-57.088 5.952-77.76 17.088-98.56 11.136-20.928 27.52-37.312 48.384-48.448 20.864-11.136 41.6-17.088 98.56-17.088H795.84c57.088 0 77.76 5.952 98.56 17.088 20.928 11.136 37.312 27.52 48.448 48.384 11.136 20.864 17.088 41.6 17.088 98.56z"},null,-1),OF=f("path",{fill:"currentColor",d:"M64 320h896v64H64v-64zm0 128h896v64H64v-64zm128 192h256v64H192z"},null,-1),UF=[NF,OF];function WF(e,t,n,o,l,u){return b(),F("svg",RF,UF)}var qF=V(HF,[["render",WF],["__file","credit-card.vue"]]),jF={name:"Crop"},KF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GF=f("path",{fill:"currentColor",d:"M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0v672z"},null,-1),YF=f("path",{fill:"currentColor",d:"M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32z"},null,-1),XF=[GF,YF];function JF(e,t,n,o,l,u){return b(),F("svg",KF,XF)}var QF=V(jF,[["render",JF],["__file","crop.vue"]]),ZF={name:"DArrowLeft"},eA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tA=f("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"},null,-1),nA=[tA];function oA(e,t,n,o,l,u){return b(),F("svg",eA,nA)}var Pf=V(ZF,[["render",oA],["__file","d-arrow-left.vue"]]),lA={name:"DArrowRight"},uA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aA=f("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688zm-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"},null,-1),rA=[aA];function sA(e,t,n,o,l,u){return b(),F("svg",uA,rA)}var Lf=V(lA,[["render",sA],["__file","d-arrow-right.vue"]]),iA={name:"DCaret"},cA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dA=f("path",{fill:"currentColor",d:"m512 128 288 320H224l288-320zM224 576h576L512 896 224 576z"},null,-1),fA=[dA];function pA(e,t,n,o,l,u){return b(),F("svg",cA,fA)}var vA=V(iA,[["render",pA],["__file","d-caret.vue"]]),hA={name:"DataAnalysis"},_A={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mA=f("path",{fill:"currentColor",d:"m665.216 768 110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216zM832 192H192v512h640V192zM352 448a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32zm160-64a32 32 0 0 1 32 32v128a32 32 0 0 1-64 0V416a32 32 0 0 1 32-32zm160-64a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V352a32 32 0 0 1 32-32z"},null,-1),gA=[mA];function bA(e,t,n,o,l,u){return b(),F("svg",_A,gA)}var yA=V(hA,[["render",bA],["__file","data-analysis.vue"]]),wA={name:"DataBoard"},CA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EA=f("path",{fill:"currentColor",d:"M32 128h960v64H32z"},null,-1),FA=f("path",{fill:"currentColor",d:"M192 192v512h640V192H192zm-64-64h768v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V128z"},null,-1),AA=f("path",{fill:"currentColor",d:"M322.176 960H248.32l144.64-250.56 55.424 32L322.176 960zm453.888 0h-73.856L576 741.44l55.424-32L776.064 960z"},null,-1),DA=[EA,FA,AA];function BA(e,t,n,o,l,u){return b(),F("svg",CA,DA)}var xA=V(wA,[["render",BA],["__file","data-board.vue"]]),$A={name:"DataLine"},SA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kA=f("path",{fill:"currentColor",d:"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192zM832 192H192v512h640V192zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z"},null,-1),PA=[kA];function LA(e,t,n,o,l,u){return b(),F("svg",SA,PA)}var TA=V($A,[["render",LA],["__file","data-line.vue"]]),zA={name:"DeleteFilled"},MA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},VA=f("path",{fill:"currentColor",d:"M352 192V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64H96a32 32 0 0 1 0-64h256zm64 0h192v-64H416v64zM192 960a32 32 0 0 1-32-32V256h704v672a32 32 0 0 1-32 32H192zm224-192a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32zm192 0a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32z"},null,-1),IA=[VA];function HA(e,t,n,o,l,u){return b(),F("svg",MA,IA)}var RA=V(zA,[["render",HA],["__file","delete-filled.vue"]]),NA={name:"DeleteLocation"},OA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},UA=f("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),WA=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),qA=f("path",{fill:"currentColor",d:"M384 384h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32z"},null,-1),jA=[UA,WA,qA];function KA(e,t,n,o,l,u){return b(),F("svg",OA,jA)}var GA=V(NA,[["render",KA],["__file","delete-location.vue"]]),YA={name:"Delete"},XA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JA=f("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V256zm448-64v-64H416v64h192zM224 896h576V256H224v640zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32zm192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32z"},null,-1),QA=[JA];function ZA(e,t,n,o,l,u){return b(),F("svg",XA,QA)}var Tf=V(YA,[["render",ZA],["__file","delete.vue"]]),eD={name:"Dessert"},tD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nD=f("path",{fill:"currentColor",d:"M128 416v-48a144 144 0 0 1 168.64-141.888 224.128 224.128 0 0 1 430.72 0A144 144 0 0 1 896 368v48a384 384 0 0 1-352 382.72V896h-64v-97.28A384 384 0 0 1 128 416zm287.104-32.064h193.792a143.808 143.808 0 0 1 58.88-132.736 160.064 160.064 0 0 0-311.552 0 143.808 143.808 0 0 1 58.88 132.8zm-72.896 0a72 72 0 1 0-140.48 0h140.48zm339.584 0h140.416a72 72 0 1 0-140.48 0zM512 736a320 320 0 0 0 318.4-288.064H193.6A320 320 0 0 0 512 736zM384 896.064h256a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64z"},null,-1),oD=[nD];function lD(e,t,n,o,l,u){return b(),F("svg",tD,oD)}var uD=V(eD,[["render",lD],["__file","dessert.vue"]]),aD={name:"Discount"},rD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sD=f("path",{fill:"currentColor",d:"M224 704h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336V704zm0 64v128h576V768H224zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"},null,-1),iD=f("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),cD=[sD,iD];function dD(e,t,n,o,l,u){return b(),F("svg",rD,cD)}var fD=V(aD,[["render",dD],["__file","discount.vue"]]),pD={name:"DishDot"},vD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hD=f("path",{fill:"currentColor",d:"m384.064 274.56.064-50.688A128 128 0 0 1 512.128 96c70.528 0 127.68 57.152 127.68 127.68v50.752A448.192 448.192 0 0 1 955.392 768H68.544A448.192 448.192 0 0 1 384 274.56zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64zm32-128h768a384 384 0 1 0-768 0zm447.808-448v-32.32a63.68 63.68 0 0 0-63.68-63.68 64 64 0 0 0-64 63.936V256h127.68z"},null,-1),_D=[hD];function mD(e,t,n,o,l,u){return b(),F("svg",vD,_D)}var gD=V(pD,[["render",mD],["__file","dish-dot.vue"]]),bD={name:"Dish"},yD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wD=f("path",{fill:"currentColor",d:"M480 257.152V192h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96v65.152A448 448 0 0 1 955.52 768H68.48A448 448 0 0 1 480 257.152zM128 704h768a384 384 0 1 0-768 0zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64z"},null,-1),CD=[wD];function ED(e,t,n,o,l,u){return b(),F("svg",yD,CD)}var FD=V(bD,[["render",ED],["__file","dish.vue"]]),AD={name:"DocumentAdd"},DD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BD=f("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm320 512V448h64v128h128v64H544v128h-64V640H352v-64h128z"},null,-1),xD=[BD];function $D(e,t,n,o,l,u){return b(),F("svg",DD,xD)}var SD=V(AD,[["render",$D],["__file","document-add.vue"]]),kD={name:"DocumentChecked"},PD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},LD=f("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm318.4 582.144 180.992-180.992L704.64 510.4 478.4 736.64 320 578.304l45.248-45.312L478.4 646.144z"},null,-1),TD=[LD];function zD(e,t,n,o,l,u){return b(),F("svg",PD,TD)}var MD=V(kD,[["render",zD],["__file","document-checked.vue"]]),VD={name:"DocumentCopy"},ID={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HD=f("path",{fill:"currentColor",d:"M128 320v576h576V320H128zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32zM960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32zM256 672h320v64H256v-64zm0-192h320v64H256v-64z"},null,-1),RD=[HD];function ND(e,t,n,o,l,u){return b(),F("svg",ID,RD)}var OD=V(VD,[["render",ND],["__file","document-copy.vue"]]),UD={name:"DocumentDelete"},WD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qD=f("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm308.992 546.304-90.496-90.624 45.248-45.248 90.56 90.496 90.496-90.432 45.248 45.248-90.496 90.56 90.496 90.496-45.248 45.248-90.496-90.496-90.56 90.496-45.248-45.248 90.496-90.496z"},null,-1),jD=[qD];function KD(e,t,n,o,l,u){return b(),F("svg",WD,jD)}var GD=V(UD,[["render",KD],["__file","document-delete.vue"]]),YD={name:"DocumentRemove"},XD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JD=f("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm192 512h320v64H352v-64z"},null,-1),QD=[JD];function ZD(e,t,n,o,l,u){return b(),F("svg",XD,QD)}var eB=V(YD,[["render",ZD],["__file","document-remove.vue"]]),tB={name:"Document"},nB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oB=f("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z"},null,-1),lB=[oB];function uB(e,t,n,o,l,u){return b(),F("svg",nB,lB)}var zf=V(tB,[["render",uB],["__file","document.vue"]]),aB={name:"Download"},rB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sB=f("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64v450.304z"},null,-1),iB=[sB];function cB(e,t,n,o,l,u){return b(),F("svg",rB,iB)}var dB=V(aB,[["render",cB],["__file","download.vue"]]),fB={name:"Drizzling"},pB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vB=f("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480zM288 800h64v64h-64v-64zm192 0h64v64h-64v-64zm-96 96h64v64h-64v-64zm192 0h64v64h-64v-64zm96-96h64v64h-64v-64z"},null,-1),hB=[vB];function _B(e,t,n,o,l,u){return b(),F("svg",pB,hB)}var mB=V(fB,[["render",_B],["__file","drizzling.vue"]]),gB={name:"EditPen"},bB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yB=f("path",{d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696L175.168 732.8zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336L104.32 708.8zm384 254.272v-64h448v64h-448z",fill:"currentColor"},null,-1),wB=[yB];function CB(e,t,n,o,l,u){return b(),F("svg",bB,wB)}var EB=V(gB,[["render",CB],["__file","edit-pen.vue"]]),FB={name:"Edit"},AB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},DB=f("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z"},null,-1),BB=f("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"},null,-1),xB=[DB,BB];function $B(e,t,n,o,l,u){return b(),F("svg",AB,xB)}var SB=V(FB,[["render",$B],["__file","edit.vue"]]),kB={name:"ElemeFilled"},PB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},LB=f("path",{fill:"currentColor",d:"M176 64h672c61.824 0 112 50.176 112 112v672a112 112 0 0 1-112 112H176A112 112 0 0 1 64 848V176c0-61.824 50.176-112 112-112zm150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z"},null,-1),TB=[LB];function zB(e,t,n,o,l,u){return b(),F("svg",PB,TB)}var MB=V(kB,[["render",zB],["__file","eleme-filled.vue"]]),VB={name:"Eleme"},IB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HB=f("path",{fill:"currentColor",d:"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z"},null,-1),RB=[HB];function NB(e,t,n,o,l,u){return b(),F("svg",IB,RB)}var OB=V(VB,[["render",NB],["__file","eleme.vue"]]),UB={name:"ElementPlus"},WB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qB=f("path",{d:"M839.7 734.7c0 33.3-17.9 41-17.9 41S519.7 949.8 499.2 960c-10.2 5.1-20.5 5.1-30.7 0 0 0-314.9-184.3-325.1-192-5.1-5.1-10.2-12.8-12.8-20.5V368.6c0-17.9 20.5-28.2 20.5-28.2L466 158.6c12.8-5.1 25.6-5.1 38.4 0 0 0 279 161.3 309.8 179.2 17.9 7.7 28.2 25.6 25.6 46.1-.1-5-.1 317.5-.1 350.8zM714.2 371.2c-64-35.8-217.6-125.4-217.6-125.4-7.7-5.1-20.5-5.1-30.7 0L217.6 389.1s-17.9 10.2-17.9 23v297c0 5.1 5.1 12.8 7.7 17.9 7.7 5.1 256 148.5 256 148.5 7.7 5.1 17.9 5.1 25.6 0 15.4-7.7 250.9-145.9 250.9-145.9s12.8-5.1 12.8-30.7v-74.2l-276.5 169v-64c0-17.9 7.7-30.7 20.5-46.1L745 535c5.1-7.7 10.2-20.5 10.2-30.7v-66.6l-279 169v-69.1c0-15.4 5.1-30.7 17.9-38.4l220.1-128zM919 135.7c0-5.1-5.1-7.7-7.7-7.7h-58.9V66.6c0-5.1-5.1-5.1-10.2-5.1l-30.7 5.1c-5.1 0-5.1 2.6-5.1 5.1V128h-56.3c-5.1 0-5.1 5.1-7.7 5.1v38.4h69.1v64c0 5.1 5.1 5.1 10.2 5.1l30.7-5.1c5.1 0 5.1-2.6 5.1-5.1v-56.3h64l-2.5-38.4z",fill:"currentColor"},null,-1),jB=[qB];function KB(e,t,n,o,l,u){return b(),F("svg",WB,jB)}var GB=V(UB,[["render",KB],["__file","element-plus.vue"]]),YB={name:"Expand"},XB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JB=f("path",{fill:"currentColor",d:"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z"},null,-1),QB=[JB];function ZB(e,t,n,o,l,u){return b(),F("svg",XB,QB)}var ex=V(YB,[["render",ZB],["__file","expand.vue"]]),tx={name:"Failed"},nx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ox=f("path",{fill:"currentColor",d:"m557.248 608 135.744-135.744-45.248-45.248-135.68 135.744-135.808-135.68-45.248 45.184L466.752 608l-135.68 135.68 45.184 45.312L512 653.248l135.744 135.744 45.248-45.248L557.312 608zM704 192h160v736H160V192h160v64h384v-64zm-320 0V96h256v96H384z"},null,-1),lx=[ox];function ux(e,t,n,o,l,u){return b(),F("svg",nx,lx)}var ax=V(tx,[["render",ux],["__file","failed.vue"]]),rx={name:"Female"},sx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ix=f("path",{fill:"currentColor",d:"M512 640a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),cx=f("path",{fill:"currentColor",d:"M512 640q32 0 32 32v256q0 32-32 32t-32-32V672q0-32 32-32z"},null,-1),dx=f("path",{fill:"currentColor",d:"M352 800h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32z"},null,-1),fx=[ix,cx,dx];function px(e,t,n,o,l,u){return b(),F("svg",sx,fx)}var vx=V(rx,[["render",px],["__file","female.vue"]]),hx={name:"Files"},_x={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mx=f("path",{fill:"currentColor",d:"M128 384v448h768V384H128zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32zm64-128h704v64H160zm96-128h512v64H256z"},null,-1),gx=[mx];function bx(e,t,n,o,l,u){return b(),F("svg",_x,gx)}var yx=V(hx,[["render",bx],["__file","files.vue"]]),wx={name:"Film"},Cx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ex=f("path",{fill:"currentColor",d:"M160 160v704h704V160H160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32z"},null,-1),Fx=f("path",{fill:"currentColor",d:"M320 288V128h64v352h256V128h64v160h160v64H704v128h160v64H704v128h160v64H704v160h-64V544H384v352h-64V736H128v-64h192V544H128v-64h192V352H128v-64h192z"},null,-1),Ax=[Ex,Fx];function Dx(e,t,n,o,l,u){return b(),F("svg",Cx,Ax)}var Bx=V(wx,[["render",Dx],["__file","film.vue"]]),xx={name:"Filter"},$x={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Sx=f("path",{fill:"currentColor",d:"M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288L384 523.392z"},null,-1),kx=[Sx];function Px(e,t,n,o,l,u){return b(),F("svg",$x,kx)}var Lx=V(xx,[["render",Px],["__file","filter.vue"]]),Tx={name:"Finished"},zx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Mx=f("path",{fill:"currentColor",d:"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2l203.968 152.96zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64H736zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64H608zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64H480z"},null,-1),Vx=[Mx];function Ix(e,t,n,o,l,u){return b(),F("svg",zx,Vx)}var Hx=V(Tx,[["render",Ix],["__file","finished.vue"]]),Rx={name:"FirstAidKit"},Nx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ox=f("path",{fill:"currentColor",d:"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H192zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128z"},null,-1),Ux=f("path",{fill:"currentColor",d:"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0v96zM352 128v64h320v-64H352zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),Wx=[Ox,Ux];function qx(e,t,n,o,l,u){return b(),F("svg",Nx,Wx)}var jx=V(Rx,[["render",qx],["__file","first-aid-kit.vue"]]),Kx={name:"Flag"},Gx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Yx=f("path",{fill:"currentColor",d:"M288 128h608L736 384l160 256H288v320h-96V64h96v64z"},null,-1),Xx=[Yx];function Jx(e,t,n,o,l,u){return b(),F("svg",Gx,Xx)}var Qx=V(Kx,[["render",Jx],["__file","flag.vue"]]),Zx={name:"Fold"},e$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},t$=f("path",{fill:"currentColor",d:"M896 192H128v128h768V192zm0 256H384v128h512V448zm0 256H128v128h768V704zM320 384 128 512l192 128V384z"},null,-1),n$=[t$];function o$(e,t,n,o,l,u){return b(),F("svg",e$,n$)}var l$=V(Zx,[["render",o$],["__file","fold.vue"]]),u$={name:"FolderAdd"},a$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},r$=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm384 416V416h64v128h128v64H544v128h-64V608H352v-64h128z"},null,-1),s$=[r$];function i$(e,t,n,o,l,u){return b(),F("svg",a$,s$)}var c$=V(u$,[["render",i$],["__file","folder-add.vue"]]),d$={name:"FolderChecked"},f$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},p$=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm414.08 502.144 180.992-180.992L736.32 494.4 510.08 720.64l-158.4-158.336 45.248-45.312L510.08 630.144z"},null,-1),v$=[p$];function h$(e,t,n,o,l,u){return b(),F("svg",f$,v$)}var _$=V(d$,[["render",h$],["__file","folder-checked.vue"]]),m$={name:"FolderDelete"},g$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},b$=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm370.752 448-90.496-90.496 45.248-45.248L512 530.752l90.496-90.496 45.248 45.248L557.248 576l90.496 90.496-45.248 45.248L512 621.248l-90.496 90.496-45.248-45.248L466.752 576z"},null,-1),y$=[b$];function w$(e,t,n,o,l,u){return b(),F("svg",g$,y$)}var C$=V(m$,[["render",w$],["__file","folder-delete.vue"]]),E$={name:"FolderOpened"},F$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},A$=f("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384H832zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896z"},null,-1),D$=[A$];function B$(e,t,n,o,l,u){return b(),F("svg",F$,D$)}var x$=V(E$,[["render",B$],["__file","folder-opened.vue"]]),$$={name:"FolderRemove"},S$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},k$=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm256 416h320v64H352v-64z"},null,-1),P$=[k$];function L$(e,t,n,o,l,u){return b(),F("svg",S$,P$)}var T$=V($$,[["render",L$],["__file","folder-remove.vue"]]),z$={name:"Folder"},M$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},V$=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32z"},null,-1),I$=[V$];function H$(e,t,n,o,l,u){return b(),F("svg",M$,I$)}var R$=V(z$,[["render",H$],["__file","folder.vue"]]),N$={name:"Food"},O$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},U$=f("path",{fill:"currentColor",d:"M128 352.576V352a288 288 0 0 1 491.072-204.224 192 192 0 0 1 274.24 204.48 64 64 0 0 1 57.216 74.24C921.6 600.512 850.048 710.656 736 756.992V800a96 96 0 0 1-96 96H384a96 96 0 0 1-96-96v-43.008c-114.048-46.336-185.6-156.48-214.528-330.496A64 64 0 0 1 128 352.64zm64-.576h64a160 160 0 0 1 320 0h64a224 224 0 0 0-448 0zm128 0h192a96 96 0 0 0-192 0zm439.424 0h68.544A128.256 128.256 0 0 0 704 192c-15.36 0-29.952 2.688-43.52 7.616 11.328 18.176 20.672 37.76 27.84 58.304A64.128 64.128 0 0 1 759.424 352zM672 768H352v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32v-32zm-342.528-64h365.056c101.504-32.64 165.76-124.928 192.896-288H136.576c27.136 163.072 91.392 255.36 192.896 288z"},null,-1),W$=[U$];function q$(e,t,n,o,l,u){return b(),F("svg",O$,W$)}var j$=V(N$,[["render",q$],["__file","food.vue"]]),K$={name:"Football"},G$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Y$=f("path",{fill:"currentColor",d:"M512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896zm0-64a384 384 0 1 0 0-768 384 384 0 0 0 0 768z"},null,-1),X$=f("path",{fill:"currentColor",d:"M186.816 268.288c16-16.384 31.616-31.744 46.976-46.08 17.472 30.656 39.808 58.112 65.984 81.28l-32.512 56.448a385.984 385.984 0 0 1-80.448-91.648zm653.696-5.312a385.92 385.92 0 0 1-83.776 96.96l-32.512-56.384a322.923 322.923 0 0 0 68.48-85.76c15.552 14.08 31.488 29.12 47.808 45.184zM465.984 445.248l11.136-63.104a323.584 323.584 0 0 0 69.76 0l11.136 63.104a387.968 387.968 0 0 1-92.032 0zm-62.72-12.8A381.824 381.824 0 0 1 320 396.544l32-55.424a319.885 319.885 0 0 0 62.464 27.712l-11.2 63.488zm300.8-35.84a381.824 381.824 0 0 1-83.328 35.84l-11.2-63.552A319.885 319.885 0 0 0 672 341.184l32 55.424zm-520.768 364.8a385.92 385.92 0 0 1 83.968-97.28l32.512 56.32c-26.88 23.936-49.856 52.352-67.52 84.032-16-13.44-32.32-27.712-48.96-43.072zm657.536.128a1442.759 1442.759 0 0 1-49.024 43.072 321.408 321.408 0 0 0-67.584-84.16l32.512-56.32c33.216 27.456 61.696 60.352 84.096 97.408zM465.92 578.752a387.968 387.968 0 0 1 92.032 0l-11.136 63.104a323.584 323.584 0 0 0-69.76 0l-11.136-63.104zm-62.72 12.8 11.2 63.552a319.885 319.885 0 0 0-62.464 27.712L320 627.392a381.824 381.824 0 0 1 83.264-35.84zm300.8 35.84-32 55.424a318.272 318.272 0 0 0-62.528-27.712l11.2-63.488c29.44 8.64 57.28 20.736 83.264 35.776z"},null,-1),J$=[Y$,X$];function Q$(e,t,n,o,l,u){return b(),F("svg",G$,J$)}var Z$=V(K$,[["render",Q$],["__file","football.vue"]]),eS={name:"ForkSpoon"},tS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nS=f("path",{fill:"currentColor",d:"M256 410.304V96a32 32 0 0 1 64 0v314.304a96 96 0 0 0 64-90.56V96a32 32 0 0 1 64 0v223.744a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.544a160 160 0 0 1-128-156.8V96a32 32 0 0 1 64 0v223.744a96 96 0 0 0 64 90.56zM672 572.48C581.184 552.128 512 446.848 512 320c0-141.44 85.952-256 192-256s192 114.56 192 256c0 126.848-69.184 232.128-160 252.48V928a32 32 0 1 1-64 0V572.48zM704 512c66.048 0 128-82.56 128-192s-61.952-192-128-192-128 82.56-128 192 61.952 192 128 192z"},null,-1),oS=[nS];function lS(e,t,n,o,l,u){return b(),F("svg",tS,oS)}var uS=V(eS,[["render",lS],["__file","fork-spoon.vue"]]),aS={name:"Fries"},rS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sS=f("path",{fill:"currentColor",d:"M608 224v-64a32 32 0 0 0-64 0v336h26.88A64 64 0 0 0 608 484.096V224zm101.12 160A64 64 0 0 0 672 395.904V384h64V224a32 32 0 1 0-64 0v160h37.12zm74.88 0a92.928 92.928 0 0 1 91.328 110.08l-60.672 323.584A96 96 0 0 1 720.32 896H303.68a96 96 0 0 1-94.336-78.336L148.672 494.08A92.928 92.928 0 0 1 240 384h-16V224a96 96 0 0 1 188.608-25.28A95.744 95.744 0 0 1 480 197.44V160a96 96 0 0 1 188.608-25.28A96 96 0 0 1 800 224v160h-16zM670.784 512a128 128 0 0 1-99.904 48H453.12a128 128 0 0 1-99.84-48H352v-1.536a128.128 128.128 0 0 1-9.984-14.976L314.88 448H240a28.928 28.928 0 0 0-28.48 34.304L241.088 640h541.824l29.568-157.696A28.928 28.928 0 0 0 784 448h-74.88l-27.136 47.488A132.405 132.405 0 0 1 672 510.464V512h-1.216zM480 288a32 32 0 0 0-64 0v196.096A64 64 0 0 0 453.12 496H480V288zm-128 96V224a32 32 0 0 0-64 0v160h64-37.12A64 64 0 0 1 352 395.904zm-98.88 320 19.072 101.888A32 32 0 0 0 303.68 832h416.64a32 32 0 0 0 31.488-26.112L770.88 704H253.12z"},null,-1),iS=[sS];function cS(e,t,n,o,l,u){return b(),F("svg",rS,iS)}var dS=V(aS,[["render",cS],["__file","fries.vue"]]),fS={name:"FullScreen"},pS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vS=f("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64v.064zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64l-192 .192zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64v-.064z"},null,-1),hS=[vS];function _S(e,t,n,o,l,u){return b(),F("svg",pS,hS)}var mS=V(fS,[["render",_S],["__file","full-screen.vue"]]),gS={name:"GobletFull"},bS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yS=f("path",{fill:"currentColor",d:"M256 320h512c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320zm503.936 64H264.064a256.128 256.128 0 0 0 495.872 0zM544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4z"},null,-1),wS=[yS];function CS(e,t,n,o,l,u){return b(),F("svg",bS,wS)}var ES=V(gS,[["render",CS],["__file","goblet-full.vue"]]),FS={name:"GobletSquareFull"},AS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},DS=f("path",{fill:"currentColor",d:"M256 270.912c10.048 6.72 22.464 14.912 28.992 18.624a220.16 220.16 0 0 0 114.752 30.72c30.592 0 49.408-9.472 91.072-41.152l.64-.448c52.928-40.32 82.368-55.04 132.288-54.656 55.552.448 99.584 20.8 142.72 57.408l1.536 1.28V128H256v142.912zm.96 76.288C266.368 482.176 346.88 575.872 512 576c157.44.064 237.952-85.056 253.248-209.984a952.32 952.32 0 0 1-40.192-35.712c-32.704-27.776-63.36-41.92-101.888-42.24-31.552-.256-50.624 9.28-93.12 41.6l-.576.448c-52.096 39.616-81.024 54.208-129.792 54.208-54.784 0-100.48-13.376-142.784-37.056zM480 638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848z"},null,-1),BS=[DS];function xS(e,t,n,o,l,u){return b(),F("svg",AS,BS)}var $S=V(FS,[["render",xS],["__file","goblet-square-full.vue"]]),SS={name:"GobletSquare"},kS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PS=f("path",{fill:"currentColor",d:"M544 638.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912zM256 319.68c0 149.568 80 256.192 256 256.256C688.128 576 768 469.568 768 320V128H256v191.68z"},null,-1),LS=[PS];function TS(e,t,n,o,l,u){return b(),F("svg",kS,LS)}var zS=V(SS,[["render",TS],["__file","goblet-square.vue"]]),MS={name:"Goblet"},VS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IS=f("path",{fill:"currentColor",d:"M544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4zM256 320a256 256 0 1 0 512 0c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320z"},null,-1),HS=[IS];function RS(e,t,n,o,l,u){return b(),F("svg",VS,HS)}var NS=V(MS,[["render",RS],["__file","goblet.vue"]]),OS={name:"GoldMedal"},US={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},WS=f("path",{d:"m772.13 452.84 53.86-351.81c1.32-10.01-1.17-18.68-7.49-26.02S804.35 64 795.01 64H228.99v-.01h-.06c-9.33 0-17.15 3.67-23.49 11.01s-8.83 16.01-7.49 26.02l53.87 351.89C213.54 505.73 193.59 568.09 192 640c2 90.67 33.17 166.17 93.5 226.5S421.33 957.99 512 960c90.67-2 166.17-33.17 226.5-93.5 60.33-60.34 91.49-135.83 93.5-226.5-1.59-71.94-21.56-134.32-59.87-187.16zM640.01 128h117.02l-39.01 254.02c-20.75-10.64-40.74-19.73-59.94-27.28-5.92-3-11.95-5.8-18.08-8.41V128h.01zM576 128v198.76c-13.18-2.58-26.74-4.43-40.67-5.55-8.07-.8-15.85-1.2-23.33-1.2-10.54 0-21.09.66-31.64 1.96a359.844 359.844 0 0 0-32.36 4.79V128h128zm-192 0h.04v218.3c-6.22 2.66-12.34 5.5-18.36 8.56-19.13 7.54-39.02 16.6-59.66 27.16L267.01 128H384zm308.99 692.99c-48 48-108.33 73-180.99 75.01-72.66-2.01-132.99-27.01-180.99-75.01S258.01 712.66 256 640c2.01-72.66 27.01-132.99 75.01-180.99 19.67-19.67 41.41-35.47 65.22-47.41 38.33-15.04 71.15-23.92 98.44-26.65 5.07-.41 10.2-.7 15.39-.88.63-.01 1.28-.03 1.91-.03.66 0 1.35.03 2.02.04 5.11.17 10.15.46 15.13.86 27.4 2.71 60.37 11.65 98.91 26.79 23.71 11.93 45.36 27.69 64.96 47.29 48 48 73 108.33 75.01 180.99-2.01 72.65-27.01 132.98-75.01 180.98z",fill:"currentColor"},null,-1),qS=f("path",{d:"M544 480H416v64h64v192h-64v64h192v-64h-64z",fill:"currentColor"},null,-1),jS=[WS,qS];function KS(e,t,n,o,l,u){return b(),F("svg",US,jS)}var GS=V(OS,[["render",KS],["__file","gold-medal.vue"]]),YS={name:"GoodsFilled"},XS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JS=f("path",{fill:"currentColor",d:"M192 352h640l64 544H128l64-544zm128 224h64V448h-64v128zm320 0h64V448h-64v128zM384 288h-64a192 192 0 1 1 384 0h-64a128 128 0 1 0-256 0z"},null,-1),QS=[JS];function ZS(e,t,n,o,l,u){return b(),F("svg",XS,QS)}var ek=V(YS,[["render",ZS],["__file","goods-filled.vue"]]),tk={name:"Goods"},nk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ok=f("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96z"},null,-1),lk=[ok];function uk(e,t,n,o,l,u){return b(),F("svg",nk,lk)}var ak=V(tk,[["render",uk],["__file","goods.vue"]]),rk={name:"Grape"},sk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ik=f("path",{fill:"currentColor",d:"M544 195.2a160 160 0 0 1 96 60.8 160 160 0 1 1 146.24 254.976 160 160 0 0 1-128 224 160 160 0 1 1-292.48 0 160 160 0 0 1-128-224A160 160 0 1 1 384 256a160 160 0 0 1 96-60.8V128h-64a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-64v67.2zM512 448a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm-256 0a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192z"},null,-1),ck=[ik];function dk(e,t,n,o,l,u){return b(),F("svg",sk,ck)}var fk=V(rk,[["render",dk],["__file","grape.vue"]]),pk={name:"Grid"},vk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hk=f("path",{fill:"currentColor",d:"M640 384v256H384V384h256zm64 0h192v256H704V384zm-64 512H384V704h256v192zm64 0V704h192v192H704zm-64-768v192H384V128h256zm64 0h192v192H704V128zM320 384v256H128V384h192zm0 512H128V704h192v192zm0-768v192H128V128h192z"},null,-1),_k=[hk];function mk(e,t,n,o,l,u){return b(),F("svg",vk,_k)}var gk=V(pk,[["render",mk],["__file","grid.vue"]]),bk={name:"Guide"},yk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wk=f("path",{fill:"currentColor",d:"M640 608h-64V416h64v192zm0 160v160a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V768h64v128h128V768h64zM384 608V416h64v192h-64zm256-352h-64V128H448v128h-64V96a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32v160z"},null,-1),Ck=f("path",{fill:"currentColor",d:"m220.8 256-71.232 80 71.168 80H768V256H220.8zm-14.4-64H800a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32H206.4a32 32 0 0 1-23.936-10.752l-99.584-112a32 32 0 0 1 0-42.496l99.584-112A32 32 0 0 1 206.4 192zm678.784 496-71.104 80H266.816V608h547.2l71.168 80zm-56.768-144H234.88a32 32 0 0 0-32 32v224a32 32 0 0 0 32 32h593.6a32 32 0 0 0 23.936-10.752l99.584-112a32 32 0 0 0 0-42.496l-99.584-112A32 32 0 0 0 828.48 544z"},null,-1),Ek=[wk,Ck];function Fk(e,t,n,o,l,u){return b(),F("svg",yk,Ek)}var Ak=V(bk,[["render",Fk],["__file","guide.vue"]]),Dk={name:"Handbag"},Bk={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},xk=f("path",{d:"M887.01 264.99c-6-5.99-13.67-8.99-23.01-8.99H704c-1.34-54.68-20.01-100.01-56-136s-81.32-54.66-136-56c-54.68 1.34-100.01 20.01-136 56s-54.66 81.32-56 136H160c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.67-8.99 23.01v640c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V288c0-9.35-2.99-17.02-8.99-23.01zM421.5 165.5c24.32-24.34 54.49-36.84 90.5-37.5 35.99.68 66.16 13.18 90.5 37.5s36.84 54.49 37.5 90.5H384c.68-35.99 13.18-66.16 37.5-90.5zM832 896H192V320h128v128h64V320h256v128h64V320h128v576z",fill:"currentColor"},null,-1),$k=[xk];function Sk(e,t,n,o,l,u){return b(),F("svg",Bk,$k)}var kk=V(Dk,[["render",Sk],["__file","handbag.vue"]]),Pk={name:"Headset"},Lk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Tk=f("path",{fill:"currentColor",d:"M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848zM896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0V640zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0z"},null,-1),zk=[Tk];function Mk(e,t,n,o,l,u){return b(),F("svg",Lk,zk)}var Vk=V(Pk,[["render",Mk],["__file","headset.vue"]]),Ik={name:"HelpFilled"},Hk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Rk=f("path",{fill:"currentColor",d:"M926.784 480H701.312A192.512 192.512 0 0 0 544 322.688V97.216A416.064 416.064 0 0 1 926.784 480zm0 64A416.064 416.064 0 0 1 544 926.784V701.312A192.512 192.512 0 0 0 701.312 544h225.472zM97.28 544h225.472A192.512 192.512 0 0 0 480 701.312v225.472A416.064 416.064 0 0 1 97.216 544zm0-64A416.064 416.064 0 0 1 480 97.216v225.472A192.512 192.512 0 0 0 322.688 480H97.216z"},null,-1),Nk=[Rk];function Ok(e,t,n,o,l,u){return b(),F("svg",Hk,Nk)}var Uk=V(Ik,[["render",Ok],["__file","help-filled.vue"]]),Wk={name:"Help"},qk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jk=f("path",{fill:"currentColor",d:"m759.936 805.248-90.944-91.008A254.912 254.912 0 0 1 512 768a254.912 254.912 0 0 1-156.992-53.76l-90.944 91.008A382.464 382.464 0 0 0 512 896c94.528 0 181.12-34.176 247.936-90.752zm45.312-45.312A382.464 382.464 0 0 0 896 512c0-94.528-34.176-181.12-90.752-247.936l-91.008 90.944C747.904 398.4 768 452.864 768 512c0 59.136-20.096 113.6-53.76 156.992l91.008 90.944zm-45.312-541.184A382.464 382.464 0 0 0 512 128c-94.528 0-181.12 34.176-247.936 90.752l90.944 91.008A254.912 254.912 0 0 1 512 256c59.136 0 113.6 20.096 156.992 53.76l90.944-91.008zm-541.184 45.312A382.464 382.464 0 0 0 128 512c0 94.528 34.176 181.12 90.752 247.936l91.008-90.944A254.912 254.912 0 0 1 256 512c0-59.136 20.096-113.6 53.76-156.992l-91.008-90.944zm417.28 394.496a194.56 194.56 0 0 0 22.528-22.528C686.912 602.56 704 559.232 704 512a191.232 191.232 0 0 0-67.968-146.56A191.296 191.296 0 0 0 512 320a191.232 191.232 0 0 0-146.56 67.968C337.088 421.44 320 464.768 320 512a191.232 191.232 0 0 0 67.968 146.56C421.44 686.912 464.768 704 512 704c47.296 0 90.56-17.088 124.032-45.44zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Kk=[jk];function Gk(e,t,n,o,l,u){return b(),F("svg",qk,Kk)}var Yk=V(Wk,[["render",Gk],["__file","help.vue"]]),Xk={name:"Hide"},Jk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Qk=f("path",{d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2L371.2 588.8ZM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z",fill:"currentColor"},null,-1),Zk=f("path",{d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z",fill:"currentColor"},null,-1),eP=[Qk,Zk];function tP(e,t,n,o,l,u){return b(),F("svg",Jk,eP)}var Mf=V(Xk,[["render",tP],["__file","hide.vue"]]),nP={name:"Histogram"},oP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lP=f("path",{fill:"currentColor",d:"M416 896V128h192v768H416zm-288 0V448h192v448H128zm576 0V320h192v576H704z"},null,-1),uP=[lP];function aP(e,t,n,o,l,u){return b(),F("svg",oP,uP)}var rP=V(nP,[["render",aP],["__file","histogram.vue"]]),sP={name:"HomeFilled"},iP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cP=f("path",{fill:"currentColor",d:"M512 128 128 447.936V896h255.936V640H640v256h255.936V447.936z"},null,-1),dP=[cP];function fP(e,t,n,o,l,u){return b(),F("svg",iP,dP)}var pP=V(sP,[["render",fP],["__file","home-filled.vue"]]),vP={name:"HotWater"},hP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_P=f("path",{fill:"currentColor",d:"M273.067 477.867h477.866V409.6H273.067v68.267zm0 68.266v51.2A187.733 187.733 0 0 0 460.8 785.067h102.4a187.733 187.733 0 0 0 187.733-187.734v-51.2H273.067zm-34.134-204.8h546.134a34.133 34.133 0 0 1 34.133 34.134v221.866a256 256 0 0 1-256 256H460.8a256 256 0 0 1-256-256V375.467a34.133 34.133 0 0 1 34.133-34.134zM512 34.133a34.133 34.133 0 0 1 34.133 34.134v170.666a34.133 34.133 0 0 1-68.266 0V68.267A34.133 34.133 0 0 1 512 34.133zM375.467 102.4a34.133 34.133 0 0 1 34.133 34.133v102.4a34.133 34.133 0 0 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.134-34.133zm273.066 0a34.133 34.133 0 0 1 34.134 34.133v102.4a34.133 34.133 0 1 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.133-34.133zM170.667 921.668h682.666a34.133 34.133 0 1 1 0 68.267H170.667a34.133 34.133 0 1 1 0-68.267z"},null,-1),mP=[_P];function gP(e,t,n,o,l,u){return b(),F("svg",hP,mP)}var bP=V(vP,[["render",gP],["__file","hot-water.vue"]]),yP={name:"House"},wP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},CP=f("path",{fill:"currentColor",d:"M192 413.952V896h640V413.952L512 147.328 192 413.952zM139.52 374.4l352-293.312a32 32 0 0 1 40.96 0l352 293.312A32 32 0 0 1 896 398.976V928a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V398.976a32 32 0 0 1 11.52-24.576z"},null,-1),EP=[CP];function FP(e,t,n,o,l,u){return b(),F("svg",wP,EP)}var AP=V(yP,[["render",FP],["__file","house.vue"]]),DP={name:"IceCreamRound"},BP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xP=f("path",{fill:"currentColor",d:"m308.352 489.344 226.304 226.304a32 32 0 0 0 45.248 0L783.552 512A192 192 0 1 0 512 240.448L308.352 444.16a32 32 0 0 0 0 45.248zm135.744 226.304L308.352 851.392a96 96 0 0 1-135.744-135.744l135.744-135.744-45.248-45.248a96 96 0 0 1 0-135.808L466.752 195.2A256 256 0 0 1 828.8 557.248L625.152 760.96a96 96 0 0 1-135.808 0l-45.248-45.248zM398.848 670.4 353.6 625.152 217.856 760.896a32 32 0 0 0 45.248 45.248L398.848 670.4zm248.96-384.64a32 32 0 0 1 0 45.248L466.624 512a32 32 0 1 1-45.184-45.248l180.992-181.056a32 32 0 0 1 45.248 0zm90.496 90.496a32 32 0 0 1 0 45.248L557.248 602.496A32 32 0 1 1 512 557.248l180.992-180.992a32 32 0 0 1 45.312 0z"},null,-1),$P=[xP];function SP(e,t,n,o,l,u){return b(),F("svg",BP,$P)}var kP=V(DP,[["render",SP],["__file","ice-cream-round.vue"]]),PP={name:"IceCreamSquare"},LP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},TP=f("path",{fill:"currentColor",d:"M416 640h256a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H352a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h64zm192 64v160a96 96 0 0 1-192 0V704h-64a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96h320a96 96 0 0 1 96 96v448a96 96 0 0 1-96 96h-64zm-64 0h-64v160a32 32 0 1 0 64 0V704z"},null,-1),zP=[TP];function MP(e,t,n,o,l,u){return b(),F("svg",LP,zP)}var VP=V(PP,[["render",MP],["__file","ice-cream-square.vue"]]),IP={name:"IceCream"},HP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RP=f("path",{fill:"currentColor",d:"M128.64 448a208 208 0 0 1 193.536-191.552 224 224 0 0 1 445.248 15.488A208.128 208.128 0 0 1 894.784 448H896L548.8 983.68a32 32 0 0 1-53.248.704L128 448h.64zm64.256 0h286.208a144 144 0 0 0-286.208 0zm351.36 0h286.272a144 144 0 0 0-286.272 0zm-294.848 64 271.808 396.608L778.24 512H249.408zM511.68 352.64a207.872 207.872 0 0 1 189.184-96.192 160 160 0 0 0-314.752 5.632c52.608 12.992 97.28 46.08 125.568 90.56z"},null,-1),NP=[RP];function OP(e,t,n,o,l,u){return b(),F("svg",HP,NP)}var UP=V(IP,[["render",OP],["__file","ice-cream.vue"]]),WP={name:"IceDrink"},qP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jP=f("path",{fill:"currentColor",d:"M512 448v128h239.68l16.064-128H512zm-64 0H256.256l16.064 128H448V448zm64-255.36V384h247.744A256.128 256.128 0 0 0 512 192.64zm-64 8.064A256.448 256.448 0 0 0 264.256 384H448V200.704zm64-72.064A320.128 320.128 0 0 1 825.472 384H896a32 32 0 1 1 0 64h-64v1.92l-56.96 454.016A64 64 0 0 1 711.552 960H312.448a64 64 0 0 1-63.488-56.064L192 449.92V448h-64a32 32 0 0 1 0-64h70.528A320.384 320.384 0 0 1 448 135.04V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H544a32 32 0 0 0-32 32v32.64zM743.68 640H280.32l32.128 256h399.104l32.128-256z"},null,-1),KP=[jP];function GP(e,t,n,o,l,u){return b(),F("svg",qP,KP)}var YP=V(WP,[["render",GP],["__file","ice-drink.vue"]]),XP={name:"IceTea"},JP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},QP=f("path",{fill:"currentColor",d:"M197.696 259.648a320.128 320.128 0 0 1 628.608 0A96 96 0 0 1 896 352v64a96 96 0 0 1-71.616 92.864l-49.408 395.072A64 64 0 0 1 711.488 960H312.512a64 64 0 0 1-63.488-56.064l-49.408-395.072A96 96 0 0 1 128 416v-64a96 96 0 0 1 69.696-92.352zM264.064 256h495.872a256.128 256.128 0 0 0-495.872 0zm495.424 256H264.512l48 384h398.976l48-384zM224 448h576a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H224a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32zm160 192h64v64h-64v-64zm192 64h64v64h-64v-64zm-128 64h64v64h-64v-64zm64-192h64v64h-64v-64z"},null,-1),ZP=[QP];function eL(e,t,n,o,l,u){return b(),F("svg",JP,ZP)}var tL=V(XP,[["render",eL],["__file","ice-tea.vue"]]),nL={name:"InfoFilled"},oL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lL=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"},null,-1),uL=[lL];function aL(e,t,n,o,l,u){return b(),F("svg",oL,uL)}var _c=V(nL,[["render",aL],["__file","info-filled.vue"]]),rL={name:"Iphone"},sL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iL=f("path",{fill:"currentColor",d:"M224 768v96.064a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V768H224zm0-64h576V160a64 64 0 0 0-64-64H288a64 64 0 0 0-64 64v544zm32 288a96 96 0 0 1-96-96V128a96 96 0 0 1 96-96h512a96 96 0 0 1 96 96v768a96 96 0 0 1-96 96H256zm304-144a48 48 0 1 1-96 0 48 48 0 0 1 96 0z"},null,-1),cL=[iL];function dL(e,t,n,o,l,u){return b(),F("svg",sL,cL)}var fL=V(rL,[["render",dL],["__file","iphone.vue"]]),pL={name:"Key"},vL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hL=f("path",{fill:"currentColor",d:"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064zM512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384z"},null,-1),_L=[hL];function mL(e,t,n,o,l,u){return b(),F("svg",vL,_L)}var gL=V(pL,[["render",mL],["__file","key.vue"]]),bL={name:"KnifeFork"},yL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wL=f("path",{fill:"currentColor",d:"M256 410.56V96a32 32 0 0 1 64 0v314.56A96 96 0 0 0 384 320V96a32 32 0 0 1 64 0v224a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.8A160 160 0 0 1 128 320V96a32 32 0 0 1 64 0v224a96 96 0 0 0 64 90.56zm384-250.24V544h126.72c-3.328-78.72-12.928-147.968-28.608-207.744-14.336-54.528-46.848-113.344-98.112-175.872zM640 608v320a32 32 0 1 1-64 0V64h64c85.312 89.472 138.688 174.848 160 256 21.312 81.152 32 177.152 32 288H640z"},null,-1),CL=[wL];function EL(e,t,n,o,l,u){return b(),F("svg",yL,CL)}var FL=V(bL,[["render",EL],["__file","knife-fork.vue"]]),AL={name:"Lightning"},DL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BL=f("path",{fill:"currentColor",d:"M288 671.36v64.128A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z"},null,-1),xL=f("path",{fill:"currentColor",d:"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736H416z"},null,-1),$L=[BL,xL];function SL(e,t,n,o,l,u){return b(),F("svg",DL,$L)}var kL=V(AL,[["render",SL],["__file","lightning.vue"]]),PL={name:"Link"},LL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},TL=f("path",{fill:"currentColor",d:"M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496 45.248 45.248zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152 625.152 353.6z"},null,-1),zL=[TL];function ML(e,t,n,o,l,u){return b(),F("svg",LL,zL)}var VL=V(PL,[["render",ML],["__file","link.vue"]]),IL={name:"List"},HL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RL=f("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384v-64zM288 512h448v-64H288v64zm0 256h448v-64H288v64zm96-576V96h256v96H384z"},null,-1),NL=[RL];function OL(e,t,n,o,l,u){return b(),F("svg",HL,NL)}var UL=V(IL,[["render",OL],["__file","list.vue"]]),WL={name:"Loading"},qL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jL=f("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32zm448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32zm-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32zM195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0zm-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"},null,-1),KL=[jL];function GL(e,t,n,o,l,u){return b(),F("svg",qL,KL)}var ha=V(WL,[["render",GL],["__file","loading.vue"]]),YL={name:"LocationFilled"},XL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JL=f("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928zm0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6z"},null,-1),QL=[JL];function ZL(e,t,n,o,l,u){return b(),F("svg",XL,QL)}var eT=V(YL,[["render",ZL],["__file","location-filled.vue"]]),tT={name:"LocationInformation"},nT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oT=f("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),lT=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),uT=f("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320z"},null,-1),aT=[oT,lT,uT];function rT(e,t,n,o,l,u){return b(),F("svg",nT,aT)}var sT=V(tT,[["render",rT],["__file","location-information.vue"]]),iT={name:"Location"},cT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dT=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),fT=f("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320z"},null,-1),pT=[dT,fT];function vT(e,t,n,o,l,u){return b(),F("svg",cT,pT)}var hT=V(iT,[["render",vT],["__file","location.vue"]]),_T={name:"Lock"},mT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gT=f("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"},null,-1),bT=f("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"},null,-1),yT=[gT,bT];function wT(e,t,n,o,l,u){return b(),F("svg",mT,yT)}var CT=V(_T,[["render",wT],["__file","lock.vue"]]),ET={name:"Lollipop"},FT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},AT=f("path",{fill:"currentColor",d:"M513.28 448a64 64 0 1 1 76.544 49.728A96 96 0 0 0 768 448h64a160 160 0 0 1-320 0h1.28zm-126.976-29.696a256 256 0 1 0 43.52-180.48A256 256 0 0 1 832 448h-64a192 192 0 0 0-381.696-29.696zm105.664 249.472L285.696 874.048a96 96 0 0 1-135.68-135.744l206.208-206.272a320 320 0 1 1 135.744 135.744zm-54.464-36.032a321.92 321.92 0 0 1-45.248-45.248L195.2 783.552a32 32 0 1 0 45.248 45.248l197.056-197.12z"},null,-1),DT=[AT];function BT(e,t,n,o,l,u){return b(),F("svg",FT,DT)}var xT=V(ET,[["render",BT],["__file","lollipop.vue"]]),$T={name:"MagicStick"},ST={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kT=f("path",{fill:"currentColor",d:"M512 64h64v192h-64V64zm0 576h64v192h-64V640zM160 480v-64h192v64H160zm576 0v-64h192v64H736zM249.856 199.04l45.248-45.184L430.848 289.6 385.6 334.848 249.856 199.104zM657.152 606.4l45.248-45.248 135.744 135.744-45.248 45.248L657.152 606.4zM114.048 923.2 68.8 877.952l316.8-316.8 45.248 45.248-316.8 316.8zM702.4 334.848 657.152 289.6l135.744-135.744 45.248 45.248L702.4 334.848z"},null,-1),PT=[kT];function LT(e,t,n,o,l,u){return b(),F("svg",ST,PT)}var TT=V($T,[["render",LT],["__file","magic-stick.vue"]]),zT={name:"Magnet"},MT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},VT=f("path",{fill:"currentColor",d:"M832 320V192H704v320a192 192 0 1 1-384 0V192H192v128h128v64H192v128a320 320 0 0 0 640 0V384H704v-64h128zM640 512V128h256v384a384 384 0 1 1-768 0V128h256v384a128 128 0 1 0 256 0z"},null,-1),IT=[VT];function HT(e,t,n,o,l,u){return b(),F("svg",MT,IT)}var RT=V(zT,[["render",HT],["__file","magnet.vue"]]),NT={name:"Male"},OT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},UT=f("path",{fill:"currentColor",d:"M399.5 849.5a225 225 0 1 0 0-450 225 225 0 0 0 0 450zm0 56.25a281.25 281.25 0 1 1 0-562.5 281.25 281.25 0 0 1 0 562.5zm253.125-787.5h225q28.125 0 28.125 28.125T877.625 174.5h-225q-28.125 0-28.125-28.125t28.125-28.125z"},null,-1),WT=f("path",{fill:"currentColor",d:"M877.625 118.25q28.125 0 28.125 28.125v225q0 28.125-28.125 28.125T849.5 371.375v-225q0-28.125 28.125-28.125z"},null,-1),qT=f("path",{fill:"currentColor",d:"M604.813 458.9 565.1 419.131l292.613-292.668 39.825 39.824z"},null,-1),jT=[UT,WT,qT];function KT(e,t,n,o,l,u){return b(),F("svg",OT,jT)}var GT=V(NT,[["render",KT],["__file","male.vue"]]),YT={name:"Management"},XT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JT=f("path",{fill:"currentColor",d:"M576 128v288l96-96 96 96V128h128v768H320V128h256zm-448 0h128v768H128V128z"},null,-1),QT=[JT];function ZT(e,t,n,o,l,u){return b(),F("svg",XT,QT)}var ez=V(YT,[["render",ZT],["__file","management.vue"]]),tz={name:"MapLocation"},nz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oz=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),lz=f("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256zm345.6 192L960 960H672v-64H352v64H64l102.4-256h691.2zm-68.928 0H235.328l-76.8 192h706.944l-76.8-192z"},null,-1),uz=[oz,lz];function az(e,t,n,o,l,u){return b(),F("svg",nz,uz)}var rz=V(tz,[["render",az],["__file","map-location.vue"]]),sz={name:"Medal"},iz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cz=f("path",{fill:"currentColor",d:"M512 896a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),dz=f("path",{fill:"currentColor",d:"M576 128H448v200a286.72 286.72 0 0 1 64-8c19.52 0 40.832 2.688 64 8V128zm64 0v219.648c24.448 9.088 50.56 20.416 78.4 33.92L757.44 128H640zm-256 0H266.624l39.04 253.568c27.84-13.504 53.888-24.832 78.336-33.92V128zM229.312 64h565.376a32 32 0 0 1 31.616 36.864L768 480c-113.792-64-199.104-96-256-96-56.896 0-142.208 32-256 96l-58.304-379.136A32 32 0 0 1 229.312 64z"},null,-1),fz=[cz,dz];function pz(e,t,n,o,l,u){return b(),F("svg",iz,fz)}var vz=V(sz,[["render",pz],["__file","medal.vue"]]),hz={name:"Memo"},_z={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},mz=f("path",{d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32z",fill:"currentColor"},null,-1),gz=f("path",{d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01zM192 896V128h96v768h-96zm640 0H352V128h480v768z",fill:"currentColor"},null,-1),bz=f("path",{d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32zm0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32z",fill:"currentColor"},null,-1),yz=[mz,gz,bz];function wz(e,t,n,o,l,u){return b(),F("svg",_z,yz)}var Cz=V(hz,[["render",wz],["__file","memo.vue"]]),Ez={name:"Menu"},Fz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Az=f("path",{fill:"currentColor",d:"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H608zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H608z"},null,-1),Dz=[Az];function Bz(e,t,n,o,l,u){return b(),F("svg",Fz,Dz)}var xz=V(Ez,[["render",Bz],["__file","menu.vue"]]),$z={name:"MessageBox"},Sz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kz=f("path",{fill:"currentColor",d:"M288 384h448v64H288v-64zm96-128h256v64H384v-64zM131.456 512H384v128h256V512h252.544L721.856 192H302.144L131.456 512zM896 576H704v128H320V576H128v256h768V576zM275.776 128h472.448a32 32 0 0 1 28.608 17.664l179.84 359.552A32 32 0 0 1 960 519.552V864a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V519.552a32 32 0 0 1 3.392-14.336l179.776-359.552A32 32 0 0 1 275.776 128z"},null,-1),Pz=[kz];function Lz(e,t,n,o,l,u){return b(),F("svg",Sz,Pz)}var Tz=V($z,[["render",Lz],["__file","message-box.vue"]]),zz={name:"Message"},Mz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vz=f("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224H128zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64z"},null,-1),Iz=f("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224h784zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224H205.056z"},null,-1),Hz=[Vz,Iz];function Rz(e,t,n,o,l,u){return b(),F("svg",Mz,Hz)}var Nz=V(zz,[["render",Rz],["__file","message.vue"]]),Oz={name:"Mic"},Uz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Wz=f("path",{fill:"currentColor",d:"M480 704h160a64 64 0 0 0 64-64v-32h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-32a64 64 0 0 0-64-64H384a64 64 0 0 0-64 64v32h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v32a64 64 0 0 0 64 64h96zm64 64v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768h-96a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64h256a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128h-96z"},null,-1),qz=[Wz];function jz(e,t,n,o,l,u){return b(),F("svg",Uz,qz)}var Kz=V(Oz,[["render",jz],["__file","mic.vue"]]),Gz={name:"Microphone"},Yz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xz=f("path",{fill:"currentColor",d:"M512 128a128 128 0 0 0-128 128v256a128 128 0 1 0 256 0V256a128 128 0 0 0-128-128zm0-64a192 192 0 0 1 192 192v256a192 192 0 1 1-384 0V256A192 192 0 0 1 512 64zm-32 832v-64a288 288 0 0 1-288-288v-32a32 32 0 0 1 64 0v32a224 224 0 0 0 224 224h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64z"},null,-1),Jz=[Xz];function Qz(e,t,n,o,l,u){return b(),F("svg",Yz,Jz)}var Zz=V(Gz,[["render",Qz],["__file","microphone.vue"]]),eM={name:"MilkTea"},tM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nM=f("path",{fill:"currentColor",d:"M416 128V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H512a32 32 0 0 0-32 32v32h320a96 96 0 0 1 11.712 191.296l-39.68 581.056A64 64 0 0 1 708.224 960H315.776a64 64 0 0 1-63.872-59.648l-39.616-581.056A96 96 0 0 1 224 128h192zM276.48 320l39.296 576h392.448l4.8-70.784a224.064 224.064 0 0 1 30.016-439.808L747.52 320H276.48zM224 256h576a32 32 0 1 0 0-64H224a32 32 0 0 0 0 64zm493.44 503.872 21.12-309.12a160 160 0 0 0-21.12 309.12z"},null,-1),oM=[nM];function lM(e,t,n,o,l,u){return b(),F("svg",tM,oM)}var uM=V(eM,[["render",lM],["__file","milk-tea.vue"]]),aM={name:"Minus"},rM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sM=f("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64z"},null,-1),iM=[sM];function cM(e,t,n,o,l,u){return b(),F("svg",rM,iM)}var Vf=V(aM,[["render",cM],["__file","minus.vue"]]),dM={name:"Money"},fM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pM=f("path",{fill:"currentColor",d:"M256 640v192h640V384H768v-64h150.976c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H233.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096c-2.688-5.184-4.224-10.368-4.224-24.576V640h64z"},null,-1),vM=f("path",{fill:"currentColor",d:"M768 192H128v448h640V192zm64-22.976v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 682.432 64 677.248 64 663.04V169.024c0-14.272 1.472-19.456 4.288-24.64a29.056 29.056 0 0 1 12.096-12.16C85.568 129.536 90.752 128 104.96 128h685.952c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64z"},null,-1),hM=f("path",{fill:"currentColor",d:"M448 576a160 160 0 1 1 0-320 160 160 0 0 1 0 320zm0-64a96 96 0 1 0 0-192 96 96 0 0 0 0 192z"},null,-1),_M=[pM,vM,hM];function mM(e,t,n,o,l,u){return b(),F("svg",fM,_M)}var gM=V(dM,[["render",mM],["__file","money.vue"]]),bM={name:"Monitor"},yM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wM=f("path",{fill:"currentColor",d:"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H544zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H192z"},null,-1),CM=[wM];function EM(e,t,n,o,l,u){return b(),F("svg",yM,CM)}var FM=V(bM,[["render",EM],["__file","monitor.vue"]]),AM={name:"MoonNight"},DM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BM=f("path",{fill:"currentColor",d:"M384 512a448 448 0 0 1 215.872-383.296A384 384 0 0 0 213.76 640h188.8A448.256 448.256 0 0 1 384 512zM171.136 704a448 448 0 0 1 636.992-575.296A384 384 0 0 0 499.328 704h-328.32z"},null,-1),xM=f("path",{fill:"currentColor",d:"M32 640h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32zm128 128h384a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm160 127.68 224 .256a32 32 0 0 1 32 32V928a32 32 0 0 1-32 32l-224-.384a32 32 0 0 1-32-32v-.064a32 32 0 0 1 32-32z"},null,-1),$M=[BM,xM];function SM(e,t,n,o,l,u){return b(),F("svg",DM,$M)}var kM=V(AM,[["render",SM],["__file","moon-night.vue"]]),PM={name:"Moon"},LM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},TM=f("path",{fill:"currentColor",d:"M240.448 240.448a384 384 0 1 0 559.424 525.696 448 448 0 0 1-542.016-542.08 390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696z"},null,-1),zM=[TM];function MM(e,t,n,o,l,u){return b(),F("svg",LM,zM)}var VM=V(PM,[["render",MM],["__file","moon.vue"]]),IM={name:"MoreFilled"},HM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RM=f("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224z"},null,-1),NM=[RM];function OM(e,t,n,o,l,u){return b(),F("svg",HM,NM)}var ti=V(IM,[["render",OM],["__file","more-filled.vue"]]),UM={name:"More"},WM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qM=f("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96z"},null,-1),jM=[qM];function KM(e,t,n,o,l,u){return b(),F("svg",WM,jM)}var If=V(UM,[["render",KM],["__file","more.vue"]]),GM={name:"MostlyCloudy"},YM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},XM=f("path",{fill:"currentColor",d:"M737.216 357.952 704 349.824l-11.776-32a192.064 192.064 0 0 0-367.424 23.04l-8.96 39.04-39.04 8.96A192.064 192.064 0 0 0 320 768h368a207.808 207.808 0 0 0 207.808-208 208.32 208.32 0 0 0-158.592-202.048zm15.168-62.208A272.32 272.32 0 0 1 959.744 560a271.808 271.808 0 0 1-271.552 272H320a256 256 0 0 1-57.536-505.536 256.128 256.128 0 0 1 489.92-30.72z"},null,-1),JM=[XM];function QM(e,t,n,o,l,u){return b(),F("svg",YM,JM)}var ZM=V(GM,[["render",QM],["__file","mostly-cloudy.vue"]]),eV={name:"Mouse"},tV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nV=f("path",{fill:"currentColor",d:"M438.144 256c-68.352 0-92.736 4.672-117.76 18.112-20.096 10.752-35.52 26.176-46.272 46.272C260.672 345.408 256 369.792 256 438.144v275.712c0 68.352 4.672 92.736 18.112 117.76 10.752 20.096 26.176 35.52 46.272 46.272C345.408 891.328 369.792 896 438.144 896h147.712c68.352 0 92.736-4.672 117.76-18.112 20.096-10.752 35.52-26.176 46.272-46.272C763.328 806.592 768 782.208 768 713.856V438.144c0-68.352-4.672-92.736-18.112-117.76a110.464 110.464 0 0 0-46.272-46.272C678.592 260.672 654.208 256 585.856 256H438.144zm0-64h147.712c85.568 0 116.608 8.96 147.904 25.6 31.36 16.768 55.872 41.344 72.576 72.64C823.104 321.536 832 352.576 832 438.08v275.84c0 85.504-8.96 116.544-25.6 147.84a174.464 174.464 0 0 1-72.64 72.576C702.464 951.104 671.424 960 585.92 960H438.08c-85.504 0-116.544-8.96-147.84-25.6a174.464 174.464 0 0 1-72.64-72.704c-16.768-31.296-25.664-62.336-25.664-147.84v-275.84c0-85.504 8.96-116.544 25.6-147.84a174.464 174.464 0 0 1 72.768-72.576c31.232-16.704 62.272-25.6 147.776-25.6z"},null,-1),oV=f("path",{fill:"currentColor",d:"M512 320q32 0 32 32v128q0 32-32 32t-32-32V352q0-32 32-32zm32-96a32 32 0 0 1-64 0v-64a32 32 0 0 0-32-32h-96a32 32 0 0 1 0-64h96a96 96 0 0 1 96 96v64z"},null,-1),lV=[nV,oV];function uV(e,t,n,o,l,u){return b(),F("svg",tV,lV)}var aV=V(eV,[["render",uV],["__file","mouse.vue"]]),rV={name:"Mug"},sV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iV=f("path",{fill:"currentColor",d:"M736 800V160H160v640a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64zm64-544h63.552a96 96 0 0 1 96 96v224a96 96 0 0 1-96 96H800v128a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V128a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v128zm0 64v288h63.552a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32H800z"},null,-1),cV=[iV];function dV(e,t,n,o,l,u){return b(),F("svg",sV,cV)}var fV=V(rV,[["render",dV],["__file","mug.vue"]]),pV={name:"MuteNotification"},vV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hV=f("path",{fill:"currentColor",d:"m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64H241.216zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.128 320.128 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.552 319.552 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0z"},null,-1),_V=f("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"},null,-1),mV=[hV,_V];function gV(e,t,n,o,l,u){return b(),F("svg",vV,mV)}var bV=V(pV,[["render",gV],["__file","mute-notification.vue"]]),yV={name:"Mute"},wV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},CV=f("path",{fill:"currentColor",d:"m412.16 592.128-45.44 45.44A191.232 191.232 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128zm51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528l47.808-47.808zM314.88 779.968l46.144-46.08A222.976 222.976 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032zM266.752 737.6A286.976 286.976 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288L266.752 737.6z"},null,-1),EV=f("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"},null,-1),FV=[CV,EV];function AV(e,t,n,o,l,u){return b(),F("svg",wV,FV)}var DV=V(yV,[["render",AV],["__file","mute.vue"]]),BV={name:"NoSmoking"},xV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$V=f("path",{fill:"currentColor",d:"M440.256 576H256v128h56.256l-64 64H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32h280.256l-64 64zm143.488 128H704V583.744L775.744 512H928a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H519.744l64-64zM768 576v128h128V576H768zm-29.696-207.552 45.248 45.248-497.856 497.856-45.248-45.248zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"},null,-1),SV=[$V];function kV(e,t,n,o,l,u){return b(),F("svg",xV,SV)}var PV=V(BV,[["render",kV],["__file","no-smoking.vue"]]),LV={name:"Notebook"},TV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zV=f("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),MV=f("path",{fill:"currentColor",d:"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32z"},null,-1),VV=[zV,MV];function IV(e,t,n,o,l,u){return b(),F("svg",TV,VV)}var HV=V(LV,[["render",IV],["__file","notebook.vue"]]),RV={name:"Notification"},NV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OV=f("path",{fill:"currentColor",d:"M512 128v64H256a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V512h64v256a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V256a128 128 0 0 1 128-128h256z"},null,-1),UV=f("path",{fill:"currentColor",d:"M768 384a128 128 0 1 0 0-256 128 128 0 0 0 0 256zm0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384z"},null,-1),WV=[OV,UV];function qV(e,t,n,o,l,u){return b(),F("svg",NV,WV)}var jV=V(RV,[["render",qV],["__file","notification.vue"]]),KV={name:"Odometer"},GV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},YV=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),XV=f("path",{fill:"currentColor",d:"M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0z"},null,-1),JV=f("path",{fill:"currentColor",d:"M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928z"},null,-1),QV=[YV,XV,JV];function ZV(e,t,n,o,l,u){return b(),F("svg",GV,QV)}var eI=V(KV,[["render",ZV],["__file","odometer.vue"]]),tI={name:"OfficeBuilding"},nI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oI=f("path",{fill:"currentColor",d:"M192 128v704h384V128H192zm-32-64h448a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),lI=f("path",{fill:"currentColor",d:"M256 256h256v64H256v-64zm0 192h256v64H256v-64zm0 192h256v64H256v-64zm384-128h128v64H640v-64zm0 128h128v64H640v-64zM64 832h896v64H64v-64z"},null,-1),uI=f("path",{fill:"currentColor",d:"M640 384v448h192V384H640zm-32-64h256a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H608a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32z"},null,-1),aI=[oI,lI,uI];function rI(e,t,n,o,l,u){return b(),F("svg",nI,aI)}var sI=V(tI,[["render",rI],["__file","office-building.vue"]]),iI={name:"Open"},cI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dI=f("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724H329.956zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"},null,-1),fI=f("path",{fill:"currentColor",d:"M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454zm0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088z"},null,-1),pI=[dI,fI];function vI(e,t,n,o,l,u){return b(),F("svg",cI,pI)}var hI=V(iI,[["render",vI],["__file","open.vue"]]),_I={name:"Operation"},mI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gI=f("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64h261.44zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64h453.44zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64h133.44z"},null,-1),bI=[gI];function yI(e,t,n,o,l,u){return b(),F("svg",mI,bI)}var wI=V(_I,[["render",yI],["__file","operation.vue"]]),CI={name:"Opportunity"},EI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},FI=f("path",{fill:"currentColor",d:"M384 960v-64h192.064v64H384zm448-544a350.656 350.656 0 0 1-128.32 271.424C665.344 719.04 640 763.776 640 813.504V832H320v-14.336c0-48-19.392-95.36-57.216-124.992a351.552 351.552 0 0 1-128.448-344.256c25.344-136.448 133.888-248.128 269.76-276.48A352.384 352.384 0 0 1 832 416zm-544 32c0-132.288 75.904-224 192-224v-64c-154.432 0-256 122.752-256 288h64z"},null,-1),AI=[FI];function DI(e,t,n,o,l,u){return b(),F("svg",EI,AI)}var BI=V(CI,[["render",DI],["__file","opportunity.vue"]]),xI={name:"Orange"},$I={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SI=f("path",{fill:"currentColor",d:"M544 894.72a382.336 382.336 0 0 0 215.936-89.472L577.024 622.272c-10.24 6.016-21.248 10.688-33.024 13.696v258.688zm261.248-134.784A382.336 382.336 0 0 0 894.656 544H635.968c-3.008 11.776-7.68 22.848-13.696 33.024l182.976 182.912zM894.656 480a382.336 382.336 0 0 0-89.408-215.936L622.272 446.976c6.016 10.24 10.688 21.248 13.696 33.024h258.688zm-134.72-261.248A382.336 382.336 0 0 0 544 129.344v258.688c11.776 3.008 22.848 7.68 33.024 13.696l182.912-182.976zM480 129.344a382.336 382.336 0 0 0-215.936 89.408l182.912 182.976c10.24-6.016 21.248-10.688 33.024-13.696V129.344zm-261.248 134.72A382.336 382.336 0 0 0 129.344 480h258.688c3.008-11.776 7.68-22.848 13.696-33.024L218.752 264.064zM129.344 544a382.336 382.336 0 0 0 89.408 215.936l182.976-182.912A127.232 127.232 0 0 1 388.032 544H129.344zm134.72 261.248A382.336 382.336 0 0 0 480 894.656V635.968a127.232 127.232 0 0 1-33.024-13.696L264.064 805.248zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896zm0-384a64 64 0 1 0 0-128 64 64 0 0 0 0 128z"},null,-1),kI=[SI];function PI(e,t,n,o,l,u){return b(),F("svg",$I,kI)}var LI=V(xI,[["render",PI],["__file","orange.vue"]]),TI={name:"Paperclip"},zI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MI=f("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744l294.144-294.208z"},null,-1),VI=[MI];function II(e,t,n,o,l,u){return b(),F("svg",zI,VI)}var HI=V(TI,[["render",II],["__file","paperclip.vue"]]),RI={name:"PartlyCloudy"},NI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OI=f("path",{fill:"currentColor",d:"M598.4 895.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 895.872zm-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 445.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"},null,-1),UI=f("path",{fill:"currentColor",d:"M139.84 501.888a256 256 0 1 1 417.856-277.12c-17.728 2.176-38.208 8.448-61.504 18.816A192 192 0 1 0 189.12 460.48a6003.84 6003.84 0 0 0-49.28 41.408z"},null,-1),WI=[OI,UI];function qI(e,t,n,o,l,u){return b(),F("svg",NI,WI)}var jI=V(RI,[["render",qI],["__file","partly-cloudy.vue"]]),KI={name:"Pear"},GI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},YI=f("path",{fill:"currentColor",d:"M542.336 258.816a443.255 443.255 0 0 0-9.024 25.088 32 32 0 1 1-60.8-20.032l1.088-3.328a162.688 162.688 0 0 0-122.048 131.392l-17.088 102.72-20.736 15.36C256.192 552.704 224 610.88 224 672c0 120.576 126.4 224 288 224s288-103.424 288-224c0-61.12-32.192-119.296-89.728-161.92l-20.736-15.424-17.088-102.72a162.688 162.688 0 0 0-130.112-133.12zm-40.128-66.56c7.936-15.552 16.576-30.08 25.92-43.776 23.296-33.92 49.408-59.776 78.528-77.12a32 32 0 1 1 32.704 55.04c-20.544 12.224-40.064 31.552-58.432 58.304a316.608 316.608 0 0 0-9.792 15.104 226.688 226.688 0 0 1 164.48 181.568l12.8 77.248C819.456 511.36 864 587.392 864 672c0 159.04-157.568 288-352 288S160 831.04 160 672c0-84.608 44.608-160.64 115.584-213.376l12.8-77.248a226.624 226.624 0 0 1 213.76-189.184z"},null,-1),XI=[YI];function JI(e,t,n,o,l,u){return b(),F("svg",GI,XI)}var QI=V(KI,[["render",JI],["__file","pear.vue"]]),ZI={name:"PhoneFilled"},eH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tH=f("path",{fill:"currentColor",d:"M199.232 125.568 90.624 379.008a32 32 0 0 0 6.784 35.2l512.384 512.384a32 32 0 0 0 35.2 6.784l253.44-108.608a32 32 0 0 0 10.048-52.032L769.6 633.92a32 32 0 0 0-36.928-5.952l-130.176 65.088-271.488-271.552 65.024-130.176a32 32 0 0 0-5.952-36.928L251.2 115.52a32 32 0 0 0-51.968 10.048z"},null,-1),nH=[tH];function oH(e,t,n,o,l,u){return b(),F("svg",eH,nH)}var lH=V(ZI,[["render",oH],["__file","phone-filled.vue"]]),uH={name:"Phone"},aH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rH=f("path",{fill:"currentColor",d:"M79.36 432.256 591.744 944.64a32 32 0 0 0 35.2 6.784l253.44-108.544a32 32 0 0 0 9.984-52.032l-153.856-153.92a32 32 0 0 0-36.928-6.016l-69.888 34.944L358.08 394.24l35.008-69.888a32 32 0 0 0-5.952-36.928L233.152 133.568a32 32 0 0 0-52.032 10.048L72.512 397.056a32 32 0 0 0 6.784 35.2zm60.48-29.952 81.536-190.08L325.568 316.48l-24.64 49.216-20.608 41.216 32.576 32.64 271.552 271.552 32.64 32.64 41.216-20.672 49.28-24.576 104.192 104.128-190.08 81.472L139.84 402.304zM512 320v-64a256 256 0 0 1 256 256h-64a192 192 0 0 0-192-192zm0-192V64a448 448 0 0 1 448 448h-64a384 384 0 0 0-384-384z"},null,-1),sH=[rH];function iH(e,t,n,o,l,u){return b(),F("svg",aH,sH)}var cH=V(uH,[["render",iH],["__file","phone.vue"]]),dH={name:"PictureFilled"},fH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pH=f("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32H96zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112zM256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384z"},null,-1),vH=[pH];function hH(e,t,n,o,l,u){return b(),F("svg",fH,vH)}var _H=V(dH,[["render",hH],["__file","picture-filled.vue"]]),mH={name:"PictureRounded"},gH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bH=f("path",{fill:"currentColor",d:"M512 128a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm0-64a448 448 0 1 1 0 896 448 448 0 0 1 0-896z"},null,-1),yH=f("path",{fill:"currentColor",d:"M640 288q64 0 64 64t-64 64q-64 0-64-64t64-64zM214.656 790.656l-45.312-45.312 185.664-185.6a96 96 0 0 1 123.712-10.24l138.24 98.688a32 32 0 0 0 39.872-2.176L906.688 422.4l42.624 47.744L699.52 693.696a96 96 0 0 1-119.808 6.592l-138.24-98.752a32 32 0 0 0-41.152 3.456l-185.664 185.6z"},null,-1),wH=[bH,yH];function CH(e,t,n,o,l,u){return b(),F("svg",gH,wH)}var EH=V(mH,[["render",CH],["__file","picture-rounded.vue"]]),FH={name:"Picture"},AH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},DH=f("path",{fill:"currentColor",d:"M160 160v704h704V160H160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32z"},null,-1),BH=f("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64q-64 0-64-64t64-64zM185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952L185.408 876.992z"},null,-1),xH=[DH,BH];function $H(e,t,n,o,l,u){return b(),F("svg",AH,xH)}var SH=V(FH,[["render",$H],["__file","picture.vue"]]),kH={name:"PieChart"},PH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},LH=f("path",{fill:"currentColor",d:"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.128 384.128 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.128 448.128 0 0 1 448 68.48z"},null,-1),TH=f("path",{fill:"currentColor",d:"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28zM512 64V33.152A448 448 0 0 1 990.848 512H512V64z"},null,-1),zH=[LH,TH];function MH(e,t,n,o,l,u){return b(),F("svg",PH,zH)}var VH=V(kH,[["render",MH],["__file","pie-chart.vue"]]),IH={name:"Place"},HH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RH=f("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),NH=f("path",{fill:"currentColor",d:"M512 512a32 32 0 0 1 32 32v256a32 32 0 1 1-64 0V544a32 32 0 0 1 32-32z"},null,-1),OH=f("path",{fill:"currentColor",d:"M384 649.088v64.96C269.76 732.352 192 771.904 192 800c0 37.696 139.904 96 320 96s320-58.304 320-96c0-28.16-77.76-67.648-192-85.952v-64.96C789.12 671.04 896 730.368 896 800c0 88.32-171.904 160-384 160s-384-71.68-384-160c0-69.696 106.88-128.96 256-150.912z"},null,-1),UH=[RH,NH,OH];function WH(e,t,n,o,l,u){return b(),F("svg",HH,UH)}var qH=V(IH,[["render",WH],["__file","place.vue"]]),jH={name:"Platform"},KH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GH=f("path",{fill:"currentColor",d:"M448 832v-64h128v64h192v64H256v-64h192zM128 704V128h768v576H128z"},null,-1),YH=[GH];function XH(e,t,n,o,l,u){return b(),F("svg",KH,YH)}var JH=V(jH,[["render",XH],["__file","platform.vue"]]),QH={name:"Plus"},ZH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},eR=f("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"},null,-1),tR=[eR];function nR(e,t,n,o,l,u){return b(),F("svg",ZH,tR)}var Hf=V(QH,[["render",nR],["__file","plus.vue"]]),oR={name:"Pointer"},lR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uR=f("path",{fill:"currentColor",d:"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.272 94.272 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128zM359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.272 158.272 0 0 1 185.984 8.32L359.04 556.8z"},null,-1),aR=[uR];function rR(e,t,n,o,l,u){return b(),F("svg",lR,aR)}var sR=V(oR,[["render",rR],["__file","pointer.vue"]]),iR={name:"Position"},cR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dR=f("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z"},null,-1),fR=[dR];function pR(e,t,n,o,l,u){return b(),F("svg",cR,fR)}var vR=V(iR,[["render",pR],["__file","position.vue"]]),hR={name:"Postcard"},_R={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mR=f("path",{fill:"currentColor",d:"M160 224a32 32 0 0 0-32 32v512a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V256a32 32 0 0 0-32-32H160zm0-64h704a96 96 0 0 1 96 96v512a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V256a96 96 0 0 1 96-96z"},null,-1),gR=f("path",{fill:"currentColor",d:"M704 320a64 64 0 1 1 0 128 64 64 0 0 1 0-128zM288 448h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32zm0 128h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),bR=[mR,gR];function yR(e,t,n,o,l,u){return b(),F("svg",_R,bR)}var wR=V(hR,[["render",yR],["__file","postcard.vue"]]),CR={name:"Pouring"},ER={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},FR=f("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480zM224 800a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32z"},null,-1),AR=[FR];function DR(e,t,n,o,l,u){return b(),F("svg",ER,AR)}var BR=V(CR,[["render",DR],["__file","pouring.vue"]]),xR={name:"Present"},$R={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SR=f("path",{fill:"currentColor",d:"M480 896V640H192v-64h288V320H192v576h288zm64 0h288V320H544v256h288v64H544v256zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V256z"},null,-1),kR=f("path",{fill:"currentColor",d:"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32z"},null,-1),PR=f("path",{fill:"currentColor",d:"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),LR=f("path",{fill:"currentColor",d:"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),TR=[SR,kR,PR,LR];function zR(e,t,n,o,l,u){return b(),F("svg",$R,TR)}var MR=V(xR,[["render",zR],["__file","present.vue"]]),VR={name:"PriceTag"},IR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HR=f("path",{fill:"currentColor",d:"M224 318.336V896h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"},null,-1),RR=f("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),NR=[HR,RR];function OR(e,t,n,o,l,u){return b(),F("svg",IR,NR)}var UR=V(VR,[["render",OR],["__file","price-tag.vue"]]),WR={name:"Printer"},qR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jR=f("path",{fill:"currentColor",d:"M256 768H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 746.432 64 741.248 64 727.04V379.072c0-42.816 4.48-58.304 12.8-73.984 8.384-15.616 20.672-27.904 36.288-36.288 15.68-8.32 31.168-12.8 73.984-12.8H256V64h512v192h68.928c42.816 0 58.304 4.48 73.984 12.8 15.616 8.384 27.904 20.672 36.288 36.288 8.32 15.68 12.8 31.168 12.8 73.984v347.904c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H768v192H256V768zm64-192v320h384V576H320zm-64 128V512h512v192h128V379.072c0-29.376-1.408-36.48-5.248-43.776a23.296 23.296 0 0 0-10.048-10.048c-7.232-3.84-14.4-5.248-43.776-5.248H187.072c-29.376 0-36.48 1.408-43.776 5.248a23.296 23.296 0 0 0-10.048 10.048c-3.84 7.232-5.248 14.4-5.248 43.776V704h128zm64-448h384V128H320v128zm-64 128h64v64h-64v-64zm128 0h64v64h-64v-64z"},null,-1),KR=[jR];function GR(e,t,n,o,l,u){return b(),F("svg",qR,KR)}var YR=V(WR,[["render",GR],["__file","printer.vue"]]),XR={name:"Promotion"},JR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},QR=f("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472 64 448zm256 512V657.024L512 768 320 960z"},null,-1),ZR=[QR];function eN(e,t,n,o,l,u){return b(),F("svg",JR,ZR)}var tN=V(XR,[["render",eN],["__file","promotion.vue"]]),nN={name:"QuartzWatch"},oN={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},lN=f("path",{d:"M422.02 602.01v-.03c-6.68-5.99-14.35-8.83-23.01-8.51-8.67.32-16.17 3.66-22.5 10.02-6.33 6.36-9.5 13.7-9.5 22.02s3 15.82 8.99 22.5c8.68 8.68 19.02 11.35 31.01 8s19.49-10.85 22.5-22.5c3.01-11.65.51-22.15-7.49-31.49v-.01zM384 512c0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.67 8.99-23.01zm6.53-82.49c11.65 3.01 22.15.51 31.49-7.49h.04c5.99-6.68 8.83-14.34 8.51-23.01-.32-8.67-3.66-16.16-10.02-22.5-6.36-6.33-13.7-9.5-22.02-9.5s-15.82 3-22.5 8.99c-8.68 8.69-11.35 19.02-8 31.01 3.35 11.99 10.85 19.49 22.5 22.5zm242.94 0c11.67-3.03 19.01-10.37 22.02-22.02 3.01-11.65.51-22.15-7.49-31.49h.01c-6.68-5.99-14.18-8.99-22.5-8.99s-15.66 3.16-22.02 9.5c-6.36 6.34-9.7 13.84-10.02 22.5-.32 8.66 2.52 16.33 8.51 23.01 9.32 8.02 19.82 10.52 31.49 7.49zM512 640c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01s-3-17.02-8.99-23.01c-6-5.99-13.66-8.99-23.01-8.99zm183.01-151.01c-6-5.99-13.66-8.99-23.01-8.99s-17.02 3-23.01 8.99c-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99s17.02-3 23.01-8.99c5.99-6 8.99-13.67 8.99-23.01 0-9.35-3-17.02-8.99-23.01z",fill:"currentColor"},null,-1),uN=f("path",{d:"M832 512c-2-90.67-33.17-166.17-93.5-226.5-20.43-20.42-42.6-37.49-66.5-51.23V64H352v170.26c-23.9 13.74-46.07 30.81-66.5 51.24-60.33 60.33-91.49 135.83-93.5 226.5 2 90.67 33.17 166.17 93.5 226.5 20.43 20.43 42.6 37.5 66.5 51.24V960h320V789.74c23.9-13.74 46.07-30.81 66.5-51.24 60.33-60.34 91.49-135.83 93.5-226.5zM416 128h192v78.69c-29.85-9.03-61.85-13.93-96-14.69-34.15.75-66.15 5.65-96 14.68V128zm192 768H416v-78.68c29.85 9.03 61.85 13.93 96 14.68 34.15-.75 66.15-5.65 96-14.68V896zm-96-128c-72.66-2.01-132.99-27.01-180.99-75.01S258.01 584.66 256 512c2.01-72.66 27.01-132.99 75.01-180.99S439.34 258.01 512 256c72.66 2.01 132.99 27.01 180.99 75.01S765.99 439.34 768 512c-2.01 72.66-27.01 132.99-75.01 180.99S584.66 765.99 512 768z",fill:"currentColor"},null,-1),aN=f("path",{d:"M512 320c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01 0 9.35 3 17.02 8.99 23.01 6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01 0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99zm112.99 273.5c-8.66-.32-16.33 2.52-23.01 8.51-7.98 9.32-10.48 19.82-7.49 31.49s10.49 19.17 22.5 22.5 22.35.66 31.01-8v.04c5.99-6.68 8.99-14.18 8.99-22.5s-3.16-15.66-9.5-22.02-13.84-9.7-22.5-10.02z",fill:"currentColor"},null,-1),rN=[lN,uN,aN];function sN(e,t,n,o,l,u){return b(),F("svg",oN,rN)}var iN=V(nN,[["render",sN],["__file","quartz-watch.vue"]]),cN={name:"QuestionFilled"},dN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fN=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592 0-42.944-14.08-76.736-42.24-101.376-28.16-25.344-65.472-37.312-111.232-37.312zm-12.672 406.208a54.272 54.272 0 0 0-38.72 14.784 49.408 49.408 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.848 54.848 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.968 51.968 0 0 0-15.488-38.016 55.936 55.936 0 0 0-39.424-14.784z"},null,-1),pN=[fN];function vN(e,t,n,o,l,u){return b(),F("svg",dN,pN)}var hN=V(cN,[["render",vN],["__file","question-filled.vue"]]),_N={name:"Rank"},mN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gN=f("path",{fill:"currentColor",d:"m186.496 544 41.408 41.344a32 32 0 1 1-45.248 45.312l-96-96a32 32 0 0 1 0-45.312l96-96a32 32 0 1 1 45.248 45.312L186.496 480h290.816V186.432l-41.472 41.472a32 32 0 1 1-45.248-45.184l96-96.128a32 32 0 0 1 45.312 0l96 96.064a32 32 0 0 1-45.248 45.184l-41.344-41.28V480H832l-41.344-41.344a32 32 0 0 1 45.248-45.312l96 96a32 32 0 0 1 0 45.312l-96 96a32 32 0 0 1-45.248-45.312L832 544H541.312v293.44l41.344-41.28a32 32 0 1 1 45.248 45.248l-96 96a32 32 0 0 1-45.312 0l-96-96a32 32 0 1 1 45.312-45.248l41.408 41.408V544H186.496z"},null,-1),bN=[gN];function yN(e,t,n,o,l,u){return b(),F("svg",mN,bN)}var wN=V(_N,[["render",yN],["__file","rank.vue"]]),CN={name:"ReadingLamp"},EN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},FN=f("path",{fill:"currentColor",d:"M352 896h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm-44.672-768-99.52 448h608.384l-99.52-448H307.328zm-25.6-64h460.608a32 32 0 0 1 31.232 25.088l113.792 512A32 32 0 0 1 856.128 640H167.872a32 32 0 0 1-31.232-38.912l113.792-512A32 32 0 0 1 281.664 64z"},null,-1),AN=f("path",{fill:"currentColor",d:"M672 576q32 0 32 32v128q0 32-32 32t-32-32V608q0-32 32-32zm-192-.064h64V960h-64z"},null,-1),DN=[FN,AN];function BN(e,t,n,o,l,u){return b(),F("svg",EN,DN)}var xN=V(CN,[["render",BN],["__file","reading-lamp.vue"]]),$N={name:"Reading"},SN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kN=f("path",{fill:"currentColor",d:"m512 863.36 384-54.848v-638.72L525.568 222.72a96 96 0 0 1-27.136 0L128 169.792v638.72l384 54.848zM137.024 106.432l370.432 52.928a32 32 0 0 0 9.088 0l370.432-52.928A64 64 0 0 1 960 169.792v638.72a64 64 0 0 1-54.976 63.36l-388.48 55.488a32 32 0 0 1-9.088 0l-388.48-55.488A64 64 0 0 1 64 808.512v-638.72a64 64 0 0 1 73.024-63.36z"},null,-1),PN=f("path",{fill:"currentColor",d:"M480 192h64v704h-64z"},null,-1),LN=[kN,PN];function TN(e,t,n,o,l,u){return b(),F("svg",SN,LN)}var zN=V($N,[["render",TN],["__file","reading.vue"]]),MN={name:"RefreshLeft"},VN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IN=f("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"},null,-1),HN=[IN];function RN(e,t,n,o,l,u){return b(),F("svg",VN,HN)}var NN=V(MN,[["render",RN],["__file","refresh-left.vue"]]),ON={name:"RefreshRight"},UN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WN=f("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88z"},null,-1),qN=[WN];function jN(e,t,n,o,l,u){return b(),F("svg",UN,qN)}var KN=V(ON,[["render",jN],["__file","refresh-right.vue"]]),GN={name:"Refresh"},YN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},XN=f("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"},null,-1),JN=[XN];function QN(e,t,n,o,l,u){return b(),F("svg",YN,JN)}var ZN=V(GN,[["render",QN],["__file","refresh.vue"]]),eO={name:"Refrigerator"},tO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nO=f("path",{fill:"currentColor",d:"M256 448h512V160a32 32 0 0 0-32-32H288a32 32 0 0 0-32 32v288zm0 64v352a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V512H256zm32-448h448a96 96 0 0 1 96 96v704a96 96 0 0 1-96 96H288a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96zm32 224h64v96h-64v-96zm0 288h64v96h-64v-96z"},null,-1),oO=[nO];function lO(e,t,n,o,l,u){return b(),F("svg",tO,oO)}var uO=V(eO,[["render",lO],["__file","refrigerator.vue"]]),aO={name:"RemoveFilled"},rO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sO=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zM288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512z"},null,-1),iO=[sO];function cO(e,t,n,o,l,u){return b(),F("svg",rO,iO)}var dO=V(aO,[["render",cO],["__file","remove-filled.vue"]]),fO={name:"Remove"},pO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vO=f("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),hO=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),_O=[vO,hO];function mO(e,t,n,o,l,u){return b(),F("svg",pO,_O)}var gO=V(fO,[["render",mO],["__file","remove.vue"]]),bO={name:"Right"},yO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wO=f("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312L754.752 480z"},null,-1),CO=[wO];function EO(e,t,n,o,l,u){return b(),F("svg",yO,CO)}var FO=V(bO,[["render",EO],["__file","right.vue"]]),AO={name:"ScaleToOriginal"},DO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BO=f("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zM512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412zM512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512z"},null,-1),xO=[BO];function $O(e,t,n,o,l,u){return b(),F("svg",DO,xO)}var SO=V(AO,[["render",$O],["__file","scale-to-original.vue"]]),kO={name:"School"},PO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},LO=f("path",{fill:"currentColor",d:"M224 128v704h576V128H224zm-32-64h640a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),TO=f("path",{fill:"currentColor",d:"M64 832h896v64H64zm256-640h128v96H320z"},null,-1),zO=f("path",{fill:"currentColor",d:"M384 832h256v-64a128 128 0 1 0-256 0v64zm128-256a192 192 0 0 1 192 192v128H320V768a192 192 0 0 1 192-192zM320 384h128v96H320zm256-192h128v96H576zm0 192h128v96H576z"},null,-1),MO=[LO,TO,zO];function VO(e,t,n,o,l,u){return b(),F("svg",PO,MO)}var IO=V(kO,[["render",VO],["__file","school.vue"]]),HO={name:"Scissor"},RO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},NO=f("path",{fill:"currentColor",d:"m512.064 578.368-106.88 152.768a160 160 0 1 1-23.36-78.208L472.96 522.56 196.864 128.256a32 32 0 1 1 52.48-36.736l393.024 561.344a160 160 0 1 1-23.36 78.208l-106.88-152.704zm54.4-189.248 208.384-297.6a32 32 0 0 1 52.48 36.736l-221.76 316.672-39.04-55.808zm-376.32 425.856a96 96 0 1 0 110.144-157.248 96 96 0 0 0-110.08 157.248zm643.84 0a96 96 0 1 0-110.08-157.248 96 96 0 0 0 110.08 157.248z"},null,-1),OO=[NO];function UO(e,t,n,o,l,u){return b(),F("svg",RO,OO)}var WO=V(HO,[["render",UO],["__file","scissor.vue"]]),qO={name:"Search"},jO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},KO=f("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704z"},null,-1),GO=[KO];function YO(e,t,n,o,l,u){return b(),F("svg",jO,GO)}var XO=V(qO,[["render",YO],["__file","search.vue"]]),JO={name:"Select"},QO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ZO=f("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"},null,-1),eU=[ZO];function tU(e,t,n,o,l,u){return b(),F("svg",QO,eU)}var nU=V(JO,[["render",tU],["__file","select.vue"]]),oU={name:"Sell"},lU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uU=f("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 483.84L768 698.496V928a32 32 0 1 1-64 0V698.496l-73.344 73.344a32 32 0 1 1-45.248-45.248l128-128a32 32 0 0 1 45.248 0l128 128a32 32 0 1 1-45.248 45.248z"},null,-1),aU=[uU];function rU(e,t,n,o,l,u){return b(),F("svg",lU,aU)}var sU=V(oU,[["render",rU],["__file","sell.vue"]]),iU={name:"SemiSelect"},cU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dU=f("path",{fill:"currentColor",d:"M128 448h768q64 0 64 64t-64 64H128q-64 0-64-64t64-64z"},null,-1),fU=[dU];function pU(e,t,n,o,l,u){return b(),F("svg",cU,fU)}var vU=V(iU,[["render",pU],["__file","semi-select.vue"]]),hU={name:"Service"},_U={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mU=f("path",{fill:"currentColor",d:"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.064 192.064 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193.235 193.235 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0zM256 448a128 128 0 1 0 0 256V448zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128z"},null,-1),gU=[mU];function bU(e,t,n,o,l,u){return b(),F("svg",_U,gU)}var yU=V(hU,[["render",bU],["__file","service.vue"]]),wU={name:"SetUp"},CU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EU=f("path",{fill:"currentColor",d:"M224 160a64 64 0 0 0-64 64v576a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64H224zm0-64h576a128 128 0 0 1 128 128v576a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V224A128 128 0 0 1 224 96z"},null,-1),FU=f("path",{fill:"currentColor",d:"M384 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),AU=f("path",{fill:"currentColor",d:"M480 320h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32zm160 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),DU=f("path",{fill:"currentColor",d:"M288 640h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),BU=[EU,FU,AU,DU];function xU(e,t,n,o,l,u){return b(),F("svg",CU,BU)}var $U=V(wU,[["render",xU],["__file","set-up.vue"]]),SU={name:"Setting"},kU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PU=f("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z"},null,-1),LU=[PU];function TU(e,t,n,o,l,u){return b(),F("svg",kU,LU)}var zU=V(SU,[["render",TU],["__file","setting.vue"]]),MU={name:"Share"},VU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IU=f("path",{fill:"currentColor",d:"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"},null,-1),HU=[IU];function RU(e,t,n,o,l,u){return b(),F("svg",VU,HU)}var NU=V(MU,[["render",RU],["__file","share.vue"]]),OU={name:"Ship"},UU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WU=f("path",{fill:"currentColor",d:"M512 386.88V448h405.568a32 32 0 0 1 30.72 40.768l-76.48 267.968A192 192 0 0 1 687.168 896H336.832a192 192 0 0 1-184.64-139.264L75.648 488.768A32 32 0 0 1 106.368 448H448V117.888a32 32 0 0 1 47.36-28.096l13.888 7.616L512 96v2.88l231.68 126.4a32 32 0 0 1-2.048 57.216L512 386.88zm0-70.272 144.768-65.792L512 171.84v144.768zM512 512H148.864l18.24 64H856.96l18.24-64H512zM185.408 640l28.352 99.2A128 128 0 0 0 336.832 832h350.336a128 128 0 0 0 123.072-92.8l28.352-99.2H185.408z"},null,-1),qU=[WU];function jU(e,t,n,o,l,u){return b(),F("svg",UU,qU)}var KU=V(OU,[["render",jU],["__file","ship.vue"]]),GU={name:"Shop"},YU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},XU=f("path",{fill:"currentColor",d:"M704 704h64v192H256V704h64v64h384v-64zm188.544-152.192C894.528 559.616 896 567.616 896 576a96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0c0-8.384 1.408-16.384 3.392-24.192L192 128h640l60.544 423.808z"},null,-1),JU=[XU];function QU(e,t,n,o,l,u){return b(),F("svg",YU,JU)}var ZU=V(GU,[["render",QU],["__file","shop.vue"]]),eW={name:"ShoppingBag"},tW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nW=f("path",{fill:"currentColor",d:"M704 320v96a32 32 0 0 1-32 32h-32V320H384v128h-32a32 32 0 0 1-32-32v-96H192v576h640V320H704zm-384-64a192 192 0 1 1 384 0h160a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32h160zm64 0h256a128 128 0 1 0-256 0z"},null,-1),oW=f("path",{fill:"currentColor",d:"M192 704h640v64H192z"},null,-1),lW=[nW,oW];function uW(e,t,n,o,l,u){return b(),F("svg",tW,lW)}var aW=V(eW,[["render",uW],["__file","shopping-bag.vue"]]),rW={name:"ShoppingCartFull"},sW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iW=f("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96zm320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96zM96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128H96zm314.24 576h395.904l82.304-384H333.44l76.8 384z"},null,-1),cW=f("path",{fill:"currentColor",d:"M699.648 256 608 145.984 516.352 256h183.296zm-140.8-151.04a64 64 0 0 1 98.304 0L836.352 320H379.648l179.2-215.04z"},null,-1),dW=[iW,cW];function fW(e,t,n,o,l,u){return b(),F("svg",sW,dW)}var pW=V(rW,[["render",fW],["__file","shopping-cart-full.vue"]]),vW={name:"ShoppingCart"},hW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_W=f("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96zm320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96zM96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128H96zm314.24 576h395.904l82.304-384H333.44l76.8 384z"},null,-1),mW=[_W];function gW(e,t,n,o,l,u){return b(),F("svg",hW,mW)}var bW=V(vW,[["render",gW],["__file","shopping-cart.vue"]]),yW={name:"ShoppingTrolley"},wW={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},CW=f("path",{d:"M368 833c-13.3 0-24.5 4.5-33.5 13.5S321 866.7 321 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S415 893.3 415 880s-4.5-24.5-13.5-33.5S381.3 833 368 833zm439-193c7.4 0 13.8-2.2 19.5-6.5S836 623.3 838 616l112-448c2-10-.2-19.2-6.5-27.5S929 128 919 128H96c-9.3 0-17 3-23 9s-9 13.7-9 23 3 17 9 23 13.7 9 23 9h96v576h672c9.3 0 17-3 23-9s9-13.7 9-23-3-17-9-23-13.7-9-23-9H256v-64h551zM256 192h622l-96 384H256V192zm432 641c-13.3 0-24.5 4.5-33.5 13.5S641 866.7 641 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S735 893.3 735 880s-4.5-24.5-13.5-33.5S701.3 833 688 833z",fill:"currentColor"},null,-1),EW=[CW];function FW(e,t,n,o,l,u){return b(),F("svg",wW,EW)}var AW=V(yW,[["render",FW],["__file","shopping-trolley.vue"]]),DW={name:"Smoking"},BW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xW=f("path",{fill:"currentColor",d:"M256 576v128h640V576H256zm-32-64h704a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32z"},null,-1),$W=f("path",{fill:"currentColor",d:"M704 576h64v128h-64zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"},null,-1),SW=[xW,$W];function kW(e,t,n,o,l,u){return b(),F("svg",BW,SW)}var PW=V(DW,[["render",kW],["__file","smoking.vue"]]),LW={name:"Soccer"},TW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zW=f("path",{fill:"currentColor",d:"M418.496 871.04 152.256 604.8c-16.512 94.016-2.368 178.624 42.944 224 44.928 44.928 129.344 58.752 223.296 42.24zm72.32-18.176a573.056 573.056 0 0 0 224.832-137.216 573.12 573.12 0 0 0 137.216-224.832L533.888 171.84a578.56 578.56 0 0 0-227.52 138.496A567.68 567.68 0 0 0 170.432 532.48l320.384 320.384zM871.04 418.496c16.512-93.952 2.688-178.368-42.24-223.296-44.544-44.544-128.704-58.048-222.592-41.536L871.04 418.496zM149.952 874.048c-112.96-112.96-88.832-408.96 111.168-608.96C461.056 65.152 760.96 36.928 874.048 149.952c113.024 113.024 86.784 411.008-113.152 610.944-199.936 199.936-497.92 226.112-610.944 113.152zm452.544-497.792 22.656-22.656a32 32 0 0 1 45.248 45.248l-22.656 22.656 45.248 45.248A32 32 0 1 1 647.744 512l-45.248-45.248L557.248 512l45.248 45.248a32 32 0 1 1-45.248 45.248L512 557.248l-45.248 45.248L512 647.744a32 32 0 1 1-45.248 45.248l-45.248-45.248-22.656 22.656a32 32 0 1 1-45.248-45.248l22.656-22.656-45.248-45.248A32 32 0 1 1 376.256 512l45.248 45.248L466.752 512l-45.248-45.248a32 32 0 1 1 45.248-45.248L512 466.752l45.248-45.248L512 376.256a32 32 0 0 1 45.248-45.248l45.248 45.248z"},null,-1),MW=[zW];function VW(e,t,n,o,l,u){return b(),F("svg",TW,MW)}var IW=V(LW,[["render",VW],["__file","soccer.vue"]]),HW={name:"SoldOut"},RW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},NW=f("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 476.16a32 32 0 1 1 45.248 45.184l-128 128a32 32 0 0 1-45.248 0l-128-128a32 32 0 1 1 45.248-45.248L704 837.504V608a32 32 0 1 1 64 0v229.504l73.408-73.408z"},null,-1),OW=[NW];function UW(e,t,n,o,l,u){return b(),F("svg",RW,OW)}var WW=V(HW,[["render",UW],["__file","sold-out.vue"]]),qW={name:"SortDown"},jW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},KW=f("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0z"},null,-1),GW=[KW];function YW(e,t,n,o,l,u){return b(),F("svg",jW,GW)}var XW=V(qW,[["render",YW],["__file","sort-down.vue"]]),JW={name:"SortUp"},QW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ZW=f("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248z"},null,-1),eq=[ZW];function tq(e,t,n,o,l,u){return b(),F("svg",QW,eq)}var nq=V(JW,[["render",tq],["__file","sort-up.vue"]]),oq={name:"Sort"},lq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uq=f("path",{fill:"currentColor",d:"M384 96a32 32 0 0 1 64 0v786.752a32 32 0 0 1-54.592 22.656L95.936 608a32 32 0 0 1 0-45.312h.128a32 32 0 0 1 45.184 0L384 805.632V96zm192 45.248a32 32 0 0 1 54.592-22.592L928.064 416a32 32 0 0 1 0 45.312h-.128a32 32 0 0 1-45.184 0L640 218.496V928a32 32 0 1 1-64 0V141.248z"},null,-1),aq=[uq];function rq(e,t,n,o,l,u){return b(),F("svg",lq,aq)}var sq=V(oq,[["render",rq],["__file","sort.vue"]]),iq={name:"Stamp"},cq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dq=f("path",{fill:"currentColor",d:"M624 475.968V640h144a128 128 0 0 1 128 128H128a128 128 0 0 1 128-128h144V475.968a192 192 0 1 1 224 0zM128 896v-64h768v64H128z"},null,-1),fq=[dq];function pq(e,t,n,o,l,u){return b(),F("svg",cq,fq)}var vq=V(iq,[["render",pq],["__file","stamp.vue"]]),hq={name:"StarFilled"},_q={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mq=f("path",{fill:"currentColor",d:"M283.84 867.84 512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"},null,-1),gq=[mq];function bq(e,t,n,o,l,u){return b(),F("svg",_q,gq)}var yq=V(hq,[["render",bq],["__file","star-filled.vue"]]),wq={name:"Star"},Cq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Eq=f("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"},null,-1),Fq=[Eq];function Aq(e,t,n,o,l,u){return b(),F("svg",Cq,Fq)}var Dq=V(wq,[["render",Aq],["__file","star.vue"]]),Bq={name:"Stopwatch"},xq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$q=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Sq=f("path",{fill:"currentColor",d:"M672 234.88c-39.168 174.464-80 298.624-122.688 372.48-64 110.848-202.624 30.848-138.624-80C453.376 453.44 540.48 355.968 672 234.816z"},null,-1),kq=[$q,Sq];function Pq(e,t,n,o,l,u){return b(),F("svg",xq,kq)}var Lq=V(Bq,[["render",Pq],["__file","stopwatch.vue"]]),Tq={name:"SuccessFilled"},zq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Mq=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null,-1),Vq=[Mq];function Iq(e,t,n,o,l,u){return b(),F("svg",zq,Vq)}var mc=V(Tq,[["render",Iq],["__file","success-filled.vue"]]),Hq={name:"Sugar"},Rq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nq=f("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904H252.928zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928h326.208zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"},null,-1),Oq=[Nq];function Uq(e,t,n,o,l,u){return b(),F("svg",Rq,Oq)}var Wq=V(Hq,[["render",Uq],["__file","sugar.vue"]]),qq={name:"SuitcaseLine"},jq={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},Kq=f("path",{d:"M922.5 229.5c-24.32-24.34-54.49-36.84-90.5-37.5H704v-64c-.68-17.98-7.02-32.98-19.01-44.99S658.01 64.66 640 64H384c-17.98.68-32.98 7.02-44.99 19.01S320.66 110 320 128v64H192c-35.99.68-66.16 13.18-90.5 37.5C77.16 253.82 64.66 283.99 64 320v448c.68 35.99 13.18 66.16 37.5 90.5s54.49 36.84 90.5 37.5h640c35.99-.68 66.16-13.18 90.5-37.5s36.84-54.49 37.5-90.5V320c-.68-35.99-13.18-66.16-37.5-90.5zM384 128h256v64H384v-64zM256 832h-64c-17.98-.68-32.98-7.02-44.99-19.01S128.66 786.01 128 768V448h128v384zm448 0H320V448h384v384zm192-64c-.68 17.98-7.02 32.98-19.01 44.99S850.01 831.34 832 832h-64V448h128v320zm0-384H128v-64c.69-17.98 7.02-32.98 19.01-44.99S173.99 256.66 192 256h640c17.98.69 32.98 7.02 44.99 19.01S895.34 301.99 896 320v64z",fill:"currentColor"},null,-1),Gq=[Kq];function Yq(e,t,n,o,l,u){return b(),F("svg",jq,Gq)}var Xq=V(qq,[["render",Yq],["__file","suitcase-line.vue"]]),Jq={name:"Suitcase"},Qq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zq=f("path",{fill:"currentColor",d:"M128 384h768v-64a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64v64zm0 64v320a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V448H128zm64-256h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128z"},null,-1),ej=f("path",{fill:"currentColor",d:"M384 128v64h256v-64H384zm0-64h256a64 64 0 0 1 64 64v64a64 64 0 0 1-64 64H384a64 64 0 0 1-64-64v-64a64 64 0 0 1 64-64z"},null,-1),tj=[Zq,ej];function nj(e,t,n,o,l,u){return b(),F("svg",Qq,tj)}var oj=V(Jq,[["render",nj],["__file","suitcase.vue"]]),lj={name:"Sunny"},uj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aj=f("path",{fill:"currentColor",d:"M512 704a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512zm0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32zM195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248zM64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32zm768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32zM195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0z"},null,-1),rj=[aj];function sj(e,t,n,o,l,u){return b(),F("svg",uj,rj)}var ij=V(lj,[["render",sj],["__file","sunny.vue"]]),cj={name:"Sunrise"},dj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fj=f("path",{fill:"currentColor",d:"M32 768h960a32 32 0 1 1 0 64H32a32 32 0 1 1 0-64zm129.408-96a352 352 0 0 1 701.184 0h-64.32a288 288 0 0 0-572.544 0h-64.32zM512 128a32 32 0 0 1 32 32v96a32 32 0 0 1-64 0v-96a32 32 0 0 1 32-32zm407.296 168.704a32 32 0 0 1 0 45.248l-67.84 67.84a32 32 0 1 1-45.248-45.248l67.84-67.84a32 32 0 0 1 45.248 0zm-814.592 0a32 32 0 0 1 45.248 0l67.84 67.84a32 32 0 1 1-45.248 45.248l-67.84-67.84a32 32 0 0 1 0-45.248z"},null,-1),pj=[fj];function vj(e,t,n,o,l,u){return b(),F("svg",dj,pj)}var hj=V(cj,[["render",vj],["__file","sunrise.vue"]]),_j={name:"Sunset"},mj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gj=f("path",{fill:"currentColor",d:"M82.56 640a448 448 0 1 1 858.88 0h-67.2a384 384 0 1 0-724.288 0H82.56zM32 704h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32zm256 128h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),bj=[gj];function yj(e,t,n,o,l,u){return b(),F("svg",mj,bj)}var wj=V(_j,[["render",yj],["__file","sunset.vue"]]),Cj={name:"SwitchButton"},Ej={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Fj=f("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z"},null,-1),Aj=f("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32z"},null,-1),Dj=[Fj,Aj];function Bj(e,t,n,o,l,u){return b(),F("svg",Ej,Dj)}var xj=V(Cj,[["render",Bj],["__file","switch-button.vue"]]),$j={name:"SwitchFilled"},Sj={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},kj=f("path",{d:"M247.47 358.4v.04c.07 19.17 7.72 37.53 21.27 51.09s31.92 21.2 51.09 21.27c39.86 0 72.41-32.6 72.41-72.4s-32.6-72.36-72.41-72.36-72.36 32.55-72.36 72.36z",fill:"currentColor"},null,-1),Pj=f("path",{d:"M492.38 128H324.7c-52.16 0-102.19 20.73-139.08 57.61a196.655 196.655 0 0 0-57.61 139.08V698.7c-.01 25.84 5.08 51.42 14.96 75.29s24.36 45.56 42.63 63.83 39.95 32.76 63.82 42.65a196.67 196.67 0 0 0 75.28 14.98h167.68c3.03 0 5.46-2.43 5.46-5.42V133.42c.6-2.99-1.83-5.42-5.46-5.42zm-56.11 705.88H324.7c-17.76.13-35.36-3.33-51.75-10.18s-31.22-16.94-43.61-29.67c-25.3-25.35-39.81-59.1-39.81-95.32V324.69c-.13-17.75 3.33-35.35 10.17-51.74a131.695 131.695 0 0 1 29.64-43.62c25.39-25.3 59.14-39.81 95.36-39.81h111.57v644.36zm402.12-647.67a196.655 196.655 0 0 0-139.08-57.61H580.48c-3.03 0-4.82 2.43-4.82 4.82v757.16c-.6 2.99 1.79 5.42 5.42 5.42h118.23a196.69 196.69 0 0 0 139.08-57.61A196.655 196.655 0 0 0 896 699.31V325.29a196.69 196.69 0 0 0-57.61-139.08zm-111.3 441.92c-42.83 0-77.82-34.99-77.82-77.82s34.98-77.82 77.82-77.82c42.83 0 77.82 34.99 77.82 77.82s-34.99 77.82-77.82 77.82z",fill:"currentColor"},null,-1),Lj=[kj,Pj];function Tj(e,t,n,o,l,u){return b(),F("svg",Sj,Lj)}var zj=V($j,[["render",Tj],["__file","switch-filled.vue"]]),Mj={name:"Switch"},Vj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ij=f("path",{fill:"currentColor",d:"M118.656 438.656a32 32 0 0 1 0-45.248L416 96l4.48-3.776A32 32 0 0 1 461.248 96l3.712 4.48a32.064 32.064 0 0 1-3.712 40.832L218.56 384H928a32 32 0 1 1 0 64H141.248a32 32 0 0 1-22.592-9.344zM64 608a32 32 0 0 1 32-32h786.752a32 32 0 0 1 22.656 54.592L608 928l-4.48 3.776a32.064 32.064 0 0 1-40.832-49.024L805.632 640H96a32 32 0 0 1-32-32z"},null,-1),Hj=[Ij];function Rj(e,t,n,o,l,u){return b(),F("svg",Vj,Hj)}var Nj=V(Mj,[["render",Rj],["__file","switch.vue"]]),Oj={name:"TakeawayBox"},Uj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Wj=f("path",{fill:"currentColor",d:"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z"},null,-1),qj=[Wj];function jj(e,t,n,o,l,u){return b(),F("svg",Uj,qj)}var Kj=V(Oj,[["render",jj],["__file","takeaway-box.vue"]]),Gj={name:"Ticket"},Yj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xj=f("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64v160zm0-416v192h64V416h-64z"},null,-1),Jj=[Xj];function Qj(e,t,n,o,l,u){return b(),F("svg",Yj,Jj)}var Zj=V(Gj,[["render",Qj],["__file","ticket.vue"]]),eK={name:"Tickets"},tK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nK=f("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z"},null,-1),oK=[nK];function lK(e,t,n,o,l,u){return b(),F("svg",tK,oK)}var uK=V(eK,[["render",lK],["__file","tickets.vue"]]),aK={name:"Timer"},rK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sK=f("path",{fill:"currentColor",d:"M512 896a320 320 0 1 0 0-640 320 320 0 0 0 0 640zm0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768z"},null,-1),iK=f("path",{fill:"currentColor",d:"M512 320a32 32 0 0 1 32 32l-.512 224a32 32 0 1 1-64 0L480 352a32 32 0 0 1 32-32z"},null,-1),cK=f("path",{fill:"currentColor",d:"M448 576a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm96-448v128h-64V128h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96z"},null,-1),dK=[sK,iK,cK];function fK(e,t,n,o,l,u){return b(),F("svg",rK,dK)}var pK=V(aK,[["render",fK],["__file","timer.vue"]]),vK={name:"ToiletPaper"},hK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_K=f("path",{fill:"currentColor",d:"M595.2 128H320a192 192 0 0 0-192 192v576h384V352c0-90.496 32.448-171.2 83.2-224zM736 64c123.712 0 224 128.96 224 288S859.712 640 736 640H576v320H64V320A256 256 0 0 1 320 64h416zM576 352v224h160c84.352 0 160-97.28 160-224s-75.648-224-160-224-160 97.28-160 224z"},null,-1),mK=f("path",{fill:"currentColor",d:"M736 448c-35.328 0-64-43.008-64-96s28.672-96 64-96 64 43.008 64 96-28.672 96-64 96z"},null,-1),gK=[_K,mK];function bK(e,t,n,o,l,u){return b(),F("svg",hK,gK)}var yK=V(vK,[["render",bK],["__file","toilet-paper.vue"]]),wK={name:"Tools"},CK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EK=f("path",{fill:"currentColor",d:"M764.416 254.72a351.68 351.68 0 0 1 86.336 149.184H960v192.064H850.752a351.68 351.68 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.68 351.68 0 0 1-86.336-149.312H64v-192h109.248a351.68 351.68 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0z"},null,-1),FK=[EK];function AK(e,t,n,o,l,u){return b(),F("svg",CK,FK)}var DK=V(wK,[["render",AK],["__file","tools.vue"]]),BK={name:"TopLeft"},xK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$K=f("path",{fill:"currentColor",d:"M256 256h416a32 32 0 1 0 0-64H224a32 32 0 0 0-32 32v448a32 32 0 0 0 64 0V256z"},null,-1),SK=f("path",{fill:"currentColor",d:"M246.656 201.344a32 32 0 0 0-45.312 45.312l544 544a32 32 0 0 0 45.312-45.312l-544-544z"},null,-1),kK=[$K,SK];function PK(e,t,n,o,l,u){return b(),F("svg",xK,kK)}var LK=V(BK,[["render",PK],["__file","top-left.vue"]]),TK={name:"TopRight"},zK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MK=f("path",{fill:"currentColor",d:"M768 256H353.6a32 32 0 1 1 0-64H800a32 32 0 0 1 32 32v448a32 32 0 0 1-64 0V256z"},null,-1),VK=f("path",{fill:"currentColor",d:"M777.344 201.344a32 32 0 0 1 45.312 45.312l-544 544a32 32 0 0 1-45.312-45.312l544-544z"},null,-1),IK=[MK,VK];function HK(e,t,n,o,l,u){return b(),F("svg",zK,IK)}var RK=V(TK,[["render",HK],["__file","top-right.vue"]]),NK={name:"Top"},OK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},UK=f("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"},null,-1),WK=[UK];function qK(e,t,n,o,l,u){return b(),F("svg",OK,WK)}var jK=V(NK,[["render",qK],["__file","top.vue"]]),KK={name:"TrendCharts"},GK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},YK=f("path",{fill:"currentColor",d:"M128 896V128h768v768H128zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624 139.84-156.608zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0z"},null,-1),XK=[YK];function JK(e,t,n,o,l,u){return b(),F("svg",GK,XK)}var QK=V(KK,[["render",JK],["__file","trend-charts.vue"]]),ZK={name:"TrophyBase"},eG={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},tG=f("path",{d:"M918.4 201.6c-6.4-6.4-12.8-9.6-22.4-9.6H768V96c0-9.6-3.2-16-9.6-22.4C752 67.2 745.6 64 736 64H288c-9.6 0-16 3.2-22.4 9.6C259.2 80 256 86.4 256 96v96H128c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 16-9.6 22.4 3.2 108.8 25.6 185.6 64 224 34.4 34.4 77.56 55.65 127.65 61.99 10.91 20.44 24.78 39.25 41.95 56.41 40.86 40.86 91 65.47 150.4 71.9V768h-96c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h256c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6h-96V637.26c59.4-7.71 109.54-30.01 150.4-70.86 17.2-17.2 31.51-36.06 42.81-56.55 48.93-6.51 90.02-27.7 126.79-61.85 38.4-38.4 60.8-112 64-224 0-6.4-3.2-16-9.6-22.4zM256 438.4c-19.2-6.4-35.2-19.2-51.2-35.2-22.4-22.4-35.2-70.4-41.6-147.2H256v182.4zm390.4 80C608 553.6 566.4 576 512 576s-99.2-19.2-134.4-57.6C342.4 480 320 438.4 320 384V128h384v256c0 54.4-19.2 99.2-57.6 134.4zm172.8-115.2c-16 16-32 25.6-51.2 35.2V256h92.8c-6.4 76.8-19.2 124.8-41.6 147.2zM768 896H256c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h512c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6z",fill:"currentColor"},null,-1),nG=[tG];function oG(e,t,n,o,l,u){return b(),F("svg",eG,nG)}var lG=V(ZK,[["render",oG],["__file","trophy-base.vue"]]),uG={name:"Trophy"},aG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rG=f("path",{fill:"currentColor",d:"M480 896V702.08A256.256 256.256 0 0 1 264.064 512h-32.64a96 96 0 0 1-91.968-68.416L93.632 290.88a76.8 76.8 0 0 1 73.6-98.88H256V96a32 32 0 0 1 32-32h448a32 32 0 0 1 32 32v96h88.768a76.8 76.8 0 0 1 73.6 98.88L884.48 443.52A96 96 0 0 1 792.576 512h-32.64A256.256 256.256 0 0 1 544 702.08V896h128a32 32 0 1 1 0 64H352a32 32 0 1 1 0-64h128zm224-448V128H320v320a192 192 0 1 0 384 0zm64 0h24.576a32 32 0 0 0 30.656-22.784l45.824-152.768A12.8 12.8 0 0 0 856.768 256H768v192zm-512 0V256h-88.768a12.8 12.8 0 0 0-12.288 16.448l45.824 152.768A32 32 0 0 0 231.424 448H256z"},null,-1),sG=[rG];function iG(e,t,n,o,l,u){return b(),F("svg",aG,sG)}var cG=V(uG,[["render",iG],["__file","trophy.vue"]]),dG={name:"TurnOff"},fG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pG=f("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724H329.956zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"},null,-1),vG=f("path",{fill:"currentColor",d:"M329.956 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454zm0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088z"},null,-1),hG=[pG,vG];function _G(e,t,n,o,l,u){return b(),F("svg",fG,hG)}var mG=V(dG,[["render",_G],["__file","turn-off.vue"]]),gG={name:"Umbrella"},bG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yG=f("path",{fill:"currentColor",d:"M320 768a32 32 0 1 1 64 0 64 64 0 0 0 128 0V512H64a448 448 0 1 1 896 0H576v256a128 128 0 1 1-256 0zm570.688-320a384.128 384.128 0 0 0-757.376 0h757.376z"},null,-1),wG=[yG];function CG(e,t,n,o,l,u){return b(),F("svg",bG,wG)}var EG=V(gG,[["render",CG],["__file","umbrella.vue"]]),FG={name:"Unlock"},AG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},DG=f("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"},null,-1),BG=f("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104l-59.456 23.808z"},null,-1),xG=[DG,BG];function $G(e,t,n,o,l,u){return b(),F("svg",AG,xG)}var SG=V(FG,[["render",$G],["__file","unlock.vue"]]),kG={name:"UploadFilled"},PG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},LG=f("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6H544z"},null,-1),TG=[LG];function zG(e,t,n,o,l,u){return b(),F("svg",PG,TG)}var MG=V(kG,[["render",zG],["__file","upload-filled.vue"]]),VG={name:"Upload"},IG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HG=f("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248L544 253.696z"},null,-1),RG=[HG];function NG(e,t,n,o,l,u){return b(),F("svg",IG,RG)}var OG=V(VG,[["render",NG],["__file","upload.vue"]]),UG={name:"UserFilled"},WG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qG=f("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0zm544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"},null,-1),jG=[qG];function KG(e,t,n,o,l,u){return b(),F("svg",WG,jG)}var GG=V(UG,[["render",KG],["__file","user-filled.vue"]]),YG={name:"User"},XG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JG=f("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512zm320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0z"},null,-1),QG=[JG];function ZG(e,t,n,o,l,u){return b(),F("svg",XG,QG)}var eY=V(YG,[["render",ZG],["__file","user.vue"]]),tY={name:"Van"},nY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oY=f("path",{fill:"currentColor",d:"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416h24.256zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672zm48.128-192-14.72-96H704v96h151.872zM688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160zm-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160z"},null,-1),lY=[oY];function uY(e,t,n,o,l,u){return b(),F("svg",nY,lY)}var aY=V(tY,[["render",uY],["__file","van.vue"]]),rY={name:"VideoCameraFilled"},sY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iY=f("path",{fill:"currentColor",d:"m768 576 192-64v320l-192-64v96a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V480a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v96zM192 768v64h384v-64H192zm192-480a160 160 0 0 1 320 0 160 160 0 0 1-320 0zm64 0a96 96 0 1 0 192.064-.064A96 96 0 0 0 448 288zm-320 32a128 128 0 1 1 256.064.064A128 128 0 0 1 128 320zm64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z"},null,-1),cY=[iY];function dY(e,t,n,o,l,u){return b(),F("svg",sY,cY)}var fY=V(rY,[["render",dY],["__file","video-camera-filled.vue"]]),pY={name:"VideoCamera"},vY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hY=f("path",{fill:"currentColor",d:"M704 768V256H128v512h576zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v128zm0 71.552v176.896l128 64V359.552l-128 64zM192 320h192v64H192v-64z"},null,-1),_Y=[hY];function mY(e,t,n,o,l,u){return b(),F("svg",vY,_Y)}var gY=V(pY,[["render",mY],["__file","video-camera.vue"]]),bY={name:"VideoPause"},yY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wY=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32zm192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32z"},null,-1),CY=[wY];function EY(e,t,n,o,l,u){return b(),F("svg",yY,CY)}var FY=V(bY,[["render",EY],["__file","video-pause.vue"]]),AY={name:"VideoPlay"},DY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BY=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm-48-247.616L668.608 512 464 375.616v272.768zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"},null,-1),xY=[BY];function $Y(e,t,n,o,l,u){return b(),F("svg",DY,xY)}var SY=V(AY,[["render",$Y],["__file","video-play.vue"]]),kY={name:"View"},PY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},LY=f("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352zm0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448zm0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160z"},null,-1),TY=[LY];function zY(e,t,n,o,l,u){return b(),F("svg",PY,TY)}var Rf=V(kY,[["render",zY],["__file","view.vue"]]),MY={name:"WalletFilled"},VY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IY=f("path",{fill:"currentColor",d:"M688 512a112 112 0 1 0 0 224h208v160H128V352h768v160H688zm32 160h-32a48 48 0 0 1 0-96h32a48 48 0 0 1 0 96zm-80-544 128 160H384l256-160z"},null,-1),HY=[IY];function RY(e,t,n,o,l,u){return b(),F("svg",VY,HY)}var NY=V(MY,[["render",RY],["__file","wallet-filled.vue"]]),OY={name:"Wallet"},UY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WY=f("path",{fill:"currentColor",d:"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v192z"},null,-1),qY=f("path",{fill:"currentColor",d:"M128 320v512h768V320H128zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32z"},null,-1),jY=f("path",{fill:"currentColor",d:"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128z"},null,-1),KY=[WY,qY,jY];function GY(e,t,n,o,l,u){return b(),F("svg",UY,KY)}var YY=V(OY,[["render",GY],["__file","wallet.vue"]]),XY={name:"WarnTriangleFilled"},JY={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},QY=f("path",{d:"M928.99 755.83 574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z",fill:"currentColor"},null,-1),ZY=[QY];function eX(e,t,n,o,l,u){return b(),F("svg",JY,ZY)}var tX=V(XY,[["render",eX],["__file","warn-triangle-filled.vue"]]),nX={name:"WarningFilled"},oX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lX=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"},null,-1),uX=[lX];function aX(e,t,n,o,l,u){return b(),F("svg",oX,uX)}var Xr=V(nX,[["render",aX],["__file","warning-filled.vue"]]),rX={name:"Warning"},sX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iX=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32z"},null,-1),cX=[iX];function dX(e,t,n,o,l,u){return b(),F("svg",sX,cX)}var fX=V(rX,[["render",dX],["__file","warning.vue"]]),pX={name:"Watch"},vX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hX=f("path",{fill:"currentColor",d:"M512 768a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),_X=f("path",{fill:"currentColor",d:"M480 352a32 32 0 0 1 32 32v160a32 32 0 0 1-64 0V384a32 32 0 0 1 32-32z"},null,-1),mX=f("path",{fill:"currentColor",d:"M480 512h128q32 0 32 32t-32 32H480q-32 0-32-32t32-32zm128-256V128H416v128h-64V64h320v192h-64zM416 768v128h192V768h64v192H352V768h64z"},null,-1),gX=[hX,_X,mX];function bX(e,t,n,o,l,u){return b(),F("svg",vX,gX)}var yX=V(pX,[["render",bX],["__file","watch.vue"]]),wX={name:"Watermelon"},CX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EX=f("path",{fill:"currentColor",d:"m683.072 600.32-43.648 162.816-61.824-16.512 53.248-198.528L576 493.248l-158.4 158.4-45.248-45.248 158.4-158.4-55.616-55.616-198.528 53.248-16.512-61.824 162.816-43.648L282.752 200A384 384 0 0 0 824 741.248L683.072 600.32zm231.552 141.056a448 448 0 1 1-632-632l632 632z"},null,-1),FX=[EX];function AX(e,t,n,o,l,u){return b(),F("svg",CX,FX)}var DX=V(wX,[["render",AX],["__file","watermelon.vue"]]),BX={name:"WindPower"},xX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$X=f("path",{fill:"currentColor",d:"M160 64q32 0 32 32v832q0 32-32 32t-32-32V96q0-32 32-32zm416 354.624 128-11.584V168.96l-128-11.52v261.12zm-64 5.824V151.552L320 134.08V160h-64V64l616.704 56.064A96 96 0 0 1 960 215.68v144.64a96 96 0 0 1-87.296 95.616L256 512V224h64v217.92l192-17.472zm256-23.232 98.88-8.96A32 32 0 0 0 896 360.32V215.68a32 32 0 0 0-29.12-31.872l-98.88-8.96v226.368z"},null,-1),SX=[$X];function kX(e,t,n,o,l,u){return b(),F("svg",xX,SX)}var PX=V(BX,[["render",kX],["__file","wind-power.vue"]]),LX={name:"ZoomIn"},TX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zX=f("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zm-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96z"},null,-1),MX=[zX];function VX(e,t,n,o,l,u){return b(),F("svg",TX,MX)}var Nf=V(LX,[["render",VX],["__file","zoom-in.vue"]]),IX={name:"ZoomOut"},HX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RX=f("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zM352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),NX=[RX];function OX(e,t,n,o,l,u){return b(),F("svg",HX,NX)}var UX=V(IX,[["render",OX],["__file","zoom-out.vue"]]),B0=Object.freeze(Object.defineProperty({__proto__:null,AddLocation:N9,Aim:G9,AlarmClock:tg,Apple:rg,ArrowDown:pa,ArrowDownBold:pg,ArrowLeft:kf,ArrowLeftBold:Fg,ArrowRight:wu,ArrowRightBold:zg,ArrowUp:pc,ArrowUpBold:jg,Avatar:o7,Back:c7,Baseball:m7,Basketball:E7,Bell:V7,BellFilled:$7,Bicycle:U7,Bottom:ib,BottomLeft:X7,BottomRight:ob,Bowl:hb,Box:Eb,Briefcase:$b,Brush:Nb,BrushFilled:zb,Burger:Kb,Calendar:Zb,Camera:dy,CameraFilled:uy,CaretBottom:my,CaretLeft:Ey,CaretRight:$y,CaretTop:zy,Cellphone:Ny,ChatDotRound:Gy,ChatDotSquare:tw,ChatLineRound:sw,ChatLineSquare:hw,ChatRound:ww,ChatSquare:Bw,Check:vc,Checked:Iw,Cherry:Ww,Chicken:Xw,ChromeFilled:lC,CircleCheck:Yr,CircleCheckFilled:cC,CircleClose:va,CircleCloseFilled:hc,CirclePlus:NC,CirclePlusFilled:LC,Clock:YC,Close:$l,CloseBold:tE,Cloudy:fE,Coffee:FE,CoffeeCup:gE,Coin:PE,ColdDrink:IE,Collection:JE,CollectionTag:WE,Comment:oF,Compass:cF,Connection:mF,Coordinate:FF,CopyDocument:kF,Cpu:IF,CreditCard:qF,Crop:QF,DArrowLeft:Pf,DArrowRight:Lf,DCaret:vA,DataAnalysis:yA,DataBoard:xA,DataLine:TA,Delete:Tf,DeleteFilled:RA,DeleteLocation:GA,Dessert:uD,Discount:fD,Dish:FD,DishDot:gD,Document:zf,DocumentAdd:SD,DocumentChecked:MD,DocumentCopy:OD,DocumentDelete:GD,DocumentRemove:eB,Download:dB,Drizzling:mB,Edit:SB,EditPen:EB,Eleme:OB,ElemeFilled:MB,ElementPlus:GB,Expand:ex,Failed:ax,Female:vx,Files:yx,Film:Bx,Filter:Lx,Finished:Hx,FirstAidKit:jx,Flag:Qx,Fold:l$,Folder:R$,FolderAdd:c$,FolderChecked:_$,FolderDelete:C$,FolderOpened:x$,FolderRemove:T$,Food:j$,Football:Z$,ForkSpoon:uS,Fries:dS,FullScreen:mS,Goblet:NS,GobletFull:ES,GobletSquare:zS,GobletSquareFull:$S,GoldMedal:GS,Goods:ak,GoodsFilled:ek,Grape:fk,Grid:gk,Guide:Ak,Handbag:kk,Headset:Vk,Help:Yk,HelpFilled:Uk,Hide:Mf,Histogram:rP,HomeFilled:pP,HotWater:bP,House:AP,IceCream:UP,IceCreamRound:kP,IceCreamSquare:VP,IceDrink:YP,IceTea:tL,InfoFilled:_c,Iphone:fL,Key:gL,KnifeFork:FL,Lightning:kL,Link:VL,List:UL,Loading:ha,Location:hT,LocationFilled:eT,LocationInformation:sT,Lock:CT,Lollipop:xT,MagicStick:TT,Magnet:RT,Male:GT,Management:ez,MapLocation:rz,Medal:vz,Memo:Cz,Menu:xz,Message:Nz,MessageBox:Tz,Mic:Kz,Microphone:Zz,MilkTea:uM,Minus:Vf,Money:gM,Monitor:FM,Moon:VM,MoonNight:kM,More:If,MoreFilled:ti,MostlyCloudy:ZM,Mouse:aV,Mug:fV,Mute:DV,MuteNotification:bV,NoSmoking:PV,Notebook:HV,Notification:jV,Odometer:eI,OfficeBuilding:sI,Open:hI,Operation:wI,Opportunity:BI,Orange:LI,Paperclip:HI,PartlyCloudy:jI,Pear:QI,Phone:cH,PhoneFilled:lH,Picture:SH,PictureFilled:_H,PictureRounded:EH,PieChart:VH,Place:qH,Platform:JH,Plus:Hf,Pointer:sR,Position:vR,Postcard:wR,Pouring:BR,Present:MR,PriceTag:UR,Printer:YR,Promotion:tN,QuartzWatch:iN,QuestionFilled:hN,Rank:wN,Reading:zN,ReadingLamp:xN,Refresh:ZN,RefreshLeft:NN,RefreshRight:KN,Refrigerator:uO,Remove:gO,RemoveFilled:dO,Right:FO,ScaleToOriginal:SO,School:IO,Scissor:WO,Search:XO,Select:nU,Sell:sU,SemiSelect:vU,Service:yU,SetUp:$U,Setting:zU,Share:NU,Ship:KU,Shop:ZU,ShoppingBag:aW,ShoppingCart:bW,ShoppingCartFull:pW,ShoppingTrolley:AW,Smoking:PW,Soccer:IW,SoldOut:WW,Sort:sq,SortDown:XW,SortUp:nq,Stamp:vq,Star:Dq,StarFilled:yq,Stopwatch:Lq,SuccessFilled:mc,Sugar:Wq,Suitcase:oj,SuitcaseLine:Xq,Sunny:ij,Sunrise:hj,Sunset:wj,Switch:Nj,SwitchButton:xj,SwitchFilled:zj,TakeawayBox:Kj,Ticket:Zj,Tickets:uK,Timer:pK,ToiletPaper:yK,Tools:DK,Top:jK,TopLeft:LK,TopRight:RK,TrendCharts:QK,Trophy:cG,TrophyBase:lG,TurnOff:mG,Umbrella:EG,Unlock:SG,Upload:OG,UploadFilled:MG,User:eY,UserFilled:GG,Van:aY,VideoCamera:gY,VideoCameraFilled:fY,VideoPause:FY,VideoPlay:SY,View:Rf,Wallet:YY,WalletFilled:NY,WarnTriangleFilled:tX,Warning:fX,WarningFilled:Xr,Watch:yX,Watermelon:DX,WindPower:PX,ZoomIn:Nf,ZoomOut:UX},Symbol.toStringTag,{value:"Module"}));const Of="__epPropKey",He=e=>e,WX=e=>dt(e)&&!!e[Of],Jr=(e,t)=>{if(!dt(e)||WX(e))return e;const{values:n,required:o,default:l,type:u,validator:a}=e,s={type:u,required:!!o,validator:n||a?i=>{let p=!1,m=[];if(n&&(m=Array.from(n),st(e,"default")&&m.push(l),p||(p=m.includes(i))),a&&(p||(p=a(i))),!p&&m.length>0){const v=[...new Set(m)].map(_=>JSON.stringify(_)).join(", ");Jp(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${v}], got value ${JSON.stringify(i)}.`)}return p}:void 0,[Of]:!0};return st(e,"default")&&(s.default=l),s},et=e=>xf(Object.entries(e).map(([t,n])=>[t,Jr(n,t)])),Tt=He([String,Object,Function]),Uf={Close:$l},Wf={Close:$l,SuccessFilled:mc,InfoFilled:_c,WarningFilled:Xr,CircleCloseFilled:hc},au={success:mc,warning:Xr,error:hc,info:_c},qX={validating:ha,success:Yr,error:va},Ft=(e,t)=>{if(e.install=n=>{for(const o of[e,...Object.values(t!=null?t:{})])n.component(o.name,o)},t)for(const[n,o]of Object.entries(t))e[n]=o;return e},qf=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),Nt=e=>(e.install=vt,e),jX=(...e)=>t=>{e.forEach(n=>{Ge(n)?n(t):n.value=t})},Lt={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},bt="update:modelValue",Jn="change",Dl="input",Cu=["","default","small","large"],KX={large:40,default:32,small:24},GX=e=>KX[e||"default"],gc=e=>["",...Cu].includes(e);var er=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(er||{});const YX=e=>{if(!cn(e))return{};const t=e.props||{},n=(cn(e.type)?e.type.props:void 0)||{},o={};return Object.keys(n).forEach(l=>{st(n[l],"default")&&(o[l]=n[l].default)}),Object.keys(t).forEach(l=>{o[Ln(l)]=t[l]}),o},Fr=e=>{const t=qe(e)?e:[e],n=[];return t.forEach(o=>{qe(o)?n.push(...Fr(o)):cn(o)&&qe(o.children)?n.push(...Fr(o.children)):n.push(o)}),n},jf=e=>/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(e),bc=()=>Math.floor(Math.random()*1e4),So=e=>e,XX=["class","style"],JX=/^on[A-Z]/,QX=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,o=U(()=>((n==null?void 0:n.value)||[]).concat(XX)),l=pt();return U(l?()=>{var u;return xf(Object.entries((u=l.proxy)==null?void 0:u.$attrs).filter(([a])=>!o.value.includes(a)&&!(t&&JX.test(a))))}:()=>({}))},Kf=Symbol("buttonGroupContextKey"),Eu=Symbol("checkboxGroupContextKey"),Gf=Symbol("collapseContextKey"),Yf=Symbol(),Xf=Symbol("dialogInjectionKey"),Fu=Symbol("formContextKey"),Sl=Symbol("formItemContextKey"),Jf=Symbol("elPaginationKey"),Qf=Symbol("radioGroupKey"),Zf=Symbol("scrollbarContextKey"),e4=Symbol("uploadContextKey"),yc=Symbol("popper"),t4=Symbol("popperContent"),wc=Symbol("elTooltip"),n4=e=>{const t=pt();return U(()=>{var n,o;return(o=((n=t.proxy)==null?void 0:n.$props)[e])!=null?o:void 0})},Ar=L();function Vo(e,t=void 0){const n=pt()?Xe(Yf,Ar):Ar;return e?U(()=>{var o,l;return(l=(o=n.value)==null?void 0:o[e])!=null?l:t}):n}const ZX=(e,t,n=!1)=>{var o;const l=!!pt(),u=l?Vo():void 0,a=(o=t==null?void 0:t.provide)!=null?o:l?Dt:void 0;if(!a)return;const r=U(()=>{const s=h(e);return u!=null&&u.value?eJ(u.value,s):s});return a(Yf,r),(n||!Ar.value)&&(Ar.value=r.value),r},eJ=(e,t)=>{var n;const o=[...new Set([...D0(e),...D0(t)])],l={};for(const u of o)l[u]=(n=t[u])!=null?n:e[u];return l},Io=Jr({type:String,values:Cu,required:!1}),dn=(e,t={})=>{const n=L(void 0),o=t.prop?n:n4("size"),l=t.global?n:Vo("size"),u=t.form?{size:void 0}:Xe(Fu,void 0),a=t.formItem?{size:void 0}:Xe(Sl,void 0);return U(()=>o.value||h(e)||(a==null?void 0:a.size)||(u==null?void 0:u.size)||l.value||"")},ul=e=>{const t=n4("disabled"),n=Xe(Fu,void 0);return U(()=>t.value||h(e)||(n==null?void 0:n.disabled)||!1)},ua=({from:e,replacement:t,scope:n,version:o,ref:l,type:u="API"},a)=>{Me(()=>h(a),r=>{},{immediate:!0})},o4=(e,t,n)=>{let o={offsetX:0,offsetY:0};const l=r=>{const s=r.clientX,i=r.clientY,{offsetX:p,offsetY:m}=o,v=e.value.getBoundingClientRect(),_=v.left,g=v.top,y=v.width,w=v.height,E=document.documentElement.clientWidth,D=document.documentElement.clientHeight,C=-_+p,B=-g+m,$=E-_-y+p,k=D-g-w+m,P=H=>{const j=Math.min(Math.max(p+H.clientX-s,C),$),X=Math.min(Math.max(m+H.clientY-i,B),k);o={offsetX:j,offsetY:X},e.value.style.transform=`translate(${Xn(j)}, ${Xn(X)})`},T=()=>{document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",T)};document.addEventListener("mousemove",P),document.addEventListener("mouseup",T)},u=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",l)},a=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",l)};ot(()=>{Do(()=>{n.value?u():a()})}),Mt(()=>{a()})},tJ=e=>({focus:()=>{var t,n;(n=(t=e.value)==null?void 0:t.focus)==null||n.call(t)}}),Qr="el",nJ="is-",dl=(e,t,n,o,l)=>{let u=`${e}-${t}`;return n&&(u+=`-${n}`),o&&(u+=`__${o}`),l&&(u+=`--${l}`),u},Ve=e=>{const t=Vo("namespace",Qr);return{namespace:t,b:(g="")=>dl(t.value,e,g,"",""),e:g=>g?dl(t.value,e,"",g,""):"",m:g=>g?dl(t.value,e,"","",g):"",be:(g,y)=>g&&y?dl(t.value,e,g,y,""):"",em:(g,y)=>g&&y?dl(t.value,e,"",g,y):"",bm:(g,y)=>g&&y?dl(t.value,e,g,"",y):"",bem:(g,y,w)=>g&&y&&w?dl(t.value,e,g,y,w):"",is:(g,...y)=>{const w=y.length>=1?y[0]:!0;return g&&w?`${nJ}${g}`:""},cssVar:g=>{const y={};for(const w in g)g[w]&&(y[`--${t.value}-${w}`]=g[w]);return y},cssVarName:g=>`--${t.value}-${g}`,cssVarBlock:g=>{const y={};for(const w in g)g[w]&&(y[`--${t.value}-${e}-${w}`]=g[w]);return y},cssVarBlockName:g=>`--${t.value}-${e}-${g}`}},oJ={prefix:Math.floor(Math.random()*1e4),current:0},lJ=Symbol("elIdInjection"),ol=e=>{const t=Xe(lJ,oJ),n=Vo("namespace",Qr);return U(()=>h(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},Ho=()=>{const e=Xe(Fu,void 0),t=Xe(Sl,void 0);return{form:e,formItem:t}},_a=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:o})=>{n||(n=L(!1)),o||(o=L(!1));const l=L();let u;const a=U(()=>{var r;return!!(!e.label&&t&&t.inputIds&&((r=t.inputIds)==null?void 0:r.length)<=1)});return ot(()=>{u=Me([Tn(e,"id"),n],([r,s])=>{const i=r!=null?r:s?void 0:ol().value;i!==l.value&&(t!=null&&t.removeInputId&&(l.value&&t.removeInputId(l.value),!(o!=null&&o.value)&&!s&&i&&t.addInputId(i)),l.value=i)},{immediate:!0})}),In(()=>{u&&u(),t!=null&&t.removeInputId&&l.value&&t.removeInputId(l.value)}),{isLabeledByFormItem:a,inputId:l}};var uJ={name:"en",el:{colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"}}};const aJ=e=>(t,n)=>rJ(t,n,h(e)),rJ=(e,t,n)=>en(n,e,e).replace(/\{(\w+)\}/g,(o,l)=>{var u;return`${(u=t==null?void 0:t[l])!=null?u:`{${l}}`}`}),sJ=e=>{const t=U(()=>h(e).name),n=yt(e)?e:L(e);return{lang:t,locale:n,t:aJ(e)}},Dn=()=>{const e=Vo("locale");return sJ(U(()=>e.value||uJ))},l4=e=>{yt(e)||An("[useLockscreen]","You need to pass a ref param to this function");const t=Ve("popup"),n=h1(()=>t.bm("parent","hidden"));if(!_t||Al(document.body,n.value))return;let o=0,l=!1,u="0";const a=()=>{setTimeout(()=>{Gn(document.body,n.value),l&&(document.body.style.width=u)},200)};Me(e,r=>{if(!r){a();return}l=!Al(document.body,n.value),l&&(u=document.body.style.width),o=P9(t.namespace.value);const s=document.documentElement.clientHeight0&&(s||i==="scroll")&&l&&(document.body.style.width=`calc(100% - ${o}px)`),Fo(document.body,n.value)}),Jd(()=>a())},iJ=Jr({type:He(Boolean),default:null}),cJ=Jr({type:He(Function)}),dJ=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,o=[t],l={[e]:iJ,[n]:cJ};return{useModelToggle:({indicator:a,toggleReason:r,shouldHideWhenRouteChanges:s,shouldProceed:i,onShow:p,onHide:m})=>{const v=pt(),{emit:_}=v,g=v.props,y=U(()=>Ge(g[n])),w=U(()=>g[e]===null),E=P=>{a.value!==!0&&(a.value=!0,r&&(r.value=P),Ge(p)&&p(P))},D=P=>{a.value!==!1&&(a.value=!1,r&&(r.value=P),Ge(m)&&m(P))},C=P=>{if(g.disabled===!0||Ge(i)&&!i())return;const T=y.value&&_t;T&&_(t,!0),(w.value||!T)&&E(P)},B=P=>{if(g.disabled===!0||!_t)return;const T=y.value&&_t;T&&_(t,!1),(w.value||!T)&&D(P)},$=P=>{!Ut(P)||(g.disabled&&P?y.value&&_(t,!1):a.value!==P&&(P?E():D()))},k=()=>{a.value?B():C()};return Me(()=>g[e],$),s&&v.appContext.config.globalProperties.$route!==void 0&&Me(()=>({...v.proxy.$route}),()=>{s.value&&a.value&&B()}),ot(()=>{$(g[e])}),{hide:B,show:C,toggle:k,hasUpdateHandler:y}},useModelToggleProps:l,useModelToggleEmits:o}},fJ=(e,t)=>{let n;Me(()=>e.value,o=>{var l,u;o?(n=document.activeElement,yt(t)&&((u=(l=t.value).focus)==null||u.call(l))):n.focus()})},Cc=e=>{if(!e)return{onClick:vt,onMousedown:vt,onMouseup:vt};let t=!1,n=!1;return{onClick:a=>{t&&n&&e(a),t=n=!1},onMousedown:a=>{t=a.target===a.currentTarget},onMouseup:a=>{n=a.target===a.currentTarget}}};function pJ(){let e;const t=(o,l)=>{n(),e=window.setTimeout(o,l)},n=()=>window.clearTimeout(e);return Kr(()=>n()),{registerTimeout:t,cancelTimeout:n}}let Wl=[];const x0=e=>{const t=e;t.key===Lt.esc&&Wl.forEach(n=>n(t))},vJ=e=>{ot(()=>{Wl.length===0&&document.addEventListener("keydown",x0),_t&&Wl.push(e)}),Mt(()=>{Wl=Wl.filter(t=>t!==e),Wl.length===0&&_t&&document.removeEventListener("keydown",x0)})};let $0;const hJ=Vo("namespace",Qr),u4=`${hJ.value}-popper-container-${bc()}`,a4=`#${u4}`,_J=()=>{const e=document.createElement("div");return e.id=u4,document.body.appendChild(e),e},mJ=()=>{Hr(()=>{!_t||(!$0||!document.body.querySelector(a4))&&($0=_J())})},gJ=et({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200}}),bJ=({showAfter:e,hideAfter:t,open:n,close:o})=>{const{registerTimeout:l}=pJ();return{onOpen:r=>{l(()=>{n(r)},h(e))},onClose:r=>{l(()=>{o(r)},h(t))}}},r4=Symbol("elForwardRef"),yJ=e=>{Dt(r4,{setForwardRef:n=>{e.value=n}})},wJ=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),S0=L(0),Ml=()=>{const e=Vo("zIndex",2e3),t=U(()=>e.value+S0.value);return{initialZIndex:e,currentZIndex:t,nextZIndex:()=>(S0.value++,t.value)}};function CJ(e){const t=L();function n(){if(e.value==null)return;const{selectionStart:l,selectionEnd:u,value:a}=e.value;if(l==null||u==null)return;const r=a.slice(0,Math.max(0,l)),s=a.slice(Math.max(0,u));t.value={selectionStart:l,selectionEnd:u,value:a,beforeTxt:r,afterTxt:s}}function o(){if(e.value==null||t.value==null)return;const{value:l}=e.value,{beforeTxt:u,afterTxt:a,selectionStart:r}=t.value;if(u==null||a==null||r==null)return;let s=l.length;if(l.endsWith(a))s=l.length-a.length;else if(l.startsWith(u))s=u.length;else{const i=u[r-1],p=l.indexOf(i,r-1);p!==-1&&(s=p+1)}e.value.setSelectionRange(s,s)}return[n,o]}const EJ=et({zIndex:{type:He([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"}}),FJ={scroll:({scrollTop:e,fixed:t})=>gt(e)&&Ut(t),[Jn]:e=>Ut(e)};var We=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n};const s4="ElAffix",AJ=le({name:s4}),DJ=le({...AJ,props:EJ,emits:FJ,setup(e,{expose:t,emit:n}){const o=e,l=Ve("affix"),u=Kn(),a=Kn(),r=Kn(),{height:s}=D9(),{height:i,width:p,top:m,bottom:v,update:_}=C0(a,{windowScroll:!1}),g=C0(u),y=L(!1),w=L(0),E=L(0),D=U(()=>({height:y.value?`${i.value}px`:"",width:y.value?`${p.value}px`:""})),C=U(()=>{if(!y.value)return{};const k=o.offset?`${o.offset}px`:0;return{height:`${i.value}px`,width:`${p.value}px`,top:o.position==="top"?k:"",bottom:o.position==="bottom"?k:"",transform:E.value?`translateY(${E.value}px)`:"",zIndex:o.zIndex}}),B=()=>{if(!!r.value)if(w.value=r.value instanceof Window?document.documentElement.scrollTop:r.value.scrollTop||0,o.position==="top")if(o.target){const k=g.bottom.value-o.offset-i.value;y.value=o.offset>m.value&&g.bottom.value>0,E.value=k<0?k:0}else y.value=o.offset>m.value;else if(o.target){const k=s.value-g.top.value-o.offset-i.value;y.value=s.value-o.offsetg.top.value,E.value=k<0?-k:0}else y.value=s.value-o.offset{_(),n("scroll",{scrollTop:w.value,fixed:y.value})};return Me(y,k=>n("change",k)),ot(()=>{var k;o.target?(u.value=(k=document.querySelector(o.target))!=null?k:void 0,u.value||An(s4,`Target is not existed: ${o.target}`)):u.value=document.documentElement,r.value=k9(a.value,!0),_()}),Gt(r,"scroll",$),Do(B),t({update:B,updateRoot:_}),(k,P)=>(b(),F("div",{ref_key:"root",ref:a,class:K(h(l).b()),style:ut(h(D))},[f("div",{class:K({[h(l).m("fixed")]:y.value}),style:ut(h(C))},[ze(k.$slots,"default")],6)],6))}});var BJ=We(DJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/affix/src/affix.vue"]]);const Vl=Ft(BJ),xJ=et({size:{type:He([Number,String])},color:{type:String}}),$J=le({name:"ElIcon",inheritAttrs:!1}),SJ=le({...$J,props:xJ,setup(e){const t=e,n=Ve("icon"),o=U(()=>{const{size:l,color:u}=t;return!l&&!u?{}:{fontSize:jn(l)?void 0:Xn(l),"--color":u}});return(l,u)=>(b(),F("i",kn({class:h(n).b(),style:h(o)},l.$attrs),[ze(l.$slots,"default")],16))}});var kJ=We(SJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]);const rt=Ft(kJ);let Nn;const PJ=` height:0 !important; visibility:hidden !important; overflow:hidden !important; position:absolute !important; z-index:-1000 !important; top:0 !important; right:0 !important; `,LJ=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function TJ(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),l=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:LJ.map(a=>`${a}:${t.getPropertyValue(a)}`).join(";"),paddingSize:o,borderSize:l,boxSizing:n}}function k0(e,t=1,n){var o;Nn||(Nn=document.createElement("textarea"),document.body.appendChild(Nn));const{paddingSize:l,borderSize:u,boxSizing:a,contextStyle:r}=TJ(e);Nn.setAttribute("style",`${r};${PJ}`),Nn.value=e.value||e.placeholder||"";let s=Nn.scrollHeight;const i={};a==="border-box"?s=s+u:a==="content-box"&&(s=s-l),Nn.value="";const p=Nn.scrollHeight-l;if(gt(t)){let m=p*t;a==="border-box"&&(m=m+l+u),s=Math.max(m,s),i.minHeight=`${m}px`}if(gt(n)){let m=p*n;a==="border-box"&&(m=m+l+u),s=Math.min(m,s)}return i.height=`${s}px`,(o=Nn.parentNode)==null||o.removeChild(Nn),Nn=void 0,i}const zJ=et({id:{type:String,default:void 0},size:Io,disabled:Boolean,modelValue:{type:He([String,Number,Object]),default:""},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:He([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String,default:""},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},suffixIcon:{type:Tt},prefixIcon:{type:Tt},containerRole:{type:String,default:void 0},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:He([Object,Array,String]),default:()=>So({})}}),MJ={[bt]:e=>tt(e),input:e=>tt(e),change:e=>tt(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},VJ=["role"],IJ=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder"],HJ=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder"],RJ=le({name:"ElInput",inheritAttrs:!1}),NJ=le({...RJ,props:zJ,emits:MJ,setup(e,{expose:t,emit:n}){const o=e,l={suffix:"append",prefix:"prepend"},u=pt(),a=o8(),r=To(),s=U(()=>{const ee={};return o.containerRole==="combobox"&&(ee["aria-haspopup"]=a["aria-haspopup"],ee["aria-owns"]=a["aria-owns"],ee["aria-expanded"]=a["aria-expanded"]),ee}),i=QX({excludeKeys:U(()=>Object.keys(s.value))}),{form:p,formItem:m}=Ho(),{inputId:v}=_a(o,{formItemContext:m}),_=dn(),g=ul(),y=Ve("input"),w=Ve("textarea"),E=Kn(),D=Kn(),C=L(!1),B=L(!1),$=L(!1),k=L(!1),P=L(),T=Kn(o.inputStyle),H=U(()=>E.value||D.value),j=U(()=>{var ee;return(ee=p==null?void 0:p.statusIcon)!=null?ee:!1}),X=U(()=>(m==null?void 0:m.validateState)||""),W=U(()=>X.value&&qX[X.value]),N=U(()=>k.value?Rf:Mf),J=U(()=>[a.style,o.inputStyle]),be=U(()=>[o.inputStyle,T.value,{resize:o.resize}]),ve=U(()=>io(o.modelValue)?"":String(o.modelValue)),Ee=U(()=>o.clearable&&!g.value&&!o.readonly&&!!ve.value&&(C.value||B.value)),te=U(()=>o.showPassword&&!g.value&&!o.readonly&&!!ve.value&&(!!ve.value||C.value)),Z=U(()=>o.showWordLimit&&!!i.value.maxlength&&(o.type==="text"||o.type==="textarea")&&!g.value&&!o.readonly&&!o.showPassword),De=U(()=>Array.from(ve.value).length),Be=U(()=>!!Z.value&&De.value>Number(i.value.maxlength)),x=U(()=>!!r.suffix||!!o.suffixIcon||Ee.value||o.showPassword||Z.value||!!X.value&&j.value),[O,ye]=CJ(E);po(D,ee=>{if(!Z.value||o.resize!=="both")return;const Se=ee[0],{width:Ke}=Se.contentRect;P.value={right:`calc(100% - ${Ke+15+6}px)`}});const xe=()=>{const{type:ee,autosize:Se}=o;if(!(!_t||ee!=="textarea"))if(Se){const Ke=dt(Se)?Se.minRows:void 0,nt=dt(Se)?Se.maxRows:void 0;T.value={...k0(D.value,Ke,nt)}}else T.value={minHeight:k0(D.value).minHeight}},Pe=()=>{const ee=H.value;!ee||ee.value===ve.value||(ee.value=ve.value)},he=ee=>{const{el:Se}=u.vnode;if(!Se)return;const nt=Array.from(Se.querySelectorAll(`.${y.e(ee)}`)).find(Le=>Le.parentNode===Se);if(!nt)return;const we=l[ee];r[we]?nt.style.transform=`translateX(${ee==="suffix"?"-":""}${Se.querySelector(`.${y.be("group",we)}`).offsetWidth}px)`:nt.removeAttribute("style")},Te=()=>{he("prefix"),he("suffix")},je=async ee=>{O();let{value:Se}=ee.target;if(o.formatter&&(Se=o.parser?o.parser(Se):Se,Se=o.formatter(Se)),!$.value){if(Se===ve.value){Pe();return}n(bt,Se),n("input",Se),await at(),Pe(),ye()}},de=ee=>{n("change",ee.target.value)},se=ee=>{n("compositionstart",ee),$.value=!0},z=ee=>{var Se;n("compositionupdate",ee);const Ke=(Se=ee.target)==null?void 0:Se.value,nt=Ke[Ke.length-1]||"";$.value=!jf(nt)},q=ee=>{n("compositionend",ee),$.value&&($.value=!1,je(ee))},R=()=>{k.value=!k.value,I()},I=async()=>{var ee;await at(),(ee=H.value)==null||ee.focus()},Y=()=>{var ee;return(ee=H.value)==null?void 0:ee.blur()},pe=ee=>{C.value=!0,n("focus",ee)},Fe=ee=>{var Se;C.value=!1,n("blur",ee),o.validateEvent&&((Se=m==null?void 0:m.validate)==null||Se.call(m,"blur").catch(Ke=>void 0))},ce=ee=>{B.value=!1,n("mouseleave",ee)},Ae=ee=>{B.value=!0,n("mouseenter",ee)},ue=ee=>{n("keydown",ee)},me=()=>{var ee;(ee=H.value)==null||ee.select()},Ie=()=>{n(bt,""),n("change",""),n("clear"),n("input","")};return Me(()=>o.modelValue,()=>{var ee;at(()=>xe()),o.validateEvent&&((ee=m==null?void 0:m.validate)==null||ee.call(m,"change").catch(Se=>void 0))}),Me(ve,()=>Pe()),Me(()=>o.type,async()=>{await at(),Pe(),xe(),Te()}),ot(()=>{!o.formatter&&o.parser,Pe(),Te(),at(xe)}),Ll(()=>{at(Te)}),t({input:E,textarea:D,ref:H,textareaStyle:be,autosize:Tn(o,"autosize"),focus:I,blur:Y,select:me,clear:Ie,resizeTextarea:xe}),(ee,Se)=>fe((b(),F("div",kn(h(s),{class:[ee.type==="textarea"?h(w).b():h(y).b(),h(y).m(h(_)),h(y).is("disabled",h(g)),h(y).is("exceed",h(Be)),{[h(y).b("group")]:ee.$slots.prepend||ee.$slots.append,[h(y).bm("group","append")]:ee.$slots.append,[h(y).bm("group","prepend")]:ee.$slots.prepend,[h(y).m("prefix")]:ee.$slots.prefix||ee.prefixIcon,[h(y).m("suffix")]:ee.$slots.suffix||ee.suffixIcon||ee.clearable||ee.showPassword,[h(y).bm("suffix","password-clear")]:h(Ee)&&h(te)},ee.$attrs.class],style:h(J),role:ee.containerRole,onMouseenter:Ae,onMouseleave:ce}),[oe(" input "),ee.type!=="textarea"?(b(),F(Oe,{key:0},[oe(" prepend slot "),ee.$slots.prepend?(b(),F("div",{key:0,class:K(h(y).be("group","prepend"))},[ze(ee.$slots,"prepend")],2)):oe("v-if",!0),f("div",{class:K([h(y).e("wrapper"),h(y).is("focus",C.value)])},[oe(" prefix slot "),ee.$slots.prefix||ee.prefixIcon?(b(),F("span",{key:0,class:K(h(y).e("prefix"))},[f("span",{class:K(h(y).e("prefix-inner"))},[ze(ee.$slots,"prefix"),ee.prefixIcon?(b(),ae(h(rt),{key:0,class:K(h(y).e("icon"))},{default:d(()=>[(b(),ae(Ct(ee.prefixIcon)))]),_:1},8,["class"])):oe("v-if",!0)],2)],2)):oe("v-if",!0),f("input",kn({id:h(v),ref_key:"input",ref:E,class:h(y).e("inner")},h(i),{type:ee.showPassword?k.value?"text":"password":ee.type,disabled:h(g),formatter:ee.formatter,parser:ee.parser,readonly:ee.readonly,autocomplete:ee.autocomplete,tabindex:ee.tabindex,"aria-label":ee.label,placeholder:ee.placeholder,style:ee.inputStyle,onCompositionstart:se,onCompositionupdate:z,onCompositionend:q,onInput:je,onFocus:pe,onBlur:Fe,onChange:de,onKeydown:ue}),null,16,IJ),oe(" suffix slot "),h(x)?(b(),F("span",{key:1,class:K(h(y).e("suffix"))},[f("span",{class:K(h(y).e("suffix-inner"))},[!h(Ee)||!h(te)||!h(Z)?(b(),F(Oe,{key:0},[ze(ee.$slots,"suffix"),ee.suffixIcon?(b(),ae(h(rt),{key:0,class:K(h(y).e("icon"))},{default:d(()=>[(b(),ae(Ct(ee.suffixIcon)))]),_:1},8,["class"])):oe("v-if",!0)],64)):oe("v-if",!0),h(Ee)?(b(),ae(h(rt),{key:1,class:K([h(y).e("icon"),h(y).e("clear")]),onMousedown:mt(h(vt),["prevent"]),onClick:Ie},{default:d(()=>[c(h(va))]),_:1},8,["class","onMousedown"])):oe("v-if",!0),h(te)?(b(),ae(h(rt),{key:2,class:K([h(y).e("icon"),h(y).e("password")]),onClick:R},{default:d(()=>[(b(),ae(Ct(h(N))))]),_:1},8,["class"])):oe("v-if",!0),h(Z)?(b(),F("span",{key:3,class:K(h(y).e("count"))},[f("span",{class:K(h(y).e("count-inner"))},re(h(De))+" / "+re(h(i).maxlength),3)],2)):oe("v-if",!0),h(X)&&h(W)&&h(j)?(b(),ae(h(rt),{key:4,class:K([h(y).e("icon"),h(y).e("validateIcon"),h(y).is("loading",h(X)==="validating")])},{default:d(()=>[(b(),ae(Ct(h(W))))]),_:1},8,["class"])):oe("v-if",!0)],2)],2)):oe("v-if",!0)],2),oe(" append slot "),ee.$slots.append?(b(),F("div",{key:1,class:K(h(y).be("group","append"))},[ze(ee.$slots,"append")],2)):oe("v-if",!0)],64)):(b(),F(Oe,{key:1},[oe(" textarea "),f("textarea",kn({id:h(v),ref_key:"textarea",ref:D,class:h(w).e("inner")},h(i),{tabindex:ee.tabindex,disabled:h(g),readonly:ee.readonly,autocomplete:ee.autocomplete,style:h(be),"aria-label":ee.label,placeholder:ee.placeholder,onCompositionstart:se,onCompositionupdate:z,onCompositionend:q,onInput:je,onFocus:pe,onBlur:Fe,onChange:de,onKeydown:ue}),null,16,HJ),h(Z)?(b(),F("span",{key:0,style:ut(P.value),class:K(h(y).e("count"))},re(h(De))+" / "+re(h(i).maxlength),7)):oe("v-if",!0)],64))],16,VJ)),[[ge,ee.type!=="hidden"]])}});var OJ=We(NJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/input/src/input.vue"]]);const nn=Ft(OJ),jl=4,UJ={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},WJ=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),qJ=et({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),jJ="Thumb",KJ=le({__name:"thumb",props:qJ,setup(e){const t=e,n=Xe(Zf),o=Ve("scrollbar");n||An(jJ,"can not inject scrollbar context");const l=L(),u=L(),a=L({}),r=L(!1);let s=!1,i=!1,p=_t?document.onselectstart:null;const m=U(()=>UJ[t.vertical?"vertical":"horizontal"]),v=U(()=>WJ({size:t.size,move:t.move,bar:m.value})),_=U(()=>l.value[m.value.offset]**2/n.wrapElement[m.value.scrollSize]/t.ratio/u.value[m.value.offset]),g=k=>{var P;if(k.stopPropagation(),k.ctrlKey||[1,2].includes(k.button))return;(P=window.getSelection())==null||P.removeAllRanges(),w(k);const T=k.currentTarget;!T||(a.value[m.value.axis]=T[m.value.offset]-(k[m.value.client]-T.getBoundingClientRect()[m.value.direction]))},y=k=>{if(!u.value||!l.value||!n.wrapElement)return;const P=Math.abs(k.target.getBoundingClientRect()[m.value.direction]-k[m.value.client]),T=u.value[m.value.offset]/2,H=(P-T)*100*_.value/l.value[m.value.offset];n.wrapElement[m.value.scroll]=H*n.wrapElement[m.value.scrollSize]/100},w=k=>{k.stopImmediatePropagation(),s=!0,document.addEventListener("mousemove",E),document.addEventListener("mouseup",D),p=document.onselectstart,document.onselectstart=()=>!1},E=k=>{if(!l.value||!u.value||s===!1)return;const P=a.value[m.value.axis];if(!P)return;const T=(l.value.getBoundingClientRect()[m.value.direction]-k[m.value.client])*-1,H=u.value[m.value.offset]-P,j=(T-H)*100*_.value/l.value[m.value.offset];n.wrapElement[m.value.scroll]=j*n.wrapElement[m.value.scrollSize]/100},D=()=>{s=!1,a.value[m.value.axis]=0,document.removeEventListener("mousemove",E),document.removeEventListener("mouseup",D),$(),i&&(r.value=!1)},C=()=>{i=!1,r.value=!!t.size},B=()=>{i=!0,r.value=s};Mt(()=>{$(),document.removeEventListener("mouseup",D)});const $=()=>{document.onselectstart!==p&&(document.onselectstart=p)};return Gt(Tn(n,"scrollbarElement"),"mousemove",C),Gt(Tn(n,"scrollbarElement"),"mouseleave",B),(k,P)=>(b(),ae(tn,{name:h(o).b("fade"),persisted:""},{default:d(()=>[fe(f("div",{ref_key:"instance",ref:l,class:K([h(o).e("bar"),h(o).is(h(m).key)]),onMousedown:y},[f("div",{ref_key:"thumb",ref:u,class:K(h(o).e("thumb")),style:ut(h(v)),onMousedown:g},null,38)],34),[[ge,k.always||r.value]])]),_:1},8,["name"]))}});var P0=We(KJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/thumb.vue"]]);const GJ=et({always:{type:Boolean,default:!0},width:String,height:String,ratioX:{type:Number,default:1},ratioY:{type:Number,default:1}}),YJ=le({__name:"bar",props:GJ,setup(e,{expose:t}){const n=e,o=L(0),l=L(0);return t({handleScroll:a=>{if(a){const r=a.offsetHeight-jl,s=a.offsetWidth-jl;l.value=a.scrollTop*100/r*n.ratioY,o.value=a.scrollLeft*100/s*n.ratioX}}}),(a,r)=>(b(),F(Oe,null,[c(P0,{move:o.value,ratio:a.ratioX,size:a.width,always:a.always},null,8,["move","ratio","size","always"]),c(P0,{move:l.value,ratio:a.ratioY,size:a.height,vertical:"",always:a.always},null,8,["move","ratio","size","always"])],64))}});var XJ=We(YJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/bar.vue"]]);const JJ=et({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:He([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20}}),QJ={scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(gt)},ZJ=le({name:"ElScrollbar"}),eQ=le({...ZJ,props:JJ,emits:QJ,setup(e,{expose:t,emit:n}){const o=e,l=Ve("scrollbar");let u,a;const r=L(),s=L(),i=L(),p=L("0"),m=L("0"),v=L(),_=L(1),g=L(1),y=U(()=>{const $={};return o.height&&($.height=Xn(o.height)),o.maxHeight&&($.maxHeight=Xn(o.maxHeight)),[o.wrapStyle,$]}),w=()=>{var $;s.value&&(($=v.value)==null||$.handleScroll(s.value),n("scroll",{scrollTop:s.value.scrollTop,scrollLeft:s.value.scrollLeft}))};function E($,k){dt($)?s.value.scrollTo($):gt($)&>(k)&&s.value.scrollTo($,k)}const D=$=>{!gt($)||(s.value.scrollTop=$)},C=$=>{!gt($)||(s.value.scrollLeft=$)},B=()=>{if(!s.value)return;const $=s.value.offsetHeight-jl,k=s.value.offsetWidth-jl,P=$**2/s.value.scrollHeight,T=k**2/s.value.scrollWidth,H=Math.max(P,o.minSize),j=Math.max(T,o.minSize);_.value=P/($-P)/(H/($-H)),g.value=T/(k-T)/(j/(k-j)),m.value=H+jl<$?`${H}px`:"",p.value=j+jlo.noresize,$=>{$?(u==null||u(),a==null||a()):({stop:u}=po(i,B),a=Gt("resize",B))},{immediate:!0}),Me(()=>[o.maxHeight,o.height],()=>{o.native||at(()=>{var $;B(),s.value&&(($=v.value)==null||$.handleScroll(s.value))})}),Dt(Zf,Rt({scrollbarElement:r,wrapElement:s})),ot(()=>{o.native||at(()=>{B()})}),Ll(()=>B()),t({wrap$:s,update:B,scrollTo:E,setScrollTop:D,setScrollLeft:C,handleScroll:w}),($,k)=>(b(),F("div",{ref_key:"scrollbar$",ref:r,class:K(h(l).b())},[f("div",{ref_key:"wrap$",ref:s,class:K([$.wrapClass,h(l).e("wrap"),{[h(l).em("wrap","hidden-default")]:!$.native}]),style:ut(h(y)),onScroll:w},[(b(),ae(Ct($.tag),{ref_key:"resize$",ref:i,class:K([h(l).e("view"),$.viewClass]),style:ut($.viewStyle)},{default:d(()=>[ze($.$slots,"default")]),_:3},8,["class","style"]))],38),$.native?oe("v-if",!0):(b(),ae(XJ,{key:0,ref_key:"barRef",ref:v,height:m.value,width:p.value,always:$.always,"ratio-x":g.value,"ratio-y":_.value},null,8,["height","width","always","ratio-x","ratio-y"]))],2))}});var tQ=We(eQ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/scrollbar.vue"]]);const Yt=Ft(tQ),nQ={LIGHT:"light",DARK:"dark"},oQ=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],i4=et({role:{type:String,values:oQ,default:"tooltip"}}),lQ=le({name:"ElPopperRoot",inheritAttrs:!1}),uQ=le({...lQ,props:i4,setup(e,{expose:t}){const n=e,o=L(),l=L(),u=L(),a=L(),r=U(()=>n.role),s={triggerRef:o,popperInstanceRef:l,contentRef:u,referenceRef:a,role:r};return t(s),Dt(yc,s),(i,p)=>ze(i.$slots,"default")}});var aQ=We(uQ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/popper.vue"]]);const c4=et({arrowOffset:{type:Number,default:5}}),rQ=le({name:"ElPopperArrow",inheritAttrs:!1}),sQ=le({...rQ,props:c4,setup(e,{expose:t}){const n=e,o=Ve("popper"),{arrowOffset:l,arrowRef:u}=Xe(t4,void 0);return Me(()=>n.arrowOffset,a=>{l.value=a}),Mt(()=>{u.value=void 0}),t({arrowRef:u}),(a,r)=>(b(),F("span",{ref_key:"arrowRef",ref:u,class:K(h(o).e("arrow")),"data-popper-arrow":""},null,2))}});var iQ=We(sQ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/arrow.vue"]]);const cQ="ElOnlyChild",dQ=le({name:cQ,setup(e,{slots:t,attrs:n}){var o;const l=Xe(r4),u=wJ((o=l==null?void 0:l.setForwardRef)!=null?o:vt);return()=>{var a;const r=(a=t.default)==null?void 0:a.call(t,n);if(!r||r.length>1)return null;const s=d4(r);return s?fe($o(s,n),[[u]]):null}}});function d4(e){if(!e)return null;const t=e;for(const n of t){if(dt(n))switch(n.type){case an:continue;case fa:case"svg":return L0(n);case Oe:return d4(n.children);default:return n}return L0(n)}return null}function L0(e){const t=Ve("only-child");return c("span",{class:t.e("content")},[e])}const f4=et({virtualRef:{type:He(Object)},virtualTriggering:Boolean,onMouseenter:{type:He(Function)},onMouseleave:{type:He(Function)},onClick:{type:He(Function)},onKeydown:{type:He(Function)},onFocus:{type:He(Function)},onBlur:{type:He(Function)},onContextmenu:{type:He(Function)},id:String,open:Boolean}),fQ=le({name:"ElPopperTrigger",inheritAttrs:!1}),pQ=le({...fQ,props:f4,setup(e,{expose:t}){const n=e,{role:o,triggerRef:l}=Xe(yc,void 0);yJ(l);const u=U(()=>r.value?n.id:void 0),a=U(()=>{if(o&&o.value==="tooltip")return n.open&&n.id?n.id:void 0}),r=U(()=>{if(o&&o.value!=="tooltip")return o.value}),s=U(()=>r.value?`${n.open}`:void 0);let i;return ot(()=>{Me(()=>n.virtualRef,p=>{p&&(l.value=ao(p))},{immediate:!0}),Me(l,(p,m)=>{i==null||i(),i=void 0,nl(p)&&(["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"].forEach(v=>{var _;const g=n[v];g&&(p.addEventListener(v.slice(2).toLowerCase(),g),(_=m==null?void 0:m.removeEventListener)==null||_.call(m,v.slice(2).toLowerCase(),g))}),i=Me([u,a,r,s],v=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((_,g)=>{io(v[g])?p.removeAttribute(_):p.setAttribute(_,v[g])})},{immediate:!0})),nl(m)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(v=>m.removeAttribute(v))},{immediate:!0})}),Mt(()=>{i==null||i(),i=void 0}),t({triggerRef:l}),(p,m)=>p.virtualTriggering?oe("v-if",!0):(b(),ae(h(dQ),kn({key:0},p.$attrs,{"aria-controls":h(u),"aria-describedby":h(a),"aria-expanded":h(s),"aria-haspopup":h(r)}),{default:d(()=>[ze(p.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var vQ=We(pQ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/trigger.vue"]]),rn="top",Mn="bottom",Vn="right",sn="left",Ec="auto",ma=[rn,Mn,Vn,sn],ru="start",aa="end",hQ="clippingParents",p4="viewport",Pu="popper",_Q="reference",T0=ma.reduce(function(e,t){return e.concat([t+"-"+ru,t+"-"+aa])},[]),Zr=[].concat(ma,[Ec]).reduce(function(e,t){return e.concat([t,t+"-"+ru,t+"-"+aa])},[]),mQ="beforeRead",gQ="read",bQ="afterRead",yQ="beforeMain",wQ="main",CQ="afterMain",EQ="beforeWrite",FQ="write",AQ="afterWrite",DQ=[mQ,gQ,bQ,yQ,wQ,CQ,EQ,FQ,AQ];function vo(e){return e?(e.nodeName||"").toLowerCase():null}function Zn(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function su(e){var t=Zn(e).Element;return e instanceof t||e instanceof Element}function Pn(e){var t=Zn(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Fc(e){if(typeof ShadowRoot=="undefined")return!1;var t=Zn(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function BQ(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},l=t.attributes[n]||{},u=t.elements[n];!Pn(u)||!vo(u)||(Object.assign(u.style,o),Object.keys(l).forEach(function(a){var r=l[a];r===!1?u.removeAttribute(a):u.setAttribute(a,r===!0?"":r)}))})}function xQ(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var l=t.elements[o],u=t.attributes[o]||{},a=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),r=a.reduce(function(s,i){return s[i]="",s},{});!Pn(l)||!vo(l)||(Object.assign(l.style,r),Object.keys(u).forEach(function(s){l.removeAttribute(s)}))})}}var v4={name:"applyStyles",enabled:!0,phase:"write",fn:BQ,effect:xQ,requires:["computeStyles"]};function co(e){return e.split("-")[0]}var Bl=Math.max,Dr=Math.min,iu=Math.round;function cu(e,t){t===void 0&&(t=!1);var n=e.getBoundingClientRect(),o=1,l=1;if(Pn(e)&&t){var u=e.offsetHeight,a=e.offsetWidth;a>0&&(o=iu(n.width)/a||1),u>0&&(l=iu(n.height)/u||1)}return{width:n.width/o,height:n.height/l,top:n.top/l,right:n.right/o,bottom:n.bottom/l,left:n.left/o,x:n.left/o,y:n.top/l}}function Ac(e){var t=cu(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function h4(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Fc(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function ko(e){return Zn(e).getComputedStyle(e)}function $Q(e){return["table","td","th"].indexOf(vo(e))>=0}function al(e){return((su(e)?e.ownerDocument:e.document)||window.document).documentElement}function es(e){return vo(e)==="html"?e:e.assignedSlot||e.parentNode||(Fc(e)?e.host:null)||al(e)}function z0(e){return!Pn(e)||ko(e).position==="fixed"?null:e.offsetParent}function SQ(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&Pn(e)){var o=ko(e);if(o.position==="fixed")return null}var l=es(e);for(Fc(l)&&(l=l.host);Pn(l)&&["html","body"].indexOf(vo(l))<0;){var u=ko(l);if(u.transform!=="none"||u.perspective!=="none"||u.contain==="paint"||["transform","perspective"].indexOf(u.willChange)!==-1||t&&u.willChange==="filter"||t&&u.filter&&u.filter!=="none")return l;l=l.parentNode}return null}function ga(e){for(var t=Zn(e),n=z0(e);n&&$Q(n)&&ko(n).position==="static";)n=z0(n);return n&&(vo(n)==="html"||vo(n)==="body"&&ko(n).position==="static")?t:n||SQ(e)||t}function Dc(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ou(e,t,n){return Bl(e,Dr(t,n))}function kQ(e,t,n){var o=Ou(e,t,n);return o>n?n:o}function _4(){return{top:0,right:0,bottom:0,left:0}}function m4(e){return Object.assign({},_4(),e)}function g4(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var PQ=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,m4(typeof e!="number"?e:g4(e,ma))};function LQ(e){var t,n=e.state,o=e.name,l=e.options,u=n.elements.arrow,a=n.modifiersData.popperOffsets,r=co(n.placement),s=Dc(r),i=[sn,Vn].indexOf(r)>=0,p=i?"height":"width";if(!(!u||!a)){var m=PQ(l.padding,n),v=Ac(u),_=s==="y"?rn:sn,g=s==="y"?Mn:Vn,y=n.rects.reference[p]+n.rects.reference[s]-a[s]-n.rects.popper[p],w=a[s]-n.rects.reference[s],E=ga(u),D=E?s==="y"?E.clientHeight||0:E.clientWidth||0:0,C=y/2-w/2,B=m[_],$=D-v[p]-m[g],k=D/2-v[p]/2+C,P=Ou(B,k,$),T=s;n.modifiersData[o]=(t={},t[T]=P,t.centerOffset=P-k,t)}}function TQ(e){var t=e.state,n=e.options,o=n.element,l=o===void 0?"[data-popper-arrow]":o;l!=null&&(typeof l=="string"&&(l=t.elements.popper.querySelector(l),!l)||!h4(t.elements.popper,l)||(t.elements.arrow=l))}var zQ={name:"arrow",enabled:!0,phase:"main",fn:LQ,effect:TQ,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function du(e){return e.split("-")[1]}var MQ={top:"auto",right:"auto",bottom:"auto",left:"auto"};function VQ(e){var t=e.x,n=e.y,o=window,l=o.devicePixelRatio||1;return{x:iu(t*l)/l||0,y:iu(n*l)/l||0}}function M0(e){var t,n=e.popper,o=e.popperRect,l=e.placement,u=e.variation,a=e.offsets,r=e.position,s=e.gpuAcceleration,i=e.adaptive,p=e.roundOffsets,m=e.isFixed,v=a.x,_=v===void 0?0:v,g=a.y,y=g===void 0?0:g,w=typeof p=="function"?p({x:_,y}):{x:_,y};_=w.x,y=w.y;var E=a.hasOwnProperty("x"),D=a.hasOwnProperty("y"),C=sn,B=rn,$=window;if(i){var k=ga(n),P="clientHeight",T="clientWidth";if(k===Zn(n)&&(k=al(n),ko(k).position!=="static"&&r==="absolute"&&(P="scrollHeight",T="scrollWidth")),k=k,l===rn||(l===sn||l===Vn)&&u===aa){B=Mn;var H=m&&k===$&&$.visualViewport?$.visualViewport.height:k[P];y-=H-o.height,y*=s?1:-1}if(l===sn||(l===rn||l===Mn)&&u===aa){C=Vn;var j=m&&k===$&&$.visualViewport?$.visualViewport.width:k[T];_-=j-o.width,_*=s?1:-1}}var X=Object.assign({position:r},i&&MQ),W=p===!0?VQ({x:_,y}):{x:_,y};if(_=W.x,y=W.y,s){var N;return Object.assign({},X,(N={},N[B]=D?"0":"",N[C]=E?"0":"",N.transform=($.devicePixelRatio||1)<=1?"translate("+_+"px, "+y+"px)":"translate3d("+_+"px, "+y+"px, 0)",N))}return Object.assign({},X,(t={},t[B]=D?y+"px":"",t[C]=E?_+"px":"",t.transform="",t))}function IQ(e){var t=e.state,n=e.options,o=n.gpuAcceleration,l=o===void 0?!0:o,u=n.adaptive,a=u===void 0?!0:u,r=n.roundOffsets,s=r===void 0?!0:r,i={placement:co(t.placement),variation:du(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:l,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,M0(Object.assign({},i,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:s})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,M0(Object.assign({},i,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var b4={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:IQ,data:{}},Ta={passive:!0};function HQ(e){var t=e.state,n=e.instance,o=e.options,l=o.scroll,u=l===void 0?!0:l,a=o.resize,r=a===void 0?!0:a,s=Zn(t.elements.popper),i=[].concat(t.scrollParents.reference,t.scrollParents.popper);return u&&i.forEach(function(p){p.addEventListener("scroll",n.update,Ta)}),r&&s.addEventListener("resize",n.update,Ta),function(){u&&i.forEach(function(p){p.removeEventListener("scroll",n.update,Ta)}),r&&s.removeEventListener("resize",n.update,Ta)}}var y4={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:HQ,data:{}},RQ={left:"right",right:"left",bottom:"top",top:"bottom"};function tr(e){return e.replace(/left|right|bottom|top/g,function(t){return RQ[t]})}var NQ={start:"end",end:"start"};function V0(e){return e.replace(/start|end/g,function(t){return NQ[t]})}function Bc(e){var t=Zn(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function xc(e){return cu(al(e)).left+Bc(e).scrollLeft}function OQ(e){var t=Zn(e),n=al(e),o=t.visualViewport,l=n.clientWidth,u=n.clientHeight,a=0,r=0;return o&&(l=o.width,u=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=o.offsetLeft,r=o.offsetTop)),{width:l,height:u,x:a+xc(e),y:r}}function UQ(e){var t,n=al(e),o=Bc(e),l=(t=e.ownerDocument)==null?void 0:t.body,u=Bl(n.scrollWidth,n.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),a=Bl(n.scrollHeight,n.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),r=-o.scrollLeft+xc(e),s=-o.scrollTop;return ko(l||n).direction==="rtl"&&(r+=Bl(n.clientWidth,l?l.clientWidth:0)-u),{width:u,height:a,x:r,y:s}}function $c(e){var t=ko(e),n=t.overflow,o=t.overflowX,l=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+l+o)}function w4(e){return["html","body","#document"].indexOf(vo(e))>=0?e.ownerDocument.body:Pn(e)&&$c(e)?e:w4(es(e))}function Uu(e,t){var n;t===void 0&&(t=[]);var o=w4(e),l=o===((n=e.ownerDocument)==null?void 0:n.body),u=Zn(o),a=l?[u].concat(u.visualViewport||[],$c(o)?o:[]):o,r=t.concat(a);return l?r:r.concat(Uu(es(a)))}function ni(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function WQ(e){var t=cu(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function I0(e,t){return t===p4?ni(OQ(e)):su(t)?WQ(t):ni(UQ(al(e)))}function qQ(e){var t=Uu(es(e)),n=["absolute","fixed"].indexOf(ko(e).position)>=0,o=n&&Pn(e)?ga(e):e;return su(o)?t.filter(function(l){return su(l)&&h4(l,o)&&vo(l)!=="body"}):[]}function jQ(e,t,n){var o=t==="clippingParents"?qQ(e):[].concat(t),l=[].concat(o,[n]),u=l[0],a=l.reduce(function(r,s){var i=I0(e,s);return r.top=Bl(i.top,r.top),r.right=Dr(i.right,r.right),r.bottom=Dr(i.bottom,r.bottom),r.left=Bl(i.left,r.left),r},I0(e,u));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function C4(e){var t=e.reference,n=e.element,o=e.placement,l=o?co(o):null,u=o?du(o):null,a=t.x+t.width/2-n.width/2,r=t.y+t.height/2-n.height/2,s;switch(l){case rn:s={x:a,y:t.y-n.height};break;case Mn:s={x:a,y:t.y+t.height};break;case Vn:s={x:t.x+t.width,y:r};break;case sn:s={x:t.x-n.width,y:r};break;default:s={x:t.x,y:t.y}}var i=l?Dc(l):null;if(i!=null){var p=i==="y"?"height":"width";switch(u){case ru:s[i]=s[i]-(t[p]/2-n[p]/2);break;case aa:s[i]=s[i]+(t[p]/2-n[p]/2);break}}return s}function ra(e,t){t===void 0&&(t={});var n=t,o=n.placement,l=o===void 0?e.placement:o,u=n.boundary,a=u===void 0?hQ:u,r=n.rootBoundary,s=r===void 0?p4:r,i=n.elementContext,p=i===void 0?Pu:i,m=n.altBoundary,v=m===void 0?!1:m,_=n.padding,g=_===void 0?0:_,y=m4(typeof g!="number"?g:g4(g,ma)),w=p===Pu?_Q:Pu,E=e.rects.popper,D=e.elements[v?w:p],C=jQ(su(D)?D:D.contextElement||al(e.elements.popper),a,s),B=cu(e.elements.reference),$=C4({reference:B,element:E,strategy:"absolute",placement:l}),k=ni(Object.assign({},E,$)),P=p===Pu?k:B,T={top:C.top-P.top+y.top,bottom:P.bottom-C.bottom+y.bottom,left:C.left-P.left+y.left,right:P.right-C.right+y.right},H=e.modifiersData.offset;if(p===Pu&&H){var j=H[l];Object.keys(T).forEach(function(X){var W=[Vn,Mn].indexOf(X)>=0?1:-1,N=[rn,Mn].indexOf(X)>=0?"y":"x";T[X]+=j[N]*W})}return T}function KQ(e,t){t===void 0&&(t={});var n=t,o=n.placement,l=n.boundary,u=n.rootBoundary,a=n.padding,r=n.flipVariations,s=n.allowedAutoPlacements,i=s===void 0?Zr:s,p=du(o),m=p?r?T0:T0.filter(function(g){return du(g)===p}):ma,v=m.filter(function(g){return i.indexOf(g)>=0});v.length===0&&(v=m);var _=v.reduce(function(g,y){return g[y]=ra(e,{placement:y,boundary:l,rootBoundary:u,padding:a})[co(y)],g},{});return Object.keys(_).sort(function(g,y){return _[g]-_[y]})}function GQ(e){if(co(e)===Ec)return[];var t=tr(e);return[V0(e),t,V0(t)]}function YQ(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var l=n.mainAxis,u=l===void 0?!0:l,a=n.altAxis,r=a===void 0?!0:a,s=n.fallbackPlacements,i=n.padding,p=n.boundary,m=n.rootBoundary,v=n.altBoundary,_=n.flipVariations,g=_===void 0?!0:_,y=n.allowedAutoPlacements,w=t.options.placement,E=co(w),D=E===w,C=s||(D||!g?[tr(w)]:GQ(w)),B=[w].concat(C).reduce(function(ye,xe){return ye.concat(co(xe)===Ec?KQ(t,{placement:xe,boundary:p,rootBoundary:m,padding:i,flipVariations:g,allowedAutoPlacements:y}):xe)},[]),$=t.rects.reference,k=t.rects.popper,P=new Map,T=!0,H=B[0],j=0;j=0,be=J?"width":"height",ve=ra(t,{placement:X,boundary:p,rootBoundary:m,altBoundary:v,padding:i}),Ee=J?N?Vn:sn:N?Mn:rn;$[be]>k[be]&&(Ee=tr(Ee));var te=tr(Ee),Z=[];if(u&&Z.push(ve[W]<=0),r&&Z.push(ve[Ee]<=0,ve[te]<=0),Z.every(function(ye){return ye})){H=X,T=!1;break}P.set(X,Z)}if(T)for(var De=g?3:1,Be=function(ye){var xe=B.find(function(Pe){var he=P.get(Pe);if(he)return he.slice(0,ye).every(function(Te){return Te})});if(xe)return H=xe,"break"},x=De;x>0;x--){var O=Be(x);if(O==="break")break}t.placement!==H&&(t.modifiersData[o]._skip=!0,t.placement=H,t.reset=!0)}}var XQ={name:"flip",enabled:!0,phase:"main",fn:YQ,requiresIfExists:["offset"],data:{_skip:!1}};function H0(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function R0(e){return[rn,Vn,Mn,sn].some(function(t){return e[t]>=0})}function JQ(e){var t=e.state,n=e.name,o=t.rects.reference,l=t.rects.popper,u=t.modifiersData.preventOverflow,a=ra(t,{elementContext:"reference"}),r=ra(t,{altBoundary:!0}),s=H0(a,o),i=H0(r,l,u),p=R0(s),m=R0(i);t.modifiersData[n]={referenceClippingOffsets:s,popperEscapeOffsets:i,isReferenceHidden:p,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":p,"data-popper-escaped":m})}var QQ={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:JQ};function ZQ(e,t,n){var o=co(e),l=[sn,rn].indexOf(o)>=0?-1:1,u=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=u[0],r=u[1];return a=a||0,r=(r||0)*l,[sn,Vn].indexOf(o)>=0?{x:r,y:a}:{x:a,y:r}}function eZ(e){var t=e.state,n=e.options,o=e.name,l=n.offset,u=l===void 0?[0,0]:l,a=Zr.reduce(function(p,m){return p[m]=ZQ(m,t.rects,u),p},{}),r=a[t.placement],s=r.x,i=r.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=i),t.modifiersData[o]=a}var tZ={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:eZ};function nZ(e){var t=e.state,n=e.name;t.modifiersData[n]=C4({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var E4={name:"popperOffsets",enabled:!0,phase:"read",fn:nZ,data:{}};function oZ(e){return e==="x"?"y":"x"}function lZ(e){var t=e.state,n=e.options,o=e.name,l=n.mainAxis,u=l===void 0?!0:l,a=n.altAxis,r=a===void 0?!1:a,s=n.boundary,i=n.rootBoundary,p=n.altBoundary,m=n.padding,v=n.tether,_=v===void 0?!0:v,g=n.tetherOffset,y=g===void 0?0:g,w=ra(t,{boundary:s,rootBoundary:i,padding:m,altBoundary:p}),E=co(t.placement),D=du(t.placement),C=!D,B=Dc(E),$=oZ(B),k=t.modifiersData.popperOffsets,P=t.rects.reference,T=t.rects.popper,H=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,j=typeof H=="number"?{mainAxis:H,altAxis:H}:Object.assign({mainAxis:0,altAxis:0},H),X=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,W={x:0,y:0};if(k){if(u){var N,J=B==="y"?rn:sn,be=B==="y"?Mn:Vn,ve=B==="y"?"height":"width",Ee=k[B],te=Ee+w[J],Z=Ee-w[be],De=_?-T[ve]/2:0,Be=D===ru?P[ve]:T[ve],x=D===ru?-T[ve]:-P[ve],O=t.elements.arrow,ye=_&&O?Ac(O):{width:0,height:0},xe=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:_4(),Pe=xe[J],he=xe[be],Te=Ou(0,P[ve],ye[ve]),je=C?P[ve]/2-De-Te-Pe-j.mainAxis:Be-Te-Pe-j.mainAxis,de=C?-P[ve]/2+De+Te+he+j.mainAxis:x+Te+he+j.mainAxis,se=t.elements.arrow&&ga(t.elements.arrow),z=se?B==="y"?se.clientTop||0:se.clientLeft||0:0,q=(N=X==null?void 0:X[B])!=null?N:0,R=Ee+je-q-z,I=Ee+de-q,Y=Ou(_?Dr(te,R):te,Ee,_?Bl(Z,I):Z);k[B]=Y,W[B]=Y-Ee}if(r){var pe,Fe=B==="x"?rn:sn,ce=B==="x"?Mn:Vn,Ae=k[$],ue=$==="y"?"height":"width",me=Ae+w[Fe],Ie=Ae-w[ce],ee=[rn,sn].indexOf(E)!==-1,Se=(pe=X==null?void 0:X[$])!=null?pe:0,Ke=ee?me:Ae-P[ue]-T[ue]-Se+j.altAxis,nt=ee?Ae+P[ue]+T[ue]-Se-j.altAxis:Ie,we=_&&ee?kQ(Ke,Ae,nt):Ou(_?Ke:me,Ae,_?nt:Ie);k[$]=we,W[$]=we-Ae}t.modifiersData[o]=W}}var uZ={name:"preventOverflow",enabled:!0,phase:"main",fn:lZ,requiresIfExists:["offset"]};function aZ(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function rZ(e){return e===Zn(e)||!Pn(e)?Bc(e):aZ(e)}function sZ(e){var t=e.getBoundingClientRect(),n=iu(t.width)/e.offsetWidth||1,o=iu(t.height)/e.offsetHeight||1;return n!==1||o!==1}function iZ(e,t,n){n===void 0&&(n=!1);var o=Pn(t),l=Pn(t)&&sZ(t),u=al(t),a=cu(e,l),r={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(o||!o&&!n)&&((vo(t)!=="body"||$c(u))&&(r=rZ(t)),Pn(t)?(s=cu(t,!0),s.x+=t.clientLeft,s.y+=t.clientTop):u&&(s.x=xc(u))),{x:a.left+r.scrollLeft-s.x,y:a.top+r.scrollTop-s.y,width:a.width,height:a.height}}function cZ(e){var t=new Map,n=new Set,o=[];e.forEach(function(u){t.set(u.name,u)});function l(u){n.add(u.name);var a=[].concat(u.requires||[],u.requiresIfExists||[]);a.forEach(function(r){if(!n.has(r)){var s=t.get(r);s&&l(s)}}),o.push(u)}return e.forEach(function(u){n.has(u.name)||l(u)}),o}function dZ(e){var t=cZ(e);return DQ.reduce(function(n,o){return n.concat(t.filter(function(l){return l.phase===o}))},[])}function fZ(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function pZ(e){var t=e.reduce(function(n,o){var l=n[o.name];return n[o.name]=l?Object.assign({},l,o,{options:Object.assign({},l.options,o.options),data:Object.assign({},l.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var N0={placement:"bottom",modifiers:[],strategy:"absolute"};function O0(){for(var e=arguments.length,t=new Array(e),n=0;n{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const l=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||l?NodeFilter.FILTER_SKIP:o.tabIndex>=0||o===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},j0=(e,t)=>{for(const n of e)if(!gZ(n,t))return n},gZ=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},bZ=e=>{const t=D4(e),n=j0(t,e),o=j0(t.reverse(),e);return[n,o]},yZ=e=>e instanceof HTMLInputElement&&"select"in e,Wo=(e,t)=>{if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),Pc.value=window.performance.now(),e!==n&&yZ(e)&&t&&e.select()}};function K0(e,t){const n=[...e],o=e.indexOf(t);return o!==-1&&n.splice(o,1),n}const wZ=()=>{let e=[];return{push:o=>{const l=e[0];l&&o!==l&&l.pause(),e=K0(e,o),e.unshift(o)},remove:o=>{var l,u;e=K0(e,o),(u=(l=e[0])==null?void 0:l.resume)==null||u.call(l)}}},CZ=(e,t=!1)=>{const n=document.activeElement;for(const o of e)if(Wo(o,t),document.activeElement!==n)return},G0=wZ(),EZ=()=>ts.value>Pc.value,Ma=()=>{kc.value="pointer",ts.value=window.performance.now()},Y0=()=>{kc.value="keyboard",ts.value=window.performance.now()},FZ=()=>(ot(()=>{za===0&&(document.addEventListener("mousedown",Ma),document.addEventListener("touchstart",Ma),document.addEventListener("keydown",Y0)),za++}),Mt(()=>{za--,za<=0&&(document.removeEventListener("mousedown",Ma),document.removeEventListener("touchstart",Ma),document.removeEventListener("keydown",Y0))}),{focusReason:kc,lastUserFocusTimestamp:ts,lastAutomatedFocusTimestamp:Pc}),Va=e=>new CustomEvent(_Z,{...mZ,detail:e}),AZ=le({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[W0,q0,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=L();let o,l;const{focusReason:u}=FZ();vJ(g=>{e.trapped&&!a.paused&&t("release-requested",g)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},r=g=>{if(!e.loop&&!e.trapped||a.paused)return;const{key:y,altKey:w,ctrlKey:E,metaKey:D,currentTarget:C,shiftKey:B}=g,{loop:$}=e,k=y===Lt.tab&&!w&&!E&&!D,P=document.activeElement;if(k&&P){const T=C,[H,j]=bZ(T);if(H&&j){if(!B&&P===j){const W=Va({focusReason:u.value});t("focusout-prevented",W),W.defaultPrevented||(g.preventDefault(),$&&Wo(H,!0))}else if(B&&[H,T].includes(P)){const W=Va({focusReason:u.value});t("focusout-prevented",W),W.defaultPrevented||(g.preventDefault(),$&&Wo(j,!0))}}else if(P===T){const W=Va({focusReason:u.value});t("focusout-prevented",W),W.defaultPrevented||g.preventDefault()}}};Dt(A4,{focusTrapRef:n,onKeydown:r}),Me(()=>e.focusTrapEl,g=>{g&&(n.value=g)},{immediate:!0}),Me([n],([g],[y])=>{g&&(g.addEventListener("keydown",r),g.addEventListener("focusin",p),g.addEventListener("focusout",m)),y&&(y.removeEventListener("keydown",r),y.removeEventListener("focusin",p),y.removeEventListener("focusout",m))});const s=g=>{t(W0,g)},i=g=>t(q0,g),p=g=>{const y=h(n);if(!y)return;const w=g.target,E=g.relatedTarget,D=w&&y.contains(w);e.trapped||E&&y.contains(E)||(o=E),D&&t("focusin",g),!a.paused&&e.trapped&&(D?l=w:Wo(l,!0))},m=g=>{const y=h(n);if(!(a.paused||!y))if(e.trapped){const w=g.relatedTarget;!io(w)&&!y.contains(w)&&setTimeout(()=>{if(!a.paused&&e.trapped){const E=Va({focusReason:u.value});t("focusout-prevented",E),E.defaultPrevented||Wo(l,!0)}},0)}else{const w=g.target;w&&y.contains(w)||t("focusout",g)}};async function v(){await at();const g=h(n);if(g){G0.push(a);const y=g.contains(document.activeElement)?o:document.activeElement;if(o=y,!g.contains(y)){const E=new Event(bs,U0);g.addEventListener(bs,s),g.dispatchEvent(E),E.defaultPrevented||at(()=>{let D=e.focusStartEl;tt(D)||(Wo(D),document.activeElement!==D&&(D="first")),D==="first"&&CZ(D4(g),!0),(document.activeElement===y||D==="container")&&Wo(g)})}}}function _(){const g=h(n);if(g){g.removeEventListener(bs,s);const y=new CustomEvent(ys,{...U0,detail:{focusReason:u.value}});g.addEventListener(ys,i),g.dispatchEvent(y),!y.defaultPrevented&&(u.value=="keyboard"||!EZ())&&Wo(o!=null?o:document.body,!0),g.removeEventListener(ys,s),G0.remove(a)}}return ot(()=>{e.trapped&&v(),Me(()=>e.trapped,g=>{g?v():_()})}),Mt(()=>{e.trapped&&_()}),{onKeydown:r}}});function DZ(e,t,n,o,l,u){return ze(e.$slots,"default",{handleKeydown:e.onKeydown})}var Lc=We(AZ,[["render",DZ],["__file","/home/runner/work/element-plus/element-plus/packages/components/focus-trap/src/focus-trap.vue"]]);const BZ=["fixed","absolute"],xZ=et({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:He(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Zr,default:"bottom"},popperOptions:{type:He(Object),default:()=>({})},strategy:{type:String,values:BZ,default:"absolute"}}),B4=et({...xZ,id:String,style:{type:He([String,Array,Object])},className:{type:He([String,Array,Object])},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:He([String,Array,Object])},popperStyle:{type:He([String,Array,Object])},referenceEl:{type:He(Object)},triggerTargetEl:{type:He(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},ariaLabel:{type:String,default:void 0},virtualTriggering:Boolean,zIndex:Number}),$Z={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},X0=(e,t)=>{const{placement:n,strategy:o,popperOptions:l}=e,u={placement:n,strategy:o,...l,modifiers:kZ(e)};return PZ(u,t),LZ(u,l==null?void 0:l.modifiers),u},SZ=e=>{if(!!_t)return ao(e)};function kZ(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:o}=e;return[{name:"offset",options:{offset:[0,t!=null?t:12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:o}},{name:"computeStyles",options:{gpuAcceleration:n,adaptive:n}}]}function PZ(e,{arrowEl:t,arrowOffset:n}){e.modifiers.push({name:"arrow",options:{element:t,padding:n!=null?n:5}})}function LZ(e,t){t&&(e.modifiers=[...e.modifiers,...t!=null?t:[]])}const TZ=le({name:"ElPopperContent"}),zZ=le({...TZ,props:B4,emits:$Z,setup(e,{expose:t,emit:n}){const o=e,{popperInstanceRef:l,contentRef:u,triggerRef:a,role:r}=Xe(yc,void 0),s=Xe(Sl,void 0),{nextZIndex:i}=Ml(),p=Ve("popper"),m=L(),v=L("first"),_=L(),g=L();Dt(t4,{arrowRef:_,arrowOffset:g}),s&&(s.addInputId||s.removeInputId)&&Dt(Sl,{...s,addInputId:vt,removeInputId:vt});const y=L(o.zIndex||i()),w=L(!1);let E;const D=U(()=>SZ(o.referenceEl)||h(a)),C=U(()=>[{zIndex:h(y)},o.popperStyle]),B=U(()=>[p.b(),p.is("pure",o.pure),p.is(o.effect),o.popperClass]),$=U(()=>r&&r.value==="dialog"?"false":void 0),k=({referenceEl:J,popperContentEl:be,arrowEl:ve})=>{const Ee=X0(o,{arrowEl:ve,arrowOffset:h(g)});return F4(J,be,Ee)},P=(J=!0)=>{var be;(be=h(l))==null||be.update(),J&&(y.value=o.zIndex||i())},T=()=>{var J,be;const ve={name:"eventListeners",enabled:o.visible};(be=(J=h(l))==null?void 0:J.setOptions)==null||be.call(J,Ee=>({...Ee,modifiers:[...Ee.modifiers||[],ve]})),P(!1),o.visible&&o.focusOnShow?w.value=!0:o.visible===!1&&(w.value=!1)},H=()=>{n("focus")},j=J=>{var be;((be=J.detail)==null?void 0:be.focusReason)!=="pointer"&&(v.value="first",n("blur"))},X=J=>{o.visible&&!w.value&&(J.target&&(v.value=J.target),w.value=!0)},W=J=>{o.trapping||(J.detail.focusReason==="pointer"&&J.preventDefault(),w.value=!1)},N=()=>{w.value=!1,n("close")};return ot(()=>{let J;Me(D,be=>{var ve;J==null||J();const Ee=h(l);if((ve=Ee==null?void 0:Ee.destroy)==null||ve.call(Ee),be){const te=h(m);u.value=te,l.value=k({referenceEl:be,popperContentEl:te,arrowEl:h(_)}),J=Me(()=>be.getBoundingClientRect(),()=>P(),{immediate:!0})}else l.value=void 0},{immediate:!0}),Me(()=>o.triggerTargetEl,(be,ve)=>{E==null||E(),E=void 0;const Ee=h(be||m.value),te=h(ve||m.value);nl(Ee)&&(E=Me([r,()=>o.ariaLabel,$,()=>o.id],Z=>{["role","aria-label","aria-modal","id"].forEach((De,Be)=>{io(Z[Be])?Ee.removeAttribute(De):Ee.setAttribute(De,Z[Be])})},{immediate:!0})),te!==Ee&&nl(te)&&["role","aria-label","aria-modal","id"].forEach(Z=>{te.removeAttribute(Z)})},{immediate:!0}),Me(()=>o.visible,T,{immediate:!0}),Me(()=>X0(o,{arrowEl:h(_),arrowOffset:h(g)}),be=>{var ve;return(ve=l.value)==null?void 0:ve.setOptions(be)})}),Mt(()=>{E==null||E(),E=void 0}),t({popperContentRef:m,popperInstanceRef:l,updatePopper:P,contentStyle:C}),(J,be)=>(b(),F("div",{ref_key:"popperContentRef",ref:m,style:ut(h(C)),class:K(h(B)),tabindex:"-1",onMouseenter:be[0]||(be[0]=ve=>J.$emit("mouseenter",ve)),onMouseleave:be[1]||(be[1]=ve=>J.$emit("mouseleave",ve))},[c(h(Lc),{trapped:w.value,"trap-on-focus-in":!0,"focus-trap-el":m.value,"focus-start-el":v.value,onFocusAfterTrapped:H,onFocusAfterReleased:j,onFocusin:X,onFocusoutPrevented:W,onReleaseRequested:N},{default:d(()=>[ze(J.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el"])],38))}});var MZ=We(zZ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/content.vue"]]);const VZ=Ft(aQ),IZ=Ve("tooltip"),Tc=et({...gJ,...B4,appendTo:{type:He([String,Object]),default:a4},content:{type:String,default:""},rawContent:{type:Boolean,default:!1},persistent:Boolean,ariaLabel:String,visible:{type:He(Boolean),default:null},transition:{type:String,default:`${IZ.namespace.value}-fade-in-linear`},teleported:{type:Boolean,default:!0},disabled:{type:Boolean}}),x4=et({...f4,disabled:Boolean,trigger:{type:He([String,Array]),default:"hover"},triggerKeys:{type:He(Array),default:()=>[Lt.enter,Lt.space]}}),{useModelToggleProps:HZ,useModelToggleEmits:RZ,useModelToggle:NZ}=dJ("visible"),OZ=et({...i4,...HZ,...Tc,...x4,...c4,openDelay:{type:Number},visibleArrow:{type:Boolean,default:void 0},showArrow:{type:Boolean,default:!0}}),UZ=[...RZ,"before-show","before-hide","show","hide","open","close"],WZ=(e,t)=>qe(e)?e.includes(t):e===t,Rl=(e,t,n)=>o=>{WZ(h(e),t)&&n(o)},qZ=le({name:"ElTooltipTrigger"}),jZ=le({...qZ,props:x4,setup(e,{expose:t}){const n=e,o=Ve("tooltip"),{controlled:l,id:u,open:a,onOpen:r,onClose:s,onToggle:i}=Xe(wc,void 0),p=L(null),m=()=>{if(h(l)||n.disabled)return!0},v=Tn(n,"trigger"),_=Co(m,Rl(v,"hover",r)),g=Co(m,Rl(v,"hover",s)),y=Co(m,Rl(v,"click",B=>{B.button===0&&i(B)})),w=Co(m,Rl(v,"focus",r)),E=Co(m,Rl(v,"focus",s)),D=Co(m,Rl(v,"contextmenu",B=>{B.preventDefault(),i(B)})),C=Co(m,B=>{const{code:$}=B;n.triggerKeys.includes($)&&(B.preventDefault(),i(B))});return t({triggerRef:p}),(B,$)=>(b(),ae(h(vQ),{id:h(u),"virtual-ref":B.virtualRef,open:h(a),"virtual-triggering":B.virtualTriggering,class:K(h(o).e("trigger")),onBlur:h(E),onClick:h(y),onContextmenu:h(D),onFocus:h(w),onMouseenter:h(_),onMouseleave:h(g),onKeydown:h(C)},{default:d(()=>[ze(B.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var KZ=We(jZ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/trigger.vue"]]);const GZ=le({name:"ElTooltipContent",inheritAttrs:!1}),YZ=le({...GZ,props:Tc,setup(e,{expose:t}){const n=e,o=L(null),l=L(!1),{controlled:u,id:a,open:r,trigger:s,onClose:i,onOpen:p,onShow:m,onHide:v,onBeforeShow:_,onBeforeHide:g}=Xe(wc,void 0),y=U(()=>n.persistent);Mt(()=>{l.value=!0});const w=U(()=>h(y)?!0:h(r)),E=U(()=>n.disabled?!1:h(r)),D=U(()=>{var N;return(N=n.style)!=null?N:{}}),C=U(()=>!h(r)),B=()=>{v()},$=()=>{if(h(u))return!0},k=Co($,()=>{n.enterable&&h(s)==="hover"&&p()}),P=Co($,()=>{h(s)==="hover"&&i()}),T=()=>{var N,J;(J=(N=o.value)==null?void 0:N.updatePopper)==null||J.call(N),_==null||_()},H=()=>{g==null||g()},j=()=>{m(),W=v9(U(()=>{var N;return(N=o.value)==null?void 0:N.popperContentRef}),()=>{if(h(u))return;h(s)!=="hover"&&i()})},X=()=>{n.virtualTriggering||i()};let W;return Me(()=>h(r),N=>{N||W==null||W()},{flush:"post"}),Me(()=>n.content,()=>{var N,J;(J=(N=o.value)==null?void 0:N.updatePopper)==null||J.call(N)}),t({contentRef:o}),(N,J)=>(b(),ae(V1,{disabled:!N.teleported,to:N.appendTo},[c(tn,{name:N.transition,onAfterLeave:B,onBeforeEnter:T,onAfterEnter:j,onBeforeLeave:H},{default:d(()=>[h(w)?fe((b(),ae(h(MZ),kn({key:0,id:h(a),ref_key:"contentRef",ref:o},N.$attrs,{"aria-label":N.ariaLabel,"aria-hidden":h(C),"boundaries-padding":N.boundariesPadding,"fallback-placements":N.fallbackPlacements,"gpu-acceleration":N.gpuAcceleration,offset:N.offset,placement:N.placement,"popper-options":N.popperOptions,strategy:N.strategy,effect:N.effect,enterable:N.enterable,pure:N.pure,"popper-class":N.popperClass,"popper-style":[N.popperStyle,h(D)],"reference-el":N.referenceEl,"trigger-target-el":N.triggerTargetEl,visible:h(E),"z-index":N.zIndex,onMouseenter:h(k),onMouseleave:h(P),onBlur:X,onClose:h(i)}),{default:d(()=>[oe(" Workaround bug #6378 "),l.value?oe("v-if",!0):ze(N.$slots,"default",{key:0})]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[ge,h(E)]]):oe("v-if",!0)]),_:3},8,["name"])],8,["disabled","to"]))}});var XZ=We(YZ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/content.vue"]]);const JZ=["innerHTML"],QZ={key:1},ZZ=le({name:"ElTooltip"}),eee=le({...ZZ,props:OZ,emits:UZ,setup(e,{expose:t,emit:n}){const o=e;mJ();const l=U(()=>(jn(o.openDelay),o.openDelay||o.showAfter)),u=U(()=>(jn(o.visibleArrow),Ut(o.visibleArrow)?o.visibleArrow:o.showArrow)),a=ol(),r=L(),s=L(),i=()=>{var C;const B=h(r);B&&((C=B.popperInstanceRef)==null||C.update())},p=L(!1),m=L(),{show:v,hide:_,hasUpdateHandler:g}=NZ({indicator:p,toggleReason:m}),{onOpen:y,onClose:w}=bJ({showAfter:l,hideAfter:Tn(o,"hideAfter"),open:v,close:_}),E=U(()=>Ut(o.visible)&&!g.value);Dt(wc,{controlled:E,id:a,open:Vi(p),trigger:Tn(o,"trigger"),onOpen:C=>{y(C)},onClose:C=>{w(C)},onToggle:C=>{h(p)?w(C):y(C)},onShow:()=>{n("show",m.value)},onHide:()=>{n("hide",m.value)},onBeforeShow:()=>{n("before-show",m.value)},onBeforeHide:()=>{n("before-hide",m.value)},updatePopper:i}),Me(()=>o.disabled,C=>{C&&p.value&&(p.value=!1)});const D=()=>{var C,B;const $=(B=(C=s.value)==null?void 0:C.contentRef)==null?void 0:B.popperContentRef;return $&&$.contains(document.activeElement)};return D1(()=>p.value&&_()),t({popperRef:r,contentRef:s,isFocusInsideContent:D,updatePopper:i,onOpen:y,onClose:w,hide:_}),(C,B)=>(b(),ae(h(VZ),{ref_key:"popperRef",ref:r,role:C.role},{default:d(()=>[c(KZ,{disabled:C.disabled,trigger:C.trigger,"trigger-keys":C.triggerKeys,"virtual-ref":C.virtualRef,"virtual-triggering":C.virtualTriggering},{default:d(()=>[C.$slots.default?ze(C.$slots,"default",{key:0}):oe("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),c(XZ,{ref_key:"contentRef",ref:s,"aria-label":C.ariaLabel,"boundaries-padding":C.boundariesPadding,content:C.content,disabled:C.disabled,effect:C.effect,enterable:C.enterable,"fallback-placements":C.fallbackPlacements,"hide-after":C.hideAfter,"gpu-acceleration":C.gpuAcceleration,offset:C.offset,persistent:C.persistent,"popper-class":C.popperClass,"popper-style":C.popperStyle,placement:C.placement,"popper-options":C.popperOptions,pure:C.pure,"raw-content":C.rawContent,"reference-el":C.referenceEl,"trigger-target-el":C.triggerTargetEl,"show-after":h(l),strategy:C.strategy,teleported:C.teleported,transition:C.transition,"virtual-triggering":C.virtualTriggering,"z-index":C.zIndex,"append-to":C.appendTo},{default:d(()=>[ze(C.$slots,"content",{},()=>[C.rawContent?(b(),F("span",{key:0,innerHTML:C.content},null,8,JZ)):(b(),F("span",QZ,re(C.content),1))]),h(u)?(b(),ae(h(iQ),{key:0,"arrow-offset":C.arrowOffset},null,8,["arrow-offset"])):oe("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var tee=We(eee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/tooltip.vue"]]);const pn=Ft(tee),nee=et({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"}}),oee=["textContent"],lee=le({name:"ElBadge"}),uee=le({...lee,props:nee,setup(e,{expose:t}){const n=e,o=Ve("badge"),l=U(()=>n.isDot?"":gt(n.value)&>(n.max)?n.max(b(),F("div",{class:K(h(o).b())},[ze(u.$slots,"default"),c(tn,{name:`${h(o).namespace.value}-zoom-in-center`,persisted:""},{default:d(()=>[fe(f("sup",{class:K([h(o).e("content"),h(o).em("content",u.type),h(o).is("fixed",!!u.$slots.default),h(o).is("dot",u.isDot)]),textContent:re(h(l))},null,10,oee),[[ge,!u.hidden&&(h(l)||u.isDot)]])]),_:1},8,["name"])],2))}});var aee=We(uee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/badge/src/badge.vue"]]);const ree=Ft(aee),see=["default","primary","success","warning","info","danger","text",""],iee=["button","submit","reset"],oi=et({size:Io,disabled:Boolean,type:{type:String,values:see,default:""},icon:{type:Tt},nativeType:{type:String,values:iee,default:"button"},loading:Boolean,loadingIcon:{type:Tt,default:()=>ha},plain:Boolean,text:Boolean,link:Boolean,bg:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0}}),cee={click:e=>e instanceof MouseEvent};function Wt(e,t){dee(e)&&(e="100%");var n=fee(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function Ia(e){return Math.min(1,Math.max(0,e))}function dee(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function fee(e){return typeof e=="string"&&e.indexOf("%")!==-1}function $4(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Ha(e){return e<=1?"".concat(Number(e)*100,"%"):e}function bl(e){return e.length===1?"0"+e:String(e)}function pee(e,t,n){return{r:Wt(e,255)*255,g:Wt(t,255)*255,b:Wt(n,255)*255}}function J0(e,t,n){e=Wt(e,255),t=Wt(t,255),n=Wt(n,255);var o=Math.max(e,t,n),l=Math.min(e,t,n),u=0,a=0,r=(o+l)/2;if(o===l)a=0,u=0;else{var s=o-l;switch(a=r>.5?s/(2-o-l):s/(o+l),o){case e:u=(t-n)/s+(t1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function vee(e,t,n){var o,l,u;if(e=Wt(e,360),t=Wt(t,100),n=Wt(n,100),t===0)l=n,u=n,o=n;else{var a=n<.5?n*(1+t):n+t-n*t,r=2*n-a;o=ws(r,a,e+1/3),l=ws(r,a,e),u=ws(r,a,e-1/3)}return{r:o*255,g:l*255,b:u*255}}function Q0(e,t,n){e=Wt(e,255),t=Wt(t,255),n=Wt(n,255);var o=Math.max(e,t,n),l=Math.min(e,t,n),u=0,a=o,r=o-l,s=o===0?0:r/o;if(o===l)u=0;else{switch(o){case e:u=(t-n)/r+(t>16,g:(e&65280)>>8,b:e&255}}var li={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function bee(e){var t={r:0,g:0,b:0},n=1,o=null,l=null,u=null,a=!1,r=!1;return typeof e=="string"&&(e=Cee(e)),typeof e=="object"&&(mo(e.r)&&mo(e.g)&&mo(e.b)?(t=pee(e.r,e.g,e.b),a=!0,r=String(e.r).substr(-1)==="%"?"prgb":"rgb"):mo(e.h)&&mo(e.s)&&mo(e.v)?(o=Ha(e.s),l=Ha(e.v),t=hee(e.h,o,l),a=!0,r="hsv"):mo(e.h)&&mo(e.s)&&mo(e.l)&&(o=Ha(e.s),u=Ha(e.l),t=vee(e.h,o,u),a=!0,r="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=$4(n),{ok:a,format:e.format||r,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var yee="[-\\+]?\\d+%?",wee="[-\\+]?\\d*\\.\\d+%?",Jo="(?:".concat(wee,")|(?:").concat(yee,")"),Cs="[\\s|\\(]+(".concat(Jo,")[,|\\s]+(").concat(Jo,")[,|\\s]+(").concat(Jo,")\\s*\\)?"),Es="[\\s|\\(]+(".concat(Jo,")[,|\\s]+(").concat(Jo,")[,|\\s]+(").concat(Jo,")[,|\\s]+(").concat(Jo,")\\s*\\)?"),Un={CSS_UNIT:new RegExp(Jo),rgb:new RegExp("rgb"+Cs),rgba:new RegExp("rgba"+Es),hsl:new RegExp("hsl"+Cs),hsla:new RegExp("hsla"+Es),hsv:new RegExp("hsv"+Cs),hsva:new RegExp("hsva"+Es),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function Cee(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(li[e])e=li[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Un.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Un.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Un.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Un.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Un.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Un.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Un.hex8.exec(e),n?{r:bn(n[1]),g:bn(n[2]),b:bn(n[3]),a:ed(n[4]),format:t?"name":"hex8"}:(n=Un.hex6.exec(e),n?{r:bn(n[1]),g:bn(n[2]),b:bn(n[3]),format:t?"name":"hex"}:(n=Un.hex4.exec(e),n?{r:bn(n[1]+n[1]),g:bn(n[2]+n[2]),b:bn(n[3]+n[3]),a:ed(n[4]+n[4]),format:t?"name":"hex8"}:(n=Un.hex3.exec(e),n?{r:bn(n[1]+n[1]),g:bn(n[2]+n[2]),b:bn(n[3]+n[3]),format:t?"name":"hex"}:!1)))))))))}function mo(e){return Boolean(Un.CSS_UNIT.exec(String(e)))}var S4=function(){function e(t,n){t===void 0&&(t=""),n===void 0&&(n={});var o;if(t instanceof e)return t;typeof t=="number"&&(t=gee(t)),this.originalInput=t;var l=bee(t);this.originalInput=t,this.r=l.r,this.g=l.g,this.b=l.b,this.a=l.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:l.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=l.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),n,o,l,u=t.r/255,a=t.g/255,r=t.b/255;return u<=.03928?n=u/12.92:n=Math.pow((u+.055)/1.055,2.4),a<=.03928?o=a/12.92:o=Math.pow((a+.055)/1.055,2.4),r<=.03928?l=r/12.92:l=Math.pow((r+.055)/1.055,2.4),.2126*n+.7152*o+.0722*l},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=$4(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.toHsv=function(){var t=Q0(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=Q0(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),l=Math.round(t.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(l,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=J0(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=J0(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),l=Math.round(t.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(l,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),Z0(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),_ee(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(n,", ").concat(o,")"):"rgba(".concat(t,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(n){return"".concat(Math.round(Wt(n,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(n){return Math.round(Wt(n,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+Z0(this.r,this.g,this.b,!1),n=0,o=Object.entries(li);n=0,u=!n&&l&&(t.startsWith("hex")||t==="name");return u?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=Ia(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=Ia(n.l),new e(n)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=Ia(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=Ia(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),o=(n.h+t)%360;return n.h=o<0?360+o:o,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var o=this.toRgb(),l=new e(t).toRgb(),u=n/100,a={r:(l.r-o.r)*u+o.r,g:(l.g-o.g)*u+o.g,b:(l.b-o.b)*u+o.b,a:(l.a-o.a)*u+o.a};return new e(a)},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var o=this.toHsl(),l=360/n,u=[this];for(o.h=(o.h-(l*t>>1)+720)%360;--t;)o.h=(o.h+l)%360,u.push(new e(o));return u},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),o=n.h,l=n.s,u=n.v,a=[],r=1/t;t--;)a.push(new e({h:o,s:l,v:u})),u=(u+r)%1;return a},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),o=new e(t).toRgb();return new e({r:o.r+(n.r-o.r)*n.a,g:o.g+(n.g-o.g)*n.a,b:o.b+(n.b-o.b)*n.a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),o=n.h,l=[this],u=360/t,a=1;a{let o={};const l=e.color;if(l){const u=new S4(l),a=e.dark?u.tint(20).toString():Oo(u,20);if(e.plain)o=n.cssVarBlock({"bg-color":e.dark?Oo(u,90):u.tint(90).toString(),"text-color":l,"border-color":e.dark?Oo(u,50):u.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":l,"hover-border-color":l,"active-bg-color":a,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":a}),t.value&&(o[n.cssVarBlockName("disabled-bg-color")]=e.dark?Oo(u,90):u.tint(90).toString(),o[n.cssVarBlockName("disabled-text-color")]=e.dark?Oo(u,50):u.tint(50).toString(),o[n.cssVarBlockName("disabled-border-color")]=e.dark?Oo(u,80):u.tint(80).toString());else{const r=e.dark?Oo(u,30):u.tint(30).toString(),s=u.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(o=n.cssVarBlock({"bg-color":l,"text-color":s,"border-color":l,"hover-bg-color":r,"hover-text-color":s,"hover-border-color":r,"active-bg-color":a,"active-border-color":a}),t.value){const i=e.dark?Oo(u,50):u.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]=i,o[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,o[n.cssVarBlockName("disabled-border-color")]=i}}}return o})}const Fee=["aria-disabled","disabled","autofocus","type"],Aee=le({name:"ElButton"}),Dee=le({...Aee,props:oi,emits:cee,setup(e,{expose:t,emit:n}){const o=e,l=To();ua({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},U(()=>o.type==="text"));const u=Xe(Kf,void 0),a=Vo("button"),r=Ve("button"),{form:s}=Ho(),i=dn(U(()=>u==null?void 0:u.size)),p=ul(),m=L(),v=U(()=>o.type||(u==null?void 0:u.type)||""),_=U(()=>{var E,D,C;return(C=(D=o.autoInsertSpace)!=null?D:(E=a.value)==null?void 0:E.autoInsertSpace)!=null?C:!1}),g=U(()=>{var E;const D=(E=l.default)==null?void 0:E.call(l);if(_.value&&(D==null?void 0:D.length)===1){const C=D[0];if((C==null?void 0:C.type)===fa){const B=C.children;return/^\p{Unified_Ideograph}{2}$/u.test(B.trim())}}return!1}),y=Eee(o),w=E=>{o.nativeType==="reset"&&(s==null||s.resetFields()),n("click",E)};return t({ref:m,size:i,type:v,disabled:p,shouldAddSpace:g}),(E,D)=>(b(),F("button",{ref_key:"_ref",ref:m,class:K([h(r).b(),h(r).m(h(v)),h(r).m(h(i)),h(r).is("disabled",h(p)),h(r).is("loading",E.loading),h(r).is("plain",E.plain),h(r).is("round",E.round),h(r).is("circle",E.circle),h(r).is("text",E.text),h(r).is("link",E.link),h(r).is("has-bg",E.bg)]),"aria-disabled":h(p)||E.loading,disabled:h(p)||E.loading,autofocus:E.autofocus,type:E.nativeType,style:ut(h(y)),onClick:w},[E.loading?(b(),F(Oe,{key:0},[E.$slots.loading?ze(E.$slots,"loading",{key:0}):(b(),ae(h(rt),{key:1,class:K(h(r).is("loading"))},{default:d(()=>[(b(),ae(Ct(E.loadingIcon)))]),_:1},8,["class"]))],64)):E.icon||E.$slots.icon?(b(),ae(h(rt),{key:1},{default:d(()=>[E.icon?(b(),ae(Ct(E.icon),{key:0})):ze(E.$slots,"icon",{key:1})]),_:3})):oe("v-if",!0),E.$slots.default?(b(),F("span",{key:2,class:K({[h(r).em("text","expand")]:h(g)})},[ze(E.$slots,"default")],2)):oe("v-if",!0)],14,Fee))}});var Bee=We(Dee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/button/src/button.vue"]]);const xee={size:oi.size,type:oi.type},$ee=le({name:"ElButtonGroup"}),See=le({...$ee,props:xee,setup(e){const t=e;Dt(Kf,Rt({size:Tn(t,"size"),type:Tn(t,"type")}));const n=Ve("button");return(o,l)=>(b(),F("div",{class:K(`${h(n).b("group")}`)},[ze(o.$slots,"default")],2))}});var k4=We(See,[["__file","/home/runner/work/element-plus/element-plus/packages/components/button/src/button-group.vue"]]);const vn=Ft(Bee,{ButtonGroup:k4});Nt(k4);var ql=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function kee(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}const qo=new Map;let td;_t&&(document.addEventListener("mousedown",e=>td=e),document.addEventListener("mouseup",e=>{for(const t of qo.values())for(const{documentHandler:n}of t)n(e,td)}));function nd(e,t){let n=[];return Array.isArray(t.arg)?n=t.arg:nl(t.arg)&&n.push(t.arg),function(o,l){const u=t.instance.popperRef,a=o.target,r=l==null?void 0:l.target,s=!t||!t.instance,i=!a||!r,p=e.contains(a)||e.contains(r),m=e===a,v=n.length&&n.some(g=>g==null?void 0:g.contains(a))||n.length&&n.includes(r),_=u&&(u.contains(a)||u.contains(r));s||i||p||m||v||_||t.value(o,l)}}const P4={beforeMount(e,t){qo.has(e)||qo.set(e,[]),qo.get(e).push({documentHandler:nd(e,t),bindingFn:t.value})},updated(e,t){qo.has(e)||qo.set(e,[]);const n=qo.get(e),o=n.findIndex(u=>u.bindingFn===t.oldValue),l={documentHandler:nd(e,t),bindingFn:t.value};o>=0?n.splice(o,1,l):n.push(l)},unmounted(e){qo.delete(e)}},Pee=100,Lee=600,od={beforeMount(e,t){const n=t.value,{interval:o=Pee,delay:l=Lee}=Ge(n)?{}:n;let u,a;const r=()=>Ge(n)?n():n.handler(),s=()=>{a&&(clearTimeout(a),a=void 0),u&&(clearInterval(u),u=void 0)};e.addEventListener("mousedown",i=>{i.button===0&&(s(),r(),document.addEventListener("mouseup",()=>s(),{once:!0}),a=setTimeout(()=>{u=setInterval(()=>{r()},o)},l))})}},ui="_trap-focus-children",yl=[],ld=e=>{if(yl.length===0)return;const t=yl[yl.length-1][ui];if(t.length>0&&e.code===Lt.tab){if(t.length===1){e.preventDefault(),document.activeElement!==t[0]&&t[0].focus();return}const n=e.shiftKey,o=e.target===t[0],l=e.target===t[t.length-1];o&&n&&(e.preventDefault(),t[t.length-1].focus()),l&&!n&&(e.preventDefault(),t[0].focus())}},Tee={beforeMount(e){e[ui]=b0(e),yl.push(e),yl.length<=1&&document.addEventListener("keydown",ld)},updated(e){at(()=>{e[ui]=b0(e)})},unmounted(){yl.shift(),yl.length===0&&document.removeEventListener("keydown",ld)}};var ud=!1,ml,ai,ri,nr,or,L4,lr,si,ii,ci,T4,di,fi,z4,M4;function on(){if(!ud){ud=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(di=/\b(iPhone|iP[ao]d)/.exec(e),fi=/\b(iP[ao]d)/.exec(e),ci=/Android/i.exec(e),z4=/FBAN\/\w+;/i.exec(e),M4=/Mobile/i.exec(e),T4=!!/Win64/.exec(e),t){ml=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,ml&&document&&document.documentMode&&(ml=document.documentMode);var o=/(?:Trident\/(\d+.\d+))/.exec(e);L4=o?parseFloat(o[1])+4:ml,ai=t[2]?parseFloat(t[2]):NaN,ri=t[3]?parseFloat(t[3]):NaN,nr=t[4]?parseFloat(t[4]):NaN,nr?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),or=t&&t[1]?parseFloat(t[1]):NaN):or=NaN}else ml=ai=ri=or=nr=NaN;if(n){if(n[1]){var l=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);lr=l?parseFloat(l[1].replace("_",".")):!0}else lr=!1;si=!!n[2],ii=!!n[3]}else lr=si=ii=!1}}var pi={ie:function(){return on()||ml},ieCompatibilityMode:function(){return on()||L4>ml},ie64:function(){return pi.ie()&&T4},firefox:function(){return on()||ai},opera:function(){return on()||ri},webkit:function(){return on()||nr},safari:function(){return pi.webkit()},chrome:function(){return on()||or},windows:function(){return on()||si},osx:function(){return on()||lr},linux:function(){return on()||ii},iphone:function(){return on()||di},mobile:function(){return on()||di||fi||ci||M4},nativeApp:function(){return on()||z4},android:function(){return on()||ci},ipad:function(){return on()||fi}},zee=pi,Ra=!!(typeof window<"u"&&window.document&&window.document.createElement),Mee={canUseDOM:Ra,canUseWorkers:typeof Worker<"u",canUseEventListeners:Ra&&!!(window.addEventListener||window.attachEvent),canUseViewport:Ra&&!!window.screen,isInWorker:!Ra},V4=Mee,I4;V4.canUseDOM&&(I4=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function Vee(e,t){if(!V4.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var l=document.createElement("div");l.setAttribute(n,"return;"),o=typeof l[n]=="function"}return!o&&I4&&e==="wheel"&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var Iee=Vee,ad=10,rd=40,sd=800;function H4(e){var t=0,n=0,o=0,l=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),o=t*ad,l=n*ad,"deltaY"in e&&(l=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||l)&&e.deltaMode&&(e.deltaMode==1?(o*=rd,l*=rd):(o*=sd,l*=sd)),o&&!t&&(t=o<1?-1:1),l&&!n&&(n=l<1?-1:1),{spinX:t,spinY:n,pixelX:o,pixelY:l}}H4.getEventType=function(){return zee.firefox()?"DOMMouseScroll":Iee("wheel")?"wheel":"mousewheel"};var Hee=H4;/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */const Ree=function(e,t){if(e&&e.addEventListener){const n=function(o){const l=Hee(o);t&&Reflect.apply(t,this,[o,l])};e.addEventListener("wheel",n,{passive:!0})}},Nee={beforeMount(e,t){Ree(e,t.value)}},R4={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object]},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},controls:{type:String,default:void 0},border:Boolean,size:Io,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0}},N4={[bt]:e=>tt(e)||gt(e)||Ut(e),change:e=>tt(e)||gt(e)||Ut(e)},Oee=({model:e,isChecked:t})=>{const n=Xe(Eu,void 0),o=U(()=>{var u,a;const r=(u=n==null?void 0:n.max)==null?void 0:u.value,s=(a=n==null?void 0:n.min)==null?void 0:a.value;return!jn(r)&&e.value.length>=r&&!t.value||!jn(s)&&e.value.length<=s&&t.value});return{isDisabled:ul(U(()=>(n==null?void 0:n.disabled.value)||o.value)),isLimitDisabled:o}},Uee=(e,{model:t,isLimitExceeded:n,hasOwnLabel:o,isDisabled:l,isLabeledByFormItem:u})=>{const a=Xe(Eu,void 0),{formItem:r}=Ho(),{emit:s}=pt();function i(g){var y,w;return g===e.trueLabel||g===!0?(y=e.trueLabel)!=null?y:!0:(w=e.falseLabel)!=null?w:!1}function p(g,y){s("change",i(g),y)}function m(g){if(n.value)return;const y=g.target;s("change",i(y.checked),g)}async function v(g){n.value||!o.value&&!l.value&&u.value&&(g.composedPath().some(E=>E.tagName==="LABEL")||(t.value=i([!1,e.falseLabel].includes(t.value)),await at(),p(t.value,g)))}const _=U(()=>(a==null?void 0:a.validateEvent)||e.validateEvent);return Me(()=>e.modelValue,()=>{_.value&&(r==null||r.validate("change").catch(g=>void 0))}),{handleChange:m,onClickRoot:v}},Wee=e=>{const t=L(!1),{emit:n}=pt(),o=Xe(Eu,void 0),l=U(()=>jn(o)===!1),u=L(!1);return{model:U({get(){var r,s;return l.value?(r=o==null?void 0:o.modelValue)==null?void 0:r.value:(s=e.modelValue)!=null?s:t.value},set(r){var s,i;l.value&&qe(r)?(u.value=((s=o==null?void 0:o.max)==null?void 0:s.value)!==void 0&&r.length>(o==null?void 0:o.max.value),u.value===!1&&((i=o==null?void 0:o.changeEvent)==null||i.call(o,r))):(n(bt,r),t.value=r)}}),isGroup:l,isLimitExceeded:u}},qee=(e,t,{model:n})=>{const o=Xe(Eu,void 0),l=L(!1),u=U(()=>{const i=n.value;return Ut(i)?i:qe(i)?i.map(ct).includes(e.label):i!=null?i===e.trueLabel:!!i}),a=dn(U(()=>{var i;return(i=o==null?void 0:o.size)==null?void 0:i.value}),{prop:!0}),r=dn(U(()=>{var i;return(i=o==null?void 0:o.size)==null?void 0:i.value})),s=U(()=>!!(t.default||e.label));return{checkboxButtonSize:a,isChecked:u,isFocused:l,checkboxSize:r,hasOwnLabel:s}},jee=(e,{model:t})=>{function n(){qe(t.value)&&!t.value.includes(e.label)?t.value.push(e.label):t.value=e.trueLabel||!0}e.checked&&n()},O4=(e,t)=>{const{formItem:n}=Ho(),{model:o,isGroup:l,isLimitExceeded:u}=Wee(e),{isFocused:a,isChecked:r,checkboxButtonSize:s,checkboxSize:i,hasOwnLabel:p}=qee(e,t,{model:o}),{isDisabled:m}=Oee({model:o,isChecked:r}),{inputId:v,isLabeledByFormItem:_}=_a(e,{formItemContext:n,disableIdGeneration:p,disableIdManagement:l}),{handleChange:g,onClickRoot:y}=Uee(e,{model:o,isLimitExceeded:u,hasOwnLabel:p,isDisabled:m,isLabeledByFormItem:_});return jee(e,{model:o}),{inputId:v,isLabeledByFormItem:_,isChecked:r,isDisabled:m,isFocused:a,checkboxButtonSize:s,checkboxSize:i,hasOwnLabel:p,model:o,handleChange:g,onClickRoot:y}},Kee=["tabindex","role","aria-checked"],Gee=["id","aria-hidden","name","tabindex","disabled","true-value","false-value"],Yee=["id","aria-hidden","disabled","value","name","tabindex"],Xee=le({name:"ElCheckbox"}),Jee=le({...Xee,props:R4,emits:N4,setup(e){const t=e,n=To(),{inputId:o,isLabeledByFormItem:l,isChecked:u,isDisabled:a,isFocused:r,checkboxSize:s,hasOwnLabel:i,model:p,handleChange:m,onClickRoot:v}=O4(t,n),_=Ve("checkbox");return(g,y)=>(b(),ae(Ct(!h(i)&&h(l)?"span":"label"),{class:K([h(_).b(),h(_).m(h(s)),h(_).is("disabled",h(a)),h(_).is("bordered",g.border),h(_).is("checked",h(u))]),"aria-controls":g.indeterminate?g.controls:null,onClick:h(v)},{default:d(()=>[f("span",{class:K([h(_).e("input"),h(_).is("disabled",h(a)),h(_).is("checked",h(u)),h(_).is("indeterminate",g.indeterminate),h(_).is("focus",h(r))]),tabindex:g.indeterminate?0:void 0,role:g.indeterminate?"checkbox":void 0,"aria-checked":g.indeterminate?"mixed":void 0},[g.trueLabel||g.falseLabel?fe((b(),F("input",{key:0,id:h(o),"onUpdate:modelValue":y[0]||(y[0]=w=>yt(p)?p.value=w:null),class:K(h(_).e("original")),type:"checkbox","aria-hidden":g.indeterminate?"true":"false",name:g.name,tabindex:g.tabindex,disabled:h(a),"true-value":g.trueLabel,"false-value":g.falseLabel,onChange:y[1]||(y[1]=(...w)=>h(m)&&h(m)(...w)),onFocus:y[2]||(y[2]=w=>r.value=!0),onBlur:y[3]||(y[3]=w=>r.value=!1)},null,42,Gee)),[[gr,h(p)]]):fe((b(),F("input",{key:1,id:h(o),"onUpdate:modelValue":y[4]||(y[4]=w=>yt(p)?p.value=w:null),class:K(h(_).e("original")),type:"checkbox","aria-hidden":g.indeterminate?"true":"false",disabled:h(a),value:g.label,name:g.name,tabindex:g.tabindex,onChange:y[5]||(y[5]=(...w)=>h(m)&&h(m)(...w)),onFocus:y[6]||(y[6]=w=>r.value=!0),onBlur:y[7]||(y[7]=w=>r.value=!1)},null,42,Yee)),[[gr,h(p)]]),f("span",{class:K(h(_).e("inner"))},null,2)],10,Kee),h(i)?(b(),F("span",{key:0,class:K(h(_).e("label"))},[ze(g.$slots,"default"),g.$slots.default?oe("v-if",!0):(b(),F(Oe,{key:0},[A(re(g.label),1)],64))],2)):oe("v-if",!0)]),_:3},8,["class","aria-controls","onClick"]))}});var Qee=We(Jee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox.vue"]]);const Zee=["name","tabindex","disabled","true-value","false-value"],ete=["name","tabindex","disabled","value"],tte=le({name:"ElCheckboxButton"}),nte=le({...tte,props:R4,emits:N4,setup(e){const t=e,n=To(),{isFocused:o,isChecked:l,isDisabled:u,checkboxButtonSize:a,model:r,handleChange:s}=O4(t,n),i=Xe(Eu,void 0),p=Ve("checkbox"),m=U(()=>{var v,_,g,y;const w=(_=(v=i==null?void 0:i.fill)==null?void 0:v.value)!=null?_:"";return{backgroundColor:w,borderColor:w,color:(y=(g=i==null?void 0:i.textColor)==null?void 0:g.value)!=null?y:"",boxShadow:w?`-1px 0 0 0 ${w}`:void 0}});return(v,_)=>(b(),F("label",{class:K([h(p).b("button"),h(p).bm("button",h(a)),h(p).is("disabled",h(u)),h(p).is("checked",h(l)),h(p).is("focus",h(o))])},[v.trueLabel||v.falseLabel?fe((b(),F("input",{key:0,"onUpdate:modelValue":_[0]||(_[0]=g=>yt(r)?r.value=g:null),class:K(h(p).be("button","original")),type:"checkbox",name:v.name,tabindex:v.tabindex,disabled:h(u),"true-value":v.trueLabel,"false-value":v.falseLabel,onChange:_[1]||(_[1]=(...g)=>h(s)&&h(s)(...g)),onFocus:_[2]||(_[2]=g=>o.value=!0),onBlur:_[3]||(_[3]=g=>o.value=!1)},null,42,Zee)),[[gr,h(r)]]):fe((b(),F("input",{key:1,"onUpdate:modelValue":_[4]||(_[4]=g=>yt(r)?r.value=g:null),class:K(h(p).be("button","original")),type:"checkbox",name:v.name,tabindex:v.tabindex,disabled:h(u),value:v.label,onChange:_[5]||(_[5]=(...g)=>h(s)&&h(s)(...g)),onFocus:_[6]||(_[6]=g=>o.value=!0),onBlur:_[7]||(_[7]=g=>o.value=!1)},null,42,ete)),[[gr,h(r)]]),v.$slots.default||v.label?(b(),F("span",{key:2,class:K(h(p).be("button","inner")),style:ut(h(l)?h(m):void 0)},[ze(v.$slots,"default",{},()=>[A(re(v.label),1)])],6)):oe("v-if",!0)],2))}});var U4=We(nte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox-button.vue"]]);const ote=et({modelValue:{type:He(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:Io,label:String,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0}}),lte={[bt]:e=>qe(e),change:e=>qe(e)},ute=le({name:"ElCheckboxGroup"}),ate=le({...ute,props:ote,emits:lte,setup(e,{emit:t}){const n=e,o=Ve("checkbox"),{formItem:l}=Ho(),{inputId:u,isLabeledByFormItem:a}=_a(n,{formItemContext:l}),r=async i=>{t(bt,i),await at(),t("change",i)},s=U({get(){return n.modelValue},set(i){r(i)}});return Dt(Eu,{...t9(ho(n),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:s,changeEvent:r}),Me(()=>n.modelValue,()=>{n.validateEvent&&(l==null||l.validate("change").catch(i=>void 0))}),(i,p)=>{var m;return b(),ae(Ct(i.tag),{id:h(u),class:K(h(o).b("group")),role:"group","aria-label":h(a)?void 0:i.label||"checkbox-group","aria-labelledby":h(a)?(m=h(l))==null?void 0:m.labelId:void 0},{default:d(()=>[ze(i.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var W4=We(ate,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox-group.vue"]]);const Po=Ft(Qee,{CheckboxButton:U4,CheckboxGroup:W4});Nt(U4);const q4=Nt(W4),j4=et({size:Io,disabled:Boolean,label:{type:[String,Number,Boolean],default:""}}),rte=et({...j4,modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:""},border:Boolean}),K4={[bt]:e=>tt(e)||gt(e)||Ut(e),[Jn]:e=>tt(e)||gt(e)||Ut(e)},G4=(e,t)=>{const n=L(),o=Xe(Qf,void 0),l=U(()=>!!o),u=U({get(){return l.value?o.modelValue:e.modelValue},set(p){l.value?o.changeEvent(p):t&&t(bt,p),n.value.checked=e.modelValue===e.label}}),a=dn(U(()=>o==null?void 0:o.size)),r=ul(U(()=>o==null?void 0:o.disabled)),s=L(!1),i=U(()=>r.value||l.value&&u.value!==e.label?-1:0);return{radioRef:n,isGroup:l,radioGroup:o,focus:s,size:a,disabled:r,tabIndex:i,modelValue:u}},ste=["value","name","disabled"],ite=le({name:"ElRadio"}),cte=le({...ite,props:rte,emits:K4,setup(e,{emit:t}){const n=e,o=Ve("radio"),{radioRef:l,radioGroup:u,focus:a,size:r,disabled:s,modelValue:i}=G4(n,t);function p(){at(()=>t("change",i.value))}return(m,v)=>{var _;return b(),F("label",{class:K([h(o).b(),h(o).is("disabled",h(s)),h(o).is("focus",h(a)),h(o).is("bordered",m.border),h(o).is("checked",h(i)===m.label),h(o).m(h(r))])},[f("span",{class:K([h(o).e("input"),h(o).is("disabled",h(s)),h(o).is("checked",h(i)===m.label)])},[fe(f("input",{ref_key:"radioRef",ref:l,"onUpdate:modelValue":v[0]||(v[0]=g=>yt(i)?i.value=g:null),class:K(h(o).e("original")),value:m.label,name:m.name||((_=h(u))==null?void 0:_.name),disabled:h(s),type:"radio",onFocus:v[1]||(v[1]=g=>a.value=!0),onBlur:v[2]||(v[2]=g=>a.value=!1),onChange:p},null,42,ste),[[Q1,h(i)]]),f("span",{class:K(h(o).e("inner"))},null,2)],2),f("span",{class:K(h(o).e("label")),onKeydown:v[3]||(v[3]=mt(()=>{},["stop"]))},[ze(m.$slots,"default",{},()=>[A(re(m.label),1)])],34)],2)}}});var dte=We(cte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const fte=et({...j4,name:{type:String,default:""}}),pte=["value","name","disabled"],vte=le({name:"ElRadioButton"}),hte=le({...vte,props:fte,setup(e){const t=e,n=Ve("radio"),{radioRef:o,focus:l,size:u,disabled:a,modelValue:r,radioGroup:s}=G4(t),i=U(()=>({backgroundColor:(s==null?void 0:s.fill)||"",borderColor:(s==null?void 0:s.fill)||"",boxShadow:s!=null&&s.fill?`-1px 0 0 0 ${s.fill}`:"",color:(s==null?void 0:s.textColor)||""}));return(p,m)=>{var v;return b(),F("label",{class:K([h(n).b("button"),h(n).is("active",h(r)===p.label),h(n).is("disabled",h(a)),h(n).is("focus",h(l)),h(n).bm("button",h(u))])},[fe(f("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":m[0]||(m[0]=_=>yt(r)?r.value=_:null),class:K(h(n).be("button","original-radio")),value:p.label,type:"radio",name:p.name||((v=h(s))==null?void 0:v.name),disabled:h(a),onFocus:m[1]||(m[1]=_=>l.value=!0),onBlur:m[2]||(m[2]=_=>l.value=!1)},null,42,pte),[[Q1,h(r)]]),f("span",{class:K(h(n).be("button","inner")),style:ut(h(r)===p.label?h(i):{}),onKeydown:m[3]||(m[3]=mt(()=>{},["stop"]))},[ze(p.$slots,"default",{},()=>[A(re(p.label),1)])],38)],2)}}});var Y4=We(hte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const _te=et({id:{type:String,default:void 0},size:Io,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:""},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0}}),mte=K4,gte=["id","aria-label","aria-labelledby"],bte=le({name:"ElRadioGroup"}),yte=le({...bte,props:_te,emits:mte,setup(e,{emit:t}){const n=e,o=Ve("radio"),l=ol(),u=L(),{formItem:a}=Ho(),{inputId:r,isLabeledByFormItem:s}=_a(n,{formItemContext:a}),i=m=>{t(bt,m),at(()=>t("change",m))};ot(()=>{const m=u.value.querySelectorAll("[type=radio]"),v=m[0];!Array.from(m).some(_=>_.checked)&&v&&(v.tabIndex=0)});const p=U(()=>n.name||l.value);return Dt(Qf,Rt({...ho(n),changeEvent:i,name:p})),Me(()=>n.modelValue,()=>{n.validateEvent&&(a==null||a.validate("change").catch(m=>void 0))}),(m,v)=>(b(),F("div",{id:h(r),ref_key:"radioGroupRef",ref:u,class:K(h(o).b("group")),role:"radiogroup","aria-label":h(s)?void 0:m.label||"radio-group","aria-labelledby":h(s)?h(a).labelId:void 0},[ze(m.$slots,"default")],10,gte))}});var X4=We(yte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);const zc=Ft(dte,{RadioButton:Y4,RadioGroup:X4}),Mc=Nt(X4);Nt(Y4);const J4=et({closable:Boolean,type:{type:String,values:["success","info","warning","danger",""],default:""},hit:Boolean,disableTransitions:Boolean,color:{type:String,default:""},size:{type:String,values:Cu,default:""},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),wte={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},Cte=le({name:"ElTag"}),Ete=le({...Cte,props:J4,emits:wte,setup(e,{emit:t}){const n=e,o=dn(),l=Ve("tag"),u=U(()=>{const{type:s,hit:i,effect:p,closable:m,round:v}=n;return[l.b(),l.is("closable",m),l.m(s),l.m(o.value),l.m(p),l.is("hit",i),l.is("round",v)]}),a=s=>{t("close",s)},r=s=>{t("click",s)};return(s,i)=>s.disableTransitions?(b(),F("span",{key:0,class:K(h(u)),style:ut({backgroundColor:s.color}),onClick:r},[f("span",{class:K(h(l).e("content"))},[ze(s.$slots,"default")],2),s.closable?(b(),ae(h(rt),{key:0,class:K(h(l).e("close")),onClick:mt(a,["stop"])},{default:d(()=>[c(h($l))]),_:1},8,["class","onClick"])):oe("v-if",!0)],6)):(b(),ae(tn,{key:1,name:`${h(l).namespace.value}-zoom-in-center`,appear:""},{default:d(()=>[f("span",{class:K(h(u)),style:ut({backgroundColor:s.color}),onClick:r},[f("span",{class:K(h(l).e("content"))},[ze(s.$slots,"default")],2),s.closable?(b(),ae(h(rt),{key:0,class:K(h(l).e("close")),onClick:mt(a,["stop"])},{default:d(()=>[c(h($l))]),_:1},8,["class","onClick"])):oe("v-if",!0)],6)]),_:3},8,["name"]))}});var Fte=We(Ete,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tag/src/tag.vue"]]);const Ate=Ft(Fte),id=e=>typeof gt(e),Dte=et({accordion:Boolean,modelValue:{type:He([Array,String,Number]),default:()=>So([])}}),Bte={[bt]:id,[Jn]:id},xte=le({name:"ElCollapse"}),$te=le({...xte,props:Dte,emits:Bte,setup(e,{expose:t,emit:n}){const o=e,l=Ve("collapse"),u=L(oa(o.modelValue)),a=s=>{u.value=s;const i=o.accordion?u.value[0]:u.value;n(bt,i),n(Jn,i)},r=s=>{if(o.accordion)a([(u.value[0]||u.value[0]===0)&&u.value[0]===s?"":s]);else{const i=[...u.value],p=i.indexOf(s);p>-1?i.splice(p,1):i.push(s),a(i)}};return Me(()=>o.modelValue,()=>u.value=oa(o.modelValue),{deep:!0}),Dt(Gf,{activeNames:u,handleItemClick:r}),t({activeNames:u,setActiveNames:a}),(s,i)=>(b(),F("div",{class:K(h(l).b()),role:"tablist","aria-multiselectable":"true"},[ze(s.$slots,"default")],2))}});var Ste=We($te,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse.vue"]]);const kte=le({name:"ElCollapseTransition"}),Pte=le({...kte,setup(e){const t=Ve("collapse-transition"),n={beforeEnter(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0},enter(o){o.dataset.oldOverflow=o.style.overflow,o.scrollHeight!==0?(o.style.maxHeight=`${o.scrollHeight}px`,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom):(o.style.maxHeight=0,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom),o.style.overflow="hidden"},afterEnter(o){o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow},beforeLeave(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.dataset.oldOverflow=o.style.overflow,o.style.maxHeight=`${o.scrollHeight}px`,o.style.overflow="hidden"},leave(o){o.scrollHeight!==0&&(o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0)},afterLeave(o){o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom}};return(o,l)=>(b(),ae(tn,kn({name:h(t).b()},F3(n)),{default:d(()=>[ze(o.$slots,"default")]),_:3},16,["name"]))}});var ur=We(Pte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);ur.install=e=>{e.component(ur.name,ur)};const Q4=ur,Lte=et({title:{type:String,default:""},name:{type:He([String,Number]),default:()=>bc()},disabled:Boolean}),Tte=["aria-expanded","aria-controls","aria-describedby"],zte=["id","tabindex","onKeypress"],Mte=["id","aria-hidden","aria-labelledby"],Vte=le({name:"ElCollapseItem"}),Ite=le({...Vte,props:Lte,setup(e,{expose:t}){const n=e,o=Xe(Gf),l=Ve("collapse"),u=L(!1),a=L(!1),r=L(bc()),s=U(()=>o==null?void 0:o.activeNames.value.includes(n.name)),i=()=>{setTimeout(()=>{a.value?a.value=!1:u.value=!0},50)},p=()=>{n.disabled||(o==null||o.handleItemClick(n.name),u.value=!1,a.value=!0)},m=()=>{o==null||o.handleItemClick(n.name)};return t({isActive:s}),(v,_)=>(b(),F("div",{class:K([h(l).b("item"),h(l).is("active",h(s)),h(l).is("disabled",v.disabled)])},[f("div",{role:"tab","aria-expanded":h(s),"aria-controls":h(l).b(`content-${r.value}`),"aria-describedby":h(l).b(`content-${r.value}`)},[f("div",{id:h(l).b(`head-${r.value}`),class:K([h(l).be("item","header"),h(l).is("active",h(s)),{focusing:u.value&&!v.disabled}]),role:"button",tabindex:v.disabled?-1:0,onClick:p,onKeypress:Bt(mt(m,["stop","prevent"]),["space","enter"]),onFocus:i,onBlur:_[0]||(_[0]=g=>u.value=!1)},[ze(v.$slots,"title",{},()=>[A(re(v.title),1)]),c(h(rt),{class:K([h(l).be("item","arrow"),h(l).is("active",h(s))])},{default:d(()=>[c(h(wu))]),_:1},8,["class"])],42,zte)],8,Tte),c(h(Q4),null,{default:d(()=>[fe(f("div",{id:h(l).b(`content-${r.value}`),class:K(h(l).be("item","wrap")),role:"tabpanel","aria-hidden":!h(s),"aria-labelledby":h(l).b(`head-${r.value}`)},[f("div",{class:K(h(l).be("item","content"))},[ze(v.$slots,"default")],2)],10,Mte),[[ge,h(s)]])]),_:3})],2))}});var Z4=We(Ite,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse-item.vue"]]);const Hte=Ft(Ste,{CollapseItem:Z4}),Rte=Nt(Z4),vi={},Nte=et({a11y:{type:Boolean,default:!0},locale:{type:He(Object)},size:Io,button:{type:He(Object)},experimentalFeatures:{type:He(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:He(Object)},zIndex:Number,namespace:{type:String,default:"el"}});le({name:"ElConfigProvider",props:Nte,setup(e,{slots:t}){Me(()=>e.message,o=>{Object.assign(vi,o!=null?o:{})},{immediate:!0,deep:!0});const n=ZX(e);return()=>ze(t,"default",{config:n==null?void 0:n.value})}});const Ote=le({name:"ElContainer"}),Ute=le({...Ote,props:{direction:{type:String}},setup(e){const t=e,n=To(),o=Ve("container"),l=U(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:n&&n.default?n.default().some(a=>{const r=a.type.name;return r==="ElHeader"||r==="ElFooter"}):!1);return(u,a)=>(b(),F("section",{class:K([h(o).b(),h(o).is("vertical",h(l))])},[ze(u.$slots,"default")],2))}});var Wte=We(Ute,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/container.vue"]]);const qte=le({name:"ElAside"}),jte=le({...qte,props:{width:{type:String,default:null}},setup(e){const t=e,n=Ve("aside"),o=U(()=>t.width?n.cssVarBlock({width:t.width}):{});return(l,u)=>(b(),F("aside",{class:K(h(n).b()),style:ut(h(o))},[ze(l.$slots,"default")],6))}});var e6=We(jte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/aside.vue"]]);const Kte=le({name:"ElFooter"}),Gte=le({...Kte,props:{height:{type:String,default:null}},setup(e){const t=e,n=Ve("footer"),o=U(()=>t.height?n.cssVarBlock({height:t.height}):{});return(l,u)=>(b(),F("footer",{class:K(h(n).b()),style:ut(h(o))},[ze(l.$slots,"default")],6))}});var t6=We(Gte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/footer.vue"]]);const Yte=le({name:"ElHeader"}),Xte=le({...Yte,props:{height:{type:String,default:null}},setup(e){const t=e,n=Ve("header"),o=U(()=>t.height?n.cssVarBlock({height:t.height}):{});return(l,u)=>(b(),F("header",{class:K(h(n).b()),style:ut(h(o))},[ze(l.$slots,"default")],6))}});var n6=We(Xte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/header.vue"]]);const Jte=le({name:"ElMain"}),Qte=le({...Jte,setup(e){const t=Ve("main");return(n,o)=>(b(),F("main",{class:K(h(t).b())},[ze(n.$slots,"default")],2))}});var o6=We(Qte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/main.vue"]]);const Zte=Ft(Wte,{Aside:e6,Footer:t6,Header:n6,Main:o6});Nt(e6);Nt(t6);const ene=Nt(n6),tne=Nt(o6),Vc="elDescriptions";var Lu=le({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String},type:{type:String}},setup(){return{descriptions:Xe(Vc,{})}},render(){var e,t,n,o,l,u;const a=YX(this.cell),{border:r,direction:s}=this.descriptions,i=s==="vertical",p=((n=(t=(e=this.cell)==null?void 0:e.children)==null?void 0:t.label)==null?void 0:n.call(t))||a.label,m=(u=(l=(o=this.cell)==null?void 0:o.children)==null?void 0:l.default)==null?void 0:u.call(l),v=a.span,_=a.align?`is-${a.align}`:"",g=a.labelAlign?`is-${a.labelAlign}`:_,y=a.className,w=a.labelClassName,E={width:Xn(a.width),minWidth:Xn(a.minWidth)},D=Ve("descriptions");switch(this.type){case"label":return Re(this.tag,{style:E,class:[D.e("cell"),D.e("label"),D.is("bordered-label",r),D.is("vertical-label",i),g,w],colSpan:i?v:1},p);case"content":return Re(this.tag,{style:E,class:[D.e("cell"),D.e("content"),D.is("bordered-content",r),D.is("vertical-content",i),_,y],colSpan:i?v:v*2-1},m);default:return Re("td",{style:E,class:[D.e("cell"),_],colSpan:v},[Re("span",{class:[D.e("label"),w]},p),Re("span",{class:[D.e("content"),y]},m)])}}});const nne=et({row:{type:Array,default:()=>[]}}),one={key:1},lne=le({name:"ElDescriptionsRow"}),une=le({...lne,props:nne,setup(e){const t=Xe(Vc,{});return(n,o)=>h(t).direction==="vertical"?(b(),F(Oe,{key:0},[f("tr",null,[(b(!0),F(Oe,null,it(n.row,(l,u)=>(b(),ae(h(Lu),{key:`tr1-${u}`,cell:l,tag:"th",type:"label"},null,8,["cell"]))),128))]),f("tr",null,[(b(!0),F(Oe,null,it(n.row,(l,u)=>(b(),ae(h(Lu),{key:`tr2-${u}`,cell:l,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(b(),F("tr",one,[(b(!0),F(Oe,null,it(n.row,(l,u)=>(b(),F(Oe,{key:`tr3-${u}`},[h(t).border?(b(),F(Oe,{key:0},[c(h(Lu),{cell:l,tag:"td",type:"label"},null,8,["cell"]),c(h(Lu),{cell:l,tag:"td",type:"content"},null,8,["cell"])],64)):(b(),ae(h(Lu),{key:1,cell:l,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var ane=We(une,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/descriptions-row.vue"]]);const rne=et({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:Io,title:{type:String,default:""},extra:{type:String,default:""}}),sne=le({name:"ElDescriptions"}),ine=le({...sne,props:rne,setup(e){const t=e,n=Ve("descriptions"),o=dn(),l=To();Dt(Vc,t);const u=U(()=>[n.b(),n.m(o.value)]),a=(s,i,p,m=!1)=>(s.props||(s.props={}),i>p&&(s.props.span=p),m&&(s.props.span=i),s),r=()=>{var s;const i=Fr((s=l.default)==null?void 0:s.call(l)).filter(g=>{var y;return((y=g==null?void 0:g.type)==null?void 0:y.name)==="ElDescriptionsItem"}),p=[];let m=[],v=t.column,_=0;return i.forEach((g,y)=>{var w;const E=((w=g.props)==null?void 0:w.span)||1;if(yv?v:E),y===i.length-1){const D=t.column-_%t.column;m.push(a(g,D,v,!0)),p.push(m);return}E(b(),F("div",{class:K(h(u))},[s.title||s.extra||s.$slots.title||s.$slots.extra?(b(),F("div",{key:0,class:K(h(n).e("header"))},[f("div",{class:K(h(n).e("title"))},[ze(s.$slots,"title",{},()=>[A(re(s.title),1)])],2),f("div",{class:K(h(n).e("extra"))},[ze(s.$slots,"extra",{},()=>[A(re(s.extra),1)])],2)],2)):oe("v-if",!0),f("div",{class:K(h(n).e("body"))},[f("table",{class:K([h(n).e("table"),h(n).is("bordered",s.border)])},[f("tbody",null,[(b(!0),F(Oe,null,it(r(),(p,m)=>(b(),ae(ane,{key:m,row:p},null,8,["row"]))),128))])],2)],2)],2))}});var cne=We(ine,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/description.vue"]]),l6=le({name:"ElDescriptionsItem",props:{label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}});const ba=Ft(cne,{DescriptionsItem:l6}),ya=Nt(l6),dne=et({mask:{type:Boolean,default:!0},customMaskEvent:{type:Boolean,default:!1},overlayClass:{type:He([String,Array,Object])},zIndex:{type:He([String,Number])}}),fne={click:e=>e instanceof MouseEvent};var pne=le({name:"ElOverlay",props:dne,emits:fne,setup(e,{slots:t,emit:n}){const o=Ve("overlay"),l=s=>{n("click",s)},{onClick:u,onMousedown:a,onMouseup:r}=Cc(e.customMaskEvent?void 0:l);return()=>e.mask?c("div",{class:[o.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:u,onMousedown:a,onMouseup:r},[ze(t,"default")],er.STYLE|er.CLASS|er.PROPS,["onClick","onMouseup","onMousedown"]):Re("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[ze(t,"default")])}});const u6=pne,a6=et({center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{type:Tt},customClass:{type:String,default:""},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{type:String,default:""}}),vne={close:()=>!0},hne=["aria-label"],_ne=["id"],mne=le({name:"ElDialogContent"}),gne=le({...mne,props:a6,emits:vne,setup(e){const t=e,{t:n}=Dn(),{Close:o}=Uf,{dialogRef:l,headerRef:u,bodyId:a,ns:r,style:s}=Xe(Xf),{focusTrapRef:i}=Xe(A4),p=jX(i,l),m=U(()=>t.draggable);return o4(l,u,m),(v,_)=>(b(),F("div",{ref:h(p),class:K([h(r).b(),h(r).is("fullscreen",v.fullscreen),h(r).is("draggable",h(m)),h(r).is("align-center",v.alignCenter),{[h(r).m("center")]:v.center},v.customClass]),style:ut(h(s)),tabindex:"-1"},[f("header",{ref_key:"headerRef",ref:u,class:K(h(r).e("header"))},[ze(v.$slots,"header",{},()=>[f("span",{role:"heading",class:K(h(r).e("title"))},re(v.title),3)]),v.showClose?(b(),F("button",{key:0,"aria-label":h(n)("el.dialog.close"),class:K(h(r).e("headerbtn")),type:"button",onClick:_[0]||(_[0]=g=>v.$emit("close"))},[c(h(rt),{class:K(h(r).e("close"))},{default:d(()=>[(b(),ae(Ct(v.closeIcon||h(o))))]),_:1},8,["class"])],10,hne)):oe("v-if",!0)],2),f("div",{id:h(a),class:K(h(r).e("body"))},[ze(v.$slots,"default")],10,_ne),v.$slots.footer?(b(),F("footer",{key:0,class:K(h(r).e("footer"))},[ze(v.$slots,"footer")],2)):oe("v-if",!0)],6))}});var bne=We(gne,[["__file","/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog-content.vue"]]);const yne=et({...a6,appendToBody:{type:Boolean,default:!1},beforeClose:{type:He(Function)},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:{type:Boolean,default:!1},modalClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:{type:Boolean,default:!1}}),wne={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[bt]:e=>Ut(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},Cne=(e,t)=>{const o=pt().emit,{nextZIndex:l}=Ml();let u="";const a=ol(),r=ol(),s=L(!1),i=L(!1),p=L(!1),m=L(e.zIndex||l());let v,_;const g=Vo("namespace",Qr),y=U(()=>{const N={},J=`--${g.value}-dialog`;return e.fullscreen||(e.top&&(N[`${J}-margin-top`]=e.top),e.width&&(N[`${J}-width`]=Xn(e.width))),N}),w=U(()=>e.alignCenter?{display:"flex"}:{});function E(){o("opened")}function D(){o("closed"),o(bt,!1),e.destroyOnClose&&(p.value=!1)}function C(){o("close")}function B(){_==null||_(),v==null||v(),e.openDelay&&e.openDelay>0?{stop:v}=uu(()=>T(),e.openDelay):T()}function $(){v==null||v(),_==null||_(),e.closeDelay&&e.closeDelay>0?{stop:_}=uu(()=>H(),e.closeDelay):H()}function k(){function N(J){J||(i.value=!0,s.value=!1)}e.beforeClose?e.beforeClose(N):$()}function P(){e.closeOnClickModal&&k()}function T(){!_t||(s.value=!0)}function H(){s.value=!1}function j(){o("openAutoFocus")}function X(){o("closeAutoFocus")}e.lockScroll&&l4(s);function W(){e.closeOnPressEscape&&k()}return Me(()=>e.modelValue,N=>{N?(i.value=!1,B(),p.value=!0,m.value=e.zIndex?m.value++:l(),at(()=>{o("open"),t.value&&(t.value.scrollTop=0)})):s.value&&$()}),Me(()=>e.fullscreen,N=>{!t.value||(N?(u=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=u)}),ot(()=>{e.modelValue&&(s.value=!0,p.value=!0,B())}),{afterEnter:E,afterLeave:D,beforeLeave:C,handleClose:k,onModalClick:P,close:$,doClose:H,onOpenAutoFocus:j,onCloseAutoFocus:X,onCloseRequested:W,titleId:a,bodyId:r,closed:i,style:y,overlayDialogStyle:w,rendered:p,visible:s,zIndex:m}},Ene=["aria-label","aria-labelledby","aria-describedby"],Fne=le({name:"ElDialog",inheritAttrs:!1}),Ane=le({...Fne,props:yne,emits:wne,setup(e,{expose:t}){const n=e,o=To();ua({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},U(()=>!!o.title)),ua({scope:"el-dialog",from:"custom-class",replacement:"class",version:"2.3.0",ref:"https://element-plus.org/en-US/component/dialog.html#attributes",type:"Attribute"},U(()=>!!n.customClass));const l=Ve("dialog"),u=L(),a=L(),r=L(),{visible:s,titleId:i,bodyId:p,style:m,overlayDialogStyle:v,rendered:_,zIndex:g,afterEnter:y,afterLeave:w,beforeLeave:E,handleClose:D,onModalClick:C,onOpenAutoFocus:B,onCloseAutoFocus:$,onCloseRequested:k}=Cne(n,u);Dt(Xf,{dialogRef:u,headerRef:a,bodyId:p,ns:l,rendered:_,style:m});const P=Cc(C),T=U(()=>n.draggable&&!n.fullscreen);return t({visible:s,dialogContentRef:r}),(H,j)=>(b(),ae(V1,{to:"body",disabled:!H.appendToBody},[c(tn,{name:"dialog-fade",onAfterEnter:h(y),onAfterLeave:h(w),onBeforeLeave:h(E),persisted:""},{default:d(()=>[fe(c(h(u6),{"custom-mask-event":"",mask:H.modal,"overlay-class":H.modalClass,"z-index":h(g)},{default:d(()=>[f("div",{role:"dialog","aria-modal":"true","aria-label":H.title||void 0,"aria-labelledby":H.title?void 0:h(i),"aria-describedby":h(p),class:K(`${h(l).namespace.value}-overlay-dialog`),style:ut(h(v)),onClick:j[0]||(j[0]=(...X)=>h(P).onClick&&h(P).onClick(...X)),onMousedown:j[1]||(j[1]=(...X)=>h(P).onMousedown&&h(P).onMousedown(...X)),onMouseup:j[2]||(j[2]=(...X)=>h(P).onMouseup&&h(P).onMouseup(...X))},[c(h(Lc),{loop:"",trapped:h(s),"focus-start-el":"container",onFocusAfterTrapped:h(B),onFocusAfterReleased:h($),onReleaseRequested:h(k)},{default:d(()=>[h(_)?(b(),ae(bne,kn({key:0,ref_key:"dialogContentRef",ref:r},H.$attrs,{"custom-class":H.customClass,center:H.center,"align-center":H.alignCenter,"close-icon":H.closeIcon,draggable:h(T),fullscreen:H.fullscreen,"show-close":H.showClose,title:H.title,onClose:h(D)}),Zl({header:d(()=>[H.$slots.title?ze(H.$slots,"title",{key:1}):ze(H.$slots,"header",{key:0,close:h(D),titleId:h(i),titleClass:h(l).e("title")})]),default:d(()=>[ze(H.$slots,"default")]),_:2},[H.$slots.footer?{name:"footer",fn:d(()=>[ze(H.$slots,"footer")])}:void 0]),1040,["custom-class","center","align-center","close-icon","draggable","fullscreen","show-close","title","onClose"])):oe("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onReleaseRequested"])],46,Ene)]),_:3},8,["mask","overlay-class","z-index"]),[[ge,h(s)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["disabled"]))}});var Dne=We(Ane,[["__file","/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog.vue"]]);const Il=Ft(Dne),Bne=et({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:He(String),default:"solid"}}),xne=le({name:"ElDivider"}),$ne=le({...xne,props:Bne,setup(e){const t=e,n=Ve("divider"),o=U(()=>n.cssVar({"border-style":t.borderStyle}));return(l,u)=>(b(),F("div",{class:K([h(n).b(),h(n).m(l.direction)]),style:ut(h(o)),role:"separator"},[l.$slots.default&&l.direction!=="vertical"?(b(),F("div",{key:0,class:K([h(n).e("text"),h(n).is(l.contentPosition)])},[ze(l.$slots,"default")],2)):oe("v-if",!0)],6))}});var Sne=We($ne,[["__file","/home/runner/work/element-plus/element-plus/packages/components/divider/src/divider.vue"]]);const Ic=Ft(Sne),kne=et({model:Object,rules:{type:He(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},size:{type:String,values:Cu},disabled:Boolean,validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:Boolean}),Pne={validate:(e,t,n)=>(qe(e)||tt(e))&&Ut(t)&&tt(n)};function Lne(){const e=L([]),t=U(()=>{if(!e.value.length)return"0";const u=Math.max(...e.value);return u?`${u}px`:""});function n(u){const a=e.value.indexOf(u);return a===-1&&t.value,a}function o(u,a){if(u&&a){const r=n(a);e.value.splice(r,1,u)}else u&&e.value.push(u)}function l(u){const a=n(u);a>-1&&e.value.splice(a,1)}return{autoLabelWidth:t,registerLabelWidth:o,deregisterLabelWidth:l}}const Na=(e,t)=>{const n=oa(t);return n.length>0?e.filter(o=>o.prop&&n.includes(o.prop)):e},Tne="ElForm",zne=le({name:Tne}),Mne=le({...zne,props:kne,emits:Pne,setup(e,{expose:t,emit:n}){const o=e,l=[],u=dn(),a=Ve("form"),r=U(()=>{const{labelPosition:D,inline:C}=o;return[a.b(),a.m(u.value||"default"),{[a.m(`label-${D}`)]:D,[a.m("inline")]:C}]}),s=D=>{l.push(D)},i=D=>{D.prop&&l.splice(l.indexOf(D),1)},p=(D=[])=>{!o.model||Na(l,D).forEach(C=>C.resetField())},m=(D=[])=>{Na(l,D).forEach(C=>C.clearValidate())},v=U(()=>!!o.model),_=D=>{if(l.length===0)return[];const C=Na(l,D);return C.length?C:[]},g=async D=>w(void 0,D),y=async(D=[])=>{if(!v.value)return!1;const C=_(D);if(C.length===0)return!0;let B={};for(const $ of C)try{await $.validate("")}catch(k){B={...B,...k}}return Object.keys(B).length===0?!0:Promise.reject(B)},w=async(D=[],C)=>{const B=!Ge(C);try{const $=await y(D);return $===!0&&(C==null||C($)),$}catch($){const k=$;return o.scrollToError&&E(Object.keys(k)[0]),C==null||C(!1,k),B&&Promise.reject(k)}},E=D=>{var C;const B=Na(l,D)[0];B&&((C=B.$el)==null||C.scrollIntoView())};return Me(()=>o.rules,()=>{o.validateOnRuleChange&&g().catch(D=>void 0)},{deep:!0}),Dt(Fu,Rt({...ho(o),emit:n,resetFields:p,clearValidate:m,validateField:w,addField:s,removeField:i,...Lne()})),t({validate:g,validateField:w,resetFields:p,clearValidate:m,scrollToField:E}),(D,C)=>(b(),F("form",{class:K(h(r))},[ze(D.$slots,"default")],2))}});var Vne=We(Mne,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form.vue"]]);function wl(){return wl=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?t-1:0),o=1;o=u)return r;switch(r){case"%s":return String(n[l++]);case"%d":return Number(n[l++]);case"%j":try{return JSON.stringify(n[l++])}catch{return"[Circular]"}break;default:return r}});return a}return e}function Une(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function zt(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||Une(t)&&typeof e=="string"&&!e)}function Wne(e,t,n){var o=[],l=0,u=e.length;function a(r){o.push.apply(o,r||[]),l++,l===u&&n(o)}e.forEach(function(r){t(r,a)})}function cd(e,t,n){var o=0,l=e.length;function u(a){if(a&&a.length){n(a);return}var r=o;o=o+1,r()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Mu={integer:function(t){return Mu.number(t)&&parseInt(t,10)===t},float:function(t){return Mu.number(t)&&!Mu.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!Mu.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(vd.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(Xne())},hex:function(t){return typeof t=="string"&&!!t.match(vd.hex)}},Jne=function(t,n,o,l,u){if(t.required&&n===void 0){r6(t,n,o,l,u);return}var a=["integer","float","array","regexp","object","method","email","number","date","url","hex"],r=t.type;a.indexOf(r)>-1?Mu[r](n)||l.push(wn(u.messages.types[r],t.fullField,t.type)):r&&typeof n!==t.type&&l.push(wn(u.messages.types[r],t.fullField,t.type))},Qne=function(t,n,o,l,u){var a=typeof t.len=="number",r=typeof t.min=="number",s=typeof t.max=="number",i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,p=n,m=null,v=typeof n=="number",_=typeof n=="string",g=Array.isArray(n);if(v?m="number":_?m="string":g&&(m="array"),!m)return!1;g&&(p=n.length),_&&(p=n.replace(i,"_").length),a?p!==t.len&&l.push(wn(u.messages[m].len,t.fullField,t.len)):r&&!s&&pt.max?l.push(wn(u.messages[m].max,t.fullField,t.max)):r&&s&&(pt.max)&&l.push(wn(u.messages[m].range,t.fullField,t.min,t.max))},Nl="enum",Zne=function(t,n,o,l,u){t[Nl]=Array.isArray(t[Nl])?t[Nl]:[],t[Nl].indexOf(n)===-1&&l.push(wn(u.messages[Nl],t.fullField,t[Nl].join(", ")))},eoe=function(t,n,o,l,u){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||l.push(wn(u.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var a=new RegExp(t.pattern);a.test(n)||l.push(wn(u.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},ft={required:r6,whitespace:Yne,type:Jne,range:Qne,enum:Zne,pattern:eoe},toe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n,"string")&&!t.required)return o();ft.required(t,n,l,a,u,"string"),zt(n,"string")||(ft.type(t,n,l,a,u),ft.range(t,n,l,a,u),ft.pattern(t,n,l,a,u),t.whitespace===!0&&ft.whitespace(t,n,l,a,u))}o(a)},noe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),n!==void 0&&ft.type(t,n,l,a,u)}o(a)},ooe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(n===""&&(n=void 0),zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),n!==void 0&&(ft.type(t,n,l,a,u),ft.range(t,n,l,a,u))}o(a)},loe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),n!==void 0&&ft.type(t,n,l,a,u)}o(a)},uoe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),zt(n)||ft.type(t,n,l,a,u)}o(a)},aoe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),n!==void 0&&(ft.type(t,n,l,a,u),ft.range(t,n,l,a,u))}o(a)},roe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),n!==void 0&&(ft.type(t,n,l,a,u),ft.range(t,n,l,a,u))}o(a)},soe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(n==null&&!t.required)return o();ft.required(t,n,l,a,u,"array"),n!=null&&(ft.type(t,n,l,a,u),ft.range(t,n,l,a,u))}o(a)},ioe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),n!==void 0&&ft.type(t,n,l,a,u)}o(a)},coe="enum",doe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u),n!==void 0&&ft[coe](t,n,l,a,u)}o(a)},foe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n,"string")&&!t.required)return o();ft.required(t,n,l,a,u),zt(n,"string")||ft.pattern(t,n,l,a,u)}o(a)},poe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n,"date")&&!t.required)return o();if(ft.required(t,n,l,a,u),!zt(n,"date")){var s;n instanceof Date?s=n:s=new Date(n),ft.type(t,s,l,a,u),s&&ft.range(t,s.getTime(),l,a,u)}}o(a)},voe=function(t,n,o,l,u){var a=[],r=Array.isArray(n)?"array":typeof n;ft.required(t,n,l,a,u,r),o(a)},Fs=function(t,n,o,l,u){var a=t.type,r=[],s=t.required||!t.required&&l.hasOwnProperty(t.field);if(s){if(zt(n,a)&&!t.required)return o();ft.required(t,n,l,r,u,a),zt(n,a)||ft.type(t,n,l,r,u)}o(r)},hoe=function(t,n,o,l,u){var a=[],r=t.required||!t.required&&l.hasOwnProperty(t.field);if(r){if(zt(n)&&!t.required)return o();ft.required(t,n,l,a,u)}o(a)},Wu={string:toe,method:noe,number:ooe,boolean:loe,regexp:uoe,integer:aoe,float:roe,array:soe,object:ioe,enum:doe,pattern:foe,date:poe,url:Fs,hex:Fs,email:Fs,required:voe,any:hoe};function gi(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var bi=gi(),wa=function(){function e(n){this.rules=null,this._messages=bi,this.define(n)}var t=e.prototype;return t.define=function(o){var l=this;if(!o)throw new Error("Cannot configure a schema with no rules");if(typeof o!="object"||Array.isArray(o))throw new Error("Rules must be an object");this.rules={},Object.keys(o).forEach(function(u){var a=o[u];l.rules[u]=Array.isArray(a)?a:[a]})},t.messages=function(o){return o&&(this._messages=pd(gi(),o)),this._messages},t.validate=function(o,l,u){var a=this;l===void 0&&(l={}),u===void 0&&(u=function(){});var r=o,s=l,i=u;if(typeof s=="function"&&(i=s,s={}),!this.rules||Object.keys(this.rules).length===0)return i&&i(null,r),Promise.resolve(r);function p(y){var w=[],E={};function D(B){if(Array.isArray(B)){var $;w=($=w).concat.apply($,B)}else w.push(B)}for(var C=0;C");const l=Ve("form"),u=L(),a=L(0),r=()=>{var p;if((p=u.value)!=null&&p.firstElementChild){const m=window.getComputedStyle(u.value.firstElementChild).width;return Math.ceil(Number.parseFloat(m))}else return 0},s=(p="update")=>{at(()=>{t.default&&e.isAutoWidth&&(p==="update"?a.value=r():p==="remove"&&(n==null||n.deregisterLabelWidth(a.value)))})},i=()=>s("update");return ot(()=>{i()}),Mt(()=>{s("remove")}),Ll(()=>i()),Me(a,(p,m)=>{e.updateAll&&(n==null||n.registerLabelWidth(p,m))}),po(U(()=>{var p,m;return(m=(p=u.value)==null?void 0:p.firstElementChild)!=null?m:null}),i),()=>{var p,m;if(!t)return null;const{isAutoWidth:v}=e;if(v){const _=n==null?void 0:n.autoLabelWidth,g=o==null?void 0:o.hasLabel,y={};if(g&&_&&_!=="auto"){const w=Math.max(0,Number.parseInt(_,10)-a.value),E=n.labelPosition==="left"?"marginRight":"marginLeft";w&&(y[E]=`${w}px`)}return c("div",{ref:u,class:[l.be("item","label-wrap")],style:y},[(p=t.default)==null?void 0:p.call(t)])}else return c(Oe,{ref:u},[(m=t.default)==null?void 0:m.call(t)])}}});const boe=["role","aria-labelledby"],yoe=le({name:"ElFormItem"}),woe=le({...yoe,props:moe,setup(e,{expose:t}){const n=e,o=To(),l=Xe(Fu,void 0),u=Xe(Sl,void 0),a=dn(void 0,{formItem:!1}),r=Ve("form-item"),s=ol().value,i=L([]),p=L(""),m=p9(p,100),v=L(""),_=L();let g,y=!1;const w=U(()=>{if((l==null?void 0:l.labelPosition)==="top")return{};const he=Xn(n.labelWidth||(l==null?void 0:l.labelWidth)||"");return he?{width:he}:{}}),E=U(()=>{if((l==null?void 0:l.labelPosition)==="top"||(l==null?void 0:l.inline))return{};if(!n.label&&!n.labelWidth&&H)return{};const he=Xn(n.labelWidth||(l==null?void 0:l.labelWidth)||"");return!n.label&&!o.label?{marginLeft:he}:{}}),D=U(()=>[r.b(),r.m(a.value),r.is("error",p.value==="error"),r.is("validating",p.value==="validating"),r.is("success",p.value==="success"),r.is("required",J.value||n.required),r.is("no-asterisk",l==null?void 0:l.hideRequiredAsterisk),(l==null?void 0:l.requireAsteriskPosition)==="right"?"asterisk-right":"asterisk-left",{[r.m("feedback")]:l==null?void 0:l.statusIcon}]),C=U(()=>Ut(n.inlineMessage)?n.inlineMessage:(l==null?void 0:l.inlineMessage)||!1),B=U(()=>[r.e("error"),{[r.em("error","inline")]:C.value}]),$=U(()=>n.prop?tt(n.prop)?n.prop:n.prop.join("."):""),k=U(()=>!!(n.label||o.label)),P=U(()=>n.for||i.value.length===1?i.value[0]:void 0),T=U(()=>!P.value&&k.value),H=!!u,j=U(()=>{const he=l==null?void 0:l.model;if(!(!he||!n.prop))return Za(he,n.prop).value}),X=U(()=>{const{required:he}=n,Te=[];n.rules&&Te.push(...oa(n.rules));const je=l==null?void 0:l.rules;if(je&&n.prop){const de=Za(je,n.prop).value;de&&Te.push(...oa(de))}if(he!==void 0){const de=Te.map((se,z)=>[se,z]).filter(([se])=>Object.keys(se).includes("required"));if(de.length>0)for(const[se,z]of de)se.required!==he&&(Te[z]={...se,required:he});else Te.push({required:he})}return Te}),W=U(()=>X.value.length>0),N=he=>X.value.filter(je=>!je.trigger||!he?!0:Array.isArray(je.trigger)?je.trigger.includes(he):je.trigger===he).map(({trigger:je,...de})=>de),J=U(()=>X.value.some(he=>he.required)),be=U(()=>{var he;return m.value==="error"&&n.showMessage&&((he=l==null?void 0:l.showMessage)!=null?he:!0)}),ve=U(()=>`${n.label||""}${(l==null?void 0:l.labelSuffix)||""}`),Ee=he=>{p.value=he},te=he=>{var Te,je;const{errors:de,fields:se}=he;(!de||!se)&&console.error(he),Ee("error"),v.value=de?(je=(Te=de==null?void 0:de[0])==null?void 0:Te.message)!=null?je:`${n.prop} is required`:"",l==null||l.emit("validate",n.prop,!1,v.value)},Z=()=>{Ee("success"),l==null||l.emit("validate",n.prop,!0,"")},De=async he=>{const Te=$.value;return new wa({[Te]:he}).validate({[Te]:j.value},{firstFields:!0}).then(()=>(Z(),!0)).catch(de=>(te(de),Promise.reject(de)))},Be=async(he,Te)=>{if(y||!n.prop)return!1;const je=Ge(Te);if(!W.value)return Te==null||Te(!1),!1;const de=N(he);return de.length===0?(Te==null||Te(!0),!0):(Ee("validating"),De(de).then(()=>(Te==null||Te(!0),!0)).catch(se=>{const{fields:z}=se;return Te==null||Te(!1,z),je?!1:Promise.reject(z)}))},x=()=>{Ee(""),v.value="",y=!1},O=async()=>{const he=l==null?void 0:l.model;if(!he||!n.prop)return;const Te=Za(he,n.prop);y=!0,Te.value=v0(g),await at(),x(),y=!1},ye=he=>{i.value.includes(he)||i.value.push(he)},xe=he=>{i.value=i.value.filter(Te=>Te!==he)};Me(()=>n.error,he=>{v.value=he||"",Ee(he?"error":"")},{immediate:!0}),Me(()=>n.validateStatus,he=>Ee(he||""));const Pe=Rt({...ho(n),$el:_,size:a,validateState:p,labelId:s,inputIds:i,isGroup:T,hasLabel:k,addInputId:ye,removeInputId:xe,resetField:O,clearValidate:x,validate:Be});return Dt(Sl,Pe),ot(()=>{n.prop&&(l==null||l.addField(Pe),g=v0(j.value))}),Mt(()=>{l==null||l.removeField(Pe)}),t({size:a,validateMessage:v,validateState:p,validate:Be,clearValidate:x,resetField:O}),(he,Te)=>{var je;return b(),F("div",{ref_key:"formItemRef",ref:_,class:K(h(D)),role:h(T)?"group":void 0,"aria-labelledby":h(T)?h(s):void 0},[c(h(goe),{"is-auto-width":h(w).width==="auto","update-all":((je=h(l))==null?void 0:je.labelWidth)==="auto"},{default:d(()=>[h(k)?(b(),ae(Ct(h(P)?"label":"div"),{key:0,id:h(s),for:h(P),class:K(h(r).e("label")),style:ut(h(w))},{default:d(()=>[ze(he.$slots,"label",{label:h(ve)},()=>[A(re(h(ve)),1)])]),_:3},8,["id","for","class","style"])):oe("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),f("div",{class:K(h(r).e("content")),style:ut(h(E))},[ze(he.$slots,"default"),c(tn,{name:`${h(r).namespace.value}-zoom-in-top`},{default:d(()=>[h(be)?ze(he.$slots,"error",{key:0,error:v.value},()=>[f("div",{class:K(h(B))},re(v.value),3)]):oe("v-if",!0)]),_:3},8,["name"])],6)],10,boe)}}});var s6=We(woe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form-item.vue"]]);const Hn=Ft(Vne,{FormItem:s6}),Bn=Nt(s6),Coe=et({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.POSITIVE_INFINITY},min:{type:Number,default:Number.NEGATIVE_INFINITY},modelValue:Number,readonly:Boolean,disabled:Boolean,size:Io,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>e===null||gt(e)||["min","max"].includes(e),default:null},name:String,label:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0}}),Eoe={[Jn]:(e,t)=>e!==t,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[Dl]:e=>gt(e)||io(e),[bt]:e=>gt(e)||io(e)},Foe=["aria-label","onKeydown"],Aoe=["aria-label","onKeydown"],Doe=le({name:"ElInputNumber"}),Boe=le({...Doe,props:Coe,emits:Eoe,setup(e,{expose:t,emit:n}){const o=e,{t:l}=Dn(),u=Ve("input-number"),a=L(),r=Rt({currentValue:o.modelValue,userInput:null}),{formItem:s}=Ho(),i=U(()=>gt(o.modelValue)&&D(o.modelValue,-1)gt(o.modelValue)&&D(o.modelValue)>o.max),m=U(()=>{const N=E(o.step);return jn(o.precision)?Math.max(E(o.modelValue),N):(N>o.precision,o.precision)}),v=U(()=>o.controls&&o.controlsPosition==="right"),_=dn(),g=ul(),y=U(()=>{if(r.userInput!==null)return r.userInput;let N=r.currentValue;if(io(N))return"";if(gt(N)){if(Number.isNaN(N))return"";jn(o.precision)||(N=N.toFixed(o.precision))}return N}),w=(N,J)=>{if(jn(J)&&(J=m.value),J===0)return Math.round(N);let be=String(N);const ve=be.indexOf(".");if(ve===-1||!be.replace(".","").split("")[ve+J])return N;const Z=be.length;return be.charAt(Z-1)==="5"&&(be=`${be.slice(0,Math.max(0,Z-1))}6`),Number.parseFloat(Number(be).toFixed(J))},E=N=>{if(io(N))return 0;const J=N.toString(),be=J.indexOf(".");let ve=0;return be!==-1&&(ve=J.length-be-1),ve},D=(N,J=1)=>gt(N)?w(N+o.step*J):r.currentValue,C=()=>{if(o.readonly||g.value||p.value)return;const N=o.modelValue||0,J=D(N);k(J),n(Dl,r.currentValue)},B=()=>{if(o.readonly||g.value||i.value)return;const N=o.modelValue||0,J=D(N,-1);k(J),n(Dl,r.currentValue)},$=(N,J)=>{const{max:be,min:ve,step:Ee,precision:te,stepStrictly:Z,valueOnClear:De}=o;let Be=Number(N);if(io(N)||Number.isNaN(Be))return null;if(N===""){if(De===null)return null;Be=tt(De)?{min:ve,max:be}[De]:De}return Z&&(Be=w(Math.round(Be/Ee)*Ee,te)),jn(te)||(Be=w(Be,te)),(Be>be||Bebe?be:ve,J&&n(bt,Be)),Be},k=N=>{var J;const be=r.currentValue,ve=$(N);be!==ve&&(r.userInput=null,n(bt,ve),n(Jn,ve,be),o.validateEvent&&((J=s==null?void 0:s.validate)==null||J.call(s,"change").catch(Ee=>void 0)),r.currentValue=ve)},P=N=>{r.userInput=N,n(Dl,N===""?null:Number(N))},T=N=>{const J=N!==""?Number(N):"";(gt(J)&&!Number.isNaN(J)||N==="")&&k(J),r.userInput=null},H=()=>{var N,J;(J=(N=a.value)==null?void 0:N.focus)==null||J.call(N)},j=()=>{var N,J;(J=(N=a.value)==null?void 0:N.blur)==null||J.call(N)},X=N=>{n("focus",N)},W=N=>{var J;n("blur",N),o.validateEvent&&((J=s==null?void 0:s.validate)==null||J.call(s,"blur").catch(be=>void 0))};return Me(()=>o.modelValue,N=>{r.currentValue=$(N,!0),r.userInput=null},{immediate:!0}),ot(()=>{var N;const{min:J,max:be,modelValue:ve}=o,Ee=(N=a.value)==null?void 0:N.input;if(Ee.setAttribute("role","spinbutton"),Number.isFinite(be)?Ee.setAttribute("aria-valuemax",String(be)):Ee.removeAttribute("aria-valuemax"),Number.isFinite(J)?Ee.setAttribute("aria-valuemin",String(J)):Ee.removeAttribute("aria-valuemin"),Ee.setAttribute("aria-valuenow",String(r.currentValue)),Ee.setAttribute("aria-disabled",String(g.value)),!gt(ve)&&ve!=null){let te=Number(ve);Number.isNaN(te)&&(te=null),n(bt,te)}}),Ll(()=>{var N;const J=(N=a.value)==null?void 0:N.input;J==null||J.setAttribute("aria-valuenow",`${r.currentValue}`)}),t({focus:H,blur:j}),(N,J)=>(b(),F("div",{class:K([h(u).b(),h(u).m(h(_)),h(u).is("disabled",h(g)),h(u).is("without-controls",!N.controls),h(u).is("controls-right",h(v))]),onDragstart:J[0]||(J[0]=mt(()=>{},["prevent"]))},[N.controls?fe((b(),F("span",{key:0,role:"button","aria-label":h(l)("el.inputNumber.decrease"),class:K([h(u).e("decrease"),h(u).is("disabled",h(i))]),onKeydown:Bt(B,["enter"])},[c(h(rt),null,{default:d(()=>[h(v)?(b(),ae(h(pa),{key:0})):(b(),ae(h(Vf),{key:1}))]),_:1})],42,Foe)),[[h(od),B]]):oe("v-if",!0),N.controls?fe((b(),F("span",{key:1,role:"button","aria-label":h(l)("el.inputNumber.increase"),class:K([h(u).e("increase"),h(u).is("disabled",h(p))]),onKeydown:Bt(C,["enter"])},[c(h(rt),null,{default:d(()=>[h(v)?(b(),ae(h(pc),{key:0})):(b(),ae(h(Hf),{key:1}))]),_:1})],42,Aoe)),[[h(od),C]]):oe("v-if",!0),c(h(nn),{id:N.id,ref_key:"input",ref:a,type:"number",step:N.step,"model-value":h(y),placeholder:N.placeholder,readonly:N.readonly,disabled:h(g),size:h(_),max:N.max,min:N.min,name:N.name,label:N.label,"validate-event":!1,onKeydown:[Bt(mt(C,["prevent"]),["up"]),Bt(mt(B,["prevent"]),["down"])],onBlur:W,onFocus:X,onInput:P,onChange:T},null,8,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","label","onKeydown"])],34))}});var xoe=We(Boe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/input-number/src/input-number.vue"]]);const eo=Ft(xoe),$oe=et({type:{type:String,values:["primary","success","warning","info","danger","default"],default:"default"},underline:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},href:{type:String,default:""},icon:{type:Tt}}),Soe={click:e=>e instanceof MouseEvent},koe=["href"],Poe=le({name:"ElLink"}),Loe=le({...Poe,props:$oe,emits:Soe,setup(e,{emit:t}){const n=e,o=Ve("link");function l(u){n.disabled||t("click",u)}return(u,a)=>(b(),F("a",{class:K([h(o).b(),h(o).m(u.type),h(o).is("disabled",u.disabled),h(o).is("underline",u.underline&&!u.disabled)]),href:u.disabled||!u.href?void 0:u.href,onClick:l},[u.icon?(b(),ae(h(rt),{key:0},{default:d(()=>[(b(),ae(Ct(u.icon)))]),_:1})):oe("v-if",!0),u.$slots.default?(b(),F("span",{key:1,class:K(h(o).e("inner"))},[ze(u.$slots,"default")],2)):oe("v-if",!0),u.$slots.icon?ze(u.$slots,"icon",{key:2}):oe("v-if",!0)],10,koe))}});var Toe=We(Loe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/link/src/link.vue"]]);const i6=Ft(Toe);class zoe{constructor(t,n){this.parent=t,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(t){t===this.subMenuItems.length?t=0:t<0&&(t=this.subMenuItems.length-1),this.subMenuItems[t].focus(),this.subIndex=t}addListeners(){const t=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let l=!1;switch(o.code){case Lt.down:{this.gotoSubIndex(this.subIndex+1),l=!0;break}case Lt.up:{this.gotoSubIndex(this.subIndex-1),l=!0;break}case Lt.tab:{Qa(t,"mouseleave");break}case Lt.enter:case Lt.space:{l=!0,o.currentTarget.click();break}}return l&&(o.preventDefault(),o.stopPropagation()),!1})})}}class Moe{constructor(t,n){this.domNode=t,this.submenu=null,this.submenu=null,this.init(n)}init(t){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${t}-menu`);n&&(this.submenu=new zoe(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",t=>{let n=!1;switch(t.code){case Lt.down:{Qa(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Lt.up:{Qa(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Lt.tab:{Qa(t.currentTarget,"mouseleave");break}case Lt.enter:case Lt.space:{n=!0,t.currentTarget.click();break}}n&&t.preventDefault()})}}class Voe{constructor(t,n){this.domNode=t,this.init(n)}init(t){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new Moe(o,t)})}}const Ioe=le({name:"ElMenuCollapseTransition",setup(){const e=Ve("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){Fo(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Gn(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),Al(n,e.m("collapse"))?(Gn(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Fo(n,e.m("collapse"))):(Fo(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Gn(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){Fo(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function Hoe(e,t,n,o,l,u){return b(),ae(tn,kn({mode:"out-in"},e.listeners),{default:d(()=>[ze(e.$slots,"default")]),_:3},16)}var Roe=We(Ioe,[["render",Hoe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function c6(e,t){const n=U(()=>{let l=e.parent;const u=[t.value];for(;l.type.name!=="ElMenu";)l.props.index&&u.unshift(l.props.index),l=l.parent;return u});return{parentMenu:U(()=>{let l=e.parent;for(;l&&!["ElMenu","ElSubMenu"].includes(l.type.name);)l=l.parent;return l}),indexPath:n}}function Noe(e){return U(()=>{const n=e.backgroundColor;return n?new S4(n).shade(20).toString():""})}const d6=(e,t)=>{const n=Ve("menu");return U(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":Noe(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},Ooe=et({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6},expandCloseIcon:{type:Tt},expandOpenIcon:{type:Tt},collapseCloseIcon:{type:Tt},collapseOpenIcon:{type:Tt}}),As="ElSubMenu";var Hc=le({name:As,props:Ooe,setup(e,{slots:t,expose:n}){const o=pt(),{indexPath:l,parentMenu:u}=c6(o,U(()=>e.index)),a=Ve("menu"),r=Ve("sub-menu"),s=Xe("rootMenu");s||An(As,"can not inject root menu");const i=Xe(`subMenu:${u.value.uid}`);i||An(As,"can not inject sub menu");const p=L({}),m=L({});let v;const _=L(!1),g=L(),y=L(null),w=U(()=>X.value==="horizontal"&&D.value?"bottom-start":"right-start"),E=U(()=>X.value==="horizontal"&&D.value||X.value==="vertical"&&!s.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?k.value?e.expandOpenIcon:e.expandCloseIcon:pa:e.collapseCloseIcon&&e.collapseOpenIcon?k.value?e.collapseOpenIcon:e.collapseCloseIcon:wu),D=U(()=>i.level===0),C=U(()=>e.popperAppendToBody===void 0?D.value:Boolean(e.popperAppendToBody)),B=U(()=>s.props.collapse?`${a.namespace.value}-zoom-in-left`:`${a.namespace.value}-zoom-in-top`),$=U(()=>X.value==="horizontal"&&D.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),k=U(()=>s.openedMenus.includes(e.index)),P=U(()=>{let Z=!1;return Object.values(p.value).forEach(De=>{De.active&&(Z=!0)}),Object.values(m.value).forEach(De=>{De.active&&(Z=!0)}),Z}),T=U(()=>s.props.backgroundColor||""),H=U(()=>s.props.activeTextColor||""),j=U(()=>s.props.textColor||""),X=U(()=>s.props.mode),W=Rt({index:e.index,indexPath:l,active:P}),N=U(()=>X.value!=="horizontal"?{color:j.value}:{borderBottomColor:P.value?s.props.activeTextColor?H.value:"":"transparent",color:P.value?H.value:j.value}),J=()=>{var Z,De,Be;return(Be=(De=(Z=y.value)==null?void 0:Z.popperRef)==null?void 0:De.popperInstanceRef)==null?void 0:Be.destroy()},be=Z=>{Z||J()},ve=()=>{s.props.menuTrigger==="hover"&&s.props.mode==="horizontal"||s.props.collapse&&s.props.mode==="vertical"||e.disabled||s.handleSubMenuClick({index:e.index,indexPath:l.value,active:P.value})},Ee=(Z,De=e.showTimeout)=>{var Be;Z.type!=="focus"&&(s.props.menuTrigger==="click"&&s.props.mode==="horizontal"||!s.props.collapse&&s.props.mode==="vertical"||e.disabled||(i.mouseInChild.value=!0,v==null||v(),{stop:v}=uu(()=>{s.openMenu(e.index,l.value)},De),C.value&&((Be=u.value.vnode.el)==null||Be.dispatchEvent(new MouseEvent("mouseenter")))))},te=(Z=!1)=>{var De,Be;s.props.menuTrigger==="click"&&s.props.mode==="horizontal"||!s.props.collapse&&s.props.mode==="vertical"||(v==null||v(),i.mouseInChild.value=!1,{stop:v}=uu(()=>!_.value&&s.closeMenu(e.index,l.value),e.hideTimeout),C.value&&Z&&((De=o.parent)==null?void 0:De.type.name)==="ElSubMenu"&&((Be=i.handleMouseleave)==null||Be.call(i,!0)))};Me(()=>s.props.collapse,Z=>be(Boolean(Z)));{const Z=Be=>{m.value[Be.index]=Be},De=Be=>{delete m.value[Be.index]};Dt(`subMenu:${o.uid}`,{addSubMenu:Z,removeSubMenu:De,handleMouseleave:te,mouseInChild:_,level:i.level+1})}return n({opened:k}),ot(()=>{s.addSubMenu(W),i.addSubMenu(W)}),Mt(()=>{i.removeSubMenu(W),s.removeSubMenu(W)}),()=>{var Z;const De=[(Z=t.title)==null?void 0:Z.call(t),Re(rt,{class:r.e("icon-arrow"),style:{transform:k.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&s.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>tt(E.value)?Re(o.appContext.components[E.value]):Re(E.value)})],Be=d6(s.props,i.level+1),x=s.isMenuPopup?Re(pn,{ref:y,visible:k.value,effect:"light",pure:!0,offset:e.popperOffset,showArrow:!1,persistent:!0,popperClass:e.popperClass,placement:w.value,teleported:C.value,fallbackPlacements:$.value,transition:B.value,gpuAcceleration:!1},{content:()=>{var O;return Re("div",{class:[a.m(X.value),a.m("popup-container"),e.popperClass],onMouseenter:ye=>Ee(ye,100),onMouseleave:()=>te(!0),onFocus:ye=>Ee(ye,100)},[Re("ul",{class:[a.b(),a.m("popup"),a.m(`popup-${w.value}`)],style:Be.value},[(O=t.default)==null?void 0:O.call(t)])])},default:()=>Re("div",{class:r.e("title"),style:[N.value,{backgroundColor:T.value}],onClick:ve},De)}):Re(Oe,{},[Re("div",{class:r.e("title"),style:[N.value,{backgroundColor:T.value}],ref:g,onClick:ve},De),Re(Q4,{},{default:()=>{var O;return fe(Re("ul",{role:"menu",class:[a.b(),a.m("inline")],style:Be.value},[(O=t.default)==null?void 0:O.call(t)]),[[ge,k.value]])}})]);return Re("li",{class:[r.b(),r.is("active",P.value),r.is("opened",k.value),r.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:k.value,onMouseenter:Ee,onMouseleave:()=>te(!0),onFocus:Ee},[x])}}});const Uoe=et({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:He(Array),default:()=>So([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0}}),Ds=e=>Array.isArray(e)&&e.every(t=>tt(t)),Woe={close:(e,t)=>tt(e)&&Ds(t),open:(e,t)=>tt(e)&&Ds(t),select:(e,t,n,o)=>tt(e)&&Ds(t)&&dt(n)&&(o===void 0||o instanceof Promise)};var qoe=le({name:"ElMenu",props:Uoe,emits:Woe,setup(e,{emit:t,slots:n,expose:o}){const l=pt(),u=l.appContext.config.globalProperties.$router,a=L(),r=Ve("menu"),s=Ve("sub-menu"),i=L(-1),p=L(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),m=L(e.defaultActive),v=L({}),_=L({}),g=U(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),y=()=>{const j=m.value&&v.value[m.value];if(!j||e.mode==="horizontal"||e.collapse)return;j.indexPath.forEach(W=>{const N=_.value[W];N&&w(W,N.indexPath)})},w=(j,X)=>{p.value.includes(j)||(e.uniqueOpened&&(p.value=p.value.filter(W=>X.includes(W))),p.value.push(j),t("open",j,X))},E=(j,X)=>{const W=p.value.indexOf(j);W!==-1&&p.value.splice(W,1),t("close",j,X)},D=({index:j,indexPath:X})=>{p.value.includes(j)?E(j,X):w(j,X)},C=j=>{(e.mode==="horizontal"||e.collapse)&&(p.value=[]);const{index:X,indexPath:W}=j;if(!(X===void 0||W===void 0))if(e.router&&u){const N=j.route||X,J=u.push(N).then(be=>(be||(m.value=X),be));t("select",X,W,{index:X,indexPath:W,route:N},J)}else m.value=X,t("select",X,W,{index:X,indexPath:W})},B=j=>{const X=v.value,W=X[j]||m.value&&X[m.value]||X[e.defaultActive];W?m.value=W.index:m.value=j},$=()=>{var j,X;if(!a.value)return-1;const W=Array.from((X=(j=a.value)==null?void 0:j.childNodes)!=null?X:[]).filter(Z=>Z.nodeName!=="#text"||Z.nodeValue),N=64,J=Number.parseInt(getComputedStyle(a.value).paddingLeft,10),be=Number.parseInt(getComputedStyle(a.value).paddingRight,10),ve=a.value.clientWidth-J-be;let Ee=0,te=0;return W.forEach((Z,De)=>{Ee+=Z.offsetWidth||0,Ee<=ve-N&&(te=De+1)}),te===W.length?-1:te},k=(j,X=33.34)=>{let W;return()=>{W&&clearTimeout(W),W=setTimeout(()=>{j()},X)}};let P=!0;const T=()=>{const j=()=>{i.value=-1,at(()=>{i.value=$()})};P?j():k(j)(),P=!1};Me(()=>e.defaultActive,j=>{v.value[j]||(m.value=""),B(j)}),Me(()=>e.collapse,j=>{j&&(p.value=[])}),Me(v.value,y);let H;Do(()=>{e.mode==="horizontal"&&e.ellipsis?H=po(a,T).stop:H==null||H()});{const j=J=>{_.value[J.index]=J},X=J=>{delete _.value[J.index]};Dt("rootMenu",Rt({props:e,openedMenus:p,items:v,subMenus:_,activeIndex:m,isMenuPopup:g,addMenuItem:J=>{v.value[J.index]=J},removeMenuItem:J=>{delete v.value[J.index]},addSubMenu:j,removeSubMenu:X,openMenu:w,closeMenu:E,handleMenuItemClick:C,handleSubMenuClick:D})),Dt(`subMenu:${l.uid}`,{addSubMenu:j,removeSubMenu:X,mouseInChild:L(!1),level:0})}return ot(()=>{e.mode==="horizontal"&&new Voe(l.vnode.el,r.namespace.value)}),o({open:X=>{const{indexPath:W}=_.value[X];W.forEach(N=>w(N,W))},close:E,handleResize:T}),()=>{var j,X;let W=(X=(j=n.default)==null?void 0:j.call(n))!=null?X:[];const N=[];if(e.mode==="horizontal"&&a.value){const ve=Fr(W),Ee=i.value===-1?ve:ve.slice(0,i.value),te=i.value===-1?[]:ve.slice(i.value);(te==null?void 0:te.length)&&e.ellipsis&&(W=Ee,N.push(Re(Hc,{index:"sub-menu-more",class:s.e("hide-arrow")},{title:()=>Re(rt,{class:s.e("icon-more")},{default:()=>Re(If)}),default:()=>te})))}const J=d6(e,0),be=Re("ul",{key:String(e.collapse),role:"menubar",ref:a,style:J.value,class:{[r.b()]:!0,[r.m(e.mode)]:!0,[r.m("collapse")]:e.collapse}},[...W,...N]);return e.collapseTransition&&e.mode==="vertical"?Re(Roe,()=>be):be}}});const joe=et({index:{type:He([String,null]),default:null},route:{type:He([String,Object])},disabled:Boolean}),Koe={click:e=>tt(e.index)&&Array.isArray(e.indexPath)},Bs="ElMenuItem",Goe=le({name:Bs,components:{ElTooltip:pn},props:joe,emits:Koe,setup(e,{emit:t}){const n=pt(),o=Xe("rootMenu"),l=Ve("menu"),u=Ve("menu-item");o||An(Bs,"can not inject root menu");const{parentMenu:a,indexPath:r}=c6(n,Tn(e,"index")),s=Xe(`subMenu:${a.value.uid}`);s||An(Bs,"can not inject sub menu");const i=U(()=>e.index===o.activeIndex),p=Rt({index:e.index,indexPath:r,active:i}),m=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:r.value,route:e.route}),t("click",p))};return ot(()=>{s.addSubMenu(p),o.addMenuItem(p)}),Mt(()=>{s.removeSubMenu(p),o.removeMenuItem(p)}),{Effect:nQ,parentMenu:a,rootMenu:o,active:i,nsMenu:l,nsMenuItem:u,handleClick:m}}});function Yoe(e,t,n,o,l,u){const a=lt("el-tooltip");return b(),F("li",{class:K([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:t[0]||(t[0]=(...r)=>e.handleClick&&e.handleClick(...r))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(b(),ae(a,{key:0,effect:e.Effect.DARK,placement:"right","fallback-placements":["left"],persistent:""},{content:d(()=>[ze(e.$slots,"title")]),default:d(()=>[f("div",{class:K(e.nsMenu.be("tooltip","trigger"))},[ze(e.$slots,"default")],2)]),_:3},8,["effect"])):(b(),F(Oe,{key:1},[ze(e.$slots,"default"),ze(e.$slots,"title")],64))],2)}var f6=We(Goe,[["render",Yoe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const Xoe={title:String},Joe="ElMenuItemGroup",Qoe=le({name:Joe,props:Xoe,setup(){return{ns:Ve("menu-item-group")}}});function Zoe(e,t,n,o,l,u){return b(),F("li",{class:K(e.ns.b())},[f("div",{class:K(e.ns.e("title"))},[e.$slots.title?ze(e.$slots,"title",{key:1}):(b(),F(Oe,{key:0},[A(re(e.title),1)],64))],2),f("ul",null,[ze(e.$slots,"default")])],2)}var p6=We(Qoe,[["render",Zoe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const ele=Ft(qoe,{MenuItem:f6,MenuItemGroup:p6,SubMenu:Hc}),tle=Nt(f6);Nt(p6);const nle=Nt(Hc),ole=et({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Tt}}),lle={click:e=>e instanceof MouseEvent},ule=["disabled","aria-disabled"],ale={key:0},rle=le({name:"ElPaginationPrev"}),sle=le({...rle,props:ole,emits:lle,setup(e){const t=e,n=U(()=>t.disabled||t.currentPage<=1);return(o,l)=>(b(),F("button",{type:"button",class:"btn-prev",disabled:h(n),"aria-disabled":h(n),onClick:l[0]||(l[0]=u=>o.$emit("click",u))},[o.prevText?(b(),F("span",ale,re(o.prevText),1)):(b(),ae(h(rt),{key:1},{default:d(()=>[(b(),ae(Ct(o.prevIcon)))]),_:1}))],8,ule))}});var ile=We(sle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/prev.vue"]]);const cle=et({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Tt}}),dle=["disabled","aria-disabled"],fle={key:0},ple=le({name:"ElPaginationNext"}),vle=le({...ple,props:cle,emits:["click"],setup(e){const t=e,n=U(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(o,l)=>(b(),F("button",{type:"button",class:"btn-next",disabled:h(n),"aria-disabled":h(n),onClick:l[0]||(l[0]=u=>o.$emit("click",u))},[o.nextText?(b(),F("span",fle,re(o.nextText),1)):(b(),ae(h(rt),{key:1},{default:d(()=>[(b(),ae(Ct(o.nextIcon)))]),_:1}))],8,dle))}});var hle=We(vle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/next.vue"]]);const v6="ElSelectGroup",ns="ElSelect";function _le(e,t){const n=Xe(ns),o=Xe(v6,{disabled:!1}),l=U(()=>Object.prototype.toString.call(e.value).toLowerCase()==="[object object]"),u=U(()=>n.props.multiple?m(n.props.modelValue,e.value):v(e.value,n.props.modelValue)),a=U(()=>{if(n.props.multiple){const y=n.props.modelValue||[];return!u.value&&y.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),r=U(()=>e.label||(l.value?"":e.value)),s=U(()=>e.value||e.label||""),i=U(()=>e.disabled||t.groupDisabled||a.value),p=pt(),m=(y=[],w)=>{if(l.value){const E=n.props.valueKey;return y&&y.some(D=>ct(en(D,E))===en(w,E))}else return y&&y.includes(w)},v=(y,w)=>{if(l.value){const{valueKey:E}=n.props;return en(y,E)===en(w,E)}else return y===w},_=()=>{!e.disabled&&!o.disabled&&(n.hoverIndex=n.optionsArray.indexOf(p.proxy))};Me(()=>r.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),Me(()=>e.value,(y,w)=>{const{remote:E,valueKey:D}=n.props;if(Object.is(y,w)||(n.onOptionDestroy(w,p.proxy),n.onOptionCreate(p.proxy)),!e.created&&!E){if(D&&typeof y=="object"&&typeof w=="object"&&y[D]===w[D])return;n.setSelected()}}),Me(()=>o.disabled,()=>{t.groupDisabled=o.disabled},{immediate:!0});const{queryChange:g}=ct(n);return Me(g,y=>{const{query:w}=h(y),E=new RegExp(B9(w),"i");t.visible=E.test(r.value)||e.created,t.visible||n.filteredOptionsCount--}),{select:n,currentLabel:r,currentValue:s,itemSelected:u,isDisabled:i,hoverItem:_}}const mle=le({name:"ElOption",componentName:"ElOption",props:{value:{required:!0,type:[String,Number,Boolean,Object]},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},setup(e){const t=Ve("select"),n=Rt({index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}),{currentLabel:o,itemSelected:l,isDisabled:u,select:a,hoverItem:r}=_le(e,n),{visible:s,hover:i}=ho(n),p=pt().proxy;a.onOptionCreate(p),Mt(()=>{const v=p.value,{selected:_}=a,y=(a.props.multiple?_:[_]).some(w=>w.value===p.value);at(()=>{a.cachedOptions.get(v)===p&&!y&&a.cachedOptions.delete(v)}),a.onOptionDestroy(v,p)});function m(){e.disabled!==!0&&n.groupDisabled!==!0&&a.handleOptionSelect(p,!0)}return{ns:t,currentLabel:o,itemSelected:l,isDisabled:u,select:a,hoverItem:r,visible:s,hover:i,selectOptionClick:m,states:n}}});function gle(e,t,n,o,l,u){return fe((b(),F("li",{class:K([e.ns.be("dropdown","item"),e.ns.is("disabled",e.isDisabled),{selected:e.itemSelected,hover:e.hover}]),onMouseenter:t[0]||(t[0]=(...a)=>e.hoverItem&&e.hoverItem(...a)),onClick:t[1]||(t[1]=mt((...a)=>e.selectOptionClick&&e.selectOptionClick(...a),["stop"]))},[ze(e.$slots,"default",{},()=>[f("span",null,re(e.currentLabel),1)])],34)),[[ge,e.visible]])}var Rc=We(mle,[["render",gle],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/option.vue"]]);const ble=le({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Xe(ns),t=Ve("select"),n=U(()=>e.props.popperClass),o=U(()=>e.props.multiple),l=U(()=>e.props.fitInputWidth),u=L("");function a(){var r;u.value=`${(r=e.selectWrapper)==null?void 0:r.offsetWidth}px`}return ot(()=>{a(),po(e.selectWrapper,a)}),{ns:t,minWidth:u,popperClass:n,isMultiple:o,isFitInputWidth:l}}});function yle(e,t,n,o,l,u){return b(),F("div",{class:K([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:ut({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[ze(e.$slots,"default")],6)}var wle=We(ble,[["render",yle],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/select-dropdown.vue"]]);function Cle(e){const{t}=Dn();return Rt({options:new Map,cachedOptions:new Map,createdLabel:null,createdSelected:!1,selected:e.multiple?[]:{},inputLength:20,inputWidth:0,optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,cachedPlaceHolder:"",currentPlaceholder:t("el.select.placeholder"),menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1,prefixWidth:11,tagInMultiLine:!1,mouseEnter:!1})}const Ele=(e,t,n)=>{const{t:o}=Dn(),l=Ve("select");ua({from:"suffixTransition",replacement:"override style scheme",version:"2.3.0",scope:"props",ref:"https://element-plus.org/en-US/component/select.html#select-attributes"},U(()=>e.suffixTransition===!1));const u=L(null),a=L(null),r=L(null),s=L(null),i=L(null),p=L(null),m=L(-1),v=Kn({query:""}),_=Kn(""),{form:g,formItem:y}=Ho(),w=U(()=>!e.filterable||e.multiple||!t.visible),E=U(()=>e.disabled||(g==null?void 0:g.disabled)),D=U(()=>{const M=e.multiple?Array.isArray(e.modelValue)&&e.modelValue.length>0:e.modelValue!==void 0&&e.modelValue!==null&&e.modelValue!=="";return e.clearable&&!E.value&&t.inputHovering&&M}),C=U(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),B=U(()=>l.is("reverse",C.value&&t.visible&&e.suffixTransition)),$=U(()=>e.remote?300:0),k=U(()=>e.loading?e.loadingText||o("el.select.loading"):e.remote&&t.query===""&&t.options.size===0?!1:e.filterable&&t.query&&t.options.size>0&&t.filteredOptionsCount===0?e.noMatchText||o("el.select.noMatch"):t.options.size===0?e.noDataText||o("el.select.noData"):null),P=U(()=>Array.from(t.options.values())),T=U(()=>Array.from(t.cachedOptions.values())),H=U(()=>{const M=P.value.filter(S=>!S.created).some(S=>S.currentLabel===t.query);return e.filterable&&e.allowCreate&&t.query!==""&&!M}),j=dn(),X=U(()=>["small"].includes(j.value)?"small":"default"),W=U({get(){return t.visible&&k.value!==!1},set(M){t.visible=M}});Me([()=>E.value,()=>j.value,()=>g==null?void 0:g.size],()=>{at(()=>{N()})}),Me(()=>e.placeholder,M=>{t.cachedPlaceHolder=t.currentPlaceholder=M}),Me(()=>e.modelValue,(M,S)=>{e.multiple&&(N(),M&&M.length>0||a.value&&t.query!==""?t.currentPlaceholder="":t.currentPlaceholder=t.cachedPlaceHolder,e.filterable&&!e.reserveKeyword&&(t.query="",J(t.query))),Ee(),e.filterable&&!e.multiple&&(t.inputLength=20),!Qs(M,S)&&e.validateEvent&&(y==null||y.validate("change").catch(_e=>void 0))},{flush:"post",deep:!0}),Me(()=>t.visible,M=>{var S,_e,G;M?((_e=(S=r.value)==null?void 0:S.updatePopper)==null||_e.call(S),e.filterable&&(t.filteredOptionsCount=t.optionsCount,t.query=e.remote?"":t.selectedLabel,e.multiple?(G=a.value)==null||G.focus():t.selectedLabel&&(t.currentPlaceholder=`${t.selectedLabel}`,t.selectedLabel=""),J(t.query),!e.multiple&&!e.remote&&(v.value.query="",xu(v),xu(_)))):(e.filterable&&(Ge(e.filterMethod)&&e.filterMethod(),Ge(e.remoteMethod)&&e.remoteMethod()),a.value&&a.value.blur(),t.query="",t.previousQuery=null,t.selectedLabel="",t.inputLength=20,t.menuVisibleOnFocus=!1,Z(),at(()=>{a.value&&a.value.value===""&&t.selected.length===0&&(t.currentPlaceholder=t.cachedPlaceHolder)}),e.multiple||(t.selected&&(e.filterable&&e.allowCreate&&t.createdSelected&&t.createdLabel?t.selectedLabel=t.createdLabel:t.selectedLabel=t.selected.currentLabel,e.filterable&&(t.query=t.selectedLabel)),e.filterable&&(t.currentPlaceholder=t.cachedPlaceHolder))),n.emit("visible-change",M)}),Me(()=>t.options.entries(),()=>{var M,S,_e;if(!_t)return;(S=(M=r.value)==null?void 0:M.updatePopper)==null||S.call(M),e.multiple&&N();const G=((_e=i.value)==null?void 0:_e.querySelectorAll("input"))||[];Array.from(G).includes(document.activeElement)||Ee(),e.defaultFirstOption&&(e.filterable||e.remote)&&t.filteredOptionsCount&&ve()},{flush:"post"}),Me(()=>t.hoverIndex,M=>{typeof M=="number"&&M>-1?m.value=P.value[M]||{}:m.value={},P.value.forEach(S=>{S.hover=m.value===S})});const N=()=>{e.collapseTags&&!e.filterable||at(()=>{var M,S;if(!u.value)return;const _e=u.value.$el.querySelector("input"),G=s.value,ie=GX(j.value||(g==null?void 0:g.size));_e.style.height=`${(t.selected.length===0?ie:Math.max(G?G.clientHeight+(G.clientHeight>ie?6:0):0,ie))-2}px`,t.tagInMultiLine=Number.parseFloat(_e.style.height)>=ie,t.visible&&k.value!==!1&&((S=(M=r.value)==null?void 0:M.updatePopper)==null||S.call(M))})},J=async M=>{if(!(t.previousQuery===M||t.isOnComposition)){if(t.previousQuery===null&&(typeof e.filterMethod=="function"||typeof e.remoteMethod=="function")){t.previousQuery=M;return}t.previousQuery=M,at(()=>{var S,_e;t.visible&&((_e=(S=r.value)==null?void 0:S.updatePopper)==null||_e.call(S))}),t.hoverIndex=-1,e.multiple&&e.filterable&&at(()=>{const S=a.value.value.length*15+20;t.inputLength=e.collapseTags?Math.min(50,S):S,be(),N()}),e.remote&&typeof e.remoteMethod=="function"?(t.hoverIndex=-1,e.remoteMethod(M)):typeof e.filterMethod=="function"?(e.filterMethod(M),xu(_)):(t.filteredOptionsCount=t.optionsCount,v.value.query=M,xu(v),xu(_)),e.defaultFirstOption&&(e.filterable||e.remote)&&t.filteredOptionsCount&&(await at(),ve())}},be=()=>{t.currentPlaceholder!==""&&(t.currentPlaceholder=a.value.value?"":t.cachedPlaceHolder)},ve=()=>{const M=P.value.filter(G=>G.visible&&!G.disabled&&!G.states.groupDisabled),S=M.find(G=>G.created),_e=M[0];t.hoverIndex=de(P.value,S||_e)},Ee=()=>{var M;if(e.multiple)t.selectedLabel="";else{const _e=te(e.modelValue);(M=_e.props)!=null&&M.created?(t.createdLabel=_e.props.value,t.createdSelected=!0):t.createdSelected=!1,t.selectedLabel=_e.currentLabel,t.selected=_e,e.filterable&&(t.query=t.selectedLabel);return}const S=[];Array.isArray(e.modelValue)&&e.modelValue.forEach(_e=>{S.push(te(_e))}),t.selected=S,at(()=>{N()})},te=M=>{let S;const _e=qa(M).toLowerCase()==="object",G=qa(M).toLowerCase()==="null",ie=qa(M).toLowerCase()==="undefined";for(let Xt=t.cachedOptions.size-1;Xt>=0;Xt--){const Ce=T.value[Xt];if(_e?en(Ce.value,e.valueKey)===en(M,e.valueKey):Ce.value===M){S={value:M,currentLabel:Ce.currentLabel,isDisabled:Ce.isDisabled};break}}if(S)return S;const $e=_e?M.label:!G&&!ie?M:"",St={value:M,currentLabel:$e};return e.multiple&&(St.hitState=!1),St},Z=()=>{setTimeout(()=>{const M=e.valueKey;e.multiple?t.selected.length>0?t.hoverIndex=Math.min.apply(null,t.selected.map(S=>P.value.findIndex(_e=>en(_e,M)===en(S,M)))):t.hoverIndex=-1:t.hoverIndex=P.value.findIndex(S=>nt(S)===nt(t.selected))},300)},De=()=>{var M,S;Be(),(S=(M=r.value)==null?void 0:M.updatePopper)==null||S.call(M),e.multiple&&!e.filterable&&N()},Be=()=>{var M;t.inputWidth=(M=u.value)==null?void 0:M.$el.getBoundingClientRect().width},x=()=>{e.filterable&&t.query!==t.selectedLabel&&(t.query=t.selectedLabel,J(t.query))},O=lu(()=>{x()},$.value),ye=lu(M=>{J(M.target.value)},$.value),xe=M=>{Qs(e.modelValue,M)||n.emit(Jn,M)},Pe=M=>{if(M.target.value.length<=0&&!Y()){const S=e.modelValue.slice();S.pop(),n.emit(bt,S),xe(S)}M.target.value.length===1&&e.modelValue.length===0&&(t.currentPlaceholder=t.cachedPlaceHolder)},he=(M,S)=>{const _e=t.selected.indexOf(S);if(_e>-1&&!E.value){const G=e.modelValue.slice();G.splice(_e,1),n.emit(bt,G),xe(G),n.emit("remove-tag",S.value)}M.stopPropagation()},Te=M=>{M.stopPropagation();const S=e.multiple?[]:"";if(typeof S!="string")for(const _e of t.selected)_e.isDisabled&&S.push(_e.value);n.emit(bt,S),xe(S),t.hoverIndex=-1,t.visible=!1,n.emit("clear")},je=(M,S)=>{var _e;if(e.multiple){const G=(e.modelValue||[]).slice(),ie=de(G,M.value);ie>-1?G.splice(ie,1):(e.multipleLimit<=0||G.length{z(M)})},de=(M=[],S)=>{if(!dt(S))return M.indexOf(S);const _e=e.valueKey;let G=-1;return M.some((ie,$e)=>ct(en(ie,_e))===en(S,_e)?(G=$e,!0):!1),G},se=()=>{t.softFocus=!0;const M=a.value||u.value;M&&(M==null||M.focus())},z=M=>{var S,_e,G,ie,$e;const St=Array.isArray(M)?M[0]:M;let Xt=null;if(St!=null&&St.value){const Ce=P.value.filter(Jt=>Jt.value===St.value);Ce.length>0&&(Xt=Ce[0].$el)}if(r.value&&Xt){const Ce=(ie=(G=(_e=(S=r.value)==null?void 0:S.popperRef)==null?void 0:_e.contentRef)==null?void 0:G.querySelector)==null?void 0:ie.call(G,`.${l.be("dropdown","wrap")}`);Ce&&L9(Ce,Xt)}($e=p.value)==null||$e.handleScroll()},q=M=>{t.optionsCount++,t.filteredOptionsCount++,t.options.set(M.value,M),t.cachedOptions.set(M.value,M)},R=(M,S)=>{t.options.get(M)===S&&(t.optionsCount--,t.filteredOptionsCount--,t.options.delete(M))},I=M=>{M.code!==Lt.backspace&&Y(!1),t.inputLength=a.value.value.length*15+20,N()},Y=M=>{if(!Array.isArray(t.selected))return;const S=t.selected[t.selected.length-1];if(!!S)return M===!0||M===!1?(S.hitState=M,M):(S.hitState=!S.hitState,S.hitState)},pe=M=>{const S=M.target.value;if(M.type==="compositionend")t.isOnComposition=!1,at(()=>J(S));else{const _e=S[S.length-1]||"";t.isOnComposition=!jf(_e)}},Fe=()=>{at(()=>z(t.selected))},ce=M=>{t.softFocus?t.softFocus=!1:((e.automaticDropdown||e.filterable)&&(e.filterable&&!t.visible&&(t.menuVisibleOnFocus=!0),t.visible=!0),n.emit("focus",M))},Ae=()=>{var M;t.visible=!1,(M=u.value)==null||M.blur()},ue=M=>{at(()=>{t.isSilentBlur?t.isSilentBlur=!1:n.emit("blur",M)}),t.softFocus=!1},me=M=>{Te(M)},Ie=()=>{t.visible=!1},ee=M=>{t.visible&&(M.preventDefault(),M.stopPropagation(),t.visible=!1)},Se=M=>{var S;M&&!t.mouseEnter||E.value||(t.menuVisibleOnFocus?t.menuVisibleOnFocus=!1:(!r.value||!r.value.isFocusInsideContent())&&(t.visible=!t.visible),t.visible&&((S=a.value||u.value)==null||S.focus()))},Ke=()=>{t.visible?P.value[t.hoverIndex]&&je(P.value[t.hoverIndex],void 0):Se()},nt=M=>dt(M.value)?en(M.value,e.valueKey):M.value,we=U(()=>P.value.filter(M=>M.visible).every(M=>M.disabled)),Le=M=>{if(!t.visible){t.visible=!0;return}if(!(t.options.size===0||t.filteredOptionsCount===0)&&!t.isOnComposition&&!we.value){M==="next"?(t.hoverIndex++,t.hoverIndex===t.options.size&&(t.hoverIndex=0)):M==="prev"&&(t.hoverIndex--,t.hoverIndex<0&&(t.hoverIndex=t.options.size-1));const S=P.value[t.hoverIndex];(S.disabled===!0||S.states.groupDisabled===!0||!S.visible)&&Le(M),at(()=>z(m.value))}};return{optionsArray:P,selectSize:j,handleResize:De,debouncedOnInputChange:O,debouncedQueryChange:ye,deletePrevTag:Pe,deleteTag:he,deleteSelected:Te,handleOptionSelect:je,scrollToOption:z,readonly:w,resetInputHeight:N,showClose:D,iconComponent:C,iconReverse:B,showNewOption:H,collapseTagSize:X,setSelected:Ee,managePlaceholder:be,selectDisabled:E,emptyText:k,toggleLastOptionHitState:Y,resetInputState:I,handleComposition:pe,onOptionCreate:q,onOptionDestroy:R,handleMenuEnter:Fe,handleFocus:ce,blur:Ae,handleBlur:ue,handleClearClick:me,handleClose:Ie,handleKeydownEscape:ee,toggleMenu:Se,selectOption:Ke,getValueKey:nt,navigateOptions:Le,dropMenuVisible:W,queryChange:v,groupQueryChange:_,reference:u,input:a,tooltipRef:r,tags:s,selectWrapper:i,scrollbar:p,handleMouseEnter:()=>{t.mouseEnter=!0},handleMouseLeave:()=>{t.mouseEnter=!1}}},_d="ElSelect",Fle=le({name:_d,componentName:_d,components:{ElInput:nn,ElSelectMenu:wle,ElOption:Rc,ElTag:Ate,ElScrollbar:Yt,ElTooltip:pn,ElIcon:rt},directives:{ClickOutside:P4},props:{name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:{type:String,validator:gc},effect:{type:String,default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:{type:Boolean,default:!1},teleported:Tc.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Tt,default:va},fitInputWidth:{type:Boolean,default:!1},suffixIcon:{type:Tt,default:pa},tagType:{...J4.type,default:"info"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:{type:Boolean,default:!1},suffixTransition:{type:Boolean,default:!0},placement:{type:String,values:Zr,default:"bottom-start"}},emits:[bt,Jn,"remove-tag","clear","visible-change","focus","blur"],setup(e,t){const n=Ve("select"),o=Ve("input"),{t:l}=Dn(),u=Cle(e),{optionsArray:a,selectSize:r,readonly:s,handleResize:i,collapseTagSize:p,debouncedOnInputChange:m,debouncedQueryChange:v,deletePrevTag:_,deleteTag:g,deleteSelected:y,handleOptionSelect:w,scrollToOption:E,setSelected:D,resetInputHeight:C,managePlaceholder:B,showClose:$,selectDisabled:k,iconComponent:P,iconReverse:T,showNewOption:H,emptyText:j,toggleLastOptionHitState:X,resetInputState:W,handleComposition:N,onOptionCreate:J,onOptionDestroy:be,handleMenuEnter:ve,handleFocus:Ee,blur:te,handleBlur:Z,handleClearClick:De,handleClose:Be,handleKeydownEscape:x,toggleMenu:O,selectOption:ye,getValueKey:xe,navigateOptions:Pe,dropMenuVisible:he,reference:Te,input:je,tooltipRef:de,tags:se,selectWrapper:z,scrollbar:q,queryChange:R,groupQueryChange:I,handleMouseEnter:Y,handleMouseLeave:pe}=Ele(e,u,t),{focus:Fe}=tJ(Te),{inputWidth:ce,selected:Ae,inputLength:ue,filteredOptionsCount:me,visible:Ie,softFocus:ee,selectedLabel:Se,hoverIndex:Ke,query:nt,inputHovering:we,currentPlaceholder:Le,menuVisibleOnFocus:Qe,isOnComposition:Ze,isSilentBlur:M,options:S,cachedOptions:_e,optionsCount:G,prefixWidth:ie,tagInMultiLine:$e}=ho(u),St=U(()=>{const _n=[n.b()],ht=h(r);return ht&&_n.push(n.m(ht)),e.disabled&&_n.push(n.m("disabled")),_n}),Xt=U(()=>({maxWidth:`${h(ce)-32}px`,width:"100%"})),Ce=U(()=>({maxWidth:`${h(ce)>123?h(ce)-123:h(ce)-75}px`}));Dt(ns,Rt({props:e,options:S,optionsArray:a,cachedOptions:_e,optionsCount:G,filteredOptionsCount:me,hoverIndex:Ke,handleOptionSelect:w,onOptionCreate:J,onOptionDestroy:be,selectWrapper:z,selected:Ae,setSelected:D,queryChange:R,groupQueryChange:I})),ot(()=>{u.cachedPlaceHolder=Le.value=e.placeholder||l("el.select.placeholder"),e.multiple&&Array.isArray(e.modelValue)&&e.modelValue.length>0&&(Le.value=""),po(z,i),e.remote&&e.multiple&&C(),at(()=>{const _n=Te.value&&Te.value.$el;if(!!_n&&(ce.value=_n.getBoundingClientRect().width,t.slots.prefix)){const ht=_n.querySelector(`.${o.e("prefix")}`);ie.value=Math.max(ht.getBoundingClientRect().width+5,30)}}),D()}),e.multiple&&!Array.isArray(e.modelValue)&&t.emit(bt,[]),!e.multiple&&Array.isArray(e.modelValue)&&t.emit(bt,"");const Jt=U(()=>{var _n,ht;return(ht=(_n=de.value)==null?void 0:_n.popperRef)==null?void 0:ht.contentRef});return{tagInMultiLine:$e,prefixWidth:ie,selectSize:r,readonly:s,handleResize:i,collapseTagSize:p,debouncedOnInputChange:m,debouncedQueryChange:v,deletePrevTag:_,deleteTag:g,deleteSelected:y,handleOptionSelect:w,scrollToOption:E,inputWidth:ce,selected:Ae,inputLength:ue,filteredOptionsCount:me,visible:Ie,softFocus:ee,selectedLabel:Se,hoverIndex:Ke,query:nt,inputHovering:we,currentPlaceholder:Le,menuVisibleOnFocus:Qe,isOnComposition:Ze,isSilentBlur:M,options:S,resetInputHeight:C,managePlaceholder:B,showClose:$,selectDisabled:k,iconComponent:P,iconReverse:T,showNewOption:H,emptyText:j,toggleLastOptionHitState:X,resetInputState:W,handleComposition:N,handleMenuEnter:ve,handleFocus:Ee,blur:te,handleBlur:Z,handleClearClick:De,handleClose:Be,handleKeydownEscape:x,toggleMenu:O,selectOption:ye,getValueKey:xe,navigateOptions:Pe,dropMenuVisible:he,focus:Fe,reference:Te,input:je,tooltipRef:de,popperPaneRef:Jt,tags:se,selectWrapper:z,scrollbar:q,wrapperKls:St,selectTagsStyle:Xt,nsSelect:n,tagTextStyle:Ce,handleMouseEnter:Y,handleMouseLeave:pe}}}),Ale=["disabled","autocomplete"],Dle={style:{height:"100%",display:"flex","justify-content":"center","align-items":"center"}};function Ble(e,t,n,o,l,u){const a=lt("el-tag"),r=lt("el-tooltip"),s=lt("el-icon"),i=lt("el-input"),p=lt("el-option"),m=lt("el-scrollbar"),v=lt("el-select-menu"),_=ji("click-outside");return fe((b(),F("div",{ref:"selectWrapper",class:K(e.wrapperKls),onMouseenter:t[22]||(t[22]=(...g)=>e.handleMouseEnter&&e.handleMouseEnter(...g)),onMouseleave:t[23]||(t[23]=(...g)=>e.handleMouseLeave&&e.handleMouseLeave(...g)),onClick:t[24]||(t[24]=mt((...g)=>e.toggleMenu&&e.toggleMenu(...g),["stop"]))},[c(r,{ref:"tooltipRef",visible:e.dropMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"fallback-placements":["bottom-start","top-start","right","left"],effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,onShow:e.handleMenuEnter},{default:d(()=>[f("div",{class:"select-trigger",onMouseenter:t[20]||(t[20]=g=>e.inputHovering=!0),onMouseleave:t[21]||(t[21]=g=>e.inputHovering=!1)},[e.multiple?(b(),F("div",{key:0,ref:"tags",class:K(e.nsSelect.e("tags")),style:ut(e.selectTagsStyle)},[e.collapseTags&&e.selected.length?(b(),F("span",{key:0,class:K([e.nsSelect.b("tags-wrapper"),{"has-prefix":e.prefixWidth&&e.selected.length}])},[c(a,{closable:!e.selectDisabled&&!e.selected[0].isDisabled,size:e.collapseTagSize,hit:e.selected[0].hitState,type:e.tagType,"disable-transitions":"",onClose:t[0]||(t[0]=g=>e.deleteTag(g,e.selected[0]))},{default:d(()=>[f("span",{class:K(e.nsSelect.e("tags-text")),style:ut(e.tagTextStyle)},re(e.selected[0].currentLabel),7)]),_:1},8,["closable","size","hit","type"]),e.selected.length>1?(b(),ae(a,{key:0,closable:!1,size:e.collapseTagSize,type:e.tagType,"disable-transitions":""},{default:d(()=>[e.collapseTagsTooltip?(b(),ae(r,{key:0,disabled:e.dropMenuVisible,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:d(()=>[f("span",{class:K(e.nsSelect.e("tags-text"))},"+ "+re(e.selected.length-1),3)]),content:d(()=>[f("div",{class:K(e.nsSelect.e("collapse-tags"))},[(b(!0),F(Oe,null,it(e.selected.slice(1),(g,y)=>(b(),F("div",{key:y,class:K(e.nsSelect.e("collapse-tag"))},[(b(),ae(a,{key:e.getValueKey(g),class:"in-tooltip",closable:!e.selectDisabled&&!g.isDisabled,size:e.collapseTagSize,hit:g.hitState,type:e.tagType,"disable-transitions":"",style:{margin:"2px"},onClose:w=>e.deleteTag(w,g)},{default:d(()=>[f("span",{class:K(e.nsSelect.e("tags-text")),style:ut({maxWidth:e.inputWidth-75+"px"})},re(g.currentLabel),7)]),_:2},1032,["closable","size","hit","type","onClose"]))],2))),128))],2)]),_:1},8,["disabled","effect","teleported"])):(b(),F("span",{key:1,class:K(e.nsSelect.e("tags-text"))},"+ "+re(e.selected.length-1),3))]),_:1},8,["size","type"])):oe("v-if",!0)],2)):oe("v-if",!0),oe("
"),e.collapseTags?oe("v-if",!0):(b(),ae(tn,{key:1,onAfterLeave:e.resetInputHeight},{default:d(()=>[f("span",{class:K([e.nsSelect.b("tags-wrapper"),{"has-prefix":e.prefixWidth&&e.selected.length}])},[(b(!0),F(Oe,null,it(e.selected,g=>(b(),ae(a,{key:e.getValueKey(g),closable:!e.selectDisabled&&!g.isDisabled,size:e.collapseTagSize,hit:g.hitState,type:e.tagType,"disable-transitions":"",onClose:y=>e.deleteTag(y,g)},{default:d(()=>[f("span",{class:K(e.nsSelect.e("tags-text")),style:ut({maxWidth:e.inputWidth-75+"px"})},re(g.currentLabel),7)]),_:2},1032,["closable","size","hit","type","onClose"]))),128))],2)]),_:1},8,["onAfterLeave"])),oe("
"),e.filterable?fe((b(),F("input",{key:2,ref:"input","onUpdate:modelValue":t[1]||(t[1]=g=>e.query=g),type:"text",class:K([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:ut({marginLeft:e.prefixWidth&&!e.selected.length||e.tagInMultiLine?`${e.prefixWidth}px`:"",flexGrow:1,width:`${e.inputLength/(e.inputWidth-32)}%`,maxWidth:`${e.inputWidth-42}px`}),onFocus:t[2]||(t[2]=(...g)=>e.handleFocus&&e.handleFocus(...g)),onBlur:t[3]||(t[3]=(...g)=>e.handleBlur&&e.handleBlur(...g)),onKeyup:t[4]||(t[4]=(...g)=>e.managePlaceholder&&e.managePlaceholder(...g)),onKeydown:[t[5]||(t[5]=(...g)=>e.resetInputState&&e.resetInputState(...g)),t[6]||(t[6]=Bt(mt(g=>e.navigateOptions("next"),["prevent"]),["down"])),t[7]||(t[7]=Bt(mt(g=>e.navigateOptions("prev"),["prevent"]),["up"])),t[8]||(t[8]=Bt((...g)=>e.handleKeydownEscape&&e.handleKeydownEscape(...g),["esc"])),t[9]||(t[9]=Bt(mt((...g)=>e.selectOption&&e.selectOption(...g),["stop","prevent"]),["enter"])),t[10]||(t[10]=Bt((...g)=>e.deletePrevTag&&e.deletePrevTag(...g),["delete"])),t[11]||(t[11]=Bt(g=>e.visible=!1,["tab"]))],onCompositionstart:t[12]||(t[12]=(...g)=>e.handleComposition&&e.handleComposition(...g)),onCompositionupdate:t[13]||(t[13]=(...g)=>e.handleComposition&&e.handleComposition(...g)),onCompositionend:t[14]||(t[14]=(...g)=>e.handleComposition&&e.handleComposition(...g)),onInput:t[15]||(t[15]=(...g)=>e.debouncedQueryChange&&e.debouncedQueryChange(...g))},null,46,Ale)),[[k8,e.query]]):oe("v-if",!0)],6)):oe("v-if",!0),c(i,{id:e.id,ref:"reference",modelValue:e.selectedLabel,"onUpdate:modelValue":t[16]||(t[16]=g=>e.selectedLabel=g),type:"text",placeholder:e.currentPlaceholder,name:e.name,autocomplete:e.autocomplete,size:e.selectSize,disabled:e.selectDisabled,readonly:e.readonly,"validate-event":!1,class:K([e.nsSelect.is("focus",e.visible)]),tabindex:e.multiple&&e.filterable?-1:void 0,onFocus:e.handleFocus,onBlur:e.handleBlur,onInput:e.debouncedOnInputChange,onPaste:e.debouncedOnInputChange,onCompositionstart:e.handleComposition,onCompositionupdate:e.handleComposition,onCompositionend:e.handleComposition,onKeydown:[t[17]||(t[17]=Bt(mt(g=>e.navigateOptions("next"),["stop","prevent"]),["down"])),t[18]||(t[18]=Bt(mt(g=>e.navigateOptions("prev"),["stop","prevent"]),["up"])),Bt(mt(e.selectOption,["stop","prevent"]),["enter"]),Bt(e.handleKeydownEscape,["esc"]),t[19]||(t[19]=Bt(g=>e.visible=!1,["tab"]))]},Zl({suffix:d(()=>[e.iconComponent&&!e.showClose?(b(),ae(s,{key:0,class:K([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:d(()=>[(b(),ae(Ct(e.iconComponent)))]),_:1},8,["class"])):oe("v-if",!0),e.showClose&&e.clearIcon?(b(),ae(s,{key:1,class:K([e.nsSelect.e("caret"),e.nsSelect.e("icon")]),onClick:e.handleClearClick},{default:d(()=>[(b(),ae(Ct(e.clearIcon)))]),_:1},8,["class","onClick"])):oe("v-if",!0)]),_:2},[e.$slots.prefix?{name:"prefix",fn:d(()=>[f("div",Dle,[ze(e.$slots,"prefix")])])}:void 0]),1032,["id","modelValue","placeholder","name","autocomplete","size","disabled","readonly","class","tabindex","onFocus","onBlur","onInput","onPaste","onCompositionstart","onCompositionupdate","onCompositionend","onKeydown"])],32)]),content:d(()=>[c(v,null,{default:d(()=>[fe(c(m,{ref:"scrollbar",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:K([e.nsSelect.is("empty",!e.allowCreate&&Boolean(e.query)&&e.filteredOptionsCount===0)])},{default:d(()=>[e.showNewOption?(b(),ae(p,{key:0,value:e.query,created:!0},null,8,["value"])):oe("v-if",!0),ze(e.$slots,"default")]),_:3},8,["wrap-class","view-class","class"]),[[ge,e.options.size>0&&!e.loading]]),e.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&e.options.size===0)?(b(),F(Oe,{key:0},[e.$slots.empty?ze(e.$slots,"empty",{key:0}):(b(),F("p",{key:1,class:K(e.nsSelect.be("dropdown","empty"))},re(e.emptyText),3))],64)):oe("v-if",!0)]),_:3})]),_:3},8,["visible","placement","teleported","popper-class","effect","transition","persistent","onShow"])],34)),[[_,e.handleClose,e.popperPaneRef]])}var xle=We(Fle,[["render",Ble],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/select.vue"]]);const $le=le({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:{type:Boolean,default:!1}},setup(e){const t=Ve("select"),n=L(!0),o=pt(),l=L([]);Dt(v6,Rt({...ho(e)}));const u=Xe(ns);ot(()=>{l.value=a(o.subTree)});const a=s=>{const i=[];return Array.isArray(s.children)&&s.children.forEach(p=>{var m;p.type&&p.type.name==="ElOption"&&p.component&&p.component.proxy?i.push(p.component.proxy):(m=p.children)!=null&&m.length&&i.push(...a(p))}),i},{groupQueryChange:r}=ct(u);return Me(r,()=>{n.value=l.value.some(s=>s.visible===!0)},{flush:"post"}),{visible:n,ns:t}}});function Sle(e,t,n,o,l,u){return fe((b(),F("ul",{class:K(e.ns.be("group","wrap"))},[f("li",{class:K(e.ns.be("group","title"))},re(e.label),3),f("li",null,[f("ul",{class:K(e.ns.b("group"))},[ze(e.$slots,"default")],2)])],2)),[[ge,e.visible]])}var h6=We($le,[["render",Sle],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/option-group.vue"]]);const Ca=Ft(xle,{Option:Rc,OptionGroup:h6}),Ea=Nt(Rc);Nt(h6);const Nc=()=>Xe(Jf,{}),kle=et({pageSize:{type:Number,required:!0},pageSizes:{type:He(Array),default:()=>So([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,size:{type:String,values:Cu}}),Ple=le({name:"ElPaginationSizes"}),Lle=le({...Ple,props:kle,emits:["page-size-change"],setup(e,{emit:t}){const n=e,{t:o}=Dn(),l=Ve("pagination"),u=Nc(),a=L(n.pageSize);Me(()=>n.pageSizes,(i,p)=>{if(!Qs(i,p)&&Array.isArray(i)){const m=i.includes(n.pageSize)?n.pageSize:n.pageSizes[0];t("page-size-change",m)}}),Me(()=>n.pageSize,i=>{a.value=i});const r=U(()=>n.pageSizes);function s(i){var p;i!==a.value&&(a.value=i,(p=u.handleSizeChange)==null||p.call(u,Number(i)))}return(i,p)=>(b(),F("span",{class:K(h(l).e("sizes"))},[c(h(Ca),{"model-value":a.value,disabled:i.disabled,"popper-class":i.popperClass,size:i.size,"validate-event":!1,onChange:s},{default:d(()=>[(b(!0),F(Oe,null,it(h(r),m=>(b(),ae(h(Ea),{key:m,value:m,label:m+h(o)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size"])],2))}});var Tle=We(Lle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/sizes.vue"]]);const zle=["disabled"],Mle=le({name:"ElPaginationJumper"}),Vle=le({...Mle,setup(e){const{t}=Dn(),n=Ve("pagination"),{pageCount:o,disabled:l,currentPage:u,changeEvent:a}=Nc(),r=L(),s=U(()=>{var m;return(m=r.value)!=null?m:u==null?void 0:u.value});function i(m){r.value=+m}function p(m){m=Math.trunc(+m),a==null||a(+m),r.value=void 0}return(m,v)=>(b(),F("span",{class:K(h(n).e("jump")),disabled:h(l)},[A(re(h(t)("el.pagination.goto"))+" ",1),c(h(nn),{size:"small",class:K([h(n).e("editor"),h(n).is("in-pagination")]),min:1,max:h(o),disabled:h(l),"model-value":h(s),"validate-event":!1,type:"number","onUpdate:modelValue":i,onChange:p},null,8,["class","max","disabled","model-value"]),A(" "+re(h(t)("el.pagination.pageClassifier")),1)],10,zle))}});var Ile=We(Vle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/jumper.vue"]]);const Hle=et({total:{type:Number,default:1e3}}),Rle=["disabled"],Nle=le({name:"ElPaginationTotal"}),Ole=le({...Nle,props:Hle,setup(e){const{t}=Dn(),n=Ve("pagination"),{disabled:o}=Nc();return(l,u)=>(b(),F("span",{class:K(h(n).e("total")),disabled:h(o)},re(h(t)("el.pagination.total",{total:l.total})),11,Rle))}});var Ule=We(Ole,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/total.vue"]]);const Wle=et({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),qle=["onKeyup"],jle=["aria-current","tabindex"],Kle=["tabindex"],Gle=["aria-current","tabindex"],Yle=["tabindex"],Xle=["aria-current","tabindex"],Jle=le({name:"ElPaginationPager"}),Qle=le({...Jle,props:Wle,emits:["change"],setup(e,{emit:t}){const n=e,o=Ve("pager"),l=Ve("icon"),u=L(!1),a=L(!1),r=L(!1),s=L(!1),i=L(!1),p=L(!1),m=U(()=>{const E=n.pagerCount,D=(E-1)/2,C=Number(n.currentPage),B=Number(n.pageCount);let $=!1,k=!1;B>E&&(C>E-D&&($=!0),Cn.disabled?-1:0);Do(()=>{const E=(n.pagerCount-1)/2;u.value=!1,a.value=!1,n.pageCount>n.pagerCount&&(n.currentPage>n.pagerCount-E&&(u.value=!0),n.currentPageB&&(C=B)),C!==$&&t("change",C)}return(E,D)=>(b(),F("ul",{class:K(h(o).b()),onClick:w,onKeyup:Bt(y,["enter"])},[E.pageCount>0?(b(),F("li",{key:0,class:K([[h(o).is("active",E.currentPage===1),h(o).is("disabled",E.disabled)],"number"]),"aria-current":E.currentPage===1,tabindex:h(v)}," 1 ",10,jle)):oe("v-if",!0),u.value?(b(),F("li",{key:1,class:K(["more","btn-quickprev",h(l).b(),h(o).is("disabled",E.disabled)]),tabindex:h(v),onMouseenter:D[0]||(D[0]=C=>_(!0)),onMouseleave:D[1]||(D[1]=C=>r.value=!1),onFocus:D[2]||(D[2]=C=>g(!0)),onBlur:D[3]||(D[3]=C=>i.value=!1)},[r.value||i.value?(b(),ae(h(Pf),{key:0})):(b(),ae(h(ti),{key:1}))],42,Kle)):oe("v-if",!0),(b(!0),F(Oe,null,it(h(m),C=>(b(),F("li",{key:C,class:K([[h(o).is("active",E.currentPage===C),h(o).is("disabled",E.disabled)],"number"]),"aria-current":E.currentPage===C,tabindex:h(v)},re(C),11,Gle))),128)),a.value?(b(),F("li",{key:2,class:K(["more","btn-quicknext",h(l).b(),h(o).is("disabled",E.disabled)]),tabindex:h(v),onMouseenter:D[4]||(D[4]=C=>_()),onMouseleave:D[5]||(D[5]=C=>s.value=!1),onFocus:D[6]||(D[6]=C=>g()),onBlur:D[7]||(D[7]=C=>p.value=!1)},[s.value||p.value?(b(),ae(h(Lf),{key:0})):(b(),ae(h(ti),{key:1}))],42,Yle)):oe("v-if",!0),E.pageCount>1?(b(),F("li",{key:3,class:K([[h(o).is("active",E.currentPage===E.pageCount),h(o).is("disabled",E.disabled)],"number"]),"aria-current":E.currentPage===E.pageCount,tabindex:h(v)},re(E.pageCount),11,Xle)):oe("v-if",!0)],42,qle))}});var Zle=We(Qle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/pager.vue"]]);const Qt=e=>typeof e!="number",eue=et({total:Number,pageSize:Number,defaultPageSize:Number,currentPage:Number,defaultCurrentPage:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>typeof e=="number"&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:He(Array),default:()=>So([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:Tt,default:()=>kf},nextText:{type:String,default:""},nextIcon:{type:Tt,default:()=>wu},small:Boolean,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean}),tue={"update:current-page":e=>typeof e=="number","update:page-size":e=>typeof e=="number","size-change":e=>typeof e=="number","current-change":e=>typeof e=="number","prev-click":e=>typeof e=="number","next-click":e=>typeof e=="number"},md="ElPagination";var nue=le({name:md,props:eue,emits:tue,setup(e,{emit:t,slots:n}){const{t:o}=Dn(),l=Ve("pagination"),u=pt().vnode.props||{},a="onUpdate:currentPage"in u||"onUpdate:current-page"in u||"onCurrentChange"in u,r="onUpdate:pageSize"in u||"onUpdate:page-size"in u||"onSizeChange"in u,s=U(()=>{if(Qt(e.total)&&Qt(e.pageCount)||!Qt(e.currentPage)&&!a)return!1;if(e.layout.includes("sizes")){if(Qt(e.pageCount)){if(!Qt(e.total)&&!Qt(e.pageSize)&&!r)return!1}else if(!r)return!1}return!0}),i=L(Qt(e.defaultPageSize)?10:e.defaultPageSize),p=L(Qt(e.defaultCurrentPage)?1:e.defaultCurrentPage),m=U({get(){return Qt(e.pageSize)?i.value:e.pageSize},set(C){Qt(e.pageSize)&&(i.value=C),r&&(t("update:page-size",C),t("size-change",C))}}),v=U(()=>{let C=0;return Qt(e.pageCount)?Qt(e.total)||(C=Math.max(1,Math.ceil(e.total/m.value))):C=e.pageCount,C}),_=U({get(){return Qt(e.currentPage)?p.value:e.currentPage},set(C){let B=C;C<1?B=1:C>v.value&&(B=v.value),Qt(e.currentPage)&&(p.value=B),a&&(t("update:current-page",B),t("current-change",B))}});Me(v,C=>{_.value>C&&(_.value=C)});function g(C){_.value=C}function y(C){m.value=C;const B=v.value;_.value>B&&(_.value=B)}function w(){e.disabled||(_.value-=1,t("prev-click",_.value))}function E(){e.disabled||(_.value+=1,t("next-click",_.value))}function D(C,B){C&&(C.props||(C.props={}),C.props.class=[C.props.class,B].join(" "))}return Dt(Jf,{pageCount:v,disabled:U(()=>e.disabled),currentPage:_,changeEvent:g,handleSizeChange:y}),()=>{var C,B;if(!s.value)return o("el.pagination.deprecationWarning"),null;if(!e.layout||e.hideOnSinglePage&&v.value<=1)return null;const $=[],k=[],P=Re("div",{class:l.e("rightwrapper")},k),T={prev:Re(ile,{disabled:e.disabled,currentPage:_.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:w}),jumper:Re(Ile),pager:Re(Zle,{currentPage:_.value,pageCount:v.value,pagerCount:e.pagerCount,onChange:g,disabled:e.disabled}),next:Re(hle,{disabled:e.disabled,currentPage:_.value,pageCount:v.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:E}),sizes:Re(Tle,{pageSize:m.value,pageSizes:e.pageSizes,popperClass:e.popperClass,disabled:e.disabled,size:e.small?"small":"default"}),slot:(B=(C=n==null?void 0:n.default)==null?void 0:C.call(n))!=null?B:null,total:Re(Ule,{total:Qt(e.total)?0:e.total})},H=e.layout.split(",").map(X=>X.trim());let j=!1;return H.forEach(X=>{if(X==="->"){j=!0;return}j?k.push(T[X]):$.push(T[X])}),D($[0],l.is("first")),D($[$.length-1],l.is("last")),j&&k.length>0&&(D(k[0],l.is("first")),D(k[k.length-1],l.is("last")),$.push(P)),Re("div",{role:"pagination","aria-label":"pagination",class:[l.b(),l.is("background",e.background),{[l.m("small")]:e.small}]},$)}}});const _6=Ft(nue),oue=et({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:{type:Boolean,default:!1},duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:He(String),default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:He([String,Array,Function]),default:""},format:{type:He(Function),default:e=>`${e}%`}}),lue=["aria-valuenow"],uue={viewBox:"0 0 100 100"},aue=["d","stroke","stroke-width"],rue=["d","stroke","opacity","stroke-linecap","stroke-width"],sue={key:0},iue=le({name:"ElProgress"}),cue=le({...iue,props:oue,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},o=Ve("progress"),l=U(()=>({width:`${t.percentage}%`,animationDuration:`${t.duration}s`,backgroundColor:D(t.percentage)})),u=U(()=>(t.strokeWidth/t.width*100).toFixed(1)),a=U(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(`${50-Number.parseFloat(u.value)/2}`,10):0),r=U(()=>{const C=a.value,B=t.type==="dashboard";return` M 50 50 m 0 ${B?"":"-"}${C} a ${C} ${C} 0 1 1 0 ${B?"-":""}${C*2} a ${C} ${C} 0 1 1 0 ${B?"":"-"}${C*2} `}),s=U(()=>2*Math.PI*a.value),i=U(()=>t.type==="dashboard"?.75:1),p=U(()=>`${-1*s.value*(1-i.value)/2}px`),m=U(()=>({strokeDasharray:`${s.value*i.value}px, ${s.value}px`,strokeDashoffset:p.value})),v=U(()=>({strokeDasharray:`${s.value*i.value*(t.percentage/100)}px, ${s.value}px`,strokeDashoffset:p.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),_=U(()=>{let C;return t.color?C=D(t.percentage):C=n[t.status]||n.default,C}),g=U(()=>t.status==="warning"?Xr:t.type==="line"?t.status==="success"?Yr:va:t.status==="success"?vc:$l),y=U(()=>t.type==="line"?12+t.strokeWidth*.4:t.width*.111111+2),w=U(()=>t.format(t.percentage));function E(C){const B=100/C.length;return C.map((k,P)=>tt(k)?{color:k,percentage:(P+1)*B}:k).sort((k,P)=>k.percentage-P.percentage)}const D=C=>{var B;const{color:$}=t;if(Ge($))return $(C);if(tt($))return $;{const k=E($);for(const P of k)if(P.percentage>C)return P.color;return(B=k[k.length-1])==null?void 0:B.color}};return(C,B)=>(b(),F("div",{class:K([h(o).b(),h(o).m(C.type),h(o).is(C.status),{[h(o).m("without-text")]:!C.showText,[h(o).m("text-inside")]:C.textInside}]),role:"progressbar","aria-valuenow":C.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[C.type==="line"?(b(),F("div",{key:0,class:K(h(o).b("bar"))},[f("div",{class:K(h(o).be("bar","outer")),style:ut({height:`${C.strokeWidth}px`})},[f("div",{class:K([h(o).be("bar","inner"),{[h(o).bem("bar","inner","indeterminate")]:C.indeterminate}]),style:ut(h(l))},[(C.showText||C.$slots.default)&&C.textInside?(b(),F("div",{key:0,class:K(h(o).be("bar","innerText"))},[ze(C.$slots,"default",{percentage:C.percentage},()=>[f("span",null,re(h(w)),1)])],2)):oe("v-if",!0)],6)],6)],2)):(b(),F("div",{key:1,class:K(h(o).b("circle")),style:ut({height:`${C.width}px`,width:`${C.width}px`})},[(b(),F("svg",uue,[f("path",{class:K(h(o).be("circle","track")),d:h(r),stroke:`var(${h(o).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-width":h(u),fill:"none",style:ut(h(m))},null,14,aue),f("path",{class:K(h(o).be("circle","path")),d:h(r),stroke:h(_),fill:"none",opacity:C.percentage?1:0,"stroke-linecap":C.strokeLinecap,"stroke-width":h(u),style:ut(h(v))},null,14,rue)]))],6)),(C.showText||C.$slots.default)&&!C.textInside?(b(),F("div",{key:2,class:K(h(o).e("text")),style:ut({fontSize:`${h(y)}px`})},[ze(C.$slots,"default",{percentage:C.percentage},()=>[C.status?(b(),ae(h(rt),{key:1},{default:d(()=>[(b(),ae(Ct(h(g))))]),_:1})):(b(),F("span",sue,re(h(w)),1))])],6)):oe("v-if",!0)],10,lue))}});var due=We(cue,[["__file","/home/runner/work/element-plus/element-plus/packages/components/progress/src/progress.vue"]]);const fue=Ft(due),pue=et({modelValue:{type:[Boolean,String,Number],default:!1},value:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},width:{type:[String,Number],default:""},inlinePrompt:{type:Boolean,default:!1},activeIcon:{type:Tt},inactiveIcon:{type:Tt},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeColor:{type:String,default:""},inactiveColor:{type:String,default:""},borderColor:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},id:String,loading:{type:Boolean,default:!1},beforeChange:{type:He(Function)},size:{type:String,validator:gc},tabindex:{type:[String,Number]}}),vue={[bt]:e=>Ut(e)||tt(e)||gt(e),[Jn]:e=>Ut(e)||tt(e)||gt(e),[Dl]:e=>Ut(e)||tt(e)||gt(e)},hue=["onClick"],_ue=["id","aria-checked","aria-disabled","name","true-value","false-value","disabled","tabindex","onKeydown"],mue=["aria-hidden"],gue=["aria-hidden"],bue=["aria-hidden"],yue=["aria-hidden"],yi="ElSwitch",wue=le({name:yi}),Cue=le({...wue,props:pue,emits:vue,setup(e,{expose:t,emit:n}){const o=e,l=pt(),{formItem:u}=Ho(),a=dn(),r=Ve("switch");ua({from:'"value"',replacement:'"model-value" or "v-model"',scope:yi,version:"2.3.0",ref:"https://element-plus.org/en-US/component/switch.html#attributes",type:"Attribute"},U(()=>{var $;return!!(($=l.vnode.props)!=null&&$.value)}));const{inputId:s}=_a(o,{formItemContext:u}),i=ul(U(()=>o.loading)),p=L(o.modelValue!==!1),m=L(),v=L(),_=U(()=>[r.b(),r.m(a.value),r.is("disabled",i.value),r.is("checked",w.value)]),g=U(()=>({width:Xn(o.width)}));Me(()=>o.modelValue,()=>{p.value=!0}),Me(()=>o.value,()=>{p.value=!1});const y=U(()=>p.value?o.modelValue:o.value),w=U(()=>y.value===o.activeValue);[o.activeValue,o.inactiveValue].includes(y.value)||(n(bt,o.inactiveValue),n(Jn,o.inactiveValue),n(Dl,o.inactiveValue)),Me(w,$=>{var k;m.value.checked=$,o.validateEvent&&((k=u==null?void 0:u.validate)==null||k.call(u,"change").catch(P=>void 0))});const E=()=>{const $=w.value?o.inactiveValue:o.activeValue;n(bt,$),n(Jn,$),n(Dl,$),at(()=>{m.value.checked=w.value})},D=()=>{if(i.value)return;const{beforeChange:$}=o;if(!$){E();return}const k=$();[dr(k),Ut(k)].includes(!0)||An(yi,"beforeChange must return type `Promise` or `boolean`"),dr(k)?k.then(T=>{T&&E()}).catch(T=>{}):k&&E()},C=U(()=>r.cssVarBlock({...o.activeColor?{"on-color":o.activeColor}:null,...o.inactiveColor?{"off-color":o.inactiveColor}:null,...o.borderColor?{"border-color":o.borderColor}:null})),B=()=>{var $,k;(k=($=m.value)==null?void 0:$.focus)==null||k.call($)};return ot(()=>{m.value.checked=w.value}),t({focus:B,checked:w}),($,k)=>(b(),F("div",{class:K(h(_)),style:ut(h(C)),onClick:mt(D,["prevent"])},[f("input",{id:h(s),ref_key:"input",ref:m,class:K(h(r).e("input")),type:"checkbox",role:"switch","aria-checked":h(w),"aria-disabled":h(i),name:$.name,"true-value":$.activeValue,"false-value":$.inactiveValue,disabled:h(i),tabindex:$.tabindex,onChange:E,onKeydown:Bt(D,["enter"])},null,42,_ue),!$.inlinePrompt&&($.inactiveIcon||$.inactiveText)?(b(),F("span",{key:0,class:K([h(r).e("label"),h(r).em("label","left"),h(r).is("active",!h(w))])},[$.inactiveIcon?(b(),ae(h(rt),{key:0},{default:d(()=>[(b(),ae(Ct($.inactiveIcon)))]),_:1})):oe("v-if",!0),!$.inactiveIcon&&$.inactiveText?(b(),F("span",{key:1,"aria-hidden":h(w)},re($.inactiveText),9,mue)):oe("v-if",!0)],2)):oe("v-if",!0),f("span",{ref_key:"core",ref:v,class:K(h(r).e("core")),style:ut(h(g))},[$.inlinePrompt?(b(),F("div",{key:0,class:K(h(r).e("inner"))},[$.activeIcon||$.inactiveIcon?(b(),F(Oe,{key:0},[$.activeIcon?(b(),ae(h(rt),{key:0,class:K([h(r).is("icon"),h(w)?h(r).is("show"):h(r).is("hide")])},{default:d(()=>[(b(),ae(Ct($.activeIcon)))]),_:1},8,["class"])):oe("v-if",!0),$.inactiveIcon?(b(),ae(h(rt),{key:1,class:K([h(r).is("icon"),h(w)?h(r).is("hide"):h(r).is("show")])},{default:d(()=>[(b(),ae(Ct($.inactiveIcon)))]),_:1},8,["class"])):oe("v-if",!0)],64)):$.activeText||$.inactiveIcon?(b(),F(Oe,{key:1},[$.activeText?(b(),F("span",{key:0,class:K([h(r).is("text"),h(w)?h(r).is("show"):h(r).is("hide")]),"aria-hidden":!h(w)},re($.activeText.substring(0,3)),11,gue)):oe("v-if",!0),$.inactiveText?(b(),F("span",{key:1,class:K([h(r).is("text"),h(w)?h(r).is("hide"):h(r).is("show")]),"aria-hidden":h(w)},re($.inactiveText.substring(0,3)),11,bue)):oe("v-if",!0)],64)):oe("v-if",!0)],2)):oe("v-if",!0),f("div",{class:K(h(r).e("action"))},[$.loading?(b(),ae(h(rt),{key:0,class:K(h(r).is("loading"))},{default:d(()=>[c(h(ha))]),_:1},8,["class"])):oe("v-if",!0)],2)],6),!$.inlinePrompt&&($.activeIcon||$.activeText)?(b(),F("span",{key:1,class:K([h(r).e("label"),h(r).em("label","right"),h(r).is("active",h(w))])},[$.activeIcon?(b(),ae(h(rt),{key:0},{default:d(()=>[(b(),ae(Ct($.activeIcon)))]),_:1})):oe("v-if",!0),!$.activeIcon&&$.activeText?(b(),F("span",{key:1,"aria-hidden":!h(w)},re($.activeText),9,yue)):oe("v-if",!0)],2)):oe("v-if",!0)],14,hue))}});var Eue=We(Cue,[["__file","/home/runner/work/element-plus/element-plus/packages/components/switch/src/switch.vue"]]);const rl=Ft(Eue);/*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk * Copyright(c) 2015 Andreas Lubbe * Copyright(c) 2015 Tiancheng "Timothy" Gu * MIT Licensed */var Fue=/["'&<>]/,Aue=Due;function Due(e){var t=""+e,n=Fue.exec(t);if(!n)return t;var o,l="",u=0,a=0;for(u=n.index;utypeof i=="string"?en(r,i):i(r,s,e))):(t!=="$key"&&gd(r)&&"$value"in r&&(r=r.$value),[gd(r)?en(r,t):r])},a=function(r,s){if(o)return o(r.value,s.value);for(let i=0,p=r.key.length;is.key[i])return 1}return 0};return e.map((r,s)=>({value:r,index:s,key:u?u(r,s):null})).sort((r,s)=>{let i=a(r,s);return i||(i=r.index-s.index),i*+n}).map(r=>r.value)},m6=function(e,t){let n=null;return e.columns.forEach(o=>{o.id===t&&(n=o)}),n},xue=function(e,t){let n=null;for(let o=0;o{if(!e)throw new Error("Row is required when get row identity");if(typeof t=="string"){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let o=e;for(const l of n)o=o[l];return`${o}`}else if(typeof t=="function")return t.call(null,e)},Cl=function(e,t){const n={};return(e||[]).forEach((o,l)=>{n[Ot(o,t)]={row:o,index:l}}),n};function $ue(e,t){const n={};let o;for(o in e)n[o]=e[o];for(o in t)if(st(t,o)){const l=t[o];typeof l!="undefined"&&(n[o]=l)}return n}function Oc(e){return e===""||e!==void 0&&(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function g6(e){return e===""||e!==void 0&&(e=Oc(e),Number.isNaN(e)&&(e=80)),e}function Sue(e){return typeof e=="number"?e:typeof e=="string"?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function kue(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...o)=>t(n(...o)))}function rr(e,t,n){let o=!1;const l=e.indexOf(t),u=l!==-1,a=()=>{e.push(t),o=!0},r=()=>{e.splice(l,1),o=!0};return typeof n=="boolean"?n&&!u?a():!n&&u&&r():u?r():a(),o}function Pue(e,t,n="children",o="hasChildren"){const l=a=>!(Array.isArray(a)&&a.length);function u(a,r,s){t(a,r,s),r.forEach(i=>{if(i[o]){t(i,null,s+1);return}const p=i[n];l(p)||u(i,p,s+1)})}e.forEach(a=>{if(a[o]){t(a,null,0);return}const r=a[n];l(r)||u(a,r,0)})}let yo;function Lue(e,t,n,o,l){const{nextZIndex:u}=Ml(),a=e==null?void 0:e.dataset.prefix,r=e==null?void 0:e.querySelector(`.${a}-scrollbar__wrap`);function s(){const g=l==="light",y=document.createElement("div");return y.className=`${a}-popper ${g?"is-light":"is-dark"}`,n=Aue(n),y.innerHTML=n,y.style.zIndex=String(u()),e==null||e.appendChild(y),y}function i(){const g=document.createElement("div");return g.className=`${a}-popper__arrow`,g}function p(){m&&m.update()}yo==null||yo(),yo=()=>{try{m&&m.destroy(),v&&(e==null||e.removeChild(v)),t.removeEventListener("mouseenter",p),t.removeEventListener("mouseleave",yo),r==null||r.removeEventListener("scroll",yo),yo=void 0}catch{}};let m=null;const v=s(),_=i();return v.appendChild(_),m=F4(t,v,{strategy:"absolute",modifiers:[{name:"offset",options:{offset:[0,8]}},{name:"arrow",options:{element:_,padding:10}}],...o}),t.addEventListener("mouseenter",p),t.addEventListener("mouseleave",yo),r==null||r.addEventListener("scroll",yo),m}const b6=(e,t,n,o)=>{let l=0,u=e;if(o){if(o[e].colSpan>1)return{};for(let s=0;s=r.value.length-n.states.rightFixedLeafColumnsLength.value&&(a="right");break;default:u=r.value.length-n.states.rightFixedLeafColumnsLength.value&&(a="right")}return a?{direction:a,start:l,after:u}:{}},Uc=(e,t,n,o,l)=>{const u=[],{direction:a,start:r}=b6(t,n,o,l);if(a){const s=a==="left";u.push(`${e}-fixed-column--${a}`),s&&r===o.states.fixedLeafColumnsLength.value-1?u.push("is-last-column"):!s&&r===o.states.columns.value.length-o.states.rightFixedLeafColumnsLength.value&&u.push("is-first-column")}return u};function yd(e,t){return e+(t.realWidth===null||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const Wc=(e,t,n,o)=>{const{direction:l,start:u=0}=b6(e,t,n,o);if(!l)return;const a={},r=l==="left",s=n.states.columns.value;return r?a.left=s.slice(0,e).reduce(yd,0):a.right=s.slice(u+1).reverse().reduce(yd,0),a},fu=(e,t)=>{!e||Number.isNaN(e[t])||(e[t]=`${e[t]}px`)};function Tue(e){const t=pt(),n=L(!1),o=L([]);return{updateExpandRows:()=>{const s=e.data.value||[],i=e.rowKey.value;if(n.value)o.value=s.slice();else if(i){const p=Cl(o.value,i);o.value=s.reduce((m,v)=>{const _=Ot(v,i);return p[_]&&m.push(v),m},[])}else o.value=[]},toggleRowExpansion:(s,i)=>{rr(o.value,s,i)&&t.emit("expand-change",s,o.value.slice())},setExpandRowKeys:s=>{t.store.assertRowKey();const i=e.data.value||[],p=e.rowKey.value,m=Cl(i,p);o.value=s.reduce((v,_)=>{const g=m[_];return g&&v.push(g.row),v},[])},isRowExpanded:s=>{const i=e.rowKey.value;return i?!!Cl(o.value,i)[Ot(s,i)]:o.value.includes(s)},states:{expandRows:o,defaultExpandAll:n}}}function zue(e){const t=pt(),n=L(null),o=L(null),l=i=>{t.store.assertRowKey(),n.value=i,a(i)},u=()=>{n.value=null},a=i=>{const{data:p,rowKey:m}=e;let v=null;m.value&&(v=(h(p)||[]).find(_=>Ot(_,m.value)===i)),o.value=v,t.emit("current-change",o.value,null)};return{setCurrentRowKey:l,restoreCurrentRowKey:u,setCurrentRowByKey:a,updateCurrentRow:i=>{const p=o.value;if(i&&i!==p){o.value=i,t.emit("current-change",o.value,p);return}!i&&p&&(o.value=null,t.emit("current-change",null,p))},updateCurrentRowData:()=>{const i=e.rowKey.value,p=e.data.value||[],m=o.value;if(!p.includes(m)&&m){if(i){const v=Ot(m,i);a(v)}else o.value=null;o.value===null&&t.emit("current-change",null,m)}else n.value&&(a(n.value),u())},states:{_currentRowKey:n,currentRow:o}}}function Mue(e){const t=L([]),n=L({}),o=L(16),l=L(!1),u=L({}),a=L("hasChildren"),r=L("children"),s=pt(),i=U(()=>{if(!e.rowKey.value)return{};const E=e.data.value||[];return m(E)}),p=U(()=>{const E=e.rowKey.value,D=Object.keys(u.value),C={};return D.length&&D.forEach(B=>{if(u.value[B].length){const $={children:[]};u.value[B].forEach(k=>{const P=Ot(k,E);$.children.push(P),k[a.value]&&!C[P]&&(C[P]={children:[]})}),C[B]=$}}),C}),m=E=>{const D=e.rowKey.value,C={};return Pue(E,(B,$,k)=>{const P=Ot(B,D);Array.isArray($)?C[P]={children:$.map(T=>Ot(T,D)),level:k}:l.value&&(C[P]={children:[],lazy:!0,level:k})},r.value,a.value),C},v=(E=!1,D=(C=>(C=s.store)==null?void 0:C.states.defaultExpandAll.value)())=>{var C;const B=i.value,$=p.value,k=Object.keys(B),P={};if(k.length){const T=h(n),H=[],j=(W,N)=>{if(E)return t.value?D||t.value.includes(N):!!(D||(W==null?void 0:W.expanded));{const J=D||t.value&&t.value.includes(N);return!!((W==null?void 0:W.expanded)||J)}};k.forEach(W=>{const N=T[W],J={...B[W]};if(J.expanded=j(N,W),J.lazy){const{loaded:be=!1,loading:ve=!1}=N||{};J.loaded=!!be,J.loading=!!ve,H.push(W)}P[W]=J});const X=Object.keys($);l.value&&X.length&&H.length&&X.forEach(W=>{const N=T[W],J=$[W].children;if(H.includes(W)){if(P[W].children.length!==0)throw new Error("[ElTable]children must be an empty array.");P[W].children=J}else{const{loaded:be=!1,loading:ve=!1}=N||{};P[W]={lazy:!0,loaded:!!be,loading:!!ve,expanded:j(N,W),children:J,level:""}}})}n.value=P,(C=s.store)==null||C.updateTableScrollY()};Me(()=>t.value,()=>{v(!0)}),Me(()=>i.value,()=>{v()}),Me(()=>p.value,()=>{v()});const _=E=>{t.value=E,v()},g=(E,D)=>{s.store.assertRowKey();const C=e.rowKey.value,B=Ot(E,C),$=B&&n.value[B];if(B&&$&&"expanded"in $){const k=$.expanded;D=typeof D=="undefined"?!$.expanded:D,n.value[B].expanded=D,k!==D&&s.emit("expand-change",E,D),s.store.updateTableScrollY()}},y=E=>{s.store.assertRowKey();const D=e.rowKey.value,C=Ot(E,D),B=n.value[C];l.value&&B&&"loaded"in B&&!B.loaded?w(E,C,B):g(E,void 0)},w=(E,D,C)=>{const{load:B}=s.props;B&&!n.value[D].loaded&&(n.value[D].loading=!0,B(E,C,$=>{if(!Array.isArray($))throw new TypeError("[ElTable] data must be an array");n.value[D].loading=!1,n.value[D].loaded=!0,n.value[D].expanded=!0,$.length&&(u.value[D]=$),s.emit("expand-change",E,!0)}))};return{loadData:w,loadOrToggle:y,toggleTreeExpansion:g,updateTreeExpandKeys:_,updateTreeData:v,normalize:m,states:{expandRowKeys:t,treeData:n,indent:o,lazy:l,lazyTreeNodeMap:u,lazyColumnIdentifier:a,childrenColumnName:r}}}const Vue=(e,t)=>{const n=t.sortingColumn;return!n||typeof n.sortable=="string"?e:Bue(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},sr=e=>{const t=[];return e.forEach(n=>{n.children?t.push.apply(t,sr(n.children)):t.push(n)}),t};function Iue(){var e;const t=pt(),{size:n}=ho((e=t.proxy)==null?void 0:e.$props),o=L(null),l=L([]),u=L([]),a=L(!1),r=L([]),s=L([]),i=L([]),p=L([]),m=L([]),v=L([]),_=L([]),g=L([]),y=L(0),w=L(0),E=L(0),D=L(!1),C=L([]),B=L(!1),$=L(!1),k=L(null),P=L({}),T=L(null),H=L(null),j=L(null),X=L(null),W=L(null);Me(l,()=>t.state&&be(!1),{deep:!0});const N=()=>{if(!o.value)throw new Error("[ElTable] prop row-key is required")},J=()=>{p.value=r.value.filter(M=>M.fixed===!0||M.fixed==="left"),m.value=r.value.filter(M=>M.fixed==="right"),p.value.length>0&&r.value[0]&&r.value[0].type==="selection"&&!r.value[0].fixed&&(r.value[0].fixed=!0,p.value.unshift(r.value[0]));const we=r.value.filter(M=>!M.fixed);s.value=[].concat(p.value).concat(we).concat(m.value);const Le=sr(we),Qe=sr(p.value),Ze=sr(m.value);y.value=Le.length,w.value=Qe.length,E.value=Ze.length,i.value=[].concat(Qe).concat(Le).concat(Ze),a.value=p.value.length>0||m.value.length>0},be=(we,Le=!1)=>{we&&J(),Le?t.state.doLayout():t.state.debouncedUpdateLayout()},ve=we=>C.value.includes(we),Ee=()=>{D.value=!1,C.value.length&&(C.value=[],t.emit("selection-change",[]))},te=()=>{let we;if(o.value){we=[];const Le=Cl(C.value,o.value),Qe=Cl(l.value,o.value);for(const Ze in Le)st(Le,Ze)&&!Qe[Ze]&&we.push(Le[Ze].row)}else we=C.value.filter(Le=>!l.value.includes(Le));if(we.length){const Le=C.value.filter(Qe=>!we.includes(Qe));C.value=Le,t.emit("selection-change",Le.slice())}},Z=()=>(C.value||[]).slice(),De=(we,Le=void 0,Qe=!0)=>{if(rr(C.value,we,Le)){const M=(C.value||[]).slice();Qe&&t.emit("select",M,we),t.emit("selection-change",M)}},Be=()=>{var we,Le;const Qe=$.value?!D.value:!(D.value||C.value.length);D.value=Qe;let Ze=!1,M=0;const S=(Le=(we=t==null?void 0:t.store)==null?void 0:we.states)==null?void 0:Le.rowKey.value;l.value.forEach((_e,G)=>{const ie=G+M;k.value?k.value.call(null,_e,ie)&&rr(C.value,_e,Qe)&&(Ze=!0):rr(C.value,_e,Qe)&&(Ze=!0),M+=ye(Ot(_e,S))}),Ze&&t.emit("selection-change",C.value?C.value.slice():[]),t.emit("select-all",C.value)},x=()=>{const we=Cl(C.value,o.value);l.value.forEach(Le=>{const Qe=Ot(Le,o.value),Ze=we[Qe];Ze&&(C.value[Ze.index]=Le)})},O=()=>{var we,Le,Qe;if(((we=l.value)==null?void 0:we.length)===0){D.value=!1;return}let Ze;o.value&&(Ze=Cl(C.value,o.value));const M=function(ie){return Ze?!!Ze[Ot(ie,o.value)]:C.value.includes(ie)};let S=!0,_e=0,G=0;for(let ie=0,$e=(l.value||[]).length;ie<$e;ie++){const St=(Qe=(Le=t==null?void 0:t.store)==null?void 0:Le.states)==null?void 0:Qe.rowKey.value,Xt=ie+G,Ce=l.value[ie],Jt=k.value&&k.value.call(null,Ce,Xt);if(M(Ce))_e++;else if(!k.value||Jt){S=!1;break}G+=ye(Ot(Ce,St))}_e===0&&(S=!1),D.value=S},ye=we=>{var Le;if(!t||!t.store)return 0;const{treeData:Qe}=t.store.states;let Ze=0;const M=(Le=Qe.value[we])==null?void 0:Le.children;return M&&(Ze+=M.length,M.forEach(S=>{Ze+=ye(S)})),Ze},xe=(we,Le)=>{Array.isArray(we)||(we=[we]);const Qe={};return we.forEach(Ze=>{P.value[Ze.id]=Le,Qe[Ze.columnKey||Ze.id]=Le}),Qe},Pe=(we,Le,Qe)=>{H.value&&H.value!==we&&(H.value.order=null),H.value=we,j.value=Le,X.value=Qe},he=()=>{let we=h(u);Object.keys(P.value).forEach(Le=>{const Qe=P.value[Le];if(!Qe||Qe.length===0)return;const Ze=m6({columns:i.value},Le);Ze&&Ze.filterMethod&&(we=we.filter(M=>Qe.some(S=>Ze.filterMethod.call(null,S,M,Ze))))}),T.value=we},Te=()=>{l.value=Vue(T.value,{sortingColumn:H.value,sortProp:j.value,sortOrder:X.value})},je=(we=void 0)=>{we&&we.filter||he(),Te()},de=we=>{const{tableHeaderRef:Le}=t.refs;if(!Le)return;const Qe=Object.assign({},Le.filterPanels),Ze=Object.keys(Qe);if(!!Ze.length)if(typeof we=="string"&&(we=[we]),Array.isArray(we)){const M=we.map(S=>xue({columns:i.value},S));Ze.forEach(S=>{const _e=M.find(G=>G.id===S);_e&&(_e.filteredValue=[])}),t.store.commit("filterChange",{column:M,values:[],silent:!0,multi:!0})}else Ze.forEach(M=>{const S=i.value.find(_e=>_e.id===M);S&&(S.filteredValue=[])}),P.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},se=()=>{!H.value||(Pe(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:z,toggleRowExpansion:q,updateExpandRows:R,states:I,isRowExpanded:Y}=Tue({data:l,rowKey:o}),{updateTreeExpandKeys:pe,toggleTreeExpansion:Fe,updateTreeData:ce,loadOrToggle:Ae,states:ue}=Mue({data:l,rowKey:o}),{updateCurrentRowData:me,updateCurrentRow:Ie,setCurrentRowKey:ee,states:Se}=zue({data:l,rowKey:o});return{assertRowKey:N,updateColumns:J,scheduleLayout:be,isSelected:ve,clearSelection:Ee,cleanSelection:te,getSelectionRows:Z,toggleRowSelection:De,_toggleAllSelection:Be,toggleAllSelection:null,updateSelectionByRowKey:x,updateAllSelected:O,updateFilters:xe,updateCurrentRow:Ie,updateSort:Pe,execFilter:he,execSort:Te,execQuery:je,clearFilter:de,clearSort:se,toggleRowExpansion:q,setExpandRowKeysAdapter:we=>{z(we),pe(we)},setCurrentRowKey:ee,toggleRowExpansionAdapter:(we,Le)=>{i.value.some(({type:Ze})=>Ze==="expand")?q(we,Le):Fe(we,Le)},isRowExpanded:Y,updateExpandRows:R,updateCurrentRowData:me,loadOrToggle:Ae,updateTreeData:ce,states:{tableSize:n,rowKey:o,data:l,_data:u,isComplex:a,_columns:r,originColumns:s,columns:i,fixedColumns:p,rightFixedColumns:m,leafColumns:v,fixedLeafColumns:_,rightFixedLeafColumns:g,leafColumnsLength:y,fixedLeafColumnsLength:w,rightFixedLeafColumnsLength:E,isAllSelected:D,selection:C,reserveSelection:B,selectOnIndeterminate:$,selectable:k,filters:P,filteredData:T,sortingColumn:H,sortProp:j,sortOrder:X,hoverRow:W,...I,...ue,...Se}}}function wi(e,t){return e.map(n=>{var o;return n.id===t.id?t:((o=n.children)!=null&&o.length&&(n.children=wi(n.children,t)),n)})}function y6(e){e.forEach(t=>{var n,o;t.no=(n=t.getColumnIndex)==null?void 0:n.call(t),(o=t.children)!=null&&o.length&&y6(t.children)}),e.sort((t,n)=>t.no-n.no)}function Hue(){const e=pt(),t=Iue();return{ns:Ve("table"),...t,mutations:{setData(a,r){const s=h(a._data)!==r;a.data.value=r,a._data.value=r,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),h(a.reserveSelection)?(e.store.assertRowKey(),e.store.updateSelectionByRowKey()):s?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(a,r,s){const i=h(a._columns);let p=[];s?(s&&!s.children&&(s.children=[]),s.children.push(r),p=wi(i,s)):(i.push(r),p=i),y6(p),a._columns.value=p,r.type==="selection"&&(a.selectable.value=r.selectable,a.reserveSelection.value=r.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},removeColumn(a,r,s){const i=h(a._columns)||[];if(s)s.children.splice(s.children.findIndex(p=>p.id===r.id),1),s.children.length===0&&delete s.children,a._columns.value=wi(i,s);else{const p=i.indexOf(r);p>-1&&(i.splice(p,1),a._columns.value=i)}e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(a,r){const{prop:s,order:i,init:p}=r;if(s){const m=h(a.columns).find(v=>v.property===s);m&&(m.order=i,e.store.updateSort(m,s,i),e.store.commit("changeSortCondition",{init:p}))}},changeSortCondition(a,r){const{sortingColumn:s,sortProp:i,sortOrder:p}=a,m=h(s),v=h(i),_=h(p);_===null&&(a.sortingColumn.value=null,a.sortProp.value=null);const g={filter:!0};e.store.execQuery(g),(!r||!(r.silent||r.init))&&e.emit("sort-change",{column:m,prop:v,order:_}),e.store.updateTableScrollY()},filterChange(a,r){const{column:s,values:i,silent:p}=r,m=e.store.updateFilters(s,i);e.store.execQuery(),p||e.emit("filter-change",m),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection()},rowSelectedChanged(a,r){e.store.toggleRowSelection(r),e.store.updateAllSelected()},setHoverRow(a,r){a.hoverRow.value=r},setCurrentRow(a,r){e.store.updateCurrentRow(r)}},commit:function(a,...r){const s=e.store.mutations;if(s[a])s[a].apply(e,[e.store.states].concat(r));else throw new Error(`Action not found: ${a}`)},updateTableScrollY:function(){at(()=>e.layout.updateScrollY.apply(e.layout))}}}const qu={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data",["treeProps.hasChildren"]:{key:"lazyColumnIdentifier",default:"hasChildren"},["treeProps.children"]:{key:"childrenColumnName",default:"children"}};function Rue(e,t){if(!e)throw new Error("Table is required.");const n=Hue();return n.toggleAllSelection=lu(n._toggleAllSelection,10),Object.keys(qu).forEach(o=>{w6(C6(t,o),o,n)}),Nue(n,t),n}function Nue(e,t){Object.keys(qu).forEach(n=>{Me(()=>C6(t,n),o=>{w6(o,n,e)})})}function w6(e,t,n){let o=e,l=qu[t];typeof qu[t]=="object"&&(l=l.key,o=o||qu[t].default),n.states[l].value=o}function C6(e,t){if(t.includes(".")){const n=t.split(".");let o=e;return n.forEach(l=>{o=o[l]}),o}else return e[t]}class Oue{constructor(t){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=L(null),this.scrollX=L(!1),this.scrollY=L(!1),this.bodyWidth=L(null),this.fixedWidth=L(null),this.rightFixedWidth=L(null),this.gutterWidth=0;for(const n in t)st(t,n)&&(yt(this[n])?this[n].value=t[n]:this[n]=t[n]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){if(this.height.value===null)return!1;const n=this.table.refs.scrollBarRef;if(this.table.vnode.el&&n){let o=!0;const l=this.scrollY.value;return o=n.wrap$.scrollHeight>n.wrap$.clientHeight,this.scrollY.value=o,l!==o}return!1}setHeight(t,n="height"){if(!_t)return;const o=this.table.vnode.el;if(t=Sue(t),this.height.value=Number(t),!o&&(t||t===0))return at(()=>this.setHeight(t,n));typeof t=="number"?(o.style[n]=`${t}px`,this.updateElsHeight()):typeof t=="string"&&(o.style[n]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(o=>{o.isColumnGroup?t.push.apply(t,o.columns):t.push(o)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let n=t;for(;n.tagName!=="DIV";){if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}updateColumnsWidth(){if(!_t)return;const t=this.fit,n=this.table.vnode.el.clientWidth;let o=0;const l=this.getFlattenColumns(),u=l.filter(s=>typeof s.width!="number");if(l.forEach(s=>{typeof s.width=="number"&&s.realWidth&&(s.realWidth=null)}),u.length>0&&t){if(l.forEach(s=>{o+=Number(s.width||s.minWidth||80)}),o<=n){this.scrollX.value=!1;const s=n-o;if(u.length===1)u[0].realWidth=Number(u[0].minWidth||80)+s;else{const i=u.reduce((v,_)=>v+Number(_.minWidth||80),0),p=s/i;let m=0;u.forEach((v,_)=>{if(_===0)return;const g=Math.floor(Number(v.minWidth||80)*p);m+=g,v.realWidth=Number(v.minWidth||80)+g}),u[0].realWidth=Number(u[0].minWidth||80)+s-m}}else this.scrollX.value=!0,u.forEach(s=>{s.realWidth=Number(s.minWidth)});this.bodyWidth.value=Math.max(o,n),this.table.state.resizeState.value.width=this.bodyWidth.value}else l.forEach(s=>{!s.width&&!s.minWidth?s.realWidth=80:s.realWidth=Number(s.width||s.minWidth),o+=s.realWidth}),this.scrollX.value=o>n,this.bodyWidth.value=o;const a=this.store.states.fixedColumns.value;if(a.length>0){let s=0;a.forEach(i=>{s+=Number(i.realWidth||i.width)}),this.fixedWidth.value=s}const r=this.store.states.rightFixedColumns.value;if(r.length>0){let s=0;r.forEach(i=>{s+=Number(i.realWidth||i.width)}),this.rightFixedWidth.value=s}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&this.observers.splice(n,1)}notifyObservers(t){this.observers.forEach(o=>{var l,u;switch(t){case"columns":(l=o.state)==null||l.onColumnsChange(this);break;case"scrollable":(u=o.state)==null||u.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}const{CheckboxGroup:Uue}=Po,Wue=le({name:"ElTableFilterPanel",components:{ElCheckbox:Po,ElCheckboxGroup:Uue,ElScrollbar:Yt,ElTooltip:pn,ElIcon:rt,ArrowDown:pa,ArrowUp:pc},directives:{ClickOutside:P4},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function}},setup(e){const t=pt(),{t:n}=Dn(),o=Ve("table-filter"),l=t==null?void 0:t.parent;l.filterPanels.value[e.column.id]||(l.filterPanels.value[e.column.id]=t);const u=L(!1),a=L(null),r=U(()=>e.column&&e.column.filters),s=U({get:()=>{var B;return(((B=e.column)==null?void 0:B.filteredValue)||[])[0]},set:B=>{i.value&&(typeof B!="undefined"&&B!==null?i.value.splice(0,1,B):i.value.splice(0,1))}}),i=U({get(){return e.column?e.column.filteredValue||[]:[]},set(B){e.column&&e.upDataColumn("filteredValue",B)}}),p=U(()=>e.column?e.column.filterMultiple:!0),m=B=>B.value===s.value,v=()=>{u.value=!1},_=B=>{B.stopPropagation(),u.value=!u.value},g=()=>{u.value=!1},y=()=>{D(i.value),v()},w=()=>{i.value=[],D(i.value),v()},E=B=>{s.value=B,D(typeof B!="undefined"&&B!==null?i.value:[]),v()},D=B=>{e.store.commit("filterChange",{column:e.column,values:B}),e.store.updateAllSelected()};Me(u,B=>{e.column&&e.upDataColumn("filterOpened",B)},{immediate:!0});const C=U(()=>{var B,$;return($=(B=a.value)==null?void 0:B.popperRef)==null?void 0:$.contentRef});return{tooltipVisible:u,multiple:p,filteredValue:i,filterValue:s,filters:r,handleConfirm:y,handleReset:w,handleSelect:E,isActive:m,t:n,ns:o,showFilterPanel:_,hideFilterPanel:g,popperPaneRef:C,tooltip:a}}}),que={key:0},jue=["disabled"],Kue=["label","onClick"];function Gue(e,t,n,o,l,u){const a=lt("el-checkbox"),r=lt("el-checkbox-group"),s=lt("el-scrollbar"),i=lt("arrow-up"),p=lt("arrow-down"),m=lt("el-icon"),v=lt("el-tooltip"),_=ji("click-outside");return b(),ae(v,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.ns.b(),persistent:""},{content:d(()=>[e.multiple?(b(),F("div",que,[f("div",{class:K(e.ns.e("content"))},[c(s,{"wrap-class":e.ns.e("wrap")},{default:d(()=>[c(r,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=g=>e.filteredValue=g),class:K(e.ns.e("checkbox-group"))},{default:d(()=>[(b(!0),F(Oe,null,it(e.filters,g=>(b(),ae(a,{key:g.value,label:g.value},{default:d(()=>[A(re(g.text),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),f("div",{class:K(e.ns.e("bottom"))},[f("button",{class:K({[e.ns.is("disabled")]:e.filteredValue.length===0}),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...g)=>e.handleConfirm&&e.handleConfirm(...g))},re(e.t("el.table.confirmFilter")),11,jue),f("button",{type:"button",onClick:t[2]||(t[2]=(...g)=>e.handleReset&&e.handleReset(...g))},re(e.t("el.table.resetFilter")),1)],2)])):(b(),F("ul",{key:1,class:K(e.ns.e("list"))},[f("li",{class:K([e.ns.e("list-item"),{[e.ns.is("active")]:e.filterValue===void 0||e.filterValue===null}]),onClick:t[3]||(t[3]=g=>e.handleSelect(null))},re(e.t("el.table.clearFilter")),3),(b(!0),F(Oe,null,it(e.filters,g=>(b(),F("li",{key:g.value,class:K([e.ns.e("list-item"),e.ns.is("active",e.isActive(g))]),label:g.value,onClick:y=>e.handleSelect(g.value)},re(g.text),11,Kue))),128))],2))]),default:d(()=>[fe((b(),F("span",{class:K([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:t[4]||(t[4]=(...g)=>e.showFilterPanel&&e.showFilterPanel(...g))},[c(m,null,{default:d(()=>[e.column.filterOpened?(b(),ae(i,{key:0})):(b(),ae(p,{key:1}))]),_:1})],2)),[[_,e.hideFilterPanel,e.popperPaneRef]])]),_:1},8,["visible","placement","popper-class"])}var Yue=We(Wue,[["render",Gue],["__file","/home/runner/work/element-plus/element-plus/packages/components/table/src/filter-panel.vue"]]);function E6(e){const t=pt();Hr(()=>{n.value.addObserver(t)}),ot(()=>{o(n.value),l(n.value)}),Ll(()=>{o(n.value),l(n.value)}),In(()=>{n.value.removeObserver(t)});const n=U(()=>{const u=e.layout;if(!u)throw new Error("Can not find table layout.");return u}),o=u=>{var a;const r=((a=e.vnode.el)==null?void 0:a.querySelectorAll("colgroup > col"))||[];if(!r.length)return;const s=u.getFlattenColumns(),i={};s.forEach(p=>{i[p.id]=p});for(let p=0,m=r.length;p{var a,r;const s=((a=e.vnode.el)==null?void 0:a.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let p=0,m=s.length;p{y.stopPropagation()},u=(y,w)=>{!w.filters&&w.sortable?g(y,w,!1):w.filterable&&!w.sortable&&l(y),o==null||o.emit("header-click",w,y)},a=(y,w)=>{o==null||o.emit("header-contextmenu",w,y)},r=L(null),s=L(!1),i=L({}),p=(y,w)=>{if(!!_t&&!(w.children&&w.children.length>0)&&r.value&&e.border){s.value=!0;const E=o;t("set-drag-visible",!0);const C=(E==null?void 0:E.vnode.el).getBoundingClientRect().left,B=n.vnode.el.querySelector(`th.${w.id}`),$=B.getBoundingClientRect(),k=$.left-C+30;Fo(B,"noclick"),i.value={startMouseLeft:y.clientX,startLeft:$.right-C,startColumnLeft:$.left-C,tableLeft:C};const P=E==null?void 0:E.refs.resizeProxy;P.style.left=`${i.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const T=j=>{const X=j.clientX-i.value.startMouseLeft,W=i.value.startLeft+X;P.style.left=`${Math.max(k,W)}px`},H=()=>{if(s.value){const{startColumnLeft:j,startLeft:X}=i.value,N=Number.parseInt(P.style.left,10)-j;w.width=w.realWidth=N,E==null||E.emit("header-dragend",w.width,X-j,w,y),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",s.value=!1,r.value=null,i.value={},t("set-drag-visible",!1)}document.removeEventListener("mousemove",T),document.removeEventListener("mouseup",H),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{Gn(B,"noclick")},0)};document.addEventListener("mousemove",T),document.addEventListener("mouseup",H)}},m=(y,w)=>{var E;if(w.children&&w.children.length>0)return;const D=(E=y.target)==null?void 0:E.closest("th");if(!(!w||!w.resizable)&&!s.value&&e.border){const C=D.getBoundingClientRect(),B=document.body.style;C.width>12&&C.right-y.pageX<8?(B.cursor="col-resize",Al(D,"is-sortable")&&(D.style.cursor="col-resize"),r.value=w):s.value||(B.cursor="",Al(D,"is-sortable")&&(D.style.cursor="pointer"),r.value=null)}},v=()=>{!_t||(document.body.style.cursor="")},_=({order:y,sortOrders:w})=>{if(y==="")return w[0];const E=w.indexOf(y||null);return w[E>w.length-2?0:E+1]},g=(y,w,E)=>{var D;y.stopPropagation();const C=w.order===E?null:E||_(w),B=(D=y.target)==null?void 0:D.closest("th");if(B&&Al(B,"noclick")){Gn(B,"noclick");return}if(!w.sortable)return;const $=e.store.states;let k=$.sortProp.value,P;const T=$.sortingColumn.value;(T!==w||T===w&&T.order===null)&&(T&&(T.order=null),$.sortingColumn.value=w,k=w.property),C?P=w.order=C:P=w.order=null,$.sortProp.value=k,$.sortOrder.value=P,o==null||o.store.commit("changeSortCondition")};return{handleHeaderClick:u,handleHeaderContextMenu:a,handleMouseDown:p,handleMouseMove:m,handleMouseOut:v,handleSortClick:g,handleFilterClick:l}}function Jue(e){const t=Xe(_o),n=Ve("table");return{getHeaderRowStyle:r=>{const s=t==null?void 0:t.props.headerRowStyle;return typeof s=="function"?s.call(null,{rowIndex:r}):s},getHeaderRowClass:r=>{const s=[],i=t==null?void 0:t.props.headerRowClassName;return typeof i=="string"?s.push(i):typeof i=="function"&&s.push(i.call(null,{rowIndex:r})),s.join(" ")},getHeaderCellStyle:(r,s,i,p)=>{var m;let v=(m=t==null?void 0:t.props.headerCellStyle)!=null?m:{};typeof v=="function"&&(v=v.call(null,{rowIndex:r,columnIndex:s,row:i,column:p}));const _=p.isSubColumn?null:Wc(s,p.fixed,e.store,i);return fu(_,"left"),fu(_,"right"),Object.assign({},v,_)},getHeaderCellClass:(r,s,i,p)=>{const m=p.isSubColumn?[]:Uc(n.b(),s,p.fixed,e.store,i),v=[p.id,p.order,p.headerAlign,p.className,p.labelClassName,...m];p.children||v.push("is-leaf"),p.sortable&&v.push("is-sortable");const _=t==null?void 0:t.props.headerCellClassName;return typeof _=="string"?v.push(_):typeof _=="function"&&v.push(_.call(null,{rowIndex:r,columnIndex:s,row:i,column:p})),v.push(n.e("cell")),v.filter(g=>Boolean(g)).join(" ")}}}const F6=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,F6(n.children))):t.push(n)}),t},Que=e=>{let t=1;const n=(u,a)=>{if(a&&(u.level=a.level+1,t{n(s,u),r+=s.colSpan}),u.colSpan=r}else u.colSpan=1};e.forEach(u=>{u.level=1,n(u,void 0)});const o=[];for(let u=0;u{u.children?(u.rowSpan=1,u.children.forEach(a=>a.isSubColumn=!0)):u.rowSpan=t-u.level+1,o[u.level-1].push(u)}),o};function Zue(e){const t=Xe(_o),n=U(()=>Que(e.store.states.originColumns.value));return{isGroup:U(()=>{const u=n.value.length>1;return u&&t&&(t.state.isGroup.value=!0),u}),toggleAllSelection:u=>{u.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:n}}var eae=le({name:"ElTableHeader",components:{ElCheckbox:Po},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e,{emit:t}){const n=pt(),o=Xe(_o),l=Ve("table"),u=L({}),{onColumnsChange:a,onScrollableChange:r}=E6(o);ot(async()=>{await at(),await at();const{prop:k,order:P}=e.defaultSort;o==null||o.store.commit("sort",{prop:k,order:P,init:!0})});const{handleHeaderClick:s,handleHeaderContextMenu:i,handleMouseDown:p,handleMouseMove:m,handleMouseOut:v,handleSortClick:_,handleFilterClick:g}=Xue(e,t),{getHeaderRowStyle:y,getHeaderRowClass:w,getHeaderCellStyle:E,getHeaderCellClass:D}=Jue(e),{isGroup:C,toggleAllSelection:B,columnRows:$}=Zue(e);return n.state={onColumnsChange:a,onScrollableChange:r},n.filterPanels=u,{ns:l,filterPanels:u,onColumnsChange:a,onScrollableChange:r,columnRows:$,getHeaderRowClass:w,getHeaderRowStyle:y,getHeaderCellClass:D,getHeaderCellStyle:E,handleHeaderClick:s,handleHeaderContextMenu:i,handleMouseDown:p,handleMouseMove:m,handleMouseOut:v,handleSortClick:_,handleFilterClick:g,isGroup:C,toggleAllSelection:B}},render(){const{ns:e,isGroup:t,columnRows:n,getHeaderCellStyle:o,getHeaderCellClass:l,getHeaderRowClass:u,getHeaderRowStyle:a,handleHeaderClick:r,handleHeaderContextMenu:s,handleMouseDown:i,handleMouseMove:p,handleSortClick:m,handleMouseOut:v,store:_,$parent:g}=this;let y=1;return Re("thead",{class:{[e.is("group")]:t}},n.map((w,E)=>Re("tr",{class:u(E),key:E,style:a(E)},w.map((D,C)=>(D.rowSpan>y&&(y=D.rowSpan),Re("th",{class:l(E,C,w,D),colspan:D.colSpan,key:`${D.id}-thead`,rowspan:D.rowSpan,style:o(E,C,w,D),onClick:B=>r(B,D),onContextmenu:B=>s(B,D),onMousedown:B=>i(B,D),onMousemove:B=>p(B,D),onMouseout:v},[Re("div",{class:["cell",D.filteredValue&&D.filteredValue.length>0?"highlight":""]},[D.renderHeader?D.renderHeader({column:D,$index:C,store:_,_self:g}):D.label,D.sortable&&Re("span",{onClick:B=>m(B,D),class:"caret-wrapper"},[Re("i",{onClick:B=>m(B,D,"ascending"),class:"sort-caret ascending"}),Re("i",{onClick:B=>m(B,D,"descending"),class:"sort-caret descending"})]),D.filterable&&Re(Yue,{store:_,placement:D.filterPlacement||"bottom-start",column:D,upDataColumn:(B,$)=>{D[B]=$}})])]))))))}});function tae(e){const t=Xe(_o),n=L(""),o=L(Re("div")),l=(v,_,g)=>{var y;const w=t,E=xs(v);let D;const C=(y=w==null?void 0:w.vnode.el)==null?void 0:y.dataset.prefix;E&&(D=bd({columns:e.store.states.columns.value},E,C),D&&(w==null||w.emit(`cell-${g}`,_,D,E,v))),w==null||w.emit(`row-${g}`,_,D,v)},u=(v,_)=>{l(v,_,"dblclick")},a=(v,_)=>{e.store.commit("setCurrentRow",_),l(v,_,"click")},r=(v,_)=>{l(v,_,"contextmenu")},s=lu(v=>{e.store.commit("setHoverRow",v)},30),i=lu(()=>{e.store.commit("setHoverRow",null)},30);return{handleDoubleClick:u,handleClick:a,handleContextMenu:r,handleMouseEnter:s,handleMouseLeave:i,handleCellMouseEnter:(v,_,g)=>{var y;const w=t,E=xs(v),D=(y=w==null?void 0:w.vnode.el)==null?void 0:y.dataset.prefix;if(E){const P=bd({columns:e.store.states.columns.value},E,D),T=w.hoverState={cell:E,column:P,row:_};w==null||w.emit("cell-mouse-enter",T.row,T.column,T.cell,v)}const C=v.target.querySelector(".cell");if(!(Al(C,`${D}-tooltip`)&&C.childNodes.length))return;const B=document.createRange();B.setStart(C,0),B.setEnd(C,C.childNodes.length);const $=B.getBoundingClientRect().width,k=(Number.parseInt(Eo(C,"paddingLeft"),10)||0)+(Number.parseInt(Eo(C,"paddingRight"),10)||0);($+k>C.offsetWidth||C.scrollWidth>C.offsetWidth)&&Lue(t==null?void 0:t.refs.tableWrapper,E,E.innerText||E.textContent,{placement:"top",strategy:"fixed"},g)},handleCellMouseLeave:v=>{if(!xs(v))return;const g=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",g==null?void 0:g.row,g==null?void 0:g.column,g==null?void 0:g.cell,v)},tooltipContent:n,tooltipTrigger:o}}function nae(e){const t=Xe(_o),n=Ve("table");return{getRowStyle:(i,p)=>{const m=t==null?void 0:t.props.rowStyle;return typeof m=="function"?m.call(null,{row:i,rowIndex:p}):m||null},getRowClass:(i,p)=>{const m=[n.e("row")];(t==null?void 0:t.props.highlightCurrentRow)&&i===e.store.states.currentRow.value&&m.push("current-row"),e.stripe&&p%2===1&&m.push(n.em("row","striped"));const v=t==null?void 0:t.props.rowClassName;return typeof v=="string"?m.push(v):typeof v=="function"&&m.push(v.call(null,{row:i,rowIndex:p})),m},getCellStyle:(i,p,m,v)=>{const _=t==null?void 0:t.props.cellStyle;let g=_!=null?_:{};typeof _=="function"&&(g=_.call(null,{rowIndex:i,columnIndex:p,row:m,column:v}));const y=v.isSubColumn?null:Wc(p,e==null?void 0:e.fixed,e.store);return fu(y,"left"),fu(y,"right"),Object.assign({},g,y)},getCellClass:(i,p,m,v)=>{const _=v.isSubColumn?[]:Uc(n.b(),p,e==null?void 0:e.fixed,e.store),g=[v.id,v.align,v.className,..._],y=t==null?void 0:t.props.cellClassName;return typeof y=="string"?g.push(y):typeof y=="function"&&g.push(y.call(null,{rowIndex:i,columnIndex:p,row:m,column:v})),g.push(n.e("cell")),g.filter(w=>Boolean(w)).join(" ")},getSpan:(i,p,m,v)=>{let _=1,g=1;const y=t==null?void 0:t.props.spanMethod;if(typeof y=="function"){const w=y({row:i,column:p,rowIndex:m,columnIndex:v});Array.isArray(w)?(_=w[0],g=w[1]):typeof w=="object"&&(_=w.rowspan,g=w.colspan)}return{rowspan:_,colspan:g}},getColspanRealWidth:(i,p,m)=>{if(p<1)return i[m].realWidth;const v=i.map(({realWidth:_,width:g})=>_||g).slice(m,m+p);return Number(v.reduce((_,g)=>Number(_)+Number(g),-1))}}}function oae(e){const t=Xe(_o),n=Ve("table"),{handleDoubleClick:o,handleClick:l,handleContextMenu:u,handleMouseEnter:a,handleMouseLeave:r,handleCellMouseEnter:s,handleCellMouseLeave:i,tooltipContent:p,tooltipTrigger:m}=tae(e),{getRowStyle:v,getRowClass:_,getCellStyle:g,getCellClass:y,getSpan:w,getColspanRealWidth:E}=nae(e),D=U(()=>e.store.states.columns.value.findIndex(({type:P})=>P==="default")),C=(P,T)=>{const H=t.props.rowKey;return H?Ot(P,H):T},B=(P,T,H,j=!1)=>{const{tooltipEffect:X,store:W}=e,{indent:N,columns:J}=W.states,be=_(P,T);let ve=!0;return H&&(be.push(n.em("row",`level-${H.level}`)),ve=H.display),Re("tr",{style:[ve?null:{display:"none"},v(P,T)],class:be,key:C(P,T),onDblclick:te=>o(te,P),onClick:te=>l(te,P),onContextmenu:te=>u(te,P),onMouseenter:()=>a(T),onMouseleave:r},J.value.map((te,Z)=>{const{rowspan:De,colspan:Be}=w(P,te,T,Z);if(!De||!Be)return null;const x={...te};x.realWidth=E(J.value,Be,Z);const O={store:e.store,_self:e.context||t,column:x,row:P,$index:T,cellIndex:Z,expanded:j};Z===D.value&&H&&(O.treeNode={indent:H.level*N.value,level:H.level},typeof H.expanded=="boolean"&&(O.treeNode.expanded=H.expanded,"loading"in H&&(O.treeNode.loading=H.loading),"noLazyChildren"in H&&(O.treeNode.noLazyChildren=H.noLazyChildren)));const ye=`${T},${Z}`,xe=x.columnKey||x.rawColumnKey||"",Pe=$(Z,te,O);return Re("td",{style:g(T,Z,P,te),class:y(T,Z,P,te),key:`${xe}${ye}`,rowspan:De,colspan:Be,onMouseenter:he=>s(he,P,X),onMouseleave:i},[Pe])}))},$=(P,T,H)=>T.renderCell(H);return{wrappedRowRender:(P,T)=>{const H=e.store,{isRowExpanded:j,assertRowKey:X}=H,{treeData:W,lazyTreeNodeMap:N,childrenColumnName:J,rowKey:be}=H.states,ve=H.states.columns.value;if(ve.some(({type:te})=>te==="expand")){const te=j(P),Z=B(P,T,void 0,te),De=t.renderExpanded;return te?De?[[Z,Re("tr",{key:`expanded-row__${Z.key}`},[Re("td",{colspan:ve.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[De({row:P,$index:T,store:H,expanded:te})])])]]:(console.error("[Element Error]renderExpanded is required."),Z):[[Z]]}else if(Object.keys(W.value).length){X();const te=Ot(P,be.value);let Z=W.value[te],De=null;Z&&(De={expanded:Z.expanded,level:Z.level,display:!0},typeof Z.lazy=="boolean"&&(typeof Z.loaded=="boolean"&&Z.loaded&&(De.noLazyChildren=!(Z.children&&Z.children.length)),De.loading=Z.loading));const Be=[B(P,T,De)];if(Z){let x=0;const O=(xe,Pe)=>{!(xe&&xe.length&&Pe)||xe.forEach(he=>{const Te={display:Pe.display&&Pe.expanded,level:Pe.level+1,expanded:!1,noLazyChildren:!1,loading:!1},je=Ot(he,be.value);if(je==null)throw new Error("For nested data item, row-key is required.");if(Z={...W.value[je]},Z&&(Te.expanded=Z.expanded,Z.level=Z.level||Te.level,Z.display=!!(Z.expanded&&Te.display),typeof Z.lazy=="boolean"&&(typeof Z.loaded=="boolean"&&Z.loaded&&(Te.noLazyChildren=!(Z.children&&Z.children.length)),Te.loading=Z.loading)),x++,Be.push(B(he,T+x,Te)),Z){const de=N.value[je]||he[J.value];O(de,Z)}})};Z.display=!0;const ye=N.value[te]||P[J.value];O(ye,Z)}return Be}else return B(P,T,void 0)},tooltipContent:p,tooltipTrigger:m}}const lae={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var uae=le({name:"ElTableBody",props:lae,setup(e){const t=pt(),n=Xe(_o),o=Ve("table"),{wrappedRowRender:l,tooltipContent:u,tooltipTrigger:a}=oae(e),{onColumnsChange:r,onScrollableChange:s}=E6(n);return Me(e.store.states.hoverRow,(i,p)=>{if(!e.store.states.isComplex.value||!_t)return;let m=window.requestAnimationFrame;m||(m=v=>window.setTimeout(v,16)),m(()=>{const v=t==null?void 0:t.vnode.el,_=Array.from((v==null?void 0:v.children)||[]).filter(w=>w==null?void 0:w.classList.contains(`${o.e("row")}`)),g=_[p],y=_[i];g&&Gn(g,"hover-row"),y&&Fo(y,"hover-row")})}),In(()=>{var i;(i=yo)==null||i()}),{ns:o,onColumnsChange:r,onScrollableChange:s,wrappedRowRender:l,tooltipContent:u,tooltipTrigger:a}},render(){const{wrappedRowRender:e,store:t}=this,n=t.states.data.value||[];return Re("tbody",{},[n.reduce((o,l)=>o.concat(e(l,o.length)),[])])}});function qc(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(l=>l.width===void 0)&&(n=[]);const o=l=>{const u={key:`${e.tableLayout}_${l.id}`,style:{},name:void 0};return t?u.style={width:`${l.width}px`}:u.name=l.id,u};return Re("colgroup",{},n.map(l=>Re("col",o(l))))}qc.props=["columns","tableLayout"];function aae(){const e=Xe(_o),t=e==null?void 0:e.store,n=U(()=>t.states.fixedLeafColumnsLength.value),o=U(()=>t.states.rightFixedColumns.value.length),l=U(()=>t.states.columns.value.length),u=U(()=>t.states.fixedColumns.value.length),a=U(()=>t.states.rightFixedColumns.value.length);return{leftFixedLeafCount:n,rightFixedLeafCount:o,columnsCount:l,leftFixedCount:u,rightFixedCount:a,columns:t.states.columns}}function rae(e){const{columns:t}=aae(),n=Ve("table");return{getCellClasses:(u,a)=>{const r=u[a],s=[n.e("cell"),r.id,r.align,r.labelClassName,...Uc(n.b(),a,r.fixed,e.store)];return r.className&&s.push(r.className),r.children||s.push(n.is("leaf")),s},getCellStyles:(u,a)=>{const r=Wc(a,u.fixed,e.store);return fu(r,"left"),fu(r,"right"),r},columns:t}}var sae=le({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const{getCellClasses:t,getCellStyles:n,columns:o}=rae(e);return{ns:Ve("table"),getCellClasses:t,getCellStyles:n,columns:o}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:o,sumText:l,ns:u}=this,a=this.store.states.data.value;let r=[];return o?r=o({columns:e,data:a}):e.forEach((s,i)=>{if(i===0){r[i]=l;return}const p=a.map(g=>Number(g[s.property])),m=[];let v=!0;p.forEach(g=>{if(!Number.isNaN(+g)){v=!1;const y=`${g}`.split(".")[1];m.push(y?y.length:0)}});const _=Math.max.apply(null,m);v?r[i]="":r[i]=p.reduce((g,y)=>{const w=Number(y);return Number.isNaN(+w)?g:Number.parseFloat((g+y).toFixed(Math.min(_,20)))},0)}),Re("table",{class:u.e("footer"),cellspacing:"0",cellpadding:"0",border:"0"},[qc({columns:e}),Re("tbody",[Re("tr",{},[...e.map((s,i)=>Re("td",{key:i,colspan:s.colSpan,rowspan:s.rowSpan,class:n(e,i),style:t(s,i)},[Re("div",{class:["cell",s.labelClassName]},[r[i]])]))])])])}});function iae(e){return{setCurrentRow:p=>{e.commit("setCurrentRow",p)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(p,m)=>{e.toggleRowSelection(p,m,!1),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:p=>{e.clearFilter(p)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(p,m)=>{e.toggleRowExpansionAdapter(p,m)},clearSort:()=>{e.clearSort()},sort:(p,m)=>{e.commit("sort",{prop:p,order:m})}}}function cae(e,t,n,o){const l=L(!1),u=L(null),a=L(!1),r=te=>{a.value=te},s=L({width:null,height:null,headerHeight:null}),i=L(!1),p={display:"inline-block",verticalAlign:"middle"},m=L(),v=L(0),_=L(0),g=L(0),y=L(0);Do(()=>{t.setHeight(e.height)}),Do(()=>{t.setMaxHeight(e.maxHeight)}),Me(()=>[e.currentRowKey,n.states.rowKey],([te,Z])=>{!h(Z)||n.setCurrentRowKey(`${te}`)},{immediate:!0}),Me(()=>e.data,te=>{o.store.commit("setData",te)},{immediate:!0,deep:!0}),Do(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const w=()=>{o.store.commit("setHoverRow",null),o.hoverState&&(o.hoverState=null)},E=(te,Z)=>{const{pixelX:De,pixelY:Be}=Z;Math.abs(De)>=Math.abs(Be)&&(o.refs.bodyWrapper.scrollLeft+=Z.pixelX/5)},D=U(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),C=U(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),B=()=>{D.value&&t.updateElsHeight(),t.updateColumnsWidth(),requestAnimationFrame(T)};ot(async()=>{await at(),n.updateColumns(),H(),requestAnimationFrame(B);const te=o.vnode.el,Z=o.refs.headerWrapper;e.flexible&&te&&te.parentElement&&(te.parentElement.style.minWidth="0"),s.value={width:m.value=te.offsetWidth,height:te.offsetHeight,headerHeight:e.showHeader&&Z?Z.offsetHeight:null},n.states.columns.value.forEach(De=>{De.filteredValue&&De.filteredValue.length&&o.store.commit("filterChange",{column:De,values:De.filteredValue,silent:!0})}),o.$ready=!0});const $=(te,Z)=>{if(!te)return;const De=Array.from(te.classList).filter(Be=>!Be.startsWith("is-scrolling-"));De.push(t.scrollX.value?Z:"is-scrolling-none"),te.className=De.join(" ")},k=te=>{const{tableWrapper:Z}=o.refs;$(Z,te)},P=te=>{const{tableWrapper:Z}=o.refs;return!!(Z&&Z.classList.contains(te))},T=function(){if(!o.refs.scrollBarRef)return;if(!t.scrollX.value){const xe="is-scrolling-none";P(xe)||k(xe);return}const te=o.refs.scrollBarRef.wrap$;if(!te)return;const{scrollLeft:Z,offsetWidth:De,scrollWidth:Be}=te,{headerWrapper:x,footerWrapper:O}=o.refs;x&&(x.scrollLeft=Z),O&&(O.scrollLeft=Z);const ye=Be-De-1;Z>=ye?k("is-scrolling-right"):k(Z===0?"is-scrolling-left":"is-scrolling-middle")},H=()=>{!o.refs.scrollBarRef||(o.refs.scrollBarRef.wrap$&&Gt(o.refs.scrollBarRef.wrap$,"scroll",T,{passive:!0}),e.fit?po(o.vnode.el,j):Gt(window,"resize",j),po(o.refs.bodyWrapper,()=>{var te,Z;j(),(Z=(te=o.refs)==null?void 0:te.scrollBarRef)==null||Z.update()}))},j=()=>{var te,Z,De;const Be=o.vnode.el;if(!o.$ready||!Be)return;let x=!1;const{width:O,height:ye,headerHeight:xe}=s.value,Pe=m.value=Be.offsetWidth;O!==Pe&&(x=!0);const he=Be.offsetHeight;(e.height||D.value)&&ye!==he&&(x=!0);const Te=e.tableLayout==="fixed"?o.refs.headerWrapper:(te=o.refs.tableHeaderRef)==null?void 0:te.$el;e.showHeader&&(Te==null?void 0:Te.offsetHeight)!==xe&&(x=!0),v.value=((Z=o.refs.tableWrapper)==null?void 0:Z.scrollHeight)||0,g.value=(Te==null?void 0:Te.scrollHeight)||0,y.value=((De=o.refs.footerWrapper)==null?void 0:De.offsetHeight)||0,_.value=v.value-g.value-y.value,x&&(s.value={width:Pe,height:he,headerHeight:e.showHeader&&(Te==null?void 0:Te.offsetHeight)||0},B())},X=dn(),W=U(()=>{const{bodyWidth:te,scrollY:Z,gutterWidth:De}=t;return te.value?`${te.value-(Z.value?De:0)}px`:""}),N=U(()=>e.maxHeight?"fixed":e.tableLayout),J=U(()=>{if(e.data&&e.data.length)return null;let te="100%";e.height&&_.value&&(te=`${_.value}px`);const Z=m.value;return{width:Z?`${Z}px`:"",height:te}}),be=U(()=>e.height?{height:Number.isNaN(Number(e.height))?e.height:`${e.height}px`}:e.maxHeight?{maxHeight:Number.isNaN(Number(e.maxHeight))?e.maxHeight:`${e.maxHeight}px`}:{}),ve=U(()=>{if(e.height)return{height:"100%"};if(e.maxHeight){if(Number.isNaN(Number(e.maxHeight)))return{maxHeight:`calc(${e.maxHeight} - ${g.value+y.value}px)`};{const te=e.maxHeight;if(v.value>=Number(te))return{maxHeight:`${v.value-g.value-y.value}px`}}}return{}});return{isHidden:l,renderExpanded:u,setDragVisible:r,isGroup:i,handleMouseLeave:w,handleHeaderFooterMousewheel:E,tableSize:X,emptyBlockStyle:J,handleFixedMousewheel:(te,Z)=>{const De=o.refs.bodyWrapper;if(Math.abs(Z.spinY)>0){const Be=De.scrollTop;Z.pixelY<0&&Be!==0&&te.preventDefault(),Z.pixelY>0&&De.scrollHeight-De.clientHeight>Be&&te.preventDefault(),De.scrollTop+=Math.ceil(Z.pixelY/5)}else De.scrollLeft+=Math.ceil(Z.pixelX/5)},resizeProxyVisible:a,bodyWidth:W,resizeState:s,doLayout:B,tableBodyStyles:C,tableLayout:N,scrollbarViewStyle:p,tableInnerStyle:be,scrollbarStyle:ve}}var dae={data:{type:Array,default:()=>[]},size:String,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children"})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:{type:Boolean,default:!1},flexible:Boolean};const fae=()=>{const e=L(),t=(u,a)=>{const r=e.value;r&&r.scrollTo(u,a)},n=(u,a)=>{const r=e.value;r&>(a)&&["Top","Left"].includes(u)&&r[`setScroll${u}`](a)};return{scrollBarRef:e,scrollTo:t,setScrollTop:u=>n("Top",u),setScrollLeft:u=>n("Left",u)}};let pae=1;const vae=le({name:"ElTable",directives:{Mousewheel:Nee},components:{TableHeader:eae,TableBody:uae,TableFooter:sae,ElScrollbar:Yt,hColgroup:qc},props:dae,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change"],setup(e){const{t}=Dn(),n=Ve("table"),o=pt();Dt(_o,o);const l=Rue(o,e);o.store=l;const u=new Oue({store:o.store,table:o,fit:e.fit,showHeader:e.showHeader});o.layout=u;const a=U(()=>(l.states.data.value||[]).length===0),{setCurrentRow:r,getSelectionRows:s,toggleRowSelection:i,clearSelection:p,clearFilter:m,toggleAllSelection:v,toggleRowExpansion:_,clearSort:g,sort:y}=iae(l),{isHidden:w,renderExpanded:E,setDragVisible:D,isGroup:C,handleMouseLeave:B,handleHeaderFooterMousewheel:$,tableSize:k,emptyBlockStyle:P,handleFixedMousewheel:T,resizeProxyVisible:H,bodyWidth:j,resizeState:X,doLayout:W,tableBodyStyles:N,tableLayout:J,scrollbarViewStyle:be,tableInnerStyle:ve,scrollbarStyle:Ee}=cae(e,u,l,o),{scrollBarRef:te,scrollTo:Z,setScrollLeft:De,setScrollTop:Be}=fae(),x=lu(W,50),O=`${n.namespace.value}-table_${pae++}`;o.tableId=O,o.state={isGroup:C,resizeState:X,doLayout:W,debouncedUpdateLayout:x};const ye=U(()=>e.sumText||t("el.table.sumText")),xe=U(()=>e.emptyText||t("el.table.emptyText"));return{ns:n,layout:u,store:l,handleHeaderFooterMousewheel:$,handleMouseLeave:B,tableId:O,tableSize:k,isHidden:w,isEmpty:a,renderExpanded:E,resizeProxyVisible:H,resizeState:X,isGroup:C,bodyWidth:j,tableBodyStyles:N,emptyBlockStyle:P,debouncedUpdateLayout:x,handleFixedMousewheel:T,setCurrentRow:r,getSelectionRows:s,toggleRowSelection:i,clearSelection:p,clearFilter:m,toggleAllSelection:v,toggleRowExpansion:_,clearSort:g,doLayout:W,sort:y,t,setDragVisible:D,context:o,computedSumText:ye,computedEmptyText:xe,tableLayout:J,scrollbarViewStyle:be,tableInnerStyle:ve,scrollbarStyle:Ee,scrollBarRef:te,scrollTo:Z,setScrollLeft:De,setScrollTop:Be}}}),hae=["data-prefix"],_ae={ref:"hiddenColumns",class:"hidden-columns"};function mae(e,t,n,o,l,u){const a=lt("hColgroup"),r=lt("table-header"),s=lt("table-body"),i=lt("el-scrollbar"),p=lt("table-footer"),m=ji("mousewheel");return b(),F("div",{ref:"tableWrapper",class:K([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:ut(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[0]||(t[0]=v=>e.handleMouseLeave())},[f("div",{class:K(e.ns.e("inner-wrapper")),style:ut(e.tableInnerStyle)},[f("div",_ae,[ze(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?fe((b(),F("div",{key:0,ref:"headerWrapper",class:K(e.ns.e("header-wrapper"))},[f("table",{ref:"tableHeader",class:K(e.ns.e("header")),style:ut(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[c(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),c(r,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","onSetDragVisible"])],6)],2)),[[m,e.handleHeaderFooterMousewheel]]):oe("v-if",!0),f("div",{ref:"bodyWrapper",class:K(e.ns.e("body-wrapper"))},[c(i,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn},{default:d(()=>[f("table",{ref:"tableBody",class:K(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:ut({width:e.bodyWidth,tableLayout:e.tableLayout})},[c(a,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(b(),ae(r,{key:0,ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","onSetDragVisible"])):oe("v-if",!0),c(s,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","row-style","store","stripe"])],6),e.isEmpty?(b(),F("div",{key:0,ref:"emptyBlock",style:ut(e.emptyBlockStyle),class:K(e.ns.e("empty-block"))},[f("span",{class:K(e.ns.e("empty-text"))},[ze(e.$slots,"empty",{},()=>[A(re(e.computedEmptyText),1)])],2)],6)):oe("v-if",!0),e.$slots.append?(b(),F("div",{key:1,ref:"appendWrapper",class:K(e.ns.e("append-wrapper"))},[ze(e.$slots,"append")],2)):oe("v-if",!0)]),_:3},8,["view-style","wrap-style","always"])],2),e.showSummary?fe((b(),F("div",{key:1,ref:"footerWrapper",class:K(e.ns.e("footer-wrapper"))},[c(p,{border:e.border,"default-sort":e.defaultSort,store:e.store,style:ut(e.tableBodyStyles),"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","style","sum-text","summary-method"])],2)),[[ge,!e.isEmpty],[m,e.handleHeaderFooterMousewheel]]):oe("v-if",!0),e.border||e.isGroup?(b(),F("div",{key:2,class:K(e.ns.e("border-left-patch"))},null,2)):oe("v-if",!0)],6),fe(f("div",{ref:"resizeProxy",class:K(e.ns.e("column-resize-proxy"))},null,2),[[ge,e.resizeProxyVisible]])],46,hae)}var gae=We(vae,[["render",mae],["__file","/home/runner/work/element-plus/element-plus/packages/components/table/src/table.vue"]]);const bae={selection:"table-column--selection",expand:"table__expand-column"},yae={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},wae=e=>bae[e]||"",Cae={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return Re(Po,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection,modelValue:e.states.isAllSelected.value})},renderCell({row:e,column:t,store:n,$index:o}){return Re(Po,{disabled:t.selectable?!t.selectable.call(null,e,o):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:l=>l.stopPropagation(),modelValue:n.isSelected(e)})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const o=e.index;return typeof o=="number"?n=t+o:typeof o=="function"&&(n=o(t)),Re("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({row:e,store:t,expanded:n}){const{ns:o}=t,l=[o.e("expand-icon")];return n&&l.push(o.em("expand-icon","expanded")),Re("div",{class:l,onClick:function(a){a.stopPropagation(),t.toggleRowExpansion(e)}},{default:()=>[Re(rt,null,{default:()=>[Re(wu)]})]})},sortable:!1,resizable:!1}};function Eae({row:e,column:t,$index:n}){var o;const l=t.property,u=l&&Za(e,l).value;return t&&t.formatter?t.formatter(e,t,u,n):((o=u==null?void 0:u.toString)==null?void 0:o.call(u))||""}function Fae({row:e,treeNode:t,store:n},o=!1){const{ns:l}=n;if(!t)return o?[Re("span",{class:l.e("placeholder")})]:null;const u=[],a=function(r){r.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&u.push(Re("span",{class:l.e("indent"),style:{"padding-left":`${t.indent}px`}})),typeof t.expanded=="boolean"&&!t.noLazyChildren){const r=[l.e("expand-icon"),t.expanded?l.em("expand-icon","expanded"):""];let s=wu;t.loading&&(s=ha),u.push(Re("div",{class:r,onClick:a},{default:()=>[Re(rt,{class:{[l.is("loading")]:t.loading}},{default:()=>[Re(s)]})]}))}else u.push(Re("span",{class:l.e("placeholder")}));return u}function wd(e,t){return e.reduce((n,o)=>(n[o]=o,n),t)}function Aae(e,t){const n=pt();return{registerComplexWatchers:()=>{const u=["fixed"],a={realWidth:"width",realMinWidth:"minWidth"},r=wd(u,a);Object.keys(r).forEach(s=>{const i=a[s];st(t,i)&&Me(()=>t[i],p=>{let m=p;i==="width"&&s==="realWidth"&&(m=Oc(p)),i==="minWidth"&&s==="realMinWidth"&&(m=g6(p)),n.columnConfig.value[i]=m,n.columnConfig.value[s]=m;const v=i==="fixed";e.value.store.scheduleLayout(v)})})},registerNormalWatchers:()=>{const u=["label","filters","filterMultiple","sortable","index","formatter","className","labelClassName","showOverflowTooltip"],a={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},r=wd(u,a);Object.keys(r).forEach(s=>{const i=a[s];st(t,i)&&Me(()=>t[i],p=>{n.columnConfig.value[s]=p})})}}}function Dae(e,t,n){const o=pt(),l=L(""),u=L(!1),a=L(),r=L(),s=Ve("table");Do(()=>{a.value=e.align?`is-${e.align}`:null,a.value}),Do(()=>{r.value=e.headerAlign?`is-${e.headerAlign}`:a.value,r.value});const i=U(()=>{let C=o.vnode.vParent||o.parent;for(;C&&!C.tableId&&!C.columnId;)C=C.vnode.vParent||C.parent;return C}),p=U(()=>{const{store:C}=o.parent;if(!C)return!1;const{treeData:B}=C.states,$=B.value;return $&&Object.keys($).length>0}),m=L(Oc(e.width)),v=L(g6(e.minWidth)),_=C=>(m.value&&(C.width=m.value),v.value&&(C.minWidth=v.value),!m.value&&v.value&&(C.width=void 0),C.minWidth||(C.minWidth=80),C.realWidth=Number(C.width===void 0?C.minWidth:C.width),C),g=C=>{const B=C.type,$=Cae[B]||{};Object.keys($).forEach(P=>{const T=$[P];P!=="className"&&T!==void 0&&(C[P]=T)});const k=wae(B);if(k){const P=`${h(s.namespace)}-${k}`;C.className=C.className?`${C.className} ${P}`:P}return C},y=C=>{Array.isArray(C)?C.forEach($=>B($)):B(C);function B($){var k;((k=$==null?void 0:$.type)==null?void 0:k.name)==="ElTableColumn"&&($.vParent=o)}};return{columnId:l,realAlign:a,isSubColumn:u,realHeaderAlign:r,columnOrTableParent:i,setColumnWidth:_,setColumnForcedProps:g,setColumnRenders:C=>{e.renderHeader||C.type!=="selection"&&(C.renderHeader=$=>{o.columnConfig.value.label;const k=t.header;return k?k($):C.label});let B=C.renderCell;return C.type==="expand"?(C.renderCell=$=>Re("div",{class:"cell"},[B($)]),n.value.renderExpanded=$=>t.default?t.default($):t.default):(B=B||Eae,C.renderCell=$=>{let k=null;if(t.default){const j=t.default($);k=j.some(X=>X.type!==an)?j:B($)}else k=B($);const P=p.value&&$.cellIndex===0&&$.column.type!=="selection",T=Fae($,P),H={class:"cell",style:{}};return C.showOverflowTooltip&&(H.class=`${H.class} ${h(s.namespace)}-tooltip`,H.style={width:`${($.column.realWidth||Number($.column.width))-1}px`}),y(k),Re("div",H,[T,k])}),C},getPropsData:(...C)=>C.reduce((B,$)=>(Array.isArray($)&&$.forEach(k=>{B[k]=e[k]}),B),{}),getColumnElIndex:(C,B)=>Array.prototype.indexOf.call(C,B)}}var Bae={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showTooltipWhenOverflow:Boolean,showOverflowTooltip:Boolean,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let xae=1;var A6=le({name:"ElTableColumn",components:{ElCheckbox:Po},props:Bae,setup(e,{slots:t}){const n=pt(),o=L({}),l=U(()=>{let D=n.parent;for(;D&&!D.tableId;)D=D.parent;return D}),{registerNormalWatchers:u,registerComplexWatchers:a}=Aae(l,e),{columnId:r,isSubColumn:s,realHeaderAlign:i,columnOrTableParent:p,setColumnWidth:m,setColumnForcedProps:v,setColumnRenders:_,getPropsData:g,getColumnElIndex:y,realAlign:w}=Dae(e,t,l),E=p.value;r.value=`${E.tableId||E.columnId}_column_${xae++}`,Hr(()=>{s.value=l.value!==E;const D=e.type||"default",C=e.sortable===""?!0:e.sortable,B={...yae[D],id:r.value,type:D,property:e.prop||e.property,align:w,headerAlign:i,showOverflowTooltip:e.showOverflowTooltip||e.showTooltipWhenOverflow,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:C,index:e.index,rawColumnKey:n.vnode.key};let H=g(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement"]);H=$ue(B,H),H=kue(_,m,v)(H),o.value=H,u(),a()}),ot(()=>{var D;const C=p.value,B=s.value?C.vnode.el.children:(D=C.refs.hiddenColumns)==null?void 0:D.children,$=()=>y(B||[],n.vnode.el);o.value.getColumnIndex=$,$()>-1&&l.value.store.commit("insertColumn",o.value,s.value?C.columnConfig.value:null)}),Mt(()=>{l.value.store.commit("removeColumn",o.value,s.value?E.columnConfig.value:null)}),n.columnId=r.value,n.columnConfig=o},render(){var e,t,n;try{const o=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),l=[];if(Array.isArray(o))for(const a of o)((n=a.type)==null?void 0:n.name)==="ElTableColumn"||a.shapeFlag&2?l.push(a):a.type===Oe&&Array.isArray(a.children)&&a.children.forEach(r=>{(r==null?void 0:r.patchFlag)!==1024&&!tt(r==null?void 0:r.children)&&l.push(r)});return Re("div",l)}catch{return Re("div",[])}}});const D6=Ft(gae,{TableColumn:A6}),B6=Nt(A6),$ae="ElUpload";class Sae extends Error{constructor(t,n,o,l){super(t),this.name="UploadAjaxError",this.status=n,this.method=o,this.url=l}}function Cd(e,t,n){let o;return n.response?o=`${n.response.error||n.response}`:n.responseText?o=`${n.responseText}`:o=`fail to ${t.method} ${e} ${n.status}`,new Sae(o,n.status,t.method,e)}function kae(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const Pae=e=>{typeof XMLHttpRequest=="undefined"&&An($ae,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",u=>{const a=u;a.percent=u.total>0?u.loaded/u.total*100:0,e.onProgress(a)});const o=new FormData;if(e.data)for(const[u,a]of Object.entries(e.data))Array.isArray(a)?o.append(u,...a):o.append(u,a);o.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(Cd(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(Cd(n,e,t));e.onSuccess(kae(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const l=e.headers||{};if(l instanceof Headers)l.forEach((u,a)=>t.setRequestHeader(a,u));else for(const[u,a]of Object.entries(l))io(a)||t.setRequestHeader(u,String(a));return t.send(o),t},x6=["text","picture","picture-card"];let Lae=1;const $6=()=>Date.now()+Lae++,S6=et({action:{type:String,default:"#"},headers:{type:He(Object)},method:{type:String,default:"post"},data:{type:Object,default:()=>So({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},type:{type:String,default:"select"},fileList:{type:He(Array),default:()=>So([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:x6,default:"text"},httpRequest:{type:He(Function),default:Pae},disabled:Boolean,limit:Number}),Tae=et({...S6,beforeUpload:{type:He(Function),default:vt},beforeRemove:{type:He(Function)},onRemove:{type:He(Function),default:vt},onChange:{type:He(Function),default:vt},onPreview:{type:He(Function),default:vt},onSuccess:{type:He(Function),default:vt},onProgress:{type:He(Function),default:vt},onError:{type:He(Function),default:vt},onExceed:{type:He(Function),default:vt}}),zae=et({files:{type:He(Array),default:()=>So([])},disabled:{type:Boolean,default:!1},handlePreview:{type:He(Function),default:vt},listType:{type:String,values:x6,default:"text"}}),Mae={remove:e=>!!e},Vae=["onKeydown"],Iae=["src"],Hae=["onClick"],Rae=["onClick"],Nae=["onClick"],Oae=le({name:"ElUploadList"}),Uae=le({...Oae,props:zae,emits:Mae,setup(e,{emit:t}){const{t:n}=Dn(),o=Ve("upload"),l=Ve("icon"),u=Ve("list"),a=L(!1),r=s=>{t("remove",s)};return(s,i)=>(b(),ae(A8,{tag:"ul",class:K([h(o).b("list"),h(o).bm("list",s.listType),h(o).is("disabled",s.disabled)]),name:h(u).b()},{default:d(()=>[(b(!0),F(Oe,null,it(s.files,p=>(b(),F("li",{key:p.uid||p.name,class:K([h(o).be("list","item"),h(o).is(p.status),{focusing:a.value}]),tabindex:"0",onKeydown:Bt(m=>!s.disabled&&r(p),["delete"]),onFocus:i[0]||(i[0]=m=>a.value=!0),onBlur:i[1]||(i[1]=m=>a.value=!1),onClick:i[2]||(i[2]=m=>a.value=!1)},[ze(s.$slots,"default",{file:p},()=>[s.listType==="picture"||p.status!=="uploading"&&s.listType==="picture-card"?(b(),F("img",{key:0,class:K(h(o).be("list","item-thumbnail")),src:p.url,alt:""},null,10,Iae)):oe("v-if",!0),p.status==="uploading"||s.listType!=="picture-card"?(b(),F("div",{key:1,class:K(h(o).be("list","item-info"))},[f("a",{class:K(h(o).be("list","item-name")),onClick:mt(m=>s.handlePreview(p),["prevent"])},[c(h(rt),{class:K(h(l).m("document"))},{default:d(()=>[c(h(zf))]),_:1},8,["class"]),f("span",{class:K(h(o).be("list","item-file-name"))},re(p.name),3)],10,Hae),p.status==="uploading"?(b(),ae(h(fue),{key:0,type:s.listType==="picture-card"?"circle":"line","stroke-width":s.listType==="picture-card"?6:2,percentage:Number(p.percentage),style:ut(s.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):oe("v-if",!0)],2)):oe("v-if",!0),f("label",{class:K(h(o).be("list","item-status-label"))},[s.listType==="text"?(b(),ae(h(rt),{key:0,class:K([h(l).m("upload-success"),h(l).m("circle-check")])},{default:d(()=>[c(h(Yr))]),_:1},8,["class"])):["picture-card","picture"].includes(s.listType)?(b(),ae(h(rt),{key:1,class:K([h(l).m("upload-success"),h(l).m("check")])},{default:d(()=>[c(h(vc))]),_:1},8,["class"])):oe("v-if",!0)],2),s.disabled?oe("v-if",!0):(b(),ae(h(rt),{key:2,class:K(h(l).m("close")),onClick:m=>r(p)},{default:d(()=>[c(h($l))]),_:2},1032,["class","onClick"])),oe(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),oe(" This is a bug which needs to be fixed "),oe(" TODO: Fix the incorrect navigation interaction "),s.disabled?oe("v-if",!0):(b(),F("i",{key:3,class:K(h(l).m("close-tip"))},re(h(n)("el.upload.deleteTip")),3)),s.listType==="picture-card"?(b(),F("span",{key:4,class:K(h(o).be("list","item-actions"))},[f("span",{class:K(h(o).be("list","item-preview")),onClick:m=>s.handlePreview(p)},[c(h(rt),{class:K(h(l).m("zoom-in"))},{default:d(()=>[c(h(Nf))]),_:1},8,["class"])],10,Rae),s.disabled?oe("v-if",!0):(b(),F("span",{key:0,class:K(h(o).be("list","item-delete")),onClick:m=>r(p)},[c(h(rt),{class:K(h(l).m("delete"))},{default:d(()=>[c(h(Tf))]),_:1},8,["class"])],10,Nae))],2)):oe("v-if",!0)])],42,Vae))),128)),ze(s.$slots,"append")]),_:3},8,["class","name"]))}});var Ed=We(Uae,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-list.vue"]]);const Wae=et({disabled:{type:Boolean,default:!1}}),qae={file:e=>qe(e)},jae=["onDrop","onDragover"],k6="ElUploadDrag",Kae=le({name:k6}),Gae=le({...Kae,props:Wae,emits:qae,setup(e,{emit:t}){const n=e,o=Xe(e4);o||An(k6,"usage: ");const l=Ve("upload"),u=L(!1),a=s=>{if(n.disabled)return;u.value=!1;const i=Array.from(s.dataTransfer.files),p=o.accept.value;if(!p){t("file",i);return}const m=i.filter(v=>{const{type:_,name:g}=v,y=g.includes(".")?`.${g.split(".").pop()}`:"",w=_.replace(/\/.*$/,"");return p.split(",").map(E=>E.trim()).filter(E=>E).some(E=>E.startsWith(".")?y===E:/\/\*$/.test(E)?w===E.replace(/\/\*$/,""):/^[^/]+\/[^/]+$/.test(E)?_===E:!1)});t("file",m)},r=()=>{n.disabled||(u.value=!0)};return(s,i)=>(b(),F("div",{class:K([h(l).b("dragger"),h(l).is("dragover",u.value)]),onDrop:mt(a,["prevent"]),onDragover:mt(r,["prevent"]),onDragleave:i[0]||(i[0]=mt(p=>u.value=!1,["prevent"]))},[ze(s.$slots,"default")],42,jae))}});var Yae=We(Gae,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-dragger.vue"]]);const Xae=et({...S6,beforeUpload:{type:He(Function),default:vt},onRemove:{type:He(Function),default:vt},onStart:{type:He(Function),default:vt},onSuccess:{type:He(Function),default:vt},onProgress:{type:He(Function),default:vt},onError:{type:He(Function),default:vt},onExceed:{type:He(Function),default:vt}}),Jae=["onKeydown"],Qae=["name","multiple","accept"],Zae=le({name:"ElUploadContent",inheritAttrs:!1}),ere=le({...Zae,props:Xae,setup(e,{expose:t}){const n=e,o=Ve("upload"),l=Kn({}),u=Kn(),a=_=>{if(_.length===0)return;const{autoUpload:g,limit:y,fileList:w,multiple:E,onStart:D,onExceed:C}=n;if(y&&w.length+_.length>y){C(_,w);return}E||(_=_.slice(0,1));for(const B of _){const $=B;$.uid=$6(),D($),g&&r($)}},r=async _=>{if(u.value.value="",!n.beforeUpload)return s(_);let g;try{g=await n.beforeUpload(_)}catch{g=!1}if(g===!1){n.onRemove(_);return}let y=_;g instanceof Blob&&(g instanceof File?y=g:y=new File([g],_.name,{type:_.type})),s(Object.assign(y,{uid:_.uid}))},s=_=>{const{headers:g,data:y,method:w,withCredentials:E,name:D,action:C,onProgress:B,onSuccess:$,onError:k,httpRequest:P}=n,{uid:T}=_,H={headers:g||{},withCredentials:E,file:_,data:y,method:w,filename:D,action:C,onProgress:X=>{B(X,_)},onSuccess:X=>{$(X,_),delete l.value[T]},onError:X=>{k(X,_),delete l.value[T]}},j=P(H);l.value[T]=j,j instanceof Promise&&j.then(H.onSuccess,H.onError)},i=_=>{const g=_.target.files;!g||a(Array.from(g))},p=()=>{n.disabled||(u.value.value="",u.value.click())},m=()=>{p()};return t({abort:_=>{x9(l.value).filter(_?([y])=>String(_.uid)===y:()=>!0).forEach(([y,w])=>{w instanceof XMLHttpRequest&&w.abort(),delete l.value[y]})},upload:r}),(_,g)=>(b(),F("div",{class:K([h(o).b(),h(o).m(_.listType),h(o).is("drag",_.drag)]),tabindex:"0",onClick:p,onKeydown:Bt(mt(m,["self"]),["enter","space"])},[_.drag?(b(),ae(Yae,{key:0,disabled:_.disabled,onFile:a},{default:d(()=>[ze(_.$slots,"default")]),_:3},8,["disabled"])):ze(_.$slots,"default",{key:1}),f("input",{ref_key:"inputRef",ref:u,class:K(h(o).e("input")),name:_.name,multiple:_.multiple,accept:_.accept,type:"file",onChange:i,onClick:g[0]||(g[0]=mt(()=>{},["stop"]))},null,42,Qae)],42,Jae))}});var Fd=We(ere,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-content.vue"]]);const Ad="ElUpload",tre=e=>{var t;(t=e.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(e.url)},nre=(e,t)=>{const n=A9(e,"fileList",void 0,{passive:!0}),o=v=>n.value.find(_=>_.uid===v.uid);function l(v){var _;(_=t.value)==null||_.abort(v)}function u(v=["ready","uploading","success","fail"]){n.value=n.value.filter(_=>!v.includes(_.status))}const a=(v,_)=>{const g=o(_);!g||(console.error(v),g.status="fail",n.value.splice(n.value.indexOf(g),1),e.onError(v,g,n.value),e.onChange(g,n.value))},r=(v,_)=>{const g=o(_);!g||(e.onProgress(v,g,n.value),g.status="uploading",g.percentage=Math.round(v.percent))},s=(v,_)=>{const g=o(_);!g||(g.status="success",g.response=v,e.onSuccess(v,g,n.value),e.onChange(g,n.value))},i=v=>{const _={name:v.name,percentage:0,status:"ready",size:v.size,raw:v,uid:v.uid};if(e.listType==="picture-card"||e.listType==="picture")try{_.url=URL.createObjectURL(v)}catch(g){g.message,e.onError(g,_,n.value)}n.value=[...n.value,_],e.onChange(_,n.value)},p=async v=>{const _=v instanceof File?o(v):v;_||An(Ad,"file to be removed not found");const g=y=>{l(y);const w=n.value;w.splice(w.indexOf(y),1),e.onRemove(y,w),tre(y)};e.beforeRemove?await e.beforeRemove(_,n.value)!==!1&&g(_):g(_)};function m(){n.value.filter(({status:v})=>v==="ready").forEach(({raw:v})=>{var _;return v&&((_=t.value)==null?void 0:_.upload(v))})}return Me(()=>e.listType,v=>{v!=="picture-card"&&v!=="picture"||(n.value=n.value.map(_=>{const{raw:g,url:y}=_;if(!y&&g)try{_.url=URL.createObjectURL(g)}catch(w){e.onError(w,_,n.value)}return _}))}),Me(n,v=>{for(const _ of v)_.uid||(_.uid=$6()),_.status||(_.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:l,clearFiles:u,handleError:a,handleProgress:r,handleStart:i,handleSuccess:s,handleRemove:p,submit:m}},ore=le({name:"ElUpload"}),lre=le({...ore,props:Tae,setup(e,{expose:t}){const n=e,o=To(),l=ul(),u=Kn(),{abort:a,submit:r,clearFiles:s,uploadFiles:i,handleStart:p,handleError:m,handleRemove:v,handleSuccess:_,handleProgress:g}=nre(n,u),y=U(()=>n.listType==="picture-card"),w=U(()=>({...n,fileList:i.value,onStart:p,onProgress:g,onSuccess:_,onError:m,onRemove:v}));return Mt(()=>{i.value.forEach(({url:E})=>{E!=null&&E.startsWith("blob:")&&URL.revokeObjectURL(E)})}),Dt(e4,{accept:Tn(n,"accept")}),t({abort:a,submit:r,clearFiles:s,handleStart:p,handleRemove:v}),(E,D)=>(b(),F("div",null,[h(y)&&E.showFileList?(b(),ae(Ed,{key:0,disabled:h(l),"list-type":E.listType,files:h(i),"handle-preview":E.onPreview,onRemove:h(v)},Zl({append:d(()=>[c(Fd,kn({ref_key:"uploadRef",ref:u},h(w)),{default:d(()=>[h(o).trigger?ze(E.$slots,"trigger",{key:0}):oe("v-if",!0),!h(o).trigger&&h(o).default?ze(E.$slots,"default",{key:1}):oe("v-if",!0)]),_:3},16)]),_:2},[E.$slots.file?{name:"default",fn:d(({file:C})=>[ze(E.$slots,"file",{file:C})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):oe("v-if",!0),!h(y)||h(y)&&!E.showFileList?(b(),ae(Fd,kn({key:1,ref_key:"uploadRef",ref:u},h(w)),{default:d(()=>[h(o).trigger?ze(E.$slots,"trigger",{key:0}):oe("v-if",!0),!h(o).trigger&&h(o).default?ze(E.$slots,"default",{key:1}):oe("v-if",!0)]),_:3},16)):oe("v-if",!0),E.$slots.trigger?ze(E.$slots,"default",{key:2}):oe("v-if",!0),ze(E.$slots,"tip"),!h(y)&&E.showFileList?(b(),ae(Ed,{key:3,disabled:h(l),"list-type":E.listType,files:h(i),"handle-preview":E.onPreview,onRemove:h(v)},Zl({_:2},[E.$slots.file?{name:"default",fn:d(({file:C})=>[ze(E.$slots,"file",{file:C})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):oe("v-if",!0)]))}});var ure=We(lre,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload.vue"]]);const P6=Ft(ure);function are(e){let t;const n=Ve("loading"),o=L(!1),l=Rt({...e,originalPosition:"",originalOverflow:"",visible:!1});function u(_){l.text=_}function a(){const _=l.parent;if(!_.vLoadingAddClassList){let g=_.getAttribute("loading-number");g=Number.parseInt(g)-1,g?_.setAttribute("loading-number",g.toString()):(Gn(_,n.bm("parent","relative")),_.removeAttribute("loading-number")),Gn(_,n.bm("parent","hidden"))}r(),m.unmount()}function r(){var _,g;(g=(_=v.$el)==null?void 0:_.parentNode)==null||g.removeChild(v.$el)}function s(){var _;e.beforeClose&&!e.beforeClose()||(o.value=!0,clearTimeout(t),t=window.setTimeout(i,400),l.visible=!1,(_=e.closed)==null||_.call(e))}function i(){if(!o.value)return;const _=l.parent;o.value=!1,_.vLoadingAddClassList=void 0,a()}const m=nf({name:"ElLoading",setup(){return()=>{const _=l.spinner||l.svg,g=Re("svg",{class:"circular",viewBox:l.svgViewBox?l.svgViewBox:"0 0 50 50",..._?{innerHTML:_}:{}},[Re("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),y=l.text?Re("p",{class:n.b("text")},[l.text]):void 0;return Re(tn,{name:n.b("fade"),onAfterLeave:i},{default:d(()=>[fe(c("div",{style:{backgroundColor:l.background||""},class:[n.b("mask"),l.customClass,l.fullscreen?"is-fullscreen":""]},[Re("div",{class:n.b("spinner")},[g,y])]),[[ge,l.visible]])])})}}}),v=m.mount(document.createElement("div"));return{...ho(l),setText:u,removeElLoadingChild:r,close:s,handleAfterLeave:i,vm:v,get $el(){return v.$el}}}let Ua;const rre=function(e={}){if(!_t)return;const t=sre(e);if(t.fullscreen&&Ua)return Ua;const n=are({...t,closed:()=>{var l;(l=t.closed)==null||l.call(t),t.fullscreen&&(Ua=void 0)}});ire(t,t.parent,n),Dd(t,t.parent,n),t.parent.vLoadingAddClassList=()=>Dd(t,t.parent,n);let o=t.parent.getAttribute("loading-number");return o?o=`${Number.parseInt(o)+1}`:o="1",t.parent.setAttribute("loading-number",o),t.parent.appendChild(n.$el),at(()=>n.visible.value=t.visible),t.fullscreen&&(Ua=n),n},sre=e=>{var t,n,o,l;let u;return tt(e.target)?u=(t=document.querySelector(e.target))!=null?t:document.body:u=e.target||document.body,{parent:u===document.body||e.body?document.body:u,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:u===document.body&&((n=e.fullscreen)!=null?n:!0),lock:(o=e.lock)!=null?o:!1,customClass:e.customClass||"",visible:(l=e.visible)!=null?l:!0,target:u}},ire=async(e,t,n)=>{const{nextZIndex:o}=Ml(),l={};if(e.fullscreen)n.originalPosition.value=Eo(document.body,"position"),n.originalOverflow.value=Eo(document.body,"overflow"),l.zIndex=o();else if(e.parent===document.body){n.originalPosition.value=Eo(document.body,"position"),await at();for(const u of["top","left"]){const a=u==="top"?"scrollTop":"scrollLeft";l[u]=`${e.target.getBoundingClientRect()[u]+document.body[a]+document.documentElement[a]-Number.parseInt(Eo(document.body,`margin-${u}`),10)}px`}for(const u of["height","width"])l[u]=`${e.target.getBoundingClientRect()[u]}px`}else n.originalPosition.value=Eo(t,"position");for(const[u,a]of Object.entries(l))n.$el.style[u]=a},Dd=(e,t,n)=>{const o=Ve("loading");["absolute","fixed","sticky"].includes(n.originalPosition.value)?Gn(t,o.bm("parent","relative")):Fo(t,o.bm("parent","relative")),e.fullscreen&&e.lock?Fo(t,o.bm("parent","hidden")):Gn(t,o.bm("parent","hidden"))},Ci=Symbol("ElLoading"),Bd=(e,t)=>{var n,o,l,u;const a=t.instance,r=v=>dt(t.value)?t.value[v]:void 0,s=v=>{const _=tt(v)&&(a==null?void 0:a[v])||v;return _&&L(_)},i=v=>s(r(v)||e.getAttribute(`element-loading-${ll(v)}`)),p=(n=r("fullscreen"))!=null?n:t.modifiers.fullscreen,m={text:i("text"),svg:i("svg"),svgViewBox:i("svgViewBox"),spinner:i("spinner"),background:i("background"),customClass:i("customClass"),fullscreen:p,target:(o=r("target"))!=null?o:p?void 0:e,body:(l=r("body"))!=null?l:t.modifiers.body,lock:(u=r("lock"))!=null?u:t.modifiers.lock};e[Ci]={options:m,instance:rre(m)}},cre=(e,t)=>{for(const n of Object.keys(t))yt(t[n])&&(t[n].value=e[n])},os={mounted(e,t){t.value&&Bd(e,t)},updated(e,t){const n=e[Ci];t.oldValue!==t.value&&(t.value&&!t.oldValue?Bd(e,t):t.value&&t.oldValue?dt(t.value)&&cre(t.value,n.options):n==null||n.instance.close())},unmounted(e){var t;(t=e[Ci])==null||t.instance.close()}},L6=["success","info","warning","error"],ln=So({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:_t?document.body:void 0}),dre=et({customClass:{type:String,default:ln.customClass},center:{type:Boolean,default:ln.center},dangerouslyUseHTMLString:{type:Boolean,default:ln.dangerouslyUseHTMLString},duration:{type:Number,default:ln.duration},icon:{type:Tt,default:ln.icon},id:{type:String,default:ln.id},message:{type:He([String,Object,Function]),default:ln.message},onClose:{type:He(Function),required:!1},showClose:{type:Boolean,default:ln.showClose},type:{type:String,values:L6,default:ln.type},offset:{type:Number,default:ln.offset},zIndex:{type:Number,default:ln.zIndex},grouping:{type:Boolean,default:ln.grouping},repeatNum:{type:Number,default:ln.repeatNum}}),fre={destroy:()=>!0},ro=s1([]),pre=e=>{const t=ro.findIndex(l=>l.id===e),n=ro[t];let o;return t>0&&(o=ro[t-1]),{current:n,prev:o}},vre=e=>{const{prev:t}=pre(e);return t?t.vm.exposed.bottom.value:0},hre=["id"],_re=["innerHTML"],mre=le({name:"ElMessage"}),gre=le({...mre,props:dre,emits:fre,setup(e,{expose:t}){const n=e,{Close:o}=Wf,l=Ve("message"),u=L(),a=L(!1),r=L(0);let s;const i=U(()=>n.type?n.type==="error"?"danger":n.type:"info"),p=U(()=>{const B=n.type;return{[l.bm("icon",B)]:B&&au[B]}}),m=U(()=>n.icon||au[n.type]||""),v=U(()=>vre(n.id)),_=U(()=>n.offset+v.value),g=U(()=>r.value+_.value),y=U(()=>({top:`${_.value}px`,zIndex:n.zIndex}));function w(){n.duration!==0&&({stop:s}=uu(()=>{D()},n.duration))}function E(){s==null||s()}function D(){a.value=!1}function C({code:B}){B===Lt.esc&&D()}return ot(()=>{w(),a.value=!0}),Me(()=>n.repeatNum,()=>{E(),w()}),Gt(document,"keydown",C),po(u,()=>{r.value=u.value.getBoundingClientRect().height}),t({visible:a,bottom:g,close:D}),(B,$)=>(b(),ae(tn,{name:h(l).b("fade"),onBeforeLeave:B.onClose,onAfterLeave:$[0]||($[0]=k=>B.$emit("destroy")),persisted:""},{default:d(()=>[fe(f("div",{id:B.id,ref_key:"messageRef",ref:u,class:K([h(l).b(),{[h(l).m(B.type)]:B.type&&!B.icon},h(l).is("center",B.center),h(l).is("closable",B.showClose),B.customClass]),style:ut(h(y)),role:"alert",onMouseenter:E,onMouseleave:w},[B.repeatNum>1?(b(),ae(h(ree),{key:0,value:B.repeatNum,type:h(i),class:K(h(l).e("badge"))},null,8,["value","type","class"])):oe("v-if",!0),h(m)?(b(),ae(h(rt),{key:1,class:K([h(l).e("icon"),h(p)])},{default:d(()=>[(b(),ae(Ct(h(m))))]),_:1},8,["class"])):oe("v-if",!0),ze(B.$slots,"default",{},()=>[B.dangerouslyUseHTMLString?(b(),F(Oe,{key:1},[oe(" Caution here, message could've been compromised, never use user's input as message "),f("p",{class:K(h(l).e("content")),innerHTML:B.message},null,10,_re)],2112)):(b(),F("p",{key:0,class:K(h(l).e("content"))},re(B.message),3))]),B.showClose?(b(),ae(h(rt),{key:2,class:K(h(l).e("closeBtn")),onClick:mt(D,["stop"])},{default:d(()=>[c(h(o))]),_:1},8,["class","onClick"])):oe("v-if",!0)],46,hre),[[ge,a.value]])]),_:3},8,["name","onBeforeLeave"]))}});var bre=We(gre,[["__file","/home/runner/work/element-plus/element-plus/packages/components/message/src/message.vue"]]);let yre=1;const T6=e=>{const t=!e||tt(e)||cn(e)||Ge(e)?{message:e}:e,n={...ln,...t};if(!n.appendTo)n.appendTo=document.body;else if(tt(n.appendTo)){let o=document.querySelector(n.appendTo);nl(o)||(o=document.body),n.appendTo=o}return n},wre=e=>{const t=ro.indexOf(e);if(t===-1)return;ro.splice(t,1);const{handler:n}=e;n.close()},Cre=({appendTo:e,...t},n)=>{const{nextZIndex:o}=Ml(),l=`message_${yre++}`,u=t.onClose,a=document.createElement("div"),r={...t,zIndex:o()+t.zIndex,id:l,onClose:()=>{u==null||u(),wre(m)},onDestroy:()=>{nu(null,a)}},s=c(bre,r,Ge(r.message)||cn(r.message)?{default:Ge(r.message)?r.message:()=>r.message}:null);s.appContext=n||pu._context,nu(s,a),e.appendChild(a.firstElementChild);const i=s.component,m={id:l,vnode:s,vm:i,handler:{close:()=>{i.exposed.visible.value=!1}},props:s.component.props};return m},pu=(e={},t)=>{if(!_t)return{close:()=>{}};if(gt(vi.max)&&ro.length>=vi.max)return{close:()=>{}};const n=T6(e);if(n.grouping&&ro.length){const l=ro.find(({vnode:u})=>{var a;return((a=u.props)==null?void 0:a.message)===n.message});if(l)return l.props.repeatNum+=1,l.props.type=n.type,l.handler}const o=Cre(n,t);return ro.push(o),o.handler};L6.forEach(e=>{pu[e]=(t={},n)=>{const o=T6(t);return pu({...o,type:e},n)}});function Ere(e){for(const t of ro)(!e||e===t.props.type)&&t.handler.close()}pu.closeAll=Ere;pu._context=null;const Fre=qf(pu,"$message"),Are=le({name:"ElMessageBox",directives:{TrapFocus:Tee},components:{ElButton:vn,ElFocusTrap:Lc,ElInput:nn,ElOverlay:u6,ElIcon:rt,...Wf},inheritAttrs:!1,props:{buttonSize:{type:String,validator:gc},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{t:n}=Dn(),o=Ve("message-box"),l=L(!1),{nextZIndex:u}=Ml(),a=Rt({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:u()}),r=U(()=>{const N=a.type;return{[o.bm("icon",N)]:N&&au[N]}}),s=ol(),i=ol(),p=dn(U(()=>e.buttonSize),{prop:!0,form:!0,formItem:!0}),m=U(()=>a.icon||au[a.type]||""),v=U(()=>!!a.message),_=L(),g=L(),y=L(),w=L(),E=L(),D=U(()=>a.confirmButtonClass);Me(()=>a.inputValue,async N=>{await at(),e.boxType==="prompt"&&N!==null&&H()},{immediate:!0}),Me(()=>l.value,N=>{var J,be;N&&(e.boxType!=="prompt"&&(a.autofocus?y.value=(be=(J=E.value)==null?void 0:J.$el)!=null?be:_.value:y.value=_.value),a.zIndex=u()),e.boxType==="prompt"&&(N?at().then(()=>{var ve;w.value&&w.value.$el&&(a.autofocus?y.value=(ve=j())!=null?ve:_.value:y.value=_.value)}):(a.editorErrorMessage="",a.validateError=!1))});const C=U(()=>e.draggable);o4(_,g,C),ot(async()=>{await at(),e.closeOnHashChange&&window.addEventListener("hashchange",B)}),Mt(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",B)});function B(){!l.value||(l.value=!1,at(()=>{a.action&&t("action",a.action)}))}const $=()=>{e.closeOnClickModal&&T(a.distinguishCancelAndClose?"close":"cancel")},k=Cc($),P=N=>{if(a.inputType!=="textarea")return N.preventDefault(),T("confirm")},T=N=>{var J;e.boxType==="prompt"&&N==="confirm"&&!H()||(a.action=N,a.beforeClose?(J=a.beforeClose)==null||J.call(a,N,a,B):B())},H=()=>{if(e.boxType==="prompt"){const N=a.inputPattern;if(N&&!N.test(a.inputValue||""))return a.editorErrorMessage=a.inputErrorMessage||n("el.messagebox.error"),a.validateError=!0,!1;const J=a.inputValidator;if(typeof J=="function"){const be=J(a.inputValue);if(be===!1)return a.editorErrorMessage=a.inputErrorMessage||n("el.messagebox.error"),a.validateError=!0,!1;if(typeof be=="string")return a.editorErrorMessage=be,a.validateError=!0,!1}}return a.editorErrorMessage="",a.validateError=!1,!0},j=()=>{const N=w.value.$refs;return N.input||N.textarea},X=()=>{T("close")},W=()=>{e.closeOnPressEscape&&X()};return e.lockScroll&&l4(l),fJ(l),{...ho(a),ns:o,overlayEvent:k,visible:l,hasMessage:v,typeClass:r,contentId:s,inputId:i,btnSize:p,iconComponent:m,confirmButtonClasses:D,rootRef:_,focusStartRef:y,headerRef:g,inputRef:w,confirmRef:E,doClose:B,handleClose:X,onCloseRequested:W,handleWrapperClick:$,handleInputEnter:P,handleAction:T,t:n}}}),Dre=["aria-label","aria-describedby"],Bre=["aria-label"],xre=["id"];function $re(e,t,n,o,l,u){const a=lt("el-icon"),r=lt("close"),s=lt("el-input"),i=lt("el-button"),p=lt("el-focus-trap"),m=lt("el-overlay");return b(),ae(tn,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=v=>e.$emit("vanish")),persisted:""},{default:d(()=>[fe(c(m,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:d(()=>[f("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:K(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...v)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...v)),onMousedown:t[9]||(t[9]=(...v)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...v)),onMouseup:t[10]||(t[10]=(...v)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...v))},[c(p,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:d(()=>[f("div",{ref:"rootRef",class:K([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:ut(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=mt(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(b(),F("div",{key:0,ref:"headerRef",class:K(e.ns.e("header"))},[f("div",{class:K(e.ns.e("title"))},[e.iconComponent&&e.center?(b(),ae(a,{key:0,class:K([e.ns.e("status"),e.typeClass])},{default:d(()=>[(b(),ae(Ct(e.iconComponent)))]),_:1},8,["class"])):oe("v-if",!0),f("span",null,re(e.title),1)],2),e.showClose?(b(),F("button",{key:0,type:"button",class:K(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=v=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=Bt(mt(v=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[c(a,{class:K(e.ns.e("close"))},{default:d(()=>[c(r)]),_:1},8,["class"])],42,Bre)):oe("v-if",!0)],2)):oe("v-if",!0),f("div",{id:e.contentId,class:K(e.ns.e("content"))},[f("div",{class:K(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(b(),ae(a,{key:0,class:K([e.ns.e("status"),e.typeClass])},{default:d(()=>[(b(),ae(Ct(e.iconComponent)))]),_:1},8,["class"])):oe("v-if",!0),e.hasMessage?(b(),F("div",{key:1,class:K(e.ns.e("message"))},[ze(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(b(),ae(Ct(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(b(),ae(Ct(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:d(()=>[A(re(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):oe("v-if",!0)],2),fe(f("div",{class:K(e.ns.e("input"))},[c(s,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=v=>e.inputValue=v),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:K({invalid:e.validateError}),onKeydown:Bt(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),f("div",{class:K(e.ns.e("errormsg")),style:ut({visibility:e.editorErrorMessage?"visible":"hidden"})},re(e.editorErrorMessage),7)],2),[[ge,e.showInput]])],10,xre),f("div",{class:K(e.ns.e("btns"))},[e.showCancelButton?(b(),ae(i,{key:0,loading:e.cancelButtonLoading,class:K([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=v=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=Bt(mt(v=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:d(()=>[A(re(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","class","round","size"])):oe("v-if",!0),fe(c(i,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:K([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=v=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=Bt(mt(v=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:d(()=>[A(re(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","class","round","disabled","size"]),[[ge,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,Dre)]),_:3},8,["z-index","overlay-class","mask"]),[[ge,e.visible]])]),_:3})}var Sre=We(Are,[["render",$re],["__file","/home/runner/work/element-plus/element-plus/packages/components/message-box/src/index.vue"]]);const ia=new Map,kre=(e,t,n=null)=>{const o=c(Sre,e,Ge(e.message)||cn(e.message)?{default:Ge(e.message)?e.message:()=>e.message}:null);return o.appContext=n,nu(o,t),document.body.appendChild(t.firstElementChild),o.component},Pre=()=>document.createElement("div"),Lre=(e,t)=>{const n=Pre();e.onVanish=()=>{nu(null,n),ia.delete(l)},e.onAction=u=>{const a=ia.get(l);let r;e.showInput?r={value:l.inputValue,action:u}:r=u,e.callback?e.callback(r,o.proxy):u==="cancel"||u==="close"?e.distinguishCancelAndClose&&u!=="cancel"?a.reject("close"):a.reject("cancel"):a.resolve(r)};const o=kre(e,n,t),l=o.proxy;for(const u in e)st(e,u)&&!st(l.$props,u)&&(l[u]=e[u]);return l.visible=!0,l};function Au(e,t=null){if(!_t)return Promise.reject();let n;return tt(e)||cn(e)?e={message:e}:n=e.callback,new Promise((o,l)=>{const u=Lre(e,t!=null?t:Au._context);ia.set(u,{options:e,callback:n,resolve:o,reject:l})})}const Tre=["alert","confirm","prompt"],zre={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};Tre.forEach(e=>{Au[e]=Mre(e)});function Mre(e){return(t,n,o,l)=>{let u="";return dt(n)?(o=n,u=""):jn(n)?u="":u=n,Au(Object.assign({title:u,message:t,type:"",...zre[e]},o,{boxType:e}),l)}}Au.close=()=>{ia.forEach((e,t)=>{t.doClose()}),ia.clear()};Au._context=null;const jo=Au;jo.install=e=>{jo._context=e._context,e.config.globalProperties.$msgbox=jo,e.config.globalProperties.$messageBox=jo,e.config.globalProperties.$alert=jo.alert,e.config.globalProperties.$confirm=jo.confirm,e.config.globalProperties.$prompt=jo.prompt};const $t=jo,z6=["success","info","warning","error"],Vre=et({customClass:{type:String,default:""},dangerouslyUseHTMLString:{type:Boolean,default:!1},duration:{type:Number,default:4500},icon:{type:Tt},id:{type:String,default:""},message:{type:He([String,Object]),default:""},offset:{type:Number,default:0},onClick:{type:He(Function),default:()=>{}},onClose:{type:He(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...z6,""],default:""},zIndex:{type:Number,default:0}}),Ire={destroy:()=>!0},Hre=["id"],Rre=["textContent"],Nre={key:0},Ore=["innerHTML"],Ure=le({name:"ElNotification"}),Wre=le({...Ure,props:Vre,emits:Ire,setup(e,{expose:t}){const n=e,o=Ve("notification"),{Close:l}=Uf,u=L(!1);let a;const r=U(()=>{const w=n.type;return w&&au[n.type]?o.m(w):""}),s=U(()=>n.type&&au[n.type]||n.icon),i=U(()=>n.position.endsWith("right")?"right":"left"),p=U(()=>n.position.startsWith("top")?"top":"bottom"),m=U(()=>({[p.value]:`${n.offset}px`,zIndex:n.zIndex}));function v(){n.duration>0&&({stop:a}=uu(()=>{u.value&&g()},n.duration))}function _(){a==null||a()}function g(){u.value=!1}function y({code:w}){w===Lt.delete||w===Lt.backspace?_():w===Lt.esc?u.value&&g():v()}return ot(()=>{v(),u.value=!0}),Gt(document,"keydown",y),t({visible:u,close:g}),(w,E)=>(b(),ae(tn,{name:h(o).b("fade"),onBeforeLeave:w.onClose,onAfterLeave:E[1]||(E[1]=D=>w.$emit("destroy")),persisted:""},{default:d(()=>[fe(f("div",{id:w.id,class:K([h(o).b(),w.customClass,h(i)]),style:ut(h(m)),role:"alert",onMouseenter:_,onMouseleave:v,onClick:E[0]||(E[0]=(...D)=>w.onClick&&w.onClick(...D))},[h(s)?(b(),ae(h(rt),{key:0,class:K([h(o).e("icon"),h(r)])},{default:d(()=>[(b(),ae(Ct(h(s))))]),_:1},8,["class"])):oe("v-if",!0),f("div",{class:K(h(o).e("group"))},[f("h2",{class:K(h(o).e("title")),textContent:re(w.title)},null,10,Rre),fe(f("div",{class:K(h(o).e("content")),style:ut(w.title?void 0:{margin:0})},[ze(w.$slots,"default",{},()=>[w.dangerouslyUseHTMLString?(b(),F(Oe,{key:1},[oe(" Caution here, message could've been compromised, never use user's input as message "),f("p",{innerHTML:w.message},null,8,Ore)],2112)):(b(),F("p",Nre,re(w.message),1))])],6),[[ge,w.message]]),w.showClose?(b(),ae(h(rt),{key:0,class:K(h(o).e("closeBtn")),onClick:mt(g,["stop"])},{default:d(()=>[c(h(l))]),_:1},8,["class","onClick"])):oe("v-if",!0)],2)],46,Hre),[[ge,u.value]])]),_:3},8,["name","onBeforeLeave"]))}});var qre=We(Wre,[["__file","/home/runner/work/element-plus/element-plus/packages/components/notification/src/notification.vue"]]);const Br={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},Ei=16;let jre=1;const vu=function(e={},t=null){if(!_t)return{close:()=>{}};(typeof e=="string"||cn(e))&&(e={message:e});const n=e.position||"top-right";let o=e.offset||0;Br[n].forEach(({vm:m})=>{var v;o+=(((v=m.el)==null?void 0:v.offsetHeight)||0)+Ei}),o+=Ei;const{nextZIndex:l}=Ml(),u=`notification_${jre++}`,a=e.onClose,r={...e,zIndex:l(),offset:o,id:u,onClose:()=>{Kre(u,n,a)}};let s=document.body;nl(e.appendTo)?s=e.appendTo:tt(e.appendTo)&&(s=document.querySelector(e.appendTo)),nl(s)||(s=document.body);const i=document.createElement("div"),p=c(qre,r,cn(r.message)?{default:()=>r.message}:null);return p.appContext=t!=null?t:vu._context,p.props.onDestroy=()=>{nu(null,i)},nu(p,i),Br[n].push({vm:p}),s.appendChild(i.firstElementChild),{close:()=>{p.component.exposed.visible.value=!1}}};z6.forEach(e=>{vu[e]=(t={})=>((typeof t=="string"||cn(t))&&(t={message:t}),vu({...t,type:e}))});function Kre(e,t,n){const o=Br[t],l=o.findIndex(({vm:i})=>{var p;return((p=i.component)==null?void 0:p.props.id)===e});if(l===-1)return;const{vm:u}=o[l];if(!u)return;n==null||n(u);const a=u.el.offsetHeight,r=t.split("-")[0];o.splice(l,1);const s=o.length;if(!(s<1))for(let i=l;i{t.component.exposed.visible.value=!1})}vu.closeAll=Gre;vu._context=null;const Yre=qf(vu,"$notify");var jc={exports:{}},M6=function(t,n){return function(){for(var l=new Array(arguments.length),u=0;u0;)u=o[l],a[u]||(t[u]=e[u],a[u]=!0);e=Object.getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t}function vse(e,t,n){e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;var o=e.indexOf(t,n);return o!==-1&&o===n}function hse(e){if(!e)return null;var t=e.length;if(xr(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n}var _se=function(e){return function(t){return e&&t instanceof e}}(typeof Uint8Array!="undefined"&&Object.getPrototypeOf(Uint8Array)),qt={isArray:Yc,isArrayBuffer:V6,isBuffer:Jre,isFormData:ase,isArrayBufferView:Qre,isString:Zre,isNumber:ese,isObject:I6,isPlainObject:ir,isUndefined:xr,isDate:tse,isFile:nse,isBlob:ose,isFunction:Xc,isStream:use,isURLSearchParams:rse,isStandardBrowserEnv:ise,forEach:Jc,merge:Fi,extend:cse,trim:sse,stripBOM:dse,inherits:fse,toFlatObject:pse,kindOf:Gc,kindOfTest:Hl,endsWith:vse,toArray:hse,isTypedArray:_se,isFileList:lse},Ol=qt;function xd(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var H6=function(t,n,o){if(!n)return t;var l;if(o)l=o(n);else if(Ol.isURLSearchParams(n))l=n.toString();else{var u=[];Ol.forEach(n,function(s,i){s===null||typeof s=="undefined"||(Ol.isArray(s)?i=i+"[]":s=[s],Ol.forEach(s,function(m){Ol.isDate(m)?m=m.toISOString():Ol.isObject(m)&&(m=JSON.stringify(m)),u.push(xd(i)+"="+xd(m))}))}),l=u.join("&")}if(l){var a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+l}return t},mse=qt;function ls(){this.handlers=[]}ls.prototype.use=function(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1};ls.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};ls.prototype.forEach=function(t){mse.forEach(this.handlers,function(o){o!==null&&t(o)})};var gse=ls,bse=qt,yse=function(t,n){bse.forEach(t,function(l,u){u!==n&&u.toUpperCase()===n.toUpperCase()&&(t[n]=l,delete t[u])})},R6=qt;function hu(e,t,n,o,l){Error.call(this),this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),l&&(this.response=l)}R6.inherits(hu,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var N6=hu.prototype,O6={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(e){O6[e]={value:e}});Object.defineProperties(hu,O6);Object.defineProperty(N6,"isAxiosError",{value:!0});hu.from=function(e,t,n,o,l,u){var a=Object.create(N6);return R6.toFlatObject(e,a,function(s){return s!==Error.prototype}),hu.call(a,e.message,t,n,o,l),a.name=e.name,u&&Object.assign(a,u),a};var Du=hu,U6={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},On=qt;function wse(e,t){t=t||new FormData;var n=[];function o(u){return u===null?"":On.isDate(u)?u.toISOString():On.isArrayBuffer(u)||On.isTypedArray(u)?typeof Blob=="function"?new Blob([u]):Buffer.from(u):u}function l(u,a){if(On.isPlainObject(u)||On.isArray(u)){if(n.indexOf(u)!==-1)throw Error("Circular reference detected in "+a);n.push(u),On.forEach(u,function(s,i){if(!On.isUndefined(s)){var p=a?a+"."+i:i,m;if(s&&!a&&typeof s=="object"){if(On.endsWith(i,"{}"))s=JSON.stringify(s);else if(On.endsWith(i,"[]")&&(m=On.toArray(s))){m.forEach(function(v){!On.isUndefined(v)&&t.append(p,o(v))});return}}l(s,p)}}),n.pop()}else t.append(a,o(u))}return l(e),t}var W6=wse,$s=Du,Cse=function(t,n,o){var l=o.config.validateStatus;!o.status||!l||l(o.status)?t(o):n(new $s("Request failed with status code "+o.status,[$s.ERR_BAD_REQUEST,$s.ERR_BAD_RESPONSE][Math.floor(o.status/100)-4],o.config,o.request,o))},Wa=qt,Ese=Wa.isStandardBrowserEnv()?function(){return{write:function(n,o,l,u,a,r){var s=[];s.push(n+"="+encodeURIComponent(o)),Wa.isNumber(l)&&s.push("expires="+new Date(l).toGMTString()),Wa.isString(u)&&s.push("path="+u),Wa.isString(a)&&s.push("domain="+a),r===!0&&s.push("secure"),document.cookie=s.join("; ")},read:function(n){var o=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return o?decodeURIComponent(o[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),Fse=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},Ase=function(t,n){return n?t.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):t},Dse=Fse,Bse=Ase,q6=function(t,n){return t&&!Dse(n)?Bse(t,n):n},Ss=qt,xse=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],$se=function(t){var n={},o,l,u;return t&&Ss.forEach(t.split(` `),function(r){if(u=r.indexOf(":"),o=Ss.trim(r.substr(0,u)).toLowerCase(),l=Ss.trim(r.substr(u+1)),o){if(n[o]&&xse.indexOf(o)>=0)return;o==="set-cookie"?n[o]=(n[o]?n[o]:[]).concat([l]):n[o]=n[o]?n[o]+", "+l:l}}),n},$d=qt,Sse=$d.isStandardBrowserEnv()?function(){var t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a"),o;function l(u){var a=u;return t&&(n.setAttribute("href",a),a=n.href),n.setAttribute("href",a),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return o=l(window.location.href),function(a){var r=$d.isString(a)?l(a):a;return r.protocol===o.protocol&&r.host===o.host}}():function(){return function(){return!0}}(),Ai=Du,kse=qt;function j6(e){Ai.call(this,e==null?"canceled":e,Ai.ERR_CANCELED),this.name="CanceledError"}kse.inherits(j6,Ai,{__CANCEL__:!0});var us=j6,Pse=function(t){var n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return n&&n[1]||""},Tu=qt,Lse=Cse,Tse=Ese,zse=H6,Mse=q6,Vse=$se,Ise=Sse,Hse=U6,go=Du,Rse=us,Nse=Pse,Sd=function(t){return new Promise(function(o,l){var u=t.data,a=t.headers,r=t.responseType,s;function i(){t.cancelToken&&t.cancelToken.unsubscribe(s),t.signal&&t.signal.removeEventListener("abort",s)}Tu.isFormData(u)&&Tu.isStandardBrowserEnv()&&delete a["Content-Type"];var p=new XMLHttpRequest;if(t.auth){var m=t.auth.username||"",v=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";a.Authorization="Basic "+btoa(m+":"+v)}var _=Mse(t.baseURL,t.url);p.open(t.method.toUpperCase(),zse(_,t.params,t.paramsSerializer),!0),p.timeout=t.timeout;function g(){if(!!p){var E="getAllResponseHeaders"in p?Vse(p.getAllResponseHeaders()):null,D=!r||r==="text"||r==="json"?p.responseText:p.response,C={data:D,status:p.status,statusText:p.statusText,headers:E,config:t,request:p};Lse(function($){o($),i()},function($){l($),i()},C),p=null}}if("onloadend"in p?p.onloadend=g:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(g)},p.onabort=function(){!p||(l(new go("Request aborted",go.ECONNABORTED,t,p)),p=null)},p.onerror=function(){l(new go("Network Error",go.ERR_NETWORK,t,p,p)),p=null},p.ontimeout=function(){var D=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",C=t.transitional||Hse;t.timeoutErrorMessage&&(D=t.timeoutErrorMessage),l(new go(D,C.clarifyTimeoutError?go.ETIMEDOUT:go.ECONNABORTED,t,p)),p=null},Tu.isStandardBrowserEnv()){var y=(t.withCredentials||Ise(_))&&t.xsrfCookieName?Tse.read(t.xsrfCookieName):void 0;y&&(a[t.xsrfHeaderName]=y)}"setRequestHeader"in p&&Tu.forEach(a,function(D,C){typeof u=="undefined"&&C.toLowerCase()==="content-type"?delete a[C]:p.setRequestHeader(C,D)}),Tu.isUndefined(t.withCredentials)||(p.withCredentials=!!t.withCredentials),r&&r!=="json"&&(p.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&p.addEventListener("progress",t.onDownloadProgress),typeof t.onUploadProgress=="function"&&p.upload&&p.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(s=function(E){!p||(l(!E||E&&E.type?new Rse:E),p.abort(),p=null)},t.cancelToken&&t.cancelToken.subscribe(s),t.signal&&(t.signal.aborted?s():t.signal.addEventListener("abort",s))),u||(u=null);var w=Nse(_);if(w&&["http","https","file"].indexOf(w)===-1){l(new go("Unsupported protocol "+w+":",go.ERR_BAD_REQUEST,t));return}p.send(u)})},Ose=null,Vt=qt,kd=yse,Pd=Du,Use=U6,Wse=W6,qse={"Content-Type":"application/x-www-form-urlencoded"};function Ld(e,t){!Vt.isUndefined(e)&&Vt.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function jse(){var e;return(typeof XMLHttpRequest!="undefined"||typeof process!="undefined"&&Object.prototype.toString.call(process)==="[object process]")&&(e=Sd),e}function Kse(e,t,n){if(Vt.isString(e))try{return(t||JSON.parse)(e),Vt.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}var as={transitional:Use,adapter:jse(),transformRequest:[function(t,n){if(kd(n,"Accept"),kd(n,"Content-Type"),Vt.isFormData(t)||Vt.isArrayBuffer(t)||Vt.isBuffer(t)||Vt.isStream(t)||Vt.isFile(t)||Vt.isBlob(t))return t;if(Vt.isArrayBufferView(t))return t.buffer;if(Vt.isURLSearchParams(t))return Ld(n,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var o=Vt.isObject(t),l=n&&n["Content-Type"],u;if((u=Vt.isFileList(t))||o&&l==="multipart/form-data"){var a=this.env&&this.env.FormData;return Wse(u?{"files[]":t}:t,a&&new a)}else if(o||l==="application/json")return Ld(n,"application/json"),Kse(t);return t}],transformResponse:[function(t){var n=this.transitional||as.transitional,o=n&&n.silentJSONParsing,l=n&&n.forcedJSONParsing,u=!o&&this.responseType==="json";if(u||l&&Vt.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(u)throw a.name==="SyntaxError"?Pd.from(a,Pd.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ose},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};Vt.forEach(["delete","get","head"],function(t){as.headers[t]={}});Vt.forEach(["post","put","patch"],function(t){as.headers[t]=Vt.merge(qse)});var Qc=as,Gse=qt,Yse=Qc,Xse=function(t,n,o){var l=this||Yse;return Gse.forEach(o,function(a){t=a.call(l,t,n)}),t},K6=function(t){return!!(t&&t.__CANCEL__)},Td=qt,ks=Xse,Jse=K6,Qse=Qc,Zse=us;function Ps(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Zse}var eie=function(t){Ps(t),t.headers=t.headers||{},t.data=ks.call(t,t.data,t.headers,t.transformRequest),t.headers=Td.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),Td.forEach(["delete","get","head","post","put","patch","common"],function(l){delete t.headers[l]});var n=t.adapter||Qse.adapter;return n(t).then(function(l){return Ps(t),l.data=ks.call(t,l.data,l.headers,t.transformResponse),l},function(l){return Jse(l)||(Ps(t),l&&l.response&&(l.response.data=ks.call(t,l.response.data,l.response.headers,t.transformResponse))),Promise.reject(l)})},gn=qt,G6=function(t,n){n=n||{};var o={};function l(p,m){return gn.isPlainObject(p)&&gn.isPlainObject(m)?gn.merge(p,m):gn.isPlainObject(m)?gn.merge({},m):gn.isArray(m)?m.slice():m}function u(p){if(gn.isUndefined(n[p])){if(!gn.isUndefined(t[p]))return l(void 0,t[p])}else return l(t[p],n[p])}function a(p){if(!gn.isUndefined(n[p]))return l(void 0,n[p])}function r(p){if(gn.isUndefined(n[p])){if(!gn.isUndefined(t[p]))return l(void 0,t[p])}else return l(void 0,n[p])}function s(p){if(p in n)return l(t[p],n[p]);if(p in t)return l(void 0,t[p])}var i={url:a,method:a,data:a,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:s};return gn.forEach(Object.keys(t).concat(Object.keys(n)),function(m){var v=i[m]||u,_=v(m);gn.isUndefined(_)&&v!==s||(o[m]=_)}),o},Y6={version:"0.27.2"},tie=Y6.version,Go=Du,Zc={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){Zc[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});var zd={};Zc.transitional=function(t,n,o){function l(u,a){return"[Axios v"+tie+"] Transitional option '"+u+"'"+a+(o?". "+o:"")}return function(u,a,r){if(t===!1)throw new Go(l(a," has been removed"+(n?" in "+n:"")),Go.ERR_DEPRECATED);return n&&!zd[a]&&(zd[a]=!0,console.warn(l(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(u,a,r):!0}};function nie(e,t,n){if(typeof e!="object")throw new Go("options must be an object",Go.ERR_BAD_OPTION_VALUE);for(var o=Object.keys(e),l=o.length;l-- >0;){var u=o[l],a=t[u];if(a){var r=e[u],s=r===void 0||a(r,u,e);if(s!==!0)throw new Go("option "+u+" must be "+s,Go.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Go("Unknown option "+u,Go.ERR_BAD_OPTION)}}var oie={assertOptions:nie,validators:Zc},X6=qt,lie=H6,Md=gse,Vd=eie,rs=G6,uie=q6,J6=oie,Ul=J6.validators;function _u(e){this.defaults=e,this.interceptors={request:new Md,response:new Md}}_u.prototype.request=function(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=rs(this.defaults,n),n.method?n.method=n.method.toLowerCase():this.defaults.method?n.method=this.defaults.method.toLowerCase():n.method="get";var o=n.transitional;o!==void 0&&J6.assertOptions(o,{silentJSONParsing:Ul.transitional(Ul.boolean),forcedJSONParsing:Ul.transitional(Ul.boolean),clarifyTimeoutError:Ul.transitional(Ul.boolean)},!1);var l=[],u=!0;this.interceptors.request.forEach(function(_){typeof _.runWhen=="function"&&_.runWhen(n)===!1||(u=u&&_.synchronous,l.unshift(_.fulfilled,_.rejected))});var a=[];this.interceptors.response.forEach(function(_){a.push(_.fulfilled,_.rejected)});var r;if(!u){var s=[Vd,void 0];for(Array.prototype.unshift.apply(s,l),s=s.concat(a),r=Promise.resolve(n);s.length;)r=r.then(s.shift(),s.shift());return r}for(var i=n;l.length;){var p=l.shift(),m=l.shift();try{i=p(i)}catch(v){m(v);break}}try{r=Vd(i)}catch(v){return Promise.reject(v)}for(;a.length;)r=r.then(a.shift(),a.shift());return r};_u.prototype.getUri=function(t){t=rs(this.defaults,t);var n=uie(t.baseURL,t.url);return lie(n,t.params,t.paramsSerializer)};X6.forEach(["delete","get","head","options"],function(t){_u.prototype[t]=function(n,o){return this.request(rs(o||{},{method:t,url:n,data:(o||{}).data}))}});X6.forEach(["post","put","patch"],function(t){function n(o){return function(u,a,r){return this.request(rs(r||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:u,data:a}))}}_u.prototype[t]=n(),_u.prototype[t+"Form"]=n(!0)});var aie=_u,rie=us;function mu(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(l){t=l});var n=this;this.promise.then(function(o){if(!!n._listeners){var l,u=n._listeners.length;for(l=0;l1&&arguments[1]!==void 0?arguments[1]:{container:document.body},xe="";return typeof O=="string"?xe=D(O,ye):O instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(O==null?void 0:O.type)?xe=D(O.value,ye):(xe=_()(O),g("copy")),xe},B=C;function $(x){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?$=function(ye){return typeof ye}:$=function(ye){return ye&&typeof Symbol=="function"&&ye.constructor===Symbol&&ye!==Symbol.prototype?"symbol":typeof ye},$(x)}var k=function(){var O=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},ye=O.action,xe=ye===void 0?"copy":ye,Pe=O.container,he=O.target,Te=O.text;if(xe!=="copy"&&xe!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(he!==void 0)if(he&&$(he)==="object"&&he.nodeType===1){if(xe==="copy"&&he.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(xe==="cut"&&(he.hasAttribute("readonly")||he.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Te)return B(Te,{container:Pe});if(he)return xe==="cut"?w(he):B(he,{container:Pe})},P=k;function T(x){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?T=function(ye){return typeof ye}:T=function(ye){return ye&&typeof Symbol=="function"&&ye.constructor===Symbol&&ye!==Symbol.prototype?"symbol":typeof ye},T(x)}function H(x,O){if(!(x instanceof O))throw new TypeError("Cannot call a class as a function")}function j(x,O){for(var ye=0;ye0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof Pe.action=="function"?Pe.action:this.defaultAction,this.target=typeof Pe.target=="function"?Pe.target:this.defaultTarget,this.text=typeof Pe.text=="function"?Pe.text:this.defaultText,this.container=T(Pe.container)==="object"?Pe.container:document.body}},{key:"listenClick",value:function(Pe){var he=this;this.listener=m()(Pe,"click",function(Te){return he.onClick(Te)})}},{key:"onClick",value:function(Pe){var he=Pe.delegateTarget||Pe.currentTarget,Te=this.action(he)||"copy",je=P({action:Te,container:this.container,target:this.target(he),text:this.text(he)});this.emit(je?"success":"error",{action:Te,text:je,trigger:he,clearSelection:function(){he&&he.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(Pe){return Z("action",Pe)}},{key:"defaultTarget",value:function(Pe){var he=Z("target",Pe);if(he)return document.querySelector(he)}},{key:"defaultText",value:function(Pe){return Z("text",Pe)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(Pe){var he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return B(Pe,he)}},{key:"cut",value:function(Pe){return w(Pe)}},{key:"isSupported",value:function(){var Pe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],he=typeof Pe=="string"?[Pe]:Pe,Te=!!document.queryCommandSupported;return he.forEach(function(je){Te=Te&&!!document.queryCommandSupported(je)}),Te}}]),ye}(i()),Be=De},828:function(u){var a=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}function s(i,p){for(;i&&i.nodeType!==a;){if(typeof i.matches=="function"&&i.matches(p))return i;i=i.parentNode}}u.exports=s},438:function(u,a,r){var s=r(828);function i(v,_,g,y,w){var E=m.apply(this,arguments);return v.addEventListener(g,E,w),{destroy:function(){v.removeEventListener(g,E,w)}}}function p(v,_,g,y,w){return typeof v.addEventListener=="function"?i.apply(null,arguments):typeof g=="function"?i.bind(null,document).apply(null,arguments):(typeof v=="string"&&(v=document.querySelectorAll(v)),Array.prototype.map.call(v,function(E){return i(E,_,g,y,w)}))}function m(v,_,g,y){return function(w){w.delegateTarget=s(w.target,_),w.delegateTarget&&y.call(v,w)}}u.exports=p},879:function(u,a){a.node=function(r){return r!==void 0&&r instanceof HTMLElement&&r.nodeType===1},a.nodeList=function(r){var s=Object.prototype.toString.call(r);return r!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in r&&(r.length===0||a.node(r[0]))},a.string=function(r){return typeof r=="string"||r instanceof String},a.fn=function(r){var s=Object.prototype.toString.call(r);return s==="[object Function]"}},370:function(u,a,r){var s=r(879),i=r(438);function p(g,y,w){if(!g&&!y&&!w)throw new Error("Missing required arguments");if(!s.string(y))throw new TypeError("Second argument must be a String");if(!s.fn(w))throw new TypeError("Third argument must be a Function");if(s.node(g))return m(g,y,w);if(s.nodeList(g))return v(g,y,w);if(s.string(g))return _(g,y,w);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function m(g,y,w){return g.addEventListener(y,w),{destroy:function(){g.removeEventListener(y,w)}}}function v(g,y,w){return Array.prototype.forEach.call(g,function(E){E.addEventListener(y,w)}),{destroy:function(){Array.prototype.forEach.call(g,function(E){E.removeEventListener(y,w)})}}}function _(g,y,w){return i(document.body,g,y,w)}u.exports=p},817:function(u){function a(r){var s;if(r.nodeName==="SELECT")r.focus(),s=r.value;else if(r.nodeName==="INPUT"||r.nodeName==="TEXTAREA"){var i=r.hasAttribute("readonly");i||r.setAttribute("readonly",""),r.select(),r.setSelectionRange(0,r.value.length),i||r.removeAttribute("readonly"),s=r.value}else{r.hasAttribute("contenteditable")&&r.focus();var p=window.getSelection(),m=document.createRange();m.selectNodeContents(r),p.removeAllRanges(),p.addRange(m),s=p.toString()}return s}u.exports=a},279:function(u){function a(){}a.prototype={on:function(r,s,i){var p=this.e||(this.e={});return(p[r]||(p[r]=[])).push({fn:s,ctx:i}),this},once:function(r,s,i){var p=this;function m(){p.off(r,m),s.apply(i,arguments)}return m._=s,this.on(r,m,i)},emit:function(r){var s=[].slice.call(arguments,1),i=((this.e||(this.e={}))[r]||[]).slice(),p=0,m=i.length;for(p;p{const t=(e==null?void 0:e.appendToBody)===void 0?!0:e.appendToBody;return{toClipboard(n,o){return new Promise((l,u)=>{const a=document.createElement("button"),r=new vce(a,{text:()=>n,action:()=>"copy",container:o!==void 0?o:document.body});r.on("success",s=>{r.destroy(),l(s)}),r.on("error",s=>{r.destroy(),u(s)}),t&&document.body.appendChild(a),a.click(),t&&document.body.removeChild(a)})}}};function Di(e){hce().toClipboard(e)}const _ce=/^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^::([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:):([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){2}:([\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){4}:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$|^:((:[\da-fA-F]{1,4}){1,6}|:)$|^[\da-fA-F]{1,4}:((:[\da-fA-F]{1,4}){1,5}|:)$|^([\da-fA-F]{1,4}:){2}((:[\da-fA-F]{1,4}){1,4}|:)$|^([\da-fA-F]{1,4}:){3}((:[\da-fA-F]{1,4}){1,3}|:)$|^([\da-fA-F]{1,4}:){4}((:[\da-fA-F]{1,4}){1,2}|:)$|^([\da-fA-F]{1,4}:){5}:([\da-fA-F]{1,4})?$|^([\da-fA-F]{1,4}:){6}:$/;function mce(e){return _ce.test(e)}const Wd=["#status","#log","#whitelistset","#whitelists","#blacklists","#set","#login","#about","#ddns","#ddnstasklist","#ddnsset","#reverseproxylist","#ssl","#portforward","#portforwardset","#wol","#wolserviceset"];function ep(e){for(let t in Wd)if(Wd[t]==e)return!0;return!1}const gce=L("");function xt(e){let t=e.split(` `),n=new Array;for(let o in t){let l=t[o].replace(/^\s+|\s+$/g,"").replace(/<\/?.+?>/g,"").replace(/[\r\n]/g,"");l!=""&&n.push(l)}return n}function Zo(e){var t="";for(let n in e)t+=e[n]+"
";return t}function $n(e){var t="";for(let n in e)n!="0"&&(t+=` `),t+=e[n];return t}const Bi=[{value:2,label:"Error"},{value:3,label:"Warn"},{value:4,label:"Info"},{value:5,label:"Debug"},{value:6,label:"Trace"}],qd=e=>{if(e===0)return"0 B";var t=1e3,n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.floor(Math.log(e)/Math.log(t));return(e/Math.pow(t,o)).toPrecision(3)+" "+n[o]};function Yo(e){$t.alert(e,{confirmButtonText:"\u597D\u7684",callback:()=>{}})}function ne(e,t){Fre({message:t,type:e})}function so(e,t,n){Yre({title:e.substring(0,1).toUpperCase()+e.substring(1),message:t,type:e,duration:n})}var hn=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n};const kt=e=>(gu("data-v-a4c91d4e"),e=e(),bu(),e),bce={class:"PageRadius",style:{borderRadius:"base"}},yce={class:"formradius",style:{borderRadius:"base"}},wce={class:"AdminListenDivRadius"},Cce=kt(()=>f("p",null,"\u670D\u52A1\u7AEF\u8BBE\u7F6E",-1)),Ece=kt(()=>f("br",null,null,-1)),Fce=kt(()=>f("br",null,null,-1)),Ace={class:"AdminListenDivRadius"},Dce=kt(()=>f("p",null,"\u5BA2\u6237\u7AEF\u8BBE\u7F6E",-1)),Bce=kt(()=>f("br",null,null,-1)),xce=kt(()=>f("br",null,null,-1)),$ce=kt(()=>f("br",null,null,-1)),Sce=kt(()=>f("br",null,null,-1)),kce=kt(()=>f("br",null,null,-1)),Pce=kt(()=>f("br",null,null,-1)),Lce=kt(()=>f("br",null,null,-1)),Tce=kt(()=>f("br",null,null,-1)),zce=["innerHTML"],Mce=kt(()=>f("br",null,null,-1)),Vce=kt(()=>f("br",null,null,-1)),Ice=kt(()=>f("br",null,null,-1)),Hce=kt(()=>f("br",null,null,-1)),Rce=kt(()=>f("br",null,null,-1)),Nce=kt(()=>f("br",null,null,-1)),Oce=kt(()=>f("br",null,null,-1)),Uce={class:"AdminListenDivRadius"},Wce=kt(()=>f("br",null,null,-1)),qce=kt(()=>f("br",null,null,-1)),jce=kt(()=>f("br",null,null,-1)),Kce=le({__name:"WOLServiceSet",setup(e){console.log("window.location.href "+window.location.href),console.log("window.location.port "+window.location.port),console.log("window.location.host "+window.location.host),console.log("window.location "+JSON.stringify(window.location)),L(!1);const t=L([{IP:"",BroadcastIP:""}]),n=L([{label:"windows\u5173\u673A\u6307\u4EE4",value:"Shutdown /s /t 0"},{label:"Linux\u5173\u673A\u6307\u4EE4",value:"poweroff"},{label:"windows\u4F11\u7720\u6307\u4EE4",value:"rundll32.exe powrprof.dll,SetSuspendState 0,1,0"},{label:"\u81EA\u5B9A\u4E49",value:""}]),o=L([{NetInterfaceName:"",HardwareAddr:"",AddressList:[{IP:"",BroadcastIP:""}]}]),l=y=>{let w=new Array;for(let E in y)w.push(y[E].IP);return w},u=y=>{if(y!=""){for(let w in o.value)if(o.value[w].HardwareAddr==y){t.value=o.value[w].AddressList;break}t.value.length<=0||(p.value.Client.BroadcastIP=t.value[0].BroadcastIP)}},a={Server:{Enable:!1,Token:""},Client:{Enable:!1,ServerURL:"",Token:"",Relay:!1,Key:"",DeviceName:"",Mac:"",BroadcastIP:"",Port:9,Repeat:5,PowerOffCMD:""}},r=L(""),s=L(""),i=L(-1),p=L(a);L(a);const m=()=>{fce().then(y=>{if(y.ret==0){o.value=y.list,u(p.value.Client.Mac);return}ne("error","\u83B7\u53D6Ipv4\u7F51\u5361\u4FE1\u606F\u5217\u8868\u51FA\u9519"+y.msg)}).catch(y=>{console.log("\u83B7\u53D6Ipv4\u7F51\u5361\u4FE1\u606F\u5217\u8868\u51FA\u9519:"+y),ne("error","\u83B7\u53D6Ipv4\u7F51\u5361\u4FE1\u606F\u5217\u8868\u51FA\u9519")})},v=()=>{cce().then(y=>{if(y.ret==0){p.value=y.configure,r.value=y.ClientState,s.value=y.ClientStateMsg,i.value=y.serviceStatus;return}ne("error","\u83B7\u53D6\u5524\u9192\u670D\u52A1\u914D\u7F6E\u51FA\u9519")}).catch(y=>{console.log("\u83B7\u53D6\u5524\u9192\u670D\u52A1\u914D\u7F6E\u51FA\u9519:"+y),ne("error","\u83B7\u53D6\u5524\u9192\u670D\u52A1\u914D\u7F6E\u51FA\u9519")})},_=y=>{var w="\u5B89\u88C5Lucky\u670D\u52A1";y=="unstall"?w="\u5378\u8F7DLucky\u670D\u52A1":y=="start"?w="\u542F\u52A8Lucky\u670D\u52A1":y=="stop"?w="\u505C\u6B62lucky\u670D\u52A1":y=="restart"&&(w="\u91CD\u542Flucky\u670D\u52A1");var E="";y=="install"?E=` \u5B89\u88C5\u6210\u529F\u540Elucky\u4F1A\u91CD\u542F\u5E76\u4EE5windows\u540E\u53F0\u670D\u52A1\u65B9\u5F0F\u542F\u52A8,\u5230\u65F6\u9700\u91CD\u65B0\u767B\u5F55\u540E\u53F0`:y=="unstall"&&(E=` \u5378\u8F7D\u540Elucky\u4E5F\u4F1A\u968F\u4E4B\u9000\u51FA,\u5982\u6709\u9700\u8981\u8BF7\u624B\u52A8\u542F\u52A8`),$t.confirm("\u786E\u8BA4\u8981 "+w+" ?"+E,"Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{pce(y).then(D=>{if(D.ret==0){ne("success",w+"\u6210\u529F"),y==1&&ne("success","\u8BF7\u91CD\u65B0\u542F\u52A8\u7CFB\u7EDF\u540E\u6267\u884C\u8F93\u5165\u540E\u53F0\u7F51\u7AD9,\u786E\u8BA4lucky\u670D\u52A1\u5DF2\u6B63\u5E38\u81EA\u542F."),D.msg!=""&&ne("success",D.msg),i.value=D.status;return}console.log(w+" \u51FA\u9519:"+D.msg),ne("error",D.msg)}).catch(D=>{console.log("\u670D\u52A1\u72B6\u6001\u4FEE\u6539\u51FA\u9519,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+D),ne("error","\u670D\u52A1\u72B6\u6001\u4FEE\u6539\u51FA\u9519,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})})},g=()=>{dce(p.value).then(y=>{if(y.ret==0){ne("success","\u4FEE\u6539\u6210\u529F"),p.value=y.configure,setTimeout(()=>{v()},2e3);return}console.log("\u4FDD\u5B58\u914D\u7F6E\u51FA\u9519:"+y.msg),ne("error",y.msg)}).catch(y=>{console.log("\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+y),ne("error","\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})};return ot(()=>{v(),m()}),In(()=>{}),(y,w)=>{const E=rl,D=Bn,C=pn,B=nn,$=Ic,k=vn,P=Ea,T=Ca,H=eo,j=Hn,X=Yt;return b(),F("div",bce,[c(X,{height:"100%"},{default:d(()=>[f("div",yce,[c(j,{model:p.value,class:"SetForm","label-width":"auto"},{default:d(()=>[f("div",wce,[Cce,c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u88AB\u63A7\u5236\u7AEF\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A"),Ece]),default:d(()=>[c(D,{label:"\u670D\u52A1\u7AEF\u5F00\u5173"},{default:d(()=>[c(E,{modelValue:p.value.Server.Enable,"onUpdate:modelValue":w[0]||(w[0]=W=>p.value.Server.Enable=W),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",null,[c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5BA2\u6237\u7AEF\u767B\u5F55\u9700\u8981\u586B\u5199Token\u4E00\u81F4"),Fce]),default:d(()=>[c(D,{label:"\u8BA4\u8BC1Token"},{default:d(()=>[c(B,{modelValue:p.value.Server.Token,"onUpdate:modelValue":w[1]||(w[1]=W=>p.value.Server.Token=W),placeholder:"Token",autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,p.value.Server.Enable]])]),f("div",Ace,[Dce,c(D,{label:"\u5BA2\u6237\u7AEF\u5F00\u5173"},{default:d(()=>[c(E,{modelValue:p.value.Client.Enable,"onUpdate:modelValue":w[2]||(w[2]=W=>p.value.Client.Enable=W),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"]),c($,{direction:"vertical"}),fe(c(k,{size:"small"},{default:d(()=>[A(re(r.value),1)]),_:1},512),[[ge,!0]]),fe(c($,{direction:"vertical"},null,512),[[ge,s.value!=""]]),fe(c(k,{size:"small",type:"danger"},{default:d(()=>[A(re(s.value),1)]),_:1},512),[[ge,s.value!=""]])]),_:1}),fe(f("div",null,[c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u8FD9\u91CC\u586B\u4F60\u7684lucky\u540E\u53F0\u7BA1\u7406\u5730\u5740"),Bce,A(" \u6BD4\u5982:"),xce,A(" http://192.168.31.1:16601"),$ce,A(" \u6216\u8005"),Sce,A(" https://192.168.31.1:16601"),kce,A(" \u4FDD\u5B58\u914D\u7F6E\u540E\u4F1A\u81EA\u52A8\u8F6C\u4E3Aws://\u6216\u8005wss://\u5F00\u5934\u7684websocket\u534F\u8BAE\u5730\u5740."),Pce]),default:d(()=>[c(D,{label:"\u670D\u52A1\u7AEF\u5730\u5740"},{default:d(()=>[c(B,{modelValue:p.value.Client.ServerURL,"onUpdate:modelValue":w[3]||(w[3]=W=>p.value.Client.ServerURL=W),placeholder:"\u670D\u52A1\u5668\u5730\u5740",autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(D,{label:"Token"},{default:d(()=>[c(B,{modelValue:p.value.Client.Token,"onUpdate:modelValue":w[4]||(w[4]=W=>p.value.Client.Token=W),placeholder:"Token",autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5F53lucky\u670D\u52A1\u7AEF\u548C\u5F85\u5524\u9192\u8BBE\u5907\u4E0D\u5728\u540C\u4E00\u5C40\u57DF\u7F51\u65F6,\u53EF\u4EE5\u901A\u8FC7\u5177\u5907\u8F6C\u53D1\u7684\u5BA2\u6237\u7AEF\u8F6C\u53D1\u5524\u9192\u9B54\u6CD5\u5305"),Lce]),default:d(()=>[c(D,{label:"\u8F6C\u53D1\u5524\u9192\u5305"},{default:d(()=>[c(E,{modelValue:p.value.Client.Relay,"onUpdate:modelValue":w[5]||(w[5]=W=>p.value.Client.Relay=W),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1})]),_:1}),c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5728lucky\u670D\u52A1\u5668\u7F51\u7EDC\u5524\u9192\u8BBE\u5907\u5217\u8868\u663E\u793A\u7684\u8BBE\u5907\u540D\u79F0,\u4E0D\u80FD\u4E3A\u7A7A"),Tce]),default:d(()=>[c(D,{label:"\u8BBE\u5907\u540D\u79F0"},{default:d(()=>[c(B,{modelValue:p.value.Client.DeviceName,"onUpdate:modelValue":w[6]||(w[6]=W=>p.value.Client.DeviceName=W),placeholder:"\u8BBE\u5907\u540D\u79F0",autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(D,{label:"\u7F51\u5361\u7269\u7406\u5730\u5740"},{default:d(()=>[c(B,{modelValue:p.value.Client.Mac,"onUpdate:modelValue":w[8]||(w[8]=W=>p.value.Client.Mac=W),placeholder:"\u7F51\u5361\u7269\u7406\u5730\u5740",autocomplete:"off"},{append:d(()=>[c(T,{modelValue:p.value.Client.Mac,"onUpdate:modelValue":w[7]||(w[7]=W=>p.value.Client.Mac=W),placeholder:"\u7F51\u5361\u9009\u62E9",style:{width:"auto"},onChange:u},{default:d(()=>[(b(!0),F(Oe,null,it(o.value,W=>(b(),F("div",null,[c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:h(Zo)(l(W.AddressList))},null,8,zce)]),default:d(()=>[c(P,{label:W.NetInterfaceName,value:W.HardwareAddr},null,8,["label","value"])]),_:2},1024)]))),256))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1}),c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" 255.255.255.255\u5728\u591A\u6570\u73AF\u5883\u5931\u6548,\u4E0D\u8981\u4F7F\u7528"),Mce]),default:d(()=>[c(D,{label:"\u5E7F\u64AD\u5730\u5740"},{default:d(()=>[c(B,{modelValue:p.value.Client.BroadcastIP,"onUpdate:modelValue":w[10]||(w[10]=W=>p.value.Client.BroadcastIP=W),placeholder:"\u5E7F\u64AD\u5730\u5740",autocomplete:"off"},{append:d(()=>[c(T,{modelValue:p.value.Client.BroadcastIP,"onUpdate:modelValue":w[9]||(w[9]=W=>p.value.Client.BroadcastIP=W),placeholder:"\u5C40\u57DF\u7F51\u9009\u62E9",style:{width:"180px"}},{default:d(()=>[(b(!0),F(Oe,null,it(t.value,W=>(b(),F("div",null,[c(P,{label:W.IP,value:W.BroadcastIP},null,8,["label","value"])]))),256))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})]),_:1}),c(D,{label:"\u7AEF\u53E3"},{default:d(()=>[c(H,{modelValue:p.value.Client.Port,"onUpdate:modelValue":w[11]||(w[11]=W=>p.value.Client.Port=W),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5524\u9192\u9B54\u65B9\u5305\u91CD\u590D\u53D1\u9001\u6B21\u6570"),Vce]),default:d(()=>[c(D,{label:"\u91CD\u590D\u6B21\u6570"},{default:d(()=>[c(H,{modelValue:p.value.Client.Repeat,"onUpdate:modelValue":w[12]||(w[12]=W=>p.value.Client.Repeat=W),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" windows\u5173\u673A\u6307\u4EE4: Shutdown /s /t 0 "),Ice,A(" linux\u5173\u673A\u6307\u4EE4: poweroff "),Hce,A(" \u5982\u679C\u4F60\u53D1\u73B0\u4F60\u7684windows\u5173\u673A\u540E\u600E\u4E48\u4E5F\u5524\u4E0D\u9192,\u53EF\u4EE5\u8BD5\u8BD5\u4F7F\u7528\u4F11\u7720/\u7761\u7720 \u6307\u4EE4: rundll32.exe powrprof.dll,SetSuspendState 0,1,0 "),Rce,A(' \u6CE8\u610F\u65B0\u624B\u6CE8\u610F\u522B\u4F7F\u7528\u5176\u5B83\u672A\u77E5\u6307\u4EE4,\u6BD4\u5982"rm -rf"...'),Nce,A(" \u6570\u636E\u4E22\u5931\u6982\u4E0D\u8D1F\u8D23"),Oce]),default:d(()=>[c(D,{label:"\u5173\u673A\u6307\u4EE4"},{default:d(()=>[c(B,{modelValue:p.value.Client.PowerOffCMD,"onUpdate:modelValue":w[14]||(w[14]=W=>p.value.Client.PowerOffCMD=W),placeholder:"\u5173\u673A\u6307\u4EE4",autocomplete:"off"},{append:d(()=>[c(T,{modelValue:p.value.Client.PowerOffCMD,"onUpdate:modelValue":w[13]||(w[13]=W=>p.value.Client.PowerOffCMD=W),placeholder:"\u5173\u673A\u6307\u4EE4",style:{width:"160px"}},{default:d(()=>[(b(!0),F(Oe,null,it(n.value,W=>(b(),F("div",null,[c(P,{label:W.label,value:W.value},null,8,["label","value"])]))),256))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])]),_:1})]),_:1})],512),[[ge,p.value.Client.Enable]])]),fe(f("div",Uce,[c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5F53\u524DLucky windows\u670D\u52A1\u72B6\u6001"),Wce]),default:d(()=>[c(k,{type:"info",size:"small"},{default:d(()=>[A(re(i.value==0?"lucky\u670D\u52A1\u672A\u5B89\u88C5":i.value==1?"lucky\u670D\u52A1\u5DF2\u542F\u52A8":i.value==2?"luck\u670D\u52A1\u5DF2\u505C\u6B62":"\u672A\u77E5\u670D\u52A1\u72B6\u6001"),1)]),_:1})]),_:1}),c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5B89\u88C5windows\u670D\u52A1,lukcy\u53EF\u80FD\u9700\u8981\u4EE5\u7BA1\u7406\u5458\u8EAB\u4EFD\u8FD0\u884C\u624D\u80FD\u8BBE\u7F6E\u6210\u529F"),qce,A(" \u5B9E\u73B0lucky\u5F00\u673A\u81EA\u542F"),jce]),default:d(()=>[fe(c(k,{type:"warning",round:"",onClick:w[15]||(w[15]=W=>_("install"))},{default:d(()=>[A("\u5B89\u88C5Lucky windows\u670D\u52A1")]),_:1},512),[[ge,i.value==0]])]),_:1}),fe(c(k,{type:"danger",round:"",onClick:w[16]||(w[16]=W=>_("unstall"))},{default:d(()=>[A("\u5220\u9664Lucky windows\u670D\u52A1 ")]),_:1},512),[[ge,i.value>0]]),fe(f("div",null,[fe(c(k,{type:"info",size:"small",onClick:w[17]||(w[17]=W=>_("start"))},{default:d(()=>[A(" \u542F\u52A8lucky\u670D\u52A1 ")]),_:1},512),[[ge,i.value==2]]),fe(c(k,{type:"info",size:"small",onClick:w[18]||(w[18]=W=>_("stop"))},{default:d(()=>[A(" \u505C\u6B62lucky\u670D\u52A1 ")]),_:1},512),[[ge,i.value==1]]),c(k,{type:"info",size:"small",onClick:w[19]||(w[19]=W=>_("restart"))},{default:d(()=>[A(" \u91CD\u542Flucky\u670D\u52A1 ")]),_:1})],512),[[ge,i.value>0]])],512),[[ge,i.value>=0]])]),_:1},8,["model"]),c(k,{type:"primary",round:"",onClick:g},{default:d(()=>[A("\u4FDD\u5B58\u4FEE\u6539")]),_:1})])]),_:1})])}}});var Gce=hn(Kce,[["__scopeId","data-v-a4c91d4e"]]);const Yce={class:"PageRadius",style:{borderRadius:"base"}},Xce={class:"itemradius",style:{borderRadius:"base"}},Jce=["innerHTML"],Qce=f("br",null,null,-1),Zce=f("br",null,null,-1),e2e=["innerHTML"],t2e=f("br",null,null,-1),n2e=f("br",null,null,-1),o2e=["innerHTML"],l2e=f("br",null,null,-1),u2e=f("br",null,null,-1),a2e=["innerHTML"],r2e=["innerHTML"],s2e=f("br",null,null,-1),i2e=f("br",null,null,-1),c2e=f("br",null,null,-1),d2e=f("br",null,null,-1),f2e=f("br",null,null,-1),p2e=f("br",null,null,-1),v2e=f("br",null,null,-1),h2e=f("br",null,null,-1),_2e=f("br",null,null,-1),m2e=f("br",null,null,-1),g2e=f("br",null,null,-1),b2e=f("br",null,null,-1),y2e=f("br",null,null,-1),w2e=f("br",null,null,-1),C2e={class:"divRadius"},E2e=f("p",null,"\u7B2C\u4E09\u65B9\u7269\u8054\u7F51\u5E73\u53F0\u5BF9\u63A5-\u4EC5\u652F\u6301\u8BED\u97F3\u52A9\u624B\u63A7\u5236",-1),F2e={class:"divIOTRadius"},A2e=f("br",null,null,-1),D2e=f("br",null,null,-1),B2e=f("br",null,null,-1),x2e=f("br",null,null,-1),$2e=f("br",null,null,-1),S2e=f("br",null,null,-1),k2e=f("br",null,null,-1),P2e=f("br",null,null,-1),L2e=f("br",null,null,-1),T2e=f("br",null,null,-1),z2e=f("br",null,null,-1),M2e=f("br",null,null,-1),V2e=f("br",null,null,-1),I2e=f("br",null,null,-1),H2e=f("br",null,null,-1),R2e={class:"divIOTRadius"},N2e=f("br",null,null,-1),O2e=f("br",null,null,-1),U2e=f("br",null,null,-1),W2e=f("br",null,null,-1),q2e=f("br",null,null,-1),j2e=f("br",null,null,-1),K2e=f("br",null,null,-1),G2e=f("br",null,null,-1),Y2e=f("br",null,null,-1),X2e=f("br",null,null,-1),J2e=f("br",null,null,-1),Q2e=f("br",null,null,-1),Z2e=f("br",null,null,-1),e0e=f("br",null,null,-1),t0e={class:"dialog-footer"},n0e=le({__name:"WOL",setup(e){const t=L(!1),n=L(""),o=L(""),l=L(""),u=L(""),a=L(""),r=P=>{var T="";return P.DianDengClientState=="\u672A\u8BBE\u7F6E"?(T="\u672A\u8BBE\u7F6E",T):(T+="\u8BBE\u5907\u5BC6\u94A5:"+P.IOT_DianDeng_AUTHKEY+"
",T+="\u670D\u52A1\u5668\u8FDE\u63A5\u72B6\u6001:"+P.DianDengClientState+"
",P.DianDengClientState=="\u5DF2\u8FDE\u63A5"&&(T+="\u652F\u6301\u5C0F\u7231\u540C\u5B66 \u5C0F\u5EA6 \u5929\u732B\u7CBE\u7075
"),T)},s=P=>{var T="";return P.BemfaClientState=="\u672A\u8BBE\u7F6E"?(T="\u672A\u8BBE\u7F6E",T):(T+="\u79C1\u94A5:"+P.IOT_Bemfa_SecretKey+"
",T+="\u8BA2\u9605\u4E3B\u9898:"+P.IOT_Bemfa_Topic+"
",T+="\u670D\u52A1\u5668\u8FDE\u63A5\u72B6\u6001:"+P.BemfaClientState+"
",P.BemfaClientState=="\u5DF2\u8FDE\u63A5"&&(T+="\u652F\u6301\u5C0F\u7231\u540C\u5B66 \u5C0F\u5EA6 \u5929\u732B\u7CBE\u7075 google\u8BED\u97F3 AmazonAlexa
"),T)},i=P=>P.DianDengClientState=="\u5DF2\u8FDE\u63A5"?"success":"info",p=P=>P.BemfaClientState=="\u5DF2\u8FDE\u63A5"?"success":"info",m=L([{Key:"",DeviceName:"",MacList:[""],BroadcastIPs:[""],Port:9,Relay:!0,Repeat:5,State:"",OnlineMacList:[""],IOT_DianDeng_Enable:!1,IOT_DianDeng_AUTHKEY:"",DianDengClientState:"",IOT_Bemfa_Enable:!1,IOT_Bemfa_SecretKey:"",IOT_Bemfa_Topic:"",BemFaClientState:""}]),v=L({Key:"",DeviceName:"",MacList:[""],BroadcastIPs:[""],Port:9,Relay:!0,Repeat:5,IOT_DianDeng_Enable:!1,IOT_DianDeng_AUTHKEY:"",IOT_Bemfa_SecretKey:"",IOT_Bemfa_Topic:"",IOT_Bemfa_Enable:!1}),_=P=>{if(P.OnlineMacList==null||P.OnlineMacList==null||P.OnlineMacList.length<=0)return"\u6CA1\u6709\u8BBE\u5907\u5728\u7EBF";var T="\u5728\u7EBF\u8BBE\u5907\u5217\u8868:
";for(let H in P.OnlineMacList)T+=P.OnlineMacList[H]+"
";return T},g=P=>{const T=P.DeviceName==""?P.MacList[0]:P.DeviceName,H="["+T+"]";$t.confirm("\u786E\u8BA4\u8981\u5220\u9664\u5F85\u5524\u9192\u8BBE\u5907 "+H+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{console.log("\u786E\u8BA4\u5220\u9664 "+H),ace(P.Key).then(j=>{j.ret==0?($(),ne("success","\u5220\u9664\u6210\u529F")):ne("error",j.msg)}).catch(j=>{console.log("\u5220\u9664\u5524\u9192\u8BBE\u5907\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+j),ne("error","\u5220\u9664\u5524\u9192\u8BBE\u5907\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{})},y=P=>{const T=P.DeviceName==""?P.MacList[0]:P.DeviceName,H="["+T+"]";$t.confirm("\u786E\u8BA4\u8981\u5524\u9192\u8BBE\u5907 "+H+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{rce(P.Key).then(j=>{if(j.ret==0){ne("success","\u5524\u9192\u6307\u4EE4\u5DF2\u53D1\u9001"),$();return}ne("error",j.msg)}).catch(j=>{console.log("\u5524\u9192\u6307\u4EE4\u53D1\u9001\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+j),ne("error","\u5524\u9192\u6307\u4EE4\u53D1\u9001\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})})},w=P=>{const T=P.DeviceName==""?P.MacList[0]:P.DeviceName,H="["+T+"]";$t.confirm("\u786E\u8BA4\u8981\u5411\u8BBE\u5907 "+H+" \u53D1\u9001\u5173\u673A\u6307\u4EE4?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{sce(P.Key).then(j=>{if(j.ret==0){ne("success","\u5DF2\u5411\u5728\u7EBF\u8BBE\u5907\u53D1\u9001\u5173\u673A\u6307\u4EE4"),$();return}ne("error",j.msg)}).catch(j=>{console.log("\u5173\u673A\u6307\u4EE4\u53D1\u9001\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+j),ne("error","\u5173\u673A\u6307\u4EE4\u53D1\u9001\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})})},E=P=>{let T=P.indexOf("\u5728\u7EBF");return console.log("show: "+T),!(T>=0)},D=()=>{switch(v.value.BroadcastIPs=xt(u.value),v.value.MacList=xt(l.value),a.value){case"add":uce(v.value).then(P=>{if(P.ret==0){t.value=!1,ne("success","\u8BBE\u5907\u6DFB\u52A0\u6210\u529F"),$();return}ne("error",P.msg)}).catch(P=>{console.log("\u5524\u9192\u8BBE\u5907\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+P),ne("error","\u5524\u9192\u8BBE\u5907\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break;case"alter":ice(v.value).then(P=>{if(P.ret==0){t.value=!1,ne("success","\u8BBE\u5907\u4FEE\u6539\u6210\u529F"),$();return}ne("error",P.msg)}).catch(P=>{console.log("\u5524\u9192\u8BBE\u5907\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+P),ne("error","\u5524\u9192\u8BBE\u5907\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break}},C=P=>{o.value="\u4FEE\u6539",v.value={Key:P.Key,DeviceName:P.DeviceName,MacList:P.MacList,BroadcastIPs:P.BroadcastIPs,Port:P.Port,Relay:P.Relay,Repeat:P.Repeat,IOT_DianDeng_Enable:P.IOT_DianDeng_Enable,IOT_DianDeng_AUTHKEY:P.IOT_DianDeng_AUTHKEY,IOT_Bemfa_SecretKey:P.IOT_Bemfa_SecretKey,IOT_Bemfa_Topic:P.IOT_Bemfa_Topic,IOT_Bemfa_Enable:P.IOT_Bemfa_Enable},a.value="alter",l.value=$n(P.MacList),u.value=$n(P.BroadcastIPs),t.value=!0},B=()=>{o.value="\u6DFB\u52A0",v.value={Key:"",DeviceName:"",MacList:[""],BroadcastIPs:[""],Port:9,Relay:!0,Repeat:5,IOT_DianDeng_Enable:!1,IOT_DianDeng_AUTHKEY:"",IOT_Bemfa_Enable:!1,IOT_Bemfa_SecretKey:"",IOT_Bemfa_Topic:""},a.value="add",l.value="",u.value="",t.value=!0},$=()=>{lce().then(P=>{m.value=P.list}).catch(P=>{console.log("\u83B7\u53D6\u8BBE\u5907\u5217\u8868\u51FA\u9519:"+P),ne("error","\u83B7\u83B7\u53D6\u8BBE\u5907\u5217\u8868\u51FA\u9519")})};var k;return ot(()=>{$(),k=setInterval(()=>{$()},2e3)}),In(()=>{clearInterval(k)}),(P,T)=>{const H=vn,j=pn,X=ya,W=Ic,N=ba,J=Yt,be=lt("Plus"),ve=rt,Ee=Vl,te=nn,Z=Bn,De=eo,Be=rl,x=Il;return b(),F("div",Yce,[c(J,{height:"100%"},{default:d(()=>[f("div",Xce,[c(N,{column:4,border:""},{default:d(()=>[(b(!0),F(Oe,null,it(m.value,O=>(b(),F("div",null,[c(X,{label:"\u8BBE\u5907","label-class-name":"deviceNamelabelClass","class-name":"deviceNamecontentClass"},{default:d(()=>[fe(c(H,{size:"small"},{default:d(()=>[A(re(O.DeviceName==""?"\u672A\u547D\u540D\u8BBE\u5907":O.DeviceName),1)]),_:2},1536),[[ge,!0]]),c(j,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:_(O)},null,8,Jce)]),default:d(()=>[fe(c(H,{size:"small"},{default:d(()=>[A(re(O.State),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(X,{label:"\u64CD\u4F5C","label-class-name":"deviceOptlabelClass","class-name":"deviceOptcontentClass"},{default:d(()=>[c(H,{size:"small",type:"success",onClick:ye=>y(O)},{default:d(()=>[A(" \u5524\u9192 ")]),_:2},1032,["onClick"]),c(j,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5173\u673A"),Qce]),default:d(()=>[c(H,{size:"small",type:"danger",onClick:ye=>w(O),disabled:E(O.State)},{default:d(()=>[A(" \u5173\u673A ")]),_:2},1032,["onClick","disabled"])]),_:2},1024),A(" \xA0 \xA0 "),c(W,{direction:"vertical"}),A(" \xA0 \xA0 "),c(H,{size:"small",type:"primary",onClick:ye=>C(O)},{default:d(()=>[A(" \u7F16\u8F91 ")]),_:2},1032,["onClick"]),c(H,{size:"small",type:"danger",onClick:ye=>g(O)},{default:d(()=>[A(" \u5220\u9664 ")]),_:2},1032,["onClick"])]),_:2},1024),c(X,{label:"\u7269\u7406\u7F51\u5361\u5730\u5740","label-class-name":"deviceMaclabelClass","class-name":"deviceMaccontentClass"},{default:d(()=>[c(j,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u2193\u2193\u2193\u7269\u7406\u7F51\u5361\u5730\u5740\u2193\u2193\u2193"),Zce,f("span",{innerHTML:h(Zo)(O.MacList)},null,8,e2e),t2e,A(" \u2193\u2193\u2193\u9B54\u6CD5\u5305\u5730\u5740\u2193\u2193\u2193"),n2e,f("span",{innerHTML:h(Zo)(O.BroadcastIPs)},null,8,o2e),l2e,A(" \u7AEF\u53E3: "+re(O.Port)+" ",1),u2e]),default:d(()=>[fe(c(H,{size:"small"},{default:d(()=>[A(re(O.MacList.length==1?O.MacList[0]:O.MacList[0]+"..."),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(X,{label:"\u7269\u8054\u7F51\u5E73\u53F0","label-class-name":"deviceIOTlabelClass","class-name":"deviceIOTcontentClass"},{default:d(()=>[c(j,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:r(O)},null,8,a2e)]),default:d(()=>[fe(c(H,{size:"small",type:i(O)},{default:d(()=>[A(" \u70B9\u706F\u79D1\u6280 ")]),_:2},1032,["type"]),[[ge,O.IOT_DianDeng_Enable]])]),_:2},1024),c(j,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:s(O)},null,8,r2e)]),default:d(()=>[fe(c(H,{size:"small",type:p(O)},{default:d(()=>[A(" \u5DF4\u6CD5\u4E91 ")]),_:2},1032,["type"]),[[ge,O.IOT_Bemfa_Enable]])]),_:2},1024)]),_:2},1024)]))),256))]),_:1})])]),_:1}),c(Ee,{position:"bottom",offset:30,class:"affix-container"},{default:d(()=>[c(H,{type:"primary",round:!0,onClick:B},{default:d(()=>[A("\u6DFB\u52A0\u53EF\u5524\u9192\u7684\u8BBE\u5907 "),c(ve,{class:"el-icon--right"},{default:d(()=>[c(be)]),_:1})]),_:1})]),_:1}),t.value?(b(),ae(x,{key:0,modelValue:t.value,"onUpdate:modelValue":T[12]||(T[12]=O=>t.value=O),title:n.value,draggable:"","show-close":!0,"close-on-click-modal":!1,width:"400px"},{footer:d(()=>[f("span",t0e,[c(H,{onClick:T[11]||(T[11]=O=>t.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(H,{type:"primary",onClick:D},{default:d(()=>[A(re(o.value),1)]),_:1})])]),default:d(()=>[c(Z,{label:"\u8BBE\u5907\u540D\u79F0","label-width":"120px"},{default:d(()=>[c(te,{modelValue:v.value.DeviceName,"onUpdate:modelValue":T[0]||(T[0]=O=>v.value.DeviceName=O),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(j,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u6BCF\u884C\u586B\u5199\u4E00\u4E2AMAC"),s2e,A(" \u4E00\u822C\u60C5\u51B5\u586B\u5199\u4E00\u4E2AMAC\u5730\u5740\u5373\u53EF"),i2e]),default:d(()=>[c(Z,{"label-width":"120px",label:"\u8BBE\u5907MAC"},{default:d(()=>[c(te,{modelValue:l.value,"onUpdate:modelValue":T[1]||(T[1]=O=>l.value=O),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea",wrap:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(j,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E0D\u5EFA\u8BAE\u4F7F\u7528255.255.255.255"),c2e,A(" \u4E00\u822C\u5BB6\u7528\u60C5\u51B5,\u5982\u679C\u8DEF\u7531\u5668\u7684\u7BA1\u7406\u5730\u5740\u662F192.168.31.1,\u5219\u586B\u5199192.168.31.255\u4F5C\u4E3A\u5E7F\u64AD\u5730\u5740"),d2e,A(" \u83DC\u9E1F\u6CA1\u6CD5\u786E\u5B9A\u7684\u8BDD\u53EF\u7559\u7A7A,\u7A0B\u5E8F\u4F1A\u904D\u5386\u5168\u90E8IPV4\u5730\u5740\u53D1\u9001\u5E7F\u64AD"),f2e,A(" \u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u5E7F\u64AD\u5730\u5740"),p2e,A(" \u4E00\u822C\u60C5\u51B5\u586B\u5199\u4E00\u4E2A\u5E7F\u64AD\u5730\u5740\u5373\u53EF"),v2e]),default:d(()=>[c(Z,{"label-width":"120px",label:"\u9B54\u65B9\u5305\u5E7F\u64AD\u5730\u5740"},{default:d(()=>[c(te,{modelValue:u.value,"onUpdate:modelValue":T[2]||(T[2]=O=>u.value=O),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea",wrap:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(j,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u9ED8\u8BA4\u7AEF\u53E3\u4E3A9"),h2e,A(" \u6CA1\u7279\u6B8A\u60C5\u51B5\u4E0D\u8981\u4FEE\u6539"),_2e]),default:d(()=>[c(Z,{label:"\u7AEF\u53E3","label-width":"120px",min:1,max:65535},{default:d(()=>[c(De,{modelValue:v.value.Port,"onUpdate:modelValue":T[3]||(T[3]=O=>v.value.Port=O),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(j,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u6BCF\u6B21\u6267\u884C\u5524\u9192\u65F6\u91CD\u590D\u53D1\u9001\u9B54\u65B9\u5305\u7684\u6B21\u6570"),m2e,A(" \u53EF\u8BBE\u7F6E\u8303\u56F4(1-10)"),g2e]),default:d(()=>[c(Z,{label:"\u91CD\u590D\u6B21\u6570","label-width":"120px",min:1,max:10},{default:d(()=>[c(De,{modelValue:v.value.Repeat,"onUpdate:modelValue":T[4]||(T[4]=O=>v.value.Repeat=O),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(j,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E00\u822C\u60C5\u51B5\u5FFD\u7565\u5373\u53EF"),b2e,A(" \u76EE\u6807\u5524\u9192\u8BBE\u5907\u548Clucky\u4E0D\u5728\u540C\u4E00\u5C40\u57DF\u7F51\u65F6\u624D\u7528\u5F97\u4E0A\u8FD9\u4E2A\u5F00\u5173"),y2e,A(" \u53D1\u9001\u5E7F\u64AD\u7684\u540C\u65F6\u4EA4\u7ED9\u4E2D\u7EE7\u8BBE\u5907\u53D1\u9001"),w2e]),default:d(()=>[(b(),ae(Z,{key:0,label:"\u8F6C\u64AD\u5F00\u5173","label-width":"120px"},{default:d(()=>[c(Be,{modelValue:v.value.Relay,"onUpdate:modelValue":T[5]||(T[5]=O=>v.value.Relay=O),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}))]),_:1}),f("div",C2e,[E2e,f("div",F2e,[(b(),ae(Z,{key:0,label:"\u70B9\u706F\u79D1\u6280","label-width":"120px"},{default:d(()=>[c(Be,{modelValue:v.value.IOT_DianDeng_Enable,"onUpdate:modelValue":T[6]||(T[6]=O=>v.value.IOT_DianDeng_Enable=O),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})),fe(f("div",null,[c(j,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u7559\u7A7A\u8868\u793A\u4E0D\u542F\u7528\u8BE5\u5E73\u53F0\u5BF9\u63A5\u529F\u80FD"),A2e,D2e,A(" \u70B9\u706F\u79D1\u6280\u5B98\u7F51:https://www.diandeng.tech/home"),B2e,x2e,A(" \u5728\u624B\u673AAPP\u7AEF\u6CE8\u518C\u767B\u5F55-\u8BBE\u5907\u7BA1\u7406\u83DC\u5355-\u53F3\u4E0A\u65B9+\u53F7\u6309\u94AE-\u6DFB\u52A0\u70B9\u706F\u72EC\u7ACB\u8BBE\u5907-\u9009\u62E9\u7F51\u7EDC\u63A5\u5165-\u590D\u5236\u4FDD\u5B58-secrte-key\u5230\u4E0B\u65B9"),$2e,A(" \u76EE\u524D\u4EC5\u652F\u6301\u70B9\u706F-\u72EC\u7ACB\u8BBE\u5907\u7C7B\u578B,\u5728\u8BBE\u5907\u7BA1\u7406\u4FEE\u6539\u8BBE\u5907\u540D,\u8FD9\u91CC\u7684\u8BBE\u5907\u540D\u5C31\u662F\u4F60\u4EE5\u540E\u7528\u8BED\u97F3\u52A9\u624B\u63A7\u5236\u64CD\u4F5C\u8BBE\u5907\u65F6\u7684\u540D\u79F0."),S2e,k2e,A(' \u4EE5\u5C0F\u7231\u540C\u5B66\u4E3A\u4F8B,\u5728\u7C73\u5BB6APP\u53F3\u4E0B\u89D2"\u6211\u7684"-"\u5176\u5B83\u5E73\u53F0\u8BBE\u5907"-\u53F3\u4E0A\u65B9"\u6DFB\u52A0"-\u9009\u62E9"\u70B9\u706F\u79D1\u6280"\u767B\u5F55\u540C\u6B65\u540E\u5373\u53EF.'),P2e,A(" \u9700\u8981\u786E\u4FDD\u70B9\u706Fsecrte-key\u586B\u5199\u6B63\u786E,\u5728\u70B9\u706FAPP\u5DF2\u7ECF\u663E\u793A\u8BBE\u5907\u5728\u7EBF\u518D\u5728\u7C73\u5BB6\u6267\u884C\u540C\u6B65,\u6BCF\u6B21\u4FEE\u6539\u5B8C\u8BBE\u5907\u540D\u90FD\u8981\u91CD\u65B0\u540C\u6B65."),L2e,A(" \u5C0F\u5EA6/\u5929\u732B\u7CBE\u7075\u81EA\u884C\u53C2\u8003\u6587\u6863:https://www.diandeng.tech/doc/voice-assistant "),T2e,z2e,A(" \u591A\u4E2A\u8BBE\u5907\u53EF\u4EE5\u8BBE\u7F6E\u540C\u4E00\u4E2Asecrte-key,\u8868\u793A\u591A\u4E2A\u5F85\u5524\u9192\u8BBE\u5907\u4E0E\u540C\u4E00\u4E2A\u70B9\u706F\u8BBE\u5907\u7ED1\u5B9A,\u4E00\u6B21\u8BED\u97F3\u64CD\u4F5C\u540C\u65F6\u63A7\u5236\u591A\u4E2A\u8BBE\u5907\u7684\u5F00\u5173.\u4E0D\u5EFA\u8BAE\u8FD9\u6837\u505A."),M2e,A(" \u5EFA\u8BAE\u4E00\u4E2A\u5F85\u5524\u9192\u8BBE\u5907\u5BF9\u5E94\u4E00\u4E2A\u70B9\u706F\u8BBE\u5907"),V2e,I2e,A(" \u7531\u4E8E\u70B9\u706F\u63A5\u53E3\u5076\u5C14\u53D1\u751F\u53D8\u5316,\u53C8\u4E0D\u63D0\u4F9B\u76F8\u5173\u6587\u6863,\u6240\u4EE5\u54EA\u5929\u7A81\u7136\u4E0D\u80FD\u4F7F\u7528\u4E86\u4E5F\u5F88\u6B63\u5E38."),H2e]),default:d(()=>[c(Z,{"label-width":"120px",label:"\u8BBE\u5907\u5BC6\u94A5"},{default:d(()=>[c(te,{modelValue:v.value.IOT_DianDeng_AUTHKEY,"onUpdate:modelValue":T[7]||(T[7]=O=>v.value.IOT_DianDeng_AUTHKEY=O),placeholder:"\u8BBE\u5907\u5BC6\u94A5",type:"text",wrap:"off"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,v.value.IOT_DianDeng_Enable]])]),f("div",R2e,[(b(),ae(Z,{key:0,label:"\u5DF4\u6CD5\u4E91","label-width":"120px"},{default:d(()=>[c(Be,{modelValue:v.value.IOT_Bemfa_Enable,"onUpdate:modelValue":T[8]||(T[8]=O=>v.value.IOT_Bemfa_Enable=O),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})),fe(f("div",null,[c(j,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u7559\u7A7A\u8868\u793A\u4E0D\u542F\u7528\u8BE5\u5E73\u53F0\u5BF9\u63A5\u529F\u80FD"),N2e,O2e,A(" \u5DF4\u6CD5\u4E91\u5B98\u7F51:https://cloud.bemfa.com/"),U2e,W2e,A(" \u6CE8\u518C\u767B\u5F55\u540E,\u5728\u63A7\u5236\u53F0\u53F3\u4E0A\u65B9\u53EF\u67E5\u770B\u79C1\u94A5."),q2e,A(" \u76EE\u524D\u4EC5\u652F\u6301MQTT\u8BBE\u5907\u4E91,\u8BB0\u5F97\u521B\u5EFA\u7684\u662FMQTT\u8BBE\u5907\u4E91\u4E3B\u9898,\u800C\u4E0D\u662FTCP\u521B\u5BA2\u4E91\u4E3B\u9898.\u4E3B\u9898\u540D\u8981\u4EE5001\u7ED3\u5C3E\u8868\u793A\u63D2\u5EA7\u7C7B\u578B."),j2e,K2e,A(' \u4EE5\u5C0F\u7231\u540C\u5B66\u4E3A\u4F8B,\u5728\u7C73\u5BB6APP\u53F3\u4E0B\u89D2"\u6211\u7684"-"\u5176\u5B83\u5E73\u53F0\u8BBE\u5907"-\u53F3\u4E0A\u65B9"\u6DFB\u52A0"-\u9009\u62E9"\u5DF4\u6CD5"\u767B\u5F55\u540C\u6B65\u540E\u5373\u53EF.'),G2e,A(" \u9700\u8981\u786E\u4FDD\u79C1\u94A5\u548C\u4E3B\u9898\u586B\u5199\u6B63\u786E,\u5728\u63A7\u5236\u53F0\u5DF2\u7ECF\u663E\u793A\u8BA2\u9605\u8BBE\u5907\u5728\u7EBF\u518D\u5728\u7C73\u5BB6\u6267\u884C\u540C\u6B65,\u4E3B\u9898\u66F4\u591A\u8BBE\u7F6E\u7684\u53F3\u4E0A\u65B9\u53EF\u4FEE\u6539\u6635\u79F0(\u5728\u7C73\u5BB6\u7B49\u5E73\u53F0\u663E\u793A\u7684\u540D\u79F0),\u6BCF\u6B21\u4FEE\u6539\u5B8C\u8BBE\u5907\u540D\u90FD\u8981\u91CD\u65B0\u540C\u6B65."),Y2e,X2e,A(" \u591A\u4E2A\u8BBE\u5907\u53EF\u4EE5\u8BBE\u7F6E\u540C\u4E00\u4E2A\u4E3B\u9898,\u8868\u793A\u591A\u4E2A\u5F85\u5524\u9192\u8BBE\u5907\u4E0E\u540C\u4E00\u4E2A\u4E3B\u9898\u7ED1\u5B9A,\u4E00\u6B21\u8BED\u97F3\u64CD\u4F5C\u540C\u65F6\u63A7\u5236\u591A\u4E2A\u8BBE\u5907\u7684\u5F00\u5173.\u4E0D\u5EFA\u8BAE\u8FD9\u6837\u505A."),J2e,A(" \u5EFA\u8BAE\u4E00\u4E2A\u5F85\u5524\u9192\u8BBE\u5907\u5BF9\u5E94\u4E00\u4E2A\u4E3B\u9898"),Q2e,Z2e,e0e]),default:d(()=>[c(Z,{"label-width":"120px",label:"\u79C1\u94A5"},{default:d(()=>[c(te,{modelValue:v.value.IOT_Bemfa_SecretKey,"onUpdate:modelValue":T[9]||(T[9]=O=>v.value.IOT_Bemfa_SecretKey=O),placeholder:"\u8BBE\u5907\u5BC6\u94A5",type:"text",wrap:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(Z,{"label-width":"120px",label:"\u4E3B\u9898"},{default:d(()=>[c(te,{modelValue:v.value.IOT_Bemfa_Topic,"onUpdate:modelValue":T[10]||(T[10]=O=>v.value.IOT_Bemfa_Topic=O),placeholder:"\u8BA2\u9605\u4E3B\u9898",type:"text",wrap:"off"},null,8,["modelValue"])]),_:1})],512),[[ge,v.value.IOT_Bemfa_Enable]])])])]),_:1},8,["modelValue","title"])):oe("",!0)])}}}),o0e={class:"PageRadius",style:{borderRadius:"base"},"element-loading-background":"transparent"},l0e={class:"formradius",style:{borderRadius:"base"}},u0e={class:"AdminListenDivRadius"},a0e=le({__name:"PortForwardSet",setup(e){const t=L(!0),n={PortForwardsLimit:0,TCPPortforwardMaxConnections:0,UDPReadTargetDataMaxgoroutineCount:0},o=L(n),l=L(n),u=()=>{o.value.PortForwardsLimit=l.value.PortForwardsLimit,o.value.TCPPortforwardMaxConnections=l.value.TCPPortforwardMaxConnections},a=i=>{l.value.PortForwardsLimit=i.value.PortForwardsLimit,l.value.TCPPortforwardMaxConnections=i.TCPPortforwardMaxConnections},r=()=>{nce().then(i=>{if(i.ret==0){t.value=!1,o.value=i.configure,a(o);return}ne("error","\u83B7\u53D6\u7AEF\u53E3\u8F6C\u53D1\u914D\u7F6E\u51FA\u9519")}).catch(i=>{ne("error","\u83B7\u53D6\u7AEF\u53E3\u8F6C\u53D1\u914D\u7F6E\u51FA\u9519")})},s=()=>{oce(o.value).then(i=>{if(i.ret==0){ne("success","\u914D\u7F6E\u4FEE\u6539\u6210\u529F"),r();return}u(),ne("error",i.msg)}).catch(i=>{console.log("\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+i),ne("error","\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519"),u()})};return ot(()=>{r()}),(i,p)=>{const m=eo,v=Bn,_=pn,g=Hn,y=vn,w=Yt,E=os;return fe((b(),F("div",o0e,[c(w,{height:"100%"},{default:d(()=>[f("div",l0e,[c(g,{model:o.value,class:"SetForm","label-width":"auto"},{default:d(()=>[f("div",u0e,[c(_,{content:"\u540C\u4E00\u7AEF\u53E3tcp\u548Cudp\u7C7B\u578B\u5404\u7B97\u4E00\u4E2A,(0-1024)",placement:"top"},{default:d(()=>[c(v,{label:"\u5168\u5C40\u7AEF\u53E3\u8F6C\u53D1\u6700\u5927\u6570\u91CF","label-width":"auto",min:"0",max:"1024"},{default:d(()=>[c(m,{modelValue:o.value.PortForwardsLimit,"onUpdate:modelValue":p[0]||(p[0]=D=>o.value.PortForwardsLimit=D),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(_,{content:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40TCP\u6700\u5927\u5E76\u53D1\u8FDE\u63A5\u6570,(0-4096)",placement:"top"},{default:d(()=>[c(v,{label:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40TCP\u6700\u5927\u5E76\u53D1\u8FDE\u63A5\u6570","label-width":"auto",min:"0",max:"4096"},{default:d(()=>[c(m,{modelValue:o.value.TCPPortforwardMaxConnections,"onUpdate:modelValue":p[1]||(p[1]=D=>o.value.TCPPortforwardMaxConnections=D),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(_,{content:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570\u9650\u5236,(0-4096)",placement:"top"},{default:d(()=>[c(v,{label:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570\u9650\u5236","label-width":"auto",min:"0",max:"4096"},{default:d(()=>[c(m,{modelValue:o.value.UDPReadTargetDataMaxgoroutineCount,"onUpdate:modelValue":p[2]||(p[2]=D=>o.value.UDPReadTargetDataMaxgoroutineCount=D),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})])]),_:1},8,["model"]),c(y,{type:"primary",round:"",onClick:s},{default:d(()=>[A("\u4FDD\u5B58\u4FEE\u6539")]),_:1})])]),_:1})])),[[E,t.value]])}}});var r0e=hn(a0e,[["__scopeId","data-v-412f99dc"]]);const Rn=e=>(gu("data-v-0d71713d"),e=e(),bu(),e),s0e={class:"PageRadius",style:{borderRadius:"base"}},i0e={class:"itemradius",style:{borderRadius:"base"}},c0e=["innerHTML"],d0e=["innerHTML"],f0e=Rn(()=>f("br",null,null,-1)),p0e=Rn(()=>f("br",null,null,-1)),v0e=Rn(()=>f("br",null,null,-1)),h0e=Rn(()=>f("br",null,null,-1)),_0e=Rn(()=>f("br",null,null,-1)),m0e=Rn(()=>f("br",null,null,-1)),g0e=Rn(()=>f("br",null,null,-1)),b0e=Rn(()=>f("br",null,null,-1)),y0e={class:"dialogRadius"},w0e={class:"dialogRadius"},C0e=Rn(()=>f("br",null,null,-1)),E0e=Rn(()=>f("br",null,null,-1)),F0e=Rn(()=>f("br",null,null,-1)),A0e=Rn(()=>f("br",null,null,-1)),D0e={class:"dialog-footer"},B0e=le({__name:"PortForward",setup(e){const t=L(50),n=L(0),o=L([{ProxyKey:"",ClientIP:"",LogContent:"",LogTime:""}]),l=L(""),u=L(1),a=L(!1),r=L(""),s=L(!1),i=L(!0),p=L([""]),m=L(""),v=L(!1),_=L(!1),g=["tcp4","tcp6","udp4","udp6"],y=R=>{O.value.ForwardTypes=R?["tcp","udp"]:[],p.value=R?["tcp4","tcp6","udp4","udp6"]:[],i.value=!1,te(),Z()},w=R=>{const I=R.length;s.value=I===g.length,i.value=I>0&&I{let I=0;for(let Y in R.ProxyList)I+=R.ProxyList[Y].TrafficIn;return qd(I)},D=R=>{let I=0;for(let Y in R.ProxyList)I+=R.ProxyList[Y].TrafficOut;return qd(I)},C=R=>{for(let I in R.ForwardTypes)if(R.ForwardTypes[I].indexOf("tcp")==0)return!0;return!1},B=R=>{for(let I in R.ForwardTypes)if(R.ForwardTypes[I].indexOf("udp")==0)return!0;return!1},$=R=>{let I=0;for(let Y in R.ProxyList)R.ProxyList[Y].Proxy.indexOf("tcp")==0&&(I+=R.ProxyList[Y].CurrentConnections);return I},k=R=>{let I=0;for(let Y in R.ProxyList)R.ProxyList[Y].Proxy.indexOf("udp")==0&&(I+=R.ProxyList[Y].CurrentConnections);return I},P=R=>{var I=[""];I.splice(0,1);for(let Y of R){if(Y=="tcp"){I.push("tcp4"),I.push("tcp6");continue}if(Y=="udp"){I.push("udp4"),I.push("udp6");continue}I.push(Y+"")}return I},T=R=>{for(let I in R.ForwardTypes)if(R.ForwardTypes[I].indexOf("udp")!=-1)return!0;return!1},H=R=>{console.log("alterRule "+R),ye.value="alter",O.value={Name:R.Name,Key:R.Key,ListenAddress:R.ListenAddress,ListenPorts:R.ListenPorts,TargetAddressList:R.TargetAddressList,TargetPorts:R.TargetPorts,ForwardTypes:R.ForwardTypes,Enable:R.Enable,LogLevel:R.LogLevel,LogOutputToConsole:R.LogOutputToConsole,AccessLogMaxNum:R.AccessLogMaxNum,WebListShowLastLogMaxCount:R.WebListShowLastLogMaxCount,Options:{SingleProxyMaxUDPReadTargetDatagoroutineCount:R.Options.SingleProxyMaxUDPReadTargetDatagoroutineCount,SingleProxyMaxTCPConnections:R.Options.SingleProxyMaxTCPConnections,UDPPackageSize:R.Options.UDPPackageSize,UDPShortMode:R.Options.UDPShortMode==!0,UDPProxyPerformanceMode:R.Options.UDPProxyPerformanceMode==!0,SafeMode:R.Options.SafeMode}},p.value=P(R.ForwardTypes),m.value=$n(R.TargetAddressList),te(),Z(),xe.value="\u7F16\u8F91\u8F6C\u53D1\u89C4\u5219",Be.value=!0,Pe.value="\u786E\u8BA4\u4FEE\u6539"},j=R=>{var I="";if(R.LastLogs==null||R.LastLogs.length==0)return I="\u6682\u65E0\u65E5\u5FD7",I;for(var Y in R.LastLogs){let pe=R.LastLogs[Y].LogTime,Fe=R.LastLogs[Y].LogContent;I+=pe+"   "+Fe+"
"}return I==""&&(I="\u6682\u65E0\u65E5\u5FD7"),I},X=R=>{a.value=!0,u.value=1,n.value=0,t.value=25,l.value=R,Ts(R,t.value,u.value).then(I=>{if(I.ret==0){t.value=I.pageSize,n.value=I.total,o.value=I.logs,ve();return}ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(I=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+I),ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},W=R=>{u.value=R-1},N=R=>{u.value=R+1},J=R=>{t.value=R,u.value=1,Ts(l.value,t.value,u.value).then(I=>{if(I.ret==0){t.value=I.pageSize,n.value=I.total,o.value=I.logs,ve();return}ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(I=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+I),ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},be=R=>{u.value=R,Ts(l.value,t.value,u.value).then(I=>{if(I.ret==0){t.value=I.pageSize,n.value=I.total,o.value=I.logs,ve();return}ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(I=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+I),ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},ve=()=>{r.value="";for(let R in o.value){let I=o.value[R];r.value+=I.LogTime+" "+I.LogContent+` `}},Ee=R=>{var I=[""];I.splice(0,1);let Y=!1,pe=!1,Fe=!1,ce=!1,Ae=!1,ue=!1;for(let me of R)switch(me){case"tcp4":Y=!0;break;case"tcp6":pe=!0;break;case"udp4":Fe=!0;break;case"udp6":ce=!0;break}return Y&&pe&&(ue=!0),Fe&&ce&&(Ae=!0),ue?I.push("tcp"):Y?I.push("tcp4"):pe&&I.push("tcp6"),Ae?I.push("udp"):Fe?I.push("udp4"):ce&&I.push("udp6"),I};var te=()=>{for(let R of O.value.ForwardTypes)if(R=="udp4"||R=="udp6"||R=="udp"){v.value=!0;return}v.value=!1},Z=()=>{for(let R of O.value.ForwardTypes)if(R=="tcp4"||R=="tcp6"||R=="tcp"){_.value=!0;return}_.value=!1},De=L([{Name:"",Key:"",ForwardTypes:[""],ListenAddress:"",ListenPorts:"",TargetAddressList:[""],TargetPorts:"",Enable:!1,LogLevel:1,LogOutputToConsole:!1,AccessLogMaxNum:1024,WebListShowLastLogMaxCount:20,Options:{UDPPackageSize:1500,SingleProxyMaxUDPReadTargetDatagoroutineCount:64,SingleProxyMaxTCPConnections:128,UDPProxyPerformanceMode:!0,UDPShortMode:!0,SafeMode:"blacklist"}}]);De.value.splice(0,1);const Be=L(!1),x="160px",O=L({Name:"",Key:"",ListenAddress:"",ListenPorts:"",TargetAddressList:[""],TargetPorts:"",ForwardTypes:[""],Enable:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:20,Options:{SingleProxyMaxTCPConnections:128,SingleProxyMaxUDPReadTargetDatagoroutineCount:32,UDPPackageSize:1500,UDPShortMode:!0,UDPProxyPerformanceMode:!0,SafeMode:"blacklist"}}),ye=L(""),xe=L(""),Pe=L(""),he=()=>{ye.value="add",O.value={Name:"",Key:"",ListenAddress:"",ListenPorts:"",TargetAddressList:[""],TargetPorts:"",ForwardTypes:["tcp6"],Enable:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1024,WebListShowLastLogMaxCount:20,Options:{SingleProxyMaxTCPConnections:256,SingleProxyMaxUDPReadTargetDatagoroutineCount:32,UDPPackageSize:1500,UDPShortMode:!1,UDPProxyPerformanceMode:!1,SafeMode:"blacklist"}},xe.value="\u6DFB\u52A0\u8F6C\u53D1\u89C4\u5219",Be.value=!0,Pe.value="\u6DFB\u52A0",p.value=["tcp6"],te(),Z()},Te=()=>{if(O.value.TargetAddressList=xt(m.value),!!se())switch(ye.value){case"add":console.log(JSON.stringify(O.value)),Qie(O.value).then(R=>{if(R.ret==0){Be.value=!1,ne("success","\u89C4\u5219\u6DFB\u52A0\u6210\u529F"),console.log("\u5237\u65B0\u89C4\u5219\u5217\u8868"),z(),R.syncres!=null&&R.syncres!=""&&so("warn",R.syncres,0);return}ne("error",R.msg)}).catch(R=>{console.log("\u6DFB\u52A0\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+R),ne("error","\u6DFB\u52A0\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break;case"alter":ece(O.value).then(R=>{if(R.ret==0){Be.value=!1,ne("success","\u89C4\u5219\u4FEE\u6539\u6210\u529F"),z(),R.syncres!=null&&R.syncres!=""&&so("warn",R.syncres,0);return}ne("error",R.msg)}).catch(R=>{console.log("\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+R),ne("error","\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break}},je=(R,I)=>{const Y=R==!1?"\u542F\u7528":"\u7981\u7528",pe="["+I.Name+"]",Fe="["+I.Mainconfigure+"]";return new Promise((ce,Ae)=>{$t.confirm("\u786E\u8BA4\u8981"+Y+"\u89C4\u5219 "+pe+" "+Fe+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{tce(I.Key,!R).then(ue=>{if(ue.ret==0){ce(!0),ne("success","\u89C4\u5219 "+pe+" "+Fe+Y+"\u6210\u529F");return}ce(!1),ne("error","\u89C4\u5219 "+pe+" "+Fe+Y+"\u5931\u8D25"),ue.syncres!=null&&ue.syncres!=""&&so("warn",ue.syncres,0)}).catch(ue=>{ce(!1),console.log("\u89C4\u5219 "+pe+" "+Fe+Y+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+ue),ne("error","\u89C4\u5219 "+pe+" "+Fe+Y+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{ce(!1)})})},de=R=>{const Y="["+R.Name+"]";$t.confirm("\u786E\u8BA4\u8981\u5220\u9664\u8F6C\u53D1\u89C4\u5219 "+Y+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{console.log("\u786E\u8BA4\u5220\u9664 "+Y),Zie(R.Key).then(pe=>{pe.ret==0?(z(),ne("success","\u5220\u9664\u6210\u529F"),pe.syncres!=null&&pe.syncres!=""&&so("warn",pe.syncres,0)):ne("error",pe.msg)}).catch(pe=>{console.log("\u5220\u9664\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+pe),ne("error","\u5220\u9664\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{})},se=()=>O.value.ForwardTypes.length<=0?(Yo("\u8F6C\u53D1\u7C7B\u578B\u81F3\u5C11\u9009\u62E9\u4E00\u7C7B"),!1):O.value.ListenAddress.length!=0&&!mce(O.value.ListenAddress)?(Yo("\u76D1\u542C\u5730\u5740IP["+O.value.ListenAddress+"]\u683C\u5F0F\u6709\u8BEF"),!1):O.value.ListenPorts.length==0?(Yo(`\u76D1\u542C\u7AEF\u53E3\u4E0D\u80FD\u4E3A\u7A7A,\u7AEF\u53E3\u548C\u7AEF\u53E3\u6216\u8005\u7AEF\u53E3\u548C\u7AEF\u53E3\u8303\u56F4\u4E4B\u95F4\u7528\u82F1\u6587\u72B6\u6001\u9017\u53F7,\u5206\u5F00 \u4F8B\u5982 [22,80,443,2000-2010]`),!1):O.value.TargetAddressList.length==0?(Yo("\u76EE\u6807\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"),!1):O.value.TargetPorts.length==0?(Yo("\u76EE\u6807\u7AEF\u53E3\u4E0D\u80FD\u4E3A\u7A7A"),!1):O.value.WebListShowLastLogMaxCount>64||O.value.WebListShowLastLogMaxCount<=0?(Yo("\u524D\u7AEF\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570 \u8303\u56F41-64"),!1):!0,z=()=>{Jie().then(R=>{De.value=R.list}).catch(R=>{console.log("\u83B7\u53D6\u8F6C\u53D1\u89C4\u5219\u5217\u8868\u51FA\u9519:"+R),ne("error","\u83B7\u53D6\u8F6C\u53D1\u89C4\u5219\u5217\u8868\u51FA\u9519")})};var q;return ot(()=>{z(),q=setInterval(()=>{z()},2e3)}),In(()=>{clearInterval(q)}),(R,I)=>{const Y=vn,pe=ya,Fe=rl,ce=pn,Ae=lt("Download"),ue=rt,me=lt("Upload"),Ie=lt("Connection"),ee=ba,Se=Yt,Ke=lt("Plus"),nt=Vl,we=nn,Le=Bn,Qe=Po,Ze=q4,M=zc,S=Mc,_e=eo,G=Ea,ie=Ca,$e=Hn,St=Il,Xt=_6;return b(),F("div",s0e,[c(Se,{height:"100%"},{default:d(()=>[(b(!0),F(Oe,null,it(h(De),Ce=>(b(),F("div",i0e,[c(ee,{column:4,border:""},{default:d(()=>[c(pe,{label:"\u89C4\u5219\u540D\u79F0"},{default:d(()=>[fe(c(Y,{size:"default"},{default:d(()=>[A(re(Ce.Name==""?"\u672A\u547D\u540D\u89C4\u5219":Ce.Name),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(pe,{label:"\u8F6C\u53D1\u7C7B\u578B"},{default:d(()=>[(b(!0),F(Oe,null,it(Ce.ForwardTypes,Jt=>fe((b(),ae(Y,{color:"#0059b3",size:"small"},{default:d(()=>[A(re(Jt),1)]),_:2},1536)),[[ge,!0]])),256))]),_:2},1024),c(pe,{label:"\u64CD\u4F5C",span:2},{default:d(()=>[c(ce,{content:Ce.Enable==!0?"\u89C4\u5219\u5DF2\u542F\u7528":"\u89C4\u5219\u5DF2\u7981\u7528",placement:"top"},{default:d(()=>[c(Fe,{modelValue:Ce.Enable,"onUpdate:modelValue":Jt=>Ce.Enable=Jt,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":je.bind(this,Ce.Enable,Ce),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),A(" \xA0\xA0 "),c(ce,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:j(Ce)},null,8,c0e)]),default:d(()=>[fe(c(Y,{type:"info",plain:"",size:"small",onClick:Jt=>X(Ce.Key)},{default:d(()=>[A(" \u65E5\u5FD7 ")]),_:2},1032,["onClick"]),[[ge,!0]])]),_:2},1024),c(Y,{type:"primary",onClick:Jt=>H(Ce)},{default:d(()=>[A("\u7F16\u8F91")]),_:2},1032,["onClick"]),c(Y,{type:"danger",onClick:Jt=>de(Ce)},{default:d(()=>[A("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024),c(pe,{label:"\u76D1\u542CIP"},{default:d(()=>[fe(c(Y,{color:"#D4D7DE",size:"small"},{default:d(()=>[A(re(Ce.ListenAddress==""?"\u6240\u6709IP":Ce.ListenAddress),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(pe,{label:"\u76D1\u542C\u7AEF\u53E3"},{default:d(()=>[fe(c(Y,{color:"#D4D7DE",size:"small"},{default:d(()=>[A(re(Ce.ListenPorts),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(pe,{label:"\u5176\u5B83\u53C2\u6570",span:2},{default:d(()=>[c(ce,{class:"box-item",effect:"dark",content:"\u5B89\u5168\u6A21\u5F0F",placement:"bottom"},{default:d(()=>[fe(c(Y,{color:"#6666ff",size:"small"},{default:d(()=>[A(re(Ce.Options.SafeMode=="whitelist"?"\u767D\u540D\u5355":"\u9ED1\u540D\u5355"),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(ce,{class:"box-item",effect:"dark",content:"\u5355\u7AEF\u53E3TCP\u6700\u5927\u8FDE\u63A5\u6570",placement:"bottom"},{default:d(()=>[fe(c(Y,{color:"#6666ff",size:"small"},{default:d(()=>[A(re(Ce.Options.SingleProxyMaxTCPConnections),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(ce,{class:"box-item",effect:"dark",content:"UDP\u5305\u6700\u5927\u957F\u5EA6",placement:"bottom"},{default:d(()=>[fe(c(Y,{color:"#626aef",size:"small"},{default:d(()=>[A(re(Ce.Options.UDPPackageSize),1)]),_:2},1536),[[ge,T(Ce)]])]),_:2},1024),c(ce,{class:"box-item",effect:"dark",content:Ce.Options.UDPProxyPerformanceMode==!0?"UDP\u6027\u80FD\u6A21\u5F0F\u5F00\u542F":"\u6027\u80FD\u6A21\u5F0F\u5173\u95ED",placement:"bottom"},{default:d(()=>[fe(c(Y,{color:"#626aef",size:"small",disabled:Ce.Options.UDPProxyPerformanceMode!=!0},{default:d(()=>[A(" \u6027\u80FD\u6A21\u5F0F ")]),_:2},1032,["disabled"]),[[ge,T(Ce)]])]),_:2},1032,["content"]),c(ce,{class:"box-item",effect:"dark",content:Ce.Options.UDPShortMode==!0?"UDP\u8F6C\u53D1 shortMode\u542F\u7528":"UDP\u8F6C\u53D1 shortMode\u7981\u7528",placement:"bottom"},{default:d(()=>[fe(c(Y,{color:"#626aef",size:"small",disabled:Ce.Options.UDPShortMode!=!0},{default:d(()=>[A(" ShortMode ")]),_:2},1032,["disabled"]),[[ge,T(Ce)]])]),_:2},1032,["content"])]),_:2},1024),c(pe,{label:"\u76EE\u6807\u5730\u5740"},{default:d(()=>[c(ce,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:h(Zo)(Ce.TargetAddressList)},null,8,d0e)]),default:d(()=>[fe(c(Y,{color:"#409eff",size:"small"},{default:d(()=>[A(re(Ce.TargetAddressList==null||Ce.TargetAddressList==null||Ce.TargetAddressList.length<=0?"\u672A\u8BBE\u7F6E":Ce.TargetAddressList.length==1?Ce.TargetAddressList[0]:Ce.TargetAddressList[0]+"..."),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(pe,{label:"\u76EE\u6807\u7AEF\u53E3"},{default:d(()=>[c(ce,{class:"box-item oneLine",effect:"dark",placement:"bottom",content:Ce.TargetPorts},{default:d(()=>[c(Y,{color:"#D4D7DE",size:"small"},{default:d(()=>[A(re(Ce.TargetPorts),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),c(pe,{label:"\u7EDF\u8BA1",span:2},{default:d(()=>[c(ce,{class:"box-item",effect:"dark",content:"\u5DF2\u63A5\u6536 "+E(Ce),placement:"bottom"},{default:d(()=>[c(Y,{color:"#F2F6FC",size:"small"},{default:d(()=>[c(ue,null,{default:d(()=>[c(Ae)]),_:1}),A(" "+re(E(Ce)),1)]),_:2},1024)]),_:2},1032,["content"]),c(ce,{class:"box-item",effect:"dark",content:"\u5DF2\u53D1\u9001 "+D(Ce),placement:"bottom"},{default:d(()=>[c(Y,{color:"#F2F6FC",size:"small"},{default:d(()=>[c(ue,null,{default:d(()=>[c(me)]),_:1}),A(" "+re(D(Ce)),1)]),_:2},1024)]),_:2},1032,["content"]),c(ce,{class:"box-item",effect:"dark",content:"\u5F53\u524DTCP\u8FDE\u63A5\u6570 "+$(Ce),placement:"bottom"},{default:d(()=>[C(Ce)?(b(),ae(Y,{key:0,color:"#F2F6FC",size:"small"},{default:d(()=>[A(" TCP\xA0 \xA0 "),c(ue,null,{default:d(()=>[c(Ie)]),_:1}),A(" "+re($(Ce)),1)]),_:2},1024)):oe("",!0)]),_:2},1032,["content"]),c(ce,{class:"box-item",effect:"dark",content:"UDP\u8F6C\u53D1\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570 "+k(Ce),placement:"bottom"},{default:d(()=>[B(Ce)?(b(),ae(Y,{key:0,color:"#F2F6FC",size:"small"},{default:d(()=>[A(" UDP\xA0 \xA0 "),c(ue,null,{default:d(()=>[c(Ie)]),_:1}),A(" "+re(k(Ce)),1)]),_:2},1024)):oe("",!0)]),_:2},1032,["content"])]),_:2},1024)]),_:2},1024)]))),256))]),_:1}),c(nt,{position:"bottom",offset:30,class:"affix-container"},{default:d(()=>[c(Y,{type:"primary",onClick:he},{default:d(()=>[A("\u6DFB\u52A0\u8F6C\u53D1\u89C4\u5219 "),c(ue,null,{default:d(()=>[c(Ke)]),_:1})]),_:1})]),_:1}),c(St,{modelValue:Be.value,"onUpdate:modelValue":I[18]||(I[18]=Ce=>Be.value=Ce),title:xe.value,draggable:"","show-close":!1,"close-on-click-modal":!1,width:"650px"},{footer:d(()=>[f("span",D0e,[c(Y,{onClick:I[17]||(I[17]=Ce=>Be.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(Y,{type:"primary",onClick:Te},{default:d(()=>[A(re(Pe.value),1)]),_:1})])]),default:d(()=>[c($e,{model:O.value},{default:d(()=>[c(Le,{label:"\u540D\u79F0","label-width":x},{default:d(()=>[c(we,{modelValue:O.value.Name,"onUpdate:modelValue":I[0]||(I[0]=Ce=>O.value.Name=Ce),placeholder:"\u8F6C\u53D1\u89C4\u5219\u540D\u79F0\uFF0C\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(Le,{label:"\u8F6C\u53D1\u7C7B\u578B","label-width":x},{default:d(()=>[c(Qe,{modelValue:s.value,"onUpdate:modelValue":I[1]||(I[1]=Ce=>s.value=Ce),indeterminate:i.value,onChange:y},{default:d(()=>[A("\u5168\u9009 \xA0\xA0\xA0\xA0\xA0\xA0")]),_:1},8,["modelValue","indeterminate"]),f0e,c(Ze,{modelValue:p.value,"onUpdate:modelValue":I[2]||(I[2]=Ce=>p.value=Ce),onChange:w},{default:d(()=>[(b(),F(Oe,null,it(g,Ce=>c(Qe,{key:Ce,label:Ce},{default:d(()=>[A(re(Ce),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1}),c(Le,{label:"\u5B89\u5168\u6A21\u5F0F","label-width":x},{default:d(()=>[c(S,{modelValue:O.value.Options.SafeMode,"onUpdate:modelValue":I[3]||(I[3]=Ce=>O.value.Options.SafeMode=Ce),class:"ml-4"},{default:d(()=>[c(M,{label:"blacklist"},{default:d(()=>[A("\u9ED1\u540D\u5355\u6A21\u5F0F")]),_:1}),c(M,{label:"whitelist"},{default:d(()=>[A("\u767D\u540D\u5355\u6A21\u5F0F")]),_:1})]),_:1},8,["modelValue"])]),_:1}),c(Le,{label:"\u76D1\u542C\u5730\u5740","label-width":x},{default:d(()=>[c(we,{modelValue:O.value.ListenAddress,"onUpdate:modelValue":I[4]||(I[4]=Ce=>O.value.ListenAddress=Ce),autocomplete:"off",placeholder:"\u7559\u7A7A\u8868\u793A\u76D1\u542C\u4EFB\u610F\u5730\u5740,\u6CA1\u7279\u6B8A\u9700\u6C42\u591A\u6570\u60C5\u51B5\u4E0B\u7559\u7A7A\u5373\u53EF"},null,8,["modelValue"])]),_:1}),c(Le,{label:"\u76D1\u542C\u7AEF\u53E3","label-width":x},{default:d(()=>[c(ce,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u591A\u4E2A\u7AEF\u53E3\u7528,\u53F7\u5206\u5272,\u7AEF\u53E3\u8303\u56F4\u7528-\u8868\u793A,\u6BD4\u5982 80,22,2000-20010"),p0e,A(" \u8868\u793A\u76D1\u542C80\u7AEF\u53E3,22\u7AEF\u53E3,20000-20010\u8303\u56F4\u5185\u768411\u4E2A\u7AEF\u53E3"),v0e]),default:d(()=>[c(we,{modelValue:O.value.ListenPorts,"onUpdate:modelValue":I[5]||(I[5]=Ce=>O.value.ListenPorts=Ce),autocomplete:"off",placeholder:"\u591A\u4E2A\u7AEF\u53E3\u7528,\u53F7\u5206\u5272,\u7AEF\u53E3\u8303\u56F4\u7528-\u8868\u793A,\u6BD4\u5982 80,22,20000-20010"},null,8,["modelValue"])]),_:1})]),_:1}),c(Le,{label:"\u76EE\u6807\u5730\u5740","label-width":x},{default:d(()=>[c(ce,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u6CA1\u7279\u6B8A\u9700\u8981\u586B\u4E00\u884C\u5373\u53EF"),h0e,A(" \u591A\u884C\u8868\u793A\u542F\u7528\u5747\u8861\u8D1F\u8F7D,\u6BCF\u6B21\u9009\u62E9\u4E0D\u540C\u7684\u76EE\u6807\u5730\u5740"),_0e,A(" \u53EF\u586B\u5199IP\u6216\u8005\u57DF\u540D"),m0e]),default:d(()=>[c(we,{modelValue:m.value,"onUpdate:modelValue":I[6]||(I[6]=Ce=>m.value=Ce),autosize:"",placeholder:"\u4E00\u884C\u586B\u4E00\u4E2A\u5730\u5740IP",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),c(Le,{label:"\u76EE\u6807\u7AEF\u53E3","label-width":x},{default:d(()=>[c(ce,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u591A\u4E2A\u7AEF\u53E3\u7528,\u53F7\u5206\u5272,\u7AEF\u53E3\u8303\u56F4\u7528-\u8868\u793A,\u6BD4\u5982 80,22,2000-20010"),g0e,A(" \u8868\u793A\u76D1\u542C80\u7AEF\u53E3,22\u7AEF\u53E3,20000-20010\u8303\u56F4\u5185\u768411\u4E2A\u7AEF\u53E3"),b0e]),default:d(()=>[c(we,{modelValue:O.value.TargetPorts,"onUpdate:modelValue":I[7]||(I[7]=Ce=>O.value.TargetPorts=Ce),autocomplete:"off",placeholder:"\u76D1\u542C\u7AEF\u53E3\u7684\u6570\u91CF\u548C\u76EE\u6807\u7AEF\u53E3\u7684\u6570\u91CF\u8981\u4E00\u81F4"},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",y0e,[c(Le,{label:"\u5355\u7AEF\u53E3TCP\u6700\u5927\u8FDE\u63A5\u6570","label-width":x},{default:d(()=>[c(_e,{modelValue:O.value.Options.SingleProxyMaxTCPConnections,"onUpdate:modelValue":I[8]||(I[8]=Ce=>O.value.Options.SingleProxyMaxTCPConnections=Ce),min:1,max:65535},null,8,["modelValue"])]),_:1})],512),[[ge,_.value]]),fe(f("div",w0e,[fe(c(Le,{label:"\u5355\u7AEF\u53E3UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570\u9650\u5236","label-width":"auto"},{default:d(()=>[c(_e,{modelValue:O.value.Options.SingleProxyMaxUDPReadTargetDatagoroutineCount,"onUpdate:modelValue":I[9]||(I[9]=Ce=>O.value.Options.SingleProxyMaxUDPReadTargetDatagoroutineCount=Ce),min:0,max:4096},null,8,["modelValue"]),A(" \xA0\xA0\xA0 ")]),_:1},512),[[ge,v.value]]),fe(c(Le,{label:"UDP\u6700\u5927\u5305\u957F\u5EA6","label-width":x},{default:d(()=>[c(_e,{modelValue:O.value.Options.UDPPackageSize,"onUpdate:modelValue":I[10]||(I[10]=Ce=>O.value.Options.UDPPackageSize=Ce),min:1,max:99999},null,8,["modelValue"]),A(" \xA0\xA0\xA0 ")]),_:1},512),[[ge,v.value]]),c(Le,{label:"\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0"},{default:d(()=>[c(ce,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u901A\u8FC7\u589E\u52A0\u534F\u7A0B\u6570\u81F3\u4E0ECPU\u6838\u6570\u4E00\u81F4\u63D0\u9AD8udp\u5C0F\u5305\u8F6C\u53D1\u6027\u80FD"),C0e,A(" \u4E00\u822C\u60C5\u51B5\u4E0D\u8981\u5F00\u542F"),E0e]),default:d(()=>[c(Qe,{label:"UDP\u8F6C\u53D1\u6027\u80FD\u6A21\u5F0F",modelValue:O.value.Options.UDPProxyPerformanceMode,"onUpdate:modelValue":I[11]||(I[11]=Ce=>O.value.Options.UDPProxyPerformanceMode=Ce)},null,8,["modelValue"])]),_:1})]),_:1}),c(Le,{label:"\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0"},{default:d(()=>[c(ce,{class:"box-item",effect:"dark",content:"DNS\u8F6C\u53D1\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173\u4EE5\u8282\u7EA6\u8D44\u6E90,\u5176\u5B83\u573A\u666F\u81EA\u884C\u6D4B\u8BD5"},{default:d(()=>[c(Qe,{label:"UDP short mode",modelValue:O.value.Options.UDPShortMode,"onUpdate:modelValue":I[12]||(I[12]=Ce=>O.value.Options.UDPShortMode=Ce)},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,v.value]]),c(Le,{label:"\u65E5\u5FD7\u8F93\u51FA\u7EA7\u522B","label-width":x},{default:d(()=>[c(ie,{modelValue:O.value.LogLevel,"onUpdate:modelValue":I[13]||(I[13]=Ce=>O.value.LogLevel=Ce),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(!0),F(Oe,null,it(h(Bi),Ce=>(b(),ae(G,{key:Ce.value,label:Ce.label,value:Ce.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),c(Le,{label:"\u65E5\u5FD7\u8F93\u51FA\u5230\u7EC8\u7AEF","label-width":x},{default:d(()=>[c(Fe,{modelValue:O.value.LogOutputToConsole,"onUpdate:modelValue":I[14]||(I[14]=Ce=>O.value.LogOutputToConsole=Ce),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1}),c(ce,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u8303\u56F4(0-102400),0\u8868\u793A\u4E0D\u4FDD\u5B58\u65E5\u5FD7"),F0e]),default:d(()=>[c(Le,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570","label-width":x,min:0,max:102400},{default:d(()=>[c(_e,{modelValue:O.value.AccessLogMaxNum,"onUpdate:modelValue":I[15]||(I[15]=Ce=>O.value.AccessLogMaxNum=Ce),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(ce,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u8303\u56F4(1-64)"),A0e]),default:d(()=>[c(Le,{label:"\u524D\u7AEF\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570","label-width":x,min:1,max:64},{default:d(()=>[c(_e,{modelValue:O.value.WebListShowLastLogMaxCount,"onUpdate:modelValue":I[16]||(I[16]=Ce=>O.value.WebListShowLastLogMaxCount=Ce),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),a.value?(b(),ae(St,{key:0,modelValue:a.value,"onUpdate:modelValue":I[19]||(I[19]=Ce=>a.value=Ce),"close-on-click-modal":!1,width:"1100px"},{default:d(()=>[f("div",null,[c(Se,{"max-height":"95vh",class:"portforwardLogs","element-loading-background":"transparent"},{default:d(()=>[A(re(r.value),1)]),_:1}),c(Xt,{"page-size":t.value,"page-sizes":[10,25,50,100,200,300,400,500],small:!1,disabled:!1,background:!1,layout:"total, sizes, prev, pager, next, jumper","current-page":u.value,total:n.value,onSizeChange:J,onCurrentChange:be,onPrevClick:W,onNextClick:N},null,8,["page-size","current-page","total"])])]),_:1},8,["modelValue"])):oe("",!0)])}}});var x0e=hn(B0e,[["__scopeId","data-v-0d71713d"]]);const e2=e=>(gu("data-v-ff97a846"),e=e(),bu(),e),$0e={class:"PageRadius",style:{borderRadius:"base"}},S0e={class:"InfoDivRadius"},k0e={class:"line"},P0e=e2(()=>f("div",{class:"line"},null,-1)),L0e={class:"line"},T0e={class:"line"},z0e=e2(()=>f("div",{class:"line"}," Lukcy\u4EA4\u6D41 QQ\u7FA4:\xA0\xA0602427029 ",-1)),M0e={class:"line"},V0e={class:"line"},I0e=e2(()=>f("div",{class:"line"},null,-1)),H0e=le({__name:"About",setup(e){var t=L({AppName:"Lucky",Version:"1.0.0",OS:"unknow",ARCH:"unknow",Date:"2022-07-25",GoVersion:""});const n=()=>{Nie().then(o=>{if(o.ret==0){t.value=o.info;return}ne("error","\u83B7\u53D6App\u4FE1\u606F\u51FA\u9519")}).catch(o=>{console.log("\u83B7\u83B7\u53D6App\u4FE1\u606F\u51FA\u9519:"+o),ne("error","\u83B7\u53D6App\u4FE1\u606F\u51FA\u9519")})};return ot(()=>{n()}),(o,l)=>{const u=i6;return b(),F("div",$0e,[f("div",S0e,[f("div",k0e,re(h(t).AppName)+"\xA0\xA0\xA0version:"+re(h(t).Version)+"\xA0 "+re(h(t).OS)+"("+re(h(t).ARCH)+") ",1),P0e,f("div",L0e," \u4F5C\u8005:\u53E4\u5927\u7F8A \xA0"+re(h(t).GoVersion)+"\xA0\u7F16\u8BD1\u65F6\u95F4:"+re(h(t).Date),1),f("div",T0e,[c(u,{type:"primary",href:"tencent://message/?uin=272288813&Site=&Menu=yes",target:"_blank"},{default:d(()=>[A("QQ\u8054\u7CFB\u4F5C\u8005")]),_:1}),A(" \xA0\xA0\xA0\u90AE\u7BB1: 272288813@qq.com ")]),z0e,f("div",M0e,[A(" Github\xA0\xA0"),c(u,{type:"primary",href:"https://github.com/gdy666/lucky",target:"_blank"},{default:d(()=>[A("https://github.com/gdy666/lucky")]),_:1})]),f("div",V0e,[A(" Gitee\xA0\xA0"),c(u,{type:"primary",href:"https://gitee.com/gdy666/lucky",target:"_blank"},{default:d(()=>[A("https://gitee.com/gdy666/lucky")]),_:1})]),f("div",null,[A(" \u672C\u9879\u76EE\u501F\u9274\u5F15\u7528\u6216\u53C2\u8003\u7684\u7B2C\u4E09\u65B9\u5F00\u6E90\u9879\u76EE: "),c(u,{type:"primary",href:"https://github.com/fatedier/frp",target:"_blank"},{default:d(()=>[A("frp")]),_:1}),A(),c(u,{type:"primary",href:"https://github.com/jeessy2/ddns-go",target:"_blank"},{default:d(()=>[A("ddns-go")]),_:1})]),I0e])])}}});var R0e=hn(H0e,[["__scopeId","data-v-ff97a846"]]);const N0e={id:"status","element-loading-background":"transparent"},O0e={class:"status"},U0e={class:"status"},W0e={class:"status"},q0e={class:"status"},j0e={class:"status"},K0e={class:"status"},G0e={class:"status"},Y0e={class:"status"},X0e=le({__name:"status",setup(e){const t=Xe("global");var n=L(!0),o=L({totleMem:"0m",usedMem:"0m",unusedMem:"0m",usedCPU:"0%",currentProcessUsedCPU:"0%",goroutine:"0",processUsedMem:"0m",currentTCPConnections:0,currentUDPConnections:0,maxTCPConnections:0,proxysStatus:"",runTime:""}),l;function u(){t.currentPage.value=="#status"&&mie().then(a=>{n.value=!1,o.value=a.data})}return ot(()=>{u(),l=setInterval(()=>{u()},3e3)}),In(()=>{clearInterval(l)}),(a,r)=>{const s=os;return fe((b(),F("div",N0e,[f("p",O0e,"\u603B\u5185\u5B58:"+re(h(o).totleMem)+" \u5DF2\u7528:"+re(h(o).usedMem)+" \u672A\u7528:"+re(h(o).unusedMem),1),f("p",U0e,"CPU\u5168\u5C40\u4F7F\u7528\u7387:"+re(h(o).usedCPU),1),f("p",W0e,"\u5F53\u524D\u8FDB\u7A0BCPU\u4F7F\u7528\u7387:"+re(h(o).currentProcessUsedCPU),1),f("p",q0e,"\u8FDB\u7A0B\u534F\u7A0B\u6570:"+re(h(o).goroutine)+" \u5360\u7528\u5185\u5B58:"+re(h(o).processUsedMem),1),f("p",j0e,"\u7AEF\u53E3\u8F6C\u53D1TCP\u603B\u8FDE\u63A5\u6570:"+re(h(o).currentTCPConnections),1),f("p",K0e,"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570:"+re(h(o).currentUDPConnections),1),f("p",G0e,"\u7AEF\u53E3\u8F6C\u53D1TCP\u5168\u5C40\u9650\u5236\u8FDE\u63A5\u6570:"+re(h(o).maxTCPConnections),1),f("p",Y0e,"Lucky \u542F\u52A8\u65F6\u95F4:"+re(h(o).runTime),1)])),[[s,h(n)]])}}}),J0e=f("br",null,null,-1),Q0e=f("br",null,null,-1),Z0e=f("br",null,null,-1),ede=f("br",null,null,-1),tde=f("br",null,null,-1),nde=f("br",null,null,-1),ode=le({__name:"log",setup(e){Xe("global");var t="",n="";const o=L("");var l=L(!0);function u(){gie(t).then(r=>{if(l.value=!1,n!=r.starttime&&(o.value="",n=r.starttime),r.logs!=null&&r.logs.length>0){t=r.logs[r.logs.length-1].timestamp,console.log("fff "+r.logs[r.logs.length-1].log),console.log("\u8FFD\u52A0\u65E5\u5FD7 "+t);for(var s=0;s{u(),a=setInterval(()=>{u()},1e3)}),In(()=>{clearInterval(a)}),(r,s)=>{const i=Yt,p=os;return fe((b(),ae(i,{"max-height":"95vh",class:"logtermv2","element-loading-background":"transparent"},{default:d(()=>[A(re(o.value)+" ",1),J0e,Q0e,Z0e,ede,tde,nde]),_:1})),[[p,h(l)]])}}}),lde=f("span",null,"\u83DC\u5355",-1),ude=f("span",null,"\u7AEF\u53E3\u8F6C\u53D1",-1),ade=f("span",null,"\u53CD\u5411\u4EE3\u7406",-1),rde=f("span",null,"\u52A8\u6001\u57DF\u540D",-1),sde=f("span",null,"\u7F51\u7EDC\u5524\u9192",-1),ide=f("span",null,"\u5B89\u5168\u76F8\u5173",-1),cde=f("span",null,"IP\u8FC7\u6EE4\u8BBE\u7F6E",-1),dde=f("div",{class:"flex-grow"},null,-1),fde=le({__name:"pmenu",setup(e){const t=Xe("global"),n=L("#set"),o=L("");console.log("currentPage[menu]:"+t.currentPage.value);const l=()=>{Mie().then(a=>{if(a.ret==0){o.value=a.version;return}}).catch(a=>{})};function u(a,r,s,i){switch(a){case"#logout":$t.confirm("\u786E\u5B9A\u8981\u6CE8\u9500\u767B\u5F55?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u70B9\u9519\u4E86",type:"warning"}).then(()=>{Hd(a)}).catch(()=>{});break;case"#logo":location.hash="#about";break;default:Hd(a);break}}return ot(()=>{l()}),(a,r)=>{const s=lt("Menu"),i=rt,p=lt("DataAnalysis"),m=tle,v=lt("document"),_=Ic,g=lt("Position"),y=lt("List"),w=nle,E=lt("Connection"),D=lt("Promotion"),C=lt("Setting"),B=lt("Bell"),$=lt("setting"),k=lt("Guide"),P=lt("Lock"),T=lt("Pointer"),H=lt("Close"),j=ele;return b(),ae(j,{"default-active":n.value,class:"el-menu-demo menu",mode:"horizontal",ellipsis:!1,onSelect:u},{default:d(()=>[h(t).currentPage.value!="#login"?(b(),ae(w,{key:0,index:"#menu"},{title:d(()=>[c(i,null,{default:d(()=>[c(s)]),_:1}),lde]),default:d(()=>[c(m,{index:"#status"},{title:d(()=>[A("\u603B\u89C8")]),default:d(()=>[c(i,null,{default:d(()=>[c(p)]),_:1})]),_:1}),c(m,{index:"#log"},{title:d(()=>[A("\u7A0B\u5E8F\u65E5\u5FD7")]),default:d(()=>[c(i,null,{default:d(()=>[c(v)]),_:1})]),_:1}),c(_,{style:{"margin-top":"0px","margin-bottom":"0px"}}),c(w,{index:"#relay"},{title:d(()=>[c(i,null,{default:d(()=>[c(g)]),_:1}),ude]),default:d(()=>[c(m,{index:"#portforward"},{title:d(()=>[A("\u8F6C\u53D1\u89C4\u5219\u5217\u8868")]),default:d(()=>[c(i,null,{default:d(()=>[c(y)]),_:1})]),_:1}),c(m,{index:"#portforwardset"},{title:d(()=>[A("\u8BBE\u7F6E")]),default:d(()=>[c(i,null,{default:d(()=>[c(y)]),_:1})]),_:1})]),_:1}),c(w,{index:"#reverseproxy"},{title:d(()=>[c(i,null,{default:d(()=>[c(E)]),_:1}),ade]),default:d(()=>[c(m,{index:"#reverseproxylist"},{title:d(()=>[A("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5217\u8868")]),default:d(()=>[c(i,null,{default:d(()=>[c(y)]),_:1})]),_:1})]),_:1}),c(w,{index:"#ddns"},{title:d(()=>[c(i,null,{default:d(()=>[c(D)]),_:1}),rde]),default:d(()=>[c(m,{index:"#ddnstasklist"},{title:d(()=>[A("\u52A8\u6001\u57DF\u540D\u4EFB\u52A1\u5217\u8868")]),default:d(()=>[c(i,null,{default:d(()=>[c(y)]),_:1})]),_:1}),c(m,{index:"#ddnsset"},{title:d(()=>[A("\u52A8\u6001\u57DF\u540D\u8BBE\u7F6E")]),default:d(()=>[c(i,null,{default:d(()=>[c(C)]),_:1})]),_:1})]),_:1}),c(w,{index:"#wol"},{title:d(()=>[c(i,null,{default:d(()=>[c(B)]),_:1}),sde]),default:d(()=>[c(m,{index:"#wol"},{title:d(()=>[A("\u7F51\u7EDC\u5524\u9192\u8BBE\u5907\u5217\u8868")]),default:d(()=>[c(i,null,{default:d(()=>[c(B)]),_:1})]),_:1}),c(m,{index:"#wolserviceset"},{title:d(()=>[A("\u5524\u9192/\u5173\u673A\u670D\u52A1\u8BBE\u7F6E")]),default:d(()=>[c(i,null,{default:d(()=>[c($)]),_:1})]),_:1})]),_:1}),c(_,{style:{"margin-top":"0px","margin-bottom":"0px"}}),c(w,{index:"#safe"},{title:d(()=>[c(i,null,{default:d(()=>[c(k)]),_:1}),ide]),default:d(()=>[c(w,{index:"#safe"},{title:d(()=>[c(i,null,{default:d(()=>[c(k)]),_:1}),cde]),default:d(()=>[c(m,{index:"#whitelistset"},{title:d(()=>[A("\u767D\u540D\u5355\u8BBE\u7F6E")]),default:d(()=>[c(i,null,{default:d(()=>[c(C)]),_:1})]),_:1}),c(m,{index:"#whitelists"},{title:d(()=>[A("\u767D\u540D\u5355\u5217\u8868")]),default:d(()=>[c(i,null,{default:d(()=>[c(y)]),_:1})]),_:1}),c(m,{index:"#blacklists"},{title:d(()=>[A("\u9ED1\u540D\u5355\u5217\u8868")]),default:d(()=>[c(i,null,{default:d(()=>[c(y)]),_:1})]),_:1})]),_:1}),c(m,{index:"#ssl"},{title:d(()=>[A("SSL\u8BC1\u4E66")]),default:d(()=>[c(i,null,{default:d(()=>[c(P)]),_:1})]),_:1})]),_:1}),c(m,{index:"#set"},{title:d(()=>[A("\u8BBE\u7F6E")]),default:d(()=>[c(i,null,{default:d(()=>[c($)]),_:1})]),_:1}),c(m,{index:"#about"},{title:d(()=>[A("\u5173\u4E8E")]),default:d(()=>[c(i,null,{default:d(()=>[c(T)]),_:1})]),_:1}),c(_,{style:{"margin-top":"0px","margin-bottom":"0px"}}),c(m,{index:"#logout"},{title:d(()=>[A("\u9000\u51FA\u767B\u5F55")]),default:d(()=>[c(i,null,{default:d(()=>[c(H)]),_:1})]),_:1})]),_:1})):oe("",!0),dde,c(m,{index:"#logo"},{default:d(()=>[A("Lucky "+re(o.value),1)]),_:1})]),_:1},8,["default-active"])}}});var tp={exports:{}};(function(e,t){(function(n,o){o()})(ql,function(){function n(i,p){return typeof p=="undefined"?p={autoBom:!1}:typeof p!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),p={autoBom:!p}),p.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(i.type)?new Blob(["\uFEFF",i],{type:i.type}):i}function o(i,p,m){var v=new XMLHttpRequest;v.open("GET",i),v.responseType="blob",v.onload=function(){s(v.response,p,m)},v.onerror=function(){console.error("could not download file")},v.send()}function l(i){var p=new XMLHttpRequest;p.open("HEAD",i,!1);try{p.send()}catch{}return 200<=p.status&&299>=p.status}function u(i){try{i.dispatchEvent(new MouseEvent("click"))}catch{var p=document.createEvent("MouseEvents");p.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),i.dispatchEvent(p)}}var a=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof ql=="object"&&ql.global===ql?ql:void 0,r=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=a.saveAs||(typeof window!="object"||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!r?function(i,p,m){var v=a.URL||a.webkitURL,_=document.createElement("a");p=p||i.name||"download",_.download=p,_.rel="noopener",typeof i=="string"?(_.href=i,_.origin===location.origin?u(_):l(_.href)?o(i,p,m):u(_,_.target="_blank")):(_.href=v.createObjectURL(i),setTimeout(function(){v.revokeObjectURL(_.href)},4e4),setTimeout(function(){u(_)},0))}:"msSaveOrOpenBlob"in navigator?function(i,p,m){if(p=p||i.name||"download",typeof i!="string")navigator.msSaveOrOpenBlob(n(i,m),p);else if(l(i))o(i,p,m);else{var v=document.createElement("a");v.href=i,v.target="_blank",setTimeout(function(){u(v)})}}:function(i,p,m,v){if(v=v||open("","_blank"),v&&(v.document.title=v.document.body.innerText="downloading..."),typeof i=="string")return o(i,p,m);var _=i.type==="application/octet-stream",g=/constructor/i.test(a.HTMLElement)||a.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||_&&g||r)&&typeof FileReader!="undefined"){var w=new FileReader;w.onloadend=function(){var C=w.result;C=y?C:C.replace(/^data:[^;]*;/,"data:attachment/file;"),v?v.location.href=C:location=C,v=null},w.readAsDataURL(i)}else{var E=a.URL||a.webkitURL,D=E.createObjectURL(i);v?v.location=D:location.href=D,v=null,setTimeout(function(){E.revokeObjectURL(D)},4e4)}});a.saveAs=s.saveAs=s,e.exports=s})})(tp);var pde=tp.exports;const Fa=e=>(gu("data-v-80650a0a"),e=e(),bu(),e),vde={class:"PageRadius",style:{borderRadius:"base"}},hde={class:"formradius",style:{borderRadius:"base"}},_de={class:"AdminListenDivRadius"},mde=Fa(()=>f("p",null,"\u540E\u53F0\u7BA1\u7406\u5165\u53E3\u8BBE\u7F6E",-1)),gde=Fa(()=>f("br",null,null,-1)),bde=Fa(()=>f("br",null,null,-1)),yde=Fa(()=>f("br",null,null,-1)),wde={class:"AdminListenDivRadius"},Cde={class:"AdminListenDivRadius"},Ede={class:"AdminListenDivRadius"},Fde=Fa(()=>f("p",null,"\u5168\u5C40\u8BBE\u7F6E",-1)),Ade=le({__name:"pset",setup(e){console.log("window.location.href "+window.location.href),console.log("window.location.port "+window.location.port),console.log("window.location.host "+window.location.host),console.log("window.location "+JSON.stringify(window.location));const t=L(!1),n=()=>window.location.protocol+"//"+window.location.hostname+":"+r.value.AdminWebListenPort,o=()=>{var g="/";return g+"api/configure"},l=(g,y,w)=>{if(g.ret!=0){ne("error",g.msg);return}console.log("restoreKey: "+g.restoreConfigureKey);let E=g.file;$t.confirm("\u786E\u8BA4\u8981\u5C06["+E+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E?\u66FF\u6362\u5B8C\u6210\u540ELucky\u4F1A\u81EA\u52A8\u91CD\u542F","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Oie(g.restoreConfigureKey).then(D=>{if(D.ret!=0){ne("error","\u5C06["+E+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E\u51FA\u9519:"+D.msg);return}ne("success","\u5C06["+E+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E\u6210\u529F"),setTimeout(()=>{window.location.href=window.location.protocol+"//"+window.location.hostname+":"+D.port},2e3)}).catch(D=>{console.log("\u7F51\u7EDC\u51FA\u9519:"+D),ne("error","\u5C06["+g.file+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E\u51FA\u9519:"+D)})}).catch(()=>{})},u={AdminWebListenPort:1,AdminWebListenTLS:!1,AdminWebListenHttpsPort:16626,AdminAccount:"",AdminPassword:"",AllowInternetaccess:!1,LogMaxSize:1024,HttpClientSecureVerify:!1,HttpClientTimeout:20},a=L(u),r=L(u),s=()=>{Uie().then(g=>{if(g.ret!=0){ne("error","\u83B7\u53D6\u914D\u7F6E\u51FA\u9519");return}let y=new Blob([g.configure],{type:"application/json"});pde.saveAs(y,"lucky_"+g.time+".conf")}).catch(g=>{console.log("\u83B7\u53D6\u914D\u7F6E\u51FA\u9519:"+g),ne("error","\u83B7\u53D6\u914D\u7F6E\u51FA\u9519")})},i=()=>{a.value.AdminWebListenPort=r.value.AdminWebListenPort,a.value.AdminAccount=r.value.AdminAccount,a.value.AdminPassword=r.value.AdminPassword,a.value.AllowInternetaccess=r.value.AllowInternetaccess},p=g=>{r.value.AdminWebListenPort=g.value.AdminWebListenPort,r.value.AdminAccount=g.value.AdminAccount,r.value.AdminPassword=g.value.AdminPassword,r.value.AllowInternetaccess=g.value.AllowInternetaccess},m=()=>{t.value=!0,$t.confirm("\u786E\u5B9A\u8981\u91CD\u542Flucky?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u70B9\u9519\u4E86",type:"warning"}).then(()=>{$ie().then(g=>{ne("success","\u91CD\u542F\u6210\u529F,3\u79D2\u540E\u81EA\u52A8\u8DF3\u8F6C\u5230\u65B0\u767B\u5F55\u8FDE\u63A5"),setTimeout(()=>{window.location.href=n()},3e3)}).catch(g=>{t.value=!1,console.log("\u91CD\u542F\u64CD\u4F5C\u51FA\u9519:"+g),ne("error","\u91CD\u542F\u64CD\u4F5C\u51FA\u9519")})}).catch(()=>{t.value=!1})},v=()=>{Fie().then(g=>{if(g.ret==0){a.value=g.baseconfigure,p(a);return}ne("error","\u83B7\u53D6\u57FA\u672C\u914D\u7F6E\u51FA\u9519")}).catch(g=>{console.log("\u83B7\u53D6\u8F6C\u53D1\u89C4\u5219\u5217\u8868\u51FA\u9519:"+g),ne("error","\u83B7\u53D6\u57FA\u672C\u914D\u7F6E\u51FA\u9519")})},_=()=>{Die(a.value).then(g=>{if(g.ret==0){ne("success","\u914D\u7F6E\u4FEE\u6539\u6210\u529F"),p(a);return}ne("error",g.msg)}).catch(g=>{console.log("\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+g),ne("error","\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})};return ot(()=>{v()}),(g,y)=>{const w=rl,E=Bn,D=eo,C=pn,B=nn,$=Hn,k=vn,P=P6,T=Yt;return b(),F("div",vde,[c(T,{height:"100%"},{default:d(()=>[f("div",hde,[c($,{model:a.value,class:"SetForm","label-width":"auto"},{default:d(()=>[f("div",_de,[mde,c(E,{label:"\u5916\u7F51\u8BBF\u95EE",id:"adminListen"},{default:d(()=>[c(w,{modelValue:a.value.AllowInternetaccess,"onUpdate:modelValue":y[0]||(y[0]=H=>a.value.AllowInternetaccess=H),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u5141\u8BB8","inactive-text":"\u7981\u6B62"},null,8,["modelValue"])]),_:1}),c(E,{label:"\u7AEF\u53E3(http)",id:"adminListen"},{default:d(()=>[c(D,{modelValue:a.value.AdminWebListenPort,"onUpdate:modelValue":y[1]||(y[1]=H=>a.value.AdminWebListenPort=H),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(E,{label:"TLS\u7AEF\u53E3(https)",id:"adminListen"},{default:d(()=>[c(C,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5916\u7F51\u8BBF\u95EE\u65F6\u5EFA\u8BAE\u4F7F\u7528https\u7AEF\u53E3\u8BBF\u95EE"),gde,A(" \u81EA\u884C\u786E\u8BA4\u542F\u7528\u524D\u5148\u6DFB\u52A0\u5BF9\u5E94\u57DF\u540D\u7684SSL\u8BC1\u4E66"),bde,A(" \u4FDD\u5B58\u4FEE\u6539\u6216\u589E\u5220SSL\u8BC1\u4E66\u540E\u8BF7\u624B\u52A8\u91CD\u542F\u7A0B\u5E8F\u4F7F\u5F97\u8BBE\u7F6E\u6216\u8BC1\u4E66\u751F\u6548"),yde]),default:d(()=>[c(w,{modelValue:a.value.AdminWebListenTLS,"onUpdate:modelValue":y[2]||(y[2]=H=>a.value.AdminWebListenTLS=H),class:"mb-1","inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),fe(c(E,{label:"\u7AEF\u53E3(https)",id:"adminListen"},{default:d(()=>[c(D,{modelValue:a.value.AdminWebListenHttpsPort,"onUpdate:modelValue":y[3]||(y[3]=H=>a.value.AdminWebListenHttpsPort=H),autocomplete:"off"},null,8,["modelValue"])]),_:1},512),[[ge,a.value.AdminWebListenTLS]])]),f("div",wde,[c(E,{label:"\u7BA1\u7406\u767B\u5F55\u8D26\u53F7",id:"adminAccount"},{default:d(()=>[c(B,{modelValue:a.value.AdminAccount,"onUpdate:modelValue":y[4]||(y[4]=H=>a.value.AdminAccount=H),placeholder:"\u7BA1\u7406\u767B\u5F55\u8D26\u53F7",autocomplete:"off",style:{witdh:"390px"}},null,8,["modelValue"])]),_:1}),c(E,{label:"\u7BA1\u7406\u767B\u5F55\u5BC6\u7801",id:"adminPassword"},{default:d(()=>[c(B,{modelValue:a.value.AdminPassword,"onUpdate:modelValue":y[5]||(y[5]=H=>a.value.AdminPassword=H),placeholder:"\u7BA1\u7406\u767B\u5F55\u5BC6\u7801",autocomplete:"off"},null,8,["modelValue"])]),_:1})]),f("div",Cde,[c(E,{label:"\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570",id:"logMaxSize"},{default:d(()=>[c(D,{modelValue:a.value.LogMaxSize,"onUpdate:modelValue":y[6]||(y[6]=H=>a.value.LogMaxSize=H),autocomplete:"off",min:1024,max:40960},null,8,["modelValue"])]),_:1})]),f("div",Ede,[Fde,c(E,{label:"Http(s) \u5BA2\u6237\u7AEF \u5B89\u5168\u8BC1\u4E66\u9A8C\u8BC1",id:"adminListen"},{default:d(()=>[c(w,{modelValue:a.value.HttpClientSecureVerify,"onUpdate:modelValue":y[7]||(y[7]=H=>a.value.HttpClientSecureVerify=H),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}),c(E,{label:"HttpClient timeout(\u79D2)"},{default:d(()=>[c(D,{modelValue:a.value.HttpClientTimeout,"onUpdate:modelValue":y[8]||(y[8]=H=>a.value.HttpClientTimeout=H),autocomplete:"off",min:1,max:60},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"]),c(k,{type:"primary",round:"",onClick:_},{default:d(()=>[A("\u4FDD\u5B58\u4FEE\u6539")]),_:1}),c(k,{type:"info",round:"",onClick:i},{default:d(()=>[A("\u64A4\u9500\u6539\u52A8")]),_:1}),c(k,{type:"danger",round:"",onClick:m,disabled:t.value},{default:d(()=>[A("\u91CD\u542F\u7A0B\u5E8F")]),_:1},8,["disabled"]),c(k,{type:"success",round:"",onClick:s},{default:d(()=>[A("\u5907\u4EFD\u914D\u7F6E")]),_:1}),c(P,{class:"inline-block",action:o(),"show-file-list":!1,headers:{Authorization:h(Je)()},limit:1,"on-success":l},{default:d(()=>[c(k,{round:"",class:"margin-change"},{default:d(()=>[A("\u6062\u590D\u914D\u7F6E")]),_:1})]),_:1},8,["action","headers"])])]),_:1})])}}});var Dde=hn(Ade,[["__scopeId","data-v-80650a0a"]]);const Bde={class:"PageRadius",style:{borderRadius:"base"}},xde={class:"formradius",style:{borderRadius:"base"}},$de=le({__name:"login",setup(e){const t=L(!0),n=Xe("global"),o=L({Account:"",Password:""}),l=i=>{u(i)},u=i=>{if(n.storage.setItem("rememberPassword",i),i){n.storage.setItem("loginAccount",o.value.Account),n.storage.setItem("loginPassword",o.value.Password);return}n.storage.setItem("loginAccount",""),n.storage.setItem("loginPassword","")},a=()=>{let i=n.storage.getItem("rememberPassword");t.value=!(i==null||i==!1),i&&(o.value.Account=n.storage.getItem("loginAccount")==null?"":n.storage.getItem("loginAccount"),o.value.Password=n.storage.getItem("loginPassword")==null?"":n.storage.getItem("loginPassword"))},r=()=>{if(o.value.Account==""||o.value.Password==""){ne("error","\u8D26\u53F7\u6216\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A");return}u(t.value),xie(o.value).then(i=>{if(i.ret==0){ne("success","\u767B\u5F55\u6210\u529F"),n.storage.setItem("token",i.token),location.hash="#set";return}ne("error",i.msg)}).catch(i=>{console.log("\u767B\u5F55\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+i),ne("error","\u767B\u5F55\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})},s=i=>{if(i.keyCode==13&&n.currentPage.value=="#login"){r();return}};return ot(()=>{window.addEventListener("keydown",s),a()}),(i,p)=>{const m=nn,v=Bn,_=Po,g=Hn,y=vn;return b(),F("div",Bde,[f("div",xde,[c(g,{model:o.value,class:"SetForm","label-width":"auto"},{default:d(()=>[c(v,{label:"\u7BA1\u7406\u8D26\u53F7",id:"account"},{default:d(()=>[c(m,{modelValue:o.value.Account,"onUpdate:modelValue":p[0]||(p[0]=w=>o.value.Account=w),placeholder:"\u7BA1\u7406\u8D26\u53F7",autocomplete:"off",style:{witdh:"390px"}},null,8,["modelValue"])]),_:1}),c(v,{label:"\u7BA1\u7406\u5BC6\u7801",id:"account"},{default:d(()=>[c(m,{"show-password":"",modelValue:o.value.Password,"onUpdate:modelValue":p[1]||(p[1]=w=>o.value.Password=w),placeholder:"\u7BA1\u7406\u5BC6\u7801",autocomplete:"off",style:{witdh:"390px"}},null,8,["modelValue"])]),_:1}),c(v,null,{default:d(()=>[c(_,{modelValue:t.value,"onUpdate:modelValue":p[2]||(p[2]=w=>t.value=w),label:"\u8BB0\u4F4F\u5BC6\u7801",size:"large",onChange:l},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),c(y,{type:"primary",round:"",onClick:r},{default:d(()=>[A("\u767B\u5F55")]),_:1})])])}}});var Sde=hn($de,[["__scopeId","data-v-ee7bc046"]]);const kde={class:"PageRadius",style:{borderRadius:"base"}},Pde={class:"formradius",style:{borderRadius:"base"}},Lde={class:"whitelistConfigure"},Tde=le({__name:"WhiteListSet",setup(e){const t=L({URL:"",ActivelifeDuration:36,BasicAccount:"",BasicPassword:""}),n=L({URL:"",ActivelifeDuration:36,BasicAccount:"",BasicPassword:""}),o=U(()=>n.value.URL==null||n.value.URL==""?window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl":window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl/"+n.value.URL),l=U(()=>t.value.URL==null||t.value.URL==""?window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl":window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl/"+t.value.URL),u=s=>{Di(s),ne("success","\u767D\u540D\u5355\u8BA4\u8BC1\u5730\u5740 "+s+" \u5DF2\u590D\u5236\u5230\u526A\u5207\u677F")},a=()=>{Sie(t.value).then(s=>{if(s.ret==0){ne("success","\u4FDD\u5B58\u6210\u529F"),n.value=t.value;return}ne("error",s.msg)}).catch(s=>{ne("error","\u67E5\u8BE2\u767D\u540D\u5355\u8BBE\u7F6E\u51FA\u9519")})},r=()=>{kie().then(s=>{if(s.ret==0){t.value=L(s.data).value,n.value.URL=t.value.URL,n.value.ActivelifeDuration=t.value.ActivelifeDuration,n.value.BasicAccount=t.value.BasicAccount,n.value.BasicPassword=t.value.BasicPassword;return}ne("error",s.msg)}).catch(s=>{ne("error","\u67E5\u8BE2\u767D\u540D\u5355\u8BBE\u7F6E\u51FA\u9519")})};return ot(()=>{r()}),(s,i)=>{const p=nn,m=vn,v=pn,_=Bn,g=eo,y=Hn,w=Yt;return b(),F("div",kde,[c(w,{height:"100%"},{default:d(()=>[f("div",Pde,[f("div",Lde,[c(y,{model:t.value,class:"SetForm","label-width":"auto"},{default:d(()=>[c(_,{label:"\u81EA\u5B9A\u4E49URL",id:"whitelisturl"},{default:d(()=>[c(p,{modelValue:t.value.URL,"onUpdate:modelValue":i[0]||(i[0]=E=>t.value.URL=E),placeholder:"\u81EA\u5B9A\u4E49URL",autocomplete:"off",style:{witdh:"250px","margin-bottom":"4px"}},null,8,["modelValue"]),c(v,{class:"box-item oneLine",effect:"dark",placement:"bottom",content:h(o)},{default:d(()=>[c(m,{type:"info",round:"",onClick:i[1]||(i[1]=E=>u(h(o))),style:{"margin-right":"10px"}},{default:d(()=>[A("\u590D\u5236")]),_:1})]),_:1},8,["content"]),f("a",null,re(h(l)),1)]),_:1}),c(_,{label:"\u6709\u6548\u65F6\u957F(\u5C0F\u65F6)",id:"whitelistActivelifeDuration"},{default:d(()=>[c(g,{modelValue:t.value.ActivelifeDuration,"onUpdate:modelValue":i[2]||(i[2]=E=>t.value.ActivelifeDuration=E),autocomplete:"off",min:1,max:99999},null,8,["modelValue"])]),_:1}),c(_,{label:"\u8BA4\u8BC1\u8D26\u53F7",id:"basicAccount"},{default:d(()=>[c(p,{modelValue:t.value.BasicAccount,"onUpdate:modelValue":i[3]||(i[3]=E=>t.value.BasicAccount=E),placeholder:"\u8BA4\u8BC1\u8D26\u53F7",autocomplete:"off",style:{witdh:"250px"}},null,8,["modelValue"])]),_:1}),c(_,{label:"\u8BA4\u8BC1\u5BC6\u7801",id:"basicPassword"},{default:d(()=>[c(p,{modelValue:t.value.BasicPassword,"onUpdate:modelValue":i[4]||(i[4]=E=>t.value.BasicPassword=E),placeholder:"\u8BA4\u8BC1\u5BC6\u7801",autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),c(m,{type:"primary",round:"",onClick:a},{default:d(()=>[A("\u4FDD\u5B58\u914D\u7F6E")]),_:1})])])]),_:1})])}}});var zde=hn(Tde,[["__scopeId","data-v-52b01d33"]]);const Mde={class:"PageRadius",style:{borderRadius:"base"}},Vde={class:"formradius",style:{borderRadius:"base"}},Ide={class:"dialog-footer"},Hde=le({__name:"WhiteLists",setup(e){var t=L([{IP:"",Effectivetime:""}]);t.value.splice(0,1);const n=L(!1),o=L({IP:"",Life:0}),l=()=>{n.value=!0,o.value.IP="",o.value.Life=24},u=(m,v,_,g)=>{$t.confirm(g,"Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{a(m,v.IP,_)}).catch(()=>{})},a=(m,v,_)=>{Rd(v,_).then(g=>{if(g.ret==0){t.value[m].Effectivetime=g.data;return}ne("error",g.msg)}).catch(g=>{console.log("\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519 "+g),ne("error","\u5237\u65B0IP["+v+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},r=()=>{Rd(o.value.IP,o.value.Life).then(m=>{if(m.ret==0){let v={IP:o.value.IP,Effectivetime:m.data};t.value.push(v),n.value=!1;return}ne("error",m.msg)}).catch(m=>{console.log("\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519 "+m),ne("error","\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},s=(m,v)=>{$t.confirm("\u786E\u8BA4\u8981\u5220\u9664IP ["+v.IP+"]\u7684\u767D\u540D\u5355\u8BB0\u5F55?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Lie(v.IP).then(_=>{if(_.ret==0){t.value.splice(m,1);return}ne("error",_.msg)}).catch(_=>{ne("error","\u5220\u9664["+v.IP+"]\u7684\u767D\u540D\u5355\u8BB0\u5F55\u51FA\u9519")})}).catch(()=>{})},i=()=>{Pie().then(m=>{if(m.ret==0){m.data!=null?t.value=m.data:t.value=[];return}ne("error",m.msg)}).catch(m=>{ne("error","\u67E5\u8BE2\u767D\u540D\u5355\u5217\u8868\u51FA\u9519")})},p=m=>{m.keyCode==13&&(!n.value||r())};return ot(()=>{i(),window.addEventListener("keydown",p)}),(m,v)=>{const _=lt("Plus"),g=rt,y=vn,w=Vl,E=B6,D=D6,C=Yt,B=nn,$=Bn,k=eo,P=Hn,T=Il;return b(),F("div",Mde,[c(w,{position:"bottom",offset:0,class:"affix-container"},{default:d(()=>[c(y,{type:"primary",onClick:l},{default:d(()=>[A("\u767D\u540D\u5355\u6DFB\u52A0 "),c(g,null,{default:d(()=>[c(_)]),_:1})]),_:1})]),_:1}),c(C,{height:"100%"},{default:d(()=>[f("div",Vde,[c(D,{data:h(t),style:{width:"700px"},height:"85vh"},{default:d(()=>[c(E,{prop:"IP",label:"IP",width:"200"}),c(E,{prop:"Effectivetime",label:"\u6709\u6548\u65F6\u95F4",width:"200"}),c(E,{fixed:"right",label:"\u64CD\u4F5C",width:"300"},{default:d(H=>[c(y,{link:"",type:"primary",size:"small",onClick:j=>u(H.$index,h(t)[H.$index],0,"\u786E\u8BA4\u8981\u5237\u65B0IP["+h(t)[H.$index].IP+"]\u7684\u6709\u6548\u65F6\u95F4?")},{default:d(()=>[A(" \u5237\u65B0\u6709\u6548\u65F6\u95F4")]),_:2},1032,["onClick"]),c(y,{link:"",type:"primary",size:"small",onClick:j=>u(H.$index,h(t)[H.$index],666666,"\u786E\u8BA4\u8981\u8BBE\u7F6EIP["+h(t)[H.$index].IP+"]\u4E3A\u957F\u671F\u6709\u6548?")},{default:d(()=>[A(" \u8BBE\u7F6E\u6C38\u4E45\u6709\u6548")]),_:2},1032,["onClick"]),c(y,{link:"",type:"primary",size:"small",onClick:j=>s(H.$index,h(t)[H.$index])},{default:d(()=>[A("\u5220\u9664")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),c(T,{modelValue:n.value,"onUpdate:modelValue":v[3]||(v[3]=H=>n.value=H),title:"\u6DFB\u52A0\u767D\u540D\u5355IP",draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:d(()=>[f("span",Ide,[c(y,{onClick:v[2]||(v[2]=H=>n.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(y,{type:"primary",onClick:r},{default:d(()=>[A("\u6DFB\u52A0")]),_:1})])]),default:d(()=>[c(P,{model:o.value},{default:d(()=>[c($,{label:"IP","label-width":"auto"},{default:d(()=>[c(B,{modelValue:o.value.IP,"onUpdate:modelValue":v[0]||(v[0]=H=>o.value.IP=H),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c($,{label:"\u6709\u6548\u65F6\u95F4(\u5C0F\u65F6)","label-width":"auto"},{default:d(()=>[c(k,{modelValue:o.value.Life,"onUpdate:modelValue":v[1]||(v[1]=H=>o.value.Life=H),min:1,max:999999},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});var Rde=hn(Hde,[["__scopeId","data-v-d9c87ebe"]]);const Nde={class:"PageRadius",style:{borderRadius:"base"}},Ode={class:"formradius",style:{borderRadius:"base"}},Ude={class:"dialog-footer"},Wde=le({__name:"BlackLists",setup(e){var t=L([{IP:"",Effectivetime:""}]);t.value.splice(0,1);const n=L(!1),o=L({IP:"",Life:0}),l=()=>{n.value=!0,o.value.IP="",o.value.Life=666666},u=(m,v,_,g)=>{$t.confirm(g,"Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{a(m,v.IP,_)}).catch(()=>{})},a=(m,v,_)=>{Nd(v,_).then(g=>{if(g.ret==0){t.value[m].Effectivetime=g.data;return}ne("error",g.msg)}).catch(g=>{ne("error","\u5237\u65B0IP["+v+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},r=()=>{Nd(o.value.IP,o.value.Life).then(m=>{if(m.ret==0){let v={IP:o.value.IP,Effectivetime:m.data};t.value.push(v),n.value=!1;return}ne("error",m.msg)}).catch(m=>{ne("error","\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},s=(m,v)=>{$t.confirm("\u786E\u8BA4\u8981\u5220\u9664IP ["+v.IP+"]\u7684\u9ED1\u540D\u5355\u8BB0\u5F55?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{zie(v.IP).then(_=>{if(_.ret==0){t.value.splice(m,1);return}ne("error",_.msg)}).catch(_=>{ne("error","\u5220\u9664["+v.IP+"]\u7684\u9ED1\u540D\u5355\u8BB0\u5F55\u51FA\u9519")})}).catch(()=>{})},i=()=>{Tie().then(m=>{if(m.ret==0){m.data!=null?t.value=m.data:t.value=[];return}ne("error",m.msg)}).catch(m=>{ne("error","\u67E5\u8BE2\u9ED1\u540D\u5355\u5217\u8868\u51FA\u9519")})},p=m=>{m.keyCode==13&&(!n.value||r())};return ot(()=>{i(),window.addEventListener("keydown",p)}),(m,v)=>{const _=lt("Plus"),g=rt,y=vn,w=Vl,E=B6,D=D6,C=Yt,B=nn,$=Bn,k=eo,P=Hn,T=Il;return b(),F("div",Nde,[c(w,{position:"top",offset:0,class:"affix-container"},{default:d(()=>[c(y,{type:"primary",onClick:l},{default:d(()=>[A("\u9ED1\u540D\u5355\u6DFB\u52A0 "),c(g,null,{default:d(()=>[c(_)]),_:1})]),_:1})]),_:1}),c(C,{height:"100%"},{default:d(()=>[f("div",Ode,[c(D,{data:h(t),style:{width:"700px"},height:"85vh"},{default:d(()=>[c(E,{prop:"IP",label:"IP",width:"200"}),c(E,{prop:"Effectivetime",label:"\u6709\u6548\u65F6\u95F4",width:"200"}),c(E,{fixed:"right",label:"\u64CD\u4F5C",width:"300"},{default:d(H=>[c(y,{link:"",type:"primary",size:"small",onClick:j=>u(H.$index,h(t)[H.$index],0,"\u786E\u8BA4\u8981\u5237\u65B0IP["+h(t)[H.$index].IP+"]\u7684\u6709\u6548\u65F6\u95F4?")},{default:d(()=>[A(" \u5237\u65B0\u6709\u6548\u65F6\u95F4")]),_:2},1032,["onClick"]),c(y,{link:"",type:"primary",size:"small",onClick:j=>u(H.$index,h(t)[H.$index],666666,"\u786E\u8BA4\u8981\u8BBE\u7F6EIP["+h(t)[H.$index].IP+"]\u4E3A\u957F\u671F\u6709\u6548?")},{default:d(()=>[A(" \u8BBE\u7F6E\u6C38\u4E45\u6709\u6548")]),_:2},1032,["onClick"]),c(y,{link:"",type:"primary",size:"small",onClick:j=>s(H.$index,h(t)[H.$index])},{default:d(()=>[A("\u5220\u9664")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),c(T,{modelValue:n.value,"onUpdate:modelValue":v[3]||(v[3]=H=>n.value=H),title:"\u6DFB\u52A0\u9ED1\u540D\u5355IP",draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:d(()=>[f("span",Ude,[c(y,{onClick:v[2]||(v[2]=H=>n.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(y,{type:"primary",onClick:r},{default:d(()=>[A("\u6DFB\u52A0")]),_:1})])]),default:d(()=>[c(P,{model:o.value},{default:d(()=>[c($,{label:"IP","label-width":"auto"},{default:d(()=>[c(B,{modelValue:o.value.IP,"onUpdate:modelValue":v[0]||(v[0]=H=>o.value.IP=H),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c($,{label:"\u6709\u6548\u65F6\u95F4(\u5C0F\u65F6)","label-width":"auto"},{default:d(()=>[c(k,{modelValue:o.value.Life,"onUpdate:modelValue":v[1]||(v[1]=H=>o.value.Life=H),min:1,max:999999},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});var qde=hn(Wde,[["__scopeId","data-v-4c99c1a8"]]);const Ne=e=>(gu("data-v-9ec9996c"),e=e(),bu(),e),jde={class:"PageRadius",style:{borderRadius:"base"}},Kde={class:"itemradius",style:{borderRadius:"base"}},Gde=["innerHTML"],Yde={key:0},Xde=["innerHTML"],Jde=["innerHTML"],Qde=["innerHTML"],Zde=["innerHTML"],e1e={class:"fromitemDivRadius"},t1e=Ne(()=>f("p",null,"DNS\u670D\u52A1\u5546\u8BBE\u7F6E",-1)),n1e={class:"fromitemChildDivRadius"},o1e={key:0},l1e={key:1},u1e={key:2},a1e={key:3},r1e={key:4},s1e={key:5},i1e={key:6},c1e=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u652F\u6301\u7684\u53D8\u91CF #{ip}, #{domain}, #{recordType}, #{ttl}",-1)),d1e=Ne(()=>f("br",null,null,-1)),f1e={class:"fromitemChildDivRadius"},p1e={key:0,style:{"font-size":"small"}},v1e={key:1,style:{"font-size":"small"}},h1e={key:2,style:{"font-size":"small"}},_1e={key:3,style:{"font-size":"small"}},m1e=Ne(()=>f("br",null,null,-1)),g1e=Ne(()=>f("br",null,null,-1)),b1e=Ne(()=>f("br",null,null,-1)),y1e=Ne(()=>f("br",null,null,-1)),w1e=Ne(()=>f("br",null,null,-1)),C1e=Ne(()=>f("br",null,null,-1)),E1e=Ne(()=>f("br",null,null,-1)),F1e=Ne(()=>f("br",null,null,-1)),A1e=Ne(()=>f("br",null,null,-1)),D1e=Ne(()=>f("br",null,null,-1)),B1e=Ne(()=>f("br",null,null,-1)),x1e=Ne(()=>f("br",null,null,-1)),$1e=Ne(()=>f("br",null,null,-1)),S1e=Ne(()=>f("br",null,null,-1)),k1e=Ne(()=>f("br",null,null,-1)),P1e=Ne(()=>f("br",null,null,-1)),L1e=Ne(()=>f("br",null,null,-1)),T1e=Ne(()=>f("br",null,null,-1)),z1e=Ne(()=>f("br",null,null,-1)),M1e=Ne(()=>f("br",null,null,-1)),V1e=Ne(()=>f("br",null,null,-1)),I1e=Ne(()=>f("br",null,null,-1)),H1e=Ne(()=>f("br",null,null,-1)),R1e={class:"fromitemChildDivRadius"},N1e=Ne(()=>f("p",null,"DNS\u63A5\u53E3\u8C03\u7528\u989D\u5916\u8BBE\u7F6E",-1)),O1e={class:"fromitemChildDivRadius"},U1e=Ne(()=>f("p",null,"DNS\u63A5\u53E3\u8C03\u7528\u4EE3\u7406\u8BBE\u7F6E",-1)),W1e={class:"fromitemChildDivRadius"},q1e={class:"fromitemDivRadius"},j1e={key:0},K1e={key:1},G1e={class:"fromitemDivRadius"},Y1e={class:"fromitemChildDivRadius"},X1e={style:{color:"blue"}},J1e=Ne(()=>f("p",{style:{"font-size":"1px"}}," \u652F\u6301\u81EA\u5B9A\u4E49webhook ",-1)),Q1e={style:{color:"blue"}},Z1e=Ne(()=>f("p",{style:{"font-size":"1px"}}," https://sctapi.ftqq.com/[SendKey].send?title=\u4E3B\u4EBAIP\u53D8\u4E86#{ipAddr},\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86#{ipAddr},\u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{successDomains},\u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomains} ",-1)),efe={style:{color:"blue"}},tfe=Ne(()=>f("p",{style:{"font-size":"1px"}}," https://api.day.app/[YOUR_KEY]/\u4E3B\u4EBAIP\u53D8\u4E86#{ipAddr},\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86#{ipAddr},\u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{successDomains},\u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomains} ",-1)),nfe={style:{color:"blue"}},ofe=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u9489\u9489\u7535\u8111\u7AEF -> \u7FA4\u8BBE\u7F6E -> \u667A\u80FD\u7FA4\u52A9\u624B -> \u6DFB\u52A0\u673A\u5668\u4EBA -> \u81EA\u5B9A\u4E49",-1)),lfe=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u53EA\u52FE\u9009\u81EA\u5B9A\u4E49\u5173\u952E\u8BCD,\u8F93\u5165\u7684\u5173\u952E\u5B57\u5FC5\u987B\u5305\u542B\u5728RequestBody\u7684content\u4E2D,\u5982:\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86 ",-1)),ufe=Ne(()=>f("p",{style:{"font-size":"1px"}},'\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"errcode":0,"errmsg":"ok"}',-1)),afe=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u65B9\u6CD5\u8BF7\u6C42\u9009\u62E9POST,RequestBody \u793A\u4F8B\u5982\u4E0B",-1)),rfe=Ne(()=>f("p",{style:{"font-size":"1px"}},'\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"errcode":0,"errmsg":"ok"}',-1)),sfe={style:{color:"blue"}},ife=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u98DE\u4E66\u7535\u8111\u7AEF -> \u7FA4\u8BBE\u7F6E -> \u6DFB\u52A0\u673A\u5668\u4EBA -> \u81EA\u5B9A\u4E49\u673A\u5668\u4EBA",-1)),cfe=Ne(()=>f("p",{style:{"font-size":"1px"}}," \u5B89\u5168\u8BBE\u7F6E\u53EA\u52FE\u9009\u81EA\u5B9A\u4E49\u5173\u952E\u8BCD,\u8F93\u5165\u7684\u5173\u952E\u5B57\u5FC5\u987B\u5305\u542B\u5728RequestBody\u7684content\u4E2D,\u5982\uFF1A\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86",-1)),dfe=Ne(()=>f("p",{style:{"font-size":"1px"}},'\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"StatusCode":0,"StatusMessage":"success"}',-1)),ffe=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u65B9\u6CD5\u8BF7\u6C42\u9009\u62E9POST,RequestBody \u793A\u4F8B\u5982\u4E0B",-1)),pfe=Ne(()=>f("p",{style:{"font-size":"1px"}},'\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"StatusCode":0,"StatusMessage":"success"} ',-1)),vfe={style:{color:"blue"}},hfe=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u4E0B\u8F7D\u4F01\u4E1A\u5FAE\u4FE1\u2192\u5DE6\u4E0A\u89D2\u4E09\u6A2A\u6760\u2192\u5168\u65B0\u521B\u5EFA\u4F01\u4E1A\u2192\u4E2A\u4EBA\u7EC4\u4EF6\u56E2\u961F(\u521B\u5EFA\u4E2A\u4EBA\u7684\u4F01\u4E1A\u7FA4\u804A)",-1)),_fe=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u8FDB\u5165\u7FA4\u804A\u6DFB\u52A0 [\u7FA4\u673A\u5668\u4EBA] \u590D\u5236\u673A\u5668\u4EBAWebhook\u5730\u5740",-1)),mfe=Ne(()=>f("p",{style:{"font-size":"1px"}},"\u65B9\u6CD5\u8BF7\u6C42\u9009\u62E9POST,RequestBody \u793A\u4F8B\u5982\u4E0B",-1)),gfe=Ne(()=>f("p",{style:{"font-size":"1px"}},'\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"errcode":0,"errmsg":"ok"}',-1)),bfe={class:"fromitemChildDivRadius"},yfe=Ne(()=>f("br",null,null,-1)),wfe=Ne(()=>f("br",null,null,-1)),Cfe=Ne(()=>f("br",null,null,-1)),Efe=Ne(()=>f("br",null,null,-1)),Ffe=Ne(()=>f("br",null,null,-1)),Afe=Ne(()=>f("br",null,null,-1)),Dfe=Ne(()=>f("br",null,null,-1)),Bfe=Ne(()=>f("br",null,null,-1)),xfe=Ne(()=>f("br",null,null,-1)),$fe=Ne(()=>f("br",null,null,-1)),Sfe=Ne(()=>f("br",null,null,-1)),kfe=Ne(()=>f("br",null,null,-1)),Pfe=Ne(()=>f("br",null,null,-1)),Lfe=Ne(()=>f("br",null,null,-1)),Tfe=Ne(()=>f("br",null,null,-1)),zfe=Ne(()=>f("br",null,null,-1)),Mfe=Ne(()=>f("br",null,null,-1)),Vfe=Ne(()=>f("br",null,null,-1)),Ife=Ne(()=>f("br",null,null,-1)),Hfe=Ne(()=>f("br",null,null,-1)),Rfe=Ne(()=>f("br",null,null,-1)),Nfe=Ne(()=>f("br",null,null,-1)),Ofe=Ne(()=>f("br",null,null,-1)),Ufe=Ne(()=>f("br",null,null,-1)),Wfe=Ne(()=>f("br",null,null,-1)),qfe=Ne(()=>f("br",null,null,-1)),jfe=Ne(()=>f("br",null,null,-1)),Kfe=Ne(()=>f("br",null,null,-1)),Gfe=Ne(()=>f("br",null,null,-1)),Yfe={class:"fromitemChildDivRadius"},Xfe={class:"fromitemDivRadius",style:{"padding-top":"10px"}},Jfe={class:"dialog-footer"},Qfe=le({__name:"DDNS",setup(e){const t=L(!1),n=L(""),o=M=>{t.value=!0,n.value=M};var l=L({IPv6NewInterfaces:[{NetInterfaceName:"",AddressList:[""]}],IPv4NewInterfaces:[{NetInterfaceName:"",AddressList:[""]}]}),u=L([{NetInterfaceName:"",AddressList:[""]}]),a=L([{TaskName:"",TaskKey:"",TaskType:"IPv6",Enable:!0,GetType:"url",URL:[""],NetInterface:"",IPReg:"",Domains:[""],HttpClientTimeout:20,DNS:{Name:"alidns",ID:"",Secret:"",ForceInterval:600,ResolverDoaminCheck:!1,DNSServerList:[""],HttpClientProxyType:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"",Headers:[""],RequestBody:"",Server:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[""]}},WebhookEnable:!1,WebhookURL:"",WebhookMethod:"",WebhookHeaders:[""],WebhookRequestBody:"",WebhookDisableCallbackSuccessContentCheck:!1,WebhookSuccessContent:[""],WebhookProxy:"",WebhookProxyAddr:"",WebhookProxyUser:"",WebhookProxyPassword:"",TTL:"",TaskState:{WebhookCallTime:"",WebhookCallResult:!1,WebhookCallErrorMsg:"",IPAddrHistory:[{IPaddr:"",RecordTime:""}],WebhookCallHistroy:[{CallTime:"",CallResult:""}],IpAddr:"",Domains:[{DomainName:"",SubDomain:"",UpdateStatus:"",LastUpdateStatusTime:"",Message:"",UpdateHistroy:[{UpdateStatus:"",UpdateTime:""}]}]}}]);a.value.splice(0,1);const r=L(""),s=L(""),i=L("");r.value=' info';const p=[{value:"",label:"\u7981\u7528"},{value:"http",label:"HTTP"},{value:"https",label:"HTTPS"},{value:"socks5",label:"SOCKS5"}],m=[{value:"",label:"\u7981\u7528"},{value:"dns",label:"\u4F7F\u7528DNS\u670D\u52A1\u5546\u540C\u6837\u8BBE\u7F6E"},{value:"http",label:"HTTP"},{value:"https",label:"HTTPS"},{value:"socks5",label:"SOCKS5"}],v=[{value:"",label:"\u81EA\u52A8"},{value:"1",label:"1\u79D2"},{value:"5",label:"5\u79D2"},{value:"10",label:"10\u79D2"},{value:"60",label:"1\u5206\u949F"},{value:"120",label:"2\u5206\u949F"},{value:"600",label:"10\u5206\u949F"},{value:"1800",label:"30\u5206\u949F"},{value:"3600",label:"1\u5C0F\u65F6"}],_=M=>{for(let S in v)if(v[S].value==M)return v[S].label;return M+"\u79D2"},g=[{value:"meibu",label:"\u6BCF\u6B65"},{value:"noip",label:"No-IP"},{value:"dynv6",label:"Dynv6"},{value:"dynu",label:"Dynu"},{value:"other",label:"\u5176\u5B83"}],y=[{value:"",label:"tcp"},{value:"tcp4",label:"tcp4"},{value:"tcp6",label:"tcp6"}],w=()=>{console.log("WebHookTest");let M={WebhookURL:x.value.WebhookURL,WebhookMethod:x.value.WebhookMethod,WebhookRequestBody:x.value.WebhookRequestBody,WebhookProxy:x.value.WebhookProxy,WebhookProxyAddr:x.value.WebhookProxyAddr,WebhookProxyUser:x.value.WebhookProxyUser,WebhookProxyPassword:x.value.WebhookProxyPassword,WebhookHeaders:xt(Pe.value),WebhookSuccessContent:xt(he.value)};Rie(Be.value,M).then(S=>{if(S.ret==0){console.log("apiWebhookTest: "+JSON.stringify(S));let _e=`Webhook\u63A5\u53E3\u8C03\u7528\u7ED3\u679C: `+S.msg;_e+=` `,_e+=`Web\u63A5\u53E3\u53CD\u9988\u7684\u5B8C\u6574\u5185\u5BB9: `+S.Response,o(_e);return}ne("error",S.msg)}).catch(S=>{console.log("webhook\u63A5\u53E3\u8C03\u7528\u51FA\u9519,error:"+S),ne("error","webhook\u63A5\u53E3\u8C03\u7528\u51FA\u9519")})},E=M=>{for(let S in g)if(g[S].value==M)return g[S].label;return"\u672A\u652F\u6301\u7684DNSCallbackServerLaber"},D=["[2001:4860:4860::8888]:53","[2001:4860:4860::8844]:53","[2606:4700:4700::64]:53","[2606:4700:4700::6400]:53","[240C::6666]:53","[240C::6644]:53","[2402:4e00::]:53","[240e:4c:4008::1]:53","[240e:4c:4808::1]:53","[2408:8899::8]:53","[2408:8888::8]:53","[2409:8088::a]:53","[2409:8088::b]:53","[2001:dc7:1000::1]:53","[2400:da00::6666]:53"],C=["1.1.1.1:53","1.2.4.8:53","8.8.8.8:53","9.9.9.9:53","8.8.4.4:53","114.114.114.114:53","223.5.5.5:53","223.6.6.6:53","101.226.4.6:53","218.30.118.6:53","119.28.28.28:53"],B=[{value:"serverjiang",label:"Server\u9171"},{value:"bark",label:"Bark"},{value:"dingding",label:"\u9489\u9489"},{value:"feishu",label:"\u98DE\u4E66"},{value:"weixinpro",label:"\u4F01\u4E1A\u5FAE\u4FE1"},{value:"custom",label:"\u81EA\u5B9A\u4E49"}],$=[{value:"alidns",label:"Alidns(\u963F\u91CC\u4E91)"},{value:"baiducloud",label:"\u767E\u5EA6\u4E91"},{value:"cloudflare",label:"Cloudflare"},{value:"dnspod",label:"Dnspod(\u817E\u8BAF\u4E91)"},{value:"huaweicloud",label:"\u534E\u4E3A\u4E91"},{value:"porkbun",label:"Porkbun"},{value:"callback",label:"\u81EA\u5B9A\u4E49(Callback)"}],k=[{value:"get",label:"GET"},{value:"post",label:"POST"},{value:"put",label:"PUT"}],P=M=>{let S="";for(let _e in M){let G=M[_e].IPaddr;G==""&&(G="\u83B7\u53D6IP\u5931\u8D25"),S+=M[_e].RecordTime+"     "+G+"
"}return S},T=M=>{let S="";for(let _e in M){let G=M[_e].UpdateStatus;S+=M[_e].UpdateTime+"     "+G+"
"}return S},H=M=>{let S="\u4EC5\u8BB0\u5F55\u7A0B\u5E8F\u672C\u6B21\u542F\u52A8\u4EE5\u6765\u7684Webhook\u8C03\u7528\u8BB0\u5F55
";for(let _e in M){let G=M[_e].CallResult;S+=M[_e].CallTime+"     "+G+"
"}return S},j=M=>{switch(M){case"dingding":let S={msgtype:"markdown",markdown:{title:"DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988",text:`#### DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988 - IP\u5730\u5740\uFF1A#{ipAddr} - \u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{successDomainsLine} - \u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomainsLine} - Webhook\u89E6\u53D1\u65F6\u95F4: #{time}`}};i.value=JSON.stringify(S,null,2);break;case"feishu":let _e={msg_type:"post",content:{post:{zh_cn:{title:"DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988",content:[[{tag:"text",text:"IP\u5730\u5740\uFF1A#{ipAddr}"}],[{tag:"text",text:"\u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{su.ccessDomainsLine}"}],[{tag:"text",text:"\u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomainsLine}"}],[{tag:"text",text:`Webhook\u89E6\u53D1\u65F6\u95F4: #{time}`}]]}}}};i.value=JSON.stringify(_e,null,2);break;case"weixinpro":let G={msgtype:"markdown",markdown:{content:`#### DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988 ##### IP\u5730\u5740\uFF1A #{ipAddr} ##### \u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A #{successDomainsLine} ##### \u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A #{failedDomainsLine} ##### Webhook\u89E6\u53D1\u65F6\u95F4: #{time}`}};i.value=JSON.stringify(G,null,2);break}},X=(M,S)=>{let _e=M==""?S:M+"."+S;Di(_e),ne("success","\u57DF\u540D "+_e+" \u5DF2\u590D\u5236\u5230\u526A\u5207\u677F")},W=M=>{M!=""&&(Di(M),ne("success","IP "+M+" \u5DF2\u590D\u5236\u5230\u526A\u5207\u677F"))},N=()=>{Hie(x.value.TaskType,x.value.NetInterface,x.value.IPReg).then(M=>{if(M.ret==0){console.log("IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u7ED3\u679C:"+M.ip);let S="";M.ip==""?S="IP\u9009\u62E9\u5339\u914D\u4E0D\u5230\u4EFB\u4F55IP":S="IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u7ED3\u679C: "+M.ip,Yo(S);return}ne("error","IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u51FA\u9519")}).catch(M=>{console.log("IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u51FA\u9519:"+M),ne("error","IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u51FA\u9519")})},J=M=>{for(let S in $)if($[S].value==M.Name)return M.Name!="callback"?$[S].label:E(M.Callback.Server)+" (\u81EA\u5B9A\u4E49)";return"\u672A\u77E5DNS\u670D\u52A1\u5546"},be=()=>{switch(x.value.DNS.Name){case"alidns":return"AccessKey ID";case"dnspod":return"ID";case"cloudflare":return"";case"huaweicloud":return"Access Key Id";case"baiducloud":return"AccessKey ID";case"porkbun":return"API Key";case"callback":return"URL";default:return"\u672A\u652F\u6301\u670D\u52A1\u5546\u7C7B\u578B"}},ve=()=>{switch(x.value.DNS.Name){case"alidns":return"AccessKey Secret";case"dnspod":return"Token";case"cloudflare":return"Token";case"huaweicloud":return"Secret Access Key";case"baiducloud":return"AccessKey Secret";case"porkbun":return"Secret Key";case"callback":return"RequestBody";default:return"\u672A\u652F\u6301\u670D\u52A1\u5546\u7C7B\u578B"}},Ee=()=>{switch(x.value.DNS.Name){case"alidns":return!0;case"dnspod":return!0;case"cloudflare":return!1;case"huaweicloud":return!0;case"baiducloud":return!0;case"porkbun":return!0;case"callback":return!1;default:return!1}},te=()=>{switch(x.value.DNS.Name){case"alidns":return!0;case"dnspod":return!0;case"cloudflare":return!0;case"huaweicloud":return!0;case"baiducloud":return!0;case"porkbun":return!0;case"callback":return!1;default:return!1}},Z=M=>{console.log("ddnsTaskTypeChange label:"+M),x.value.TaskType!=O.value.TaskType?(x.value.URL=[],x.value.DNS.DNSServerList=[]):(x.value.URL=O.value.URL,x.value.DNS.DNSServerList=O.value.DNS.DNSServerList),xe.value=ee(),Te.value=Se(),Ae()},De=L(!1),Be=L(""),x=L({TaskName:"",TaskType:"IPv6",Enable:!0,GetType:"url",URL:[""],NetInterface:"",IPReg:"",Domains:[""],HttpClientTimeout:60,DNS:{Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!1,CallAPINetwork:"",DNSServerList:[""],HttpClientProxyType:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"",Headers:[""],RequestBody:"",Server:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[""]}},WebhookEnable:!1,WebhookCallOnGetIPfail:!1,WebhookURL:"",WebhookMethod:"",WebhookHeaders:[""],WebhookRequestBody:"",WebhookDisableCallbackSuccessContentCheck:!1,WebhookSuccessContent:[""],WebhookProxy:"",WebhookProxyAddr:"",WebhookProxyUser:"",WebhookProxyPassword:"",TTL:""}),O=L({TaskName:"",TaskType:"IPv6",Enable:!0,GetType:"url",URL:[""],NetInterface:"",IPReg:"",Domains:[""],HttpClientTimeout:20,DNS:{Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!1,DNSServerList:[""],HttpClientProxyType:"",CallAPINetwork:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"",Headers:[""],RequestBody:"",Server:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[""]}},WebhookEnable:!1,WebhookCallOnGetIPfail:!1,WebhookURL:"",WebhookMethod:"",WebhookHeaders:[""],WebhookRequestBody:"",WebhookDisableCallbackSuccessContentCheck:!1,WebhookSuccessContent:[""],WebhookProxy:"",WebhookProxyAddr:"",WebhookProxyUser:"",WebhookProxyPassword:"",TTL:""}),ye=L(""),xe=L(""),Pe=L(""),he=L(""),Te=L(""),je=L(""),de=L(""),se=L(""),z=["https://4.ipw.cn","http://v4.ip.zxinc.org/getip","https://myip4.ipip.net","https://www.taobao.com/help/getip.php","https://ddns.oray.com/checkip","https://ip.3322.net","https://v4.myip.la"],q=["https://6.ipw.cn","https://ipv6.ddnspod.com","http://v6.ip.zxinc.org/getip","https://speed.neu6.edu.cn/getIP.php","https://v6.ident.me","https://v6.myip.la"],R=(M,S)=>{s.value="",Ae(),se.value=M,M=="add"?(x.value.TaskName="",x.value.TaskType="IPv6",x.value.Enable=!0,x.value.GetType="url",x.value.URL=q,x.value.NetInterface="",x.value.IPReg="",x.value.Domains=[""],x.value.HttpClientTimeout=20,x.value.DNS={Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!0,DNSServerList:[],HttpClientProxyType:"",CallAPINetwork:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"get",Headers:[""],RequestBody:"",Server:"other",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[]}},x.value.WebhookEnable=!1,x.value.WebhookCallOnGetIPfail=!1,x.value.WebhookURL="",x.value.WebhookMethod="get",x.value.WebhookHeaders=[],x.value.WebhookRequestBody="",x.value.WebhookDisableCallbackSuccessContentCheck=!1,x.value.WebhookSuccessContent=[],x.value.WebhookProxy="",x.value.WebhookProxyAddr="",x.value.WebhookProxyUser="",x.value.WebhookProxyPassword="",x.value.TTL="",xe.value=ee(),Te.value=Se(),Pe.value=we(),Pe.value="",he.value="",de.value="",je.value="",O.value.TaskName="",O.value.TaskType="IPv6",O.value.Enable=!0,O.value.GetType="url",O.value.URL=xt(xe.value),O.value.NetInterface="",O.value.IPReg="",O.value.Domains=[""],O.value.HttpClientTimeout=20,O.value.DNS={Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!0,DNSServerList:[],HttpClientProxyType:"",CallAPINetwork:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"get",Headers:[""],RequestBody:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[],Server:"other"}},O.value.WebhookEnable=!1,O.value.WebhookCallOnGetIPfail=!1,O.value.WebhookURL="",O.value.WebhookMethod="get",O.value.WebhookHeaders=[],O.value.WebhookRequestBody="",O.value.WebhookDisableCallbackSuccessContentCheck=!1,O.value.WebhookSuccessContent=[],O.value.WebhookProxy="",O.value.WebhookProxyAddr="",O.value.WebhookProxyUser="",O.value.WebhookProxyPassword="",O.value.TTL=""):(x.value.TaskName=S.TaskName,x.value.TaskType=S.TaskType,x.value.Enable=S.Enable,x.value.GetType=S.GetType,x.value.URL=S.URL,x.value.NetInterface=S.NetInterface,x.value.IPReg=S.IPReg,x.value.Domains=S.Domains,x.value.HttpClientTimeout=S.HttpClientTimeout,x.value.DNS={Name:S.DNS.Name,ID:S.DNS.ID,Secret:S.DNS.Secret,ForceInterval:S.DNS.ForceInterval,ResolverDoaminCheck:S.DNS.ResolverDoaminCheck,DNSServerList:S.DNS.DNSServerList,HttpClientProxyType:S.DNS.HttpClientProxyType,CallAPINetwork:S.DNS.CallAPINetwork,HttpClientProxyAddr:S.DNS.HttpClientProxyAddr,HttpClientProxyUser:S.DNS.HttpClientProxyUser,HttpClientProxyPassword:S.DNS.HttpClientProxyPassword,Callback:{URL:S.DNS.Callback.URL,Method:S.DNS.Callback.Method,Headers:S.DNS.Callback.Headers,RequestBody:S.DNS.Callback.RequestBody,Server:S.DNS.Callback.Server,DisableCallbackSuccessContentCheck:S.DNS.Callback.DisableCallbackSuccessContentCheck,CallbackSuccessContent:S.DNS.Callback.CallbackSuccessContent}},x.value.WebhookEnable=S.WebhookEnable,x.value.WebhookCallOnGetIPfail=S.WebhookCallOnGetIPfail,x.value.WebhookURL=S.WebhookURL,x.value.WebhookRequestBody=S.WebhookRequestBody,x.value.WebhookMethod=S.WebhookMethod,x.value.WebhookHeaders=S.WebhookHeaders,x.value.WebhookDisableCallbackSuccessContentCheck=S.WebhookDisableCallbackSuccessContentCheck,x.value.WebhookSuccessContent=S.WebhookSuccessContent,x.value.WebhookProxy=S.WebhookProxy,x.value.WebhookProxyAddr=S.WebhookProxyAddr,x.value.WebhookProxyUser=S.WebhookProxyUser,x.value.WebhookProxyPassword=S.WebhookProxyPassword,x.value.TTL=S.TTL,xe.value=ee(),de.value=Ke(),ye.value=nt(),je.value=Le(),Te.value=Se(),Pe.value=we(),he.value=Qe(),O.value.TaskName=S.TaskName,O.value.TaskType=S.TaskType,O.value.Enable=S.Enable,O.value.GetType=S.GetType,O.value.URL=xt(xe.value),O.value.NetInterface=S.NetInterface,O.value.IPReg=S.IPReg,O.value.Domains=S.Domains,O.value.HttpClientTimeout=S.HttpClientTimeout,O.value.DNS={Name:S.DNS.Name,ID:S.DNS.ID,Secret:S.DNS.Secret,ForceInterval:S.DNS.ForceInterval,ResolverDoaminCheck:S.DNS.ResolverDoaminCheck,DNSServerList:S.DNS.DNSServerList,HttpClientProxyType:S.DNS.HttpClientProxyType,CallAPINetwork:S.DNS.CallAPINetwork,HttpClientProxyAddr:S.DNS.HttpClientProxyAddr,HttpClientProxyUser:S.DNS.HttpClientProxyUser,HttpClientProxyPassword:S.DNS.HttpClientProxyPassword,Callback:{URL:S.DNS.Callback.URL,Method:S.DNS.Callback.Method,Headers:S.DNS.Callback.Headers,RequestBody:S.DNS.Callback.RequestBody,CallbackSuccessContent:S.DNS.Callback.CallbackSuccessContent,DisableCallbackSuccessContentCheck:S.DNS.Callback.DisableCallbackSuccessContentCheck,Server:S.DNS.Callback.Server}},O.value.WebhookEnable=S.WebhookEnable,O.value.WebhookMethod=S.WebhookMethod,O.value.WebhookHeaders=S.WebhookHeaders,O.value.WebhookCallOnGetIPfail=S.WebhookCallOnGetIPfail,O.value.WebhookURL=S.WebhookURL,O.value.WebhookDisableCallbackSuccessContentCheck=S.WebhookDisableCallbackSuccessContentCheck,O.value.WebhookSuccessContent=S.WebhookSuccessContent,O.value.WebhookRequestBody=S.WebhookRequestBody,O.value.WebhookProxy=S.WebhookProxy,O.value.WebhookProxyAddr=S.WebhookProxyAddr,O.value.WebhookProxyUser=S.WebhookProxyUser,O.value.WebhookProxyPassword=S.WebhookProxyPassword,O.value.TTL=S.TTL,Be.value=S.TaskKey),De.value=!0},I=M=>{console.log("ResolverDoaminCheckChange: "+M)},Y=(M,S)=>{const _e=M==!1?"\u542F\u7528":"\u7981\u7528",G="["+S.TaskName+"]";return new Promise((ie,$e)=>{$t.confirm("\u786E\u8BA4\u8981"+_e+"DDNS\u4EFB\u52A1 "+G+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Eie(S.TaskKey,!M).then(St=>{if(St.ret==0){ie(!0),ne("success","DDNS\u4EFB\u52A1 "+G+_e+"\u6210\u529F");return}ie(!1),ne("error","DDNS\u4EFB\u52A1 "+G+_e+"\u5931\u8D25"),St.syncres!=null&&St.syncres!=""&&so("warn",St.syncres,0)}).catch(St=>{ie(!1),console.log("DDNS\u4EFB\u52A1 "+G+_e+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+St),ne("error","DDNS\u4EFB\u52A1 "+G+_e+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{ie(!1)})})},pe=M=>{const _e="["+M.TaskName+"]";$t.confirm("\u786E\u8BA4\u8981\u5220\u9664DDNS\u4EFB\u52A1 "+_e+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{console.log("\u786E\u8BA4\u5220\u9664DDNS\u4EFB\u52A1 "+_e),wie(M.TaskKey).then(G=>{G.ret==0?(ce(),ne("success","\u5220\u9664\u6210\u529F"),G.syncres!=null&&G.syncres!=""&&so("warn",G.syncres,0)):ne("error",G.msg)}).catch(G=>{console.log("\u5220\u9664DDNS\u4EFB\u52A1\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+G),ne("error","\u5220\u9664DDNS\u4EFB\u52A1\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{})},Fe=()=>{x.value.URL=xt(xe.value),x.value.Domains=xt(de.value),x.value.DNS.Callback.Headers=xt(ye.value),x.value.DNS.Callback.CallbackSuccessContent=xt(je.value),x.value.DNS.DNSServerList=xt(Te.value),x.value.WebhookHeaders=xt(Pe.value),x.value.WebhookSuccessContent=xt(he.value),x.value.URL.length==0&&(x.value.TaskType=="IPv6"?x.value.URL=q:x.value.URL=z,xe.value=ee());let M=ue();if(M.length>0){Yo(M);return}se.value=="add"?(console.log("add DDNS\u4EFB\u52A1"),bie(x.value).then(S=>{if(S.ret==0){De.value=!1,ne("success","DDNS\u4EFB\u52A1\u6DFB\u52A0\u6210\u529F"),console.log("\u5237\u65B0DDNS\u4EFB\u52A1\u5217\u8868"),ce(),S.syncres!=null&&S.syncres!=""&&so("warn",S.syncres,0);return}ne("error",S.msg)}).catch(S=>{console.log("DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+S),ne("error","DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})):yie(Be.value,x.value).then(S=>{if(S.ret==0){De.value=!1,ne("success","DDNS\u4EFB\u52A1\u4FEE\u6539\u6210\u529F"),console.log("\u5237\u65B0DDNS\u4EFB\u52A1\u5217\u8868"),ce(),S.syncres!=null&&S.syncres!=""&&so("warn",S.syncres,0);return}ne("error",S.msg)}).catch(S=>{console.log("DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+S),ne("error","DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})},ce=()=>{Cie().then(M=>{if(M.ret==0){a.value=M.data;return}if(M.ret==6){ne("warning","\u8BF7\u5148\u5728\u52A8\u6001\u57DF\u540D\u8BBE\u7F6E\u4E2D\u542F\u7528DDNS\u52A8\u6001\u57DF\u540D\u670D\u52A1"),location.hash="#ddnsset";return}}).catch(M=>{console.log("\u83B7\u53D6DDNS\u4EFB\u52A1\u5217\u8868\u51FA\u9519:"+M),ne("error","\u83B7\u53D6DDNS\u4EFB\u52A1\u5217\u8868\u51FA\u9519")})},Ae=()=>{Iie().then(M=>{M.ret==0&&(l.value=M.data,x.value.TaskType=="IPv6"?u.value=l.value.IPv6NewInterfaces:u.value=l.value.IPv4NewInterfaces,x.value.NetInterface==""&&u.value.length>0&&(x.value.NetInterface=u.value[0].NetInterfaceName))}).catch(M=>{console.log("\u83B7\u53D6\u7F51\u5361\u5217\u8868\u51FA\u9519:"+M),ne("error","\u83B7\u53D6\u7F51\u5361\u5217\u8868\u51FA\u9519")})},ue=()=>{let M=x.value,S=me(M.DNS);if(S.length>0)return S;if(M.Domains.length==0)return"\u57DF\u540D\u5217\u8868\u4E0D\u80FD\u4E3A\u7A7A";if(M.GetType=="url"&&M.URL.length<=0)return"\u63A5\u53E3\u5217\u8868\u4E0D\u80FD\u4E3A\u7A7A";if(M.GetType=="netInterface"&&M.NetInterface=="")return"\u8BF7\u9009\u62E9\u83B7\u53D6IP\u7684\u7F51\u5361";if(M.DNS.HttpClientProxyType!=""&&M.DNS.HttpClientProxyAddr=="")return"DNS \u4EE3\u7406\u8BBE\u7F6E\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A";if(M.WebhookEnable){if(M.WebhookURL=="")return"\u8BF7\u586B\u5199Webhook \u63A5\u53E3\u5730\u5740";if(M.WebhookMethod=="")return"\u8BF7\u9009\u62E9Webhook \u8BF7\u6C42\u65B9\u6CD5";if(M.WebhookProxy!=""&&M.WebhookProxy!="dns"&&M.WebhookProxyAddr=="")return"Webhook \u4EE3\u7406\u8BBE\u7F6E\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A";if(!M.WebhookDisableCallbackSuccessContentCheck&&M.WebhookSuccessContent.length==0)return"Webhook\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u4E0D\u80FD\u4E3A\u7A7A,\u5982\u679C\u8981\u6307\u5B9A\u4E3A\u7A7A\u8BF7\u7981\u7528\u68C0\u6D4B"}return M.DNS.Name=="callback"?(M.DNS.ID="",M.DNS.Secret="",M.DNS.Callback.Method=="get"&&(M.DNS.Callback.RequestBody="")):M.DNS.Callback={URL:"",Method:"",Headers:[],RequestBody:"",Server:"",CallbackSuccessContent:[],DisableCallbackSuccessContentCheck:!1},M.WebhookEnable&&M.WebhookMethod=="get"&&(M.WebhookRequestBody=""),""},me=M=>{switch(M.Name){case"cloudflare":if(M.Secret=="")return"Cloudflare Token\u4E0D\u80FD\u4E3A\u7A7A";break;case"callback":if(M.Callback.Method=="")return"\u8BF7\u9009\u62E9Callback\u7684\u8BF7\u6C42\u65B9\u6CD5";if(M.Callback.URL=="")return"Callback \u63A5\u53E3\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A";if(!M.Callback.DisableCallbackSuccessContentCheck&&M.Callback.CallbackSuccessContent.length==0)return"\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u4E0D\u80FD\u4E3A\u7A7A,\u5982\u679C\u8981\u6307\u5B9A\u4E3A\u7A7A\u8BF7\u7981\u7528\u68C0\u6D4B";break;default:if(M.Secret==""||M.ID=="")return"DNS\u670D\u52A1\u5546\u76F8\u5173\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A"}return""},Ie=()=>{$t.confirm("\u786E\u8BA4\u8981\u6839\u636ECallback DNS\u670D\u52A1\u5546["+E(x.value.DNS.Callback.Server)+"]\u548C\u516C\u7F51IP\u7C7B\u578B:["+x.value.TaskType+"]\u81EA\u52A8\u586B\u5145\u53C2\u6570\u6A21\u7248?","Warning",{confirmButtonText:"\u81EA\u52A8\u586B\u5145",cancelButtonText:"\u4E0D\u9700\u8981",type:"warning"}).then(()=>{switch(x.value.DNS.Callback.Server){case"meibu":x.value.TaskType=="IPv6"?x.value.DNS.Callback.URL="http://v6.meibu.com/v6.asp?name=#{domain}&pwd=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684\u5BC6\u7801":x.value.DNS.Callback.URL="http://ipv4.meibu.com/ipv4.asp?ID=lucky&name=#{domain}&pwd=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684\u5BC6\u7801",ye.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["chenggong","chongfu","ok"],je.value=`chenggong chongfu ok`;break;case"noip":x.value.DNS.Callback.URL="http://\u4F60\u7684\u8D26\u53F7:\u4F60\u7684\u5BC6\u7801@dynupdate.no-ip.com/nic/update?hostname=#{domain}&myip=#{ip}",ye.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["nochg #{ip}","good #{ip}"],je.value=`nochg #{ip} good #{ip}`;break;case"dynv6":x.value.TaskType=="IPv6"?x.value.DNS.Callback.URL="https://dynv6.com/api/update?hostname=#{domain}&token=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684Token&ipv6=#{ip}":x.value.DNS.Callback.URL="https://dynv6.com/api/update?hostname=#{domain}&token=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684Token&ipv4=#{ip}",ye.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["addresses updated"],je.value=`addresses updated `;break;case"dynu":x.value.TaskType=="IPv6"?x.value.DNS.Callback.URL="https://api.dynu.com/nic/update?hostname=#{domain}&myip=no&myipv6=#{ip}&username=\u7528\u6237\u540D&password=\u767B\u5F55\u5BC6\u7801\u6216IP\u66F4\u65B0\u5BC6\u7801":x.value.DNS.Callback.URL="https://api.dynu.com/nic/update?hostname=#{domain}&myip=#{ip}&myipv6=no}&username=\u7528\u6237\u540D&password=\u767B\u5F55\u5BC6\u7801\u6216IP\u66F4\u65B0\u5BC6\u7801",ye.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["nochg","good #{ip}"],je.value=`nochg good #{ip}`;break}}).catch(()=>{})},ee=()=>{(x.value.URL==null||x.value.URL.length<=0||x.value.URL.length==1&&x.value.URL[0]=="")&&(x.value.TaskType=="IPv6"?x.value.URL=q:x.value.URL=z);var M="";for(let S in x.value.URL)S=="0"?M=x.value.URL[S]:M+=` `+x.value.URL[S];return M},Se=()=>{(x.value.DNS.DNSServerList==null||x.value.DNS.DNSServerList.length<=0||x.value.DNS.DNSServerList.length==1&&x.value.DNS.DNSServerList[0]=="")&&(x.value.TaskType=="IPv6"?x.value.DNS.DNSServerList=D:x.value.DNS.DNSServerList=C);var M="";for(let S in x.value.DNS.DNSServerList)S=="0"?M=x.value.DNS.DNSServerList[S]:M+=` `+x.value.DNS.DNSServerList[S];return M},Ke=()=>{if(x.value.Domains==null||x.value.Domains.length==0)return"";var M="";for(let S in x.value.Domains)S=="0"?M=x.value.Domains[S]:M+=` `+x.value.Domains[S];return M},nt=()=>{if(x.value.DNS.Callback.Headers==null||x.value.DNS.Callback.Headers.length==0)return"";var M="";for(let S in x.value.DNS.Callback.Headers)S=="0"?M=x.value.DNS.Callback.Headers[S]:M+=` `+x.value.DNS.Callback.Headers[S];return M},we=()=>{if(x.value.WebhookHeaders==null||x.value.WebhookHeaders.length==0)return"";var M="";for(let S in x.value.WebhookHeaders)S=="0"?M=x.value.WebhookHeaders[S]:M+=` `+x.value.WebhookHeaders[S];return M},Le=()=>{if(x.value.DNS.Callback.CallbackSuccessContent==null||x.value.DNS.Callback.CallbackSuccessContent.length==0)return"";var M="";for(let S in x.value.DNS.Callback.CallbackSuccessContent)S=="0"?M=x.value.DNS.Callback.CallbackSuccessContent[S]:M+=` `+x.value.DNS.Callback.CallbackSuccessContent[S];return M},Qe=()=>{if(x.value.WebhookSuccessContent==null||x.value.WebhookSuccessContent.length==0)return"";var M="";for(let S in x.value.WebhookSuccessContent)S=="0"?M=x.value.WebhookSuccessContent[S]:M+=` `+x.value.WebhookSuccessContent[S];return M};var Ze;return ot(()=>{ce(),Ze=setInterval(()=>{ce()},500)}),In(()=>{clearInterval(Ze)}),(M,S)=>{const _e=vn,G=ya,ie=rl,$e=pn,St=ba,Xt=Yt,Ce=lt("Plus"),Jt=rt,_n=Vl,ht=nn,t2=Il,Ue=Bn,to=Ea,no=Ca,mn=i6,n2=eo,Aa=zc,o2=Mc,op=Hn;return b(),F("div",jde,[c(Xt,{height:"100%"},{default:d(()=>[(b(!0),F(Oe,null,it(h(a),(Q,Bu)=>(b(),F("div",Kde,[c(St,{column:4,border:""},{default:d(()=>[c(G,{label:"DDNS\u4EFB\u52A1\u540D\u79F0"},{default:d(()=>[fe(c(_e,{type:"",size:"default"},{default:d(()=>[A(re(Q.TaskName==""?"\u672A\u547D\u540D\u4EFB\u52A1":Q.TaskName),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(G,{label:"DDNS\u7C7B\u578B"},{default:d(()=>[fe(c(_e,{color:"#409eff",size:"default"},{default:d(()=>[A(re(Q.TaskType),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(G,{label:"\u4EFB\u52A1\u64CD\u4F5C",span:2},{default:d(()=>[c($e,{content:Q.Enable==!0?"\u4EFB\u52A1\u5DF2\u542F\u7528":"\u4EFB\u52A1\u5DF2\u7981\u7528",placement:"top"},{default:d(()=>[c(ie,{modelValue:Q.Enable,"onUpdate:modelValue":Pt=>Q.Enable=Pt,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":Y.bind(this,Q.Enable,Q),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),A(" \xA0\xA0 "),c(_e,{type:"primary",onClick:Pt=>R("alter",Q)},{default:d(()=>[A("\u7F16\u8F91")]),_:2},1032,["onClick"]),c(_e,{type:"danger",onClick:Pt=>pe(Q)},{default:d(()=>[A("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024),c(G,{label:"DNS\u670D\u52A1\u5546"},{default:d(()=>[fe(c(_e,{color:"#409eff",size:"small"},{default:d(()=>[A(re(J(Q.DNS)),1)]),_:2},1536),[[ge,!0]]),c($e,{"v-if":Q.DNS.HttpClientProxyType!="",content:Q.DNS.HttpClientProxyType==""?"\u672A\u8BBE\u7F6E\u4EE3\u7406":"\u7C7B\u578B:["+Q.DNS.HttpClientProxyType+"] \u4EE3\u7406\u670D\u52A1\u5668\u5730\u5740:["+Q.DNS.HttpClientProxyAddr+"]",placement:"top"},{default:d(()=>[c(_e,{type:Q.DNS.HttpClientProxyType==""?"":"success",size:"small"},{default:d(()=>[A(re(Q.DNS.HttpClientProxyType==""?"\u672A\u8BBE\u7F6E\u4EE3\u7406":"\u5DF2\u8BBE\u7F6E\u4EE3\u7406"),1)]),_:2},1032,["type"])]),_:2},1032,["v-if","content"])]),_:2},1024),c(G,{label:"\u83B7\u53D6\u516C\u7F51IP\u65B9\u5F0F"},{default:d(()=>[fe(c(_e,{color:"#409eff",size:"default"},{default:d(()=>[A(re(Q.GetType=="url"?"URL":"\u7F51\u5361"),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(G,{label:"\u516C\u7F51IP"},{default:d(()=>[c($e,{placement:Bu==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:P(Q.TaskState.IPAddrHistory)},null,8,Gde)]),default:d(()=>[fe(c(_e,{color:"#409eff",size:"default",onClick:Pt=>W(Q.TaskState.IpAddr)},{default:d(()=>[A(re(Q.TaskState.IpAddr==""?"\u5C1A\u672A\u83B7\u53D6\u5230\u516C\u7F51IP":Q.TaskState.IpAddr),1)]),_:2},1032,["onClick"]),[[ge,!0]])]),_:2},1032,["placement"])]),_:2},1024),c(G,{label:"TTL"},{default:d(()=>[fe(c(_e,{size:"small",type:""},{default:d(()=>[A(re(_(Q.TTL)),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),Q.WebhookEnable?(b(),F("div",Yde,[c(G,{label:"WebHook",span:1},{default:d(()=>[c(_e,{type:"success",size:"small"},{default:d(()=>[A(" \u5DF2\u542F\u7528 ")]),_:1}),c(_e,{type:Q.WebhookProxy==""?"":"success",size:"small"},{default:d(()=>[A(re(Q.WebhookProxy==""?"\u672A\u8BBE\u7F6E\u4EE3\u7406":"\u5DF2\u8BBE\u7F6E\u4EE3\u7406"),1)]),_:2},1032,["type"])]),_:2},1024),c(G,{label:"WebHook \u89E6\u53D1\u65F6\u95F4",span:Q.TaskState.WebhookCallTime==""?3:1},{default:d(()=>[c($e,{placement:Bu==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:H(Q.TaskState.WebhookCallHistroy)},null,8,Xde)]),default:d(()=>[c(_e,{color:"#409eff",size:"default"},{default:d(()=>[A(re(Q.TaskState.WebhookCallTime==""?"\u4ECE\u672A\u89E6\u53D1":Q.TaskState.WebhookCallTime),1)]),_:2},1024)]),_:2},1032,["placement"])]),_:2},1032,["span"]),Q.TaskState.WebhookCallTime!=""?(b(),ae(G,{key:0,label:"WebHook \u89E6\u53D1\u7ED3\u679C",span:Q.TaskState.WebhookCallErrorMsg==""?2:1},{default:d(()=>[c($e,{placement:Bu==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:H(Q.TaskState.WebhookCallHistroy)},null,8,Jde)]),default:d(()=>[c(_e,{color:"#409eff",size:"default"},{default:d(()=>[A(re(Q.TaskState.WebhookCallResult==!0?"\u6210\u529F":"\u5931\u8D25"),1)]),_:2},1024)]),_:2},1032,["placement"])]),_:2},1032,["span"])):oe("",!0),Q.TaskState.WebhookCallErrorMsg!=""?(b(),ae(G,{key:1,label:"WebHook \u89E6\u53D1\u9519\u8BEF\u539F\u56E0",span:1},{default:d(()=>[c(_e,{color:"#409eff",size:"default",onClick:Pt=>o(Q.TaskState.WebhookCallErrorMsg)},{default:d(()=>[A(" \u70B9\u51FB\u67E5\u770B ")]),_:2},1032,["onClick"])]),_:2},1024)):oe("",!0)])):oe("",!0),(b(!0),F(Oe,null,it(Q.TaskState.Domains,Pt=>(b(),F("div",null,[c(G,{label:"\u57DF\u540D"},{default:d(()=>[c(_e,{color:"#409eff",size:"default",onClick:lp=>X(Pt.SubDomain,Pt.DomainName)},{default:d(()=>[A(re(Pt.SubDomain==""?Pt.DomainName:Pt.SubDomain+"."+Pt.DomainName),1)]),_:2},1032,["onClick"])]),_:2},1024),c(G,{label:"\u540C\u6B65\u7ED3\u679C"},{default:d(()=>[c($e,{placement:Bu==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:T(Pt.UpdateHistroy)},null,8,Qde)]),default:d(()=>[c(_e,{type:Pt.UpdateStatus=="\u5931\u8D25"?"danger":Q.Enable?"success":"info",size:"small"},{default:d(()=>[A(re(Q.Enable?Pt.UpdateStatus:"\u505C\u6B62\u540C\u6B65"),1)]),_:2},1032,["type"])]),_:2},1032,["placement"])]),_:2},1024),c(G,{label:"\u6700\u540E\u68C0\u6D4B\u65F6\u95F4",span:Pt.Message==""?2:1},{default:d(()=>[c($e,{placement:Bu==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:T(Pt.UpdateHistroy)},null,8,Zde)]),default:d(()=>[c(_e,{color:"#409eff",size:"default"},{default:d(()=>[A(re(Pt.LastUpdateStatusTime),1)]),_:2},1024)]),_:2},1032,["placement"])]),_:2},1032,["span"]),Pt.Message!=""?(b(),ae(G,{key:0,label:"\u9519\u8BEF\u4FE1\u606F"},{default:d(()=>[c(_e,{color:"#409eff",size:"default",onClick:lp=>o(Pt.Message)},{default:d(()=>[A(" \u70B9\u51FB\u67E5\u770B ")]),_:2},1032,["onClick"])]),_:2},1024)):oe("",!0)]))),256))]),_:2},1024)]))),256))]),_:1}),c(_n,{position:"bottom",offset:30,class:"affix-container"},{default:d(()=>[c(_e,{type:"primary",onClick:S[0]||(S[0]=Q=>R("add",null))},{default:d(()=>[A("\u6DFB\u52A0DDNS\u4EFB\u52A1 "),c(Jt,null,{default:d(()=>[c(Ce)]),_:1})]),_:1})]),_:1}),c(t2,{modelValue:t.value,"onUpdate:modelValue":S[2]||(S[2]=Q=>t.value=Q),title:"\u8BE6\u7EC6\u4FE1\u606F",draggable:"","show-close":!0,"close-on-click-modal":!1,width:"600px"},{default:d(()=>[c(ht,{modelValue:n.value,"onUpdate:modelValue":S[1]||(S[1]=Q=>n.value=Q),autosize:{minRows:3,maxRows:10},type:"textarea"},null,8,["modelValue"])]),_:1},8,["modelValue"]),c(t2,{modelValue:De.value,"onUpdate:modelValue":S[48]||(S[48]=Q=>De.value=Q),title:se.value=="add"?"DDNS\u4EFB\u52A1\u6DFB\u52A0":"DDNS\u4EFB\u52A1\u4FEE\u6539",draggable:"","show-close":!0,"close-on-click-modal":!1,width:"600px"},{footer:d(()=>[f("span",Jfe,[c(_e,{onClick:S[47]||(S[47]=Q=>De.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(_e,{type:"primary",onClick:Fe},{default:d(()=>[A(re(se.value=="add"?"\u6DFB\u52A0":"\u4FEE\u6539"),1)]),_:1})])]),default:d(()=>[c(op,{model:x.value},{default:d(()=>[c(Ue,{label:"DDNS\u4EFB\u52A1\u540D\u79F0","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.TaskName,"onUpdate:modelValue":S[3]||(S[3]=Q=>x.value.TaskName=Q),placeholder:"\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(Ue,{label:"\u4EFB\u52A1\u5F00\u5173","label-width":"auto"},{default:d(()=>[c(ie,{modelValue:x.value.Enable,"onUpdate:modelValue":S[4]||(S[4]=Q=>x.value.Enable=Q),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u505C\u7528"},null,8,["modelValue"])]),_:1}),fe(f("div",null,[f("div",e1e,[t1e,f("div",n1e,[c(Ue,{label:"DNS\u670D\u52A1\u5546","label-width":"auto"},{default:d(()=>[c(no,{modelValue:x.value.DNS.Name,"onUpdate:modelValue":S[5]||(S[5]=Q=>x.value.DNS.Name=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(),F(Oe,null,it($,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),x.value.DNS.Name=="alidns"?(b(),F("div",o1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://ram.console.aliyun.com/manage/ak?spm=5176.12818093.nav-right.dak.488716d0mHaMgg",target:"_blank"},{default:d(()=>[A(" \u521B\u5EFA AccessKey ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="baiducloud"?(b(),F("div",l1e,[c($e,{class:"box-item",effect:"dark",content:"\u9700\u8C03\u7528 API,\u800C\u767E\u5EA6\u4E91\u76F8\u5173API\u4EC5\u5BF9\u7533\u8BF7\u7528\u6237\u5F00\u653E\uFF0C\u4F7F\u7528\u524D\u8BF7\u5148\u63D0\u4EA4\u5DE5\u5355\u7533\u8BF7\u3002"},{default:d(()=>[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://console.bce.baidu.com/iam/?_=1651763238057#/iam/accesslist",target:"_blank"},{default:d(()=>[A(" \u521B\u5EFA AccessKey ")]),_:1}),A(" \xA0 \xA0 \xA0 "),c(mn,{type:"primary",style:{"font-size":"small"},href:"https://ticket.bce.baidu.com/#/ticket/create~productId=60&questionId=393&channel=2",target:"_blank"},{default:d(()=>[A(" \u7533\u8BF7\u5DE5\u5355 ")]),_:1})]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="cloudflare"?(b(),F("div",u1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://dash.cloudflare.com/profile/api-tokens",target:"_blank"},{default:d(()=>[A(" \u521B\u5EFA\u4EE4\u724C->\u7F16\u8F91\u533A\u57DF DNS (\u4F7F\u7528\u6A21\u677F) ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="dnspod"?(b(),F("div",a1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://console.dnspod.cn/account/token",target:"_blank"},{default:d(()=>[A(" \u521B\u5EFA\u5BC6\u94A5 ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="huaweicloud"?(b(),F("div",r1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://console.huaweicloud.com/iam/?locale=zh-cn#/mine/accessKey",target:"_blank"},{default:d(()=>[A(" \u65B0\u589E\u8BBF\u95EE\u5BC6\u94A5 ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="porkbun"?(b(),F("div",s1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://porkbun.com/account/api",target:"_blank"},{default:d(()=>[A(" \u521B\u5EFA Access ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="callback"?(b(),F("div",i1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c1e]),_:1})])):oe("",!0),fe(c(Ue,{label:be(),"label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.DNS.ID,"onUpdate:modelValue":S[6]||(S[6]=Q=>x.value.DNS.ID=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label"]),[[ge,Ee()]]),fe(c(Ue,{label:ve(),"label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.DNS.Secret,"onUpdate:modelValue":S[7]||(S[7]=Q=>x.value.DNS.Secret=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label"]),[[ge,te()]]),c($e,{placement:"top"},{content:d(()=>[A(" \u5F3A\u5236\u540C\u6B65,\u5F53DNS\u89E3\u6790\u57DF\u540D\u5F00\u5173\u6253\u5F00\u65F6\u4F1A\u5148\u901A\u8FC7DNS\u89E3\u6790\u8FDB\u884CIP\u6BD4\u5BF9,\u6BD4\u5BF9\u4E00\u81F4\u4F9D\u7136\u4E0D\u4F1A\u5F3A\u5236\u540C\u6B65,\u53EA\u8981\u4E0D\u624B\u52A8\u4FEE\u6539\u57DF\u540DIP\u8FD9\u4E2A\u503C\u8BBE\u7F6E\u5927\u4E00\u4E9B\u5B8C\u5168\u6CA1\u95EE\u9898,\u53EF\u8BBE\u8303\u56F4(60-360000)"),d1e,A(" \u5F3A\u5236\u540C\u6B65\u68C0\u67E5\u4F1A\u5728\u6BCF\u4E00\u8F6E\u5B9A\u65F6\u6279\u91CF\u6267\u884CDDNS\u4EFB\u52A1\u4E2D\u8FDB\u884C,\u6240\u4EE5\u5B9E\u9645\u5F3A\u5236\u540C\u6B65\u65F6\u95F4\u4E0D\u4F1A\u5F88\u7CBE\u786E ")]),default:d(()=>[c(Ue,{label:"\u5F3A\u5236\u540C\u6B65(\u79D2)","label-width":"auto",min:60,max:36e4},{default:d(()=>[c(n2,{modelValue:x.value.DNS.ForceInterval,"onUpdate:modelValue":S[8]||(S[8]=Q=>x.value.DNS.ForceInterval=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),fe(f("p",null,"\u81EA\u5B9A\u4E49(Callback)\u670D\u52A1\u5546\u8BBE\u7F6E",512),[[ge,x.value.DNS.Name=="callback"]]),fe(f("div",f1e,[c(Ue,{label:"Callback DNS\u670D\u52A1\u5546","label-width":"auto"},{default:d(()=>[c(no,{modelValue:x.value.DNS.Callback.Server,"onUpdate:modelValue":S[9]||(S[9]=Q=>x.value.DNS.Callback.Server=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(),F(Oe,null,it(g,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),fe(f("div",null,[x.value.DNS.Callback.Server=="meibu"?(b(),F("div",p1e,[c($e,{content:"\u6CE8\u610F:\u6BCF\u6B65 IPv4\u548CIPv6\u7684\u63A5\u53E3\u4E0D\u76F8\u540C,\u514D\u8D39\u4E8C\u7EA7\u57DF\u540D\u4E0D\u80FD\u540C\u65F6\u652F\u6301IPv4\u548CIPv6",placement:"top"},{default:d(()=>[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"http://www.meibu.com/regedit.shtml",target:"_blank"},{default:d(()=>[A(" \u6BCF\u6B65-\u514D\u8D39\u4E8C\u7EA7\u57DF\u540D\u6CE8\u518C ")]),_:1})]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Callback.Server=="noip"?(b(),F("div",v1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://www.noip.com",target:"_blank"},{default:d(()=>[A(" No-IP\u5B98\u7F51 ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Callback.Server=="dynv6"?(b(),F("div",h1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://dynv6.com/",target:"_blank"},{default:d(()=>[A(" Dynv6\u5B98\u7F51 ")]),_:1}),A(" \xA0 \xA0 \xA0 "),c(mn,{type:"primary",style:{"font-size":"small"},href:"https://dynv6.com/keys",target:"_blank"},{default:d(()=>[A(" Token\u521B\u5EFA ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Callback.Server=="dynu"?(b(),F("div",_1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[c(mn,{type:"primary",style:{"font-size":"small"},href:"https://www.dynu.com/",target:"_blank"},{default:d(()=>[A(" Dynu\u5B98\u7F51 ")]),_:1}),A(" \xA0 \xA0 \xA0 "),c(mn,{type:"primary",style:{"font-size":"small"},href:"https://www.dynu.com/zh-CN/ControlPanel/ManageCredentials",target:"_blank"},{default:d(()=>[A(" IP\u66F4\u65B0\u5BC6\u7801\u8BBE\u7F6E ")]),_:1})]),_:1})])):oe("",!0),c(Ue,{"label-width":"auto"},{default:d(()=>[c(_e,{color:"#409eff",size:"default",onClick:Ie},{default:d(()=>[A(" \u6839\u636EDNS\u670D\u52A1\u5546\u81EA\u52A8\u586B\u5145\u53C2\u6570\u6A21\u7248 ")]),_:1})]),_:1})],512),[[ge,x.value.DNS.Callback.Server!="other"]]),c($e,{class:"box-item",effect:"dark",content:""},{content:d(()=>[A("\u63A5\u53E3\u5730\u5740"),m1e,A(" \u652F\u6301\u7684\u53D8\u91CF"),g1e,A(" #{ip} : \u5916\u7F51IP"),b1e,A(" #{domain} : \u57DF\u540D"),y1e,A(" #{recordType} : A \u6216\u8005 AAAA "),w1e,A(" #{ttl} : TTL\u503C")]),default:d(()=>[c(Ue,{label:"\u63A5\u53E3\u5730\u5740","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.DNS.Callback.URL,"onUpdate:modelValue":S[10]||(S[10]=Q=>x.value.DNS.Callback.URL=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(Ue,{label:"\u8BF7\u6C42\u65B9\u6CD5","label-width":"auto"},{default:d(()=>[c(no,{modelValue:x.value.DNS.Callback.Method,"onUpdate:modelValue":S[11]||(S[11]=Q=>x.value.DNS.Callback.Method=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(),F(Oe,null,it(k,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E00\u884C\u4E00\u6761Header(key:value)"),C1e,A(" \u652F\u6301\u7684\u53D8\u91CF"),E1e,A(" #{ip} : \u5916\u7F51IP"),F1e,A(" #{domain} : \u57DF\u540D"),A1e,A(" #{recordType} : A \u6216\u8005 AAAA "),D1e,A(" #{ttl} : TTL\u503C"),B1e,A(" \u5982\u679C\u9700\u8981\u4F7F\u7528BasicAuth,\u8BF7\u4F7F\u7528\u4E0B\u9762\u4E24\u884CHeader\u8BBE\u7F6EBasicAuth\u7684\u8D26\u53F7\u548C\u5BC6\u7801"),x1e,A(" BasicAuthUserName:\u4F60\u7684\u8D26\u53F7"),$1e,A(" BasicAuthPassword:\u4F60\u7684\u5BC6\u7801")]),default:d(()=>[c(Ue,{"label-width":"auto",label:"\u8BF7\u6C42Headers"},{default:d(()=>[c(ht,{modelValue:ye.value,"onUpdate:modelValue":S[12]||(S[12]=Q=>ye.value=Q),autosize:{minRows:3,maxRows:5},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A("\u8BF7\u6C42\u4E3B\u4F53 requestBody"),S1e,A(" \u652F\u6301\u7684\u53D8\u91CF"),k1e,A(" #{ip} : \u5916\u7F51IP"),P1e,A(" #{domain} : \u57DF\u540D"),L1e,A(" #{recordType} : A \u6216\u8005 AAAA "),T1e,A(" #{ttl} : TTL\u503C")]),default:d(()=>[fe(c(Ue,{"label-width":"auto",label:"\u8BF7\u6C42\u4E3B\u4F53"},{default:d(()=>[c(ht,{modelValue:x.value.DNS.Callback.RequestBody,"onUpdate:modelValue":S[13]||(S[13]=Q=>x.value.DNS.Callback.RequestBody=Q),autosize:{minRows:3,maxRows:5},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1},512),[[ge,x.value.DNS.Callback.Method!="get"]])]),_:1}),c($e,{content:"\u7981\u7528\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B,\u5F00\u542F\u540E\u4EC5\u4EE5http StatusCode==200\u5224\u65AD\u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528.",placement:"top"},{default:d(()=>[c(Ue,{label:"\u7981\u7528\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B","label-width":"auto"},{default:d(()=>[c(ie,{modelValue:x.value.DNS.Callback.DisableCallbackSuccessContentCheck,"onUpdate:modelValue":S[14]||(S[14]=Q=>x.value.DNS.Callback.DisableCallbackSuccessContentCheck=Q),"inline-prompt":"",width:"50px","active-text":"\u662F","inactive-text":"\u5426"},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",null,[c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A("\u7528\u4E8E\u5224\u65AD\u8BB0\u5F55\u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528,\u591A\u79CD\u8868\u793A\u6210\u529F\u7684\u4E0D\u540C\u5B57\u7B26\u4E32\u8BF7\u5206\u591A\u884C\u5199"),z1e,A(" \u652F\u6301\u7684\u53D8\u91CF"),M1e,A(" #{ip} : \u5916\u7F51IP"),V1e,A(" #{domain} : \u57DF\u540D"),I1e,A(" #{recordType} : A \u6216\u8005 AAAA "),H1e,A(" #{ttl} : TTL\u503C")]),default:d(()=>[c(Ue,{label:"\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:je.value,"onUpdate:modelValue":S[15]||(S[15]=Q=>je.value=Q),autosize:{minRows:3,maxRows:5},type:"textarea",autocomplete:"off",placeholder:""},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,!x.value.DNS.Callback.DisableCallbackSuccessContentCheck]])],512),[[ge,x.value.DNS.Name=="callback"]]),f("div",R1e,[c($e,{content:"\u8C03\u7528DNS\u670D\u52A1\u5546\u63A5\u53E3\u66F4\u65B0\u6216\u589E\u52A0\u57DF\u540D\u4E4B\u524D\u5148\u901A\u8FC7DNS\u67E5\u8BE2\u57DF\u540D\u5BF9\u5E94IP,\u964D\u4F4E\u5BF9DNS\u670D\u52A1\u5546\u63A5\u53E3\u7684\u8BBF\u95EE\u9891\u7387,\u5EFA\u8BAE\u542F\u7528",placement:"top"},{default:d(()=>[c(Ue,{label:"DNS\u89E3\u6790\u68C0\u6D4B\u57DF\u540D","label-width":"auto"},{default:d(()=>[c(ie,{modelValue:x.value.DNS.ResolverDoaminCheck,"onUpdate:modelValue":S[16]||(S[16]=Q=>x.value.DNS.ResolverDoaminCheck=Q),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u7981\u7528",onChange:I},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",null,[c($e,{class:"box-item","trigger-keys":[],effect:"dark",content:"\u4E00\u884C\u4E00\u4E2ADNS\u670D\u52A1\u5668\u5730\u5740(\u5E26\u7AEF\u53E3)"},{default:d(()=>[c(Ue,{"label-width":"auto",label:"DNS\u670D\u52A1\u5668\u5217\u8868"},{default:d(()=>[c(ht,{modelValue:Te.value,"onUpdate:modelValue":S[17]||(S[17]=Q=>Te.value=Q),autosize:{minRows:3,maxRows:5},placeholder:"\u4E00\u884C\u4E00\u4E2ADNS\u670D\u52A1\u5668\u5730\u5740(\u5E26\u7AEF\u53E3)",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,x.value.DNS.ResolverDoaminCheck]])]),N1e,f("div",O1e,[c(Ue,{label:"DNS\u63A5\u53E3\u8C03\u7528\u4F7F\u7528\u7684\u7F51\u7EDC\u7C7B\u578B","label-width":"auto"},{default:d(()=>[c(no,{modelValue:x.value.DNS.CallAPINetwork,"onUpdate:modelValue":S[18]||(S[18]=Q=>x.value.DNS.CallAPINetwork=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(),F(Oe,null,it(y,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),U1e,f("div",W1e,[c(Ue,{label:"DNS\u63A5\u53E3\u8C03\u7528 \u4EE3\u7406\u8BBE\u7F6E","label-width":"auto"},{default:d(()=>[c(no,{modelValue:x.value.DNS.HttpClientProxyType,"onUpdate:modelValue":S[19]||(S[19]=Q=>x.value.DNS.HttpClientProxyType=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(),F(Oe,null,it(p,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),fe(f("div",null,[c(Ue,{label:"\u4EE3\u7406\u670D\u52A1\u5668IP","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.DNS.HttpClientProxyAddr,"onUpdate:modelValue":S[20]||(S[20]=Q=>x.value.DNS.HttpClientProxyAddr=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(Ue,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u7528\u6237","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.DNS.HttpClientProxyUser,"onUpdate:modelValue":S[21]||(S[21]=Q=>x.value.DNS.HttpClientProxyUser=Q),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1}),c(Ue,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u5BC6\u7801","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.DNS.HttpClientProxyPassword,"onUpdate:modelValue":S[22]||(S[22]=Q=>x.value.DNS.HttpClientProxyPassword=Q),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1})],512),[[ge,x.value.DNS.HttpClientProxyType!=""]])])]),f("div",q1e,[c(Ue,{label:"\u516C\u7F51IP\u7C7B\u578B","label-width":"auto"},{default:d(()=>[c(o2,{modelValue:x.value.TaskType,"onUpdate:modelValue":S[23]||(S[23]=Q=>x.value.TaskType=Q),class:"ml-4",onChange:Z},{default:d(()=>[c(Aa,{label:"IPv4"},{default:d(()=>[A("IPv4")]),_:1}),c(Aa,{label:"IPv6"},{default:d(()=>[A("IPv6")]),_:1})]),_:1},8,["modelValue"])]),_:1}),c(Ue,{label:"\u83B7\u53D6\u516C\u7F51IP\u65B9\u5F0F","label-width":"auto"},{default:d(()=>[c(o2,{modelValue:x.value.GetType,"onUpdate:modelValue":S[24]||(S[24]=Q=>x.value.GetType=Q),class:"ml-4"},{default:d(()=>[c(Aa,{label:"url"},{default:d(()=>[A("\u901A\u8FC7\u63A5\u53E3\u83B7\u53D6")]),_:1}),c(Aa,{label:"netInterface"},{default:d(()=>[A("\u901A\u8FC7\u7F51\u5361\u83B7\u53D6")]),_:1})]),_:1},8,["modelValue"])]),_:1}),x.value.GetType=="url"?(b(),F("div",j1e,[c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:"\u4E00\u884C\u4E00\u4E2A\u63A5\u53E3"},{default:d(()=>[c(Ue,{"label-width":"auto",label:"\u63A5\u53E3\u5217\u8868"},{default:d(()=>[c(ht,{modelValue:xe.value,"onUpdate:modelValue":S[25]||(S[25]=Q=>xe.value=Q),autosize:{minRows:5,maxRows:20},placeholder:"\u4E00\u884C\u4E00\u4E2A\u63A5\u53E3",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})])):oe("",!0),x.value.GetType=="netInterface"?(b(),F("div",K1e,[c(Ue,{"label-width":"auto",label:"\u7F51\u5361\u5217\u8868"},{default:d(()=>[c(no,{modelValue:x.value.NetInterface,"onUpdate:modelValue":S[26]||(S[26]=Q=>x.value.NetInterface=Q),class:"m-2"},{default:d(()=>[(b(!0),F(Oe,null,it(h(u),Q=>(b(),ae($e,{class:"box-item",effect:"dark",key:Q.NetInterfaceName,content:JSON.stringify(Q.AddressList)},{default:d(()=>[c(to,{label:Q.NetInterfaceName,value:Q.NetInterfaceName},null,8,["label","value"])]),_:2},1032,["content"]))),128))]),_:1},8,["modelValue"])]),_:1}),c($e,{class:"box-item",effect:"dark",content:"\u7559\u7A7A\u8868\u793A\u5339\u914D\u9009\u4E2D\u7F51\u5361\u7B2C1\u4E2AIP, \u7EAF\u6570\u5B57n\u8868\u793A\u5339\u914D\u7B2Cn\u4E2AIP, 24*\u8868\u793A\u5339\u914D\u4EE524\u5F00\u5934\u7684\u7B2C\u4E00\u4E2AIP, *24\u8868\u793A\u5339\u914D\u4EE524\u7ED3\u5C3E\u7684\u7B2C\u4E00\u4E2AIP, \u8FD8\u53EF\u4EE5\u586B\u5199\u6B63\u5219\u8868\u8FBE\u5F0F"},{default:d(()=>[c(Ue,{"label-width":"auto",label:"IP\u9009\u62E9\u5339\u914D\u89C4\u5219"},{default:d(()=>[c(ht,{modelValue:x.value.IPReg,"onUpdate:modelValue":S[27]||(S[27]=Q=>x.value.IPReg=Q),autosize:{minRows:5,maxRows:20},placeholder:"\u7559\u7A7A\u8868\u793A\u9009\u62E9\u5F53\u524D\u7F51\u5361\u7B2C\u4E00\u4E2AIP"},null,8,["modelValue"]),c(_e,{color:"#409eff",size:"small",onClick:N},{default:d(()=>[A(" IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5 ")]),_:1})]),_:1})]),_:1})])):oe("",!0),c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:"\u4E00\u884C\u4E00\u6761\u57DF\u540D"},{default:d(()=>[c(Ue,{"label-width":"auto",label:"\u57DF\u540D\u5217\u8868"},{default:d(()=>[c(ht,{modelValue:de.value,"onUpdate:modelValue":S[28]||(S[28]=Q=>de.value=Q),autosize:{minRows:3,maxRows:9},placeholder:"\u4E00\u884C\u4E00\u6761\u57DF\u540D",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),c($e,{class:"box-item",effect:"dark",content:"\u5982\u8D26\u53F7\u652F\u6301\u66F4\u5C0F\u7684 TTL , \u53EF\u4FEE\u6539\u3002 IP \u6709\u53D8\u5316\u65F6\u624D\u4F1A\u66F4\u65B0 TTL"},{default:d(()=>[c(Ue,{"label-width":"auto",label:"TTL"},{default:d(()=>[c(no,{modelValue:x.value.TTL,"onUpdate:modelValue":S[29]||(S[29]=Q=>x.value.TTL=Q),class:"m-2"},{default:d(()=>[(b(),F(Oe,null,it(v,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),f("div",G1e,[c(Ue,{label:"Webhook","label-width":"auto"},{default:d(()=>[c($e,{class:"box-item",effect:"dark",content:"Webhook \u4EC5\u5F53IP\u6539\u53D8,\u57DF\u540D\u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u6216\u5931\u8D25\u65F6\u624D\u4F1A\u89E6\u53D1Webhook"},{default:d(()=>[c(ie,{modelValue:x.value.WebhookEnable,"onUpdate:modelValue":S[30]||(S[30]=Q=>x.value.WebhookEnable=Q),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}),c($e,{class:"box-item",effect:"dark",content:"\u5982\u679C\u9009\u62E9\u4E86DNS\u4EE3\u7406\u8BBE\u7F6E\u5148\u8BF7\u4FDD\u5B58\u4EFB\u52A1\u518D\u624B\u52A8\u89E6\u53D1\u6D4B\u8BD5,\u5426\u5219\u5728\u6D4B\u8BD5\u4E2D\u53EF\u80FD\u4EE3\u7406\u8BBE\u7F6E\u4E0D\u751F\u6548"},{default:d(()=>[fe(c(_e,{color:"#409eff",size:"small",onClick:w,style:{"margin-left":"30px"}},{default:d(()=>[A(" Webhook\u624B\u52A8\u89E6\u53D1\u6D4B\u8BD5 ")]),_:1},512),[[ge,x.value.WebhookEnable]])]),_:1})]),_:1}),fe(f("div",null,[c($e,{class:"box-item",effect:"dark",content:"\u83B7\u53D6IP\u5931\u8D25\u65F6\u540C\u6837\u89E6\u53D1Webhook,\u9ED8\u8BA4\u4E0D\u5F00\u542F"},{default:d(()=>[c(Ue,{label:"\u83B7\u53D6IP\u5931\u8D25\u65F6\u89E6\u53D1Webhook","label-width":"auto"},{default:d(()=>[c(ie,{modelValue:x.value.WebhookCallOnGetIPfail,"onUpdate:modelValue":S[31]||(S[31]=Q=>x.value.WebhookCallOnGetIPfail=Q),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),f("div",Y1e,[c(Ue,{label:"\u5E38\u89C1Webhook(\u6D88\u606F\u63A8\u9001)\u670D\u52A1\u5546","label-width":"auto"},{default:d(()=>[c(no,{modelValue:s.value,"onUpdate:modelValue":S[32]||(S[32]=Q=>s.value=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9",onChange:j},{default:d(()=>[(b(),F(Oe,null,it(B,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),A("\u8BF4\u660E ")]),_:1}),fe(f("div",X1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[J1e]),_:1})],512),[[ge,s.value=="custom"]]),fe(f("div",Q1e,[c(Ue,{"label-width":"auto"},{default:d(()=>[Z1e]),_:1})],512),[[ge,s.value=="serverjiang"]]),fe(f("div",efe,[c(Ue,{"label-width":"auto"},{default:d(()=>[tfe]),_:1})],512),[[ge,s.value=="bark"]]),fe(f("div",nfe,[c(Ue,{"label-width":"auto"},{default:d(()=>[ofe,lfe,ufe,afe]),_:1}),c(Ue,{"label-width":"auto"},{default:d(()=>[c(ht,{modelValue:i.value,"onUpdate:modelValue":S[33]||(S[33]=Q=>i.value=Q),type:"textarea",rows:"5"},null,8,["modelValue"])]),_:1}),c(Ue,{"label-width":"auto"},{default:d(()=>[rfe]),_:1})],512),[[ge,s.value=="dingding"]]),fe(f("div",sfe,[c(Ue,{"label-width":"auto"},{default:d(()=>[ife,cfe,dfe,ffe]),_:1}),c(Ue,{"label-width":"auto"},{default:d(()=>[c(ht,{modelValue:i.value,"onUpdate:modelValue":S[34]||(S[34]=Q=>i.value=Q),type:"textarea",rows:"5"},null,8,["modelValue"])]),_:1}),c(Ue,{"label-width":"auto"},{default:d(()=>[pfe]),_:1})],512),[[ge,s.value=="feishu"]]),fe(f("div",vfe,[c(Ue,{"label-width":"auto"},{default:d(()=>[hfe,_fe,mfe]),_:1}),c(Ue,{"label-width":"auto"},{default:d(()=>[c(ht,{modelValue:i.value,"onUpdate:modelValue":S[35]||(S[35]=Q=>i.value=Q),type:"textarea",rows:"5"},null,8,["modelValue"])]),_:1}),c(Ue,{"label-width":"auto"},{default:d(()=>[gfe]),_:1})],512),[[ge,s.value=="weixinpro"]])]),f("div",bfe,[c($e,{class:"box-item",effect:"dark",content:""},{content:d(()=>[A("\u652F\u6301\u7684\u53D8\u91CF "),yfe,A(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP"),wfe,A(" #{time} : \u89E6\u53D1Webhook\u7684\u65F6\u95F4 "),Cfe,A(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Efe,A(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),Ffe,A(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Afe,A(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694")]),default:d(()=>[c(Ue,{label:"\u63A5\u53E3\u5730\u5740","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.WebhookURL,"onUpdate:modelValue":S[36]||(S[36]=Q=>x.value.WebhookURL=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(Ue,{label:"\u8BF7\u6C42\u65B9\u6CD5","label-width":"auto"},{default:d(()=>[c(no,{modelValue:x.value.WebhookMethod,"onUpdate:modelValue":S[37]||(S[37]=Q=>x.value.WebhookMethod=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(),F(Oe,null,it(k,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E00\u884C\u4E00\u6761Header(key:value) "),Dfe,A(" \u652F\u6301\u7684\u53D8\u91CF :"),Bfe,A(" #{time} : \u89E6\u53D1Webhook\u7684\u65F6\u95F4 "),xfe,A(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP "),$fe,A(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Sfe,A(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),kfe,A(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Pfe,A(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),Lfe,A(" \u5982\u679C\u9700\u8981\u4F7F\u7528BasicAuth,\u8BF7\u4F7F\u7528\u4E0B\u9762\u4E24\u884CHeader\u8BBE\u7F6EBasicAuth\u7684\u8D26\u53F7\u548C\u5BC6\u7801"),Tfe,A(" BasicAuthUserName:\u4F60\u7684\u8D26\u53F7"),zfe,A(" BasicAuthPassword:\u4F60\u7684\u5BC6\u7801")]),default:d(()=>[c(Ue,{"label-width":"auto",label:"Headers"},{default:d(()=>[c(ht,{modelValue:Pe.value,"onUpdate:modelValue":S[38]||(S[38]=Q=>Pe.value=Q),autosize:{minRows:3,maxRows:5},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A("\u652F\u6301\u7684\u53D8\u91CF"),Mfe,A(" #{time} : \u89E6\u53D1Webhook\u7684\u65F6\u95F4 "),Vfe,A(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP"),Ife,A(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Hfe,A(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),Rfe,A(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Nfe,A(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694")]),default:d(()=>[fe(c(Ue,{label:"RequestBody","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.WebhookRequestBody,"onUpdate:modelValue":S[39]||(S[39]=Q=>x.value.WebhookRequestBody=Q),type:"textarea",rows:"5",placeholder:""},null,8,["modelValue"])]),_:1},512),[[ge,x.value.WebhookMethod!="get"]])]),_:1}),c($e,{content:"\u7981\u7528Webhook\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B,\u5F00\u542F\u540E\u4EC5\u4EE5http StatusCode==200\u5224\u65AD\u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528.",placement:"top"},{default:d(()=>[c(Ue,{label:"\u7981\u7528Webhook\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B","label-width":"auto"},{default:d(()=>[c(ie,{modelValue:x.value.WebhookDisableCallbackSuccessContentCheck,"onUpdate:modelValue":S[40]||(S[40]=Q=>x.value.WebhookDisableCallbackSuccessContentCheck=Q),"inline-prompt":"",width:"50px","active-text":"\u662F","inactive-text":"\u5426"},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",null,[c($e,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A("\u7528\u4E8E\u5224\u65AD\u8BB0\u5F55Webhook \u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528"),Ofe,A(" \u591A\u79CD\u8868\u793A\u6210\u529F\u7684\u4E0D\u540C\u5B57\u7B26\u4E32\u8BF7\u5206\u591A\u884C\u5199"),Ufe,A(" \u652F\u6301\u7684\u53D8\u91CF "),Wfe,A(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP"),qfe,A(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),jfe,A(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),Kfe,A(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Gfe,A(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694")]),default:d(()=>[c(Ue,{label:"\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:he.value,"onUpdate:modelValue":S[41]||(S[41]=Q=>he.value=Q),autosize:{minRows:3,maxRows:5},type:"textarea",autocomplete:"off",placeholder:""},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,!x.value.WebhookDisableCallbackSuccessContentCheck]])]),f("div",Yfe,[c(Ue,{label:"\u4EE3\u7406\u8BBE\u7F6E","label-width":"auto"},{default:d(()=>[c(no,{modelValue:x.value.WebhookProxy,"onUpdate:modelValue":S[42]||(S[42]=Q=>x.value.WebhookProxy=Q),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(),F(Oe,null,it(m,Q=>c(to,{key:Q.value,label:Q.label,value:Q.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),fe(f("div",null,[c(Ue,{label:"\u4EE3\u7406\u670D\u52A1\u5668IP","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.WebhookProxyAddr,"onUpdate:modelValue":S[43]||(S[43]=Q=>x.value.WebhookProxyAddr=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(Ue,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u7528\u6237","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.WebhookProxyUser,"onUpdate:modelValue":S[44]||(S[44]=Q=>x.value.WebhookProxyUser=Q),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1}),c(Ue,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u5BC6\u7801","label-width":"auto"},{default:d(()=>[c(ht,{modelValue:x.value.WebhookProxyPassword,"onUpdate:modelValue":S[45]||(S[45]=Q=>x.value.WebhookProxyPassword=Q),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1})],512),[[ge,!(x.value.WebhookProxy==""||x.value.WebhookProxy=="dns")]])])],512),[[ge,x.value.WebhookEnable]])]),f("div",Xfe,[c($e,{content:"Http Client \u8D85\u65F6\u65F6\u95F4,\u6CA1\u5FC5\u8981\u4E0D\u8981\u6539,\u53EF\u8BBE\u7F6E\u8303\u56F4 (3-60)",placement:"top"},{default:d(()=>[c(Ue,{label:"HttpClient timeout(\u79D2)","label-width":"auto",min:3,max:60},{default:d(()=>[c(n2,{modelValue:x.value.HttpClientTimeout,"onUpdate:modelValue":S[46]||(S[46]=Q=>x.value.HttpClientTimeout=Q),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})])],512),[[ge,x.value.Enable]])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});var Zfe=hn(Qfe,[["__scopeId","data-v-9ec9996c"]]);const ke=e=>(gu("data-v-14277c40"),e=e(),bu(),e),e4e={class:"ReverseProxyPageRadius",style:{borderRadius:"base"}},t4e={class:"itemradius",style:{borderRadius:"base"}},n4e=ke(()=>f("br",null,null,-1)),o4e=["innerHTML"],l4e=["innerHTML"],u4e=ke(()=>f("br",null,null,-1)),a4e=ke(()=>f("br",null,null,-1)),r4e=ke(()=>f("br",null,null,-1)),s4e=ke(()=>f("br",null,null,-1)),i4e=ke(()=>f("br",null,null,-1)),c4e=["innerHTML"],d4e=["innerHTML"],f4e=["innerHTML"],p4e=ke(()=>f("br",null,null,-1)),v4e=ke(()=>f("br",null,null,-1)),h4e=ke(()=>f("br",null,null,-1)),_4e=ke(()=>f("br",null,null,-1)),m4e=ke(()=>f("br",null,null,-1)),g4e={class:"fromitemDivRadius"},b4e=ke(()=>f("br",null,null,-1)),y4e=ke(()=>f("br",null,null,-1)),w4e=ke(()=>f("br",null,null,-1)),C4e={class:"fromitemDivRadius"},E4e={class:"fromitemChildDivRadius"},F4e=ke(()=>f("br",null,null,-1)),A4e=ke(()=>f("br",null,null,-1)),D4e=ke(()=>f("br",null,null,-1)),B4e=ke(()=>f("br",null,null,-1)),x4e=ke(()=>f("br",null,null,-1)),$4e=ke(()=>f("br",null,null,-1)),S4e=ke(()=>f("br",null,null,-1)),k4e=ke(()=>f("br",null,null,-1)),P4e=ke(()=>f("br",null,null,-1)),L4e=ke(()=>f("br",null,null,-1)),T4e=ke(()=>f("br",null,null,-1)),z4e=ke(()=>f("br",null,null,-1)),M4e=ke(()=>f("br",null,null,-1)),V4e=ke(()=>f("br",null,null,-1)),I4e=ke(()=>f("br",null,null,-1)),H4e={class:"fromitemChildSafeDivRadius"},R4e=ke(()=>f("p",null,"\u5BA2\u6237\u7AEFIP\u83B7\u53D6\u8BBE\u7F6E",-1)),N4e=ke(()=>f("br",null,null,-1)),O4e=ke(()=>f("br",null,null,-1)),U4e=ke(()=>f("br",null,null,-1)),W4e=ke(()=>f("br",null,null,-1)),q4e=ke(()=>f("br",null,null,-1)),j4e=ke(()=>f("br",null,null,-1)),K4e=ke(()=>f("br",null,null,-1)),G4e=ke(()=>f("br",null,null,-1)),Y4e=ke(()=>f("br",null,null,-1)),X4e={class:"fromitemChildSafeDivRadius"},J4e=ke(()=>f("p",null,"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader",-1)),Q4e=ke(()=>f("br",null,null,-1)),Z4e=ke(()=>f("br",null,null,-1)),e6e=ke(()=>f("br",null,null,-1)),t6e=ke(()=>f("br",null,null,-1)),n6e={class:"fromitemChildSafeDivRadius"},o6e=ke(()=>f("p",null,"\u5B89\u5168\u8BBE\u7F6E",-1)),l6e=ke(()=>f("br",null,null,-1)),u6e=ke(()=>f("br",null,null,-1)),a6e=ke(()=>f("br",null,null,-1)),r6e=ke(()=>f("br",null,null,-1)),s6e=ke(()=>f("br",null,null,-1)),i6e=ke(()=>f("br",null,null,-1)),c6e=ke(()=>f("br",null,null,-1)),d6e={class:"fromitemChildSafeDivRadius"},f6e=ke(()=>f("p",null,"\u9690\u79C1\u8BBE\u7F6E",-1)),p6e=ke(()=>f("br",null,null,-1)),v6e={class:"fromitemDivRadius"},h6e=ke(()=>f("p",null,"\u53CD\u5411\u4EE3\u7406\u5B50\u89C4\u5219\u5217\u8868",-1)),_6e={class:"fromitemChildDivRadius"},m6e=ke(()=>f("br",null,null,-1)),g6e=ke(()=>f("br",null,null,-1)),b6e=ke(()=>f("br",null,null,-1)),y6e=ke(()=>f("br",null,null,-1)),w6e=ke(()=>f("br",null,null,-1)),C6e=ke(()=>f("br",null,null,-1)),E6e=ke(()=>f("br",null,null,-1)),F6e=ke(()=>f("br",null,null,-1)),A6e=ke(()=>f("br",null,null,-1)),D6e=ke(()=>f("br",null,null,-1)),B6e=ke(()=>f("br",null,null,-1)),x6e=ke(()=>f("br",null,null,-1)),$6e=ke(()=>f("br",null,null,-1)),S6e=ke(()=>f("br",null,null,-1)),k6e=ke(()=>f("br",null,null,-1)),P6e=ke(()=>f("br",null,null,-1)),L6e=ke(()=>f("br",null,null,-1)),T6e={class:"fromitemChildSafeDivRadius"},z6e=ke(()=>f("p",null,"\u5BA2\u6237\u7AEFIP\u83B7\u53D6\u8BBE\u7F6E",-1)),M6e=ke(()=>f("br",null,null,-1)),V6e=ke(()=>f("br",null,null,-1)),I6e=ke(()=>f("br",null,null,-1)),H6e=ke(()=>f("br",null,null,-1)),R6e=ke(()=>f("br",null,null,-1)),N6e=ke(()=>f("br",null,null,-1)),O6e=ke(()=>f("br",null,null,-1)),U6e=ke(()=>f("br",null,null,-1)),W6e=ke(()=>f("br",null,null,-1)),q6e={class:"fromitemChildSafeDivRadius"},j6e=ke(()=>f("p",null,"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader",-1)),K6e=ke(()=>f("br",null,null,-1)),G6e=ke(()=>f("br",null,null,-1)),Y6e=ke(()=>f("br",null,null,-1)),X6e=ke(()=>f("br",null,null,-1)),J6e={class:"fromitemChildSafeDivRadius"},Q6e=ke(()=>f("p",null,"\u5B89\u5168\u8BBE\u7F6E",-1)),Z6e=ke(()=>f("br",null,null,-1)),epe=ke(()=>f("br",null,null,-1)),tpe=ke(()=>f("br",null,null,-1)),npe=ke(()=>f("br",null,null,-1)),ope=ke(()=>f("br",null,null,-1)),lpe=ke(()=>f("br",null,null,-1)),upe=ke(()=>f("br",null,null,-1)),ape={class:"fromitemChildSafeDivRadius"},rpe=ke(()=>f("p",null,"\u9690\u79C1\u8BBE\u7F6E",-1)),spe=ke(()=>f("br",null,null,-1)),ipe={class:"dialog-footer"},cpe=le({__name:"reverseproxy",setup(e){const t=L(!1),n=L(!1),o=L(""),l=L(0),u=L(50),a=L(0),r=L([{ProxyKey:"",ClientIP:"",LogContent:"",LogTime:""}]),s=L(""),i=L(""),p=L(1),m=L(""),v=L([{RuleName:"",RuleKey:"",Enable:!1,Network:"",ListenIP:"",ListenPort:666,EnableTLS:!1,DefaultProxy:{Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:100,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!0,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""},ProxyList:[{Enable:!0,Key:"",Remark:"",Domains:[""],Locations:[""],LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""}]}]),_=L({RuleName:"",RuleKey:"",Enable:!1,Network:"",ListenIP:"",ListenPort:666,EnableTLS:!1,DefaultProxy:{Key:"",Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:100,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!0,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""},ProxyList:[{Enable:!0,Key:"",Remark:"",Domains:[""],Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""}]}),g=L(""),y=L(""),w=L(""),E=L(""),D=L([""]),C=L([""]),B=L([""]),$=L([""]),k=L([""]),P=L([""]),T=(de,se)=>{n.value=!0,p.value=1,a.value=0,u.value=10,s.value=de,i.value=se,Ls(de,se,u.value,p.value).then(z=>{if(z.ret==0){u.value=z.pageSize,a.value=z.total,r.value=z.logs,N();return}ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(z=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+z),ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},H=de=>{p.value=de-1},j=de=>{p.value=de+1},X=de=>{u.value=de,p.value=1,Ls(s.value,i.value,u.value,p.value).then(se=>{if(se.ret==0){u.value=se.pageSize,a.value=se.total,r.value=se.logs,N();return}ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(se=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+se),ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},W=de=>{p.value=de,Ls(s.value,i.value,u.value,p.value).then(se=>{if(se.ret==0){u.value=se.pageSize,a.value=se.total,r.value=se.logs,N();return}ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(se=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+se),ne("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},N=()=>{m.value="";for(let de in r.value){let se=r.value[de];de!="0"&&(m.value+=` `),m.value+=se.LogTime+" "+se.LogContent+` `}},J=(de,se)=>{switch(t.value=!0,o.value=de,l.value=-1,de){case"add":_.value={RuleName:"",RuleKey:"",Enable:!0,Network:"tcp6",ListenIP:"",ListenPort:16666,EnableTLS:!1,DefaultProxy:{Key:"default",Locations:[],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:10,RequestInfoLogFormat:"[#{clientIP}][#{remoteIP}]#{tab}[#{method}][#{host}#{url}]",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"blacklist",SafeUserAgentMode:"blacklist",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:`User-agent: * Disallow: /`},ProxyList:[]},C.value=[],B.value=[],$.value=[],k.value=[],P.value=[],g.value=`0.0.0.0/0 ::/0`,y.value=`X-Forwarded-For X-Real-IP`,w.value="",E.value="";break;case"alter":{_.value=se,C.value=[],B.value=[],$.value=[],k.value=[],P.value=[],g.value=$n(_.value.DefaultProxy.TrustedCIDRsStrList),y.value=$n(_.value.DefaultProxy.RemoteIPHeaders),E.value=$n(_.value.DefaultProxy.Locations),w.value=$n(_.value.DefaultProxy.UserAgentfilter);for(let z in _.value.ProxyList)C.value.push($n(_.value.ProxyList[z].Domains)),B.value.push($n(_.value.ProxyList[z].Locations)),$.value.push($n(_.value.ProxyList[z].UserAgentfilter)),k.value.push($n(_.value.ProxyList[z].TrustedCIDRsStrList)),P.value.push($n(_.value.ProxyList[z].RemoteIPHeaders))}break}_.value.Network=="tcp4"?D.value=["tcp4"]:_.value.Network=="tcp6"?D.value=["tcp6"]:_.value.Network=="tcp"&&(D.value=["tcp4","tcp6"])},be=()=>{C.value.push(""),B.value.push(""),$.value.push(""),k.value.push(`0.0.0.0/0 ::/0`),P.value.push(`X-Forwarded-For X-Real-IP`),_.value.ProxyList.push({Enable:!0,Key:"",Remark:"",Domains:[""],Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:10,RequestInfoLogFormat:"[#{clientIP}][#{remoteIP}]#{tab}[#{method}][#{host}#{url}]",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"blacklist",SafeUserAgentMode:"blacklist",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:`User-agent: * Disallow: /`});var de=_.value.ProxyList.length;l.value=de-1},ve=de=>{$t.confirm("\u786E\u8BA4\u8981\u5220\u9664\u7B2C "+(de+1)+" \u6761\u53CD\u5411\u4EE3\u7406\u8BBE\u7F6E?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{_.value.ProxyList.splice(de,1),C.value.splice(de,1),B.value.splice(de,1),$.value.splice(de,1),k.value.splice(de,1),P.value.splice(de,1)})},Ee=de=>{var se=de.RuleName==""?"\u672A\u547D\u540D":de.RuleName;$t.confirm("\u786E\u8BA4\u8981\u5220\u9664 "+se+" \u53CD\u5411\u4EE3\u7406\u89C4\u5219?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Xie(de.RuleKey).then(z=>{if(z.ret==0){ne("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5220\u9664\u6210\u529F"),Be();return}ne("error",z.msg)}).catch(z=>{console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+z),ne("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})})},te=(de,se)=>{const z=de==!1?"\u542F\u7528":"\u7981\u7528",q="["+(se.RuleName==""?"\u672A\u547D\u540D":se.RuleName)+"]";return new Promise((R,I)=>{$t.confirm("\u786E\u8BA4\u8981"+z+"\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+q+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Ud(se.RuleKey,"",!de).then(Y=>{if(Y.ret==0){R(!0),ne("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+q+z+"\u6210\u529F");return}R(!1),ne("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+q+z+"\u5931\u8D25: "+Y.msg),Y.syncres!=null&&Y.syncres!=""&&so("warn",Y.syncres,0)}).catch(Y=>{R(!1),console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+q+z+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+Y),ne("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+q+z+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{R(!1)})})},Z=(de,se,z)=>{const q=de==!1?"\u542F\u7528":"\u7981\u7528",R="["+(se.RuleName==""?"\u672A\u547D\u540D":se.RuleName)+"]",I="["+(z.Remark==""?"\u672A\u547D\u540D":z.Remark)+"]";return new Promise((Y,pe)=>{$t.confirm("\u786E\u8BA4\u8981"+q+"\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+R+"\u7684\u5B50\u89C4\u5219 "+I+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Ud(se.RuleKey,z.Key,!de).then(Fe=>{if(Fe.ret==0){Y(!0),ne("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+R+"\u7684\u5B50\u89C4\u5219 "+I+q+"\u6210\u529F");return}Y(!1),ne("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+R+"\u7684\u5B50\u89C4\u5219 "+I+q+"\u5931\u8D25: "+Fe.msg),Fe.syncres!=null&&Fe.syncres!=""&&so("warn",Fe.syncres,0)}).catch(Fe=>{Y(!1),console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+R+"\u7684\u5B50\u89C4\u5219 "+I+q+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+Fe),ne("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+R+"\u7684\u5B50\u89C4\u5219 "+I+q+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{Y(!1)})})},De=()=>{_.value.DefaultProxy.TrustedCIDRsStrList=xt(g.value),_.value.DefaultProxy.RemoteIPHeaders=xt(y.value),_.value.DefaultProxy.UserAgentfilter=xt(w.value),_.value.DefaultProxy.Locations=xt(E.value);for(let de in _.value.ProxyList)_.value.ProxyList[de].Domains=xt(C.value[de]),_.value.ProxyList[de].Locations=xt(B.value[de]),_.value.ProxyList[de].UserAgentfilter=xt($.value[de]),_.value.ProxyList[de].TrustedCIDRsStrList=xt(k.value[de]),_.value.ProxyList[de].RemoteIPHeaders=xt(P.value[de]);for(let de in _.value.ProxyList){let se=parseInt(de)+1,z=_.value.ProxyList[de];if(console.log("proxy domains length: "+z.Domains.length),z.Domains.length<=0){ne("error","\u7B2C "+se+" \u6761\u53CD\u5411\u4EE3\u7406\u8F6C\u53D1\u89C4\u5219\u4E2D\u57DF\u540D\u4E0D\u80FD\u4E3A\u7A7A");return}if(z.Locations.length<=0){ne("error","\u7B2C "+se+" \u6761\u53CD\u5411\u4EE3\u7406\u8F6C\u53D1\u89C4\u5219\u4E2D\u540E\u7AEF\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A");return}}switch(o.value){case"add":Kie(_.value).then(de=>{if(de.ret==0){t.value=!1,ne("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0\u6210\u529F"),Be();return}ne("error",de.msg)}).catch(de=>{console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+de),ne("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break;case"alter":Yie(_.value).then(de=>{if(de.ret==0){t.value=!1,ne("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539\u6210\u529F"),Be();return}ne("error",de.msg)}).catch(de=>{console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+de),ne("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break;default:console.log("\u9519\u8BEF\u7684ruleFormOptionType "+o.value)}},Be=()=>{Gie().then(de=>{if(de.ret==0){de.list==null||de.list==null?v.value=[]:v.value=de.list;return}}).catch(de=>{console.log("\u83B7\u53D6\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5217\u8868\u51FA\u9519:"+de),ne("error","\u83B7\u53D6\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5217\u8868\u51FA\u9519")})},x=(de,se)=>{var z="";if(de.AccessLogs==null||de.AccessLogs==null)return z="\u6682\u65E0\u65E5\u5FD7",z;console.log();for(var q of Object.keys(de.AccessLogs))if(console.log("key:"+q+" proxyKey:"+se),q==se){if(de.AccessLogs[q]==null||de.AccessLogs[q]==null||de.AccessLogs[q].lengh==0)break;for(let R in de.AccessLogs[q]){let I=de.AccessLogs[q][R];R!="0"&&(z+="
"),z+=I.LogTime+"   "+I.LogContent+"
"}}return z==""&&(z="\u6682\u65E0\u65E5\u5FD7"),z},O=L(!1),ye=L(!0),xe=["tcp4","tcp6"],Pe=de=>{_.value.Network=de?"tcp":"",D.value=de?["tcp4","tcp6"]:[],ye.value=!1},he=de=>{const se=de.length;O.value=se===xe.length,ye.value=se>0&&se{switch(de.length){case 0:return"";case 1:return de[0]+"";case 2:return"tcp";default:return""}};var je;return ot(()=>{Be(),je=setInterval(()=>{Be()},1500)}),In(()=>{clearInterval(je)}),(de,se)=>{const z=vn,q=ya,R=rl,I=pn,Y=ba,pe=Yt,Fe=lt("Plus"),ce=rt,Ae=Vl,ue=nn,me=Bn,Ie=Po,ee=q4,Se=eo,Ke=Ea,nt=Ca,we=zc,Le=Mc,Qe=Rte,Ze=Hte,M=Hn,S=Il,_e=_6;return b(),F(Oe,null,[f("div",e4e,[c(pe,{height:"100%"},{default:d(()=>[(b(!0),F(Oe,null,it(v.value,G=>(b(),F("div",t4e,[c(Y,{column:8,border:""},{default:d(()=>[c(q,{label:"\u89C4\u5219\u540D\u79F0",span:1},{default:d(()=>[fe(c(z,{size:"small"},{default:d(()=>[A(re(G.RuleName==""?"\u672A\u547D\u540D\u89C4\u5219":G.RuleName),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(q,{label:"\u76D1\u542C\u7C7B\u578B",span:2},{default:d(()=>[fe(c(z,{color:"#0059b3",size:"small"},{default:d(()=>[A(re(G.Network),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(q,{label:"\u76D1\u542C\u5730\u5740",span:2},{default:d(()=>[fe(c(z,{type:"success",size:"small"},{default:d(()=>[A(re(G.ListenIP==""?"\u6240\u6709\u5730\u5740":G.ListenIP),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(q,{label:"\u76D1\u542C\u7AEF\u53E3",span:1},{default:d(()=>[fe(c(z,{color:"#409eff",size:"small"},{default:d(()=>[A(re(G.ListenPort),1)]),_:2},1536),[[ge,!0]]),fe(c(z,{type:G.EnableTLS!=!0?"info":"primary",size:"small"},{default:d(()=>[A(re(G.EnableTLS==!0?"TLS\u5DF2\u542F\u7528":"TLS\u672A\u542F\u7528"),1)]),_:2},1032,["type"]),[[ge,!0]])]),_:2},1024),c(q,{label:"\u89C4\u5219\u64CD\u4F5C",span:2},{default:d(()=>[c(I,{content:G.Enable==!0?"\u89C4\u5219\u5DF2\u542F\u7528":"\u89C4\u5219\u5DF2\u7981\u7528",placement:"top"},{default:d(()=>[c(R,{modelValue:G.Enable,"onUpdate:modelValue":ie=>G.Enable=ie,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":te.bind(this,G.Enable,G),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),A(" \xA0\xA0 "),c(z,{size:"default",type:"primary",onClick:ie=>J("alter",G)},{default:d(()=>[A("\u7F16\u8F91")]),_:2},1032,["onClick"]),c(z,{size:"default",type:"danger",onClick:ie=>Ee(G)},{default:d(()=>[A("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024),c(Y,{column:8,border:""},{default:d(()=>[c(q,{label:"\u9ED8\u8BA4\u5B50\u89C4\u5219",span:1},{default:d(()=>[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u9ED8\u8BA4\u89C4\u5219"),n4e]),default:d(()=>[fe(c(z,{type:"info",size:"small"},{default:d(()=>[A(" \u9ED8\u8BA4\u89C4\u5219 ")]),_:1},512),[[ge,!0]])]),_:1})]),_:1}),c(q,{label:"\u524D\u7AEF\u57DF\u540D",span:1},{default:d(()=>[c(I,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u672A\u5339\u914D\u5B50\u89C4\u5219\u7684\u4EFB\u610F\u57DF\u540D ")]),default:d(()=>[fe(c(z,{color:"#409eff",size:"small"},{default:d(()=>[A(" \u672A\u5339\u914D\u7684\u57DF\u540D ")]),_:1},512),[[ge,!0]])]),_:1})]),_:1}),c(q,{label:"\u540E\u7AEF\u5730\u5740",span:2},{default:d(()=>[c(I,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:h(Zo)(G.DefaultProxy.Locations)},null,8,o4e)]),default:d(()=>[fe(c(z,{color:"#409eff",size:"small"},{default:d(()=>[A(re(G.DefaultProxy.Locations==null||G.DefaultProxy.Locations==null||G.DefaultProxy.Locations.length<=0?"\u672A\u8BBE\u7F6E":G.DefaultProxy.Locations.length==1?G.DefaultProxy.Locations[0]:G.DefaultProxy.Locations[0]+"..."),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(q,{label:"\u65E5\u5FD7",span:2},{default:d(()=>[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:x(G,"default")},null,8,l4e)]),default:d(()=>[fe(c(z,{type:"info",size:"small",onClick:ie=>T(G.RuleKey,"default")},{default:d(()=>[A(" \u67E5\u770B ")]),_:2},1032,["onClick"]),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(q,{label:"\u5B89\u5168\u8BBE\u7F6E",span:2},{default:d(()=>[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},Zl({default:d(()=>[fe(c(z,{color:"#6666ff",size:"small",disabled:G.DefaultProxy.EnableBasicAuth!=!0},{default:d(()=>[A(re(G.DefaultProxy.EnableBasicAuth==!1?"Basic\u8BA4\u8BC1\u672A\u542F\u7528":"Basic\u8BA4\u8BC1\u5DF2\u542F\u7528"),1)]),_:2},1032,["disabled"]),[[ge,!0]])]),_:2},[G.DefaultProxy.EnableBasicAuth?{name:"content",fn:d(()=>[A(" \u7528\u6237\u540D:"+re(G.DefaultProxy.BasicAuthUser),1),u4e,A(" \u5BC6\u7801:"+re(G.DefaultProxy.BasicAuthPasswd),1),a4e]),key:"0"}:void 0,G.DefaultProxy.EnableBasicAuth?void 0:{name:"content",fn:d(()=>[A(" Basic\u8BA4\u8BC1\u672A\u542F\u7528"),r4e]),key:"1"}]),1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" IP\u8FC7\u6EE4\u6A21\u5F0F"),s4e]),default:d(()=>[fe(c(z,{color:"#6666ff",size:"small"},{default:d(()=>[A(re(G.DefaultProxy.SafeIPMode=="blacklist"?"IP\u9ED1\u540D\u5355":"IP\u767D\u540D\u5355"),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" UserAgent\u8FC7\u6EE4\u6A21\u5F0F"),i4e]),default:d(()=>[fe(c(z,{color:"#6666ff",size:"small"},{default:d(()=>[A(re(G.DefaultProxy.SafeUserAgentMode=="blacklist"?"UA\u9ED1\u540D\u5355":"UA\u767D\u540D\u5355"),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),(b(!0),F(Oe,null,it(G.ProxyList,ie=>(b(),F("div",null,[c(q,{label:"\u81EA\u5B9A\u4E49\u5B50\u89C4\u5219",span:1},{default:d(()=>[fe(c(z,{size:"small"},{default:d(()=>[A(re(ie.Remark==""?"\u672A\u547D\u540D\u5B50\u89C4\u5219":ie.Remark),1)]),_:2},1536),[[ge,!0]]),A(" \xA0 "),c(I,{content:ie.Enable==!0?"\u5B50\u89C4\u5219\u5DF2\u542F\u7528":"\u5B50\u89C4\u5219\u5DF2\u7981\u7528",placement:"top"},{default:d(()=>[c(R,{modelValue:ie.Enable,"onUpdate:modelValue":$e=>ie.Enable=$e,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":Z.bind(this,ie.Enable,G,ie),size:"small"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"])]),_:2},1024),c(q,{label:"\u524D\u7AEF\u57DF\u540D",span:1},{default:d(()=>[c(I,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:h(Zo)(ie.Domains)},null,8,c4e)]),default:d(()=>[fe(c(z,{color:"#409eff",size:"small"},{default:d(()=>[A(re(ie.Domains.length==1?ie.Domains[0]:ie.Domains[0]+" ..."),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(q,{label:"\u540E\u7AEF\u5730\u5740",span:2},{default:d(()=>[c(I,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:h(Zo)(ie.Locations)},null,8,d4e)]),default:d(()=>[fe(c(z,{color:"#409eff",size:"small"},{default:d(()=>[A(re(ie.Locations.length==1?ie.Locations[0]:ie.Locations[0]+" ..."),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(q,{label:"\u65E5\u5FD7",span:2},{default:d(()=>[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:x(G,ie.Key)},null,8,f4e)]),default:d(()=>[fe(c(z,{type:"info",size:"small",onClick:$e=>T(G.RuleKey,ie.Key)},{default:d(()=>[A(" \u67E5\u770B ")]),_:2},1032,["onClick"]),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(q,{label:"\u5B89\u5168\u8BBE\u7F6E",span:2},{default:d(()=>[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},Zl({default:d(()=>[fe(c(z,{color:"#6666ff",size:"small",disabled:ie.EnableBasicAuth!=!0},{default:d(()=>[A(re(ie.EnableBasicAuth==!1?"Basic\u8BA4\u8BC1\u672A\u542F\u7528":"Basic\u8BA4\u8BC1\u5DF2\u542F\u7528"),1)]),_:2},1032,["disabled"]),[[ge,!0]])]),_:2},[ie.EnableBasicAuth?{name:"content",fn:d(()=>[A(" \u7528\u6237\u540D:"+re(ie.BasicAuthUser),1),p4e,A(" \u5BC6\u7801:"+re(ie.BasicAuthPasswd),1),v4e]),key:"0"}:void 0,ie.EnableBasicAuth?void 0:{name:"content",fn:d(()=>[A(" Basic\u8BA4\u8BC1\u672A\u542F\u7528"),h4e]),key:"1"}]),1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" IP\u8FC7\u6EE4\u6A21\u5F0F"),_4e]),default:d(()=>[fe(c(z,{color:"#6666ff",size:"small"},{default:d(()=>[A(re(ie.SafeIPMode=="blacklist"?"IP\u9ED1\u540D\u5355":"IP\u767D\u540D\u5355"),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" UserAgent\u8FC7\u6EE4\u6A21\u5F0F"),m4e]),default:d(()=>[fe(c(z,{color:"#6666ff",size:"small"},{default:d(()=>[A(re(ie.SafeUserAgentMode=="blacklist"?"UA\u9ED1\u540D\u5355":"UA\u767D\u540D\u5355"),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024)]))),256))]),_:2},1024)]))),256))]),_:1}),c(Ae,{position:"bottom",offset:30,class:"affix-container"},{default:d(()=>[c(z,{type:"primary",round:!0,onClick:se[0]||(se[0]=G=>J("add",null))},{default:d(()=>[A("\u6DFB\u52A0\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "),c(ce,{class:"el-icon--right"},{default:d(()=>[c(Fe)]),_:1})]),_:1})]),_:1})]),t.value?(b(),ae(S,{key:0,modelValue:t.value,"onUpdate:modelValue":se[30]||(se[30]=G=>t.value=G),title:o.value=="add"?"\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0":"\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539",draggable:"","show-close":!0,"close-on-click-modal":!1,width:"600px"},{footer:d(()=>[f("span",ipe,[c(z,{onClick:se[29]||(se[29]=G=>t.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(z,{type:"primary",onClick:De},{default:d(()=>[A(re(o.value=="add"?"\u6DFB\u52A0":"\u4FEE\u6539"),1)]),_:1})])]),default:d(()=>[c(M,{model:_.value},{default:d(()=>[c(me,{label:"\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u540D\u79F0","label-width":"auto"},{default:d(()=>[c(ue,{modelValue:_.value.RuleName,"onUpdate:modelValue":se[1]||(se[1]=G=>_.value.RuleName=G),placeholder:"\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(me,{label:"\u89C4\u5219\u5F00\u5173","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.Enable,"onUpdate:modelValue":se[2]||(se[2]=G=>_.value.Enable=G),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u505C\u7528"},null,8,["modelValue"])]),_:1}),fe(f("div",null,[f("div",g4e,[c(me,{label:"\u76D1\u542C\u7C7B\u578B","label-width":"auto"},{default:d(()=>[c(Ie,{modelValue:O.value,"onUpdate:modelValue":se[3]||(se[3]=G=>O.value=G),indeterminate:ye.value,onChange:Pe},{default:d(()=>[A("\u5168\u9009 \xA0\xA0\xA0\xA0\xA0\xA0")]),_:1},8,["modelValue","indeterminate"]),b4e,c(ee,{modelValue:D.value,"onUpdate:modelValue":se[4]||(se[4]=G=>D.value=G),onChange:he},{default:d(()=>[(b(),F(Oe,null,it(xe,G=>c(Ie,{key:G,label:G},{default:d(()=>[A(re(G),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1}),c(me,{label:"\u76D1\u542C\u5730\u5740","label-width":"auto"},{default:d(()=>[c(ue,{modelValue:_.value.ListenIP,"onUpdate:modelValue":se[5]||(se[5]=G=>_.value.ListenIP=G),placeholder:"\u6CA1\u7279\u6B8A\u9700\u6C42\u7559\u7A7A\u5373\u53EF",autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(me,{label:"\u76D1\u542C\u7AEF\u53E3","label-width":"auto",min:1,max:65535},{default:d(()=>[c(Se,{modelValue:_.value.ListenPort,"onUpdate:modelValue":se[6]||(se[6]=G=>_.value.ListenPort=G),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u542F\u7528\u524D\u8BF7\u5148\u6DFB\u52A0SSL\u8BC1\u4E66"),y4e,A(" \u589E\u52A0\u5220\u9664\u8BC1\u4E66\u540E\u9700\u8981\u91CD\u542F\u89C4\u5219\u65B0\u8BC1\u4E66\u624D\u751F\u6548"),w4e]),default:d(()=>[(b(),ae(me,{key:0,label:"TLS","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.EnableTLS,"onUpdate:modelValue":se[7]||(se[7]=G=>_.value.EnableTLS=G),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}))]),_:1})]),c(Ze,{modelValue:l.value,"onUpdate:modelValue":se[28]||(se[28]=G=>l.value=G),accordion:!0},{default:d(()=>[f("div",C4e,[c(Qe,{title:"\u9ED8\u8BA4\u5B50\u89C4\u5219",name:"default"},{default:d(()=>[f("div",E4e,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u53EF\u7559\u7A7A"),F4e,A(" \u4E0D\u4E3A\u7A7A\u65F6\u8868\u793A\u57DF\u540D\u4E0D\u5339\u914D\u4EFB\u4F55\u5B50\u89C4\u5219\u65F6\u9ED8\u8BA4\u7684\u8DF3\u8F6C\u5730\u5740"),A4e,A(" \u8BBE\u7F6E\u591A\u6761\u540E\u7AEF\u5730\u5740\u65F6\u8868\u793A\u542F\u7528\u5747\u8861\u8D1F\u8F7D,\u4F9D\u6B21\u5FAA\u73AF\u8BBF\u95EE"),D4e,A(" \u65E0\u7279\u6B8A\u9700\u6C42\u7559\u7A7A\u5373\u53EF"),B4e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u9ED8\u8BA4\u76EE\u6807\u5730\u5740"},{default:d(()=>[c(ue,{modelValue:E.value,"onUpdate:modelValue":se[8]||(se[8]=G=>E.value=G),placeholder:"\u6CA1\u7279\u6B8A\u9700\u6C42\u7559\u7A7A\u5373\u53EF",autosize:{minRows:1,maxRows:3},type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),c(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.DefaultProxy.EnableAccessLog,"onUpdate:modelValue":se[9]||(se[9]=G=>_.value.DefaultProxy.EnableAccessLog=G),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1}),fe(f("div",null,[c(me,{label:"\u65E5\u5FD7\u8F93\u51FA\u7EA7\u522B","label-width":"auto"},{default:d(()=>[c(nt,{modelValue:_.value.DefaultProxy.LogLevel,"onUpdate:modelValue":se[10]||(se[10]=G=>_.value.DefaultProxy.LogLevel=G),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(!0),F(Oe,null,it(h(Bi),G=>(b(),ae(Ke,{key:G.value,label:G.label,value:G.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),c(me,{label:"\u65E5\u5FD7\u8F93\u51FA\u5230\u7EC8\u7AEF","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.DefaultProxy.LogOutputToConsole,"onUpdate:modelValue":se[11]||(se[11]=G=>_.value.DefaultProxy.LogOutputToConsole=G),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u8303\u56F4(0-102400),0\u8868\u793A\u4E0D\u4FDD\u5B58\u65E5\u5FD7"),x4e]),default:d(()=>[c(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570","label-width":"auto",min:0,max:102400},{default:d(()=>[c(Se,{modelValue:_.value.DefaultProxy.AccessLogMaxNum,"onUpdate:modelValue":se[12]||(se[12]=G=>_.value.DefaultProxy.AccessLogMaxNum=G),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u8303\u56F4(1-256)"),$4e]),default:d(()=>[c(me,{label:"\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570","label-width":"auto",min:1,max:256},{default:d(()=>[c(Se,{modelValue:_.value.DefaultProxy.WebListShowLastLogMaxCount,"onUpdate:modelValue":se[13]||(se[13]=G=>_.value.DefaultProxy.WebListShowLastLogMaxCount=G),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E0D\u5EFA\u8BAE\u7559\u7A7A\uFF0C\u7559\u7A7A\u7684\u8BDD\u65E5\u5FD7\u4E2D\u4E0D\u663E\u793A\u76F8\u5173\u4FE1\u606F "),S4e,A(" \u683C\u5F0F\u4E2D\u53EF\u7528\u53D8\u91CF"),k4e,A(" #{clientIP} : \u5BA2\u6237\u7AEFIP "),P4e,A(" #{remoteIP} : \u5BA2\u6237\u7AEF\u76F4\u63A5\u8FDE\u63A5\u672C\u670D\u52A1\u7684IP(\u5982\u679C\u524D\u7AEF\u6709\u53CD\u5411\u4EE3\u7406\uFF0C\u4E0D\u4E00\u5B9A\u662F\u5BA2\u6237\u7AEF\u771F\u5B9EIP)"),L4e,A(" #{tab} : \u5236\u8868\u7B26"),T4e,A(" #{method} : \u8BF7\u6C42\u65B9\u6CD5"),z4e,A(" #{host} : \u8BF7\u6C42host"),M4e,A(" #{path} : \u8BF7\u6C42path(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),V4e,A(" #{url} : \u8BF7\u6C42url(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),I4e]),default:d(()=>[oe("",!0)]),_:1})],512),[[ge,_.value.DefaultProxy.EnableAccessLog]]),f("div",H4e,[R4e,c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),N4e]),default:d(()=>[c(me,{label:"\u4F18\u5148\u4ECEHeader\u5934\u90E8\u83B7\u53D6","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.DefaultProxy.ForwardedByClientIP,"onUpdate:modelValue":se[15]||(se[15]=G=>_.value.DefaultProxy.ForwardedByClientIP=G),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5,\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u7F51\u6BB5"),O4e,A(" Lucky\u53EA\u4F1A\u4ECE\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u4E2D\u7684header\u83B7\u53D6\u5BA2\u6237\u7AEFIP"),U4e,A(" 0.0.0.0/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv4\u4EE3\u7406\u5730\u5740"),W4e,A(" ::/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv6\u4EE3\u7406\u5730\u5740"),q4e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5"},{default:d(()=>[c(ue,{modelValue:g.value,"onUpdate:modelValue":se[16]||(se[16]=G=>g.value=G),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5\uFF0C\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u5B57\u6BB5"),j4e,A(" \u5E38\u89C1\u7684\u5B57\u6BB5\u6709\uFF1A"),K4e,A(" X-Forwarded-For "),G4e,A(" X-Real-IP "),Y4e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5"},{default:d(()=>[c(ue,{modelValue:y.value,"onUpdate:modelValue":se[17]||(se[17]=G=>y.value=G),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,_.value.DefaultProxy.ForwardedByClientIP]])]),f("div",X4e,[J4e,c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),Q4e]),default:d(()=>[c(me,{label:"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.DefaultProxy.AddRemoteIPToHeader,"onUpdate:modelValue":se[18]||(se[18]=G=>_.value.DefaultProxy.AddRemoteIPToHeader=G),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5E38\u7528\u7684Key\u6709"),Z4e,A(" X-Forwarded-For"),e6e,A(" X-Real-IP"),t6e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u81EA\u5B9A\u4E49Header Key"},{default:d(()=>[c(ue,{modelValue:_.value.DefaultProxy.AddRemoteIPHeaderKey,"onUpdate:modelValue":se[19]||(se[19]=G=>_.value.DefaultProxy.AddRemoteIPHeaderKey=G),placeholder:""},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,_.value.DefaultProxy.AddRemoteIPToHeader]])]),f("div",n6e,[o6e,c(me,{label:"BasicAuth\u8BA4\u8BC1","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.DefaultProxy.EnableBasicAuth,"onUpdate:modelValue":se[20]||(se[20]=G=>_.value.DefaultProxy.EnableBasicAuth=G),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}),fe(f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" HTTP BasicAuth \u7528\u6237\u540D"),l6e]),default:d(()=>[c(me,{"label-width":"auto",label:"HTTP BasicAuth \u7528\u6237\u540D"},{default:d(()=>[c(ue,{modelValue:_.value.DefaultProxy.BasicAuthUser,"onUpdate:modelValue":se[21]||(se[21]=G=>_.value.DefaultProxy.BasicAuthUser=G),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" HTTP BasicAuth \u5BC6\u7801"),u6e]),default:d(()=>[c(me,{"label-width":"auto",label:"HTTP BasicAuth \u5BC6\u7801"},{default:d(()=>[c(ue,{modelValue:_.value.DefaultProxy.BasicAuthPasswd,"onUpdate:modelValue":se[22]||(se[22]=G=>_.value.DefaultProxy.BasicAuthPasswd=G),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[ge,_.value.DefaultProxy.EnableBasicAuth]]),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),a6e]),default:d(()=>[c(me,{"label-width":"auto",label:"IP\u8FC7\u6EE4\u6A21\u5F0F"},{default:d(()=>[c(Le,{modelValue:_.value.DefaultProxy.SafeIPMode,"onUpdate:modelValue":se[23]||(se[23]=G=>_.value.DefaultProxy.SafeIPMode=G),class:"ml-4"},{default:d(()=>[c(we,{label:"blacklist"},{default:d(()=>[A("\u9ED1\u540D\u5355")]),_:1}),c(we,{label:"whitelist"},{default:d(()=>[A("\u767D\u540D\u5355")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),r6e]),default:d(()=>[c(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u6A21\u5F0F"},{default:d(()=>[c(Le,{modelValue:_.value.DefaultProxy.SafeUserAgentMode,"onUpdate:modelValue":se[24]||(se[24]=G=>_.value.DefaultProxy.SafeUserAgentMode=G),class:"ml-4"},{default:d(()=>[c(we,{label:"blacklist"},{default:d(()=>[A("\u9ED1\u540D\u5355")]),_:1}),c(we,{label:"whitelist"},{default:d(()=>[A("\u767D\u540D\u5355")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u81EA\u5B9A\u4E49\u7684UserAgent \u9ED1/\u767D\u540D\u5355\u5185\u5BB9,\u591A\u7EC4Agent\u5206\u591A\u884C\u586B\u5165,\u5B9E\u9645\u7684UserAgent\u90E8\u5206\u5339\u914D\u4EFB\u610F\u4E00\u884C\u5373\u662F\u6210\u529F\u5339\u914D"),s6e,A(" \u9ED1\u540D\u5355\u6A21\u5F0F\u65F6,\u5339\u914D\u6210\u529F\u4EFB\u4E00\u6761\u5373\u62D2\u7EDD\u670D\u52A1"),i6e,A(" \u767D\u540D\u5355\u6A21\u5F0F\u65F6,\u4EC5\u5339\u914D\u6210\u529F\u624D\u7EE7\u7EED\u670D\u52A1"),c6e]),default:d(()=>[c(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u5185\u5BB9"},{default:d(()=>[c(ue,{modelValue:w.value,"onUpdate:modelValue":se[25]||(se[25]=G=>w.value=G),autosize:{minRows:3,maxRows:6},placeholder:"",type:"textarea",wrap:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),f("div",d6e,[f6e,c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u53EF\u4EE5\u901A\u8FC7\u81EA\u5B9A\u4E49robots.txt\u9632\u6B62\u722C\u866B\u5BF9\u5185\u5BB9\u7684\u6293\u53D6"),p6e]),default:d(()=>[c(me,{label:"\u81EA\u5B9A\u4E49robot.txt","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.DefaultProxy.CustomRobotTxt,"onUpdate:modelValue":se[26]||(se[26]=G=>_.value.DefaultProxy.CustomRobotTxt=G),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),fe(f("div",null,[c(me,{"label-width":"auto",label:"robot.txt"},{default:d(()=>[c(ue,{modelValue:_.value.DefaultProxy.RobotTxt,"onUpdate:modelValue":se[27]||(se[27]=G=>_.value.DefaultProxy.RobotTxt=G),autosize:{minRows:5,maxRows:9},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})],512),[[ge,_.value.DefaultProxy.CustomRobotTxt]])])])]),_:1})]),f("div",v6e,[h6e,(b(!0),F(Oe,null,it(_.value.ProxyList,(G,ie)=>(b(),F("div",_6e,[c(Qe,{title:"\u7B2C"+(ie+1)+"\u6761 [ "+_.value.ProxyList[ie].Remark+" ]",name:ie},{default:d(()=>[f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5B50\u89C4\u5219\u540D\u79F0,\u53EF\u7559\u7A7A"),m6e]),default:d(()=>[c(me,{label:"\u53CD\u5411\u4EE3\u7406\u5B50\u89C4\u5219\u540D\u79F0","label-width":"auto"},{default:d(()=>[c(ue,{modelValue:_.value.ProxyList[ie].Remark,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].Remark=$e,placeholder:"\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(me,{label:"\u5B50\u89C4\u5219\u5F00\u5173","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.ProxyList[ie].Enable,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].Enable=$e,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),fe(f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E00\u884C\u4E00\u6761\u57DF\u540D"),g6e,A(" \u8BBE\u7F6E\u591A\u6761\u57DF\u540D\u65F6\u8868\u793A\u591A\u6761\u57DF\u540D\u6307\u5411\u76F8\u540C\u7684\u540E\u7AEF\u5730\u5740"),b6e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u524D\u7AEF\u57DF\u540D"},{default:d(()=>[c(ue,{modelValue:C.value[ie],"onUpdate:modelValue":$e=>C.value[ie]=$e,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E00\u884C\u4E00\u6761\u540E\u7AEF\u5730\u5740"),y6e,A(" \u8BBE\u7F6E\u591A\u6761\u540E\u7AEF\u5730\u5740\u65F6\u8868\u793A\u542F\u7528\u5747\u8861\u8D1F\u8F7D,\u4F9D\u6B21\u5FAA\u73AF\u8BBF\u95EE"),w6e,A(" \u65E0\u7279\u6B8A\u8981\u6C42\u8BBE\u7F6E\u4E00\u6761\u5373\u53EF"),C6e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u540E\u7AEF\u5730\u5740"},{default:d(()=>[c(ue,{modelValue:B.value[ie],"onUpdate:modelValue":$e=>B.value[ie]=$e,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.ProxyList[ie].EnableAccessLog,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].EnableAccessLog=$e,"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),fe(f("div",null,[c(me,{label:"\u65E5\u5FD7\u8F93\u51FA\u7EA7\u522B","label-width":"auto"},{default:d(()=>[c(nt,{modelValue:_.value.ProxyList[ie].LogLevel,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].LogLevel=$e,class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:d(()=>[(b(!0),F(Oe,null,it(h(Bi),$e=>(b(),ae(Ke,{key:$e.value,label:$e.label,value:$e.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),c(me,{label:"\u5B50\u89C4\u5219\u65E5\u5FD7\u8F93\u51FA\u5230\u7EC8\u7AEF","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.ProxyList[ie].LogOutputToConsole,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].LogOutputToConsole=$e,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u8303\u56F4(0-102400),0\u8868\u793A\u4E0D\u4FDD\u5B58\u65E5\u5FD7"),E6e]),default:d(()=>[c(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570","label-width":"auto",min:0,max:102400},{default:d(()=>[c(Se,{modelValue:_.value.ProxyList[ie].AccessLogMaxNum,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].AccessLogMaxNum=$e,autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u8303\u56F4(1-256)"),F6e]),default:d(()=>[c(me,{label:"\u524D\u7AEF\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570","label-width":"auto",min:1,max:256},{default:d(()=>[c(Se,{modelValue:_.value.ProxyList[ie].WebListShowLastLogMaxCount,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].WebListShowLastLogMaxCount=$e,autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4E0D\u5EFA\u8BAE\u7559\u7A7A\uFF0C\u7559\u7A7A\u7684\u8BDD\u65E5\u5FD7\u4E2D\u4E0D\u663E\u793A\u76F8\u5173\u4FE1\u606F "),A6e,A(" \u65E5\u5FD7\u683C\u5F0F\u4E2D\u53EF\u7528\u53D8\u91CF"),D6e,A(" #{clientIP} : \u5BA2\u6237\u7AEFIP "),B6e,A(" #{remoteIP} : \u5BA2\u6237\u7AEF\u76F4\u63A5\u8FDE\u63A5\u672C\u670D\u52A1\u7684IP(\u5982\u679C\u524D\u7AEF\u6709\u53CD\u5411\u4EE3\u7406\uFF0C\u4E0D\u4E00\u5B9A\u662F\u5BA2\u6237\u7AEF\u771F\u5B9EIP)"),x6e,A(" #{tab} : \u5236\u8868\u7B26"),$6e,A(" #{method} : \u8BF7\u6C42\u65B9\u6CD5"),S6e,A(" #{host} : \u8BF7\u6C42host"),k6e,A(" #{path} : \u8BF7\u6C42path(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),P6e,A(" #{url} : \u8BF7\u6C42url(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),L6e]),default:d(()=>[oe("",!0)]),_:2},1024)],512),[[ge,_.value.ProxyList[ie].EnableAccessLog]]),f("div",T6e,[z6e,c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),M6e]),default:d(()=>[c(me,{label:"\u4F18\u5148\u4ECEHeader\u5934\u90E8\u83B7\u53D6","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.ProxyList[ie].ForwardedByClientIP,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].ForwardedByClientIP=$e,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),fe(f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5,\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u7F51\u6BB5"),V6e,A(" Lucky\u53EA\u4F1A\u4ECE\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u4E2D\u7684header\u83B7\u53D6\u5BA2\u6237\u7AEFIP"),I6e,A(" 0.0.0.0/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv4\u4EE3\u7406\u5730\u5740"),H6e,A(" ::/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv6\u4EE3\u7406\u5730\u5740"),R6e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5"},{default:d(()=>[c(ue,{modelValue:k.value[ie],"onUpdate:modelValue":$e=>k.value[ie]=$e,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5\uFF0C\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u5B57\u6BB5"),N6e,A(" \u5E38\u89C1\u7684\u5B57\u6BB5\u6709\uFF1A"),O6e,A(" X-Forwarded-For "),U6e,A(" X-Real-IP "),W6e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5"},{default:d(()=>[c(ue,{modelValue:P.value[ie],"onUpdate:modelValue":$e=>P.value[ie]=$e,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)],512),[[ge,_.value.ProxyList[ie].ForwardedByClientIP]])]),f("div",q6e,[j6e,c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),K6e,A(" \u7528\u4E8E\u540E\u7AEF\u7A0B\u5E8F\u8BC6\u522B\u5BA2\u6237\u7AEF\u771F\u5B9EIP ")]),default:d(()=>[c(me,{label:"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.ProxyList[ie].AddRemoteIPToHeader,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].AddRemoteIPToHeader=$e,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),fe(f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u5E38\u7528\u7684Key\u6709"),G6e,A(" X-Forwarded-For"),Y6e,A(" X-Real-IP"),X6e]),default:d(()=>[c(me,{"label-width":"auto",label:"\u81EA\u5B9A\u4E49Header Key"},{default:d(()=>[c(ue,{modelValue:_.value.ProxyList[ie].AddRemoteIPHeaderKey,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].AddRemoteIPHeaderKey=$e,placeholder:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)],512),[[ge,_.value.ProxyList[ie].AddRemoteIPToHeader]])]),f("div",J6e,[Q6e,c(me,{label:"BasicAuth\u8BA4\u8BC1","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.ProxyList[ie].EnableBasicAuth,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].EnableBasicAuth=$e,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),fe(f("div",null,[c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" HTTP BasicAuth \u7528\u6237\u540D"),Z6e]),default:d(()=>[c(me,{"label-width":"auto",label:"HTTP BasicAuth \u7528\u6237\u540D"},{default:d(()=>[c(ue,{modelValue:_.value.ProxyList[ie].BasicAuthUser,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].BasicAuthUser=$e,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" HTTP BasicAuth \u5BC6\u7801"),epe]),default:d(()=>[c(me,{"label-width":"auto",label:"HTTP BasicAuth \u5BC6\u7801"},{default:d(()=>[c(ue,{modelValue:_.value.ProxyList[ie].BasicAuthPasswd,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].BasicAuthPasswd=$e,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)],512),[[ge,_.value.ProxyList[ie].EnableBasicAuth]]),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),tpe]),default:d(()=>[c(me,{"label-width":"auto",label:"IP\u8FC7\u6EE4\u6A21\u5F0F"},{default:d(()=>[c(Le,{modelValue:_.value.ProxyList[ie].SafeIPMode,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].SafeIPMode=$e,class:"ml-4"},{default:d(()=>[c(we,{label:"blacklist"},{default:d(()=>[A("\u9ED1\u540D\u5355")]),_:1}),c(we,{label:"whitelist"},{default:d(()=>[A("\u767D\u540D\u5355")]),_:1})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),npe]),default:d(()=>[c(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u6A21\u5F0F"},{default:d(()=>[c(Le,{modelValue:_.value.ProxyList[ie].SafeUserAgentMode,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].SafeUserAgentMode=$e,class:"ml-4"},{default:d(()=>[c(we,{label:"blacklist"},{default:d(()=>[A("\u9ED1\u540D\u5355")]),_:1}),c(we,{label:"whitelist"},{default:d(()=>[A("\u767D\u540D\u5355")]),_:1})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u81EA\u5B9A\u4E49\u7684UserAgent \u9ED1/\u767D\u540D\u5355\u5185\u5BB9,\u591A\u7EC4Agent\u5206\u591A\u884C\u586B\u5165,\u5B9E\u9645\u7684UserAgent\u90E8\u5206\u5339\u914D\u4EFB\u610F\u4E00\u884C\u5373\u662F\u6210\u529F\u5339\u914D"),ope,A(" \u9ED1\u540D\u5355\u6A21\u5F0F\u65F6,\u5339\u914D\u6210\u529F\u4EFB\u4E00\u6761\u5373\u62D2\u7EDD\u670D\u52A1"),lpe,A(" \u767D\u540D\u5355\u6A21\u5F0F\u65F6,\u4EC5\u5339\u914D\u6210\u529F\u624D\u7EE7\u7EED\u670D\u52A1"),upe]),default:d(()=>[c(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u5185\u5BB9"},{default:d(()=>[c(ue,{modelValue:$.value[ie],"onUpdate:modelValue":$e=>$.value[ie]=$e,autosize:{minRows:3,maxRows:6},placeholder:"",type:"textarea",wrap:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),f("div",ape,[rpe,c(I,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[A(" \u53EF\u4EE5\u901A\u8FC7\u81EA\u5B9A\u4E49robots.txt\u9632\u6B62\u722C\u866B\u5BF9\u5185\u5BB9\u7684\u6293\u53D6"),spe]),default:d(()=>[c(me,{label:"\u81EA\u5B9A\u4E49robot.txt","label-width":"auto"},{default:d(()=>[c(R,{modelValue:_.value.ProxyList[ie].CustomRobotTxt,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].CustomRobotTxt=$e,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),fe(f("div",null,[c(me,{"label-width":"auto",label:"robot.txt"},{default:d(()=>[c(ue,{modelValue:_.value.ProxyList[ie].RobotTxt,"onUpdate:modelValue":$e=>_.value.ProxyList[ie].RobotTxt=$e,autosize:{minRows:5,maxRows:9},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)],512),[[ge,_.value.ProxyList[ie].CustomRobotTxt]])])],512),[[ge,_.value.ProxyList[ie].Enable]]),c(me,null,{default:d(()=>[c(z,{type:"danger",round:!0,onClick:$e=>ve(ie)},{default:d(()=>[A(" \u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024)])]),_:2},1032,["title","name"])]))),256)),c(z,{type:"primary",round:!0,onClick:be},{default:d(()=>[A("\u6DFB\u52A0\u53CD\u5411\u4EE3\u7406\u8F6C\u53D1\u5B50\u89C4\u5219 ")]),_:1})])]),_:1},8,["modelValue"])],512),[[ge,_.value.Enable]])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])):oe("",!0),n.value?(b(),ae(S,{key:1,modelValue:n.value,"onUpdate:modelValue":se[31]||(se[31]=G=>n.value=G),"close-on-click-modal":!1,width:"900px"},{default:d(()=>[f("div",null,[c(pe,{"max-height":"95vh",class:"reverseProxyLogs","element-loading-background":"transparent"},{default:d(()=>[A(re(m.value),1)]),_:1}),c(_e,{"page-size":u.value,"page-sizes":[10,20,50,100,200,300,400,500],small:!1,disabled:!1,background:!1,layout:"total, sizes, prev, pager, next, jumper","current-page":p.value,total:a.value,onSizeChange:X,onCurrentChange:W,onPrevClick:H,onNextClick:j},null,8,["page-size","current-page","total"])])]),_:1},8,["modelValue"])):oe("",!0)],64)}}});var dpe=hn(cpe,[["__scopeId","data-v-14277c40"]]);const fpe={class:"PageRadius",style:{borderRadius:"base"},"element-loading-background":"transparent"},ppe={class:"formradius",style:{borderRadius:"base"}},vpe=le({__name:"DDNSSet",setup(e){const t=L(!0),n={Enable:!1,HttpClientSecureVerify:!1,Intervals:0,FirstCheckDelay:0},o=L(n),l=L(n),u=()=>{o.value.Enable=l.value.Enable,o.value.HttpClientSecureVerify=l.value.HttpClientSecureVerify},a=i=>{l.value.Enable=i.value.Enable,l.value.HttpClientSecureVerify=i.value.HttpClientSecureVerify},r=()=>{Aie().then(i=>{if(i.ret==0){t.value=!1,o.value=i.ddnsconfigure,a(o);return}ne("error","\u83B7\u53D6DDNS\u914D\u7F6E\u51FA\u9519")}).catch(i=>{ne("error","\u83B7\u53D6DDNS\u914D\u7F6E\u51FA\u9519")})},s=()=>{Bie(o.value).then(i=>{if(i.ret==0){ne("success","\u914D\u7F6E\u4FEE\u6539\u6210\u529F");return}u(),ne("error",i.msg)}).catch(i=>{console.log("\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+i),ne("error","\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519"),u()})};return ot(()=>{r()}),(i,p)=>{const m=rl,v=Bn,_=pn,g=eo,y=Hn,w=vn,E=Yt,D=os;return fe((b(),F("div",fpe,[c(E,{height:"100%"},{default:d(()=>[f("div",ppe,[c(y,{model:o.value,class:"SetForm","label-width":"auto"},{default:d(()=>[c(_,{content:"\u5982\u679C\u4E0D\u9700\u8981DDNS\u52A8\u6001\u57DF\u540D\u670D\u52A1\u8BF7\u4E0D\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173",placement:"top"},{default:d(()=>[c(v,{label:"\u52A8\u6001\u57DF\u540D\u670D\u52A1\u5F00\u5173",id:"adminListen"},{default:d(()=>[c(m,{modelValue:o.value.Enable,"onUpdate:modelValue":p[0]||(p[0]=C=>o.value.Enable=C),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u505C\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),c(_,{content:"\u591A\u6570\u5D4C\u5165\u5F0F\u8BBE\u5907\u542F\u7528\u8FD9\u4E2A\u5F00\u5173\u4F1A\u5BFC\u81F4https\u8BBF\u95EE\u5931\u8D25",placement:"top"},{default:d(()=>[c(v,{label:"Http(s) \u5BA2\u6237\u7AEF \u5B89\u5168\u8BC1\u4E66\u9A8C\u8BC1",id:"adminListen"},{default:d(()=>[c(m,{modelValue:o.value.HttpClientSecureVerify,"onUpdate:modelValue":p[1]||(p[1]=C=>o.value.HttpClientSecureVerify=C),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),c(_,{content:"\u9996\u6B21\u6267\u884C\u4EFB\u52A1\u5EF6\u8FDF\u65F6\u95F4,\u6700\u5C0F0\u79D2,\u6700\u957F3600\u79D2",placement:"top"},{default:d(()=>[c(v,{label:"\u9996\u6B21\u6267\u884C\u4EFB\u52A1\u5EF6\u8FDF(\u79D2)","label-width":"auto",min:"0",max:"3600"},{default:d(()=>[c(g,{modelValue:o.value.FirstCheckDelay,"onUpdate:modelValue":p[2]||(p[2]=C=>o.value.FirstCheckDelay=C),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),c(_,{content:"DDNS\u4EFB\u52A1\u6BCF\u6B21\u6267\u884C\u7684\u65F6\u95F4\u95F4\u9694,\u6700\u5C0F30\u79D2,\u6700\u957F3600\u79D2",placement:"top"},{default:d(()=>[c(v,{label:"\u65F6\u95F4\u95F4\u9694(\u79D2)","label-width":"auto",min:30,max:3600},{default:d(()=>[c(g,{modelValue:o.value.Intervals,"onUpdate:modelValue":p[3]||(p[3]=C=>o.value.Intervals=C),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["model"]),c(w,{type:"primary",round:"",onClick:s},{default:d(()=>[A("\u4FDD\u5B58\u4FEE\u6539")]),_:1})])]),_:1})])),[[D,t.value]])}}});var hpe=hn(vpe,[["__scopeId","data-v-53d1c3c2"]]);const _pe={class:"PageRadius",style:{borderRadius:"base"}},mpe={class:"itemradius",style:{borderRadius:"base"}},gpe=["innerHTML"],bpe={class:"dialog-footer"},ype={class:"dialog-footer"},wpe=le({__name:"SSL",setup(e){var t=L([{Key:"",Remark:"",Enable:!0,AddTime:"",CertsInfo:[{Domains:[""],NotBeforeTime:"",NotAfterTime:""}]}]);const n=L(!1),o=L({Remark:"",CertBase64:"",KeyBase64:""}),l=L(""),u=L(""),a=()=>{var k="/";return k+"api/getfilebase64"},r=L(!1),s=L(""),i=L(""),p=L(""),m=k=>{r.value=!0,p.value=k.Key,s.value=k.Remark,i.value=k.CertsInfo[0].Domains[0]},v=(k,P,T)=>{if(k.ret!=0){ne("error",k.msg);return}console.log("file:"+k.file),l.value=k.file,o.value.CertBase64=k.base64},_=k=>k.size/1024/1024>1?(ne("error","\u6587\u4EF6\u4E0D\u80FD\u5927\u4E8E1M"),!1):!0,g=(k,P,T)=>{if(k.ret!=0){ne("error",k.msg);return}console.log("file:"+k.file),u.value=k.file,o.value.KeyBase64=k.base64},y=()=>{n.value=!0,o.value.CertBase64="",o.value.KeyBase64="",l.value="\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u8BC1\u4E66\u6587\u4EF6",u.value="\u9009\u62E9\u8981\u4E0A\u4F20\u7684Key\u6587\u4EF6"},w=(k,P)=>{const T=k==!1?"\u542F\u7528":"\u7981\u7528",H=P.Remark!=""?P.Remark:P.CertsInfo[0].Domains[0],j="["+H+"]";return new Promise((X,W)=>{$t.confirm("\u786E\u8BA4\u8981"+T+" \u8BC1\u4E66 "+j+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Od(P.Key,"enable",!k).then(N=>{if(N.ret==0){X(!0),ne("success","\u8BC1\u4E66 "+j+T+"\u6210\u529F");return}X(!1),ne("error","\u8BC1\u4E66 "+j+T+"\u5931\u8D25: "+N.msg)}).catch(N=>{X(!1),console.log("\u8BC1\u4E66 "+j+T+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+N),ne("error","\u8BC1\u4E66 "+j+T+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{X(!1)})})},E=()=>{Od(p.value,"remark",s.value).then(k=>{if(k.ret==0){r.value=!1,ne("success","\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u6210\u529F"),B();return}ne("error","\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u5931\u8D25: "+k.msg)}).catch(k=>{console.log("\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+k),ne("error","\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})},D=()=>{if(o.value.CertBase64==""){ne("error","\u8BF7\u9009\u62E9\u8981\u4FDD\u5B58\u7684\u8BC1\u4E66\u6587\u4EF6");return}if(o.value.KeyBase64==""){ne("error","\u8BF7\u9009\u62E9\u8981\u4FDD\u5B58\u7684Key\u6587\u4EF6");return}qie(o.value).then(k=>{if(k.ret==0){n.value=!1,ne("success","\u6DFB\u52A0\u8BC1\u4E66\u6210\u529F"),B();return}ne("error",k.msg)}).catch(k=>{console.log("\u6DFB\u52A0SSL\u8BC1\u4E66\u51FA\u9519 "+k),ne("error","\u6DFB\u52A0SSL\u8BC1\u4E66\u51FA\u9519 "+k)})},C=k=>{const P=k.Remark!=""?k.Remark:k.CertsInfo[0].Domains[0];$t.confirm("\u786E\u8BA4\u8981\u5220\u9664 "+P+" \u7684\u8BC1\u4E66?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Wie(k.Key).then(T=>{if(T.ret==0){ne("success","\u8BC1\u4E66\u5220\u9664\u6210\u529F"),B();return}ne("error",T.msg)}).catch(T=>{console.log("\u8BC1\u4E66\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+T),ne("error","\u8BC1\u4E66\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})})},B=()=>{jie().then(k=>{if(k.ret==0){console.log(k.list),k.list!=null?t.value=k.list:t.value=[];return}ne("error",k.msg)}).catch(k=>{ne("error","\u67E5\u8BE2\u8BC1\u4E66\u5217\u8868\u5217\u8868\u51FA\u9519")})},$=k=>{k.keyCode==13&&(!n.value||D())};return ot(()=>{B(),window.addEventListener("keydown",$)}),(k,P)=>{const T=vn,H=ya,j=rl,X=pn,W=ba,N=Yt,J=lt("Plus"),be=rt,ve=Vl,Ee=nn,te=Bn,Z=P6,De=Hn,Be=Il;return b(),F("div",_pe,[c(N,{height:"100%"},{default:d(()=>[(b(!0),F(Oe,null,it(h(t),x=>(b(),F("div",mpe,[c(W,{column:6,border:""},{default:d(()=>[c(H,{label:"\u8BC1\u4E66\u5907\u6CE8",span:2},{default:d(()=>[fe(c(T,{size:"small"},{default:d(()=>[A(re(x.Remark==""?"\u672A\u5907\u6CE8":x.Remark),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(H,{label:"\u6DFB\u52A0\u65F6\u95F4",span:2},{default:d(()=>[fe(c(T,{size:"small"},{default:d(()=>[A(re(x.AddTime),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(H,{label:"\u64CD\u4F5C",span:2},{default:d(()=>[c(X,{content:x.Enable==!0?"\u8BC1\u4E66\u5DF2\u542F\u7528":"\u8BC1\u4E66\u5DF2\u7981\u7528",placement:"top"},{default:d(()=>[c(j,{modelValue:x.Enable,"onUpdate:modelValue":O=>x.Enable=O,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":w.bind(this,x.Enable,x),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),A(" \xA0\xA0 "),c(T,{size:"small",type:"primary",onClick:O=>m(x)},{default:d(()=>[A("\u4FEE\u6539\u5907\u6CE8")]),_:2},1032,["onClick"]),c(T,{size:"small",type:"danger",onClick:O=>C(x)},{default:d(()=>[A("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024),(b(!0),F(Oe,null,it(x.CertsInfo,O=>(b(),F("div",null,[c(H,{label:"\u7ED1\u5B9A\u57DF\u540D",span:2},{default:d(()=>[c(X,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:d(()=>[f("span",{innerHTML:h(Zo)(O.Domains)},null,8,gpe)]),default:d(()=>[fe(c(T,{size:"small",type:"primary"},{default:d(()=>[A(re(O.Domains.length==1?O.Domains[0]:O.Domains[0]+"..."),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]),_:2},1024),c(H,{label:"\u9881\u53D1\u65F6\u95F4",span:2},{default:d(()=>[fe(c(T,{size:"small",type:"info"},{default:d(()=>[A(re(O.NotBeforeTime),1)]),_:2},1536),[[ge,!0]])]),_:2},1024),c(H,{label:"\u5230\u671F\u65F6\u95F4",span:2},{default:d(()=>[fe(c(T,{size:"small",type:"warning"},{default:d(()=>[A(re(O.NotAfterTime),1)]),_:2},1536),[[ge,!0]])]),_:2},1024)]))),256))]),_:2},1024)]))),256))]),_:1}),c(ve,{position:"bottom",offset:30,class:"affix-container"},{default:d(()=>[c(T,{type:"primary",round:!0,onClick:y},{default:d(()=>[A("SSL\u8BC1\u4E66\u6DFB\u52A0 "),c(be,{class:"el-icon--right"},{default:d(()=>[c(J)]),_:1})]),_:1})]),_:1}),n.value?(b(),ae(Be,{key:0,modelValue:n.value,"onUpdate:modelValue":P[2]||(P[2]=x=>n.value=x),title:"\u6DFB\u52A0SSL\u8BC1\u4E66",draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:d(()=>[f("span",bpe,[c(T,{onClick:P[1]||(P[1]=x=>n.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(T,{type:"primary",onClick:D},{default:d(()=>[A("\u6DFB\u52A0")]),_:1})])]),default:d(()=>[c(De,{model:o.value},{default:d(()=>[c(te,{label:"\u5907\u6CE8","label-width":"auto"},{default:d(()=>[c(Ee,{modelValue:o.value.Remark,"onUpdate:modelValue":P[0]||(P[0]=x=>o.value.Remark=x),autocomplete:"off"},null,8,["modelValue"])]),_:1}),c(te,{label:"\u8BC1\u4E66","label-width":"auto"},{default:d(()=>[c(Z,{class:"inline-block",multiple:!0,action:a(),"before-upload":_,"show-file-list":!1,headers:{Authorization:h(Je)()},"on-success":v},{default:d(()=>[c(T,{round:"",class:"margin-change"},{default:d(()=>[A(re(l.value),1)]),_:1})]),_:1},8,["action","headers"])]),_:1}),c(te,{label:"Key","label-width":"auto"},{default:d(()=>[c(Z,{class:"inline-block",multiple:!0,action:a(),"before-upload":_,"show-file-list":!1,headers:{Authorization:h(Je)()},"on-success":g},{default:d(()=>[c(T,{round:"",class:"margin-change"},{default:d(()=>[A(re(u.value),1)]),_:1})]),_:1},8,["action","headers"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])):oe("",!0),r.value?(b(),ae(Be,{key:1,modelValue:r.value,"onUpdate:modelValue":P[5]||(P[5]=x=>r.value=x),title:i.value,draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:d(()=>[f("span",ype,[c(T,{onClick:P[4]||(P[4]=x=>r.value=!1)},{default:d(()=>[A("\u53D6\u6D88")]),_:1}),c(T,{type:"primary",onClick:E},{default:d(()=>[A("\u4FEE\u6539")]),_:1})])]),default:d(()=>[c(te,{label:"\u5907\u6CE8","label-width":"auto"},{default:d(()=>[c(Ee,{modelValue:s.value,"onUpdate:modelValue":P[3]||(P[3]=x=>s.value=x),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1},8,["modelValue","title"])):oe("",!0)])}}});var Cpe=hn(wpe,[["__scopeId","data-v-461444bc"]]);const Epe={class:"common-layout"},Fpe=le({__name:"App",setup(e){const t=Xe("global");return L("0.0.0"),ot(()=>{}),(n,o)=>{const l=ene,u=R0e,a=x0e,r=r0e,s=n0e,i=Gce,p=tne,m=Zte;return b(),F("div",Epe,[c(m,null,{default:d(()=>[c(l,{class:"header",id:"header"},{default:d(()=>[c(fde,{class:"menu"})]),_:1}),c(m,null,{default:d(()=>[c(m,{class:"body"},{default:d(()=>[c(p,{id:"pageContent"},{default:d(()=>[h(t).currentPage.value=="#log"?(b(),ae(ode,{key:0})):oe("",!0),h(t).currentPage.value=="#status"?(b(),ae(X0e,{key:1})):oe("",!0),h(t).currentPage.value=="#set"?(b(),ae(Dde,{key:2})):oe("",!0),h(t).currentPage.value=="#login"?(b(),ae(Sde,{key:3})):oe("",!0),h(t).currentPage.value=="#whitelistset"?(b(),ae(zde,{key:4})):oe("",!0),h(t).currentPage.value=="#whitelists"?(b(),ae(Rde,{key:5})):oe("",!0),h(t).currentPage.value=="#blacklists"?(b(),ae(qde,{key:6})):oe("",!0),h(t).currentPage.value=="#ddnstasklist"?(b(),ae(Zfe,{key:7})):oe("",!0),h(t).currentPage.value=="#ddnsset"?(b(),ae(hpe,{key:8})):oe("",!0),h(t).currentPage.value=="#reverseproxylist"?(b(),ae(dpe,{key:9})):oe("",!0),h(t).currentPage.value=="#ssl"?(b(),ae(Cpe,{key:10})):oe("",!0),h(t).currentPage.value=="#about"?(b(),ae(u,{key:11})):oe("",!0),h(t).currentPage.value=="#portforward"?(b(),ae(a,{key:12})):oe("",!0),h(t).currentPage.value=="#portforwardset"?(b(),ae(r,{key:13})):oe("",!0),h(t).currentPage.value=="#wol"?(b(),ae(s,{key:14})):oe("",!0),h(t).currentPage.value=="#wolserviceset"?(b(),ae(i,{key:15})):oe("",!0)]),_:1})]),_:1})]),_:1})]),_:1})])}}});var Ape=hn(Fpe,[["__scopeId","data-v-90c7e60e"]]);const ss=nf(Ape);for(let e in B0)ss.component(e,B0[e]);ss.config.globalProperties.$storage=ca;ep(location.hash)||(location.hash="#status");var np=L(location.hash);ss.provide("global",{currentPage:np,storage:ca});window.onpopstate=function(e){if(np.value=location.hash,gce.value=location.hash,location.hash=="#logout"){Vie().then(t=>{}).catch(t=>{}),ca.setItem("token",""),location.hash="#login";return}if(!ep(location.hash)){console.log("location.hash["+location.hash+"]no exist"),location.hash="#login";return}};ss.mount("#app")});export default Dpe(); ================================================ FILE: web/adminviews/dist/assets/index.abda1f8d.css ================================================ @charset "UTF-8";:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","\5fae\8f6f\96c5\9ed1",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px}:root{color-scheme:light;--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, .04),0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light:0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, .08),0px 12px 32px rgba(0, 0, 0, .12),0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0, 0, 0, .8);--el-overlay-color-light:rgba(0, 0, 0, .7);--el-overlay-color-lighter:rgba(0, 0, 0, .5);--el-mask-color:rgba(255, 255, 255, .9);--el-mask-color-extra-light:rgba(255, 255, 255, .3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical{flex-direction:column}.el-aside{overflow:auto;box-sizing:border-box;flex-shrink:0;width:var(--el-aside-width,300px)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height)}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-header-height)}.el-main{--el-main-padding:20px;display:block;flex:1;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:var(--el-main-padding)}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary)}.el-scrollbar{overflow:hidden;position:relative;height:100%}.el-scrollbar__wrap{overflow:auto;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3)}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-form{--el-form-label-font-size:var(--el-font-size-base)}.el-form--label-left .el-form-item__label{justify-content:flex-start}.el-form--label-top .el-form-item{display:block}.el-form--label-top .el-form-item .el-form-item__label{display:block;height:auto;text-align:left;margin-bottom:8px;line-height:22px}.el-form--inline .el-form-item{display:inline-flex;vertical-align:middle;margin-right:32px}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form--large.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:12px;line-height:22px}.el-form--default.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:8px;line-height:22px}.el-form--small.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:4px;line-height:20px}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item__label-wrap{display:flex}.el-form-item__label{display:inline-flex;justify-content:flex-end;align-items:flex-start;flex:0 0 auto;font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);height:32px;line-height:32px;padding:0 12px 0 0;box-sizing:border-box}.el-form-item__content{display:flex;flex-wrap:wrap;align-items:center;flex:1;line-height:32px;position:relative;font-size:var(--font-size);min-width:0}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;line-height:1;padding-top:2px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-select-v2__wrapper,.el-form-item.is-error .el-select-v2__wrapper:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:0 0 0 1px transparent inset}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-input-number{position:relative;display:inline-block;width:150px;line-height:30px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.el-input-number__decrease,.el-input-number__increase{display:flex;justify-content:center;align-items:center;height:auto;position:absolute;z-index:1;top:1px;bottom:1px;width:32px;background:var(--el-fill-color-light);color:var(--el-text-color-regular);cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input_wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input_wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border)}.el-input-number__decrease{left:1px;border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border)}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{width:40px;font-size:14px}.el-input-number--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:24px;font-size:12px}.el-input-number--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{bottom:auto;left:auto;border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border)}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;top:auto;left:auto;border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--el-font-size-base)}.el-textarea__inner{position:relative;display:block;resize:vertical;padding:5px 11px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;font-family:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);border:none}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{outline:0;box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);position:absolute;font-size:12px;line-height:14px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{border-color:var(--el-color-danger)}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary)}.el-input{--el-input-height:var(--el-component-size);position:relative;font-size:var(--el-font-size-base);display:inline-flex;width:100%;line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:var(--el-text-color-disabled)}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);font-size:14px;cursor:pointer}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;display:inline-flex;align-items:center;color:var(--el-color-info);font-size:12px}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;display:inline-block;padding-left:8px}.el-input__wrapper{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;padding:1px 11px;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px);width:100%;flex-grow:1;-webkit-appearance:none;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);padding:0;outline:0;border:none;background:0 0;box-sizing:border-box}.el-input__inner:focus{outline:0}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__prefix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__prefix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__suffix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;display:flex;justify-content:center;align-items:center;transition:all var(--el-transition-duration);margin-left:8px}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color,) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{display:inline-flex;width:100%;align-items:stretch}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;border-radius:var(--el-input-border-radius);padding:0 20px;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-input__wrapper,.el-input-group__append div.el-select:hover .el-input__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-input__wrapper,.el-input-group__prepend div.el-select:hover .el-input__wrapper{border-color:transparent;background-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper{box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important;z-index:2}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper:focus{outline:0;z-index:2;box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__wrapper{z-index:1;box-shadow:1px 0 0 0 var(--el-input-hover-border-color) inset,1px 0 0 0 var(--el-input-hover-border-color),0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__wrapper{z-index:2;box-shadow:-1px 0 0 0 var(--el-input-focus-border-color),-1px 0 0 0 var(--el-input-focus-border-color) inset,0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__wrapper{z-index:1;box-shadow:-1px 0 0 0 var(--el-input-hover-border-color),-1px 0 0 0 var(--el-input-hover-border-color) inset,0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px}.el-tag{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);--el-tag-text-color:var(--el-color-primary);background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);display:inline-flex;justify-content:center;align-items:center;height:24px;padding:0 9px;font-size:var(--el-tag-font-size);line-height:1;border-width:1px;border-style:solid;border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color)}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3);--el-tag-text-color:var(--el-color-white)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain{--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary);--el-tag-bg-color:var(--el-fill-color-blank)}.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{padding:0 11px;height:32px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{padding:0 7px;height:20px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-select-dropdown__item{font-size:var(--el-font-size-base);padding:0 32px 0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--el-text-color-regular);height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.selected{color:var(--el-color-primary);font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:var(--el-border-color-light)}.el-select-group__split-dash{position:absolute;left:20px;right:20px;height:1px;background:var(--el-border-color-light)}.el-select-group__title{padding-left:20px;font-size:12px;color:var(--el-color-info);line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius, 4px)}.el-popper{position:absolute;border-radius:var(--el-popper-border-radius);padding:5px 11px;z-index:2000;font-size:12px;line-height:20px;min-width:10px;word-wrap:break-word;visibility:visible}.el-popper.is-dark{color:var(--el-bg-color);background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark .el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-text-color-primary);right:0}.el-popper.is-light{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light .el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-bg-color-overlay);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{position:absolute;width:10px;height:10px;z-index:-1}.el-popper__arrow:before{position:absolute;width:10px;height:10px;z-index:-1;content:" ";transform:rotate(45deg);background:var(--el-text-color-primary);box-sizing:border-box}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent!important;border-bottom-color:transparent!important}.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:var(--el-fill-color-light)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.is-disabled:after{background-color:var(--el-text-color-disabled)}.el-select-dropdown .el-select-dropdown__option-item.is-selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown .el-select-dropdown__item.is-disabled:hover{background-color:unset}.el-select-dropdown .el-select-dropdown__item.is-disabled.selected{color:var(--el-text-color-disabled)}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size)}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select .el-select-tags-wrapper.has-prefix{margin-left:6px}.el-select--large{line-height:40px}.el-select--large .el-select-tags-wrapper.has-prefix{margin-left:8px}.el-select--small{line-height:24px}.el-select--small .el-select-tags-wrapper.has-prefix{margin-left:4px}.el-select .el-select__tags>span{display:inline-block}.el-select:hover:not(.el-select--disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-border-color-hover) inset}.el-select .el-select__tags-text{display:inline-block;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select .el-input__wrapper{cursor:pointer}.el-select .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select .el-input__inner{cursor:pointer}.el-select .el-input{display:flex}.el-select .el-input .el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:transform var(--el-transition-duration);transform:rotate(0);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{transform:rotate(-180deg)}.el-select .el-input .el-select__caret.is-show-close{font-size:var(--el-select-font-size);text-align:center;transform:rotate(0);border-radius:var(--el-border-radius-circle);color:var(--el-select-input-color);transition:var(--el-transition-color)}.el-select .el-input .el-select__caret.is-show-close:hover{color:var(--el-select-close-hover-color)}.el-select .el-input .el-select__caret.el-icon{position:relative;height:inherit;z-index:2}.el-select .el-input.is-disabled .el-input__wrapper{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select .el-input.is-disabled .el-input__inner,.el-select .el-input.is-disabled .el-select__caret{cursor:not-allowed}.el-select .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:var(--el-select-multiple-input-color);font-size:var(--el-select-font-size);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-small{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:var(--el-index-top);right:25px;color:var(--el-select-input-color);line-height:18px;font-size:var(--el-select-input-font-size)}.el-select__close:hover{color:var(--el-select-close-hover-color)}.el-select__tags{position:absolute;line-height:normal;top:50%;transform:translateY(-50%);white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap}.el-select__collapse-tags{white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap}.el-select__collapse-tag{line-height:inherit;height:inherit;display:flex}.el-select .el-select__tags .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.el-select .el-select__tags .el-tag:last-child{margin-right:0}.el-select .el-select__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);right:-7px;top:0;color:#fff}.el-select .el-select__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-select .el-select__tags .el-tag .el-icon-close:before{display:block;transform:translateY(.5px)}.el-select .el-select__tags .el-tag--info{background-color:var(--el-fill-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255, 255, 255, .5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-color-info);--el-button-active-color:var(--el-text-color-primary)}.el-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;outline:0;transition:.1s;font-weight:var(--el-button-font-weight);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);padding:8px 15px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button:focus,.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:0}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button>span{display:inline-flex;align-items:center}.el-button+.el-button{margin-left:12px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:var(--el-mask-color-extra-light)}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px}.el-button.is-text{color:var(--el-button-text-color);border:0 solid transparent;background-color:transparent}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important}.el-button.is-text:not(.is-disabled):focus,.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:focus,.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{border-color:transparent;color:var(--el-button-text-color);background:0 0;padding:2px;height:auto}.el-button.is-link:focus,.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button.is-link:not(.is-disabled):focus,.el-button.is-link:not(.is-disabled):hover{border-color:transparent;background-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);border-color:transparent;background-color:transparent}.el-button--text{border-color:transparent;background:0 0;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button--text:not(.is-disabled):focus,.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);border-color:transparent;background-color:transparent}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);border-color:transparent;background-color:transparent}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size);padding:12px 19px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size);padding:5px 11px;font-size:12px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-divider{position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0;border-top:1px var(--el-border-color) var(--el-border-style)}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative;border-left:1px var(--el-border-color) var(--el-border-style)}.el-divider__text{position:absolute;background-color:var(--el-bg-color);padding:0 20px;font-weight:500;color:var(--el-text-color-primary);font-size:14px}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color)}.el-switch{display:inline-flex;align-items:center;position:relative;font-size:14px;line-height:20px;height:32px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:var(--el-text-color-primary)}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{margin:0;display:inline-block;position:relative;width:40px;height:20px;border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));outline:0;border-radius:10px;box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration);vertical-align:middle}.el-switch__core .el-switch__inner{position:absolute;top:1px;left:1px;transition:all var(--el-transition-duration);width:16px;height:16px;display:flex;justify-content:center;align-items:center;left:50%;white-space:nowrap}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);transition:opacity var(--el-transition-duration);position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-switch__core .el-switch__action{position:absolute;top:1px;left:1px;border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);width:16px;height:16px;background-color:var(--el-color-white);display:flex;justify-content:center;align-items:center;color:var(--el-switch-off-color)}.el-switch__core .el-switch__action .is-icon,.el-switch__core .el-switch__action .is-text{transition:opacity var(--el-transition-duration);position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-switch__core .is-text{font-size:12px}.el-switch__core .is-show{opacity:1}.el-switch__core .is-hide{opacity:0}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{left:100%;margin-left:-17px;color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__inner{left:50%;white-space:nowrap;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;line-height:24px;height:40px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{width:50px;height:24px;border-radius:12px}.el-switch--large .el-switch__core .el-switch__inner,.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action,.el-switch--large.is-checked .el-switch__core .el-switch__inner{margin-left:-21px}.el-switch--small{font-size:12px;line-height:16px;height:24px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{width:30px;height:16px;border-radius:8px}.el-switch--small .el-switch__core .el-switch__inner,.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action,.el-switch--small.is-checked .el-switch__core .el-switch__inner{margin-left:-13px}.AdminListenDivRadius[data-v-a4c91d4e]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:600px;padding-top:9px;padding-left:9px;padding-right:9px}.SetForm[data-v-a4c91d4e]{margin-top:15px;margin-left:20px}.formradius[data-v-a4c91d4e]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}#adminListen[data-v-a4c91d4e]{width:360px}#adminAccount[data-v-a4c91d4e],#adminPassword[data-v-a4c91d4e]{width:30vw;max-width:360px;min-width:300px}#proxyCountLimit[data-v-a4c91d4e],#globalMaxConnections[data-v-a4c91d4e]{width:360px}.inline-block[data-v-a4c91d4e]{display:inline-block;margin-right:10px}.margin-change[data-v-a4c91d4e]{display:inline-block;margin-left:10px}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:20px;--el-dialog-border-radius:var(--el-border-radius-small);position:relative;margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:0!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-dialog__header{padding:var(--el-dialog-padding-primary);padding-bottom:10px;margin-right:16px;word-break:break-all}.el-dialog__headerbtn{position:absolute;top:6px;right:0;padding:0;width:54px;height:54px;background:0 0;border:none;outline:0;cursor:pointer;font-size:var(--el-message-close-size,16px)}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{padding:calc(var(--el-dialog-padding-primary) + 10px) var(--el-dialog-padding-primary);color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size);word-break:break-all}.el-dialog__footer{padding:var(--el-dialog-padding-primary);padding-top:10px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px calc(var(--el-dialog-padding-primary) + 5px) 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.dialog-fade-enter-active{-webkit-animation:modal-fade-in var(--el-transition-duration);animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{-webkit-animation:dialog-fade-in var(--el-transition-duration);animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{-webkit-animation:modal-fade-out var(--el-transition-duration);animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{-webkit-animation:dialog-fade-out var(--el-transition-duration);animation:dialog-fade-out var(--el-transition-duration)}@-webkit-keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@-webkit-keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:100%;background-color:var(--el-overlay-color-lighter);overflow:auto}.el-overlay .el-overlay-root{height:0}.el-affix--fixed{position:fixed}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-weight:400;line-height:23px;font-size:14px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{font-weight:700;color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background)}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}.itemradius{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 5px;min-width:1200px}.divRadius{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:330px;padding-top:9px;padding-left:9px;padding-right:9px}.divIOTRadius{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:300px;padding-top:9px;padding-left:9px;padding-right:9px}.deviceNamelabelClass{width:55px}.deviceNamecontentClass{width:230px}.deviceOptlabelClass{width:55px}.deviceOptcontentClass{width:320px}.deviceMaclabelClass{width:110px}.deviceMaccontentClass{width:150px}.deviceIOTlabelClass{width:90px}.deviceIOTcontentClass{width:180px}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:var(--el-mask-color);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity var(--el-transition-duration)}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/ 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{top:50%;margin-top:calc((0px - var(--el-loading-spinner-size))/ 2);width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@-webkit-keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-rotate{to{transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.AdminListenDivRadius[data-v-412f99dc]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:456;padding-top:9px;padding-left:9px;padding-right:9px}.SetForm[data-v-412f99dc]{margin-top:15px;margin-left:20px}.formradius[data-v-412f99dc]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}#adminListen[data-v-412f99dc]{width:360px}#adminAccount[data-v-412f99dc],#adminPassword[data-v-412f99dc]{width:30vw;max-width:360px;min-width:300px}#proxyCountLimit[data-v-412f99dc],#globalMaxConnections[data-v-412f99dc]{width:360px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:3px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-height-extra-small:24px;--el-pagination-line-height-extra-small:var(--el-pagination-height-extra-small);white-space:nowrap;padding:2px 5px;color:var(--el-pagination-text-color);font-weight:400;display:flex;align-items:center}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-select .el-input{width:128px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button:disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat;background-size:16px;background-color:var(--el-pagination-bg-color);cursor:pointer;margin:0;color:var(--el-pagination-button-color)}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700;width:inherit}.el-pagination .btn-next:focus-visible,.el-pagination .btn-prev:focus-visible{outline:1px solid var(--el-pagination-hover-color);color:var(--el-pagination-hover-color)}.el-pagination .el-pager li.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:var(--el-font-size-extra-small);line-height:var(--el-pagination-line-height-extra-small);height:var(--el-pagination-height-extra-small);min-width:24px}.el-pagination--small .arrow.is-disabled{visibility:hidden}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:var(--el-pagination-line-height-extra-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:var(--el-pagination-height-extra-small);line-height:var(--el-pagination-line-height-extra-small);font-size:var(--el-font-size-extra-small)}.el-pagination--small .el-pagination__editor{height:var(--el-pagination-line-height-extra-small)}.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:var(--el-pagination-height-extra-small)}.el-pagination--small .el-input--small,.el-pagination--small .el-input__inner{height:var(--el-pagination-height-extra-small)!important;line-height:var(--el-pagination-line-height-extra-small)}.el-pagination--small .el-input__suffix,.el-pagination--small .el-input__suffix .el-input__suffix-inner,.el-pagination--small .el-input__suffix .el-input__suffix-inner i.el-select__caret{line-height:var(--el-pagination-line-height-extra-small)}.el-pagination--small .el-select .el-input{width:100px}.el-pagination__sizes{margin:0 16px 0 0;font-weight:400;color:var(--el-text-color-regular)}.el-pagination__sizes+button.btn-prev[type=button]{margin-left:0}.el-pagination__sizes+.el-pager .number:first-child{margin-left:0}.el-pagination__sizes+.el-pager .number:last-child{margin-right:0}.el-pagination__total{margin-right:16px;font-weight:400;color:var(--el-text-color-regular)}.el-pagination__total+button.btn-prev[type=button]{margin-left:0}.el-pagination__total+.el-pager .number:first-child{margin-left:0}.el-pagination__total+.el-pager .number:last-child{margin-right:0}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{margin-left:16px;font-weight:400;color:var(--el-text-color-regular)}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__rightwrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.el-pagination__editor{line-height:18px;margin:0 8px;height:var(--el-pagination-button-height);min-width:56px;text-align:center;box-sizing:border-box;border-radius:var(--el-pagination-border-radius)}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:var(--el-pagination-button-height)}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 4px;background-color:var(--el-pagination-button-bg-color);color:var(--el-text-color-regular);min-width:32px;border-radius:2px}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .el-pager li.is-disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-next.is-first,.el-pagination.is-background .btn-prev.is-first,.el-pagination.is-background .el-pager li.is-first{margin-left:0}.el-pagination.is-background .btn-next.is-last,.el-pagination.is-background .btn-prev.is-last,.el-pagination.is-background .el-pager li.is-last{margin-right:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev:disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-next:hover:not([disabled]),.el-pagination.is-background .btn-prev:hover:not([disabled]){color:var(--el-pagination-hover-color)}.el-pagination.is-background .el-pager li:not(.is-disabled):hover{color:var(--el-pagination-hover-color)}.el-pagination.is-background .el-pager li:not(.is-disabled).is-active{background-color:var(--el-color-primary);color:var(--el-color-white);font-weight:700}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{min-width:24px}.el-pagination.is-background .el-pagination__sizes.is-last{margin-left:16px}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0;padding:0;margin:0;display:flex;align-items:center}.el-pager li{padding:0 4px;background:var(--el-pagination-bg-color);display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);box-sizing:border-box;cursor:pointer;text-align:center;margin:0 1px}.el-pager li.btn-quickprev:hover,.el-pager li.btn-quicknext:hover{cursor:pointer}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:32px;color:var(--el-pagination-button-color)}.el-pager li.btn-quicknext.is-disabled,.el-pager li.btn-quickprev.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-pager li.btn-quicknext svg,.el-pager li.btn-quickprev svg{pointer-events:none}.el-pager li.btn-quicknext:focus-visible,.el-pager li.btn-quickprev:focus-visible{outline:1px solid var(--el-pagination-hover-color);color:var(--el-pagination-hover-color)}.el-pager li.is-active+li{border-left:0}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color)}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default}.el-pager li.is-active.is-disabled{font-weight:700;color:var(--el-text-color-secondary)}.el-pager+button.btn-next[type=button]{margin-right:0}.el-radio-group{display:inline-flex;align-items:center;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary)}.el-radio{color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;outline:0;font-size:var(--el-font-size-base);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:32px;height:32px}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{padding:0 11px 0 7px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);position:relative;cursor:pointer;display:inline-block;box-sizing:border-box}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{width:4px;height:4px;border-radius:var(--el-radio-input-border-radius);background-color:var(--el-color-white);content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary)}.el-checkbox{color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px;height:32px}.el-checkbox.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:0 11px 0 7px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color)}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:var(--el-checkbox-checked-icon-color);height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid var(--el-checkbox-checked-icon-color);border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in 50ms;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:8px;line-height:1;font-size:var(--el-checkbox-font-size)}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}.itemradius[data-v-0d71713d]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 5px;min-width:1200px}.portforwardLogs[data-v-0d71713d]{background-color:#000;height:fit-content;width:100%;color:#fff;text-align:left;padding-left:3px;border:10px;overflow-y:auto;overflow-x:auto;white-space:pre-wrap}.dialogRadius[data-v-0d71713d]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:456;padding-top:9px;padding-left:9px;padding-right:9px}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder)}.el-link{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color)}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid var(--el-link-hover-text-color)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default:after{border-color:var(--el-link-hover-text-color)}.el-link__inner{display:inline-flex;justify-content:center;align-items:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--primary:after{border-color:var(--el-link-text-color)}.el-link.el-link--primary.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--success:after{border-color:var(--el-link-text-color)}.el-link.el-link--success.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--warning:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--danger:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--error:after{border-color:var(--el-link-text-color)}.el-link.el-link--error.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.el-link--info:after{border-color:var(--el-link-text-color)}.el-link.el-link--info.is-underline:hover:after{border-color:var(--el-link-text-color)}.InfoDivRadius[data-v-ff97a846]{border:2px solid var(--el-border-color);border-radius:10px;margin:50px auto auto;width:495px;height:fit-content;padding:auto;padding-top:20px;padding-bottom:30px}.line[data-v-ff97a846]{margin-bottom:5px}#status{height:95vh}.status{font-size:15px}#proxys_status{font-size:10px;list-style:none;padding:0;text-align:left;margin:0}.logtermv2{background-color:#000;height:95vh;width:100%;color:#fff;text-align:left;padding-left:3px;border:10px;overflow-y:auto;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.logterm::-webkit-scrollbar{width:5px}.logterm::-webkit-scrollbar-thumb{background-color:silver;border-radius:10%}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);list-style:none;position:relative;margin:0;padding-left:0;background-color:var(--el-menu-bg-color);box-sizing:border-box}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu--horizontal{display:flex;flex-wrap:nowrap;border-bottom:solid 1px var(--el-menu-border-color);border-right:none}.el-menu--horizontal>.el-menu-item{display:inline-flex;justify-content:center;align-items:center;height:100%;margin:0;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover{background-color:#fff}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:0}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-bg-color-overlay)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);display:flex;align-items:center;height:var(--el-menu-horizontal-sub-item-height);padding:0 10px;color:var(--el-menu-text-color)}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:var(--el-menu-hover-text-color);background-color:var(--el-menu-hover-bg-color)}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;vertical-align:middle;width:var(--el-menu-icon-width);text-align:center}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu{position:relative}.el-menu--collapse .el-sub-menu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-menu .el-icon{flex-shrink:0}.el-menu-item{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:0}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{position:absolute;left:0;top:0;height:100%;width:100%;display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--el-menu-base-level-padding)}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:0}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height);min-width:200px}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{position:absolute;top:50%;right:var(--el-menu-base-level-padding);margin-top:-7px;transition:transform var(--el-transition-duration);font-size:12px;margin-right:0;width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);line-height:normal;font-size:12px;color:var(--el-text-color-secondary)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.menu{background-color:#d9ecff}.flex-grow{flex-grow:1}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px}.el-upload{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:var(--el-text-color-regular);margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0}.el-upload--picture-card{--el-upload-picture-card-size:148px;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;display:inline-flex;justify-content:center;align-items:center}.el-upload--picture-card i{font-size:28px;color:var(--el-text-color-secondary)}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{font-size:67px;color:var(--el-text-color-placeholder);margin-bottom:16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:var(--el-text-color-regular);margin-bottom:5px;position:relative;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{display:none;position:absolute;right:5px;top:50%;cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{display:none;position:absolute;top:1px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:var(--el-color-primary);font-style:normal}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;justify-content:center;flex-direction:column;width:calc(100% - 30px);margin-left:4px}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list.is-disabled .el-upload-list__item-status-label,.el-upload-list.is-disabled .el-upload-list__item:hover{display:block}.el-upload-list__item-name{color:var(--el-text-color-regular);display:inline-flex;text-align:center;align-items:center;padding:0 4px;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base)}.el-upload-list__item-name .el-icon{margin-right:6px;color:var(--el-text-color-secondary)}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none;height:100%;justify-content:center;align-items:center;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:var(--el-text-color-regular);display:none}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;padding:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.el-upload-list--picture-card .el-upload-list__item-status-label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;display:inline-flex;justify-content:center;align-items:center;color:#fff;opacity:0;font-size:20px;background-color:var(--el-overlay-color-lighter);transition:opacity var(--el-transition-duration)}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:1rem}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;margin-top:10px;padding:10px;display:flex;align-items:center}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{display:inline-flex;justify-content:center;align-items:center;width:70px;height:70px;-o-object-fit:contain;object-fit:contain;position:relative;z-index:1;background-color:var(--el-color-white)}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-cover__label i{font-size:12px;margin-top:11px;transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:var(--el-overlay-color-light);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:var(--el-text-color-primary)}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1;display:flex;align-items:center}.el-progress__text{font-size:14px;color:var(--el-text-color-regular);margin-left:5px;min-width:50px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{flex-grow:1;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:var(--el-border-color-lighter);overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:var(--el-color-primary);text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{transform:translateZ(0);-webkit-animation:indeterminate 3s infinite;animation:indeterminate 3s infinite}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@-webkit-keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}.AdminListenDivRadius[data-v-80650a0a]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:456;padding-top:9px;padding-left:9px;padding-right:9px}.SetForm[data-v-80650a0a]{margin-top:15px;margin-left:20px}.formradius[data-v-80650a0a]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}#adminListen[data-v-80650a0a]{width:360px}#adminAccount[data-v-80650a0a],#adminPassword[data-v-80650a0a]{width:30vw;max-width:360px;min-width:300px}#proxyCountLimit[data-v-80650a0a],#globalMaxConnections[data-v-80650a0a]{width:360px}.inline-block[data-v-80650a0a]{display:inline-block;margin-right:10px}.margin-change[data-v-80650a0a]{display:inline-block;margin-left:10px}.formradius[data-v-ee7bc046],.formradius[data-v-52b01d33]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0, 0, 0, .15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0, 0, 0, .15)}.el-table{position:relative;overflow:hidden;box-sizing:border-box;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:100%;max-width:100%;background-color:var(--el-table-bg-color);font-size:14px;color:var(--el-table-text-color)}.el-table__inner-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.el-table__inner-wrapper:before{left:0;bottom:0;width:100%;height:1px}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{position:-webkit-sticky;position:sticky;left:0;min-height:60px;text-align:center;width:100%;display:flex;justify-content:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:var(--el-text-color-secondary)}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table__expand-icon{position:relative;cursor:pointer;color:var(--el-text-color-regular);font-size:12px;transition:transform var(--el-transition-duration-fast) ease-in-out;height:20px}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table thead{color:var(--el-table-header-text-color);font-weight:500}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{padding:8px 0;min-width:0;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left;z-index:1}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding:0 12px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table__footer-wrapper{border-top:var(--el-table-border)}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{content:"";position:absolute;background-color:var(--el-table-border-color);z-index:3}.el-table--border .el-table__inner-wrapper:after{left:0;top:0;width:100%;height:1px}.el-table--border:before{top:-1px;left:0;width:1px;height:100%}.el-table--border:after{top:-1px;right:0;width:1px;height:100%}.el-table--border .el-table__inner-wrapper{border-right:none;border-bottom:none}.el-table--border .el-table__footer-wrapper{position:relative;flex-shrink:0}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:var(--el-bg-color)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{content:"";position:absolute;top:0;width:10px;bottom:-1px;overflow-x:hidden;overflow-y:hidden;box-shadow:none;touch-action:none;pointer-events:none}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px;box-shadow:none}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:#fff;right:0}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{display:inline-flex;align-items:center;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{overflow:hidden;position:relative;flex:1}.el-table__body-wrapper .el-scrollbar__bar{z-index:2}.el-table .caret-wrapper{display:inline-flex;flex-direction:column;align-items:center;height:14px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:solid 5px transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:var(--el-table-border);z-index:10}.el-table__column-filter-trigger{display:inline-block;cursor:pointer}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{top:0;left:0;width:1px;height:100%;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table__border-bottom-patch{left:0;height:1px;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table__border-right-patch{top:0;height:100%;width:1px;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:12px;line-height:12px;height:12px;text-align:center;margin-right:8px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);border-radius:2px;background-color:#fff;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:var(--el-font-size-base)}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:flex;align-items:center;margin-right:5px;margin-bottom:12px;margin-left:5px;height:unset}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.formradius[data-v-d9c87ebe],.formradius[data-v-4c99c1a8]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.itemradius[data-v-9ec9996c]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 5px;min-width:1200px}.fromitemDivRadius[data-v-9ec9996c]{border:5px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:530px;padding-left:9px;padding-right:9px}.fromitemChildDivRadius[data-v-9ec9996c]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:495px;padding-top:9px;padding-left:9px;padding-right:9px}.affix-container[data-v-9ec9996c]{text-align:center;border-radius:4px;width:3vw;background:var(--el-color-primary-light-9)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{display:flex;align-items:center;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);font-weight:500;transition:border-bottom-color var(--el-transition-duration);outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);overflow:hidden;box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item__content{padding-bottom:25px;font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);line-height:1.7692307692}.el-collapse-item:last-child{margin-bottom:-1px}.ReverseProxyPageRadius[data-v-14277c40]{height:90vh;width:100%;max-width:1600px;border:1px solid var(--el-border-color);border-radius:0;margin:20px}.affix-container[data-v-14277c40]{text-align:center;border-radius:4px;width:3vw;background:var(--el-color-primary-light-9)}.fromitemDivRadius[data-v-14277c40]{border:5px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:530px;padding-left:9px;padding-right:9px}.fromitemChildDivRadius[data-v-14277c40]{border:4px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:495px;padding-top:9px;padding-left:9px;padding-right:9px}.fromitemChildSafeDivRadius[data-v-14277c40]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:465px;padding-top:9px;padding-left:9px;padding-right:9px}.formradius[data-v-14277c40]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.itemradius[data-v-14277c40]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 10px;min-width:1350px}.reverseProxyLogs[data-v-14277c40]{background-color:#000;height:fit-content;width:100%;color:#fff;text-align:left;padding-left:3px;border:10px;overflow-y:auto;overflow-x:auto;white-space:pre-wrap}.SetForm[data-v-53d1c3c2]{margin-top:15px;margin-left:20px}.formradius[data-v-53d1c3c2]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}#adminListen[data-v-53d1c3c2]{width:360px}#adminAccount[data-v-53d1c3c2],#adminPassword[data-v-53d1c3c2]{width:30vw;max-width:360px;min-width:300px}#proxyCountLimit[data-v-53d1c3c2],#globalMaxConnections[data-v-53d1c3c2]{width:360px}.formradius[data-v-461444bc]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.itemradius[data-v-461444bc]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 25px;min-width:1350px}.affix-container[data-v-461444bc]{text-align:center;border-radius:4px;width:3vw;background:var(--el-color-primary-light-9)}#pageContent[data-v-90c7e60e]{margin:0;height:95vh;overflow:hidden;padding-left:1px;padding-right:0;width:100%}body[data-v-90c7e60e]{margin:0;width:100%}#header[data-v-90c7e60e]{background-color:#0d8bbb;height:fit-content;width:100%;padding:0}.title[data-v-90c7e60e]{float:left;text-align:left;margin-left:10%;font-size:25px}.menu[data-v-90c7e60e]{float:left;height:30px;width:100vw}.version[data-v-90c7e60e]{float:right}.title[data-v-90c7e60e],.version[data-v-90c7e60e]{width:100%;color:#f0f8ff;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\5fae\8f6f\96c5\9ed1,Arial,sans-serif}.common-layout .el-header,.common-layout .el-footer,.common-layout .el-main,.common-layout .el-aside{display:flex;justify-content:center;align-items:center}.common-layout .el-header,.common-layout .el-footer{background-color:var(--el-color-primary-light-7);color:var(--el-text-color-primary);text-align:center}.common-layout .el-aside{background-color:var(--el-color-primary-light-8);color:var(--el-text-color-primary);text-align:center}.common-layout .el-main{background-color:var(--el-color-primary-light-9);color:var(--el-text-color-primary);text-align:center;height:150px}.PageRadius{height:90vh;width:100%;max-width:1600px;border:1px solid var(--el-border-color);border-radius:0;margin:20px}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size, 16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular)}.el-notification{display:flex;width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);position:fixed;background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:anywhere;overflow:hidden;z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right)}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0;color:var(--el-notification-content-color);text-align:justify}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size)}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:15px 19px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary)}.el-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);position:fixed;left:50%;top:20px;transform:translate(-50%);background-color:var(--el-message-bg-color);transition:opacity var(--el-transition-duration),transform .4s,top .4s;padding:var(--el-message-padding);display:flex;align-items:center}.el-message.is-center{justify-content:center}.el-message.is-closable .el-message__content{padding-right:31px}.el-message p{margin:0}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message__icon{margin-right:10px}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{position:absolute;top:50%;right:19px;transform:translateY(-50%);cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{-webkit-animation:v-modal-in var(--el-transition-duration-fast) ease;animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{-webkit-animation:v-modal-out var(--el-transition-duration-fast) ease forwards;animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:15px}.el-message-box{display:inline-block;max-width:var(--el-messagebox-width);width:100%;padding-bottom:10px;vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);border:1px solid var(--el-border-color-lighter);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-box-shadow-light);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box:focus{outline:0!important}.el-overlay.is-message-box .el-overlay-message-box{text-align:center;position:fixed;top:0;right:0;bottom:0;left:0;padding:16px;overflow:auto}.el-overlay.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-message-box__header{position:relative;padding:var(--el-messagebox-padding-primary);padding-bottom:10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:var(--el-messagebox-font-size);line-height:1;color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{position:absolute;top:var(--el-messagebox-padding-primary);right:var(--el-messagebox-padding-primary);padding:0;border:none;outline:0;background:0 0;font-size:var(--el-message-close-size,16px);cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{padding:10px var(--el-messagebox-padding-primary);color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__input div.invalid>input{border-color:var(--el-color-error)}.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{position:absolute;top:50%;transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status.el-icon{position:absolute}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px;word-break:break-word}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{flex-direction:row-reverse}.el-message-box--center .el-message-box__title{position:relative;display:flex;align-items:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns{justify-content:center}.el-message-box--center .el-message-box__content{padding-left:calc(var(--el-messagebox-padding-primary) + 12px);padding-right:calc(var(--el-messagebox-padding-primary) + 12px);text-align:center}.fade-in-linear-enter-active .el-overlay-message-box{-webkit-animation:msgbox-fade-in var(--el-transition-duration);animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@-webkit-keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}} ================================================ FILE: web/adminviews/dist/assets/index.e5c8aec2.js ================================================ var U6=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Ufe=U6((vn,hn)=>{const W6=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))o(l);new MutationObserver(l=>{for(const a of l)if(a.type==="childList")for(const r of a.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&o(r)}).observe(document,{childList:!0,subtree:!0});function n(l){const a={};return l.integrity&&(a.integrity=l.integrity),l.referrerpolicy&&(a.referrerPolicy=l.referrerpolicy),l.crossorigin==="use-credentials"?a.credentials="include":l.crossorigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function o(l){if(l.ep)return;l.ep=!0;const a=n(l);fetch(l.href,a)}};W6();function gi(e,t){const n=Object.create(null),o=e.split(",");for(let l=0;l!!n[l.toLowerCase()]:l=>!!n[l]}const q6="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",j6=gi(q6);function $d(e){return!!e||e===""}function nt(e){if(Ye(e)){const t={};for(let n=0;n{if(n){const o=n.split(G6);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function U(e){let t="";if(tt(e))t=e;else if(Ye(e))for(let n=0;nWl(n,t))}const ce=e=>tt(e)?e:e==null?"":Ye(e)||ct(e)&&(e.toString===Sd||!Je(e.toString))?JSON.stringify(e,Bd,2):String(e),Bd=(e,t)=>t&&t.__v_isRef?Bd(e,t.value):Nl(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,l])=>(n[`${o} =>`]=l,n),{})}:gu(t)?{[`Set(${t.size})`]:[...t.values()]}:ct(t)&&!Ye(t)&&!kd(t)?String(t):t,bt={},Rl=[],vt=()=>{},J6=()=>!1,Q6=/^on[^a-z]/,mu=e=>Q6.test(e),bi=e=>e.startsWith("onUpdate:"),Ht=Object.assign,yi=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Z6=Object.prototype.hasOwnProperty,st=(e,t)=>Z6.call(e,t),Ye=Array.isArray,Nl=e=>da(e)==="[object Map]",gu=e=>da(e)==="[object Set]",N2=e=>da(e)==="[object Date]",Je=e=>typeof e=="function",tt=e=>typeof e=="string",Na=e=>typeof e=="symbol",ct=e=>e!==null&&typeof e=="object",Zr=e=>ct(e)&&Je(e.then)&&Je(e.catch),Sd=Object.prototype.toString,da=e=>Sd.call(e),Lr=e=>da(e).slice(8,-1),kd=e=>da(e)==="[object Object]",wi=e=>tt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,zr=gi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bu=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ep=/-(\w)/g,xn=bu(e=>e.replace(ep,(t,n)=>n?n.toUpperCase():"")),tp=/\B([A-Z])/g,el=bu(e=>e.replace(tp,"-$1").toLowerCase()),yu=bu(e=>e.charAt(0).toUpperCase()+e.slice(1)),Tr=bu(e=>e?`on${yu(e)}`:""),Oa=(e,t)=>!Object.is(e,t),Mr=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},tu=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let O2;const np=()=>O2||(O2=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let fn;class op{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&fn&&(this.parent=fn,this.index=(fn.scopes||(fn.scopes=[])).push(this)-1)}run(t){if(this.active){const n=fn;try{return fn=this,t()}finally{fn=n}}}on(){fn=this}off(){fn=this.parent}stop(t){if(this.active){let n,o;for(n=0,o=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Ld=e=>(e.w&Xo)>0,zd=e=>(e.n&Xo)>0,rp=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let o=0;o{(i==="length"||i>=o)&&u.push(s)});else switch(n!==void 0&&u.push(r.get(n)),t){case"add":Ye(e)?wi(n)&&u.push(r.get("length")):(u.push(r.get(ml)),Nl(e)&&u.push(r.get($s)));break;case"delete":Ye(e)||(u.push(r.get(ml)),Nl(e)&&u.push(r.get($s)));break;case"set":Nl(e)&&u.push(r.get(ml));break}if(u.length===1)u[0]&&Ds(u[0]);else{const s=[];for(const i of u)i&&s.push(...i);Ds(Ci(s))}}function Ds(e,t){const n=Ye(e)?e:[...e];for(const o of n)o.computed&&W2(o);for(const o of n)o.computed||W2(o)}function W2(e,t){(e!==Vn||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const sp=gi("__proto__,__v_isRef,__isVue"),Vd=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Na)),ip=Ai(),cp=Ai(!1,!0),dp=Ai(!0),q2=fp();function fp(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const o=it(this);for(let a=0,r=this.length;a{e[t]=function(...n){Al();const o=it(this)[t].apply(this,n);return Fl(),o}}),e}function Ai(e=!1,t=!1){return function(o,l,a){if(l==="__v_isReactive")return!e;if(l==="__v_isReadonly")return e;if(l==="__v_isShallow")return t;if(l==="__v_raw"&&a===(e?t?Dp:Od:t?Nd:Rd).get(o))return o;const r=Ye(o);if(!e&&r&&st(q2,l))return Reflect.get(q2,l,a);const u=Reflect.get(o,l,a);return(Na(l)?Vd.has(l):sp(l))||(e||_n(o,"get",l),t)?u:gt(u)?r&&wi(l)?u:u.value:ct(u)?e?$i(u):It(u):u}}const pp=Hd(),vp=Hd(!0);function Hd(e=!1){return function(n,o,l,a){let r=n[o];if(ql(r)&>(r)&&!gt(l))return!1;if(!e&&(!nu(l)&&!ql(l)&&(r=it(r),l=it(l)),!Ye(n)&>(r)&&!gt(l)))return r.value=l,!0;const u=Ye(n)&&wi(o)?Number(o)e,wu=e=>Reflect.getPrototypeOf(e);function mr(e,t,n=!1,o=!1){e=e.__v_raw;const l=it(e),a=it(t);n||(t!==a&&_n(l,"get",t),_n(l,"get",a));const{has:r}=wu(l),u=o?Fi:n?Bi:Ua;if(r.call(l,t))return u(e.get(t));if(r.call(l,a))return u(e.get(a));e!==l&&e.get(t)}function gr(e,t=!1){const n=this.__v_raw,o=it(n),l=it(e);return t||(e!==l&&_n(o,"has",e),_n(o,"has",l)),e===l?n.has(e):n.has(e)||n.has(l)}function br(e,t=!1){return e=e.__v_raw,!t&&_n(it(e),"iterate",ml),Reflect.get(e,"size",e)}function j2(e){e=it(e);const t=it(this);return wu(t).has.call(t,e)||(t.add(e),Co(t,"add",e,e)),this}function K2(e,t){t=it(t);const n=it(this),{has:o,get:l}=wu(n);let a=o.call(n,e);a||(e=it(e),a=o.call(n,e));const r=l.call(n,e);return n.set(e,t),a?Oa(t,r)&&Co(n,"set",e,t):Co(n,"add",e,t),this}function G2(e){const t=it(this),{has:n,get:o}=wu(t);let l=n.call(t,e);l||(e=it(e),l=n.call(t,e)),o&&o.call(t,e);const a=t.delete(e);return l&&Co(t,"delete",e,void 0),a}function Y2(){const e=it(this),t=e.size!==0,n=e.clear();return t&&Co(e,"clear",void 0,void 0),n}function yr(e,t){return function(o,l){const a=this,r=a.__v_raw,u=it(r),s=t?Fi:e?Bi:Ua;return!e&&_n(u,"iterate",ml),r.forEach((i,c)=>o.call(l,s(i),s(c),a))}}function wr(e,t,n){return function(...o){const l=this.__v_raw,a=it(l),r=Nl(a),u=e==="entries"||e===Symbol.iterator&&r,s=e==="keys"&&r,i=l[e](...o),c=n?Fi:t?Bi:Ua;return!t&&_n(a,"iterate",s?$s:ml),{next(){const{value:m,done:h}=i.next();return h?{value:m,done:h}:{value:u?[c(m[0]),c(m[1])]:c(m),done:h}},[Symbol.iterator](){return this}}}}function Mo(e){return function(...t){return e==="delete"?!1:this}}function yp(){const e={get(a){return mr(this,a)},get size(){return br(this)},has:gr,add:j2,set:K2,delete:G2,clear:Y2,forEach:yr(!1,!1)},t={get(a){return mr(this,a,!1,!0)},get size(){return br(this)},has:gr,add:j2,set:K2,delete:G2,clear:Y2,forEach:yr(!1,!0)},n={get(a){return mr(this,a,!0)},get size(){return br(this,!0)},has(a){return gr.call(this,a,!0)},add:Mo("add"),set:Mo("set"),delete:Mo("delete"),clear:Mo("clear"),forEach:yr(!0,!1)},o={get(a){return mr(this,a,!0,!0)},get size(){return br(this,!0)},has(a){return gr.call(this,a,!0)},add:Mo("add"),set:Mo("set"),delete:Mo("delete"),clear:Mo("clear"),forEach:yr(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(a=>{e[a]=wr(a,!1,!1),n[a]=wr(a,!0,!1),t[a]=wr(a,!1,!0),o[a]=wr(a,!0,!0)}),[e,n,t,o]}const[wp,Cp,Ep,Ap]=yp();function xi(e,t){const n=t?e?Ap:Ep:e?Cp:wp;return(o,l,a)=>l==="__v_isReactive"?!e:l==="__v_isReadonly"?e:l==="__v_raw"?o:Reflect.get(st(n,l)&&l in o?n:o,l,a)}const Fp={get:xi(!1,!1)},xp={get:xi(!1,!0)},$p={get:xi(!0,!1)},Rd=new WeakMap,Nd=new WeakMap,Od=new WeakMap,Dp=new WeakMap;function Bp(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Sp(e){return e.__v_skip||!Object.isExtensible(e)?0:Bp(Lr(e))}function It(e){return ql(e)?e:Di(e,!1,Id,Fp,Rd)}function Ud(e){return Di(e,!1,bp,xp,Nd)}function $i(e){return Di(e,!0,gp,$p,Od)}function Di(e,t,n,o,l){if(!ct(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const a=l.get(e);if(a)return a;const r=Sp(e);if(r===0)return e;const u=new Proxy(e,r===2?o:n);return l.set(e,u),u}function Ol(e){return ql(e)?Ol(e.__v_raw):!!(e&&e.__v_isReactive)}function ql(e){return!!(e&&e.__v_isReadonly)}function nu(e){return!!(e&&e.__v_isShallow)}function Wd(e){return Ol(e)||ql(e)}function it(e){const t=e&&e.__v_raw;return t?it(t):e}function qd(e){return eu(e,"__v_skip",!0),e}const Ua=e=>ct(e)?It(e):e,Bi=e=>ct(e)?$i(e):e;function jd(e){Yo&&Vn&&(e=it(e),Md(e.dep||(e.dep=Ci())))}function Si(e,t){e=it(e),e.dep&&Ds(e.dep)}function gt(e){return!!(e&&e.__v_isRef===!0)}function z(e){return Kd(e,!1)}function In(e){return Kd(e,!0)}function Kd(e,t){return gt(e)?e:new kp(e,t)}class kp{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:it(t),this._value=n?t:Ua(t)}get value(){return jd(this),this._value}set value(t){const n=this.__v_isShallow||nu(t)||ql(t);t=n?t:it(t),Oa(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Ua(t),Si(this))}}function Ca(e){Si(e)}function _(e){return gt(e)?e.value:e}const Pp={get:(e,t,n)=>_(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const l=e[t];return gt(l)&&!gt(n)?(l.value=n,!0):Reflect.set(e,t,n,o)}};function Gd(e){return Ol(e)?e:new Proxy(e,Pp)}function On(e){const t=Ye(e)?new Array(e.length):{};for(const n in e)t[n]=$n(e,n);return t}class Lp{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function $n(e,t,n){const o=e[t];return gt(o)?o:new Lp(e,t,n)}var Yd;class zp{constructor(t,n,o,l){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[Yd]=!1,this._dirty=!0,this.effect=new Ei(t,()=>{this._dirty||(this._dirty=!0,Si(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!l,this.__v_isReadonly=o}get value(){const t=it(this);return jd(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}Yd="__v_isReadonly";function Xd(e,t,n=!1){let o,l;const a=Je(e);return a?(o=e,l=vt):(o=e.get,l=e.set),new zp(o,l,a||!l,n)}const ka=[];function Tp(e,...t){Al();const n=ka.length?ka[ka.length-1].component:null,o=n&&n.appContext.config.warnHandler,l=Mp();if(o)bo(o,n,11,[e+t.join(""),n&&n.proxy,l.map(({vnode:a})=>`at <${F1(n,a.type)}>`).join(` `),l]);else{const a=[`[Vue warn]: ${e}`,...t];l.length&&a.push(` `,...Vp(l)),console.warn(...a)}Fl()}function Mp(){let e=ka[ka.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function Vp(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` `],...Hp(n))}),t}function Hp({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,l=` at <${F1(e.component,e.type,o)}`,a=">"+n;return e.props?[l,...Ip(e.props),a]:[l+a]}function Ip(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...Jd(o,e[o]))}),n.length>3&&t.push(" ..."),t}function Jd(e,t,n){return tt(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:gt(t)?(t=Jd(e,it(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):Je(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=it(t),n?t:[`${e}=`,t])}function bo(e,t,n,o){let l;try{l=o?e(...o):e()}catch(a){Cu(a,t,n)}return l}function En(e,t,n,o){if(Je(e)){const a=bo(e,t,n,o);return a&&Zr(a)&&a.catch(r=>{Cu(r,t,n)}),a}const l=[];for(let a=0;a>>1;qa(qt[o])Qn&&qt.splice(t,1)}function Up(e){Ye(e)?Ul.push(...e):(!ho||!ho.includes(e,e.allowRecurse?sl+1:sl))&&Ul.push(e),Zd()}function X2(e,t=Wa?Qn+1:0){for(;tqa(n)-qa(o)),sl=0;sle.id==null?1/0:e.id,Wp=(e,t)=>{const n=qa(e)-qa(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function t1(e){Bs=!1,Wa=!0,qt.sort(Wp);const t=vt;try{for(Qn=0;Qnv.trim())),m&&(l=n.map(tu))}let u,s=o[u=Tr(t)]||o[u=Tr(xn(t))];!s&&a&&(s=o[u=Tr(el(t))]),s&&En(s,e,6,l);const i=o[u+"Once"];if(i){if(!e.emitted)e.emitted={};else if(e.emitted[u])return;e.emitted[u]=!0,En(i,e,6,l)}}function n1(e,t,n=!1){const o=t.emitsCache,l=o.get(e);if(l!==void 0)return l;const a=e.emits;let r={},u=!1;if(!Je(e)){const s=i=>{const c=n1(i,t,!0);c&&(u=!0,Ht(r,c))};!n&&t.mixins.length&&t.mixins.forEach(s),e.extends&&s(e.extends),e.mixins&&e.mixins.forEach(s)}return!a&&!u?(ct(e)&&o.set(e,null),null):(Ye(a)?a.forEach(s=>r[s]=null):Ht(r,a),ct(e)&&o.set(e,r),r)}function Eu(e,t){return!e||!mu(t)?!1:(t=t.slice(2).replace(/Once$/,""),st(e,t[0].toLowerCase()+t.slice(1))||st(e,el(t))||st(e,t))}let jt=null,Au=null;function ou(e){const t=jt;return jt=e,Au=e&&e.type.__scopeId||null,t}function ar(e){Au=e}function rr(){Au=null}function p(e,t=jt,n){if(!t||e._n)return e;const o=(...l)=>{o._d&&sc(-1);const a=ou(t),r=e(...l);return ou(a),o._d&&sc(1),r};return o._n=!0,o._c=!0,o._d=!0,o}function es(e){const{type:t,vnode:n,proxy:o,withProxy:l,props:a,propsOptions:[r],slots:u,attrs:s,emit:i,render:c,renderCache:m,data:h,setupState:v,ctx:g,inheritAttrs:y}=e;let A,w;const F=ou(e);try{if(n.shapeFlag&4){const $=l||o;A=Jn(c.call($,$,m,a,v,h,g)),w=s}else{const $=t;A=Jn($.length>1?$(a,{attrs:s,slots:u,emit:i}):$(a,null)),w=t.props?s:jp(s)}}catch($){za.length=0,Cu($,e,1),A=d(on)}let E=A;if(w&&y!==!1){const $=Object.keys(w),{shapeFlag:T}=E;$.length&&T&7&&(r&&$.some(bi)&&(w=Kp(w,r)),E=Eo(E,w))}return n.dirs&&(E=Eo(E),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition&&(E.transition=n.transition),A=E,ou(F),A}const jp=e=>{let t;for(const n in e)(n==="class"||n==="style"||mu(n))&&((t||(t={}))[n]=e[n]);return t},Kp=(e,t)=>{const n={};for(const o in e)(!bi(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function Gp(e,t,n){const{props:o,children:l,component:a}=e,{props:r,children:u,patchFlag:s}=t,i=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&s>=0){if(s&1024)return!0;if(s&16)return o?J2(o,r,i):!!r;if(s&8){const c=t.dynamicProps;for(let m=0;me.__isSuspense;function Jp(e,t){t&&t.pendingBranch?Ye(e)?t.effects.push(...e):t.effects.push(e):Up(e)}function $t(e,t){if(Vt){let n=Vt.provides;const o=Vt.parent&&Vt.parent.provides;o===n&&(n=Vt.provides=Object.create(o)),n[e]=t}}function Ze(e,t,n=!1){const o=Vt||jt;if(o){const l=o.parent==null?o.vnode.appContext&&o.vnode.appContext.provides:o.parent.provides;if(l&&e in l)return l[e];if(arguments.length>1)return n&&Je(t)?t.call(o.proxy):t}}function yo(e,t){return Li(e,null,t)}const Q2={};function Ve(e,t,n){return Li(e,t,n)}function Li(e,t,{immediate:n,deep:o,flush:l,onTrack:a,onTrigger:r}=bt){const u=Vt;let s,i=!1,c=!1;if(gt(e)?(s=()=>e.value,i=nu(e)):Ol(e)?(s=()=>e,o=!0):Ye(e)?(c=!0,i=e.some(w=>Ol(w)||nu(w)),s=()=>e.map(w=>{if(gt(w))return w.value;if(Ol(w))return fl(w);if(Je(w))return bo(w,u,2)})):Je(e)?t?s=()=>bo(e,u,2):s=()=>{if(!(u&&u.isUnmounted))return m&&m(),En(e,u,3,[h])}:s=vt,t&&o){const w=s;s=()=>fl(w())}let m,h=w=>{m=A.onStop=()=>{bo(w,u,4)}};if(Ya)return h=vt,t?n&&En(t,u,3,[s(),c?[]:void 0,h]):s(),vt;let v=c?[]:Q2;const g=()=>{if(!!A.active)if(t){const w=A.run();(o||i||(c?w.some((F,E)=>Oa(F,v[E])):Oa(w,v)))&&(m&&m(),En(t,u,3,[w,v===Q2?void 0:v,h]),v=w)}else A.run()};g.allowRecurse=!!t;let y;l==="sync"?y=g:l==="post"?y=()=>nn(g,u&&u.suspense):(g.pre=!0,u&&(g.id=u.uid),y=()=>Pi(g));const A=new Ei(s,y);return t?n?g():v=A.run():l==="post"?nn(A.run.bind(A),u&&u.suspense):A.run(),()=>{A.stop(),u&&u.scope&&yi(u.scope.effects,A)}}function Qp(e,t,n){const o=this.proxy,l=tt(e)?e.includes(".")?o1(o,e):()=>o[e]:e.bind(o,o);let a;Je(t)?a=t:(a=t.handler,n=t);const r=Vt;Kl(this);const u=Li(l,a.bind(o),n);return r?Kl(r):gl(),u}function o1(e,t){const n=t.split(".");return()=>{let o=e;for(let l=0;l{fl(n,t)});else if(kd(e))for(const n in e)fl(e[n],t);return e}function l1(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return at(()=>{e.isMounted=!0}),Rt(()=>{e.isUnmounting=!0}),e}const Cn=[Function,Array],Zp={name:"BaseTransition",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Cn,onEnter:Cn,onAfterEnter:Cn,onEnterCancelled:Cn,onBeforeLeave:Cn,onLeave:Cn,onAfterLeave:Cn,onLeaveCancelled:Cn,onBeforeAppear:Cn,onAppear:Cn,onAfterAppear:Cn,onAppearCancelled:Cn},setup(e,{slots:t}){const n=ft(),o=l1();let l;return()=>{const a=t.default&&zi(t.default(),!0);if(!a||!a.length)return;let r=a[0];if(a.length>1){for(const y of a)if(y.type!==on){r=y;break}}const u=it(e),{mode:s}=u;if(o.isLeaving)return ts(r);const i=Z2(r);if(!i)return ts(r);const c=ja(i,u,o,n);Ka(i,c);const m=n.subTree,h=m&&Z2(m);let v=!1;const{getTransitionKey:g}=i.type;if(g){const y=g();l===void 0?l=y:y!==l&&(l=y,v=!0)}if(h&&h.type!==on&&(!il(i,h)||v)){const y=ja(h,u,o,n);if(Ka(h,y),s==="out-in")return o.isLeaving=!0,y.afterLeave=()=>{o.isLeaving=!1,n.update()},ts(r);s==="in-out"&&i.type!==on&&(y.delayLeave=(A,w,F)=>{const E=r1(o,h);E[String(h.key)]=h,A._leaveCb=()=>{w(),A._leaveCb=void 0,delete c.delayedLeave},c.delayedLeave=F})}return r}}},a1=Zp;function r1(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 ja(e,t,n,o){const{appear:l,mode:a,persisted:r=!1,onBeforeEnter:u,onEnter:s,onAfterEnter:i,onEnterCancelled:c,onBeforeLeave:m,onLeave:h,onAfterLeave:v,onLeaveCancelled:g,onBeforeAppear:y,onAppear:A,onAfterAppear:w,onAppearCancelled:F}=t,E=String(e.key),$=r1(n,e),T=(H,I)=>{H&&En(H,o,9,I)},B=(H,I)=>{const j=I[1];T(H,I),Ye(H)?H.every(Z=>Z.length<=1)&&j():H.length<=1&&j()},P={mode:a,persisted:r,beforeEnter(H){let I=u;if(!n.isMounted)if(l)I=y||u;else return;H._leaveCb&&H._leaveCb(!0);const j=$[E];j&&il(e,j)&&j.el._leaveCb&&j.el._leaveCb(),T(I,[H])},enter(H){let I=s,j=i,Z=c;if(!n.isMounted)if(l)I=A||s,j=w||i,Z=F||c;else return;let G=!1;const N=H._enterCb=Y=>{G||(G=!0,Y?T(Z,[H]):T(j,[H]),P.delayedLeave&&P.delayedLeave(),H._enterCb=void 0)};I?B(I,[H,N]):N()},leave(H,I){const j=String(e.key);if(H._enterCb&&H._enterCb(!0),n.isUnmounting)return I();T(m,[H]);let Z=!1;const G=H._leaveCb=N=>{Z||(Z=!0,I(),N?T(g,[H]):T(v,[H]),H._leaveCb=void 0,$[j]===e&&delete $[j])};$[j]=e,h?B(h,[H,G]):G()},clone(H){return ja(H,t,n,o)}};return P}function ts(e){if(Fu(e))return e=Eo(e),e.children=null,e}function Z2(e){return Fu(e)?e.children?e.children[0]:void 0:e}function Ka(e,t){e.shapeFlag&6&&e.component?Ka(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 zi(e,t=!1,n){let o=[],l=0;for(let a=0;a1)for(let a=0;a!!e.type.__asyncLoader,Fu=e=>e.type.__isKeepAlive;function e3(e,t){s1(e,"a",t)}function u1(e,t){s1(e,"da",t)}function s1(e,t,n=Vt){const o=e.__wdc||(e.__wdc=()=>{let l=n;for(;l;){if(l.isDeactivated)return;l=l.parent}return e()});if(xu(t,o,n),n){let l=n.parent;for(;l&&l.parent;)Fu(l.parent.vnode)&&t3(o,t,n,l),l=l.parent}}function t3(e,t,n,o){const l=xu(t,e,o,!0);Bo(()=>{yi(o[t],l)},n)}function xu(e,t,n=Vt,o=!1){if(n){const l=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;Al(),Kl(n);const u=En(t,n,e,r);return gl(),Fl(),u});return o?l.unshift(a):l.push(a),a}}const Do=e=>(t,n=Vt)=>(!Ya||e==="sp")&&xu(e,(...o)=>t(...o),n),$u=Do("bm"),at=Do("m"),n3=Do("bu"),xl=Do("u"),Rt=Do("bum"),Bo=Do("um"),o3=Do("sp"),l3=Do("rtg"),a3=Do("rtc");function r3(e,t=Vt){xu("ec",e,t)}function ye(e,t){const n=jt;if(n===null)return e;const o=Bu(n)||n.proxy,l=e.dirs||(e.dirs=[]);for(let a=0;at(r,u,void 0,a&&a[u]));else{const r=Object.keys(e);l=new Array(r.length);for(let u=0,s=r.length;u{const a=o.fn(...l);return a&&(a.key=o.key),a}:o.fn)}return e}function Te(e,t,n={},o,l){if(jt.isCE||jt.parent&&Pa(jt.parent)&&jt.parent.isCE)return d("slot",t==="default"?null:{name:t},o&&o());let a=e[t];a&&a._c&&(a._d=!1),b();const r=a&&c1(a(n)),u=ae(We,{key:n.key||r&&r.key||`_${t}`},r||(o?o():[]),r&&e._===1?64:-2);return!l&&u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),a&&a._c&&(a._d=!0),u}function c1(e){return e.some(t=>mn(t)?!(t.type===on||t.type===We&&!c1(t.children)):!0)?e:null}function s3(e,t){const n={};for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:Tr(o)]=e[o];return n}const Ss=e=>e?w1(e)?Bu(e)||e.proxy:Ss(e.parent):null,lu=Ht(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=>Ss(e.parent),$root:e=>Ss(e.root),$emit:e=>e.emit,$options:e=>Hi(e),$forceUpdate:e=>e.f||(e.f=()=>Pi(e.update)),$nextTick:e=>e.n||(e.n=rt.bind(e.proxy)),$watch:e=>Qp.bind(e)}),i3={get({_:e},t){const{ctx:n,setupState:o,data:l,props:a,accessCache:r,type:u,appContext:s}=e;let i;if(t[0]!=="$"){const v=r[t];if(v!==void 0)switch(v){case 1:return o[t];case 2:return l[t];case 4:return n[t];case 3:return a[t]}else{if(o!==bt&&st(o,t))return r[t]=1,o[t];if(l!==bt&&st(l,t))return r[t]=2,l[t];if((i=e.propsOptions[0])&&st(i,t))return r[t]=3,a[t];if(n!==bt&&st(n,t))return r[t]=4,n[t];ks&&(r[t]=0)}}const c=lu[t];let m,h;if(c)return t==="$attrs"&&_n(e,"get",t),c(e);if((m=u.__cssModules)&&(m=m[t]))return m;if(n!==bt&&st(n,t))return r[t]=4,n[t];if(h=s.config.globalProperties,st(h,t))return h[t]},set({_:e},t,n){const{data:o,setupState:l,ctx:a}=e;return l!==bt&&st(l,t)?(l[t]=n,!0):o!==bt&&st(o,t)?(o[t]=n,!0):st(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(a[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:l,propsOptions:a}},r){let u;return!!n[r]||e!==bt&&st(e,r)||t!==bt&&st(t,r)||(u=a[0])&&st(u,r)||st(o,r)||st(lu,r)||st(l.config.globalProperties,r)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:st(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};let ks=!0;function c3(e){const t=Hi(e),n=e.proxy,o=e.ctx;ks=!1,t.beforeCreate&&tc(t.beforeCreate,e,"bc");const{data:l,computed:a,methods:r,watch:u,provide:s,inject:i,created:c,beforeMount:m,mounted:h,beforeUpdate:v,updated:g,activated:y,deactivated:A,beforeDestroy:w,beforeUnmount:F,destroyed:E,unmounted:$,render:T,renderTracked:B,renderTriggered:P,errorCaptured:H,serverPrefetch:I,expose:j,inheritAttrs:Z,components:G,directives:N,filters:Y}=t;if(i&&d3(i,o,null,e.appContext.config.unwrapInjectedRef),r)for(const Ee in r){const ne=r[Ee];Je(ne)&&(o[Ee]=ne.bind(n))}if(l){const Ee=l.call(n,n);ct(Ee)&&(e.data=It(Ee))}if(ks=!0,a)for(const Ee in a){const ne=a[Ee],ee=Je(ne)?ne.bind(n,n):Je(ne.get)?ne.get.bind(n,n):vt,xe=!Je(ne)&&Je(ne.set)?ne.set.bind(n):vt,$e=R({get:ee,set:xe});Object.defineProperty(o,Ee,{enumerable:!0,configurable:!0,get:()=>$e.value,set:x=>$e.value=x})}if(u)for(const Ee in u)d1(u[Ee],o,n,Ee);if(s){const Ee=Je(s)?s.call(n):s;Reflect.ownKeys(Ee).forEach(ne=>{$t(ne,Ee[ne])})}c&&tc(c,e,"c");function fe(Ee,ne){Ye(ne)?ne.forEach(ee=>Ee(ee.bind(n))):ne&&Ee(ne.bind(n))}if(fe($u,m),fe(at,h),fe(n3,v),fe(xl,g),fe(e3,y),fe(u1,A),fe(r3,H),fe(a3,B),fe(l3,P),fe(Rt,F),fe(Bo,$),fe(o3,I),Ye(j))if(j.length){const Ee=e.exposed||(e.exposed={});j.forEach(ne=>{Object.defineProperty(Ee,ne,{get:()=>n[ne],set:ee=>n[ne]=ee})})}else e.exposed||(e.exposed={});T&&e.render===vt&&(e.render=T),Z!=null&&(e.inheritAttrs=Z),G&&(e.components=G),N&&(e.directives=N)}function d3(e,t,n=vt,o=!1){Ye(e)&&(e=Ps(e));for(const l in e){const a=e[l];let r;ct(a)?"default"in a?r=Ze(a.from||l,a.default,!0):r=Ze(a.from||l):r=Ze(a),gt(r)&&o?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>r.value,set:u=>r.value=u}):t[l]=r}}function tc(e,t,n){En(Ye(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function d1(e,t,n,o){const l=o.includes(".")?o1(n,o):()=>n[o];if(tt(e)){const a=t[e];Je(a)&&Ve(l,a)}else if(Je(e))Ve(l,e.bind(n));else if(ct(e))if(Ye(e))e.forEach(a=>d1(a,t,n,o));else{const a=Je(e.handler)?e.handler.bind(n):t[e.handler];Je(a)&&Ve(l,a,e)}}function Hi(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:l,optionsCache:a,config:{optionMergeStrategies:r}}=e.appContext,u=a.get(t);let s;return u?s=u:!l.length&&!n&&!o?s=t:(s={},l.length&&l.forEach(i=>au(s,i,r,!0)),au(s,t,r)),ct(t)&&a.set(t,s),s}function au(e,t,n,o=!1){const{mixins:l,extends:a}=t;a&&au(e,a,n,!0),l&&l.forEach(r=>au(e,r,n,!0));for(const r in t)if(!(o&&r==="expose")){const u=f3[r]||n&&n[r];e[r]=u?u(e[r],t[r]):t[r]}return e}const f3={data:nc,props:rl,emits:rl,methods:rl,computed:rl,beforeCreate:Xt,created:Xt,beforeMount:Xt,mounted:Xt,beforeUpdate:Xt,updated:Xt,beforeDestroy:Xt,beforeUnmount:Xt,destroyed:Xt,unmounted:Xt,activated:Xt,deactivated:Xt,errorCaptured:Xt,serverPrefetch:Xt,components:rl,directives:rl,watch:v3,provide:nc,inject:p3};function nc(e,t){return t?e?function(){return Ht(Je(e)?e.call(this,this):e,Je(t)?t.call(this,this):t)}:t:e}function p3(e,t){return rl(Ps(e),Ps(t))}function Ps(e){if(Ye(e)){const t={};for(let n=0;n0)&&!(r&16)){if(r&8){const c=e.vnode.dynamicProps;for(let m=0;m{s=!0;const[h,v]=p1(m,t,!0);Ht(r,h),v&&u.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!a&&!s)return ct(e)&&o.set(e,Rl),Rl;if(Ye(a))for(let c=0;c-1,v[1]=y<0||g-1||st(v,"default"))&&u.push(m)}}}const i=[r,u];return ct(e)&&o.set(e,i),i}function oc(e){return e[0]!=="$"}function lc(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function ac(e,t){return lc(e)===lc(t)}function rc(e,t){return Ye(t)?t.findIndex(n=>ac(n,e)):Je(t)&&ac(t,e)?0:-1}const v1=e=>e[0]==="_"||e==="$stable",Ii=e=>Ye(e)?e.map(Jn):[Jn(e)],m3=(e,t,n)=>{if(t._n)return t;const o=p((...l)=>Ii(t(...l)),n);return o._c=!1,o},h1=(e,t,n)=>{const o=e._ctx;for(const l in e){if(v1(l))continue;const a=e[l];if(Je(a))t[l]=m3(l,a,o);else if(a!=null){const r=Ii(a);t[l]=()=>r}}},_1=(e,t)=>{const n=Ii(t);e.slots.default=()=>n},g3=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=it(t),eu(t,"_",n)):h1(t,e.slots={})}else e.slots={},t&&_1(e,t);eu(e.slots,Du,1)},b3=(e,t,n)=>{const{vnode:o,slots:l}=e;let a=!0,r=bt;if(o.shapeFlag&32){const u=t._;u?n&&u===1?a=!1:(Ht(l,t),!n&&u===1&&delete l._):(a=!t.$stable,h1(t,l)),r=t}else t&&(_1(e,t),r={default:1});if(a)for(const u in l)!v1(u)&&!(u in r)&&delete l[u]};function m1(){return{app:null,config:{isNativeTag:J6,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let y3=0;function w3(e,t){return function(o,l=null){Je(o)||(o=Object.assign({},o)),l!=null&&!ct(l)&&(l=null);const a=m1(),r=new Set;let u=!1;const s=a.app={_uid:y3++,_component:o,_props:l,_container:null,_context:a,_instance:null,version:O3,get config(){return a.config},set config(i){},use(i,...c){return r.has(i)||(i&&Je(i.install)?(r.add(i),i.install(s,...c)):Je(i)&&(r.add(i),i(s,...c))),s},mixin(i){return a.mixins.includes(i)||a.mixins.push(i),s},component(i,c){return c?(a.components[i]=c,s):a.components[i]},directive(i,c){return c?(a.directives[i]=c,s):a.directives[i]},mount(i,c,m){if(!u){const h=d(o,l);return h.appContext=a,c&&t?t(h,i):e(h,i,m),u=!0,s._container=i,i.__vue_app__=s,Bu(h.component)||h.component.proxy}},unmount(){u&&(e(null,s._container),delete s._container.__vue_app__)},provide(i,c){return a.provides[i]=c,s}};return s}}function zs(e,t,n,o,l=!1){if(Ye(e)){e.forEach((h,v)=>zs(h,t&&(Ye(t)?t[v]:t),n,o,l));return}if(Pa(o)&&!l)return;const a=o.shapeFlag&4?Bu(o.component)||o.component.proxy:o.el,r=l?null:a,{i:u,r:s}=e,i=t&&t.r,c=u.refs===bt?u.refs={}:u.refs,m=u.setupState;if(i!=null&&i!==s&&(tt(i)?(c[i]=null,st(m,i)&&(m[i]=null)):gt(i)&&(i.value=null)),Je(s))bo(s,u,12,[r,c]);else{const h=tt(s),v=gt(s);if(h||v){const g=()=>{if(e.f){const y=h?c[s]:s.value;l?Ye(y)&&yi(y,a):Ye(y)?y.includes(a)||y.push(a):h?(c[s]=[a],st(m,s)&&(m[s]=c[s])):(s.value=[a],e.k&&(c[e.k]=s.value))}else h?(c[s]=r,st(m,s)&&(m[s]=r)):v&&(s.value=r,e.k&&(c[e.k]=r))};r?(g.id=-1,nn(g,n)):g()}}}const nn=Jp;function C3(e){return E3(e)}function E3(e,t){const n=np();n.__VUE__=!0;const{insert:o,remove:l,patchProp:a,createElement:r,createText:u,createComment:s,setText:i,setElementText:c,parentNode:m,nextSibling:h,setScopeId:v=vt,insertStaticContent:g}=e,y=(L,S,V,O=null,te=null,_e=null,pe=!1,Ce=null,be=!!S.dynamicChildren)=>{if(L===S)return;L&&!il(L,S)&&(O=ve(L),x(L,te,_e,!0),L=null),S.patchFlag===-2&&(be=!1,S.dynamicChildren=null);const{type:re,ref:me,shapeFlag:Re}=S;switch(re){case ur:A(L,S,V,O);break;case on:w(L,S,V,O);break;case Vr:L==null&&F(S,V,O,pe);break;case We:G(L,S,V,O,te,_e,pe,Ce,be);break;default:Re&1?T(L,S,V,O,te,_e,pe,Ce,be):Re&6?N(L,S,V,O,te,_e,pe,Ce,be):(Re&64||Re&128)&&re.process(L,S,V,O,te,_e,pe,Ce,be,Ke)}me!=null&&te&&zs(me,L&&L.ref,_e,S||L,!S)},A=(L,S,V,O)=>{if(L==null)o(S.el=u(S.children),V,O);else{const te=S.el=L.el;S.children!==L.children&&i(te,S.children)}},w=(L,S,V,O)=>{L==null?o(S.el=s(S.children||""),V,O):S.el=L.el},F=(L,S,V,O)=>{[L.el,L.anchor]=g(L.children,S,V,O,L.el,L.anchor)},E=({el:L,anchor:S},V,O)=>{let te;for(;L&&L!==S;)te=h(L),o(L,V,O),L=te;o(S,V,O)},$=({el:L,anchor:S})=>{let V;for(;L&&L!==S;)V=h(L),l(L),L=V;l(S)},T=(L,S,V,O,te,_e,pe,Ce,be)=>{pe=pe||S.type==="svg",L==null?B(S,V,O,te,_e,pe,Ce,be):I(L,S,te,_e,pe,Ce,be)},B=(L,S,V,O,te,_e,pe,Ce)=>{let be,re;const{type:me,props:Re,shapeFlag:Q,transition:Pe,dirs:Ge}=L;if(be=L.el=r(L.type,_e,Re&&Re.is,Re),Q&8?c(be,L.children):Q&16&&H(L.children,be,null,O,te,_e&&me!=="foreignObject",pe,Ce),Ge&&nl(L,null,O,"created"),Re){for(const he in Re)he!=="value"&&!zr(he)&&a(be,he,null,Re[he],_e,L.children,O,te,ke);"value"in Re&&a(be,"value",null,Re.value),(re=Re.onVnodeBeforeMount)&&Yn(re,O,L)}P(be,L,L.scopeId,pe,O),Ge&&nl(L,null,O,"beforeMount");const Xe=(!te||te&&!te.pendingBranch)&&Pe&&!Pe.persisted;Xe&&Pe.beforeEnter(be),o(be,S,V),((re=Re&&Re.onVnodeMounted)||Xe||Ge)&&nn(()=>{re&&Yn(re,O,L),Xe&&Pe.enter(be),Ge&&nl(L,null,O,"mounted")},te)},P=(L,S,V,O,te)=>{if(V&&v(L,V),O)for(let _e=0;_e{for(let re=be;re{const Ce=S.el=L.el;let{patchFlag:be,dynamicChildren:re,dirs:me}=S;be|=L.patchFlag&16;const Re=L.props||bt,Q=S.props||bt;let Pe;V&&ol(V,!1),(Pe=Q.onVnodeBeforeUpdate)&&Yn(Pe,V,S,L),me&&nl(S,L,V,"beforeUpdate"),V&&ol(V,!0);const Ge=te&&S.type!=="foreignObject";if(re?j(L.dynamicChildren,re,Ce,V,O,Ge,_e):pe||ne(L,S,Ce,null,V,O,Ge,_e,!1),be>0){if(be&16)Z(Ce,S,Re,Q,V,O,te);else if(be&2&&Re.class!==Q.class&&a(Ce,"class",null,Q.class,te),be&4&&a(Ce,"style",Re.style,Q.style,te),be&8){const Xe=S.dynamicProps;for(let he=0;he{Pe&&Yn(Pe,V,S,L),me&&nl(S,L,V,"updated")},O)},j=(L,S,V,O,te,_e,pe)=>{for(let Ce=0;Ce{if(V!==O){if(V!==bt)for(const Ce in V)!zr(Ce)&&!(Ce in O)&&a(L,Ce,V[Ce],null,pe,S.children,te,_e,ke);for(const Ce in O){if(zr(Ce))continue;const be=O[Ce],re=V[Ce];be!==re&&Ce!=="value"&&a(L,Ce,re,be,pe,S.children,te,_e,ke)}"value"in O&&a(L,"value",V.value,O.value)}},G=(L,S,V,O,te,_e,pe,Ce,be)=>{const re=S.el=L?L.el:u(""),me=S.anchor=L?L.anchor:u("");let{patchFlag:Re,dynamicChildren:Q,slotScopeIds:Pe}=S;Pe&&(Ce=Ce?Ce.concat(Pe):Pe),L==null?(o(re,V,O),o(me,V,O),H(S.children,V,me,te,_e,pe,Ce,be)):Re>0&&Re&64&&Q&&L.dynamicChildren?(j(L.dynamicChildren,Q,V,te,_e,pe,Ce),(S.key!=null||te&&S===te.subTree)&&Ri(L,S,!0)):ne(L,S,V,me,te,_e,pe,Ce,be)},N=(L,S,V,O,te,_e,pe,Ce,be)=>{S.slotScopeIds=Ce,L==null?S.shapeFlag&512?te.ctx.activate(S,V,O,pe,be):Y(S,V,O,te,_e,pe,be):ge(L,S,be)},Y=(L,S,V,O,te,_e,pe)=>{const Ce=L.component=z3(L,O,te);if(Fu(L)&&(Ce.ctx.renderer=Ke),T3(Ce),Ce.asyncDep){if(te&&te.registerDep(Ce,fe),!L.el){const be=Ce.subTree=d(on);w(null,be,S,V)}return}fe(Ce,L,S,V,te,_e,pe)},ge=(L,S,V)=>{const O=S.component=L.component;if(Gp(L,S,V))if(O.asyncDep&&!O.asyncResolved){Ee(O,S,V);return}else O.next=S,Op(O.update),O.update();else S.el=L.el,O.vnode=S},fe=(L,S,V,O,te,_e,pe)=>{const Ce=()=>{if(L.isMounted){let{next:me,bu:Re,u:Q,parent:Pe,vnode:Ge}=L,Xe=me,he;ol(L,!1),me?(me.el=Ge.el,Ee(L,me,pe)):me=Ge,Re&&Mr(Re),(he=me.props&&me.props.onVnodeBeforeUpdate)&&Yn(he,Pe,me,Ge),ol(L,!0);const Ie=es(L),K=L.subTree;L.subTree=Ie,y(K,Ie,m(K.el),ve(K),L,te,_e),me.el=Ie.el,Xe===null&&Yp(L,Ie.el),Q&&nn(Q,te),(he=me.props&&me.props.onVnodeUpdated)&&nn(()=>Yn(he,Pe,me,Ge),te)}else{let me;const{el:Re,props:Q}=S,{bm:Pe,m:Ge,parent:Xe}=L,he=Pa(S);if(ol(L,!1),Pe&&Mr(Pe),!he&&(me=Q&&Q.onVnodeBeforeMount)&&Yn(me,Xe,S),ol(L,!0),Re&&le){const Ie=()=>{L.subTree=es(L),le(Re,L.subTree,L,te,null)};he?S.type.__asyncLoader().then(()=>!L.isUnmounted&&Ie()):Ie()}else{const Ie=L.subTree=es(L);y(null,Ie,V,O,L,te,_e),S.el=Ie.el}if(Ge&&nn(Ge,te),!he&&(me=Q&&Q.onVnodeMounted)){const Ie=S;nn(()=>Yn(me,Xe,Ie),te)}(S.shapeFlag&256||Xe&&Pa(Xe.vnode)&&Xe.vnode.shapeFlag&256)&&L.a&&nn(L.a,te),L.isMounted=!0,S=V=O=null}},be=L.effect=new Ei(Ce,()=>Pi(re),L.scope),re=L.update=()=>be.run();re.id=L.uid,ol(L,!0),re()},Ee=(L,S,V)=>{S.component=L;const O=L.vnode.props;L.vnode=S,L.next=null,_3(L,S.props,O,V),b3(L,S.children,V),Al(),X2(),Fl()},ne=(L,S,V,O,te,_e,pe,Ce,be=!1)=>{const re=L&&L.children,me=L?L.shapeFlag:0,Re=S.children,{patchFlag:Q,shapeFlag:Pe}=S;if(Q>0){if(Q&128){xe(re,Re,V,O,te,_e,pe,Ce,be);return}else if(Q&256){ee(re,Re,V,O,te,_e,pe,Ce,be);return}}Pe&8?(me&16&&ke(re,te,_e),Re!==re&&c(V,Re)):me&16?Pe&16?xe(re,Re,V,O,te,_e,pe,Ce,be):ke(re,te,_e,!0):(me&8&&c(V,""),Pe&16&&H(Re,V,O,te,_e,pe,Ce,be))},ee=(L,S,V,O,te,_e,pe,Ce,be)=>{L=L||Rl,S=S||Rl;const re=L.length,me=S.length,Re=Math.min(re,me);let Q;for(Q=0;Qme?ke(L,te,_e,!0,!1,Re):H(S,V,O,te,_e,pe,Ce,be,Re)},xe=(L,S,V,O,te,_e,pe,Ce,be)=>{let re=0;const me=S.length;let Re=L.length-1,Q=me-1;for(;re<=Re&&re<=Q;){const Pe=L[re],Ge=S[re]=be?Uo(S[re]):Jn(S[re]);if(il(Pe,Ge))y(Pe,Ge,V,null,te,_e,pe,Ce,be);else break;re++}for(;re<=Re&&re<=Q;){const Pe=L[Re],Ge=S[Q]=be?Uo(S[Q]):Jn(S[Q]);if(il(Pe,Ge))y(Pe,Ge,V,null,te,_e,pe,Ce,be);else break;Re--,Q--}if(re>Re){if(re<=Q){const Pe=Q+1,Ge=PeQ)for(;re<=Re;)x(L[re],te,_e,!0),re++;else{const Pe=re,Ge=re,Xe=new Map;for(re=Ge;re<=Q;re++){const X=S[re]=be?Uo(S[re]):Jn(S[re]);X.key!=null&&Xe.set(X.key,re)}let he,Ie=0;const K=Q-Ge+1;let ue=!1,q=0;const k=new Array(K);for(re=0;re=K){x(X,te,_e,!0);continue}let de;if(X.key!=null)de=Xe.get(X.key);else for(he=Ge;he<=Q;he++)if(k[he-Ge]===0&&il(X,S[he])){de=he;break}de===void 0?x(X,te,_e,!0):(k[de-Ge]=re+1,de>=q?q=de:ue=!0,y(X,S[de],V,null,te,_e,pe,Ce,be),Ie++)}const Me=ue?A3(k):Rl;for(he=Me.length-1,re=K-1;re>=0;re--){const X=Ge+re,de=S[X],Fe=X+1{const{el:_e,type:pe,transition:Ce,children:be,shapeFlag:re}=L;if(re&6){$e(L.component.subTree,S,V,O);return}if(re&128){L.suspense.move(S,V,O);return}if(re&64){pe.move(L,S,V,Ke);return}if(pe===We){o(_e,S,V);for(let Re=0;ReCe.enter(_e),te);else{const{leave:Re,delayLeave:Q,afterLeave:Pe}=Ce,Ge=()=>o(_e,S,V),Xe=()=>{Re(_e,()=>{Ge(),Pe&&Pe()})};Q?Q(_e,Ge,Xe):Xe()}else o(_e,S,V)},x=(L,S,V,O=!1,te=!1)=>{const{type:_e,props:pe,ref:Ce,children:be,dynamicChildren:re,shapeFlag:me,patchFlag:Re,dirs:Q}=L;if(Ce!=null&&zs(Ce,null,V,L,!0),me&256){S.ctx.deactivate(L);return}const Pe=me&1&&Q,Ge=!Pa(L);let Xe;if(Ge&&(Xe=pe&&pe.onVnodeBeforeUnmount)&&Yn(Xe,S,L),me&6)Ae(L.component,V,O);else{if(me&128){L.suspense.unmount(V,O);return}Pe&&nl(L,null,S,"beforeUnmount"),me&64?L.type.remove(L,S,V,te,Ke,O):re&&(_e!==We||Re>0&&Re&64)?ke(re,S,V,!1,!0):(_e===We&&Re&384||!te&&me&16)&&ke(be,S,V),O&&W(L)}(Ge&&(Xe=pe&&pe.onVnodeUnmounted)||Pe)&&nn(()=>{Xe&&Yn(Xe,S,L),Pe&&nl(L,null,S,"unmounted")},V)},W=L=>{const{type:S,el:V,anchor:O,transition:te}=L;if(S===We){we(V,O);return}if(S===Vr){$(L);return}const _e=()=>{l(V),te&&!te.persisted&&te.afterLeave&&te.afterLeave()};if(L.shapeFlag&1&&te&&!te.persisted){const{leave:pe,delayLeave:Ce}=te,be=()=>pe(V,_e);Ce?Ce(L.el,_e,be):be()}else _e()},we=(L,S)=>{let V;for(;L!==S;)V=h(L),l(L),L=V;l(S)},Ae=(L,S,V)=>{const{bum:O,scope:te,update:_e,subTree:pe,um:Ce}=L;O&&Mr(O),te.stop(),_e&&(_e.active=!1,x(pe,L,S,V)),Ce&&nn(Ce,S),nn(()=>{L.isUnmounted=!0},S),S&&S.pendingBranch&&!S.isUnmounted&&L.asyncDep&&!L.asyncResolved&&L.suspenseId===S.pendingId&&(S.deps--,S.deps===0&&S.resolve())},ke=(L,S,V,O=!1,te=!1,_e=0)=>{for(let pe=_e;peL.shapeFlag&6?ve(L.component.subTree):L.shapeFlag&128?L.suspense.next():h(L.anchor||L.el),ze=(L,S,V)=>{L==null?S._vnode&&x(S._vnode,null,null,!0):y(S._vnode||null,L,S,null,null,null,V),X2(),e1(),S._vnode=L},Ke={p:y,um:x,m:$e,r:W,mt:Y,mc:H,pc:ne,pbc:j,n:ve,o:e};let se,le;return t&&([se,le]=t(Ke)),{render:ze,hydrate:se,createApp:w3(ze,se)}}function ol({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Ri(e,t,n=!1){const o=e.children,l=t.children;if(Ye(o)&&Ye(l))for(let a=0;a>1,e[n[u]]0&&(t[o]=n[a-1]),n[a]=o)}}for(a=n.length,r=n[a-1];a-- >0;)n[a]=r,r=t[r];return n}const F3=e=>e.__isTeleport,La=e=>e&&(e.disabled||e.disabled===""),uc=e=>typeof SVGElement!="undefined"&&e instanceof SVGElement,Ts=(e,t)=>{const n=e&&e.to;return tt(n)?t?t(n):null:n},x3={__isTeleport:!0,process(e,t,n,o,l,a,r,u,s,i){const{mc:c,pc:m,pbc:h,o:{insert:v,querySelector:g,createText:y,createComment:A}}=i,w=La(t.props);let{shapeFlag:F,children:E,dynamicChildren:$}=t;if(e==null){const T=t.el=y(""),B=t.anchor=y("");v(T,n,o),v(B,n,o);const P=t.target=Ts(t.props,g),H=t.targetAnchor=y("");P&&(v(H,P),r=r||uc(P));const I=(j,Z)=>{F&16&&c(E,j,Z,l,a,r,u,s)};w?I(n,B):P&&I(P,H)}else{t.el=e.el;const T=t.anchor=e.anchor,B=t.target=e.target,P=t.targetAnchor=e.targetAnchor,H=La(e.props),I=H?n:B,j=H?T:P;if(r=r||uc(B),$?(h(e.dynamicChildren,$,I,l,a,r,u),Ri(e,t,!0)):s||m(e,t,I,j,l,a,r,u,!1),w)H||Cr(t,n,T,i,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Z=t.target=Ts(t.props,g);Z&&Cr(t,Z,null,i,0)}else H&&Cr(t,B,P,i,1)}},remove(e,t,n,o,{um:l,o:{remove:a}},r){const{shapeFlag:u,children:s,anchor:i,targetAnchor:c,target:m,props:h}=e;if(m&&a(c),(r||!La(h))&&(a(i),u&16))for(let v=0;v0?Hn||Rl:null,D3(),Ga>0&&Hn&&Hn.push(e),e}function C(e,t,n,o,l,a){return b1(f(e,t,n,o,l,a,!0))}function ae(e,t,n,o,l){return b1(d(e,t,n,o,l,!0))}function mn(e){return e?e.__v_isVNode===!0:!1}function il(e,t){return e.type===t.type&&e.key===t.key}const Du="__vInternal",y1=({key:e})=>e!=null?e:null,Hr=({ref:e,ref_key:t,ref_for:n})=>e!=null?tt(e)||gt(e)||Je(e)?{i:jt,r:e,k:t,f:!!n}:e:null;function f(e,t=null,n=null,o=0,l=null,a=e===We?0:1,r=!1,u=!1){const s={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&y1(t),ref:t&&Hr(t),scopeId:Au,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:o,dynamicProps:l,dynamicChildren:null,appContext:null};return u?(Ni(s,n),a&128&&e.normalize(s)):n&&(s.shapeFlag|=tt(n)?8:16),Ga>0&&!r&&Hn&&(s.patchFlag>0||a&6)&&s.patchFlag!==32&&Hn.push(s),s}const d=B3;function B3(e,t=null,n=null,o=0,l=null,a=!1){if((!e||e===i1)&&(e=on),mn(e)){const u=Eo(e,t,!0);return n&&Ni(u,n),Ga>0&&!a&&Hn&&(u.shapeFlag&6?Hn[Hn.indexOf(e)]=u:Hn.push(u)),u.patchFlag|=-2,u}if(R3(e)&&(e=e.__vccOpts),t){t=S3(t);let{class:u,style:s}=t;u&&!tt(u)&&(t.class=U(u)),ct(s)&&(Wd(s)&&!Ye(s)&&(s=Ht({},s)),t.style=nt(s))}const r=tt(e)?1:Xp(e)?128:F3(e)?64:ct(e)?4:Je(e)?2:0;return f(e,t,n,o,l,r,a,!0)}function S3(e){return e?Wd(e)||Du in e?Ht({},e):e:null}function Eo(e,t,n=!1){const{props:o,ref:l,patchFlag:a,children:r}=e,u=t?An(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&y1(u),ref:t&&t.ref?n&&l?Ye(l)?l.concat(Hr(t)):[l,Hr(t)]:Hr(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==We?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Eo(e.ssContent),ssFallback:e.ssFallback&&Eo(e.ssFallback),el:e.el,anchor:e.anchor}}function D(e=" ",t=0){return d(ur,null,e,t)}function k3(e,t){const n=d(Vr,null,e);return n.staticCount=t,n}function oe(e="",t=!1){return t?(b(),ae(on,null,e)):d(on,null,e)}function Jn(e){return e==null||typeof e=="boolean"?d(on):Ye(e)?d(We,null,e.slice()):typeof e=="object"?Uo(e):d(ur,null,String(e))}function Uo(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Eo(e)}function Ni(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Ye(t))n=16;else if(typeof t=="object")if(o&65){const l=t.default;l&&(l._c&&(l._d=!1),Ni(e,l()),l._c&&(l._d=!0));return}else{n=32;const l=t._;!l&&!(Du in t)?t._ctx=jt:l===3&&jt&&(jt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Je(t)?(t={default:t,_ctx:jt},n=32):(t=String(t),o&64?(n=16,t=[D(t)]):n=8);e.children=t,e.shapeFlag|=n}function An(...e){const t={};for(let n=0;nVt||jt,Kl=e=>{Vt=e,e.scope.on()},gl=()=>{Vt&&Vt.scope.off(),Vt=null};function w1(e){return e.vnode.shapeFlag&4}let Ya=!1;function T3(e,t=!1){Ya=t;const{props:n,children:o}=e.vnode,l=w1(e);h3(e,n,l,t),g3(e,o);const a=l?M3(e,t):void 0;return Ya=!1,a}function M3(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=qd(new Proxy(e.ctx,i3));const{setup:o}=n;if(o){const l=e.setupContext=o.length>1?E1(e):null;Kl(e),Al();const a=bo(o,e,0,[e.props,l]);if(Fl(),gl(),Zr(a)){if(a.then(gl,gl),t)return a.then(r=>{ic(e,r,t)}).catch(r=>{Cu(r,e,0)});e.asyncDep=a}else ic(e,a,t)}else C1(e,t)}function ic(e,t,n){Je(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ct(t)&&(e.setupState=Gd(t)),C1(e,n)}let cc;function C1(e,t,n){const o=e.type;if(!e.render){if(!t&&cc&&!o.render){const l=o.template||Hi(e).template;if(l){const{isCustomElement:a,compilerOptions:r}=e.appContext.config,{delimiters:u,compilerOptions:s}=o,i=Ht(Ht({isCustomElement:a,delimiters:u},r),s);o.render=cc(l,i)}}e.render=o.render||vt}Kl(e),Al(),c3(e),Fl(),gl()}function V3(e){return new Proxy(e.attrs,{get(t,n){return _n(e,"get","$attrs"),t[n]}})}function E1(e){const t=o=>{e.exposed=o||{}};let n;return{get attrs(){return n||(n=V3(e))},slots:e.slots,emit:e.emit,expose:t}}function Bu(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Gd(qd(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in lu)return lu[n](e)}}))}const H3=/(?:^|[-_])(\w)/g,I3=e=>e.replace(H3,t=>t.toUpperCase()).replace(/[-_]/g,"");function A1(e,t=!0){return Je(e)?e.displayName||e.name:e.name||t&&e.__name}function F1(e,t,n=!1){let o=A1(t);if(!o&&t.__file){const l=t.__file.match(/([^/\\]+)\.\w+$/);l&&(o=l[1])}if(!o&&e&&e.parent){const l=a=>{for(const r in a)if(a[r]===t)return r};o=l(e.components||e.parent.type.components)||l(e.appContext.components)}return o?I3(o):n?"App":"Anonymous"}function R3(e){return Je(e)&&"__vccOpts"in e}const R=(e,t)=>Xd(e,t,Ya);function So(){return x1().slots}function N3(){return x1().attrs}function x1(){const e=ft();return e.setupContext||(e.setupContext=E1(e))}function Ne(e,t,n){const o=arguments.length;return o===2?ct(t)&&!Ye(t)?mn(t)?d(e,null,[t]):d(e,t):d(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&mn(n)&&(n=[n]),d(e,t,n))}const O3="3.2.40",U3="http://www.w3.org/2000/svg",cl=typeof document!="undefined"?document:null,dc=cl&&cl.createElement("template"),W3={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 l=t?cl.createElementNS(U3,e):cl.createElement(e,n?{is:n}:void 0);return e==="select"&&o&&o.multiple!=null&&l.setAttribute("multiple",o.multiple),l},createText:e=>cl.createTextNode(e),createComment:e=>cl.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>cl.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,l,a){const r=n?n.previousSibling:t.lastChild;if(l&&(l===a||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),n),!(l===a||!(l=l.nextSibling)););else{dc.innerHTML=o?`${e}`:e;const u=dc.content;if(o){const s=u.firstChild;for(;s.firstChild;)u.appendChild(s.firstChild);u.removeChild(s)}t.insertBefore(u,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function q3(e,t,n){const o=e._vtc;o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function j3(e,t,n){const o=e.style,l=tt(n);if(n&&!l){for(const a in n)Ms(o,a,n[a]);if(t&&!tt(t))for(const a in t)n[a]==null&&Ms(o,a,"")}else{const a=o.display;l?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(o.display=a)}}const fc=/\s*!important$/;function Ms(e,t,n){if(Ye(n))n.forEach(o=>Ms(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=K3(e,t);fc.test(n)?e.setProperty(el(o),n.replace(fc,""),"important"):e[o]=n}}const pc=["Webkit","Moz","ms"],ns={};function K3(e,t){const n=ns[t];if(n)return n;let o=xn(t);if(o!=="filter"&&o in e)return ns[t]=o;o=yu(o);for(let l=0;l{let e=Date.now,t=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Vs=0;const J3=Promise.resolve(),Q3=()=>{Vs=0},Z3=()=>Vs||(J3.then(Q3),Vs=$1());function jo(e,t,n,o){e.addEventListener(t,n,o)}function e8(e,t,n,o){e.removeEventListener(t,n,o)}function t8(e,t,n,o,l=null){const a=e._vei||(e._vei={}),r=a[t];if(o&&r)r.value=o;else{const[u,s]=n8(t);if(o){const i=a[t]=o8(o,l);jo(e,u,i,s)}else r&&(e8(e,u,r,s),a[t]=void 0)}}const hc=/(?:Once|Passive|Capture)$/;function n8(e){let t;if(hc.test(e)){t={};let o;for(;o=e.match(hc);)e=e.slice(0,e.length-o[0].length),t[o[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):el(e.slice(2)),t]}function o8(e,t){const n=o=>{const l=o.timeStamp||$1();(X3||l>=n.attached-1)&&En(l8(o,n.value),t,5,[o])};return n.value=e,n.attached=Z3(),n}function l8(e,t){if(Ye(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>l=>!l._stopped&&o&&o(l))}else return t}const _c=/^on[a-z]/,a8=(e,t,n,o,l=!1,a,r,u,s)=>{t==="class"?q3(e,o,l):t==="style"?j3(e,n,o):mu(t)?bi(t)||t8(e,t,n,o,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):r8(e,t,o,l))?Y3(e,t,o,a,r,u,s):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),G3(e,t,o,l))};function r8(e,t,n,o){return o?!!(t==="innerHTML"||t==="textContent"||t in e&&_c.test(t)&&Je(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||_c.test(t)&&tt(n)?!1:t in e}const Vo="transition",Ea="animation",Zt=(e,{slots:t})=>Ne(a1,B1(e),t);Zt.displayName="Transition";const D1={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},u8=Zt.props=Ht({},a1.props,D1),ll=(e,t=[])=>{Ye(e)?e.forEach(n=>n(...t)):e&&e(...t)},mc=e=>e?Ye(e)?e.some(t=>t.length>1):e.length>1:!1;function B1(e){const t={};for(const G in e)G in D1||(t[G]=e[G]);if(e.css===!1)return t;const{name:n="v",type:o,duration:l,enterFromClass:a=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:u=`${n}-enter-to`,appearFromClass:s=a,appearActiveClass:i=r,appearToClass:c=u,leaveFromClass:m=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,g=s8(l),y=g&&g[0],A=g&&g[1],{onBeforeEnter:w,onEnter:F,onEnterCancelled:E,onLeave:$,onLeaveCancelled:T,onBeforeAppear:B=w,onAppear:P=F,onAppearCancelled:H=E}=t,I=(G,N,Y)=>{Io(G,N?c:u),Io(G,N?i:r),Y&&Y()},j=(G,N)=>{G._isLeaving=!1,Io(G,m),Io(G,v),Io(G,h),N&&N()},Z=G=>(N,Y)=>{const ge=G?P:F,fe=()=>I(N,G,Y);ll(ge,[N,fe]),gc(()=>{Io(N,G?s:a),po(N,G?c:u),mc(ge)||bc(N,o,y,fe)})};return Ht(t,{onBeforeEnter(G){ll(w,[G]),po(G,a),po(G,r)},onBeforeAppear(G){ll(B,[G]),po(G,s),po(G,i)},onEnter:Z(!1),onAppear:Z(!0),onLeave(G,N){G._isLeaving=!0;const Y=()=>j(G,N);po(G,m),k1(),po(G,h),gc(()=>{!G._isLeaving||(Io(G,m),po(G,v),mc($)||bc(G,o,A,Y))}),ll($,[G,Y])},onEnterCancelled(G){I(G,!1),ll(E,[G])},onAppearCancelled(G){I(G,!0),ll(H,[G])},onLeaveCancelled(G){j(G),ll(T,[G])}})}function s8(e){if(e==null)return null;if(ct(e))return[os(e.enter),os(e.leave)];{const t=os(e);return[t,t]}}function os(e){return tu(e)}function po(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function Io(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function gc(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let i8=0;function bc(e,t,n,o){const l=e._endId=++i8,a=()=>{l===e._endId&&o()};if(n)return setTimeout(a,n);const{type:r,timeout:u,propCount:s}=S1(e,t);if(!r)return o();const i=r+"end";let c=0;const m=()=>{e.removeEventListener(i,h),a()},h=v=>{v.target===e&&++c>=s&&m()};setTimeout(()=>{c(n[g]||"").split(", "),l=o(Vo+"Delay"),a=o(Vo+"Duration"),r=yc(l,a),u=o(Ea+"Delay"),s=o(Ea+"Duration"),i=yc(u,s);let c=null,m=0,h=0;t===Vo?r>0&&(c=Vo,m=r,h=a.length):t===Ea?i>0&&(c=Ea,m=i,h=s.length):(m=Math.max(r,i),c=m>0?r>i?Vo:Ea:null,h=c?c===Vo?a.length:s.length:0);const v=c===Vo&&/\b(transform|all)(,|$)/.test(n[Vo+"Property"]);return{type:c,timeout:m,propCount:h,hasTransform:v}}function yc(e,t){for(;e.lengthwc(n)+wc(e[o])))}function wc(e){return Number(e.slice(0,-1).replace(",","."))*1e3}function k1(){return document.body.offsetHeight}const P1=new WeakMap,L1=new WeakMap,c8={name:"TransitionGroup",props:Ht({},u8,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ft(),o=l1();let l,a;return xl(()=>{if(!l.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!h8(l[0].el,n.vnode.el,r))return;l.forEach(f8),l.forEach(p8);const u=l.filter(v8);k1(),u.forEach(s=>{const i=s.el,c=i.style;po(i,r),c.transform=c.webkitTransform=c.transitionDuration="";const m=i._moveCb=h=>{h&&h.target!==i||(!h||/transform$/.test(h.propertyName))&&(i.removeEventListener("transitionend",m),i._moveCb=null,Io(i,r))};i.addEventListener("transitionend",m)})}),()=>{const r=it(e),u=B1(r);let s=r.tag||We;l=a,a=t.default?zi(t.default()):[];for(let i=0;i{r.split(/\s+/).forEach(u=>u&&o.classList.remove(u))}),n.split(/\s+/).forEach(r=>r&&o.classList.add(r)),o.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(o);const{hasTransform:a}=S1(o);return l.removeChild(o),a}const Gl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ye(t)?n=>Mr(t,n):t};function _8(e){e.target.composing=!0}function Cc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const m8={created(e,{modifiers:{lazy:t,trim:n,number:o}},l){e._assign=Gl(l);const a=o||l.props&&l.props.type==="number";jo(e,t?"change":"input",r=>{if(r.target.composing)return;let u=e.value;n&&(u=u.trim()),a&&(u=tu(u)),e._assign(u)}),n&&jo(e,"change",()=>{e.value=e.value.trim()}),t||(jo(e,"compositionstart",_8),jo(e,"compositionend",Cc),jo(e,"change",Cc))},mounted(e,{value:t}){e.value=t==null?"":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:l}},a){if(e._assign=Gl(a),e.composing||document.activeElement===e&&e.type!=="range"&&(n||o&&e.value.trim()===t||(l||e.type==="number")&&tu(e.value)===t))return;const r=t==null?"":t;e.value!==r&&(e.value=r)}},ru={deep:!0,created(e,t,n){e._assign=Gl(n),jo(e,"change",()=>{const o=e._modelValue,l=T1(e),a=e.checked,r=e._assign;if(Ye(o)){const u=Dd(o,l),s=u!==-1;if(a&&!s)r(o.concat(l));else if(!a&&s){const i=[...o];i.splice(u,1),r(i)}}else if(gu(o)){const u=new Set(o);a?u.add(l):u.delete(l),r(u)}else r(M1(e,a))})},mounted:Ec,beforeUpdate(e,t,n){e._assign=Gl(n),Ec(e,t,n)}};function Ec(e,{value:t,oldValue:n},o){e._modelValue=t,Ye(t)?e.checked=Dd(t,o.props.value)>-1:gu(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=Wl(t,M1(e,!0)))}const z1={created(e,{value:t},n){e.checked=Wl(t,n.props.value),e._assign=Gl(n),jo(e,"change",()=>{e._assign(T1(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e._assign=Gl(o),t!==n&&(e.checked=Wl(t,o.props.value))}};function T1(e){return"_value"in e?e._value:e.value}function M1(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const g8=["ctrl","shift","alt","meta"],b8={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)=>g8.some(n=>e[`${n}Key`]&&!t.includes(n))},ht=(e,t)=>(n,...o)=>{for(let l=0;ln=>{if(!("key"in n))return;const o=el(n.key);if(t.some(l=>l===o||y8[l]===o))return e(n)},Be={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Aa(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),Aa(e,!0),o.enter(e)):o.leave(e,()=>{Aa(e,!1)}):Aa(e,t))},beforeUnmount(e,{value:t}){Aa(e,t)}};function Aa(e,t){e.style.display=t?e._vod:"none"}const w8=Ht({patchProp:a8},W3);let Ac;function V1(){return Ac||(Ac=C3(w8))}const Yl=(...e)=>{V1().render(...e)},H1=(...e)=>{const t=V1().createApp(...e),{mount:n}=t;return t.mount=o=>{const l=C8(o);if(!l)return;const a=t._component;!Je(a)&&!a.render&&!a.template&&(a.template=l.innerHTML),l.innerHTML="";const r=n(l,!1,l instanceof SVGElement);return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),r},t};function C8(e){return tt(e)?document.querySelector(e):e}var E8=typeof global=="object"&&global&&global.Object===Object&&global,I1=E8,A8=typeof self=="object"&&self&&self.Object===Object&&self,F8=I1||A8||Function("return this")(),Un=F8,x8=Un.Symbol,lo=x8,R1=Object.prototype,$8=R1.hasOwnProperty,D8=R1.toString,Fa=lo?lo.toStringTag:void 0;function B8(e){var t=$8.call(e,Fa),n=e[Fa];try{e[Fa]=void 0;var o=!0}catch{}var l=D8.call(e);return o&&(t?e[Fa]=n:delete e[Fa]),l}var S8=Object.prototype,k8=S8.toString;function P8(e){return k8.call(e)}var L8="[object Null]",z8="[object Undefined]",Fc=lo?lo.toStringTag:void 0;function fa(e){return e==null?e===void 0?z8:L8:Fc&&Fc in Object(e)?B8(e):P8(e)}function Jo(e){return e!=null&&typeof e=="object"}var T8="[object Symbol]";function Su(e){return typeof e=="symbol"||Jo(e)&&fa(e)==T8}function M8(e,t){for(var n=-1,o=e==null?0:e.length,l=Array(o);++n-1&&e%1==0&&e-1&&e%1==0&&e<=yv}function j1(e){return e!=null&&q1(e.length)&&!O1(e)}var wv=Object.prototype;function Wi(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||wv;return e===n}function Cv(e,t){for(var n=-1,o=Array(e);++n-1}function H5(e,t){var n=this.__data__,o=Pu(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function ko(e){var t=-1,n=e==null?0:e.length;for(this.clear();++tu))return!1;var i=a.get(e),c=a.get(t);if(i&&c)return i==t&&c==e;var m=-1,h=!0,v=n&G_?new iu:void 0;for(a.set(e,t),a.set(t,e);++m=t||P<0||m&&H>=a}function w(){var B=us();if(A(B))return F(B);u=setTimeout(w,y(B))}function F(B){return u=void 0,h&&o?v(B):(o=l=void 0,r)}function E(){u!==void 0&&clearTimeout(u),i=0,o=s=l=u=void 0}function $(){return u===void 0?r:F(us())}function T(){var B=us(),P=A(B);if(o=arguments,l=this,s=B,P){if(u===void 0)return g(s);if(m)return clearTimeout(u),u=setTimeout(w,t),v(s)}return u===void 0&&(u=setTimeout(w,t)),r}return T.cancel=E,T.flush=$,T}function pf(e){for(var t=-1,n=e==null?0:e.length,o={};++tgetComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,t0=e=>Array.from(e.querySelectorAll(Am)).filter(t=>xm(t)&&Fm(t)),xm=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},Rr=function(e,t,...n){let o;t.includes("mouse")||t.includes("click")?o="MouseEvents":t.includes("key")?o="KeyboardEvent":o="HTMLEvents";const l=document.createEvent(o);return l.initEvent(t,...n),e.dispatchEvent(l),e},_o=(e,t,{checkForDefaultPrevented:n=!0}={})=>l=>{const a=e==null?void 0:e(l);if(n===!1||!a)return t==null?void 0:t(l)};var n0;const _t=typeof window!="undefined",$m=e=>typeof e!="undefined",Gt=e=>typeof e=="boolean",Dm=e=>typeof e=="function",mt=e=>typeof e=="number",Bm=e=>typeof e=="string",ss=()=>{};_t&&((n0=window==null?void 0:window.navigator)==null?void 0:n0.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function cu(e){return typeof e=="function"?e():_(e)}function Sm(e,t){function n(...o){e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})}return n}function km(e,t={}){let n,o;return a=>{const r=cu(e),u=cu(t.maxWait);if(n&&clearTimeout(n),r<=0||u!==void 0&&u<=0)return o&&(clearTimeout(o),o=null),a();u&&!o&&(o=setTimeout(()=>{n&&clearTimeout(n),o=null,a()},u)),n=setTimeout(()=>{o&&clearTimeout(o),o=null,a()},r)}}function Pm(e){return e}function zu(e){return ap()?(Pd(e),!0):!1}function Lm(e,t=200,n={}){return Sm(km(t,n),e)}function zm(e,t=200,n={}){if(t<=0)return e;const o=z(e.value),l=Lm(()=>{o.value=e.value},t,n);return Ve(e,()=>l()),o}function Ji(e,t=!0){ft()?at(e):t?e():rt(e)}function Ql(e,t,n={}){const{immediate:o=!0}=n,l=z(!1);let a=null;function r(){a&&(clearTimeout(a),a=null)}function u(){l.value=!1,r()}function s(...i){r(),l.value=!0,a=setTimeout(()=>{l.value=!1,a=null,e(...i)},cu(t))}return o&&(l.value=!0,_t&&s()),zu(u),{isPending:l,start:s,stop:u}}function Zn(e){var t;const n=cu(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Tu=_t?window:void 0;function Kt(...e){let t,n,o,l;if(Bm(e[0])?([n,o,l]=e,t=Tu):[t,n,o,l]=e,!t)return ss;let a=ss;const r=Ve(()=>Zn(t),s=>{a(),s&&(s.addEventListener(n,o,l),a=()=>{s.removeEventListener(n,o,l),a=ss})},{immediate:!0,flush:"post"}),u=()=>{r(),a()};return zu(u),u}function Tm(e,t,n={}){const{window:o=Tu,ignore:l,capture:a=!0,detectIframe:r=!1}=n;if(!o)return;const u=z(!0);let s;const i=v=>{o.clearTimeout(s);const g=Zn(e);!g||g===v.target||v.composedPath().includes(g)||!u.value||t(v)},c=v=>l&&l.some(g=>{const y=Zn(g);return y&&(v.target===y||v.composedPath().includes(y))}),m=[Kt(o,"click",i,{passive:!0,capture:a}),Kt(o,"pointerdown",v=>{const g=Zn(e);u.value=!!g&&!v.composedPath().includes(g)&&!c(v)},{passive:!0}),Kt(o,"pointerup",v=>{if(v.button===0){const g=v.composedPath();v.composedPath=()=>g,s=o.setTimeout(()=>i(v),50)}},{passive:!0}),r&&Kt(o,"blur",v=>{var g;const y=Zn(e);((g=document.activeElement)==null?void 0:g.tagName)==="IFRAME"&&!(y!=null&&y.contains(document.activeElement))&&t(v)})].filter(Boolean);return()=>m.forEach(v=>v())}function Mm(e,t=!1){const n=z(),o=()=>n.value=Boolean(e());return o(),Ji(o,t),n}function Vm(e){return JSON.parse(JSON.stringify(e))}const Ws=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},qs="__vueuse_ssr_handlers__";Ws[qs]=Ws[qs]||{};Ws[qs];var o0=Object.getOwnPropertySymbols,Hm=Object.prototype.hasOwnProperty,Im=Object.prototype.propertyIsEnumerable,Rm=(e,t)=>{var n={};for(var o in e)Hm.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&o0)for(var o of o0(e))t.indexOf(o)<0&&Im.call(e,o)&&(n[o]=e[o]);return n};function ro(e,t,n={}){const o=n,{window:l=Tu}=o,a=Rm(o,["window"]);let r;const u=Mm(()=>l&&"ResizeObserver"in l),s=()=>{r&&(r.disconnect(),r=void 0)},i=Ve(()=>Zn(e),m=>{s(),u.value&&l&&m&&(r=new ResizeObserver(t),r.observe(m,a))},{immediate:!0,flush:"post"}),c=()=>{s(),i()};return zu(c),{isSupported:u,stop:c}}function l0(e,t={}){const{reset:n=!0,windowResize:o=!0,windowScroll:l=!0,immediate:a=!0}=t,r=z(0),u=z(0),s=z(0),i=z(0),c=z(0),m=z(0),h=z(0),v=z(0);function g(){const y=Zn(e);if(!y){n&&(r.value=0,u.value=0,s.value=0,i.value=0,c.value=0,m.value=0,h.value=0,v.value=0);return}const A=y.getBoundingClientRect();r.value=A.height,u.value=A.bottom,s.value=A.left,i.value=A.right,c.value=A.top,m.value=A.width,h.value=A.x,v.value=A.y}return ro(e,g),Ve(()=>Zn(e),y=>!y&&g()),l&&Kt("scroll",g,{passive:!0}),o&&Kt("resize",g,{passive:!0}),Ji(()=>{a&&g()}),{height:r,bottom:u,left:s,right:i,top:c,width:m,x:h,y:v,update:g}}var a0;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(a0||(a0={}));var Nm=Object.defineProperty,r0=Object.getOwnPropertySymbols,Om=Object.prototype.hasOwnProperty,Um=Object.prototype.propertyIsEnumerable,u0=(e,t,n)=>t in e?Nm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Wm=(e,t)=>{for(var n in t||(t={}))Om.call(t,n)&&u0(e,n,t[n]);if(r0)for(var n of r0(t))Um.call(t,n)&&u0(e,n,t[n]);return e};const qm={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};Wm({linear:Pm},qm);function jm(e,t,n,o={}){var l,a,r;const{clone:u=!1,passive:s=!1,eventName:i,deep:c=!1,defaultValue:m}=o,h=ft(),v=n||(h==null?void 0:h.emit)||((l=h==null?void 0:h.$emit)==null?void 0:l.bind(h))||((r=(a=h==null?void 0:h.proxy)==null?void 0:a.$emit)==null?void 0:r.bind(h==null?void 0:h.proxy));let g=i;t||(t="modelValue"),g=i||g||`update:${t.toString()}`;const y=w=>u?Dm(u)?u(w):Vm(w):w,A=()=>$m(e[t])?y(e[t]):m;if(s){const w=A(),F=z(w);return Ve(()=>e[t],E=>F.value=y(E)),Ve(F,E=>{(E!==e[t]||c)&&v(g,E)},{deep:c}),F}else return R({get(){return A()},set(w){v(g,w)}})}function Km(e={}){const{window:t=Tu,initialWidth:n=1/0,initialHeight:o=1/0,listenOrientation:l=!0,includeScrollbar:a=!0}=e,r=z(n),u=z(o),s=()=>{t&&(a?(r.value=t.innerWidth,u.value=t.innerHeight):(r.value=t.document.documentElement.clientWidth,u.value=t.document.documentElement.clientHeight))};return s(),Ji(s),Kt("resize",s,{passive:!0}),l&&Kt("orientationchange",s,{passive:!0}),{width:r,height:u}}const Ko=e=>e===void 0,Qo=e=>typeof Element=="undefined"?!1:e instanceof Element,Gm=(e="")=>e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),s0=e=>Object.keys(e),Ym=e=>Object.entries(e),Nr=(e,t,n)=>({get value(){return Jt(e,t,n)},set value(o){Em(e,t,o)}});class Xm extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function gn(e,t){throw new Xm(`[${e}] ${t}`)}const vf=(e="")=>e.split(" ").filter(t=>!!t.trim()),bl=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},go=(e,t)=>{!e||!t.trim()||e.classList.add(...vf(t))},Rn=(e,t)=>{!e||!t.trim()||e.classList.remove(...vf(t))},mo=(e,t)=>{var n;if(!_t||!e||!t)return"";let o=xn(t);o==="float"&&(o="cssFloat");try{const l=e.style[o];if(l)return l;const a=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return a?a[o]:""}catch{return e.style[o]}};function Nn(e,t="px"){if(!e)return"";if(tt(e))return e;if(mt(e))return`${e}${t}`}const Jm=(e,t)=>{if(!_t)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],o=mo(e,n);return["scroll","auto","overlay"].some(l=>o.includes(l))},Qm=(e,t)=>{if(!_t)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(Jm(n,t))return n;n=n.parentNode}return n};let Ar;const Zm=e=>{var t;if(!_t)return 0;if(Ar!==void 0)return Ar;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const o=n.offsetWidth;n.style.overflow="scroll";const l=document.createElement("div");l.style.width="100%",n.appendChild(l);const a=l.offsetWidth;return(t=n.parentNode)==null||t.removeChild(n),Ar=o-a,Ar};function eg(e,t){if(!_t)return;if(!t){e.scrollTop=0;return}const n=[];let o=t.offsetParent;for(;o!==null&&e!==o&&e.contains(o);)n.push(o),o=o.offsetParent;const l=t.offsetTop+n.reduce((s,i)=>s+i.offsetTop,0),a=l+t.offsetHeight,r=e.scrollTop,u=r+e.clientHeight;lu&&(e.scrollTop=a-e.clientHeight)}/*! Element Plus Icons Vue v2.0.10 */var tg={name:"AddLocation"},M=(e,t)=>{let n=e.__vccOpts||e;for(let[o,l]of t)n[o]=l;return n},ng={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},og=f("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),lg=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),ag=f("path",{fill:"currentColor",d:"M544 384h96a32 32 0 1 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0v96z"},null,-1),rg=[og,lg,ag];function ug(e,t,n,o,l,a){return b(),C("svg",ng,rg)}var sg=M(tg,[["render",ug],["__file","add-location.vue"]]),ig={name:"Aim"},cg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dg=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),fg=f("path",{fill:"currentColor",d:"M512 96a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V128a32 32 0 0 1 32-32zm0 576a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V704a32 32 0 0 1 32-32zM96 512a32 32 0 0 1 32-32h192a32 32 0 0 1 0 64H128a32 32 0 0 1-32-32zm576 0a32 32 0 0 1 32-32h192a32 32 0 1 1 0 64H704a32 32 0 0 1-32-32z"},null,-1),pg=[dg,fg];function vg(e,t,n,o,l,a){return b(),C("svg",cg,pg)}var hg=M(ig,[["render",vg],["__file","aim.vue"]]),_g={name:"AlarmClock"},mg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gg=f("path",{fill:"currentColor",d:"M512 832a320 320 0 1 0 0-640 320 320 0 0 0 0 640zm0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768z"},null,-1),bg=f("path",{fill:"currentColor",d:"m292.288 824.576 55.424 32-48 83.136a32 32 0 1 1-55.424-32l48-83.136zm439.424 0-55.424 32 48 83.136a32 32 0 1 0 55.424-32l-48-83.136zM512 512h160a32 32 0 1 1 0 64H480a32 32 0 0 1-32-32V320a32 32 0 0 1 64 0v192zM90.496 312.256A160 160 0 0 1 312.32 90.496l-46.848 46.848a96 96 0 0 0-128 128L90.56 312.256zm835.264 0A160 160 0 0 0 704 90.496l46.848 46.848a96 96 0 0 1 128 128l46.912 46.912z"},null,-1),yg=[gg,bg];function wg(e,t,n,o,l,a){return b(),C("svg",mg,yg)}var Cg=M(_g,[["render",wg],["__file","alarm-clock.vue"]]),Eg={name:"Apple"},Ag={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Fg=f("path",{fill:"currentColor",d:"M599.872 203.776a189.44 189.44 0 0 1 64.384-4.672l2.624.128c31.168 1.024 51.2 4.096 79.488 16.32 37.632 16.128 74.496 45.056 111.488 89.344 96.384 115.264 82.752 372.8-34.752 521.728-7.68 9.728-32 41.6-30.72 39.936a426.624 426.624 0 0 1-30.08 35.776c-31.232 32.576-65.28 49.216-110.08 50.048-31.36.64-53.568-5.312-84.288-18.752l-6.528-2.88c-20.992-9.216-30.592-11.904-47.296-11.904-18.112 0-28.608 2.88-51.136 12.672l-6.464 2.816c-28.416 12.224-48.32 18.048-76.16 19.2-74.112 2.752-116.928-38.08-180.672-132.16-96.64-142.08-132.608-349.312-55.04-486.4 46.272-81.92 129.92-133.632 220.672-135.04 32.832-.576 60.288 6.848 99.648 22.72 27.136 10.88 34.752 13.76 37.376 14.272 16.256-20.16 27.776-36.992 34.56-50.24 13.568-26.304 27.2-59.968 40.704-100.8a32 32 0 1 1 60.8 20.224c-12.608 37.888-25.408 70.4-38.528 97.664zm-51.52 78.08c-14.528 17.792-31.808 37.376-51.904 58.816a32 32 0 1 1-46.72-43.776l12.288-13.248c-28.032-11.2-61.248-26.688-95.68-26.112-70.4 1.088-135.296 41.6-171.648 105.792C121.6 492.608 176 684.16 247.296 788.992c34.816 51.328 76.352 108.992 130.944 106.944 52.48-2.112 72.32-34.688 135.872-34.688 63.552 0 81.28 34.688 136.96 33.536 56.448-1.088 75.776-39.04 126.848-103.872 107.904-136.768 107.904-362.752 35.776-449.088-72.192-86.272-124.672-84.096-151.68-85.12-41.472-4.288-81.6 12.544-113.664 25.152z"},null,-1),xg=[Fg];function $g(e,t,n,o,l,a){return b(),C("svg",Ag,xg)}var Dg=M(Eg,[["render",$g],["__file","apple.vue"]]),Bg={name:"ArrowDownBold"},Sg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kg=f("path",{fill:"currentColor",d:"M104.704 338.752a64 64 0 0 1 90.496 0l316.8 316.8 316.8-316.8a64 64 0 0 1 90.496 90.496L557.248 791.296a64 64 0 0 1-90.496 0L104.704 429.248a64 64 0 0 1 0-90.496z"},null,-1),Pg=[kg];function Lg(e,t,n,o,l,a){return b(),C("svg",Sg,Pg)}var zg=M(Bg,[["render",Lg],["__file","arrow-down-bold.vue"]]),Tg={name:"ArrowDown"},Mg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vg=f("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"},null,-1),Hg=[Vg];function Ig(e,t,n,o,l,a){return b(),C("svg",Mg,Hg)}var sr=M(Tg,[["render",Ig],["__file","arrow-down.vue"]]),Rg={name:"ArrowLeftBold"},Ng={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Og=f("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"},null,-1),Ug=[Og];function Wg(e,t,n,o,l,a){return b(),C("svg",Ng,Ug)}var qg=M(Rg,[["render",Wg],["__file","arrow-left-bold.vue"]]),jg={name:"ArrowLeft"},Kg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Gg=f("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"},null,-1),Yg=[Gg];function Xg(e,t,n,o,l,a){return b(),C("svg",Kg,Yg)}var hf=M(jg,[["render",Xg],["__file","arrow-left.vue"]]),Jg={name:"ArrowRightBold"},Qg={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zg=f("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"},null,-1),e9=[Zg];function t9(e,t,n,o,l,a){return b(),C("svg",Qg,e9)}var n9=M(Jg,[["render",t9],["__file","arrow-right-bold.vue"]]),o9={name:"ArrowRight"},l9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},a9=f("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"},null,-1),r9=[a9];function u9(e,t,n,o,l,a){return b(),C("svg",l9,r9)}var pa=M(o9,[["render",u9],["__file","arrow-right.vue"]]),s9={name:"ArrowUpBold"},i9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},c9=f("path",{fill:"currentColor",d:"M104.704 685.248a64 64 0 0 0 90.496 0l316.8-316.8 316.8 316.8a64 64 0 0 0 90.496-90.496L557.248 232.704a64 64 0 0 0-90.496 0L104.704 594.752a64 64 0 0 0 0 90.496z"},null,-1),d9=[c9];function f9(e,t,n,o,l,a){return b(),C("svg",i9,d9)}var p9=M(s9,[["render",f9],["__file","arrow-up-bold.vue"]]),v9={name:"ArrowUp"},h9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_9=f("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0z"},null,-1),m9=[_9];function g9(e,t,n,o,l,a){return b(),C("svg",h9,m9)}var Qi=M(v9,[["render",g9],["__file","arrow-up.vue"]]),b9={name:"Avatar"},y9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},w9=f("path",{fill:"currentColor",d:"M628.736 528.896A416 416 0 0 1 928 928H96a415.872 415.872 0 0 1 299.264-399.104L512 704l116.736-175.104zM720 304a208 208 0 1 1-416 0 208 208 0 0 1 416 0z"},null,-1),C9=[w9];function E9(e,t,n,o,l,a){return b(),C("svg",y9,C9)}var A9=M(b9,[["render",E9],["__file","avatar.vue"]]),F9={name:"Back"},x9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$9=f("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64z"},null,-1),D9=f("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312L237.248 512z"},null,-1),B9=[$9,D9];function S9(e,t,n,o,l,a){return b(),C("svg",x9,B9)}var k9=M(F9,[["render",S9],["__file","back.vue"]]),P9={name:"Baseball"},L9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},z9=f("path",{fill:"currentColor",d:"M195.2 828.8a448 448 0 1 1 633.6-633.6 448 448 0 0 1-633.6 633.6zm45.248-45.248a384 384 0 1 0 543.104-543.104 384 384 0 0 0-543.104 543.104z"},null,-1),T9=f("path",{fill:"currentColor",d:"M497.472 96.896c22.784 4.672 44.416 9.472 64.896 14.528a256.128 256.128 0 0 0 350.208 350.208c5.056 20.48 9.856 42.112 14.528 64.896A320.128 320.128 0 0 1 497.472 96.896zM108.48 491.904a320.128 320.128 0 0 1 423.616 423.68c-23.04-3.648-44.992-7.424-65.728-11.52a256.128 256.128 0 0 0-346.496-346.432 1736.64 1736.64 0 0 1-11.392-65.728z"},null,-1),M9=[z9,T9];function V9(e,t,n,o,l,a){return b(),C("svg",L9,M9)}var H9=M(P9,[["render",V9],["__file","baseball.vue"]]),I9={name:"Basketball"},R9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},N9=f("path",{fill:"currentColor",d:"M778.752 788.224a382.464 382.464 0 0 0 116.032-245.632 256.512 256.512 0 0 0-241.728-13.952 762.88 762.88 0 0 1 125.696 259.584zm-55.04 44.224a699.648 699.648 0 0 0-125.056-269.632 256.128 256.128 0 0 0-56.064 331.968 382.72 382.72 0 0 0 181.12-62.336zm-254.08 61.248A320.128 320.128 0 0 1 557.76 513.6a715.84 715.84 0 0 0-48.192-48.128 320.128 320.128 0 0 1-379.264 88.384 382.4 382.4 0 0 0 110.144 229.696 382.4 382.4 0 0 0 229.184 110.08zM129.28 481.088a256.128 256.128 0 0 0 331.072-56.448 699.648 699.648 0 0 0-268.8-124.352 382.656 382.656 0 0 0-62.272 180.8zm106.56-235.84a762.88 762.88 0 0 1 258.688 125.056 256.512 256.512 0 0 0-13.44-241.088A382.464 382.464 0 0 0 235.84 245.248zm318.08-114.944c40.576 89.536 37.76 193.92-8.448 281.344a779.84 779.84 0 0 1 66.176 66.112 320.832 320.832 0 0 1 282.112-8.128 382.4 382.4 0 0 0-110.144-229.12 382.4 382.4 0 0 0-229.632-110.208zM828.8 828.8a448 448 0 1 1-633.6-633.6 448 448 0 0 1 633.6 633.6z"},null,-1),O9=[N9];function U9(e,t,n,o,l,a){return b(),C("svg",R9,O9)}var W9=M(I9,[["render",U9],["__file","basketball.vue"]]),q9={name:"BellFilled"},j9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},K9=f("path",{fill:"currentColor",d:"M640 832a128 128 0 0 1-256 0h256zm192-64H134.4a38.4 38.4 0 0 1 0-76.8H192V448c0-154.88 110.08-284.16 256.32-313.6a64 64 0 1 1 127.36 0A320.128 320.128 0 0 1 832 448v243.2h57.6a38.4 38.4 0 0 1 0 76.8H832z"},null,-1),G9=[K9];function Y9(e,t,n,o,l,a){return b(),C("svg",j9,G9)}var X9=M(q9,[["render",Y9],["__file","bell-filled.vue"]]),J9={name:"Bell"},Q9={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Z9=f("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64z"},null,-1),e7=f("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0v320zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320z"},null,-1),t7=f("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm352 128h128a64 64 0 0 1-128 0z"},null,-1),n7=[Z9,e7,t7];function o7(e,t,n,o,l,a){return b(),C("svg",Q9,n7)}var l7=M(J9,[["render",o7],["__file","bell.vue"]]),a7={name:"Bicycle"},r7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},u7=k3('',5),s7=[u7];function i7(e,t,n,o,l,a){return b(),C("svg",r7,s7)}var c7=M(a7,[["render",i7],["__file","bicycle.vue"]]),d7={name:"BottomLeft"},f7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},p7=f("path",{fill:"currentColor",d:"M256 768h416a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V352a32 32 0 0 1 64 0v416z"},null,-1),v7=f("path",{fill:"currentColor",d:"M246.656 822.656a32 32 0 0 1-45.312-45.312l544-544a32 32 0 0 1 45.312 45.312l-544 544z"},null,-1),h7=[p7,v7];function _7(e,t,n,o,l,a){return b(),C("svg",f7,h7)}var m7=M(d7,[["render",_7],["__file","bottom-left.vue"]]),g7={name:"BottomRight"},b7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},y7=f("path",{fill:"currentColor",d:"M352 768a32 32 0 1 0 0 64h448a32 32 0 0 0 32-32V352a32 32 0 0 0-64 0v416H352z"},null,-1),w7=f("path",{fill:"currentColor",d:"M777.344 822.656a32 32 0 0 0 45.312-45.312l-544-544a32 32 0 0 0-45.312 45.312l544 544z"},null,-1),C7=[y7,w7];function E7(e,t,n,o,l,a){return b(),C("svg",b7,C7)}var A7=M(g7,[["render",E7],["__file","bottom-right.vue"]]),F7={name:"Bottom"},x7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$7=f("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"},null,-1),D7=[$7];function B7(e,t,n,o,l,a){return b(),C("svg",x7,D7)}var S7=M(F7,[["render",B7],["__file","bottom.vue"]]),k7={name:"Bowl"},P7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},L7=f("path",{fill:"currentColor",d:"M714.432 704a351.744 351.744 0 0 0 148.16-256H161.408a351.744 351.744 0 0 0 148.16 256h404.864zM288 766.592A415.68 415.68 0 0 1 96 416a32 32 0 0 1 32-32h768a32 32 0 0 1 32 32 415.68 415.68 0 0 1-192 350.592V832a64 64 0 0 1-64 64H352a64 64 0 0 1-64-64v-65.408zM493.248 320h-90.496l254.4-254.4a32 32 0 1 1 45.248 45.248L493.248 320zm187.328 0h-128l269.696-155.712a32 32 0 0 1 32 55.424L680.576 320zM352 768v64h320v-64H352z"},null,-1),z7=[L7];function T7(e,t,n,o,l,a){return b(),C("svg",P7,z7)}var M7=M(k7,[["render",T7],["__file","bowl.vue"]]),V7={name:"Box"},H7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},I7=f("path",{fill:"currentColor",d:"M317.056 128 128 344.064V896h768V344.064L706.944 128H317.056zm-14.528-64h418.944a32 32 0 0 1 24.064 10.88l206.528 236.096A32 32 0 0 1 960 332.032V928a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V332.032a32 32 0 0 1 7.936-21.12L278.4 75.008A32 32 0 0 1 302.528 64z"},null,-1),R7=f("path",{fill:"currentColor",d:"M64 320h896v64H64z"},null,-1),N7=f("path",{fill:"currentColor",d:"M448 327.872V640h128V327.872L526.08 128h-28.16L448 327.872zM448 64h128l64 256v352a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V320l64-256z"},null,-1),O7=[I7,R7,N7];function U7(e,t,n,o,l,a){return b(),C("svg",H7,O7)}var W7=M(V7,[["render",U7],["__file","box.vue"]]),q7={name:"Briefcase"},j7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},K7=f("path",{fill:"currentColor",d:"M320 320V128h384v192h192v192H128V320h192zM128 576h768v320H128V576zm256-256h256.064V192H384v128z"},null,-1),G7=[K7];function Y7(e,t,n,o,l,a){return b(),C("svg",j7,G7)}var X7=M(q7,[["render",Y7],["__file","briefcase.vue"]]),J7={name:"BrushFilled"},Q7={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Z7=f("path",{fill:"currentColor",d:"M608 704v160a96 96 0 0 1-192 0V704h-96a128 128 0 0 1-128-128h640a128 128 0 0 1-128 128h-96zM192 512V128.064h640V512H192z"},null,-1),eb=[Z7];function tb(e,t,n,o,l,a){return b(),C("svg",Q7,eb)}var nb=M(J7,[["render",tb],["__file","brush-filled.vue"]]),ob={name:"Brush"},lb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ab=f("path",{fill:"currentColor",d:"M896 448H128v192a64 64 0 0 0 64 64h192v192h256V704h192a64 64 0 0 0 64-64V448zm-770.752-64c0-47.552 5.248-90.24 15.552-128 14.72-54.016 42.496-107.392 83.2-160h417.28l-15.36 70.336L736 96h211.2c-24.832 42.88-41.92 96.256-51.2 160a663.872 663.872 0 0 0-6.144 128H960v256a128 128 0 0 1-128 128H704v160a32 32 0 0 1-32 32H352a32 32 0 0 1-32-32V768H192A128 128 0 0 1 64 640V384h61.248zm64 0h636.544c-2.048-45.824.256-91.584 6.848-137.216 4.48-30.848 10.688-59.776 18.688-86.784h-96.64l-221.12 141.248L561.92 160H256.512c-25.856 37.888-43.776 75.456-53.952 112.832-8.768 32.064-13.248 69.12-13.312 111.168z"},null,-1),rb=[ab];function ub(e,t,n,o,l,a){return b(),C("svg",lb,rb)}var sb=M(ob,[["render",ub],["__file","brush.vue"]]),ib={name:"Burger"},cb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},db=f("path",{fill:"currentColor",d:"M160 512a32 32 0 0 0-32 32v64a32 32 0 0 0 30.08 32H864a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H160zm736-58.56A96 96 0 0 1 960 544v64a96 96 0 0 1-51.968 85.312L855.36 833.6a96 96 0 0 1-89.856 62.272H258.496A96 96 0 0 1 168.64 833.6l-52.608-140.224A96 96 0 0 1 64 608v-64a96 96 0 0 1 64-90.56V448a384 384 0 1 1 768 5.44zM832 448a320 320 0 0 0-640 0h640zM512 704H188.352l40.192 107.136a32 32 0 0 0 29.952 20.736h507.008a32 32 0 0 0 29.952-20.736L835.648 704H512z"},null,-1),fb=[db];function pb(e,t,n,o,l,a){return b(),C("svg",cb,fb)}var vb=M(ib,[["render",pb],["__file","burger.vue"]]),hb={name:"Calendar"},_b={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mb=f("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64H128zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0v32zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64zm0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64z"},null,-1),gb=[mb];function bb(e,t,n,o,l,a){return b(),C("svg",_b,gb)}var yb=M(hb,[["render",bb],["__file","calendar.vue"]]),wb={name:"CameraFilled"},Cb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Eb=f("path",{fill:"currentColor",d:"M160 224a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h704a64 64 0 0 0 64-64V288a64 64 0 0 0-64-64H748.416l-46.464-92.672A64 64 0 0 0 644.736 96H379.328a64 64 0 0 0-57.216 35.392L275.776 224H160zm352 435.2a115.2 115.2 0 1 0 0-230.4 115.2 115.2 0 0 0 0 230.4zm0 140.8a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),Ab=[Eb];function Fb(e,t,n,o,l,a){return b(),C("svg",Cb,Ab)}var xb=M(wb,[["render",Fb],["__file","camera-filled.vue"]]),$b={name:"Camera"},Db={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bb=f("path",{fill:"currentColor",d:"M896 256H128v576h768V256zm-199.424-64-32.064-64h-304.96l-32 64h369.024zM96 192h160l46.336-92.608A64 64 0 0 1 359.552 64h304.96a64 64 0 0 1 57.216 35.328L768.192 192H928a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32zm416 512a160 160 0 1 0 0-320 160 160 0 0 0 0 320zm0 64a224 224 0 1 1 0-448 224 224 0 0 1 0 448z"},null,-1),Sb=[Bb];function kb(e,t,n,o,l,a){return b(),C("svg",Db,Sb)}var Pb=M($b,[["render",kb],["__file","camera.vue"]]),Lb={name:"CaretBottom"},zb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Tb=f("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"},null,-1),Mb=[Tb];function Vb(e,t,n,o,l,a){return b(),C("svg",zb,Mb)}var Hb=M(Lb,[["render",Vb],["__file","caret-bottom.vue"]]),Ib={name:"CaretLeft"},Rb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nb=f("path",{fill:"currentColor",d:"M672 192 288 511.936 672 832z"},null,-1),Ob=[Nb];function Ub(e,t,n,o,l,a){return b(),C("svg",Rb,Ob)}var Wb=M(Ib,[["render",Ub],["__file","caret-left.vue"]]),qb={name:"CaretRight"},jb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Kb=f("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"},null,-1),Gb=[Kb];function Yb(e,t,n,o,l,a){return b(),C("svg",jb,Gb)}var Xb=M(qb,[["render",Yb],["__file","caret-right.vue"]]),Jb={name:"CaretTop"},Qb={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Zb=f("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"},null,-1),ey=[Zb];function ty(e,t,n,o,l,a){return b(),C("svg",Qb,ey)}var ny=M(Jb,[["render",ty],["__file","caret-top.vue"]]),oy={name:"Cellphone"},ly={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ay=f("path",{fill:"currentColor",d:"M256 128a64 64 0 0 0-64 64v640a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64H256zm0-64h512a128 128 0 0 1 128 128v640a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V192A128 128 0 0 1 256 64zm128 128h256a32 32 0 1 1 0 64H384a32 32 0 0 1 0-64zm128 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128z"},null,-1),ry=[ay];function uy(e,t,n,o,l,a){return b(),C("svg",ly,ry)}var sy=M(oy,[["render",uy],["__file","cellphone.vue"]]),iy={name:"ChatDotRound"},cy={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dy=f("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"},null,-1),fy=f("path",{fill:"currentColor",d:"M512 563.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1),py=[dy,fy];function vy(e,t,n,o,l,a){return b(),C("svg",cy,py)}var hy=M(iy,[["render",vy],["__file","chat-dot-round.vue"]]),_y={name:"ChatDotSquare"},my={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gy=f("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),by=f("path",{fill:"currentColor",d:"M512 499.2a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm192 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4zm-384 0a51.2 51.2 0 1 1 0-102.4 51.2 51.2 0 0 1 0 102.4z"},null,-1),yy=[gy,by];function wy(e,t,n,o,l,a){return b(),C("svg",my,yy)}var Cy=M(_y,[["render",wy],["__file","chat-dot-square.vue"]]),Ey={name:"ChatLineRound"},Ay={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Fy=f("path",{fill:"currentColor",d:"m174.72 855.68 135.296-45.12 23.68 11.84C388.096 849.536 448.576 864 512 864c211.84 0 384-166.784 384-352S723.84 160 512 160 128 326.784 128 512c0 69.12 24.96 139.264 70.848 199.232l22.08 28.8-46.272 115.584zm-45.248 82.56A32 32 0 0 1 89.6 896l58.368-145.92C94.72 680.32 64 596.864 64 512 64 299.904 256 96 512 96s448 203.904 448 416-192 416-448 416a461.056 461.056 0 0 1-206.912-48.384l-175.616 58.56z"},null,-1),xy=f("path",{fill:"currentColor",d:"M352 576h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm32-192h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32z"},null,-1),$y=[Fy,xy];function Dy(e,t,n,o,l,a){return b(),C("svg",Ay,$y)}var By=M(Ey,[["render",Dy],["__file","chat-line-round.vue"]]),Sy={name:"ChatLineSquare"},ky={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Py=f("path",{fill:"currentColor",d:"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),Ly=f("path",{fill:"currentColor",d:"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32z"},null,-1),zy=[Py,Ly];function Ty(e,t,n,o,l,a){return b(),C("svg",ky,zy)}var My=M(Sy,[["render",Ty],["__file","chat-line-square.vue"]]),Vy={name:"ChatRound"},Hy={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Iy=f("path",{fill:"currentColor",d:"m174.72 855.68 130.048-43.392 23.424 11.392C382.4 849.984 444.352 864 512 864c223.744 0 384-159.872 384-352 0-192.832-159.104-352-384-352S128 319.168 128 512a341.12 341.12 0 0 0 69.248 204.288l21.632 28.8-44.16 110.528zm-45.248 82.56A32 32 0 0 1 89.6 896l56.512-141.248A405.12 405.12 0 0 1 64 512C64 299.904 235.648 96 512 96s448 203.904 448 416-173.44 416-448 416c-79.68 0-150.848-17.152-211.712-46.72l-170.88 56.96z"},null,-1),Ry=[Iy];function Ny(e,t,n,o,l,a){return b(),C("svg",Hy,Ry)}var Oy=M(Vy,[["render",Ny],["__file","chat-round.vue"]]),Uy={name:"ChatSquare"},Wy={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qy=f("path",{fill:"currentColor",d:"M273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64v570.88L273.536 736zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128H296z"},null,-1),jy=[qy];function Ky(e,t,n,o,l,a){return b(),C("svg",Wy,jy)}var Gy=M(Uy,[["render",Ky],["__file","chat-square.vue"]]),Yy={name:"Check"},Xy={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Jy=f("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"},null,-1),Qy=[Jy];function Zy(e,t,n,o,l,a){return b(),C("svg",Xy,Qy)}var Zi=M(Yy,[["render",Zy],["__file","check.vue"]]),ew={name:"Checked"},tw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nw=f("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160.064v64H704v-64zM311.616 537.28l-45.312 45.248L447.36 763.52l316.8-316.8-45.312-45.184L447.36 673.024 311.616 537.28zM384 192V96h256v96H384z"},null,-1),ow=[nw];function lw(e,t,n,o,l,a){return b(),C("svg",tw,ow)}var aw=M(ew,[["render",lw],["__file","checked.vue"]]),rw={name:"Cherry"},uw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sw=f("path",{fill:"currentColor",d:"M261.056 449.6c13.824-69.696 34.88-128.96 63.36-177.728 23.744-40.832 61.12-88.64 112.256-143.872H320a32 32 0 0 1 0-64h384a32 32 0 1 1 0 64H554.752c14.912 39.168 41.344 86.592 79.552 141.76 47.36 68.48 84.8 106.752 106.304 114.304a224 224 0 1 1-84.992 14.784c-22.656-22.912-47.04-53.76-73.92-92.608-38.848-56.128-67.008-105.792-84.352-149.312-55.296 58.24-94.528 107.52-117.76 147.2-23.168 39.744-41.088 88.768-53.568 147.072a224.064 224.064 0 1 1-64.96-1.6zM288 832a160 160 0 1 0 0-320 160 160 0 0 0 0 320zm448-64a160 160 0 1 0 0-320 160 160 0 0 0 0 320z"},null,-1),iw=[sw];function cw(e,t,n,o,l,a){return b(),C("svg",uw,iw)}var dw=M(rw,[["render",cw],["__file","cherry.vue"]]),fw={name:"Chicken"},pw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vw=f("path",{fill:"currentColor",d:"M349.952 716.992 478.72 588.16a106.688 106.688 0 0 1-26.176-19.072 106.688 106.688 0 0 1-19.072-26.176L304.704 671.744c.768 3.072 1.472 6.144 2.048 9.216l2.048 31.936 31.872 1.984c3.136.64 6.208 1.28 9.28 2.112zm57.344 33.152a128 128 0 1 1-216.32 114.432l-1.92-32-32-1.92a128 128 0 1 1 114.432-216.32L416.64 469.248c-2.432-101.44 58.112-239.104 149.056-330.048 107.328-107.328 231.296-85.504 316.8 0 85.44 85.44 107.328 209.408 0 316.8-91.008 90.88-228.672 151.424-330.112 149.056L407.296 750.08zm90.496-226.304c49.536 49.536 233.344-7.04 339.392-113.088 78.208-78.208 63.232-163.072 0-226.304-63.168-63.232-148.032-78.208-226.24 0C504.896 290.496 448.32 474.368 497.792 523.84zM244.864 708.928a64 64 0 1 0-59.84 59.84l56.32-3.52 3.52-56.32zm8.064 127.68a64 64 0 1 0 59.84-59.84l-56.32 3.52-3.52 56.32z"},null,-1),hw=[vw];function _w(e,t,n,o,l,a){return b(),C("svg",pw,hw)}var mw=M(fw,[["render",_w],["__file","chicken.vue"]]),gw={name:"ChromeFilled"},bw={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},yw=f("path",{d:"M938.67 512.01c0-44.59-6.82-87.6-19.54-128H682.67a212.372 212.372 0 0 1 42.67 128c.06 38.71-10.45 76.7-30.42 109.87l-182.91 316.8c235.65-.01 426.66-191.02 426.66-426.67z",fill:"currentColor"},null,-1),ww=f("path",{d:"M576.79 401.63a127.92 127.92 0 0 0-63.56-17.6c-22.36-.22-44.39 5.43-63.89 16.38s-35.79 26.82-47.25 46.02a128.005 128.005 0 0 0-2.16 127.44l1.24 2.13a127.906 127.906 0 0 0 46.36 46.61 127.907 127.907 0 0 0 63.38 17.44c22.29.2 44.24-5.43 63.68-16.33a127.94 127.94 0 0 0 47.16-45.79v-.01l1.11-1.92a127.984 127.984 0 0 0 .29-127.46 127.957 127.957 0 0 0-46.36-46.91z",fill:"currentColor"},null,-1),Cw=f("path",{d:"M394.45 333.96A213.336 213.336 0 0 1 512 298.67h369.58A426.503 426.503 0 0 0 512 85.34a425.598 425.598 0 0 0-171.74 35.98 425.644 425.644 0 0 0-142.62 102.22l118.14 204.63a213.397 213.397 0 0 1 78.67-94.21zm117.56 604.72H512zm-97.25-236.73a213.284 213.284 0 0 1-89.54-86.81L142.48 298.6c-36.35 62.81-57.13 135.68-57.13 213.42 0 203.81 142.93 374.22 333.95 416.55h.04l118.19-204.71a213.315 213.315 0 0 1-122.77-21.91z",fill:"currentColor"},null,-1),Ew=[yw,ww,Cw];function Aw(e,t,n,o,l,a){return b(),C("svg",bw,Ew)}var Fw=M(gw,[["render",Aw],["__file","chrome-filled.vue"]]),xw={name:"CircleCheckFilled"},$w={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Dw=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null,-1),Bw=[Dw];function Sw(e,t,n,o,l,a){return b(),C("svg",$w,Bw)}var kw=M(xw,[["render",Sw],["__file","circle-check-filled.vue"]]),Pw={name:"CircleCheck"},Lw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zw=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Tw=f("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"},null,-1),Mw=[zw,Tw];function Vw(e,t,n,o,l,a){return b(),C("svg",Lw,Mw)}var Mu=M(Pw,[["render",Vw],["__file","circle-check.vue"]]),Hw={name:"CircleCloseFilled"},Iw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Rw=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"},null,-1),Nw=[Rw];function Ow(e,t,n,o,l,a){return b(),C("svg",Iw,Nw)}var e2=M(Hw,[["render",Ow],["__file","circle-close-filled.vue"]]),Uw={name:"CircleClose"},Ww={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qw=f("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248L466.752 512z"},null,-1),jw=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),Kw=[qw,jw];function Gw(e,t,n,o,l,a){return b(),C("svg",Ww,Kw)}var ir=M(Uw,[["render",Gw],["__file","circle-close.vue"]]),Yw={name:"CirclePlusFilled"},Xw={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Jw=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0v147.2z"},null,-1),Qw=[Jw];function Zw(e,t,n,o,l,a){return b(),C("svg",Xw,Qw)}var eC=M(Yw,[["render",Zw],["__file","circle-plus-filled.vue"]]),tC={name:"CirclePlus"},nC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oC=f("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),lC=f("path",{fill:"currentColor",d:"M480 672V352a32 32 0 1 1 64 0v320a32 32 0 0 1-64 0z"},null,-1),aC=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),rC=[oC,lC,aC];function uC(e,t,n,o,l,a){return b(),C("svg",nC,rC)}var sC=M(tC,[["render",uC],["__file","circle-plus.vue"]]),iC={name:"Clock"},cC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dC=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),fC=f("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32z"},null,-1),pC=f("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32z"},null,-1),vC=[dC,fC,pC];function hC(e,t,n,o,l,a){return b(),C("svg",cC,vC)}var _C=M(iC,[["render",hC],["__file","clock.vue"]]),mC={name:"CloseBold"},gC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bC=f("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"},null,-1),yC=[bC];function wC(e,t,n,o,l,a){return b(),C("svg",gC,yC)}var CC=M(mC,[["render",wC],["__file","close-bold.vue"]]),EC={name:"Close"},AC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},FC=f("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"},null,-1),xC=[FC];function $C(e,t,n,o,l,a){return b(),C("svg",AC,xC)}var Cl=M(EC,[["render",$C],["__file","close.vue"]]),DC={name:"Cloudy"},BC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SC=f("path",{fill:"currentColor",d:"M598.4 831.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 831.872zm-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 381.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"},null,-1),kC=[SC];function PC(e,t,n,o,l,a){return b(),C("svg",BC,kC)}var LC=M(DC,[["render",PC],["__file","cloudy.vue"]]),zC={name:"CoffeeCup"},TC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MC=f("path",{fill:"currentColor",d:"M768 192a192 192 0 1 1-8 383.808A256.128 256.128 0 0 1 512 768H320A256 256 0 0 1 64 512V160a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v32zm0 64v256a128 128 0 1 0 0-256zM96 832h640a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64zm32-640v320a192 192 0 0 0 192 192h192a192 192 0 0 0 192-192V192H128z"},null,-1),VC=[MC];function HC(e,t,n,o,l,a){return b(),C("svg",TC,VC)}var IC=M(zC,[["render",HC],["__file","coffee-cup.vue"]]),RC={name:"Coffee"},NC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OC=f("path",{fill:"currentColor",d:"M822.592 192h14.272a32 32 0 0 1 31.616 26.752l21.312 128A32 32 0 0 1 858.24 384h-49.344l-39.04 546.304A32 32 0 0 1 737.92 960H285.824a32 32 0 0 1-32-29.696L214.912 384H165.76a32 32 0 0 1-31.552-37.248l21.312-128A32 32 0 0 1 187.136 192h14.016l-6.72-93.696A32 32 0 0 1 226.368 64h571.008a32 32 0 0 1 31.936 34.304L822.592 192zm-64.128 0 4.544-64H260.736l4.544 64h493.184zm-548.16 128H820.48l-10.688-64H214.208l-10.688 64h6.784zm68.736 64 36.544 512H708.16l36.544-512H279.04z"},null,-1),UC=[OC];function WC(e,t,n,o,l,a){return b(),C("svg",NC,UC)}var qC=M(RC,[["render",WC],["__file","coffee.vue"]]),jC={name:"Coin"},KC={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GC=f("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),YC=f("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"},null,-1),XC=f("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224zm0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160z"},null,-1),JC=[GC,YC,XC];function QC(e,t,n,o,l,a){return b(),C("svg",KC,JC)}var ZC=M(jC,[["render",QC],["__file","coin.vue"]]),eE={name:"ColdDrink"},tE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nE=f("path",{fill:"currentColor",d:"M768 64a192 192 0 1 1-69.952 370.88L480 725.376V896h96a32 32 0 1 1 0 64H320a32 32 0 1 1 0-64h96V725.376L76.8 273.536a64 64 0 0 1-12.8-38.4v-10.688a32 32 0 0 1 32-32h71.808l-65.536-83.84a32 32 0 0 1 50.432-39.424l96.256 123.264h337.728A192.064 192.064 0 0 1 768 64zM656.896 192.448H800a32 32 0 0 1 32 32v10.624a64 64 0 0 1-12.8 38.4l-80.448 107.2a128 128 0 1 0-81.92-188.16v-.064zm-357.888 64 129.472 165.76a32 32 0 0 1-50.432 39.36l-160.256-205.12H144l304 404.928 304-404.928H299.008z"},null,-1),oE=[nE];function lE(e,t,n,o,l,a){return b(),C("svg",tE,oE)}var aE=M(eE,[["render",lE],["__file","cold-drink.vue"]]),rE={name:"CollectionTag"},uE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sE=f("path",{fill:"currentColor",d:"M256 128v698.88l196.032-156.864a96 96 0 0 1 119.936 0L768 826.816V128H256zm-32-64h576a32 32 0 0 1 32 32v797.44a32 32 0 0 1-51.968 24.96L531.968 720a32 32 0 0 0-39.936 0L243.968 918.4A32 32 0 0 1 192 893.44V96a32 32 0 0 1 32-32z"},null,-1),iE=[sE];function cE(e,t,n,o,l,a){return b(),C("svg",uE,iE)}var dE=M(rE,[["render",cE],["__file","collection-tag.vue"]]),fE={name:"Collection"},pE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vE=f("path",{fill:"currentColor",d:"M192 736h640V128H256a64 64 0 0 0-64 64v544zm64-672h608a32 32 0 0 1 32 32v672a32 32 0 0 1-32 32H160l-32 57.536V192A128 128 0 0 1 256 64z"},null,-1),hE=f("path",{fill:"currentColor",d:"M240 800a48 48 0 1 0 0 96h592v-96H240zm0-64h656v160a64 64 0 0 1-64 64H240a112 112 0 0 1 0-224zm144-608v250.88l96-76.8 96 76.8V128H384zm-64-64h320v381.44a32 32 0 0 1-51.968 24.96L480 384l-108.032 86.4A32 32 0 0 1 320 445.44V64z"},null,-1),_E=[vE,hE];function mE(e,t,n,o,l,a){return b(),C("svg",pE,_E)}var gE=M(fE,[["render",mE],["__file","collection.vue"]]),bE={name:"Comment"},yE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wE=f("path",{fill:"currentColor",d:"M736 504a56 56 0 1 1 0-112 56 56 0 0 1 0 112zm-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112zm-224 0a56 56 0 1 1 0-112 56 56 0 0 1 0 112zM128 128v640h192v160l224-160h352V128H128z"},null,-1),CE=[wE];function EE(e,t,n,o,l,a){return b(),C("svg",yE,CE)}var AE=M(bE,[["render",EE],["__file","comment.vue"]]),FE={name:"Compass"},xE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$E=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),DE=f("path",{fill:"currentColor",d:"M725.888 315.008C676.48 428.672 624 513.28 568.576 568.64c-55.424 55.424-139.968 107.904-253.568 157.312a12.8 12.8 0 0 1-16.896-16.832c49.536-113.728 102.016-198.272 157.312-253.632 55.36-55.296 139.904-107.776 253.632-157.312a12.8 12.8 0 0 1 16.832 16.832z"},null,-1),BE=[$E,DE];function SE(e,t,n,o,l,a){return b(),C("svg",xE,BE)}var kE=M(FE,[["render",SE],["__file","compass.vue"]]),PE={name:"Connection"},LE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zE=f("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192h192z"},null,-1),TE=f("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192H384z"},null,-1),ME=[zE,TE];function VE(e,t,n,o,l,a){return b(),C("svg",LE,ME)}var HE=M(PE,[["render",VE],["__file","connection.vue"]]),IE={name:"Coordinate"},RE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},NE=f("path",{fill:"currentColor",d:"M480 512h64v320h-64z"},null,-1),OE=f("path",{fill:"currentColor",d:"M192 896h640a64 64 0 0 0-64-64H256a64 64 0 0 0-64 64zm64-128h512a128 128 0 0 1 128 128v64H128v-64a128 128 0 0 1 128-128zm256-256a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),UE=[NE,OE];function WE(e,t,n,o,l,a){return b(),C("svg",RE,UE)}var qE=M(IE,[["render",WE],["__file","coordinate.vue"]]),jE={name:"CopyDocument"},KE={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GE=f("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64h64z"},null,-1),YE=f("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64H384zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64z"},null,-1),XE=[GE,YE];function JE(e,t,n,o,l,a){return b(),C("svg",KE,XE)}var QE=M(jE,[["render",JE],["__file","copy-document.vue"]]),ZE={name:"Cpu"},eA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tA=f("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H320zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128z"},null,-1),nA=f("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32zm160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zm160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zm-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32zM64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32zm896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32zm0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32zm0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32z"},null,-1),oA=[tA,nA];function lA(e,t,n,o,l,a){return b(),C("svg",eA,oA)}var aA=M(ZE,[["render",lA],["__file","cpu.vue"]]),rA={name:"CreditCard"},uA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sA=f("path",{fill:"currentColor",d:"M896 324.096c0-42.368-2.496-55.296-9.536-68.48a52.352 52.352 0 0 0-22.144-22.08c-13.12-7.04-26.048-9.536-68.416-9.536H228.096c-42.368 0-55.296 2.496-68.48 9.536a52.352 52.352 0 0 0-22.08 22.144c-7.04 13.12-9.536 26.048-9.536 68.416v375.808c0 42.368 2.496 55.296 9.536 68.48a52.352 52.352 0 0 0 22.144 22.08c13.12 7.04 26.048 9.536 68.416 9.536h567.808c42.368 0 55.296-2.496 68.48-9.536a52.352 52.352 0 0 0 22.08-22.144c7.04-13.12 9.536-26.048 9.536-68.416V324.096zm64 0v375.808c0 57.088-5.952 77.76-17.088 98.56-11.136 20.928-27.52 37.312-48.384 48.448-20.864 11.136-41.6 17.088-98.56 17.088H228.032c-57.088 0-77.76-5.952-98.56-17.088a116.288 116.288 0 0 1-48.448-48.384c-11.136-20.864-17.088-41.6-17.088-98.56V324.032c0-57.088 5.952-77.76 17.088-98.56 11.136-20.928 27.52-37.312 48.384-48.448 20.864-11.136 41.6-17.088 98.56-17.088H795.84c57.088 0 77.76 5.952 98.56 17.088 20.928 11.136 37.312 27.52 48.448 48.384 11.136 20.864 17.088 41.6 17.088 98.56z"},null,-1),iA=f("path",{fill:"currentColor",d:"M64 320h896v64H64v-64zm0 128h896v64H64v-64zm128 192h256v64H192z"},null,-1),cA=[sA,iA];function dA(e,t,n,o,l,a){return b(),C("svg",uA,cA)}var fA=M(rA,[["render",dA],["__file","credit-card.vue"]]),pA={name:"Crop"},vA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hA=f("path",{fill:"currentColor",d:"M256 768h672a32 32 0 1 1 0 64H224a32 32 0 0 1-32-32V96a32 32 0 0 1 64 0v672z"},null,-1),_A=f("path",{fill:"currentColor",d:"M832 224v704a32 32 0 1 1-64 0V256H96a32 32 0 0 1 0-64h704a32 32 0 0 1 32 32z"},null,-1),mA=[hA,_A];function gA(e,t,n,o,l,a){return b(),C("svg",vA,mA)}var bA=M(pA,[["render",gA],["__file","crop.vue"]]),yA={name:"DArrowLeft"},wA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},CA=f("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"},null,-1),EA=[CA];function AA(e,t,n,o,l,a){return b(),C("svg",wA,EA)}var _f=M(yA,[["render",AA],["__file","d-arrow-left.vue"]]),FA={name:"DArrowRight"},xA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$A=f("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688zm-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"},null,-1),DA=[$A];function BA(e,t,n,o,l,a){return b(),C("svg",xA,DA)}var mf=M(FA,[["render",BA],["__file","d-arrow-right.vue"]]),SA={name:"DCaret"},kA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PA=f("path",{fill:"currentColor",d:"m512 128 288 320H224l288-320zM224 576h576L512 896 224 576z"},null,-1),LA=[PA];function zA(e,t,n,o,l,a){return b(),C("svg",kA,LA)}var TA=M(SA,[["render",zA],["__file","d-caret.vue"]]),MA={name:"DataAnalysis"},VA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HA=f("path",{fill:"currentColor",d:"m665.216 768 110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216zM832 192H192v512h640V192zM352 448a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0v-64a32 32 0 0 1 32-32zm160-64a32 32 0 0 1 32 32v128a32 32 0 0 1-64 0V416a32 32 0 0 1 32-32zm160-64a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V352a32 32 0 0 1 32-32z"},null,-1),IA=[HA];function RA(e,t,n,o,l,a){return b(),C("svg",VA,IA)}var NA=M(MA,[["render",RA],["__file","data-analysis.vue"]]),OA={name:"DataBoard"},UA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WA=f("path",{fill:"currentColor",d:"M32 128h960v64H32z"},null,-1),qA=f("path",{fill:"currentColor",d:"M192 192v512h640V192H192zm-64-64h768v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V128z"},null,-1),jA=f("path",{fill:"currentColor",d:"M322.176 960H248.32l144.64-250.56 55.424 32L322.176 960zm453.888 0h-73.856L576 741.44l55.424-32L776.064 960z"},null,-1),KA=[WA,qA,jA];function GA(e,t,n,o,l,a){return b(),C("svg",UA,KA)}var YA=M(OA,[["render",GA],["__file","data-board.vue"]]),XA={name:"DataLine"},JA={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},QA=f("path",{fill:"currentColor",d:"M359.168 768H160a32 32 0 0 1-32-32V192H64a32 32 0 0 1 0-64h896a32 32 0 1 1 0 64h-64v544a32 32 0 0 1-32 32H665.216l110.848 192h-73.856L591.36 768H433.024L322.176 960H248.32l110.848-192zM832 192H192v512h640V192zM342.656 534.656a32 32 0 1 1-45.312-45.312L444.992 341.76l125.44 94.08L679.04 300.032a32 32 0 1 1 49.92 39.936L581.632 524.224 451.008 426.24 342.656 534.592z"},null,-1),ZA=[QA];function eF(e,t,n,o,l,a){return b(),C("svg",JA,ZA)}var tF=M(XA,[["render",eF],["__file","data-line.vue"]]),nF={name:"DeleteFilled"},oF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lF=f("path",{fill:"currentColor",d:"M352 192V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64H96a32 32 0 0 1 0-64h256zm64 0h192v-64H416v64zM192 960a32 32 0 0 1-32-32V256h704v672a32 32 0 0 1-32 32H192zm224-192a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32zm192 0a32 32 0 0 0 32-32V416a32 32 0 0 0-64 0v320a32 32 0 0 0 32 32z"},null,-1),aF=[lF];function rF(e,t,n,o,l,a){return b(),C("svg",oF,aF)}var uF=M(nF,[["render",rF],["__file","delete-filled.vue"]]),sF={name:"DeleteLocation"},iF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cF=f("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),dF=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),fF=f("path",{fill:"currentColor",d:"M384 384h256q32 0 32 32t-32 32H384q-32 0-32-32t32-32z"},null,-1),pF=[cF,dF,fF];function vF(e,t,n,o,l,a){return b(),C("svg",iF,pF)}var hF=M(sF,[["render",vF],["__file","delete-location.vue"]]),_F={name:"Delete"},mF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gF=f("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V256zm448-64v-64H416v64h192zM224 896h576V256H224v640zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32zm192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32z"},null,-1),bF=[gF];function yF(e,t,n,o,l,a){return b(),C("svg",mF,bF)}var gf=M(_F,[["render",yF],["__file","delete.vue"]]),wF={name:"Dessert"},CF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EF=f("path",{fill:"currentColor",d:"M128 416v-48a144 144 0 0 1 168.64-141.888 224.128 224.128 0 0 1 430.72 0A144 144 0 0 1 896 368v48a384 384 0 0 1-352 382.72V896h-64v-97.28A384 384 0 0 1 128 416zm287.104-32.064h193.792a143.808 143.808 0 0 1 58.88-132.736 160.064 160.064 0 0 0-311.552 0 143.808 143.808 0 0 1 58.88 132.8zm-72.896 0a72 72 0 1 0-140.48 0h140.48zm339.584 0h140.416a72 72 0 1 0-140.48 0zM512 736a320 320 0 0 0 318.4-288.064H193.6A320 320 0 0 0 512 736zM384 896.064h256a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64z"},null,-1),AF=[EF];function FF(e,t,n,o,l,a){return b(),C("svg",CF,AF)}var xF=M(wF,[["render",FF],["__file","dessert.vue"]]),$F={name:"Discount"},DF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BF=f("path",{fill:"currentColor",d:"M224 704h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336V704zm0 64v128h576V768H224zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"},null,-1),SF=f("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),kF=[BF,SF];function PF(e,t,n,o,l,a){return b(),C("svg",DF,kF)}var LF=M($F,[["render",PF],["__file","discount.vue"]]),zF={name:"DishDot"},TF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MF=f("path",{fill:"currentColor",d:"m384.064 274.56.064-50.688A128 128 0 0 1 512.128 96c70.528 0 127.68 57.152 127.68 127.68v50.752A448.192 448.192 0 0 1 955.392 768H68.544A448.192 448.192 0 0 1 384 274.56zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64zm32-128h768a384 384 0 1 0-768 0zm447.808-448v-32.32a63.68 63.68 0 0 0-63.68-63.68 64 64 0 0 0-64 63.936V256h127.68z"},null,-1),VF=[MF];function HF(e,t,n,o,l,a){return b(),C("svg",TF,VF)}var IF=M(zF,[["render",HF],["__file","dish-dot.vue"]]),RF={name:"Dish"},NF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OF=f("path",{fill:"currentColor",d:"M480 257.152V192h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96v65.152A448 448 0 0 1 955.52 768H68.48A448 448 0 0 1 480 257.152zM128 704h768a384 384 0 1 0-768 0zM96 832h832a32 32 0 1 1 0 64H96a32 32 0 1 1 0-64z"},null,-1),UF=[OF];function WF(e,t,n,o,l,a){return b(),C("svg",NF,UF)}var qF=M(RF,[["render",WF],["__file","dish.vue"]]),jF={name:"DocumentAdd"},KF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GF=f("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm320 512V448h64v128h128v64H544v128h-64V640H352v-64h128z"},null,-1),YF=[GF];function XF(e,t,n,o,l,a){return b(),C("svg",KF,YF)}var JF=M(jF,[["render",XF],["__file","document-add.vue"]]),QF={name:"DocumentChecked"},ZF={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ex=f("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm318.4 582.144 180.992-180.992L704.64 510.4 478.4 736.64 320 578.304l45.248-45.312L478.4 646.144z"},null,-1),tx=[ex];function nx(e,t,n,o,l,a){return b(),C("svg",ZF,tx)}var ox=M(QF,[["render",nx],["__file","document-checked.vue"]]),lx={name:"DocumentCopy"},ax={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rx=f("path",{fill:"currentColor",d:"M128 320v576h576V320H128zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32zM960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32zM256 672h320v64H256v-64zm0-192h320v64H256v-64z"},null,-1),ux=[rx];function sx(e,t,n,o,l,a){return b(),C("svg",ax,ux)}var ix=M(lx,[["render",sx],["__file","document-copy.vue"]]),cx={name:"DocumentDelete"},dx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fx=f("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm308.992 546.304-90.496-90.624 45.248-45.248 90.56 90.496 90.496-90.432 45.248 45.248-90.496 90.56 90.496 90.496-45.248 45.248-90.496-90.496-90.56 90.496-45.248-45.248 90.496-90.496z"},null,-1),px=[fx];function vx(e,t,n,o,l,a){return b(),C("svg",dx,px)}var hx=M(cx,[["render",vx],["__file","document-delete.vue"]]),_x={name:"DocumentRemove"},mx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gx=f("path",{fill:"currentColor",d:"M805.504 320 640 154.496V320h165.504zM832 384H576V128H192v768h640V384zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm192 512h320v64H352v-64z"},null,-1),bx=[gx];function yx(e,t,n,o,l,a){return b(),C("svg",mx,bx)}var wx=M(_x,[["render",yx],["__file","document-remove.vue"]]),Cx={name:"Document"},Ex={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ax=f("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640V384zm-26.496-64L640 154.496V320h165.504zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h160v64H320v-64zm0 384h384v64H320v-64z"},null,-1),Fx=[Ax];function xx(e,t,n,o,l,a){return b(),C("svg",Ex,Fx)}var bf=M(Cx,[["render",xx],["__file","document.vue"]]),$x={name:"Download"},Dx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bx=f("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-253.696 236.288-236.352 45.248 45.248L508.8 704 192 387.2l45.248-45.248L480 584.704V128h64v450.304z"},null,-1),Sx=[Bx];function kx(e,t,n,o,l,a){return b(),C("svg",Dx,Sx)}var Px=M($x,[["render",kx],["__file","download.vue"]]),Lx={name:"Drizzling"},zx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Tx=f("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480zM288 800h64v64h-64v-64zm192 0h64v64h-64v-64zm-96 96h64v64h-64v-64zm192 0h64v64h-64v-64zm96-96h64v64h-64v-64z"},null,-1),Mx=[Tx];function Vx(e,t,n,o,l,a){return b(),C("svg",zx,Mx)}var Hx=M(Lx,[["render",Vx],["__file","drizzling.vue"]]),Ix={name:"EditPen"},Rx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Nx=f("path",{d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696L175.168 732.8zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336L104.32 708.8zm384 254.272v-64h448v64h-448z",fill:"currentColor"},null,-1),Ox=[Nx];function Ux(e,t,n,o,l,a){return b(),C("svg",Rx,Ox)}var Wx=M(Ix,[["render",Ux],["__file","edit-pen.vue"]]),qx={name:"Edit"},jx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Kx=f("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640V512z"},null,-1),Gx=f("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"},null,-1),Yx=[Kx,Gx];function Xx(e,t,n,o,l,a){return b(),C("svg",jx,Yx)}var Jx=M(qx,[["render",Xx],["__file","edit.vue"]]),Qx={name:"ElemeFilled"},Zx={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},e$=f("path",{fill:"currentColor",d:"M176 64h672c61.824 0 112 50.176 112 112v672a112 112 0 0 1-112 112H176A112 112 0 0 1 64 848V176c0-61.824 50.176-112 112-112zm150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z"},null,-1),t$=[e$];function n$(e,t,n,o,l,a){return b(),C("svg",Zx,t$)}var o$=M(Qx,[["render",n$],["__file","eleme-filled.vue"]]),l$={name:"Eleme"},a$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},r$=f("path",{fill:"currentColor",d:"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z"},null,-1),u$=[r$];function s$(e,t,n,o,l,a){return b(),C("svg",a$,u$)}var i$=M(l$,[["render",s$],["__file","eleme.vue"]]),c$={name:"ElementPlus"},d$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},f$=f("path",{d:"M839.7 734.7c0 33.3-17.9 41-17.9 41S519.7 949.8 499.2 960c-10.2 5.1-20.5 5.1-30.7 0 0 0-314.9-184.3-325.1-192-5.1-5.1-10.2-12.8-12.8-20.5V368.6c0-17.9 20.5-28.2 20.5-28.2L466 158.6c12.8-5.1 25.6-5.1 38.4 0 0 0 279 161.3 309.8 179.2 17.9 7.7 28.2 25.6 25.6 46.1-.1-5-.1 317.5-.1 350.8zM714.2 371.2c-64-35.8-217.6-125.4-217.6-125.4-7.7-5.1-20.5-5.1-30.7 0L217.6 389.1s-17.9 10.2-17.9 23v297c0 5.1 5.1 12.8 7.7 17.9 7.7 5.1 256 148.5 256 148.5 7.7 5.1 17.9 5.1 25.6 0 15.4-7.7 250.9-145.9 250.9-145.9s12.8-5.1 12.8-30.7v-74.2l-276.5 169v-64c0-17.9 7.7-30.7 20.5-46.1L745 535c5.1-7.7 10.2-20.5 10.2-30.7v-66.6l-279 169v-69.1c0-15.4 5.1-30.7 17.9-38.4l220.1-128zM919 135.7c0-5.1-5.1-7.7-7.7-7.7h-58.9V66.6c0-5.1-5.1-5.1-10.2-5.1l-30.7 5.1c-5.1 0-5.1 2.6-5.1 5.1V128h-56.3c-5.1 0-5.1 5.1-7.7 5.1v38.4h69.1v64c0 5.1 5.1 5.1 10.2 5.1l30.7-5.1c5.1 0 5.1-2.6 5.1-5.1v-56.3h64l-2.5-38.4z",fill:"currentColor"},null,-1),p$=[f$];function v$(e,t,n,o,l,a){return b(),C("svg",d$,p$)}var h$=M(c$,[["render",v$],["__file","element-plus.vue"]]),_$={name:"Expand"},m$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},g$=f("path",{fill:"currentColor",d:"M128 192h768v128H128V192zm0 256h512v128H128V448zm0 256h768v128H128V704zm576-352 192 160-192 128V352z"},null,-1),b$=[g$];function y$(e,t,n,o,l,a){return b(),C("svg",m$,b$)}var w$=M(_$,[["render",y$],["__file","expand.vue"]]),C$={name:"Failed"},E$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},A$=f("path",{fill:"currentColor",d:"m557.248 608 135.744-135.744-45.248-45.248-135.68 135.744-135.808-135.68-45.248 45.184L466.752 608l-135.68 135.68 45.184 45.312L512 653.248l135.744 135.744 45.248-45.248L557.312 608zM704 192h160v736H160V192h160v64h384v-64zm-320 0V96h256v96H384z"},null,-1),F$=[A$];function x$(e,t,n,o,l,a){return b(),C("svg",E$,F$)}var $$=M(C$,[["render",x$],["__file","failed.vue"]]),D$={name:"Female"},B$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},S$=f("path",{fill:"currentColor",d:"M512 640a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),k$=f("path",{fill:"currentColor",d:"M512 640q32 0 32 32v256q0 32-32 32t-32-32V672q0-32 32-32z"},null,-1),P$=f("path",{fill:"currentColor",d:"M352 800h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32z"},null,-1),L$=[S$,k$,P$];function z$(e,t,n,o,l,a){return b(),C("svg",B$,L$)}var T$=M(D$,[["render",z$],["__file","female.vue"]]),M$={name:"Files"},V$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},H$=f("path",{fill:"currentColor",d:"M128 384v448h768V384H128zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32zm64-128h704v64H160zm96-128h512v64H256z"},null,-1),I$=[H$];function R$(e,t,n,o,l,a){return b(),C("svg",V$,I$)}var N$=M(M$,[["render",R$],["__file","files.vue"]]),O$={name:"Film"},U$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},W$=f("path",{fill:"currentColor",d:"M160 160v704h704V160H160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32z"},null,-1),q$=f("path",{fill:"currentColor",d:"M320 288V128h64v352h256V128h64v160h160v64H704v128h160v64H704v128h160v64H704v160h-64V544H384v352h-64V736H128v-64h192V544H128v-64h192V352H128v-64h192z"},null,-1),j$=[W$,q$];function K$(e,t,n,o,l,a){return b(),C("svg",U$,j$)}var G$=M(O$,[["render",K$],["__file","film.vue"]]),Y$={name:"Filter"},X$={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},J$=f("path",{fill:"currentColor",d:"M384 523.392V928a32 32 0 0 0 46.336 28.608l192-96A32 32 0 0 0 640 832V523.392l280.768-343.104a32 32 0 1 0-49.536-40.576l-288 352A32 32 0 0 0 576 512v300.224l-128 64V512a32 32 0 0 0-7.232-20.288L195.52 192H704a32 32 0 1 0 0-64H128a32 32 0 0 0-24.768 52.288L384 523.392z"},null,-1),Q$=[J$];function Z$(e,t,n,o,l,a){return b(),C("svg",X$,Q$)}var eD=M(Y$,[["render",Z$],["__file","filter.vue"]]),tD={name:"Finished"},nD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oD=f("path",{fill:"currentColor",d:"M280.768 753.728 691.456 167.04a32 32 0 1 1 52.416 36.672L314.24 817.472a32 32 0 0 1-45.44 7.296l-230.4-172.8a32 32 0 0 1 38.4-51.2l203.968 152.96zM736 448a32 32 0 1 1 0-64h192a32 32 0 1 1 0 64H736zM608 640a32 32 0 0 1 0-64h319.936a32 32 0 1 1 0 64H608zM480 832a32 32 0 1 1 0-64h447.936a32 32 0 1 1 0 64H480z"},null,-1),lD=[oD];function aD(e,t,n,o,l,a){return b(),C("svg",nD,lD)}var rD=M(tD,[["render",aD],["__file","finished.vue"]]),uD={name:"FirstAidKit"},sD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iD=f("path",{fill:"currentColor",d:"M192 256a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64H192zm0-64h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128z"},null,-1),cD=f("path",{fill:"currentColor",d:"M544 512h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96v-96a32 32 0 0 1 64 0v96zM352 128v64h320v-64H352zm-32-64h384a32 32 0 0 1 32 32v128a32 32 0 0 1-32 32H320a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),dD=[iD,cD];function fD(e,t,n,o,l,a){return b(),C("svg",sD,dD)}var pD=M(uD,[["render",fD],["__file","first-aid-kit.vue"]]),vD={name:"Flag"},hD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_D=f("path",{fill:"currentColor",d:"M288 128h608L736 384l160 256H288v320h-96V64h96v64z"},null,-1),mD=[_D];function gD(e,t,n,o,l,a){return b(),C("svg",hD,mD)}var bD=M(vD,[["render",gD],["__file","flag.vue"]]),yD={name:"Fold"},wD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},CD=f("path",{fill:"currentColor",d:"M896 192H128v128h768V192zm0 256H384v128h512V448zm0 256H128v128h768V704zM320 384 128 512l192 128V384z"},null,-1),ED=[CD];function AD(e,t,n,o,l,a){return b(),C("svg",wD,ED)}var FD=M(yD,[["render",AD],["__file","fold.vue"]]),xD={name:"FolderAdd"},$D={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},DD=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm384 416V416h64v128h128v64H544v128h-64V608H352v-64h128z"},null,-1),BD=[DD];function SD(e,t,n,o,l,a){return b(),C("svg",$D,BD)}var kD=M(xD,[["render",SD],["__file","folder-add.vue"]]),PD={name:"FolderChecked"},LD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zD=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm414.08 502.144 180.992-180.992L736.32 494.4 510.08 720.64l-158.4-158.336 45.248-45.312L510.08 630.144z"},null,-1),TD=[zD];function MD(e,t,n,o,l,a){return b(),C("svg",LD,TD)}var VD=M(PD,[["render",MD],["__file","folder-checked.vue"]]),HD={name:"FolderDelete"},ID={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RD=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm370.752 448-90.496-90.496 45.248-45.248L512 530.752l90.496-90.496 45.248 45.248L557.248 576l90.496 90.496-45.248 45.248L512 621.248l-90.496 90.496-45.248-45.248L466.752 576z"},null,-1),ND=[RD];function OD(e,t,n,o,l,a){return b(),C("svg",ID,ND)}var UD=M(HD,[["render",OD],["__file","folder-delete.vue"]]),WD={name:"FolderOpened"},qD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jD=f("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384H832zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896z"},null,-1),KD=[jD];function GD(e,t,n,o,l,a){return b(),C("svg",qD,KD)}var YD=M(WD,[["render",GD],["__file","folder-opened.vue"]]),XD={name:"FolderRemove"},JD={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},QD=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32zm256 416h320v64H352v-64z"},null,-1),ZD=[QD];function eB(e,t,n,o,l,a){return b(),C("svg",JD,ZD)}var tB=M(XD,[["render",eB],["__file","folder-remove.vue"]]),nB={name:"Folder"},oB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lB=f("path",{fill:"currentColor",d:"M128 192v640h768V320H485.76L357.504 192H128zm-32-64h287.872l128.384 128H928a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32z"},null,-1),aB=[lB];function rB(e,t,n,o,l,a){return b(),C("svg",oB,aB)}var uB=M(nB,[["render",rB],["__file","folder.vue"]]),sB={name:"Food"},iB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cB=f("path",{fill:"currentColor",d:"M128 352.576V352a288 288 0 0 1 491.072-204.224 192 192 0 0 1 274.24 204.48 64 64 0 0 1 57.216 74.24C921.6 600.512 850.048 710.656 736 756.992V800a96 96 0 0 1-96 96H384a96 96 0 0 1-96-96v-43.008c-114.048-46.336-185.6-156.48-214.528-330.496A64 64 0 0 1 128 352.64zm64-.576h64a160 160 0 0 1 320 0h64a224 224 0 0 0-448 0zm128 0h192a96 96 0 0 0-192 0zm439.424 0h68.544A128.256 128.256 0 0 0 704 192c-15.36 0-29.952 2.688-43.52 7.616 11.328 18.176 20.672 37.76 27.84 58.304A64.128 64.128 0 0 1 759.424 352zM672 768H352v32a32 32 0 0 0 32 32h256a32 32 0 0 0 32-32v-32zm-342.528-64h365.056c101.504-32.64 165.76-124.928 192.896-288H136.576c27.136 163.072 91.392 255.36 192.896 288z"},null,-1),dB=[cB];function fB(e,t,n,o,l,a){return b(),C("svg",iB,dB)}var pB=M(sB,[["render",fB],["__file","food.vue"]]),vB={name:"Football"},hB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_B=f("path",{fill:"currentColor",d:"M512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896zm0-64a384 384 0 1 0 0-768 384 384 0 0 0 0 768z"},null,-1),mB=f("path",{fill:"currentColor",d:"M186.816 268.288c16-16.384 31.616-31.744 46.976-46.08 17.472 30.656 39.808 58.112 65.984 81.28l-32.512 56.448a385.984 385.984 0 0 1-80.448-91.648zm653.696-5.312a385.92 385.92 0 0 1-83.776 96.96l-32.512-56.384a322.923 322.923 0 0 0 68.48-85.76c15.552 14.08 31.488 29.12 47.808 45.184zM465.984 445.248l11.136-63.104a323.584 323.584 0 0 0 69.76 0l11.136 63.104a387.968 387.968 0 0 1-92.032 0zm-62.72-12.8A381.824 381.824 0 0 1 320 396.544l32-55.424a319.885 319.885 0 0 0 62.464 27.712l-11.2 63.488zm300.8-35.84a381.824 381.824 0 0 1-83.328 35.84l-11.2-63.552A319.885 319.885 0 0 0 672 341.184l32 55.424zm-520.768 364.8a385.92 385.92 0 0 1 83.968-97.28l32.512 56.32c-26.88 23.936-49.856 52.352-67.52 84.032-16-13.44-32.32-27.712-48.96-43.072zm657.536.128a1442.759 1442.759 0 0 1-49.024 43.072 321.408 321.408 0 0 0-67.584-84.16l32.512-56.32c33.216 27.456 61.696 60.352 84.096 97.408zM465.92 578.752a387.968 387.968 0 0 1 92.032 0l-11.136 63.104a323.584 323.584 0 0 0-69.76 0l-11.136-63.104zm-62.72 12.8 11.2 63.552a319.885 319.885 0 0 0-62.464 27.712L320 627.392a381.824 381.824 0 0 1 83.264-35.84zm300.8 35.84-32 55.424a318.272 318.272 0 0 0-62.528-27.712l11.2-63.488c29.44 8.64 57.28 20.736 83.264 35.776z"},null,-1),gB=[_B,mB];function bB(e,t,n,o,l,a){return b(),C("svg",hB,gB)}var yB=M(vB,[["render",bB],["__file","football.vue"]]),wB={name:"ForkSpoon"},CB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EB=f("path",{fill:"currentColor",d:"M256 410.304V96a32 32 0 0 1 64 0v314.304a96 96 0 0 0 64-90.56V96a32 32 0 0 1 64 0v223.744a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.544a160 160 0 0 1-128-156.8V96a32 32 0 0 1 64 0v223.744a96 96 0 0 0 64 90.56zM672 572.48C581.184 552.128 512 446.848 512 320c0-141.44 85.952-256 192-256s192 114.56 192 256c0 126.848-69.184 232.128-160 252.48V928a32 32 0 1 1-64 0V572.48zM704 512c66.048 0 128-82.56 128-192s-61.952-192-128-192-128 82.56-128 192 61.952 192 128 192z"},null,-1),AB=[EB];function FB(e,t,n,o,l,a){return b(),C("svg",CB,AB)}var xB=M(wB,[["render",FB],["__file","fork-spoon.vue"]]),$B={name:"Fries"},DB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BB=f("path",{fill:"currentColor",d:"M608 224v-64a32 32 0 0 0-64 0v336h26.88A64 64 0 0 0 608 484.096V224zm101.12 160A64 64 0 0 0 672 395.904V384h64V224a32 32 0 1 0-64 0v160h37.12zm74.88 0a92.928 92.928 0 0 1 91.328 110.08l-60.672 323.584A96 96 0 0 1 720.32 896H303.68a96 96 0 0 1-94.336-78.336L148.672 494.08A92.928 92.928 0 0 1 240 384h-16V224a96 96 0 0 1 188.608-25.28A95.744 95.744 0 0 1 480 197.44V160a96 96 0 0 1 188.608-25.28A96 96 0 0 1 800 224v160h-16zM670.784 512a128 128 0 0 1-99.904 48H453.12a128 128 0 0 1-99.84-48H352v-1.536a128.128 128.128 0 0 1-9.984-14.976L314.88 448H240a28.928 28.928 0 0 0-28.48 34.304L241.088 640h541.824l29.568-157.696A28.928 28.928 0 0 0 784 448h-74.88l-27.136 47.488A132.405 132.405 0 0 1 672 510.464V512h-1.216zM480 288a32 32 0 0 0-64 0v196.096A64 64 0 0 0 453.12 496H480V288zm-128 96V224a32 32 0 0 0-64 0v160h64-37.12A64 64 0 0 1 352 395.904zm-98.88 320 19.072 101.888A32 32 0 0 0 303.68 832h416.64a32 32 0 0 0 31.488-26.112L770.88 704H253.12z"},null,-1),SB=[BB];function kB(e,t,n,o,l,a){return b(),C("svg",DB,SB)}var PB=M($B,[["render",kB],["__file","fries.vue"]]),LB={name:"FullScreen"},zB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},TB=f("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64v.064zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64l-192 .192zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64v-.064z"},null,-1),MB=[TB];function VB(e,t,n,o,l,a){return b(),C("svg",zB,MB)}var HB=M(LB,[["render",VB],["__file","full-screen.vue"]]),IB={name:"GobletFull"},RB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},NB=f("path",{fill:"currentColor",d:"M256 320h512c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320zm503.936 64H264.064a256.128 256.128 0 0 0 495.872 0zM544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4z"},null,-1),OB=[NB];function UB(e,t,n,o,l,a){return b(),C("svg",RB,OB)}var WB=M(IB,[["render",UB],["__file","goblet-full.vue"]]),qB={name:"GobletSquareFull"},jB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},KB=f("path",{fill:"currentColor",d:"M256 270.912c10.048 6.72 22.464 14.912 28.992 18.624a220.16 220.16 0 0 0 114.752 30.72c30.592 0 49.408-9.472 91.072-41.152l.64-.448c52.928-40.32 82.368-55.04 132.288-54.656 55.552.448 99.584 20.8 142.72 57.408l1.536 1.28V128H256v142.912zm.96 76.288C266.368 482.176 346.88 575.872 512 576c157.44.064 237.952-85.056 253.248-209.984a952.32 952.32 0 0 1-40.192-35.712c-32.704-27.776-63.36-41.92-101.888-42.24-31.552-.256-50.624 9.28-93.12 41.6l-.576.448c-52.096 39.616-81.024 54.208-129.792 54.208-54.784 0-100.48-13.376-142.784-37.056zM480 638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848z"},null,-1),GB=[KB];function YB(e,t,n,o,l,a){return b(),C("svg",jB,GB)}var XB=M(qB,[["render",YB],["__file","goblet-square-full.vue"]]),JB={name:"GobletSquare"},QB={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ZB=f("path",{fill:"currentColor",d:"M544 638.912V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.848C250.624 623.424 192 442.496 192 319.68V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v224c0 122.816-58.624 303.68-288 318.912zM256 319.68c0 149.568 80 256.192 256 256.256C688.128 576 768 469.568 768 320V128H256v191.68z"},null,-1),eS=[ZB];function tS(e,t,n,o,l,a){return b(),C("svg",QB,eS)}var nS=M(JB,[["render",tS],["__file","goblet-square.vue"]]),oS={name:"Goblet"},lS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aS=f("path",{fill:"currentColor",d:"M544 638.4V896h96a32 32 0 1 1 0 64H384a32 32 0 1 1 0-64h96V638.4A320 320 0 0 1 192 320c0-85.632 21.312-170.944 64-256h512c42.688 64.32 64 149.632 64 256a320 320 0 0 1-288 318.4zM256 320a256 256 0 1 0 512 0c0-78.592-12.608-142.4-36.928-192h-434.24C269.504 192.384 256 256.256 256 320z"},null,-1),rS=[aS];function uS(e,t,n,o,l,a){return b(),C("svg",lS,rS)}var sS=M(oS,[["render",uS],["__file","goblet.vue"]]),iS={name:"GoldMedal"},cS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},dS=f("path",{d:"m772.13 452.84 53.86-351.81c1.32-10.01-1.17-18.68-7.49-26.02S804.35 64 795.01 64H228.99v-.01h-.06c-9.33 0-17.15 3.67-23.49 11.01s-8.83 16.01-7.49 26.02l53.87 351.89C213.54 505.73 193.59 568.09 192 640c2 90.67 33.17 166.17 93.5 226.5S421.33 957.99 512 960c90.67-2 166.17-33.17 226.5-93.5 60.33-60.34 91.49-135.83 93.5-226.5-1.59-71.94-21.56-134.32-59.87-187.16zM640.01 128h117.02l-39.01 254.02c-20.75-10.64-40.74-19.73-59.94-27.28-5.92-3-11.95-5.8-18.08-8.41V128h.01zM576 128v198.76c-13.18-2.58-26.74-4.43-40.67-5.55-8.07-.8-15.85-1.2-23.33-1.2-10.54 0-21.09.66-31.64 1.96a359.844 359.844 0 0 0-32.36 4.79V128h128zm-192 0h.04v218.3c-6.22 2.66-12.34 5.5-18.36 8.56-19.13 7.54-39.02 16.6-59.66 27.16L267.01 128H384zm308.99 692.99c-48 48-108.33 73-180.99 75.01-72.66-2.01-132.99-27.01-180.99-75.01S258.01 712.66 256 640c2.01-72.66 27.01-132.99 75.01-180.99 19.67-19.67 41.41-35.47 65.22-47.41 38.33-15.04 71.15-23.92 98.44-26.65 5.07-.41 10.2-.7 15.39-.88.63-.01 1.28-.03 1.91-.03.66 0 1.35.03 2.02.04 5.11.17 10.15.46 15.13.86 27.4 2.71 60.37 11.65 98.91 26.79 23.71 11.93 45.36 27.69 64.96 47.29 48 48 73 108.33 75.01 180.99-2.01 72.65-27.01 132.98-75.01 180.98z",fill:"currentColor"},null,-1),fS=f("path",{d:"M544 480H416v64h64v192h-64v64h192v-64h-64z",fill:"currentColor"},null,-1),pS=[dS,fS];function vS(e,t,n,o,l,a){return b(),C("svg",cS,pS)}var hS=M(iS,[["render",vS],["__file","gold-medal.vue"]]),_S={name:"GoodsFilled"},mS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gS=f("path",{fill:"currentColor",d:"M192 352h640l64 544H128l64-544zm128 224h64V448h-64v128zm320 0h64V448h-64v128zM384 288h-64a192 192 0 1 1 384 0h-64a128 128 0 1 0-256 0z"},null,-1),bS=[gS];function yS(e,t,n,o,l,a){return b(),C("svg",mS,bS)}var wS=M(_S,[["render",yS],["__file","goods-filled.vue"]]),CS={name:"Goods"},ES={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},AS=f("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96z"},null,-1),FS=[AS];function xS(e,t,n,o,l,a){return b(),C("svg",ES,FS)}var $S=M(CS,[["render",xS],["__file","goods.vue"]]),DS={name:"Grape"},BS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SS=f("path",{fill:"currentColor",d:"M544 195.2a160 160 0 0 1 96 60.8 160 160 0 1 1 146.24 254.976 160 160 0 0 1-128 224 160 160 0 1 1-292.48 0 160 160 0 0 1-128-224A160 160 0 1 1 384 256a160 160 0 0 1 96-60.8V128h-64a32 32 0 0 1 0-64h192a32 32 0 0 1 0 64h-64v67.2zM512 448a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm-256 0a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128 224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm128-224a96 96 0 1 0 0-192 96 96 0 0 0 0 192z"},null,-1),kS=[SS];function PS(e,t,n,o,l,a){return b(),C("svg",BS,kS)}var LS=M(DS,[["render",PS],["__file","grape.vue"]]),zS={name:"Grid"},TS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MS=f("path",{fill:"currentColor",d:"M640 384v256H384V384h256zm64 0h192v256H704V384zm-64 512H384V704h256v192zm64 0V704h192v192H704zm-64-768v192H384V128h256zm64 0h192v192H704V128zM320 384v256H128V384h192zm0 512H128V704h192v192zm0-768v192H128V128h192z"},null,-1),VS=[MS];function HS(e,t,n,o,l,a){return b(),C("svg",TS,VS)}var IS=M(zS,[["render",HS],["__file","grid.vue"]]),RS={name:"Guide"},NS={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OS=f("path",{fill:"currentColor",d:"M640 608h-64V416h64v192zm0 160v160a32 32 0 0 1-32 32H416a32 32 0 0 1-32-32V768h64v128h128V768h64zM384 608V416h64v192h-64zm256-352h-64V128H448v128h-64V96a32 32 0 0 1 32-32h192a32 32 0 0 1 32 32v160z"},null,-1),US=f("path",{fill:"currentColor",d:"m220.8 256-71.232 80 71.168 80H768V256H220.8zm-14.4-64H800a32 32 0 0 1 32 32v224a32 32 0 0 1-32 32H206.4a32 32 0 0 1-23.936-10.752l-99.584-112a32 32 0 0 1 0-42.496l99.584-112A32 32 0 0 1 206.4 192zm678.784 496-71.104 80H266.816V608h547.2l71.168 80zm-56.768-144H234.88a32 32 0 0 0-32 32v224a32 32 0 0 0 32 32h593.6a32 32 0 0 0 23.936-10.752l99.584-112a32 32 0 0 0 0-42.496l-99.584-112A32 32 0 0 0 828.48 544z"},null,-1),WS=[OS,US];function qS(e,t,n,o,l,a){return b(),C("svg",NS,WS)}var jS=M(RS,[["render",qS],["__file","guide.vue"]]),KS={name:"Handbag"},GS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},YS=f("path",{d:"M887.01 264.99c-6-5.99-13.67-8.99-23.01-8.99H704c-1.34-54.68-20.01-100.01-56-136s-81.32-54.66-136-56c-54.68 1.34-100.01 20.01-136 56s-54.66 81.32-56 136H160c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.67-8.99 23.01v640c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V288c0-9.35-2.99-17.02-8.99-23.01zM421.5 165.5c24.32-24.34 54.49-36.84 90.5-37.5 35.99.68 66.16 13.18 90.5 37.5s36.84 54.49 37.5 90.5H384c.68-35.99 13.18-66.16 37.5-90.5zM832 896H192V320h128v128h64V320h256v128h64V320h128v576z",fill:"currentColor"},null,-1),XS=[YS];function JS(e,t,n,o,l,a){return b(),C("svg",GS,XS)}var QS=M(KS,[["render",JS],["__file","handbag.vue"]]),ZS={name:"Headset"},ek={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tk=f("path",{fill:"currentColor",d:"M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848zM896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0V640zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0z"},null,-1),nk=[tk];function ok(e,t,n,o,l,a){return b(),C("svg",ek,nk)}var lk=M(ZS,[["render",ok],["__file","headset.vue"]]),ak={name:"HelpFilled"},rk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uk=f("path",{fill:"currentColor",d:"M926.784 480H701.312A192.512 192.512 0 0 0 544 322.688V97.216A416.064 416.064 0 0 1 926.784 480zm0 64A416.064 416.064 0 0 1 544 926.784V701.312A192.512 192.512 0 0 0 701.312 544h225.472zM97.28 544h225.472A192.512 192.512 0 0 0 480 701.312v225.472A416.064 416.064 0 0 1 97.216 544zm0-64A416.064 416.064 0 0 1 480 97.216v225.472A192.512 192.512 0 0 0 322.688 480H97.216z"},null,-1),sk=[uk];function ik(e,t,n,o,l,a){return b(),C("svg",rk,sk)}var ck=M(ak,[["render",ik],["__file","help-filled.vue"]]),dk={name:"Help"},fk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pk=f("path",{fill:"currentColor",d:"m759.936 805.248-90.944-91.008A254.912 254.912 0 0 1 512 768a254.912 254.912 0 0 1-156.992-53.76l-90.944 91.008A382.464 382.464 0 0 0 512 896c94.528 0 181.12-34.176 247.936-90.752zm45.312-45.312A382.464 382.464 0 0 0 896 512c0-94.528-34.176-181.12-90.752-247.936l-91.008 90.944C747.904 398.4 768 452.864 768 512c0 59.136-20.096 113.6-53.76 156.992l91.008 90.944zm-45.312-541.184A382.464 382.464 0 0 0 512 128c-94.528 0-181.12 34.176-247.936 90.752l90.944 91.008A254.912 254.912 0 0 1 512 256c59.136 0 113.6 20.096 156.992 53.76l90.944-91.008zm-541.184 45.312A382.464 382.464 0 0 0 128 512c0 94.528 34.176 181.12 90.752 247.936l91.008-90.944A254.912 254.912 0 0 1 256 512c0-59.136 20.096-113.6 53.76-156.992l-91.008-90.944zm417.28 394.496a194.56 194.56 0 0 0 22.528-22.528C686.912 602.56 704 559.232 704 512a191.232 191.232 0 0 0-67.968-146.56A191.296 191.296 0 0 0 512 320a191.232 191.232 0 0 0-146.56 67.968C337.088 421.44 320 464.768 320 512a191.232 191.232 0 0 0 67.968 146.56C421.44 686.912 464.768 704 512 704c47.296 0 90.56-17.088 124.032-45.44zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),vk=[pk];function hk(e,t,n,o,l,a){return b(),C("svg",fk,vk)}var _k=M(dk,[["render",hk],["__file","help.vue"]]),mk={name:"Hide"},gk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bk=f("path",{d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2L371.2 588.8ZM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z",fill:"currentColor"},null,-1),yk=f("path",{d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z",fill:"currentColor"},null,-1),wk=[bk,yk];function Ck(e,t,n,o,l,a){return b(),C("svg",gk,wk)}var yf=M(mk,[["render",Ck],["__file","hide.vue"]]),Ek={name:"Histogram"},Ak={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Fk=f("path",{fill:"currentColor",d:"M416 896V128h192v768H416zm-288 0V448h192v448H128zm576 0V320h192v576H704z"},null,-1),xk=[Fk];function $k(e,t,n,o,l,a){return b(),C("svg",Ak,xk)}var Dk=M(Ek,[["render",$k],["__file","histogram.vue"]]),Bk={name:"HomeFilled"},Sk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kk=f("path",{fill:"currentColor",d:"M512 128 128 447.936V896h255.936V640H640v256h255.936V447.936z"},null,-1),Pk=[kk];function Lk(e,t,n,o,l,a){return b(),C("svg",Sk,Pk)}var zk=M(Bk,[["render",Lk],["__file","home-filled.vue"]]),Tk={name:"HotWater"},Mk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vk=f("path",{fill:"currentColor",d:"M273.067 477.867h477.866V409.6H273.067v68.267zm0 68.266v51.2A187.733 187.733 0 0 0 460.8 785.067h102.4a187.733 187.733 0 0 0 187.733-187.734v-51.2H273.067zm-34.134-204.8h546.134a34.133 34.133 0 0 1 34.133 34.134v221.866a256 256 0 0 1-256 256H460.8a256 256 0 0 1-256-256V375.467a34.133 34.133 0 0 1 34.133-34.134zM512 34.133a34.133 34.133 0 0 1 34.133 34.134v170.666a34.133 34.133 0 0 1-68.266 0V68.267A34.133 34.133 0 0 1 512 34.133zM375.467 102.4a34.133 34.133 0 0 1 34.133 34.133v102.4a34.133 34.133 0 0 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.134-34.133zm273.066 0a34.133 34.133 0 0 1 34.134 34.133v102.4a34.133 34.133 0 1 1-68.267 0v-102.4a34.133 34.133 0 0 1 34.133-34.133zM170.667 921.668h682.666a34.133 34.133 0 1 1 0 68.267H170.667a34.133 34.133 0 1 1 0-68.267z"},null,-1),Hk=[Vk];function Ik(e,t,n,o,l,a){return b(),C("svg",Mk,Hk)}var Rk=M(Tk,[["render",Ik],["__file","hot-water.vue"]]),Nk={name:"House"},Ok={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Uk=f("path",{fill:"currentColor",d:"M192 413.952V896h640V413.952L512 147.328 192 413.952zM139.52 374.4l352-293.312a32 32 0 0 1 40.96 0l352 293.312A32 32 0 0 1 896 398.976V928a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V398.976a32 32 0 0 1 11.52-24.576z"},null,-1),Wk=[Uk];function qk(e,t,n,o,l,a){return b(),C("svg",Ok,Wk)}var jk=M(Nk,[["render",qk],["__file","house.vue"]]),Kk={name:"IceCreamRound"},Gk={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Yk=f("path",{fill:"currentColor",d:"m308.352 489.344 226.304 226.304a32 32 0 0 0 45.248 0L783.552 512A192 192 0 1 0 512 240.448L308.352 444.16a32 32 0 0 0 0 45.248zm135.744 226.304L308.352 851.392a96 96 0 0 1-135.744-135.744l135.744-135.744-45.248-45.248a96 96 0 0 1 0-135.808L466.752 195.2A256 256 0 0 1 828.8 557.248L625.152 760.96a96 96 0 0 1-135.808 0l-45.248-45.248zM398.848 670.4 353.6 625.152 217.856 760.896a32 32 0 0 0 45.248 45.248L398.848 670.4zm248.96-384.64a32 32 0 0 1 0 45.248L466.624 512a32 32 0 1 1-45.184-45.248l180.992-181.056a32 32 0 0 1 45.248 0zm90.496 90.496a32 32 0 0 1 0 45.248L557.248 602.496A32 32 0 1 1 512 557.248l180.992-180.992a32 32 0 0 1 45.312 0z"},null,-1),Xk=[Yk];function Jk(e,t,n,o,l,a){return b(),C("svg",Gk,Xk)}var Qk=M(Kk,[["render",Jk],["__file","ice-cream-round.vue"]]),Zk={name:"IceCreamSquare"},eP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tP=f("path",{fill:"currentColor",d:"M416 640h256a32 32 0 0 0 32-32V160a32 32 0 0 0-32-32H352a32 32 0 0 0-32 32v448a32 32 0 0 0 32 32h64zm192 64v160a96 96 0 0 1-192 0V704h-64a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96h320a96 96 0 0 1 96 96v448a96 96 0 0 1-96 96h-64zm-64 0h-64v160a32 32 0 1 0 64 0V704z"},null,-1),nP=[tP];function oP(e,t,n,o,l,a){return b(),C("svg",eP,nP)}var lP=M(Zk,[["render",oP],["__file","ice-cream-square.vue"]]),aP={name:"IceCream"},rP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uP=f("path",{fill:"currentColor",d:"M128.64 448a208 208 0 0 1 193.536-191.552 224 224 0 0 1 445.248 15.488A208.128 208.128 0 0 1 894.784 448H896L548.8 983.68a32 32 0 0 1-53.248.704L128 448h.64zm64.256 0h286.208a144 144 0 0 0-286.208 0zm351.36 0h286.272a144 144 0 0 0-286.272 0zm-294.848 64 271.808 396.608L778.24 512H249.408zM511.68 352.64a207.872 207.872 0 0 1 189.184-96.192 160 160 0 0 0-314.752 5.632c52.608 12.992 97.28 46.08 125.568 90.56z"},null,-1),sP=[uP];function iP(e,t,n,o,l,a){return b(),C("svg",rP,sP)}var cP=M(aP,[["render",iP],["__file","ice-cream.vue"]]),dP={name:"IceDrink"},fP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pP=f("path",{fill:"currentColor",d:"M512 448v128h239.68l16.064-128H512zm-64 0H256.256l16.064 128H448V448zm64-255.36V384h247.744A256.128 256.128 0 0 0 512 192.64zm-64 8.064A256.448 256.448 0 0 0 264.256 384H448V200.704zm64-72.064A320.128 320.128 0 0 1 825.472 384H896a32 32 0 1 1 0 64h-64v1.92l-56.96 454.016A64 64 0 0 1 711.552 960H312.448a64 64 0 0 1-63.488-56.064L192 449.92V448h-64a32 32 0 0 1 0-64h70.528A320.384 320.384 0 0 1 448 135.04V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H544a32 32 0 0 0-32 32v32.64zM743.68 640H280.32l32.128 256h399.104l32.128-256z"},null,-1),vP=[pP];function hP(e,t,n,o,l,a){return b(),C("svg",fP,vP)}var _P=M(dP,[["render",hP],["__file","ice-drink.vue"]]),mP={name:"IceTea"},gP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bP=f("path",{fill:"currentColor",d:"M197.696 259.648a320.128 320.128 0 0 1 628.608 0A96 96 0 0 1 896 352v64a96 96 0 0 1-71.616 92.864l-49.408 395.072A64 64 0 0 1 711.488 960H312.512a64 64 0 0 1-63.488-56.064l-49.408-395.072A96 96 0 0 1 128 416v-64a96 96 0 0 1 69.696-92.352zM264.064 256h495.872a256.128 256.128 0 0 0-495.872 0zm495.424 256H264.512l48 384h398.976l48-384zM224 448h576a32 32 0 0 0 32-32v-64a32 32 0 0 0-32-32H224a32 32 0 0 0-32 32v64a32 32 0 0 0 32 32zm160 192h64v64h-64v-64zm192 64h64v64h-64v-64zm-128 64h64v64h-64v-64zm64-192h64v64h-64v-64z"},null,-1),yP=[bP];function wP(e,t,n,o,l,a){return b(),C("svg",gP,yP)}var CP=M(mP,[["render",wP],["__file","ice-tea.vue"]]),EP={name:"InfoFilled"},AP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},FP=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"},null,-1),xP=[FP];function $P(e,t,n,o,l,a){return b(),C("svg",AP,xP)}var t2=M(EP,[["render",$P],["__file","info-filled.vue"]]),DP={name:"Iphone"},BP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SP=f("path",{fill:"currentColor",d:"M224 768v96.064a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V768H224zm0-64h576V160a64 64 0 0 0-64-64H288a64 64 0 0 0-64 64v544zm32 288a96 96 0 0 1-96-96V128a96 96 0 0 1 96-96h512a96 96 0 0 1 96 96v768a96 96 0 0 1-96 96H256zm304-144a48 48 0 1 1-96 0 48 48 0 0 1 96 0z"},null,-1),kP=[SP];function PP(e,t,n,o,l,a){return b(),C("svg",BP,kP)}var LP=M(DP,[["render",PP],["__file","iphone.vue"]]),zP={name:"Key"},TP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MP=f("path",{fill:"currentColor",d:"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064zM512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384z"},null,-1),VP=[MP];function HP(e,t,n,o,l,a){return b(),C("svg",TP,VP)}var IP=M(zP,[["render",HP],["__file","key.vue"]]),RP={name:"KnifeFork"},NP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OP=f("path",{fill:"currentColor",d:"M256 410.56V96a32 32 0 0 1 64 0v314.56A96 96 0 0 0 384 320V96a32 32 0 0 1 64 0v224a160 160 0 0 1-128 156.8V928a32 32 0 1 1-64 0V476.8A160 160 0 0 1 128 320V96a32 32 0 0 1 64 0v224a96 96 0 0 0 64 90.56zm384-250.24V544h126.72c-3.328-78.72-12.928-147.968-28.608-207.744-14.336-54.528-46.848-113.344-98.112-175.872zM640 608v320a32 32 0 1 1-64 0V64h64c85.312 89.472 138.688 174.848 160 256 21.312 81.152 32 177.152 32 288H640z"},null,-1),UP=[OP];function WP(e,t,n,o,l,a){return b(),C("svg",NP,UP)}var qP=M(RP,[["render",WP],["__file","knife-fork.vue"]]),jP={name:"Lightning"},KP={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GP=f("path",{fill:"currentColor",d:"M288 671.36v64.128A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 736 734.016v-64.768a192 192 0 0 0 3.328-377.92l-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 91.968 70.464 167.36 160.256 175.232z"},null,-1),YP=f("path",{fill:"currentColor",d:"M416 736a32 32 0 0 1-27.776-47.872l128-224a32 32 0 1 1 55.552 31.744L471.168 672H608a32 32 0 0 1 27.776 47.872l-128 224a32 32 0 1 1-55.68-31.744L552.96 736H416z"},null,-1),XP=[GP,YP];function JP(e,t,n,o,l,a){return b(),C("svg",KP,XP)}var QP=M(jP,[["render",JP],["__file","lightning.vue"]]),ZP={name:"Link"},eL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tL=f("path",{fill:"currentColor",d:"M715.648 625.152 670.4 579.904l90.496-90.56c75.008-74.944 85.12-186.368 22.656-248.896-62.528-62.464-173.952-52.352-248.96 22.656L444.16 353.6l-45.248-45.248 90.496-90.496c100.032-99.968 251.968-110.08 339.456-22.656 87.488 87.488 77.312 239.424-22.656 339.456l-90.496 90.496zm-90.496 90.496-90.496 90.496C434.624 906.112 282.688 916.224 195.2 828.8c-87.488-87.488-77.312-239.424 22.656-339.456l90.496-90.496 45.248 45.248-90.496 90.56c-75.008 74.944-85.12 186.368-22.656 248.896 62.528 62.464 173.952 52.352 248.96-22.656l90.496-90.496 45.248 45.248zm0-362.048 45.248 45.248L398.848 670.4 353.6 625.152 625.152 353.6z"},null,-1),nL=[tL];function oL(e,t,n,o,l,a){return b(),C("svg",eL,nL)}var lL=M(ZP,[["render",oL],["__file","link.vue"]]),aL={name:"List"},rL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uL=f("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384v-64zM288 512h448v-64H288v64zm0 256h448v-64H288v64zm96-576V96h256v96H384z"},null,-1),sL=[uL];function iL(e,t,n,o,l,a){return b(),C("svg",rL,sL)}var cL=M(aL,[["render",iL],["__file","list.vue"]]),dL={name:"Loading"},fL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pL=f("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32zm448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32zm-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32zM195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0zm-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"},null,-1),vL=[pL];function hL(e,t,n,o,l,a){return b(),C("svg",fL,vL)}var cr=M(dL,[["render",hL],["__file","loading.vue"]]),_L={name:"LocationFilled"},mL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gL=f("path",{fill:"currentColor",d:"M512 928c23.936 0 117.504-68.352 192.064-153.152C803.456 661.888 864 535.808 864 416c0-189.632-155.84-320-352-320S160 226.368 160 416c0 120.32 60.544 246.4 159.936 359.232C394.432 859.84 488 928 512 928zm0-435.2a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 140.8a204.8 204.8 0 1 1 0-409.6 204.8 204.8 0 0 1 0 409.6z"},null,-1),bL=[gL];function yL(e,t,n,o,l,a){return b(),C("svg",mL,bL)}var wL=M(_L,[["render",yL],["__file","location-filled.vue"]]),CL={name:"LocationInformation"},EL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},AL=f("path",{fill:"currentColor",d:"M288 896h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),FL=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),xL=f("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320z"},null,-1),$L=[AL,FL,xL];function DL(e,t,n,o,l,a){return b(),C("svg",EL,$L)}var BL=M(CL,[["render",DL],["__file","location-information.vue"]]),SL={name:"Location"},kL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PL=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),LL=f("path",{fill:"currentColor",d:"M512 512a96 96 0 1 0 0-192 96 96 0 0 0 0 192zm0 64a160 160 0 1 1 0-320 160 160 0 0 1 0 320z"},null,-1),zL=[PL,LL];function TL(e,t,n,o,l,a){return b(),C("svg",kL,zL)}var ML=M(SL,[["render",TL],["__file","location.vue"]]),VL={name:"Lock"},HL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IL=f("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"},null,-1),RL=f("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm192-160v-64a192 192 0 1 0-384 0v64h384zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64z"},null,-1),NL=[IL,RL];function OL(e,t,n,o,l,a){return b(),C("svg",HL,NL)}var UL=M(VL,[["render",OL],["__file","lock.vue"]]),WL={name:"Lollipop"},qL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jL=f("path",{fill:"currentColor",d:"M513.28 448a64 64 0 1 1 76.544 49.728A96 96 0 0 0 768 448h64a160 160 0 0 1-320 0h1.28zm-126.976-29.696a256 256 0 1 0 43.52-180.48A256 256 0 0 1 832 448h-64a192 192 0 0 0-381.696-29.696zm105.664 249.472L285.696 874.048a96 96 0 0 1-135.68-135.744l206.208-206.272a320 320 0 1 1 135.744 135.744zm-54.464-36.032a321.92 321.92 0 0 1-45.248-45.248L195.2 783.552a32 32 0 1 0 45.248 45.248l197.056-197.12z"},null,-1),KL=[jL];function GL(e,t,n,o,l,a){return b(),C("svg",qL,KL)}var YL=M(WL,[["render",GL],["__file","lollipop.vue"]]),XL={name:"MagicStick"},JL={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},QL=f("path",{fill:"currentColor",d:"M512 64h64v192h-64V64zm0 576h64v192h-64V640zM160 480v-64h192v64H160zm576 0v-64h192v64H736zM249.856 199.04l45.248-45.184L430.848 289.6 385.6 334.848 249.856 199.104zM657.152 606.4l45.248-45.248 135.744 135.744-45.248 45.248L657.152 606.4zM114.048 923.2 68.8 877.952l316.8-316.8 45.248 45.248-316.8 316.8zM702.4 334.848 657.152 289.6l135.744-135.744 45.248 45.248L702.4 334.848z"},null,-1),ZL=[QL];function ez(e,t,n,o,l,a){return b(),C("svg",JL,ZL)}var tz=M(XL,[["render",ez],["__file","magic-stick.vue"]]),nz={name:"Magnet"},oz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lz=f("path",{fill:"currentColor",d:"M832 320V192H704v320a192 192 0 1 1-384 0V192H192v128h128v64H192v128a320 320 0 0 0 640 0V384H704v-64h128zM640 512V128h256v384a384 384 0 1 1-768 0V128h256v384a128 128 0 1 0 256 0z"},null,-1),az=[lz];function rz(e,t,n,o,l,a){return b(),C("svg",oz,az)}var uz=M(nz,[["render",rz],["__file","magnet.vue"]]),sz={name:"Male"},iz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cz=f("path",{fill:"currentColor",d:"M399.5 849.5a225 225 0 1 0 0-450 225 225 0 0 0 0 450zm0 56.25a281.25 281.25 0 1 1 0-562.5 281.25 281.25 0 0 1 0 562.5zm253.125-787.5h225q28.125 0 28.125 28.125T877.625 174.5h-225q-28.125 0-28.125-28.125t28.125-28.125z"},null,-1),dz=f("path",{fill:"currentColor",d:"M877.625 118.25q28.125 0 28.125 28.125v225q0 28.125-28.125 28.125T849.5 371.375v-225q0-28.125 28.125-28.125z"},null,-1),fz=f("path",{fill:"currentColor",d:"M604.813 458.9 565.1 419.131l292.613-292.668 39.825 39.824z"},null,-1),pz=[cz,dz,fz];function vz(e,t,n,o,l,a){return b(),C("svg",iz,pz)}var hz=M(sz,[["render",vz],["__file","male.vue"]]),_z={name:"Management"},mz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gz=f("path",{fill:"currentColor",d:"M576 128v288l96-96 96 96V128h128v768H320V128h256zm-448 0h128v768H128V128z"},null,-1),bz=[gz];function yz(e,t,n,o,l,a){return b(),C("svg",mz,bz)}var wz=M(_z,[["render",yz],["__file","management.vue"]]),Cz={name:"MapLocation"},Ez={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Az=f("path",{fill:"currentColor",d:"M800 416a288 288 0 1 0-576 0c0 118.144 94.528 272.128 288 456.576C705.472 688.128 800 534.144 800 416zM512 960C277.312 746.688 160 565.312 160 416a352 352 0 0 1 704 0c0 149.312-117.312 330.688-352 544z"},null,-1),Fz=f("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256zm345.6 192L960 960H672v-64H352v64H64l102.4-256h691.2zm-68.928 0H235.328l-76.8 192h706.944l-76.8-192z"},null,-1),xz=[Az,Fz];function $z(e,t,n,o,l,a){return b(),C("svg",Ez,xz)}var Dz=M(Cz,[["render",$z],["__file","map-location.vue"]]),Bz={name:"Medal"},Sz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},kz=f("path",{fill:"currentColor",d:"M512 896a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),Pz=f("path",{fill:"currentColor",d:"M576 128H448v200a286.72 286.72 0 0 1 64-8c19.52 0 40.832 2.688 64 8V128zm64 0v219.648c24.448 9.088 50.56 20.416 78.4 33.92L757.44 128H640zm-256 0H266.624l39.04 253.568c27.84-13.504 53.888-24.832 78.336-33.92V128zM229.312 64h565.376a32 32 0 0 1 31.616 36.864L768 480c-113.792-64-199.104-96-256-96-56.896 0-142.208 32-256 96l-58.304-379.136A32 32 0 0 1 229.312 64z"},null,-1),Lz=[kz,Pz];function zz(e,t,n,o,l,a){return b(),C("svg",Sz,Lz)}var Tz=M(Bz,[["render",zz],["__file","medal.vue"]]),Mz={name:"Memo"},Vz={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},Hz=f("path",{d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32z",fill:"currentColor"},null,-1),Iz=f("path",{d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01zM192 896V128h96v768h-96zm640 0H352V128h480v768z",fill:"currentColor"},null,-1),Rz=f("path",{d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32zm0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32z",fill:"currentColor"},null,-1),Nz=[Hz,Iz,Rz];function Oz(e,t,n,o,l,a){return b(),C("svg",Vz,Nz)}var Uz=M(Mz,[["render",Oz],["__file","memo.vue"]]),Wz={name:"Menu"},qz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},jz=f("path",{fill:"currentColor",d:"M160 448a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V160.064a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32V416a32 32 0 0 1-32 32H608zM160 896a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H160zm448 0a32 32 0 0 1-32-32V608a32 32 0 0 1 32-32h255.936a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32H608z"},null,-1),Kz=[jz];function Gz(e,t,n,o,l,a){return b(),C("svg",qz,Kz)}var Yz=M(Wz,[["render",Gz],["__file","menu.vue"]]),Xz={name:"MessageBox"},Jz={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Qz=f("path",{fill:"currentColor",d:"M288 384h448v64H288v-64zm96-128h256v64H384v-64zM131.456 512H384v128h256V512h252.544L721.856 192H302.144L131.456 512zM896 576H704v128H320V576H128v256h768V576zM275.776 128h472.448a32 32 0 0 1 28.608 17.664l179.84 359.552A32 32 0 0 1 960 519.552V864a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V519.552a32 32 0 0 1 3.392-14.336l179.776-359.552A32 32 0 0 1 275.776 128z"},null,-1),Zz=[Qz];function eT(e,t,n,o,l,a){return b(),C("svg",Jz,Zz)}var tT=M(Xz,[["render",eT],["__file","message-box.vue"]]),nT={name:"Message"},oT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},lT=f("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224H128zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64z"},null,-1),aT=f("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224h784zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224H205.056z"},null,-1),rT=[lT,aT];function uT(e,t,n,o,l,a){return b(),C("svg",oT,rT)}var sT=M(nT,[["render",uT],["__file","message.vue"]]),iT={name:"Mic"},cT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dT=f("path",{fill:"currentColor",d:"M480 704h160a64 64 0 0 0 64-64v-32h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-96h-96a32 32 0 0 1 0-64h96v-32a64 64 0 0 0-64-64H384a64 64 0 0 0-64 64v32h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v96h96a32 32 0 0 1 0 64h-96v32a64 64 0 0 0 64 64h96zm64 64v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768h-96a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64h256a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128h-96z"},null,-1),fT=[dT];function pT(e,t,n,o,l,a){return b(),C("svg",cT,fT)}var vT=M(iT,[["render",pT],["__file","mic.vue"]]),hT={name:"Microphone"},_T={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mT=f("path",{fill:"currentColor",d:"M512 128a128 128 0 0 0-128 128v256a128 128 0 1 0 256 0V256a128 128 0 0 0-128-128zm0-64a192 192 0 0 1 192 192v256a192 192 0 1 1-384 0V256A192 192 0 0 1 512 64zm-32 832v-64a288 288 0 0 1-288-288v-32a32 32 0 0 1 64 0v32a224 224 0 0 0 224 224h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64z"},null,-1),gT=[mT];function bT(e,t,n,o,l,a){return b(),C("svg",_T,gT)}var yT=M(hT,[["render",bT],["__file","microphone.vue"]]),wT={name:"MilkTea"},CT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ET=f("path",{fill:"currentColor",d:"M416 128V96a96 96 0 0 1 96-96h128a32 32 0 1 1 0 64H512a32 32 0 0 0-32 32v32h320a96 96 0 0 1 11.712 191.296l-39.68 581.056A64 64 0 0 1 708.224 960H315.776a64 64 0 0 1-63.872-59.648l-39.616-581.056A96 96 0 0 1 224 128h192zM276.48 320l39.296 576h392.448l4.8-70.784a224.064 224.064 0 0 1 30.016-439.808L747.52 320H276.48zM224 256h576a32 32 0 1 0 0-64H224a32 32 0 0 0 0 64zm493.44 503.872 21.12-309.12a160 160 0 0 0-21.12 309.12z"},null,-1),AT=[ET];function FT(e,t,n,o,l,a){return b(),C("svg",CT,AT)}var xT=M(wT,[["render",FT],["__file","milk-tea.vue"]]),$T={name:"Minus"},DT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BT=f("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64z"},null,-1),ST=[BT];function kT(e,t,n,o,l,a){return b(),C("svg",DT,ST)}var wf=M($T,[["render",kT],["__file","minus.vue"]]),PT={name:"Money"},LT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zT=f("path",{fill:"currentColor",d:"M256 640v192h640V384H768v-64h150.976c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H233.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096c-2.688-5.184-4.224-10.368-4.224-24.576V640h64z"},null,-1),TT=f("path",{fill:"currentColor",d:"M768 192H128v448h640V192zm64-22.976v493.952c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 682.432 64 677.248 64 663.04V169.024c0-14.272 1.472-19.456 4.288-24.64a29.056 29.056 0 0 1 12.096-12.16C85.568 129.536 90.752 128 104.96 128h685.952c14.272 0 19.456 1.472 24.64 4.288a29.056 29.056 0 0 1 12.16 12.096c2.752 5.184 4.224 10.368 4.224 24.64z"},null,-1),MT=f("path",{fill:"currentColor",d:"M448 576a160 160 0 1 1 0-320 160 160 0 0 1 0 320zm0-64a96 96 0 1 0 0-192 96 96 0 0 0 0 192z"},null,-1),VT=[zT,TT,MT];function HT(e,t,n,o,l,a){return b(),C("svg",LT,VT)}var IT=M(PT,[["render",HT],["__file","money.vue"]]),RT={name:"Monitor"},NT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OT=f("path",{fill:"currentColor",d:"M544 768v128h192a32 32 0 1 1 0 64H288a32 32 0 1 1 0-64h192V768H192A128 128 0 0 1 64 640V256a128 128 0 0 1 128-128h640a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H544zM192 192a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H192z"},null,-1),UT=[OT];function WT(e,t,n,o,l,a){return b(),C("svg",NT,UT)}var qT=M(RT,[["render",WT],["__file","monitor.vue"]]),jT={name:"MoonNight"},KT={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GT=f("path",{fill:"currentColor",d:"M384 512a448 448 0 0 1 215.872-383.296A384 384 0 0 0 213.76 640h188.8A448.256 448.256 0 0 1 384 512zM171.136 704a448 448 0 0 1 636.992-575.296A384 384 0 0 0 499.328 704h-328.32z"},null,-1),YT=f("path",{fill:"currentColor",d:"M32 640h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32zm128 128h384a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm160 127.68 224 .256a32 32 0 0 1 32 32V928a32 32 0 0 1-32 32l-224-.384a32 32 0 0 1-32-32v-.064a32 32 0 0 1 32-32z"},null,-1),XT=[GT,YT];function JT(e,t,n,o,l,a){return b(),C("svg",KT,XT)}var QT=M(jT,[["render",JT],["__file","moon-night.vue"]]),ZT={name:"Moon"},eM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},tM=f("path",{fill:"currentColor",d:"M240.448 240.448a384 384 0 1 0 559.424 525.696 448 448 0 0 1-542.016-542.08 390.592 390.592 0 0 0-17.408 16.384zm181.056 362.048a384 384 0 0 0 525.632 16.384A448 448 0 1 1 405.056 76.8a384 384 0 0 0 16.448 525.696z"},null,-1),nM=[tM];function oM(e,t,n,o,l,a){return b(),C("svg",eM,nM)}var lM=M(ZT,[["render",oM],["__file","moon.vue"]]),aM={name:"MoreFilled"},rM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uM=f("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224z"},null,-1),sM=[uM];function iM(e,t,n,o,l,a){return b(),C("svg",rM,sM)}var js=M(aM,[["render",iM],["__file","more-filled.vue"]]),cM={name:"More"},dM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fM=f("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224zm0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96z"},null,-1),pM=[fM];function vM(e,t,n,o,l,a){return b(),C("svg",dM,pM)}var Cf=M(cM,[["render",vM],["__file","more.vue"]]),hM={name:"MostlyCloudy"},_M={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mM=f("path",{fill:"currentColor",d:"M737.216 357.952 704 349.824l-11.776-32a192.064 192.064 0 0 0-367.424 23.04l-8.96 39.04-39.04 8.96A192.064 192.064 0 0 0 320 768h368a207.808 207.808 0 0 0 207.808-208 208.32 208.32 0 0 0-158.592-202.048zm15.168-62.208A272.32 272.32 0 0 1 959.744 560a271.808 271.808 0 0 1-271.552 272H320a256 256 0 0 1-57.536-505.536 256.128 256.128 0 0 1 489.92-30.72z"},null,-1),gM=[mM];function bM(e,t,n,o,l,a){return b(),C("svg",_M,gM)}var yM=M(hM,[["render",bM],["__file","mostly-cloudy.vue"]]),wM={name:"Mouse"},CM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EM=f("path",{fill:"currentColor",d:"M438.144 256c-68.352 0-92.736 4.672-117.76 18.112-20.096 10.752-35.52 26.176-46.272 46.272C260.672 345.408 256 369.792 256 438.144v275.712c0 68.352 4.672 92.736 18.112 117.76 10.752 20.096 26.176 35.52 46.272 46.272C345.408 891.328 369.792 896 438.144 896h147.712c68.352 0 92.736-4.672 117.76-18.112 20.096-10.752 35.52-26.176 46.272-46.272C763.328 806.592 768 782.208 768 713.856V438.144c0-68.352-4.672-92.736-18.112-117.76a110.464 110.464 0 0 0-46.272-46.272C678.592 260.672 654.208 256 585.856 256H438.144zm0-64h147.712c85.568 0 116.608 8.96 147.904 25.6 31.36 16.768 55.872 41.344 72.576 72.64C823.104 321.536 832 352.576 832 438.08v275.84c0 85.504-8.96 116.544-25.6 147.84a174.464 174.464 0 0 1-72.64 72.576C702.464 951.104 671.424 960 585.92 960H438.08c-85.504 0-116.544-8.96-147.84-25.6a174.464 174.464 0 0 1-72.64-72.704c-16.768-31.296-25.664-62.336-25.664-147.84v-275.84c0-85.504 8.96-116.544 25.6-147.84a174.464 174.464 0 0 1 72.768-72.576c31.232-16.704 62.272-25.6 147.776-25.6z"},null,-1),AM=f("path",{fill:"currentColor",d:"M512 320q32 0 32 32v128q0 32-32 32t-32-32V352q0-32 32-32zm32-96a32 32 0 0 1-64 0v-64a32 32 0 0 0-32-32h-96a32 32 0 0 1 0-64h96a96 96 0 0 1 96 96v64z"},null,-1),FM=[EM,AM];function xM(e,t,n,o,l,a){return b(),C("svg",CM,FM)}var $M=M(wM,[["render",xM],["__file","mouse.vue"]]),DM={name:"Mug"},BM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SM=f("path",{fill:"currentColor",d:"M736 800V160H160v640a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64zm64-544h63.552a96 96 0 0 1 96 96v224a96 96 0 0 1-96 96H800v128a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V128a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v128zm0 64v288h63.552a32 32 0 0 0 32-32V352a32 32 0 0 0-32-32H800z"},null,-1),kM=[SM];function PM(e,t,n,o,l,a){return b(),C("svg",BM,kM)}var LM=M(DM,[["render",PM],["__file","mug.vue"]]),zM={name:"MuteNotification"},TM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MM=f("path",{fill:"currentColor",d:"m241.216 832 63.616-64H768V448c0-42.368-10.24-82.304-28.48-117.504l46.912-47.232C815.36 331.392 832 387.84 832 448v320h96a32 32 0 1 1 0 64H241.216zm-90.24 0H96a32 32 0 1 1 0-64h96V448a320.128 320.128 0 0 1 256-313.6V128a64 64 0 1 1 128 0v6.4a319.552 319.552 0 0 1 171.648 97.088l-45.184 45.44A256 256 0 0 0 256 448v278.336L151.04 832zM448 896h128a64 64 0 0 1-128 0z"},null,-1),VM=f("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"},null,-1),HM=[MM,VM];function IM(e,t,n,o,l,a){return b(),C("svg",TM,HM)}var RM=M(zM,[["render",IM],["__file","mute-notification.vue"]]),NM={name:"Mute"},OM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},UM=f("path",{fill:"currentColor",d:"m412.16 592.128-45.44 45.44A191.232 191.232 0 0 1 320 512V256a192 192 0 1 1 384 0v44.352l-64 64V256a128 128 0 1 0-256 0v256c0 30.336 10.56 58.24 28.16 80.128zm51.968 38.592A128 128 0 0 0 640 512v-57.152l64-64V512a192 192 0 0 1-287.68 166.528l47.808-47.808zM314.88 779.968l46.144-46.08A222.976 222.976 0 0 0 480 768h64a224 224 0 0 0 224-224v-32a32 32 0 1 1 64 0v32a288 288 0 0 1-288 288v64h64a32 32 0 1 1 0 64H416a32 32 0 1 1 0-64h64v-64c-61.44 0-118.4-19.2-165.12-52.032zM266.752 737.6A286.976 286.976 0 0 1 192 544v-32a32 32 0 0 1 64 0v32c0 56.832 21.184 108.8 56.064 148.288L266.752 737.6z"},null,-1),WM=f("path",{fill:"currentColor",d:"M150.72 859.072a32 32 0 0 1-45.44-45.056l704-708.544a32 32 0 0 1 45.44 45.056l-704 708.544z"},null,-1),qM=[UM,WM];function jM(e,t,n,o,l,a){return b(),C("svg",OM,qM)}var KM=M(NM,[["render",jM],["__file","mute.vue"]]),GM={name:"NoSmoking"},YM={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},XM=f("path",{fill:"currentColor",d:"M440.256 576H256v128h56.256l-64 64H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32h280.256l-64 64zm143.488 128H704V583.744L775.744 512H928a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H519.744l64-64zM768 576v128h128V576H768zm-29.696-207.552 45.248 45.248-497.856 497.856-45.248-45.248zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"},null,-1),JM=[XM];function QM(e,t,n,o,l,a){return b(),C("svg",YM,JM)}var ZM=M(GM,[["render",QM],["__file","no-smoking.vue"]]),eV={name:"Notebook"},tV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nV=f("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),oV=f("path",{fill:"currentColor",d:"M672 128h64v768h-64zM96 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32zm0 192h128q32 0 32 32t-32 32H96q-32 0-32-32t32-32z"},null,-1),lV=[nV,oV];function aV(e,t,n,o,l,a){return b(),C("svg",tV,lV)}var rV=M(eV,[["render",aV],["__file","notebook.vue"]]),uV={name:"Notification"},sV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iV=f("path",{fill:"currentColor",d:"M512 128v64H256a64 64 0 0 0-64 64v512a64 64 0 0 0 64 64h512a64 64 0 0 0 64-64V512h64v256a128 128 0 0 1-128 128H256a128 128 0 0 1-128-128V256a128 128 0 0 1 128-128h256z"},null,-1),cV=f("path",{fill:"currentColor",d:"M768 384a128 128 0 1 0 0-256 128 128 0 0 0 0 256zm0 64a192 192 0 1 1 0-384 192 192 0 0 1 0 384z"},null,-1),dV=[iV,cV];function fV(e,t,n,o,l,a){return b(),C("svg",sV,dV)}var pV=M(uV,[["render",fV],["__file","notification.vue"]]),vV={name:"Odometer"},hV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_V=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),mV=f("path",{fill:"currentColor",d:"M192 512a320 320 0 1 1 640 0 32 32 0 1 1-64 0 256 256 0 1 0-512 0 32 32 0 0 1-64 0z"},null,-1),gV=f("path",{fill:"currentColor",d:"M570.432 627.84A96 96 0 1 1 509.568 608l60.992-187.776A32 32 0 1 1 631.424 440l-60.992 187.776zM502.08 734.464a32 32 0 1 0 19.84-60.928 32 32 0 0 0-19.84 60.928z"},null,-1),bV=[_V,mV,gV];function yV(e,t,n,o,l,a){return b(),C("svg",hV,bV)}var wV=M(vV,[["render",yV],["__file","odometer.vue"]]),CV={name:"OfficeBuilding"},EV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},AV=f("path",{fill:"currentColor",d:"M192 128v704h384V128H192zm-32-64h448a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),FV=f("path",{fill:"currentColor",d:"M256 256h256v64H256v-64zm0 192h256v64H256v-64zm0 192h256v64H256v-64zm384-128h128v64H640v-64zm0 128h128v64H640v-64zM64 832h896v64H64v-64z"},null,-1),xV=f("path",{fill:"currentColor",d:"M640 384v448h192V384H640zm-32-64h256a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H608a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32z"},null,-1),$V=[AV,FV,xV];function DV(e,t,n,o,l,a){return b(),C("svg",EV,$V)}var BV=M(CV,[["render",DV],["__file","office-building.vue"]]),SV={name:"Open"},kV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PV=f("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724H329.956zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"},null,-1),LV=f("path",{fill:"currentColor",d:"M694.044 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454zm0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088z"},null,-1),zV=[PV,LV];function TV(e,t,n,o,l,a){return b(),C("svg",kV,zV)}var MV=M(SV,[["render",TV],["__file","open.vue"]]),VV={name:"Operation"},HV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IV=f("path",{fill:"currentColor",d:"M389.44 768a96.064 96.064 0 0 1 181.12 0H896v64H570.56a96.064 96.064 0 0 1-181.12 0H128v-64h261.44zm192-288a96.064 96.064 0 0 1 181.12 0H896v64H762.56a96.064 96.064 0 0 1-181.12 0H128v-64h453.44zm-320-288a96.064 96.064 0 0 1 181.12 0H896v64H442.56a96.064 96.064 0 0 1-181.12 0H128v-64h133.44z"},null,-1),RV=[IV];function NV(e,t,n,o,l,a){return b(),C("svg",HV,RV)}var OV=M(VV,[["render",NV],["__file","operation.vue"]]),UV={name:"Opportunity"},WV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qV=f("path",{fill:"currentColor",d:"M384 960v-64h192.064v64H384zm448-544a350.656 350.656 0 0 1-128.32 271.424C665.344 719.04 640 763.776 640 813.504V832H320v-14.336c0-48-19.392-95.36-57.216-124.992a351.552 351.552 0 0 1-128.448-344.256c25.344-136.448 133.888-248.128 269.76-276.48A352.384 352.384 0 0 1 832 416zm-544 32c0-132.288 75.904-224 192-224v-64c-154.432 0-256 122.752-256 288h64z"},null,-1),jV=[qV];function KV(e,t,n,o,l,a){return b(),C("svg",WV,jV)}var GV=M(UV,[["render",KV],["__file","opportunity.vue"]]),YV={name:"Orange"},XV={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JV=f("path",{fill:"currentColor",d:"M544 894.72a382.336 382.336 0 0 0 215.936-89.472L577.024 622.272c-10.24 6.016-21.248 10.688-33.024 13.696v258.688zm261.248-134.784A382.336 382.336 0 0 0 894.656 544H635.968c-3.008 11.776-7.68 22.848-13.696 33.024l182.976 182.912zM894.656 480a382.336 382.336 0 0 0-89.408-215.936L622.272 446.976c6.016 10.24 10.688 21.248 13.696 33.024h258.688zm-134.72-261.248A382.336 382.336 0 0 0 544 129.344v258.688c11.776 3.008 22.848 7.68 33.024 13.696l182.912-182.976zM480 129.344a382.336 382.336 0 0 0-215.936 89.408l182.912 182.976c10.24-6.016 21.248-10.688 33.024-13.696V129.344zm-261.248 134.72A382.336 382.336 0 0 0 129.344 480h258.688c3.008-11.776 7.68-22.848 13.696-33.024L218.752 264.064zM129.344 544a382.336 382.336 0 0 0 89.408 215.936l182.976-182.912A127.232 127.232 0 0 1 388.032 544H129.344zm134.72 261.248A382.336 382.336 0 0 0 480 894.656V635.968a127.232 127.232 0 0 1-33.024-13.696L264.064 805.248zM512 960a448 448 0 1 1 0-896 448 448 0 0 1 0 896zm0-384a64 64 0 1 0 0-128 64 64 0 0 0 0 128z"},null,-1),QV=[JV];function ZV(e,t,n,o,l,a){return b(),C("svg",XV,QV)}var eH=M(YV,[["render",ZV],["__file","orange.vue"]]),tH={name:"Paperclip"},nH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oH=f("path",{fill:"currentColor",d:"M602.496 240.448A192 192 0 1 1 874.048 512l-316.8 316.8A256 256 0 0 1 195.2 466.752L602.496 59.456l45.248 45.248L240.448 512A192 192 0 0 0 512 783.552l316.8-316.8a128 128 0 1 0-181.056-181.056L353.6 579.904a32 32 0 1 0 45.248 45.248l294.144-294.144 45.312 45.248L444.096 670.4a96 96 0 1 1-135.744-135.744l294.144-294.208z"},null,-1),lH=[oH];function aH(e,t,n,o,l,a){return b(),C("svg",nH,lH)}var rH=M(tH,[["render",aH],["__file","paperclip.vue"]]),uH={name:"PartlyCloudy"},sH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},iH=f("path",{fill:"currentColor",d:"M598.4 895.872H328.192a256 256 0 0 1-34.496-510.528A352 352 0 1 1 598.4 895.872zm-271.36-64h272.256a288 288 0 1 0-248.512-417.664L335.04 445.44l-34.816 3.584a192 192 0 0 0 26.88 382.848z"},null,-1),cH=f("path",{fill:"currentColor",d:"M139.84 501.888a256 256 0 1 1 417.856-277.12c-17.728 2.176-38.208 8.448-61.504 18.816A192 192 0 1 0 189.12 460.48a6003.84 6003.84 0 0 0-49.28 41.408z"},null,-1),dH=[iH,cH];function fH(e,t,n,o,l,a){return b(),C("svg",sH,dH)}var pH=M(uH,[["render",fH],["__file","partly-cloudy.vue"]]),vH={name:"Pear"},hH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_H=f("path",{fill:"currentColor",d:"M542.336 258.816a443.255 443.255 0 0 0-9.024 25.088 32 32 0 1 1-60.8-20.032l1.088-3.328a162.688 162.688 0 0 0-122.048 131.392l-17.088 102.72-20.736 15.36C256.192 552.704 224 610.88 224 672c0 120.576 126.4 224 288 224s288-103.424 288-224c0-61.12-32.192-119.296-89.728-161.92l-20.736-15.424-17.088-102.72a162.688 162.688 0 0 0-130.112-133.12zm-40.128-66.56c7.936-15.552 16.576-30.08 25.92-43.776 23.296-33.92 49.408-59.776 78.528-77.12a32 32 0 1 1 32.704 55.04c-20.544 12.224-40.064 31.552-58.432 58.304a316.608 316.608 0 0 0-9.792 15.104 226.688 226.688 0 0 1 164.48 181.568l12.8 77.248C819.456 511.36 864 587.392 864 672c0 159.04-157.568 288-352 288S160 831.04 160 672c0-84.608 44.608-160.64 115.584-213.376l12.8-77.248a226.624 226.624 0 0 1 213.76-189.184z"},null,-1),mH=[_H];function gH(e,t,n,o,l,a){return b(),C("svg",hH,mH)}var bH=M(vH,[["render",gH],["__file","pear.vue"]]),yH={name:"PhoneFilled"},wH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},CH=f("path",{fill:"currentColor",d:"M199.232 125.568 90.624 379.008a32 32 0 0 0 6.784 35.2l512.384 512.384a32 32 0 0 0 35.2 6.784l253.44-108.608a32 32 0 0 0 10.048-52.032L769.6 633.92a32 32 0 0 0-36.928-5.952l-130.176 65.088-271.488-271.552 65.024-130.176a32 32 0 0 0-5.952-36.928L251.2 115.52a32 32 0 0 0-51.968 10.048z"},null,-1),EH=[CH];function AH(e,t,n,o,l,a){return b(),C("svg",wH,EH)}var FH=M(yH,[["render",AH],["__file","phone-filled.vue"]]),xH={name:"Phone"},$H={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},DH=f("path",{fill:"currentColor",d:"M79.36 432.256 591.744 944.64a32 32 0 0 0 35.2 6.784l253.44-108.544a32 32 0 0 0 9.984-52.032l-153.856-153.92a32 32 0 0 0-36.928-6.016l-69.888 34.944L358.08 394.24l35.008-69.888a32 32 0 0 0-5.952-36.928L233.152 133.568a32 32 0 0 0-52.032 10.048L72.512 397.056a32 32 0 0 0 6.784 35.2zm60.48-29.952 81.536-190.08L325.568 316.48l-24.64 49.216-20.608 41.216 32.576 32.64 271.552 271.552 32.64 32.64 41.216-20.672 49.28-24.576 104.192 104.128-190.08 81.472L139.84 402.304zM512 320v-64a256 256 0 0 1 256 256h-64a192 192 0 0 0-192-192zm0-192V64a448 448 0 0 1 448 448h-64a384 384 0 0 0-384-384z"},null,-1),BH=[DH];function SH(e,t,n,o,l,a){return b(),C("svg",$H,BH)}var kH=M(xH,[["render",SH],["__file","phone.vue"]]),PH={name:"PictureFilled"},LH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zH=f("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32H96zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112zM256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384z"},null,-1),TH=[zH];function MH(e,t,n,o,l,a){return b(),C("svg",LH,TH)}var VH=M(PH,[["render",MH],["__file","picture-filled.vue"]]),HH={name:"PictureRounded"},IH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},RH=f("path",{fill:"currentColor",d:"M512 128a384 384 0 1 0 0 768 384 384 0 0 0 0-768zm0-64a448 448 0 1 1 0 896 448 448 0 0 1 0-896z"},null,-1),NH=f("path",{fill:"currentColor",d:"M640 288q64 0 64 64t-64 64q-64 0-64-64t64-64zM214.656 790.656l-45.312-45.312 185.664-185.6a96 96 0 0 1 123.712-10.24l138.24 98.688a32 32 0 0 0 39.872-2.176L906.688 422.4l42.624 47.744L699.52 693.696a96 96 0 0 1-119.808 6.592l-138.24-98.752a32 32 0 0 0-41.152 3.456l-185.664 185.6z"},null,-1),OH=[RH,NH];function UH(e,t,n,o,l,a){return b(),C("svg",IH,OH)}var WH=M(HH,[["render",UH],["__file","picture-rounded.vue"]]),qH={name:"Picture"},jH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},KH=f("path",{fill:"currentColor",d:"M160 160v704h704V160H160zm-32-64h768a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H128a32 32 0 0 1-32-32V128a32 32 0 0 1 32-32z"},null,-1),GH=f("path",{fill:"currentColor",d:"M384 288q64 0 64 64t-64 64q-64 0-64-64t64-64zM185.408 876.992l-50.816-38.912L350.72 556.032a96 96 0 0 1 134.592-17.856l1.856 1.472 122.88 99.136a32 32 0 0 0 44.992-4.864l216-269.888 49.92 39.936-215.808 269.824-.256.32a96 96 0 0 1-135.04 14.464l-122.88-99.072-.64-.512a32 32 0 0 0-44.8 5.952L185.408 876.992z"},null,-1),YH=[KH,GH];function XH(e,t,n,o,l,a){return b(),C("svg",jH,YH)}var JH=M(qH,[["render",XH],["__file","picture.vue"]]),QH={name:"PieChart"},ZH={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},eI=f("path",{fill:"currentColor",d:"M448 68.48v64.832A384.128 384.128 0 0 0 512 896a384.128 384.128 0 0 0 378.688-320h64.768A448.128 448.128 0 0 1 64 512 448.128 448.128 0 0 1 448 68.48z"},null,-1),tI=f("path",{fill:"currentColor",d:"M576 97.28V448h350.72A384.064 384.064 0 0 0 576 97.28zM512 64V33.152A448 448 0 0 1 990.848 512H512V64z"},null,-1),nI=[eI,tI];function oI(e,t,n,o,l,a){return b(),C("svg",ZH,nI)}var lI=M(QH,[["render",oI],["__file","pie-chart.vue"]]),aI={name:"Place"},rI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uI=f("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512z"},null,-1),sI=f("path",{fill:"currentColor",d:"M512 512a32 32 0 0 1 32 32v256a32 32 0 1 1-64 0V544a32 32 0 0 1 32-32z"},null,-1),iI=f("path",{fill:"currentColor",d:"M384 649.088v64.96C269.76 732.352 192 771.904 192 800c0 37.696 139.904 96 320 96s320-58.304 320-96c0-28.16-77.76-67.648-192-85.952v-64.96C789.12 671.04 896 730.368 896 800c0 88.32-171.904 160-384 160s-384-71.68-384-160c0-69.696 106.88-128.96 256-150.912z"},null,-1),cI=[uI,sI,iI];function dI(e,t,n,o,l,a){return b(),C("svg",rI,cI)}var fI=M(aI,[["render",dI],["__file","place.vue"]]),pI={name:"Platform"},vI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},hI=f("path",{fill:"currentColor",d:"M448 832v-64h128v64h192v64H256v-64h192zM128 704V128h768v576H128z"},null,-1),_I=[hI];function mI(e,t,n,o,l,a){return b(),C("svg",vI,_I)}var gI=M(pI,[["render",mI],["__file","platform.vue"]]),bI={name:"Plus"},yI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},wI=f("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64h352z"},null,-1),CI=[wI];function EI(e,t,n,o,l,a){return b(),C("svg",yI,CI)}var Ef=M(bI,[["render",EI],["__file","plus.vue"]]),AI={name:"Pointer"},FI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xI=f("path",{fill:"currentColor",d:"M511.552 128c-35.584 0-64.384 28.8-64.384 64.448v516.48L274.048 570.88a94.272 94.272 0 0 0-112.896-3.456 44.416 44.416 0 0 0-8.96 62.208L332.8 870.4A64 64 0 0 0 384 896h512V575.232a64 64 0 0 0-45.632-61.312l-205.952-61.76A96 96 0 0 1 576 360.192V192.448C576 156.8 547.2 128 511.552 128zM359.04 556.8l24.128 19.2V192.448a128.448 128.448 0 1 1 256.832 0v167.744a32 32 0 0 0 22.784 30.656l206.016 61.76A128 128 0 0 1 960 575.232V896a64 64 0 0 1-64 64H384a128 128 0 0 1-102.4-51.2L101.056 668.032A108.416 108.416 0 0 1 128 512.512a158.272 158.272 0 0 1 185.984 8.32L359.04 556.8z"},null,-1),$I=[xI];function DI(e,t,n,o,l,a){return b(),C("svg",FI,$I)}var BI=M(AI,[["render",DI],["__file","pointer.vue"]]),SI={name:"Position"},kI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PI=f("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z"},null,-1),LI=[PI];function zI(e,t,n,o,l,a){return b(),C("svg",kI,LI)}var TI=M(SI,[["render",zI],["__file","position.vue"]]),MI={name:"Postcard"},VI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HI=f("path",{fill:"currentColor",d:"M160 224a32 32 0 0 0-32 32v512a32 32 0 0 0 32 32h704a32 32 0 0 0 32-32V256a32 32 0 0 0-32-32H160zm0-64h704a96 96 0 0 1 96 96v512a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V256a96 96 0 0 1 96-96z"},null,-1),II=f("path",{fill:"currentColor",d:"M704 320a64 64 0 1 1 0 128 64 64 0 0 1 0-128zM288 448h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32zm0 128h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),RI=[HI,II];function NI(e,t,n,o,l,a){return b(),C("svg",VI,RI)}var OI=M(MI,[["render",NI],["__file","postcard.vue"]]),UI={name:"Pouring"},WI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qI=f("path",{fill:"currentColor",d:"m739.328 291.328-35.2-6.592-12.8-33.408a192.064 192.064 0 0 0-365.952 23.232l-9.92 40.896-41.472 7.04a176.32 176.32 0 0 0-146.24 173.568c0 97.28 78.72 175.936 175.808 175.936h400a192 192 0 0 0 35.776-380.672zM959.552 480a256 256 0 0 1-256 256h-400A239.808 239.808 0 0 1 63.744 496.192a240.32 240.32 0 0 1 199.488-236.8 256.128 256.128 0 0 1 487.872-30.976A256.064 256.064 0 0 1 959.552 480zM224 800a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32zm192 0a32 32 0 0 1 32 32v96a32 32 0 1 1-64 0v-96a32 32 0 0 1 32-32z"},null,-1),jI=[qI];function KI(e,t,n,o,l,a){return b(),C("svg",WI,jI)}var GI=M(UI,[["render",KI],["__file","pouring.vue"]]),YI={name:"Present"},XI={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},JI=f("path",{fill:"currentColor",d:"M480 896V640H192v-64h288V320H192v576h288zm64 0h288V320H544v256h288v64H544v256zM128 256h768v672a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V256z"},null,-1),QI=f("path",{fill:"currentColor",d:"M96 256h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32z"},null,-1),ZI=f("path",{fill:"currentColor",d:"M416 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),eR=f("path",{fill:"currentColor",d:"M608 256a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),tR=[JI,QI,ZI,eR];function nR(e,t,n,o,l,a){return b(),C("svg",XI,tR)}var oR=M(YI,[["render",nR],["__file","present.vue"]]),lR={name:"PriceTag"},aR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rR=f("path",{fill:"currentColor",d:"M224 318.336V896h576V318.336L552.512 115.84a64 64 0 0 0-81.024 0L224 318.336zM593.024 66.304l259.2 212.096A32 32 0 0 1 864 303.168V928a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V303.168a32 32 0 0 1 11.712-24.768l259.2-212.096a128 128 0 0 1 162.112 0z"},null,-1),uR=f("path",{fill:"currentColor",d:"M512 448a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),sR=[rR,uR];function iR(e,t,n,o,l,a){return b(),C("svg",aR,sR)}var cR=M(lR,[["render",iR],["__file","price-tag.vue"]]),dR={name:"Printer"},fR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},pR=f("path",{fill:"currentColor",d:"M256 768H105.024c-14.272 0-19.456-1.472-24.64-4.288a29.056 29.056 0 0 1-12.16-12.096C65.536 746.432 64 741.248 64 727.04V379.072c0-42.816 4.48-58.304 12.8-73.984 8.384-15.616 20.672-27.904 36.288-36.288 15.68-8.32 31.168-12.8 73.984-12.8H256V64h512v192h68.928c42.816 0 58.304 4.48 73.984 12.8 15.616 8.384 27.904 20.672 36.288 36.288 8.32 15.68 12.8 31.168 12.8 73.984v347.904c0 14.272-1.472 19.456-4.288 24.64a29.056 29.056 0 0 1-12.096 12.16c-5.184 2.752-10.368 4.224-24.64 4.224H768v192H256V768zm64-192v320h384V576H320zm-64 128V512h512v192h128V379.072c0-29.376-1.408-36.48-5.248-43.776a23.296 23.296 0 0 0-10.048-10.048c-7.232-3.84-14.4-5.248-43.776-5.248H187.072c-29.376 0-36.48 1.408-43.776 5.248a23.296 23.296 0 0 0-10.048 10.048c-3.84 7.232-5.248 14.4-5.248 43.776V704h128zm64-448h384V128H320v128zm-64 128h64v64h-64v-64zm128 0h64v64h-64v-64z"},null,-1),vR=[pR];function hR(e,t,n,o,l,a){return b(),C("svg",fR,vR)}var _R=M(dR,[["render",hR],["__file","printer.vue"]]),mR={name:"Promotion"},gR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},bR=f("path",{fill:"currentColor",d:"m64 448 832-320-128 704-446.08-243.328L832 192 242.816 545.472 64 448zm256 512V657.024L512 768 320 960z"},null,-1),yR=[bR];function wR(e,t,n,o,l,a){return b(),C("svg",gR,yR)}var CR=M(mR,[["render",wR],["__file","promotion.vue"]]),ER={name:"QuartzWatch"},AR={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},FR=f("path",{d:"M422.02 602.01v-.03c-6.68-5.99-14.35-8.83-23.01-8.51-8.67.32-16.17 3.66-22.5 10.02-6.33 6.36-9.5 13.7-9.5 22.02s3 15.82 8.99 22.5c8.68 8.68 19.02 11.35 31.01 8s19.49-10.85 22.5-22.5c3.01-11.65.51-22.15-7.49-31.49v-.01zM384 512c0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.67 8.99-23.01zm6.53-82.49c11.65 3.01 22.15.51 31.49-7.49h.04c5.99-6.68 8.83-14.34 8.51-23.01-.32-8.67-3.66-16.16-10.02-22.5-6.36-6.33-13.7-9.5-22.02-9.5s-15.82 3-22.5 8.99c-8.68 8.69-11.35 19.02-8 31.01 3.35 11.99 10.85 19.49 22.5 22.5zm242.94 0c11.67-3.03 19.01-10.37 22.02-22.02 3.01-11.65.51-22.15-7.49-31.49h.01c-6.68-5.99-14.18-8.99-22.5-8.99s-15.66 3.16-22.02 9.5c-6.36 6.34-9.7 13.84-10.02 22.5-.32 8.66 2.52 16.33 8.51 23.01 9.32 8.02 19.82 10.52 31.49 7.49zM512 640c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01s-3-17.02-8.99-23.01c-6-5.99-13.66-8.99-23.01-8.99zm183.01-151.01c-6-5.99-13.66-8.99-23.01-8.99s-17.02 3-23.01 8.99c-5.99 6-8.99 13.66-8.99 23.01s3 17.02 8.99 23.01c6 5.99 13.66 8.99 23.01 8.99s17.02-3 23.01-8.99c5.99-6 8.99-13.67 8.99-23.01 0-9.35-3-17.02-8.99-23.01z",fill:"currentColor"},null,-1),xR=f("path",{d:"M832 512c-2-90.67-33.17-166.17-93.5-226.5-20.43-20.42-42.6-37.49-66.5-51.23V64H352v170.26c-23.9 13.74-46.07 30.81-66.5 51.24-60.33 60.33-91.49 135.83-93.5 226.5 2 90.67 33.17 166.17 93.5 226.5 20.43 20.43 42.6 37.5 66.5 51.24V960h320V789.74c23.9-13.74 46.07-30.81 66.5-51.24 60.33-60.34 91.49-135.83 93.5-226.5zM416 128h192v78.69c-29.85-9.03-61.85-13.93-96-14.69-34.15.75-66.15 5.65-96 14.68V128zm192 768H416v-78.68c29.85 9.03 61.85 13.93 96 14.68 34.15-.75 66.15-5.65 96-14.68V896zm-96-128c-72.66-2.01-132.99-27.01-180.99-75.01S258.01 584.66 256 512c2.01-72.66 27.01-132.99 75.01-180.99S439.34 258.01 512 256c72.66 2.01 132.99 27.01 180.99 75.01S765.99 439.34 768 512c-2.01 72.66-27.01 132.99-75.01 180.99S584.66 765.99 512 768z",fill:"currentColor"},null,-1),$R=f("path",{d:"M512 320c-9.35 0-17.02 3-23.01 8.99-5.99 6-8.99 13.66-8.99 23.01 0 9.35 3 17.02 8.99 23.01 6 5.99 13.67 8.99 23.01 8.99 9.35 0 17.02-3 23.01-8.99 5.99-6 8.99-13.66 8.99-23.01 0-9.35-3-17.02-8.99-23.01-6-5.99-13.66-8.99-23.01-8.99zm112.99 273.5c-8.66-.32-16.33 2.52-23.01 8.51-7.98 9.32-10.48 19.82-7.49 31.49s10.49 19.17 22.5 22.5 22.35.66 31.01-8v.04c5.99-6.68 8.99-14.18 8.99-22.5s-3.16-15.66-9.5-22.02-13.84-9.7-22.5-10.02z",fill:"currentColor"},null,-1),DR=[FR,xR,$R];function BR(e,t,n,o,l,a){return b(),C("svg",AR,DR)}var SR=M(ER,[["render",BR],["__file","quartz-watch.vue"]]),kR={name:"QuestionFilled"},PR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},LR=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592 0-42.944-14.08-76.736-42.24-101.376-28.16-25.344-65.472-37.312-111.232-37.312zm-12.672 406.208a54.272 54.272 0 0 0-38.72 14.784 49.408 49.408 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.848 54.848 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.968 51.968 0 0 0-15.488-38.016 55.936 55.936 0 0 0-39.424-14.784z"},null,-1),zR=[LR];function TR(e,t,n,o,l,a){return b(),C("svg",PR,zR)}var MR=M(kR,[["render",TR],["__file","question-filled.vue"]]),VR={name:"Rank"},HR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},IR=f("path",{fill:"currentColor",d:"m186.496 544 41.408 41.344a32 32 0 1 1-45.248 45.312l-96-96a32 32 0 0 1 0-45.312l96-96a32 32 0 1 1 45.248 45.312L186.496 480h290.816V186.432l-41.472 41.472a32 32 0 1 1-45.248-45.184l96-96.128a32 32 0 0 1 45.312 0l96 96.064a32 32 0 0 1-45.248 45.184l-41.344-41.28V480H832l-41.344-41.344a32 32 0 0 1 45.248-45.312l96 96a32 32 0 0 1 0 45.312l-96 96a32 32 0 0 1-45.248-45.312L832 544H541.312v293.44l41.344-41.28a32 32 0 1 1 45.248 45.248l-96 96a32 32 0 0 1-45.312 0l-96-96a32 32 0 1 1 45.312-45.248l41.408 41.408V544H186.496z"},null,-1),RR=[IR];function NR(e,t,n,o,l,a){return b(),C("svg",HR,RR)}var OR=M(VR,[["render",NR],["__file","rank.vue"]]),UR={name:"ReadingLamp"},WR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qR=f("path",{fill:"currentColor",d:"M352 896h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32zm-44.672-768-99.52 448h608.384l-99.52-448H307.328zm-25.6-64h460.608a32 32 0 0 1 31.232 25.088l113.792 512A32 32 0 0 1 856.128 640H167.872a32 32 0 0 1-31.232-38.912l113.792-512A32 32 0 0 1 281.664 64z"},null,-1),jR=f("path",{fill:"currentColor",d:"M672 576q32 0 32 32v128q0 32-32 32t-32-32V608q0-32 32-32zm-192-.064h64V960h-64z"},null,-1),KR=[qR,jR];function GR(e,t,n,o,l,a){return b(),C("svg",WR,KR)}var YR=M(UR,[["render",GR],["__file","reading-lamp.vue"]]),XR={name:"Reading"},JR={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},QR=f("path",{fill:"currentColor",d:"m512 863.36 384-54.848v-638.72L525.568 222.72a96 96 0 0 1-27.136 0L128 169.792v638.72l384 54.848zM137.024 106.432l370.432 52.928a32 32 0 0 0 9.088 0l370.432-52.928A64 64 0 0 1 960 169.792v638.72a64 64 0 0 1-54.976 63.36l-388.48 55.488a32 32 0 0 1-9.088 0l-388.48-55.488A64 64 0 0 1 64 808.512v-638.72a64 64 0 0 1 73.024-63.36z"},null,-1),ZR=f("path",{fill:"currentColor",d:"M480 192h64v704h-64z"},null,-1),eN=[QR,ZR];function tN(e,t,n,o,l,a){return b(),C("svg",JR,eN)}var nN=M(XR,[["render",tN],["__file","reading.vue"]]),oN={name:"RefreshLeft"},lN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aN=f("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"},null,-1),rN=[aN];function uN(e,t,n,o,l,a){return b(),C("svg",lN,rN)}var sN=M(oN,[["render",uN],["__file","refresh-left.vue"]]),iN={name:"RefreshRight"},cN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dN=f("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88z"},null,-1),fN=[dN];function pN(e,t,n,o,l,a){return b(),C("svg",cN,fN)}var vN=M(iN,[["render",pN],["__file","refresh-right.vue"]]),hN={name:"Refresh"},_N={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mN=f("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"},null,-1),gN=[mN];function bN(e,t,n,o,l,a){return b(),C("svg",_N,gN)}var yN=M(hN,[["render",bN],["__file","refresh.vue"]]),wN={name:"Refrigerator"},CN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EN=f("path",{fill:"currentColor",d:"M256 448h512V160a32 32 0 0 0-32-32H288a32 32 0 0 0-32 32v288zm0 64v352a32 32 0 0 0 32 32h448a32 32 0 0 0 32-32V512H256zm32-448h448a96 96 0 0 1 96 96v704a96 96 0 0 1-96 96H288a96 96 0 0 1-96-96V160a96 96 0 0 1 96-96zm32 224h64v96h-64v-96zm0 288h64v96h-64v-96z"},null,-1),AN=[EN];function FN(e,t,n,o,l,a){return b(),C("svg",CN,AN)}var xN=M(wN,[["render",FN],["__file","refrigerator.vue"]]),$N={name:"RemoveFilled"},DN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},BN=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zM288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512z"},null,-1),SN=[BN];function kN(e,t,n,o,l,a){return b(),C("svg",DN,SN)}var PN=M($N,[["render",kN],["__file","remove-filled.vue"]]),LN={name:"Remove"},zN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},TN=f("path",{fill:"currentColor",d:"M352 480h320a32 32 0 1 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),MN=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),VN=[TN,MN];function HN(e,t,n,o,l,a){return b(),C("svg",zN,VN)}var IN=M(LN,[["render",HN],["__file","remove.vue"]]),RN={name:"Right"},NN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ON=f("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312L754.752 480z"},null,-1),UN=[ON];function WN(e,t,n,o,l,a){return b(),C("svg",NN,UN)}var qN=M(RN,[["render",WN],["__file","right.vue"]]),jN={name:"ScaleToOriginal"},KN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GN=f("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zM512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412zM512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512z"},null,-1),YN=[GN];function XN(e,t,n,o,l,a){return b(),C("svg",KN,YN)}var JN=M(jN,[["render",XN],["__file","scale-to-original.vue"]]),QN={name:"School"},ZN={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},eO=f("path",{fill:"currentColor",d:"M224 128v704h576V128H224zm-32-64h640a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32z"},null,-1),tO=f("path",{fill:"currentColor",d:"M64 832h896v64H64zm256-640h128v96H320z"},null,-1),nO=f("path",{fill:"currentColor",d:"M384 832h256v-64a128 128 0 1 0-256 0v64zm128-256a192 192 0 0 1 192 192v128H320V768a192 192 0 0 1 192-192zM320 384h128v96H320zm256-192h128v96H576zm0 192h128v96H576z"},null,-1),oO=[eO,tO,nO];function lO(e,t,n,o,l,a){return b(),C("svg",ZN,oO)}var aO=M(QN,[["render",lO],["__file","school.vue"]]),rO={name:"Scissor"},uO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sO=f("path",{fill:"currentColor",d:"m512.064 578.368-106.88 152.768a160 160 0 1 1-23.36-78.208L472.96 522.56 196.864 128.256a32 32 0 1 1 52.48-36.736l393.024 561.344a160 160 0 1 1-23.36 78.208l-106.88-152.704zm54.4-189.248 208.384-297.6a32 32 0 0 1 52.48 36.736l-221.76 316.672-39.04-55.808zm-376.32 425.856a96 96 0 1 0 110.144-157.248 96 96 0 0 0-110.08 157.248zm643.84 0a96 96 0 1 0-110.08-157.248 96 96 0 0 0 110.08 157.248z"},null,-1),iO=[sO];function cO(e,t,n,o,l,a){return b(),C("svg",uO,iO)}var dO=M(rO,[["render",cO],["__file","scissor.vue"]]),fO={name:"Search"},pO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vO=f("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704z"},null,-1),hO=[vO];function _O(e,t,n,o,l,a){return b(),C("svg",pO,hO)}var mO=M(fO,[["render",_O],["__file","search.vue"]]),gO={name:"Select"},bO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yO=f("path",{fill:"currentColor",d:"M77.248 415.04a64 64 0 0 1 90.496 0l226.304 226.304L846.528 188.8a64 64 0 1 1 90.56 90.496l-543.04 543.04-316.8-316.8a64 64 0 0 1 0-90.496z"},null,-1),wO=[yO];function CO(e,t,n,o,l,a){return b(),C("svg",bO,wO)}var EO=M(gO,[["render",CO],["__file","select.vue"]]),AO={name:"Sell"},FO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xO=f("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 483.84L768 698.496V928a32 32 0 1 1-64 0V698.496l-73.344 73.344a32 32 0 1 1-45.248-45.248l128-128a32 32 0 0 1 45.248 0l128 128a32 32 0 1 1-45.248 45.248z"},null,-1),$O=[xO];function DO(e,t,n,o,l,a){return b(),C("svg",FO,$O)}var BO=M(AO,[["render",DO],["__file","sell.vue"]]),SO={name:"SemiSelect"},kO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PO=f("path",{fill:"currentColor",d:"M128 448h768q64 0 64 64t-64 64H128q-64 0-64-64t64-64z"},null,-1),LO=[PO];function zO(e,t,n,o,l,a){return b(),C("svg",kO,LO)}var TO=M(SO,[["render",zO],["__file","semi-select.vue"]]),MO={name:"Service"},VO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HO=f("path",{fill:"currentColor",d:"M864 409.6a192 192 0 0 1-37.888 349.44A256.064 256.064 0 0 1 576 960h-96a32 32 0 1 1 0-64h96a192.064 192.064 0 0 0 181.12-128H736a32 32 0 0 1-32-32V416a32 32 0 0 1 32-32h32c10.368 0 20.544.832 30.528 2.432a288 288 0 0 0-573.056 0A193.235 193.235 0 0 1 256 384h32a32 32 0 0 1 32 32v320a32 32 0 0 1-32 32h-32a192 192 0 0 1-96-358.4 352 352 0 0 1 704 0zM256 448a128 128 0 1 0 0 256V448zm640 128a128 128 0 0 0-128-128v256a128 128 0 0 0 128-128z"},null,-1),IO=[HO];function RO(e,t,n,o,l,a){return b(),C("svg",VO,IO)}var NO=M(MO,[["render",RO],["__file","service.vue"]]),OO={name:"SetUp"},UO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WO=f("path",{fill:"currentColor",d:"M224 160a64 64 0 0 0-64 64v576a64 64 0 0 0 64 64h576a64 64 0 0 0 64-64V224a64 64 0 0 0-64-64H224zm0-64h576a128 128 0 0 1 128 128v576a128 128 0 0 1-128 128H224A128 128 0 0 1 96 800V224A128 128 0 0 1 224 96z"},null,-1),qO=f("path",{fill:"currentColor",d:"M384 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),jO=f("path",{fill:"currentColor",d:"M480 320h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32zm160 416a64 64 0 1 0 0-128 64 64 0 0 0 0 128zm0 64a128 128 0 1 1 0-256 128 128 0 0 1 0 256z"},null,-1),KO=f("path",{fill:"currentColor",d:"M288 640h256q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),GO=[WO,qO,jO,KO];function YO(e,t,n,o,l,a){return b(),C("svg",UO,GO)}var XO=M(OO,[["render",YO],["__file","set-up.vue"]]),JO={name:"Setting"},QO={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},ZO=f("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357.12 357.12 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a351.616 351.616 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357.12 357.12 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294.113 294.113 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293.12 293.12 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294.113 294.113 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288.282 288.282 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293.12 293.12 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a287.616 287.616 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384zm0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256z"},null,-1),eU=[ZO];function tU(e,t,n,o,l,a){return b(),C("svg",QO,eU)}var nU=M(JO,[["render",tU],["__file","setting.vue"]]),oU={name:"Share"},lU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aU=f("path",{fill:"currentColor",d:"m679.872 348.8-301.76 188.608a127.808 127.808 0 0 1 5.12 52.16l279.936 104.96a128 128 0 1 1-22.464 59.904l-279.872-104.96a128 128 0 1 1-16.64-166.272l301.696-188.608a128 128 0 1 1 33.92 54.272z"},null,-1),rU=[aU];function uU(e,t,n,o,l,a){return b(),C("svg",lU,rU)}var sU=M(oU,[["render",uU],["__file","share.vue"]]),iU={name:"Ship"},cU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dU=f("path",{fill:"currentColor",d:"M512 386.88V448h405.568a32 32 0 0 1 30.72 40.768l-76.48 267.968A192 192 0 0 1 687.168 896H336.832a192 192 0 0 1-184.64-139.264L75.648 488.768A32 32 0 0 1 106.368 448H448V117.888a32 32 0 0 1 47.36-28.096l13.888 7.616L512 96v2.88l231.68 126.4a32 32 0 0 1-2.048 57.216L512 386.88zm0-70.272 144.768-65.792L512 171.84v144.768zM512 512H148.864l18.24 64H856.96l18.24-64H512zM185.408 640l28.352 99.2A128 128 0 0 0 336.832 832h350.336a128 128 0 0 0 123.072-92.8l28.352-99.2H185.408z"},null,-1),fU=[dU];function pU(e,t,n,o,l,a){return b(),C("svg",cU,fU)}var vU=M(iU,[["render",pU],["__file","ship.vue"]]),hU={name:"Shop"},_U={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mU=f("path",{fill:"currentColor",d:"M704 704h64v192H256V704h64v64h384v-64zm188.544-152.192C894.528 559.616 896 567.616 896 576a96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0 96 96 0 1 1-192 0c0-8.384 1.408-16.384 3.392-24.192L192 128h640l60.544 423.808z"},null,-1),gU=[mU];function bU(e,t,n,o,l,a){return b(),C("svg",_U,gU)}var yU=M(hU,[["render",bU],["__file","shop.vue"]]),wU={name:"ShoppingBag"},CU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},EU=f("path",{fill:"currentColor",d:"M704 320v96a32 32 0 0 1-32 32h-32V320H384v128h-32a32 32 0 0 1-32-32v-96H192v576h640V320H704zm-384-64a192 192 0 1 1 384 0h160a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32h160zm64 0h256a128 128 0 1 0-256 0z"},null,-1),AU=f("path",{fill:"currentColor",d:"M192 704h640v64H192z"},null,-1),FU=[EU,AU];function xU(e,t,n,o,l,a){return b(),C("svg",CU,FU)}var $U=M(wU,[["render",xU],["__file","shopping-bag.vue"]]),DU={name:"ShoppingCartFull"},BU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SU=f("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96zm320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96zM96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128H96zm314.24 576h395.904l82.304-384H333.44l76.8 384z"},null,-1),kU=f("path",{fill:"currentColor",d:"M699.648 256 608 145.984 516.352 256h183.296zm-140.8-151.04a64 64 0 0 1 98.304 0L836.352 320H379.648l179.2-215.04z"},null,-1),PU=[SU,kU];function LU(e,t,n,o,l,a){return b(),C("svg",BU,PU)}var zU=M(DU,[["render",LU],["__file","shopping-cart-full.vue"]]),TU={name:"ShoppingCart"},MU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},VU=f("path",{fill:"currentColor",d:"M432 928a48 48 0 1 1 0-96 48 48 0 0 1 0 96zm320 0a48 48 0 1 1 0-96 48 48 0 0 1 0 96zM96 128a32 32 0 0 1 0-64h160a32 32 0 0 1 31.36 25.728L320.64 256H928a32 32 0 0 1 31.296 38.72l-96 448A32 32 0 0 1 832 768H384a32 32 0 0 1-31.36-25.728L229.76 128H96zm314.24 576h395.904l82.304-384H333.44l76.8 384z"},null,-1),HU=[VU];function IU(e,t,n,o,l,a){return b(),C("svg",MU,HU)}var RU=M(TU,[["render",IU],["__file","shopping-cart.vue"]]),NU={name:"ShoppingTrolley"},OU={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},UU=f("path",{d:"M368 833c-13.3 0-24.5 4.5-33.5 13.5S321 866.7 321 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S415 893.3 415 880s-4.5-24.5-13.5-33.5S381.3 833 368 833zm439-193c7.4 0 13.8-2.2 19.5-6.5S836 623.3 838 616l112-448c2-10-.2-19.2-6.5-27.5S929 128 919 128H96c-9.3 0-17 3-23 9s-9 13.7-9 23 3 17 9 23 13.7 9 23 9h96v576h672c9.3 0 17-3 23-9s9-13.7 9-23-3-17-9-23-13.7-9-23-9H256v-64h551zM256 192h622l-96 384H256V192zm432 641c-13.3 0-24.5 4.5-33.5 13.5S641 866.7 641 880s4.5 24.5 13.5 33.5 20.2 13.8 33.5 14.5c13.3-.7 24.5-5.5 33.5-14.5S735 893.3 735 880s-4.5-24.5-13.5-33.5S701.3 833 688 833z",fill:"currentColor"},null,-1),WU=[UU];function qU(e,t,n,o,l,a){return b(),C("svg",OU,WU)}var jU=M(NU,[["render",qU],["__file","shopping-trolley.vue"]]),KU={name:"Smoking"},GU={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},YU=f("path",{fill:"currentColor",d:"M256 576v128h640V576H256zm-32-64h704a32 32 0 0 1 32 32v192a32 32 0 0 1-32 32H224a32 32 0 0 1-32-32V544a32 32 0 0 1 32-32z"},null,-1),XU=f("path",{fill:"currentColor",d:"M704 576h64v128h-64zM256 64h64v320h-64zM128 192h64v192h-64zM64 512h64v256H64z"},null,-1),JU=[YU,XU];function QU(e,t,n,o,l,a){return b(),C("svg",GU,JU)}var ZU=M(KU,[["render",QU],["__file","smoking.vue"]]),eW={name:"Soccer"},tW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nW=f("path",{fill:"currentColor",d:"M418.496 871.04 152.256 604.8c-16.512 94.016-2.368 178.624 42.944 224 44.928 44.928 129.344 58.752 223.296 42.24zm72.32-18.176a573.056 573.056 0 0 0 224.832-137.216 573.12 573.12 0 0 0 137.216-224.832L533.888 171.84a578.56 578.56 0 0 0-227.52 138.496A567.68 567.68 0 0 0 170.432 532.48l320.384 320.384zM871.04 418.496c16.512-93.952 2.688-178.368-42.24-223.296-44.544-44.544-128.704-58.048-222.592-41.536L871.04 418.496zM149.952 874.048c-112.96-112.96-88.832-408.96 111.168-608.96C461.056 65.152 760.96 36.928 874.048 149.952c113.024 113.024 86.784 411.008-113.152 610.944-199.936 199.936-497.92 226.112-610.944 113.152zm452.544-497.792 22.656-22.656a32 32 0 0 1 45.248 45.248l-22.656 22.656 45.248 45.248A32 32 0 1 1 647.744 512l-45.248-45.248L557.248 512l45.248 45.248a32 32 0 1 1-45.248 45.248L512 557.248l-45.248 45.248L512 647.744a32 32 0 1 1-45.248 45.248l-45.248-45.248-22.656 22.656a32 32 0 1 1-45.248-45.248l22.656-22.656-45.248-45.248A32 32 0 1 1 376.256 512l45.248 45.248L466.752 512l-45.248-45.248a32 32 0 1 1 45.248-45.248L512 466.752l45.248-45.248L512 376.256a32 32 0 0 1 45.248-45.248l45.248 45.248z"},null,-1),oW=[nW];function lW(e,t,n,o,l,a){return b(),C("svg",tW,oW)}var aW=M(eW,[["render",lW],["__file","soccer.vue"]]),rW={name:"SoldOut"},uW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sW=f("path",{fill:"currentColor",d:"M704 288h131.072a32 32 0 0 1 31.808 28.8L886.4 512h-64.384l-16-160H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0v-96H217.92l-51.2 512H512v64H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4zm-64 0v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4h256zm201.408 476.16a32 32 0 1 1 45.248 45.184l-128 128a32 32 0 0 1-45.248 0l-128-128a32 32 0 1 1 45.248-45.248L704 837.504V608a32 32 0 1 1 64 0v229.504l73.408-73.408z"},null,-1),iW=[sW];function cW(e,t,n,o,l,a){return b(),C("svg",uW,iW)}var dW=M(rW,[["render",cW],["__file","sold-out.vue"]]),fW={name:"SortDown"},pW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},vW=f("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0z"},null,-1),hW=[vW];function _W(e,t,n,o,l,a){return b(),C("svg",pW,hW)}var mW=M(fW,[["render",_W],["__file","sort-down.vue"]]),gW={name:"SortUp"},bW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yW=f("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248z"},null,-1),wW=[yW];function CW(e,t,n,o,l,a){return b(),C("svg",bW,wW)}var EW=M(gW,[["render",CW],["__file","sort-up.vue"]]),AW={name:"Sort"},FW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},xW=f("path",{fill:"currentColor",d:"M384 96a32 32 0 0 1 64 0v786.752a32 32 0 0 1-54.592 22.656L95.936 608a32 32 0 0 1 0-45.312h.128a32 32 0 0 1 45.184 0L384 805.632V96zm192 45.248a32 32 0 0 1 54.592-22.592L928.064 416a32 32 0 0 1 0 45.312h-.128a32 32 0 0 1-45.184 0L640 218.496V928a32 32 0 1 1-64 0V141.248z"},null,-1),$W=[xW];function DW(e,t,n,o,l,a){return b(),C("svg",FW,$W)}var BW=M(AW,[["render",DW],["__file","sort.vue"]]),SW={name:"Stamp"},kW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},PW=f("path",{fill:"currentColor",d:"M624 475.968V640h144a128 128 0 0 1 128 128H128a128 128 0 0 1 128-128h144V475.968a192 192 0 1 1 224 0zM128 896v-64h768v64H128z"},null,-1),LW=[PW];function zW(e,t,n,o,l,a){return b(),C("svg",kW,LW)}var TW=M(SW,[["render",zW],["__file","stamp.vue"]]),MW={name:"StarFilled"},VW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},HW=f("path",{fill:"currentColor",d:"M283.84 867.84 512 747.776l228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72z"},null,-1),IW=[HW];function RW(e,t,n,o,l,a){return b(),C("svg",VW,IW)}var NW=M(MW,[["render",RW],["__file","star-filled.vue"]]),OW={name:"Star"},UW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WW=f("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72L512 747.84zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"},null,-1),qW=[WW];function jW(e,t,n,o,l,a){return b(),C("svg",UW,qW)}var KW=M(OW,[["render",jW],["__file","star.vue"]]),GW={name:"Stopwatch"},YW={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},XW=f("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768zm0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896z"},null,-1),JW=f("path",{fill:"currentColor",d:"M672 234.88c-39.168 174.464-80 298.624-122.688 372.48-64 110.848-202.624 30.848-138.624-80C453.376 453.44 540.48 355.968 672 234.816z"},null,-1),QW=[XW,JW];function ZW(e,t,n,o,l,a){return b(),C("svg",YW,QW)}var eq=M(GW,[["render",ZW],["__file","stopwatch.vue"]]),tq={name:"SuccessFilled"},nq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oq=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null,-1),lq=[oq];function aq(e,t,n,o,l,a){return b(),C("svg",nq,lq)}var n2=M(tq,[["render",aq],["__file","success-filled.vue"]]),rq={name:"Sugar"},uq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},sq=f("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904H252.928zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928h326.208zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"},null,-1),iq=[sq];function cq(e,t,n,o,l,a){return b(),C("svg",uq,iq)}var dq=M(rq,[["render",cq],["__file","sugar.vue"]]),fq={name:"SuitcaseLine"},pq={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},vq=f("path",{d:"M922.5 229.5c-24.32-24.34-54.49-36.84-90.5-37.5H704v-64c-.68-17.98-7.02-32.98-19.01-44.99S658.01 64.66 640 64H384c-17.98.68-32.98 7.02-44.99 19.01S320.66 110 320 128v64H192c-35.99.68-66.16 13.18-90.5 37.5C77.16 253.82 64.66 283.99 64 320v448c.68 35.99 13.18 66.16 37.5 90.5s54.49 36.84 90.5 37.5h640c35.99-.68 66.16-13.18 90.5-37.5s36.84-54.49 37.5-90.5V320c-.68-35.99-13.18-66.16-37.5-90.5zM384 128h256v64H384v-64zM256 832h-64c-17.98-.68-32.98-7.02-44.99-19.01S128.66 786.01 128 768V448h128v384zm448 0H320V448h384v384zm192-64c-.68 17.98-7.02 32.98-19.01 44.99S850.01 831.34 832 832h-64V448h128v320zm0-384H128v-64c.69-17.98 7.02-32.98 19.01-44.99S173.99 256.66 192 256h640c17.98.69 32.98 7.02 44.99 19.01S895.34 301.99 896 320v64z",fill:"currentColor"},null,-1),hq=[vq];function _q(e,t,n,o,l,a){return b(),C("svg",pq,hq)}var mq=M(fq,[["render",_q],["__file","suitcase-line.vue"]]),gq={name:"Suitcase"},bq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},yq=f("path",{fill:"currentColor",d:"M128 384h768v-64a64 64 0 0 0-64-64H192a64 64 0 0 0-64 64v64zm0 64v320a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V448H128zm64-256h640a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H192A128 128 0 0 1 64 768V320a128 128 0 0 1 128-128z"},null,-1),wq=f("path",{fill:"currentColor",d:"M384 128v64h256v-64H384zm0-64h256a64 64 0 0 1 64 64v64a64 64 0 0 1-64 64H384a64 64 0 0 1-64-64v-64a64 64 0 0 1 64-64z"},null,-1),Cq=[yq,wq];function Eq(e,t,n,o,l,a){return b(),C("svg",bq,Cq)}var Aq=M(gq,[["render",Eq],["__file","suitcase.vue"]]),Fq={name:"Sunny"},xq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},$q=f("path",{fill:"currentColor",d:"M512 704a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512zm0-704a32 32 0 0 1 32 32v64a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32zm0 768a32 32 0 0 1 32 32v64a32 32 0 1 1-64 0v-64a32 32 0 0 1 32-32zM195.2 195.2a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 1 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm543.104 543.104a32 32 0 0 1 45.248 0l45.248 45.248a32 32 0 0 1-45.248 45.248l-45.248-45.248a32 32 0 0 1 0-45.248zM64 512a32 32 0 0 1 32-32h64a32 32 0 0 1 0 64H96a32 32 0 0 1-32-32zm768 0a32 32 0 0 1 32-32h64a32 32 0 1 1 0 64h-64a32 32 0 0 1-32-32zM195.2 828.8a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248L240.448 828.8a32 32 0 0 1-45.248 0zm543.104-543.104a32 32 0 0 1 0-45.248l45.248-45.248a32 32 0 0 1 45.248 45.248l-45.248 45.248a32 32 0 0 1-45.248 0z"},null,-1),Dq=[$q];function Bq(e,t,n,o,l,a){return b(),C("svg",xq,Dq)}var Sq=M(Fq,[["render",Bq],["__file","sunny.vue"]]),kq={name:"Sunrise"},Pq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Lq=f("path",{fill:"currentColor",d:"M32 768h960a32 32 0 1 1 0 64H32a32 32 0 1 1 0-64zm129.408-96a352 352 0 0 1 701.184 0h-64.32a288 288 0 0 0-572.544 0h-64.32zM512 128a32 32 0 0 1 32 32v96a32 32 0 0 1-64 0v-96a32 32 0 0 1 32-32zm407.296 168.704a32 32 0 0 1 0 45.248l-67.84 67.84a32 32 0 1 1-45.248-45.248l67.84-67.84a32 32 0 0 1 45.248 0zm-814.592 0a32 32 0 0 1 45.248 0l67.84 67.84a32 32 0 1 1-45.248 45.248l-67.84-67.84a32 32 0 0 1 0-45.248z"},null,-1),zq=[Lq];function Tq(e,t,n,o,l,a){return b(),C("svg",Pq,zq)}var Mq=M(kq,[["render",Tq],["__file","sunrise.vue"]]),Vq={name:"Sunset"},Hq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Iq=f("path",{fill:"currentColor",d:"M82.56 640a448 448 0 1 1 858.88 0h-67.2a384 384 0 1 0-724.288 0H82.56zM32 704h960q32 0 32 32t-32 32H32q-32 0-32-32t32-32zm256 128h448q32 0 32 32t-32 32H288q-32 0-32-32t32-32z"},null,-1),Rq=[Iq];function Nq(e,t,n,o,l,a){return b(),C("svg",Hq,Rq)}var Oq=M(Vq,[["render",Nq],["__file","sunset.vue"]]),Uq={name:"SwitchButton"},Wq={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},qq=f("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z"},null,-1),jq=f("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32z"},null,-1),Kq=[qq,jq];function Gq(e,t,n,o,l,a){return b(),C("svg",Wq,Kq)}var Yq=M(Uq,[["render",Gq],["__file","switch-button.vue"]]),Xq={name:"SwitchFilled"},Jq={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},Qq=f("path",{d:"M247.47 358.4v.04c.07 19.17 7.72 37.53 21.27 51.09s31.92 21.2 51.09 21.27c39.86 0 72.41-32.6 72.41-72.4s-32.6-72.36-72.41-72.36-72.36 32.55-72.36 72.36z",fill:"currentColor"},null,-1),Zq=f("path",{d:"M492.38 128H324.7c-52.16 0-102.19 20.73-139.08 57.61a196.655 196.655 0 0 0-57.61 139.08V698.7c-.01 25.84 5.08 51.42 14.96 75.29s24.36 45.56 42.63 63.83 39.95 32.76 63.82 42.65a196.67 196.67 0 0 0 75.28 14.98h167.68c3.03 0 5.46-2.43 5.46-5.42V133.42c.6-2.99-1.83-5.42-5.46-5.42zm-56.11 705.88H324.7c-17.76.13-35.36-3.33-51.75-10.18s-31.22-16.94-43.61-29.67c-25.3-25.35-39.81-59.1-39.81-95.32V324.69c-.13-17.75 3.33-35.35 10.17-51.74a131.695 131.695 0 0 1 29.64-43.62c25.39-25.3 59.14-39.81 95.36-39.81h111.57v644.36zm402.12-647.67a196.655 196.655 0 0 0-139.08-57.61H580.48c-3.03 0-4.82 2.43-4.82 4.82v757.16c-.6 2.99 1.79 5.42 5.42 5.42h118.23a196.69 196.69 0 0 0 139.08-57.61A196.655 196.655 0 0 0 896 699.31V325.29a196.69 196.69 0 0 0-57.61-139.08zm-111.3 441.92c-42.83 0-77.82-34.99-77.82-77.82s34.98-77.82 77.82-77.82c42.83 0 77.82 34.99 77.82 77.82s-34.99 77.82-77.82 77.82z",fill:"currentColor"},null,-1),ej=[Qq,Zq];function tj(e,t,n,o,l,a){return b(),C("svg",Jq,ej)}var nj=M(Xq,[["render",tj],["__file","switch-filled.vue"]]),oj={name:"Switch"},lj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aj=f("path",{fill:"currentColor",d:"M118.656 438.656a32 32 0 0 1 0-45.248L416 96l4.48-3.776A32 32 0 0 1 461.248 96l3.712 4.48a32.064 32.064 0 0 1-3.712 40.832L218.56 384H928a32 32 0 1 1 0 64H141.248a32 32 0 0 1-22.592-9.344zM64 608a32 32 0 0 1 32-32h786.752a32 32 0 0 1 22.656 54.592L608 928l-4.48 3.776a32.064 32.064 0 0 1-40.832-49.024L805.632 640H96a32 32 0 0 1-32-32z"},null,-1),rj=[aj];function uj(e,t,n,o,l,a){return b(),C("svg",lj,rj)}var sj=M(oj,[["render",uj],["__file","switch.vue"]]),ij={name:"TakeawayBox"},cj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dj=f("path",{fill:"currentColor",d:"M832 384H192v448h640V384zM96 320h832V128H96v192zm800 64v480a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V384H64a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h896a32 32 0 0 1 32 32v256a32 32 0 0 1-32 32h-64zM416 512h192a32 32 0 0 1 0 64H416a32 32 0 0 1 0-64z"},null,-1),fj=[dj];function pj(e,t,n,o,l,a){return b(),C("svg",cj,fj)}var vj=M(ij,[["render",pj],["__file","takeaway-box.vue"]]),hj={name:"Ticket"},_j={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},mj=f("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64v160zm0-416v192h64V416h-64z"},null,-1),gj=[mj];function bj(e,t,n,o,l,a){return b(),C("svg",_j,gj)}var yj=M(hj,[["render",bj],["__file","ticket.vue"]]),wj={name:"Tickets"},Cj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Ej=f("path",{fill:"currentColor",d:"M192 128v768h640V128H192zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32zm160 448h384v64H320v-64zm0-192h192v64H320v-64zm0 384h384v64H320v-64z"},null,-1),Aj=[Ej];function Fj(e,t,n,o,l,a){return b(),C("svg",Cj,Aj)}var xj=M(wj,[["render",Fj],["__file","tickets.vue"]]),$j={name:"Timer"},Dj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Bj=f("path",{fill:"currentColor",d:"M512 896a320 320 0 1 0 0-640 320 320 0 0 0 0 640zm0 64a384 384 0 1 1 0-768 384 384 0 0 1 0 768z"},null,-1),Sj=f("path",{fill:"currentColor",d:"M512 320a32 32 0 0 1 32 32l-.512 224a32 32 0 1 1-64 0L480 352a32 32 0 0 1 32-32z"},null,-1),kj=f("path",{fill:"currentColor",d:"M448 576a64 64 0 1 0 128 0 64 64 0 1 0-128 0zm96-448v128h-64V128h-96a32 32 0 0 1 0-64h256a32 32 0 1 1 0 64h-96z"},null,-1),Pj=[Bj,Sj,kj];function Lj(e,t,n,o,l,a){return b(),C("svg",Dj,Pj)}var zj=M($j,[["render",Lj],["__file","timer.vue"]]),Tj={name:"ToiletPaper"},Mj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Vj=f("path",{fill:"currentColor",d:"M595.2 128H320a192 192 0 0 0-192 192v576h384V352c0-90.496 32.448-171.2 83.2-224zM736 64c123.712 0 224 128.96 224 288S859.712 640 736 640H576v320H64V320A256 256 0 0 1 320 64h416zM576 352v224h160c84.352 0 160-97.28 160-224s-75.648-224-160-224-160 97.28-160 224z"},null,-1),Hj=f("path",{fill:"currentColor",d:"M736 448c-35.328 0-64-43.008-64-96s28.672-96 64-96 64 43.008 64 96-28.672 96-64 96z"},null,-1),Ij=[Vj,Hj];function Rj(e,t,n,o,l,a){return b(),C("svg",Mj,Ij)}var Nj=M(Tj,[["render",Rj],["__file","toilet-paper.vue"]]),Oj={name:"Tools"},Uj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Wj=f("path",{fill:"currentColor",d:"M764.416 254.72a351.68 351.68 0 0 1 86.336 149.184H960v192.064H850.752a351.68 351.68 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.68 351.68 0 0 1-86.336-149.312H64v-192h109.248a351.68 351.68 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0z"},null,-1),qj=[Wj];function jj(e,t,n,o,l,a){return b(),C("svg",Uj,qj)}var Kj=M(Oj,[["render",jj],["__file","tools.vue"]]),Gj={name:"TopLeft"},Yj={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},Xj=f("path",{fill:"currentColor",d:"M256 256h416a32 32 0 1 0 0-64H224a32 32 0 0 0-32 32v448a32 32 0 0 0 64 0V256z"},null,-1),Jj=f("path",{fill:"currentColor",d:"M246.656 201.344a32 32 0 0 0-45.312 45.312l544 544a32 32 0 0 0 45.312-45.312l-544-544z"},null,-1),Qj=[Xj,Jj];function Zj(e,t,n,o,l,a){return b(),C("svg",Yj,Qj)}var eK=M(Gj,[["render",Zj],["__file","top-left.vue"]]),tK={name:"TopRight"},nK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},oK=f("path",{fill:"currentColor",d:"M768 256H353.6a32 32 0 1 1 0-64H800a32 32 0 0 1 32 32v448a32 32 0 0 1-64 0V256z"},null,-1),lK=f("path",{fill:"currentColor",d:"M777.344 201.344a32 32 0 0 1 45.312 45.312l-544 544a32 32 0 0 1-45.312-45.312l544-544z"},null,-1),aK=[oK,lK];function rK(e,t,n,o,l,a){return b(),C("svg",nK,aK)}var uK=M(tK,[["render",rK],["__file","top-right.vue"]]),sK={name:"Top"},iK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},cK=f("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"},null,-1),dK=[cK];function fK(e,t,n,o,l,a){return b(),C("svg",iK,dK)}var pK=M(sK,[["render",fK],["__file","top.vue"]]),vK={name:"TrendCharts"},hK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},_K=f("path",{fill:"currentColor",d:"M128 896V128h768v768H128zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624 139.84-156.608zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0z"},null,-1),mK=[_K];function gK(e,t,n,o,l,a){return b(),C("svg",hK,mK)}var bK=M(vK,[["render",gK],["__file","trend-charts.vue"]]),yK={name:"TrophyBase"},wK={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},CK=f("path",{d:"M918.4 201.6c-6.4-6.4-12.8-9.6-22.4-9.6H768V96c0-9.6-3.2-16-9.6-22.4C752 67.2 745.6 64 736 64H288c-9.6 0-16 3.2-22.4 9.6C259.2 80 256 86.4 256 96v96H128c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 16-9.6 22.4 3.2 108.8 25.6 185.6 64 224 34.4 34.4 77.56 55.65 127.65 61.99 10.91 20.44 24.78 39.25 41.95 56.41 40.86 40.86 91 65.47 150.4 71.9V768h-96c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h256c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6h-96V637.26c59.4-7.71 109.54-30.01 150.4-70.86 17.2-17.2 31.51-36.06 42.81-56.55 48.93-6.51 90.02-27.7 126.79-61.85 38.4-38.4 60.8-112 64-224 0-6.4-3.2-16-9.6-22.4zM256 438.4c-19.2-6.4-35.2-19.2-51.2-35.2-22.4-22.4-35.2-70.4-41.6-147.2H256v182.4zm390.4 80C608 553.6 566.4 576 512 576s-99.2-19.2-134.4-57.6C342.4 480 320 438.4 320 384V128h384v256c0 54.4-19.2 99.2-57.6 134.4zm172.8-115.2c-16 16-32 25.6-51.2 35.2V256h92.8c-6.4 76.8-19.2 124.8-41.6 147.2zM768 896H256c-9.6 0-16 3.2-22.4 9.6-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4c6.4 6.4 12.8 9.6 22.4 9.6h512c9.6 0 16-3.2 22.4-9.6 6.4-6.4 9.6-12.8 9.6-22.4s-3.2-16-9.6-22.4c-6.4-6.4-12.8-9.6-22.4-9.6z",fill:"currentColor"},null,-1),EK=[CK];function AK(e,t,n,o,l,a){return b(),C("svg",wK,EK)}var FK=M(yK,[["render",AK],["__file","trophy-base.vue"]]),xK={name:"Trophy"},$K={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},DK=f("path",{fill:"currentColor",d:"M480 896V702.08A256.256 256.256 0 0 1 264.064 512h-32.64a96 96 0 0 1-91.968-68.416L93.632 290.88a76.8 76.8 0 0 1 73.6-98.88H256V96a32 32 0 0 1 32-32h448a32 32 0 0 1 32 32v96h88.768a76.8 76.8 0 0 1 73.6 98.88L884.48 443.52A96 96 0 0 1 792.576 512h-32.64A256.256 256.256 0 0 1 544 702.08V896h128a32 32 0 1 1 0 64H352a32 32 0 1 1 0-64h128zm224-448V128H320v320a192 192 0 1 0 384 0zm64 0h24.576a32 32 0 0 0 30.656-22.784l45.824-152.768A12.8 12.8 0 0 0 856.768 256H768v192zm-512 0V256h-88.768a12.8 12.8 0 0 0-12.288 16.448l45.824 152.768A32 32 0 0 0 231.424 448H256z"},null,-1),BK=[DK];function SK(e,t,n,o,l,a){return b(),C("svg",$K,BK)}var kK=M(xK,[["render",SK],["__file","trophy.vue"]]),PK={name:"TurnOff"},LK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},zK=f("path",{fill:"currentColor",d:"M329.956 257.138a254.862 254.862 0 0 0 0 509.724h364.088a254.862 254.862 0 0 0 0-509.724H329.956zm0-72.818h364.088a327.68 327.68 0 1 1 0 655.36H329.956a327.68 327.68 0 1 1 0-655.36z"},null,-1),TK=f("path",{fill:"currentColor",d:"M329.956 621.227a109.227 109.227 0 1 0 0-218.454 109.227 109.227 0 0 0 0 218.454zm0 72.817a182.044 182.044 0 1 1 0-364.088 182.044 182.044 0 0 1 0 364.088z"},null,-1),MK=[zK,TK];function VK(e,t,n,o,l,a){return b(),C("svg",LK,MK)}var HK=M(PK,[["render",VK],["__file","turn-off.vue"]]),IK={name:"Umbrella"},RK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},NK=f("path",{fill:"currentColor",d:"M320 768a32 32 0 1 1 64 0 64 64 0 0 0 128 0V512H64a448 448 0 1 1 896 0H576v256a128 128 0 1 1-256 0zm570.688-320a384.128 384.128 0 0 0-757.376 0h757.376z"},null,-1),OK=[NK];function UK(e,t,n,o,l,a){return b(),C("svg",RK,OK)}var WK=M(IK,[["render",UK],["__file","umbrella.vue"]]),qK={name:"Unlock"},jK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},KK=f("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32H224zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96z"},null,-1),GK=f("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32zm178.304-295.296A192.064 192.064 0 0 0 320 320v64h352l96 38.4V448H256V320a256 256 0 0 1 493.76-95.104l-59.456 23.808z"},null,-1),YK=[KK,GK];function XK(e,t,n,o,l,a){return b(),C("svg",jK,YK)}var JK=M(qK,[["render",XK],["__file","unlock.vue"]]),QK={name:"UploadFilled"},ZK={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},eG=f("path",{fill:"currentColor",d:"M544 864V672h128L512 480 352 672h128v192H320v-1.6c-5.376.32-10.496 1.6-16 1.6A240 240 0 0 1 64 624c0-123.136 93.12-223.488 212.608-237.248A239.808 239.808 0 0 1 512 192a239.872 239.872 0 0 1 235.456 194.752c119.488 13.76 212.48 114.112 212.48 237.248a240 240 0 0 1-240 240c-5.376 0-10.56-1.28-16-1.6v1.6H544z"},null,-1),tG=[eG];function nG(e,t,n,o,l,a){return b(),C("svg",ZK,tG)}var oG=M(QK,[["render",nG],["__file","upload-filled.vue"]]),lG={name:"Upload"},aG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},rG=f("path",{fill:"currentColor",d:"M160 832h704a32 32 0 1 1 0 64H160a32 32 0 1 1 0-64zm384-578.304V704h-64V247.296L237.248 490.048 192 444.8 508.8 128l316.8 316.8-45.312 45.248L544 253.696z"},null,-1),uG=[rG];function sG(e,t,n,o,l,a){return b(),C("svg",aG,uG)}var iG=M(lG,[["render",sG],["__file","upload.vue"]]),cG={name:"UserFilled"},dG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},fG=f("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0zm544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"},null,-1),pG=[fG];function vG(e,t,n,o,l,a){return b(),C("svg",dG,pG)}var hG=M(cG,[["render",vG],["__file","user-filled.vue"]]),_G={name:"User"},mG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},gG=f("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384zm0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512zm320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0z"},null,-1),bG=[gG];function yG(e,t,n,o,l,a){return b(),C("svg",mG,bG)}var wG=M(_G,[["render",yG],["__file","user.vue"]]),CG={name:"Van"},EG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},AG=f("path",{fill:"currentColor",d:"M128.896 736H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32v96h164.544a32 32 0 0 1 31.616 27.136l54.144 352A32 32 0 0 1 922.688 736h-91.52a144 144 0 1 1-286.272 0H415.104a144 144 0 1 1-286.272 0zm23.36-64a143.872 143.872 0 0 1 239.488 0H568.32c17.088-25.6 42.24-45.376 71.744-55.808V256H128v416h24.256zm655.488 0h77.632l-19.648-128H704v64.896A144 144 0 0 1 807.744 672zm48.128-192-14.72-96H704v96h151.872zM688 832a80 80 0 1 0 0-160 80 80 0 0 0 0 160zm-416 0a80 80 0 1 0 0-160 80 80 0 0 0 0 160z"},null,-1),FG=[AG];function xG(e,t,n,o,l,a){return b(),C("svg",EG,FG)}var $G=M(CG,[["render",xG],["__file","van.vue"]]),DG={name:"VideoCameraFilled"},BG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SG=f("path",{fill:"currentColor",d:"m768 576 192-64v320l-192-64v96a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V480a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v96zM192 768v64h384v-64H192zm192-480a160 160 0 0 1 320 0 160 160 0 0 1-320 0zm64 0a96 96 0 1 0 192.064-.064A96 96 0 0 0 448 288zm-320 32a128 128 0 1 1 256.064.064A128 128 0 0 1 128 320zm64 0a64 64 0 1 0 128 0 64 64 0 0 0-128 0z"},null,-1),kG=[SG];function PG(e,t,n,o,l,a){return b(),C("svg",BG,kG)}var LG=M(DG,[["render",PG],["__file","video-camera-filled.vue"]]),zG={name:"VideoCamera"},TG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MG=f("path",{fill:"currentColor",d:"M704 768V256H128v512h576zm64-416 192-96v512l-192-96v128a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V224a32 32 0 0 1 32-32h640a32 32 0 0 1 32 32v128zm0 71.552v176.896l128 64V359.552l-128 64zM192 320h192v64H192v-64z"},null,-1),VG=[MG];function HG(e,t,n,o,l,a){return b(),C("svg",TG,VG)}var IG=M(zG,[["render",HG],["__file","video-camera.vue"]]),RG={name:"VideoPause"},NG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},OG=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm-96-544q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32zm192 0q32 0 32 32v256q0 32-32 32t-32-32V384q0-32 32-32z"},null,-1),UG=[OG];function WG(e,t,n,o,l,a){return b(),C("svg",NG,UG)}var qG=M(RG,[["render",WG],["__file","video-pause.vue"]]),jG={name:"VideoPlay"},KG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},GG=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm-48-247.616L668.608 512 464 375.616v272.768zm10.624-342.656 249.472 166.336a48 48 0 0 1 0 79.872L474.624 718.272A48 48 0 0 1 400 678.336V345.6a48 48 0 0 1 74.624-39.936z"},null,-1),YG=[GG];function XG(e,t,n,o,l,a){return b(),C("svg",KG,YG)}var JG=M(jG,[["render",XG],["__file","video-play.vue"]]),QG={name:"View"},ZG={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},eY=f("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352zm0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448zm0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160z"},null,-1),tY=[eY];function nY(e,t,n,o,l,a){return b(),C("svg",ZG,tY)}var Af=M(QG,[["render",nY],["__file","view.vue"]]),oY={name:"WalletFilled"},lY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},aY=f("path",{fill:"currentColor",d:"M688 512a112 112 0 1 0 0 224h208v160H128V352h768v160H688zm32 160h-32a48 48 0 0 1 0-96h32a48 48 0 0 1 0 96zm-80-544 128 160H384l256-160z"},null,-1),rY=[aY];function uY(e,t,n,o,l,a){return b(),C("svg",lY,rY)}var sY=M(oY,[["render",uY],["__file","wallet-filled.vue"]]),iY={name:"Wallet"},cY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},dY=f("path",{fill:"currentColor",d:"M640 288h-64V128H128v704h384v32a32 32 0 0 0 32 32H96a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32h512a32 32 0 0 1 32 32v192z"},null,-1),fY=f("path",{fill:"currentColor",d:"M128 320v512h768V320H128zm-32-64h832a32 32 0 0 1 32 32v576a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32z"},null,-1),pY=f("path",{fill:"currentColor",d:"M704 640a64 64 0 1 1 0-128 64 64 0 0 1 0 128z"},null,-1),vY=[dY,fY,pY];function hY(e,t,n,o,l,a){return b(),C("svg",cY,vY)}var _Y=M(iY,[["render",hY],["__file","wallet.vue"]]),mY={name:"WarnTriangleFilled"},gY={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024",style:{"enable-background":"new 0 0 1024 1024"},"xml:space":"preserve"},bY=f("path",{d:"M928.99 755.83 574.6 203.25c-12.89-20.16-36.76-32.58-62.6-32.58s-49.71 12.43-62.6 32.58L95.01 755.83c-12.91 20.12-12.9 44.91.01 65.03 12.92 20.12 36.78 32.51 62.59 32.49h708.78c25.82.01 49.68-12.37 62.59-32.49 12.91-20.12 12.92-44.91.01-65.03zM554.67 768h-85.33v-85.33h85.33V768zm0-426.67v298.66h-85.33V341.32l85.33.01z",fill:"currentColor"},null,-1),yY=[bY];function wY(e,t,n,o,l,a){return b(),C("svg",gY,yY)}var CY=M(mY,[["render",wY],["__file","warn-triangle-filled.vue"]]),EY={name:"WarningFilled"},AY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},FY=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"},null,-1),xY=[FY];function $Y(e,t,n,o,l,a){return b(),C("svg",AY,xY)}var Vu=M(EY,[["render",$Y],["__file","warning-filled.vue"]]),DY={name:"Warning"},BY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},SY=f("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 832a384 384 0 0 0 0-768 384 384 0 0 0 0 768zm48-176a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48-464a32 32 0 0 1 32 32v288a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32z"},null,-1),kY=[SY];function PY(e,t,n,o,l,a){return b(),C("svg",BY,kY)}var LY=M(DY,[["render",PY],["__file","warning.vue"]]),zY={name:"Watch"},TY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},MY=f("path",{fill:"currentColor",d:"M512 768a256 256 0 1 0 0-512 256 256 0 0 0 0 512zm0 64a320 320 0 1 1 0-640 320 320 0 0 1 0 640z"},null,-1),VY=f("path",{fill:"currentColor",d:"M480 352a32 32 0 0 1 32 32v160a32 32 0 0 1-64 0V384a32 32 0 0 1 32-32z"},null,-1),HY=f("path",{fill:"currentColor",d:"M480 512h128q32 0 32 32t-32 32H480q-32 0-32-32t32-32zm128-256V128H416v128h-64V64h320v192h-64zM416 768v128h192V768h64v192H352V768h64z"},null,-1),IY=[MY,VY,HY];function RY(e,t,n,o,l,a){return b(),C("svg",TY,IY)}var NY=M(zY,[["render",RY],["__file","watch.vue"]]),OY={name:"Watermelon"},UY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},WY=f("path",{fill:"currentColor",d:"m683.072 600.32-43.648 162.816-61.824-16.512 53.248-198.528L576 493.248l-158.4 158.4-45.248-45.248 158.4-158.4-55.616-55.616-198.528 53.248-16.512-61.824 162.816-43.648L282.752 200A384 384 0 0 0 824 741.248L683.072 600.32zm231.552 141.056a448 448 0 1 1-632-632l632 632z"},null,-1),qY=[WY];function jY(e,t,n,o,l,a){return b(),C("svg",UY,qY)}var KY=M(OY,[["render",jY],["__file","watermelon.vue"]]),GY={name:"WindPower"},YY={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},XY=f("path",{fill:"currentColor",d:"M160 64q32 0 32 32v832q0 32-32 32t-32-32V96q0-32 32-32zm416 354.624 128-11.584V168.96l-128-11.52v261.12zm-64 5.824V151.552L320 134.08V160h-64V64l616.704 56.064A96 96 0 0 1 960 215.68v144.64a96 96 0 0 1-87.296 95.616L256 512V224h64v217.92l192-17.472zm256-23.232 98.88-8.96A32 32 0 0 0 896 360.32V215.68a32 32 0 0 0-29.12-31.872l-98.88-8.96v226.368z"},null,-1),JY=[XY];function QY(e,t,n,o,l,a){return b(),C("svg",YY,JY)}var ZY=M(GY,[["render",QY],["__file","wind-power.vue"]]),eX={name:"ZoomIn"},tX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},nX=f("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zm-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64h96z"},null,-1),oX=[nX];function lX(e,t,n,o,l,a){return b(),C("svg",tX,oX)}var Ff=M(eX,[["render",lX],["__file","zoom-in.vue"]]),aX={name:"ZoomOut"},rX={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},uX=f("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704zM352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64z"},null,-1),sX=[uX];function iX(e,t,n,o,l,a){return b(),C("svg",rX,sX)}var cX=M(aX,[["render",iX],["__file","zoom-out.vue"]]),i0=Object.freeze(Object.defineProperty({__proto__:null,AddLocation:sg,Aim:hg,AlarmClock:Cg,Apple:Dg,ArrowDown:sr,ArrowDownBold:zg,ArrowLeft:hf,ArrowLeftBold:qg,ArrowRight:pa,ArrowRightBold:n9,ArrowUp:Qi,ArrowUpBold:p9,Avatar:A9,Back:k9,Baseball:H9,Basketball:W9,Bell:l7,BellFilled:X9,Bicycle:c7,Bottom:S7,BottomLeft:m7,BottomRight:A7,Bowl:M7,Box:W7,Briefcase:X7,Brush:sb,BrushFilled:nb,Burger:vb,Calendar:yb,Camera:Pb,CameraFilled:xb,CaretBottom:Hb,CaretLeft:Wb,CaretRight:Xb,CaretTop:ny,Cellphone:sy,ChatDotRound:hy,ChatDotSquare:Cy,ChatLineRound:By,ChatLineSquare:My,ChatRound:Oy,ChatSquare:Gy,Check:Zi,Checked:aw,Cherry:dw,Chicken:mw,ChromeFilled:Fw,CircleCheck:Mu,CircleCheckFilled:kw,CircleClose:ir,CircleCloseFilled:e2,CirclePlus:sC,CirclePlusFilled:eC,Clock:_C,Close:Cl,CloseBold:CC,Cloudy:LC,Coffee:qC,CoffeeCup:IC,Coin:ZC,ColdDrink:aE,Collection:gE,CollectionTag:dE,Comment:AE,Compass:kE,Connection:HE,Coordinate:qE,CopyDocument:QE,Cpu:aA,CreditCard:fA,Crop:bA,DArrowLeft:_f,DArrowRight:mf,DCaret:TA,DataAnalysis:NA,DataBoard:YA,DataLine:tF,Delete:gf,DeleteFilled:uF,DeleteLocation:hF,Dessert:xF,Discount:LF,Dish:qF,DishDot:IF,Document:bf,DocumentAdd:JF,DocumentChecked:ox,DocumentCopy:ix,DocumentDelete:hx,DocumentRemove:wx,Download:Px,Drizzling:Hx,Edit:Jx,EditPen:Wx,Eleme:i$,ElemeFilled:o$,ElementPlus:h$,Expand:w$,Failed:$$,Female:T$,Files:N$,Film:G$,Filter:eD,Finished:rD,FirstAidKit:pD,Flag:bD,Fold:FD,Folder:uB,FolderAdd:kD,FolderChecked:VD,FolderDelete:UD,FolderOpened:YD,FolderRemove:tB,Food:pB,Football:yB,ForkSpoon:xB,Fries:PB,FullScreen:HB,Goblet:sS,GobletFull:WB,GobletSquare:nS,GobletSquareFull:XB,GoldMedal:hS,Goods:$S,GoodsFilled:wS,Grape:LS,Grid:IS,Guide:jS,Handbag:QS,Headset:lk,Help:_k,HelpFilled:ck,Hide:yf,Histogram:Dk,HomeFilled:zk,HotWater:Rk,House:jk,IceCream:cP,IceCreamRound:Qk,IceCreamSquare:lP,IceDrink:_P,IceTea:CP,InfoFilled:t2,Iphone:LP,Key:IP,KnifeFork:qP,Lightning:QP,Link:lL,List:cL,Loading:cr,Location:ML,LocationFilled:wL,LocationInformation:BL,Lock:UL,Lollipop:YL,MagicStick:tz,Magnet:uz,Male:hz,Management:wz,MapLocation:Dz,Medal:Tz,Memo:Uz,Menu:Yz,Message:sT,MessageBox:tT,Mic:vT,Microphone:yT,MilkTea:xT,Minus:wf,Money:IT,Monitor:qT,Moon:lM,MoonNight:QT,More:Cf,MoreFilled:js,MostlyCloudy:yM,Mouse:$M,Mug:LM,Mute:KM,MuteNotification:RM,NoSmoking:ZM,Notebook:rV,Notification:pV,Odometer:wV,OfficeBuilding:BV,Open:MV,Operation:OV,Opportunity:GV,Orange:eH,Paperclip:rH,PartlyCloudy:pH,Pear:bH,Phone:kH,PhoneFilled:FH,Picture:JH,PictureFilled:VH,PictureRounded:WH,PieChart:lI,Place:fI,Platform:gI,Plus:Ef,Pointer:BI,Position:TI,Postcard:OI,Pouring:GI,Present:oR,PriceTag:cR,Printer:_R,Promotion:CR,QuartzWatch:SR,QuestionFilled:MR,Rank:OR,Reading:nN,ReadingLamp:YR,Refresh:yN,RefreshLeft:sN,RefreshRight:vN,Refrigerator:xN,Remove:IN,RemoveFilled:PN,Right:qN,ScaleToOriginal:JN,School:aO,Scissor:dO,Search:mO,Select:EO,Sell:BO,SemiSelect:TO,Service:NO,SetUp:XO,Setting:nU,Share:sU,Ship:vU,Shop:yU,ShoppingBag:$U,ShoppingCart:RU,ShoppingCartFull:zU,ShoppingTrolley:jU,Smoking:ZU,Soccer:aW,SoldOut:dW,Sort:BW,SortDown:mW,SortUp:EW,Stamp:TW,Star:KW,StarFilled:NW,Stopwatch:eq,SuccessFilled:n2,Sugar:dq,Suitcase:Aq,SuitcaseLine:mq,Sunny:Sq,Sunrise:Mq,Sunset:Oq,Switch:sj,SwitchButton:Yq,SwitchFilled:nj,TakeawayBox:vj,Ticket:yj,Tickets:xj,Timer:zj,ToiletPaper:Nj,Tools:Kj,Top:pK,TopLeft:eK,TopRight:uK,TrendCharts:bK,Trophy:kK,TrophyBase:FK,TurnOff:HK,Umbrella:WK,Unlock:JK,Upload:iG,UploadFilled:oG,User:wG,UserFilled:hG,Van:$G,VideoCamera:IG,VideoCameraFilled:LG,VideoPause:qG,VideoPlay:JG,View:Af,Wallet:_Y,WalletFilled:sY,WarnTriangleFilled:CY,Warning:LY,WarningFilled:Vu,Watch:NY,Watermelon:KY,WindPower:ZY,ZoomIn:Ff,ZoomOut:cX},Symbol.toStringTag,{value:"Module"}));const xf="__epPropKey",Ue=e=>e,dX=e=>ct(e)&&!!e[xf],Hu=(e,t)=>{if(!ct(e)||dX(e))return e;const{values:n,required:o,default:l,type:a,validator:r}=e,s={type:a,required:!!o,validator:n||r?i=>{let c=!1,m=[];if(n&&(m=Array.from(n),st(e,"default")&&m.push(l),c||(c=m.includes(i))),r&&(c||(c=r(i))),!c&&m.length>0){const h=[...new Set(m)].map(v=>JSON.stringify(v)).join(", ");Tp(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${h}], got value ${JSON.stringify(i)}.`)}return c}:void 0,[xf]:!0};return st(e,"default")&&(s.default=l),s},et=e=>pf(Object.entries(e).map(([t,n])=>[t,Hu(n,t)])),Lt=Ue([String,Object,Function]),$f={Close:Cl},Df={Close:Cl,SuccessFilled:n2,InfoFilled:t2,WarningFilled:Vu,CircleCloseFilled:e2},Zl={success:n2,warning:Vu,error:e2,info:t2},fX={validating:cr,success:Mu,error:ir},Et=(e,t)=>{if(e.install=n=>{for(const o of[e,...Object.values(t!=null?t:{})])n.component(o.name,o)},t)for(const[n,o]of Object.entries(t))e[n]=o;return e},Bf=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),Nt=e=>(e.install=vt,e),pX=(...e)=>t=>{e.forEach(n=>{Je(n)?n(t):n.value=t})},Pt={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},Ct="update:modelValue",uo="change",du="input",dr=["","default","small","large"],vX={large:40,default:32,small:24},hX=e=>vX[e||"default"],o2=e=>["",...dr].includes(e);var Or=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))(Or||{});const _X=e=>{if(!mn(e))return{};const t=e.props||{},n=(mn(e.type)?e.type.props:void 0)||{},o={};return Object.keys(n).forEach(l=>{st(n[l],"default")&&(o[l]=n[l].default)}),Object.keys(t).forEach(l=>{o[xn(l)]=t[l]}),o},l2=e=>{const t=Ye(e)?e:[e],n=[];return t.forEach(o=>{Ye(o.children)?n.push(...l2(o.children)):n.push(o)}),n},Sf=e=>/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(e),a2=()=>Math.floor(Math.random()*1e4),Fo=e=>e,mX=["class","style"],gX=/^on[A-Z]/,bX=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,o=R(()=>((n==null?void 0:n.value)||[]).concat(mX)),l=ft();return R(l?()=>{var a;return pf(Object.entries((a=l.proxy)==null?void 0:a.$attrs).filter(([r])=>!o.value.includes(r)&&!(t&&gX.test(r))))}:()=>({}))},kf=Symbol("buttonGroupContextKey"),Pf=Symbol("collapseContextKey"),Lf=Symbol(),zf=Symbol("dialogInjectionKey"),va=Symbol("formContextKey"),El=Symbol("formItemContextKey"),Tf=Symbol("elPaginationKey"),Mf=Symbol("radioGroupKey"),Vf=Symbol("scrollbarContextKey"),Hf=Symbol("uploadContextKey"),r2=Symbol("popper"),If=Symbol("popperContent"),Rf=e=>{const t=ft();return R(()=>{var n,o;return(o=((n=t.proxy)==null?void 0:n.$props)[e])!=null?o:void 0})},fu=z();function Lo(e,t=void 0){const n=ft()?Ze(Lf,fu):fu;return e?R(()=>{var o,l;return(l=(o=n.value)==null?void 0:o[e])!=null?l:t}):n}const yX=(e,t,n=!1)=>{var o;const l=!!ft(),a=l?Lo():void 0,r=(o=t==null?void 0:t.provide)!=null?o:l?$t:void 0;if(!r)return;const u=R(()=>{const s=_(e);return a!=null&&a.value?wX(a.value,s):s});return r(Lf,u),(n||!fu.value)&&(fu.value=u.value),u},wX=(e,t)=>{var n;const o=[...new Set([...s0(e),...s0(t)])],l={};for(const a of o)l[a]=(n=t[a])!=null?n:e[a];return l},zo=Hu({type:String,values:dr,required:!1}),Qt=(e,t={})=>{const n=z(void 0),o=t.prop?n:Rf("size"),l=t.global?n:Lo("size"),a=t.form?{size:void 0}:Ze(va,void 0),r=t.formItem?{size:void 0}:Ze(El,void 0);return R(()=>o.value||_(e)||(r==null?void 0:r.size)||(a==null?void 0:a.size)||l.value||"")},Bl=e=>{const t=Rf("disabled"),n=Ze(va,void 0);return R(()=>t.value||_(e)||(n==null?void 0:n.disabled)||!1)},pu=({from:e,replacement:t,scope:n,version:o,ref:l,type:a="API"},r)=>{Ve(()=>_(r),u=>{},{immediate:!0})},Nf=(e,t,n)=>{let o={offsetX:0,offsetY:0};const l=u=>{const s=u.clientX,i=u.clientY,{offsetX:c,offsetY:m}=o,h=e.value.getBoundingClientRect(),v=h.left,g=h.top,y=h.width,A=h.height,w=document.documentElement.clientWidth,F=document.documentElement.clientHeight,E=-v+c,$=-g+m,T=w-v-y+c,B=F-g-A+m,P=I=>{const j=Math.min(Math.max(c+I.clientX-s,E),T),Z=Math.min(Math.max(m+I.clientY-i,$),B);o={offsetX:j,offsetY:Z},e.value.style.transform=`translate(${Nn(j)}, ${Nn(Z)})`},H=()=>{document.removeEventListener("mousemove",P),document.removeEventListener("mouseup",H)};document.addEventListener("mousemove",P),document.addEventListener("mouseup",H)},a=()=>{t.value&&e.value&&t.value.addEventListener("mousedown",l)},r=()=>{t.value&&e.value&&t.value.removeEventListener("mousedown",l)};at(()=>{yo(()=>{n.value?a():r()})}),Rt(()=>{r()})},CX=e=>({focus:()=>{var t,n;(n=(t=e.value)==null?void 0:t.focus)==null||n.call(t)}}),Iu="el",EX="is-",al=(e,t,n,o,l)=>{let a=`${e}-${t}`;return n&&(a+=`-${n}`),o&&(a+=`__${o}`),l&&(a+=`--${l}`),a},He=e=>{const t=Lo("namespace",Iu);return{namespace:t,b:(g="")=>al(t.value,e,g,"",""),e:g=>g?al(t.value,e,"",g,""):"",m:g=>g?al(t.value,e,"","",g):"",be:(g,y)=>g&&y?al(t.value,e,g,y,""):"",em:(g,y)=>g&&y?al(t.value,e,"",g,y):"",bm:(g,y)=>g&&y?al(t.value,e,g,"",y):"",bem:(g,y,A)=>g&&y&&A?al(t.value,e,g,y,A):"",is:(g,...y)=>{const A=y.length>=1?y[0]:!0;return g&&A?`${EX}${g}`:""},cssVar:g=>{const y={};for(const A in g)g[A]&&(y[`--${t.value}-${A}`]=g[A]);return y},cssVarName:g=>`--${t.value}-${g}`,cssVarBlock:g=>{const y={};for(const A in g)g[A]&&(y[`--${t.value}-${e}-${A}`]=g[A]);return y},cssVarBlockName:g=>`--${t.value}-${e}-${g}`}},AX={prefix:Math.floor(Math.random()*1e4),current:0},FX=Symbol("elIdInjection"),Zo=e=>{const t=Ze(FX,AX),n=Lo("namespace",Iu);return R(()=>_(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},Sl=()=>{const e=Ze(va,void 0),t=Ze(El,void 0);return{form:e,formItem:t}},fr=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:o})=>{n||(n=z(!1)),o||(o=z(!1));const l=z();let a;const r=R(()=>{var u;return!!(!e.label&&t&&t.inputIds&&((u=t.inputIds)==null?void 0:u.length)<=1)});return at(()=>{a=Ve([$n(e,"id"),n],([u,s])=>{const i=u!=null?u:s?void 0:Zo().value;i!==l.value&&(t!=null&&t.removeInputId&&(l.value&&t.removeInputId(l.value),!(o!=null&&o.value)&&!s&&i&&t.addInputId(i)),l.value=i)},{immediate:!0})}),Bo(()=>{a&&a(),t!=null&&t.removeInputId&&l.value&&t.removeInputId(l.value)}),{isLabeledByFormItem:r,inputId:l}};var xX={name:"en",el:{colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color."},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"}}};const $X=e=>(t,n)=>DX(t,n,_(e)),DX=(e,t,n)=>Jt(n,e,e).replace(/\{(\w+)\}/g,(o,l)=>{var a;return`${(a=t==null?void 0:t[l])!=null?a:`{${l}}`}`}),BX=e=>{const t=R(()=>_(e).name),n=gt(e)?e:z(e);return{lang:t,locale:n,t:$X(e)}},bn=()=>{const e=Lo("locale");return BX(R(()=>e.value||xX))},Of=e=>{gt(e)||gn("[useLockscreen]","You need to pass a ref param to this function");const t=He("popup"),n=Xd(()=>t.bm("parent","hidden"));if(!_t||bl(document.body,n.value))return;let o=0,l=!1,a="0";const r=()=>{setTimeout(()=>{Rn(document.body,n.value),l&&(document.body.style.width=a)},200)};Ve(e,u=>{if(!u){r();return}l=!bl(document.body,n.value),l&&(a=document.body.style.width),o=Zm(t.namespace.value);const s=document.documentElement.clientHeight0&&(s||i==="scroll")&&l&&(document.body.style.width=`calc(100% - ${o}px)`),go(document.body,n.value)}),Pd(()=>r())},SX=Hu({type:Ue(Boolean),default:null}),kX=Hu({type:Ue(Function)}),PX=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,o=[t],l={[e]:SX,[n]:kX};return{useModelToggle:({indicator:r,toggleReason:u,shouldHideWhenRouteChanges:s,shouldProceed:i,onShow:c,onHide:m})=>{const h=ft(),{emit:v}=h,g=h.props,y=R(()=>Je(g[n])),A=R(()=>g[e]===null),w=P=>{r.value!==!0&&(r.value=!0,u&&(u.value=P),Je(c)&&c(P))},F=P=>{r.value!==!1&&(r.value=!1,u&&(u.value=P),Je(m)&&m(P))},E=P=>{if(g.disabled===!0||Je(i)&&!i())return;const H=y.value&&_t;H&&v(t,!0),(A.value||!H)&&w(P)},$=P=>{if(g.disabled===!0||!_t)return;const H=y.value&&_t;H&&v(t,!1),(A.value||!H)&&F(P)},T=P=>{!Gt(P)||(g.disabled&&P?y.value&&v(t,!1):r.value!==P&&(P?w():F()))},B=()=>{r.value?$():E()};return Ve(()=>g[e],T),s&&h.appContext.config.globalProperties.$route!==void 0&&Ve(()=>({...h.proxy.$route}),()=>{s.value&&r.value&&$()}),at(()=>{T(g[e])}),{hide:$,show:E,toggle:B,hasUpdateHandler:y}},useModelToggleProps:l,useModelToggleEmits:o}},LX=(e,t)=>{let n;Ve(()=>e.value,o=>{var l,a;o?(n=document.activeElement,gt(t)&&((a=(l=t.value).focus)==null||a.call(l))):n.focus()})},u2=e=>{if(!e)return{onClick:vt,onMousedown:vt,onMouseup:vt};let t=!1,n=!1;return{onClick:r=>{t&&n&&e(r),t=n=!1},onMousedown:r=>{t=r.target===r.currentTarget},onMouseup:r=>{n=r.target===r.currentTarget}}};function zX(){let e;const t=(o,l)=>{n(),e=window.setTimeout(o,l)},n=()=>window.clearTimeout(e);return zu(()=>n()),{registerTimeout:t,cancelTimeout:n}}let Vl=[];const c0=e=>{const t=e;t.key===Pt.esc&&Vl.forEach(n=>n(t))},TX=e=>{at(()=>{Vl.length===0&&document.addEventListener("keydown",c0),_t&&Vl.push(e)}),Rt(()=>{Vl=Vl.filter(t=>t!==e),Vl.length===0&&_t&&document.removeEventListener("keydown",c0)})};let d0;const MX=Lo("namespace",Iu),Uf=`${MX.value}-popper-container-${a2()}`,Wf=`#${Uf}`,VX=()=>{const e=document.createElement("div");return e.id=Uf,document.body.appendChild(e),e},HX=()=>{$u(()=>{!_t||(!d0||!document.body.querySelector(Wf))&&(d0=VX())})},IX=et({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200}}),RX=({showAfter:e,hideAfter:t,open:n,close:o})=>{const{registerTimeout:l}=zX();return{onOpen:u=>{l(()=>{n(u)},_(e))},onClose:u=>{l(()=>{o(u)},_(t))}}},qf=Symbol("elForwardRef"),NX=e=>{$t(qf,{setForwardRef:n=>{e.value=n}})},OX=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),f0=z(0),kl=()=>{const e=Lo("zIndex",2e3),t=R(()=>e.value+f0.value);return{initialZIndex:e,currentZIndex:t,nextZIndex:()=>(f0.value++,t.value)}};function UX(e){const t=z();function n(){if(e.value==null)return;const{selectionStart:l,selectionEnd:a,value:r}=e.value;if(l==null||a==null)return;const u=r.slice(0,Math.max(0,l)),s=r.slice(Math.max(0,a));t.value={selectionStart:l,selectionEnd:a,value:r,beforeTxt:u,afterTxt:s}}function o(){if(e.value==null||t.value==null)return;const{value:l}=e.value,{beforeTxt:a,afterTxt:r,selectionStart:u}=t.value;if(a==null||r==null||u==null)return;let s=l.length;if(l.endsWith(r))s=l.length-r.length;else if(l.startsWith(a))s=a.length;else{const i=a[u-1],c=l.indexOf(i,u-1);c!==-1&&(s=c+1)}e.value.setSelectionRange(s,s)}return[n,o]}const WX=et({zIndex:{type:Ue([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"}}),qX={scroll:({scrollTop:e,fixed:t})=>mt(e)&&Gt(t),[uo]:e=>Gt(e)};var je=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n};const jX={name:"ElAffix"},KX=Le({...jX,props:WX,emits:qX,setup(e,{expose:t,emit:n}){const o=e,l="ElAffix",a=He("affix"),r=In(),u=In(),s=In(),{height:i}=Km(),{height:c,width:m,top:h,bottom:v,update:g}=l0(u),y=l0(r),A=z(!1),w=z(0),F=z(0),E=R(()=>({height:A.value?`${c.value}px`:"",width:A.value?`${m.value}px`:""})),$=R(()=>{if(!A.value)return{};const P=o.offset?`${o.offset}px`:0;return{height:`${c.value}px`,width:`${m.value}px`,top:o.position==="top"?P:"",bottom:o.position==="bottom"?P:"",transform:F.value?`translateY(${F.value}px)`:"",zIndex:o.zIndex}}),T=()=>{if(!!s.value)if(w.value=s.value instanceof Window?document.documentElement.scrollTop:s.value.scrollTop||0,o.position==="top")if(o.target){const P=y.bottom.value-o.offset-c.value;A.value=o.offset>h.value&&y.bottom.value>0,F.value=P<0?P:0}else A.value=o.offset>h.value;else if(o.target){const P=i.value-y.top.value-o.offset-c.value;A.value=i.value-o.offsety.top.value,F.value=P<0?-P:0}else A.value=i.value-o.offset{n("scroll",{scrollTop:w.value,fixed:A.value})};return Ve(A,P=>n("change",P)),at(()=>{var P;o.target?(r.value=(P=document.querySelector(o.target))!=null?P:void 0,r.value||gn(l,`Target is not existed: ${o.target}`)):r.value=document.documentElement,s.value=Qm(u.value,!0),g()}),Kt(s,"scroll",B),yo(T),t({update:T,updateRoot:g}),(P,H)=>(b(),C("div",{ref_key:"root",ref:u,class:U(_(a).b()),style:nt(_(E))},[f("div",{class:U({[_(a).m("fixed")]:A.value}),style:nt(_($))},[Te(P.$slots,"default")],6)],6))}});var GX=je(KX,[["__file","/home/runner/work/element-plus/element-plus/packages/components/affix/src/affix.vue"]]);const ha=Et(GX),YX=et({size:{type:Ue([Number,String])},color:{type:String}}),XX={name:"ElIcon",inheritAttrs:!1},JX=Le({...XX,props:YX,setup(e){const t=e,n=He("icon"),o=R(()=>{const{size:l,color:a}=t;return!l&&!a?{}:{fontSize:Ko(l)?void 0:Nn(l),"--color":a}});return(l,a)=>(b(),C("i",An({class:_(n).b(),style:_(o)},l.$attrs),[Te(l.$slots,"default")],16))}});var QX=je(JX,[["__file","/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]);const ut=Et(QX);let zn;const ZX=` height:0 !important; visibility:hidden !important; overflow:hidden !important; position:absolute !important; z-index:-1000 !important; top:0 !important; right:0 !important; `,eJ=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function tJ(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),l=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:eJ.map(r=>`${r}:${t.getPropertyValue(r)}`).join(";"),paddingSize:o,borderSize:l,boxSizing:n}}function p0(e,t=1,n){var o;zn||(zn=document.createElement("textarea"),document.body.appendChild(zn));const{paddingSize:l,borderSize:a,boxSizing:r,contextStyle:u}=tJ(e);zn.setAttribute("style",`${u};${ZX}`),zn.value=e.value||e.placeholder||"";let s=zn.scrollHeight;const i={};r==="border-box"?s=s+a:r==="content-box"&&(s=s-l),zn.value="";const c=zn.scrollHeight-l;if(mt(t)){let m=c*t;r==="border-box"&&(m=m+l+a),s=Math.max(m,s),i.minHeight=`${m}px`}if(mt(n)){let m=c*n;r==="border-box"&&(m=m+l+a),s=Math.min(m,s)}return i.height=`${s}px`,(o=zn.parentNode)==null||o.removeChild(zn),zn=void 0,i}const nJ=et({id:{type:String,default:void 0},size:zo,disabled:Boolean,modelValue:{type:Ue([String,Number,Object]),default:""},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:Ue([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String,default:""},readonly:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},showPassword:{type:Boolean,default:!1},showWordLimit:{type:Boolean,default:!1},suffixIcon:{type:Lt},prefixIcon:{type:Lt},containerRole:{type:String,default:void 0},label:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:Ue([Object,Array,String]),default:()=>Fo({})}}),oJ={[Ct]:e=>tt(e),input:e=>tt(e),change:e=>tt(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},lJ=["role"],aJ=["id","type","disabled","formatter","parser","readonly","autocomplete","tabindex","aria-label","placeholder"],rJ=["id","tabindex","disabled","readonly","autocomplete","aria-label","placeholder"],uJ={name:"ElInput",inheritAttrs:!1},sJ=Le({...uJ,props:nJ,emits:oJ,setup(e,{expose:t,emit:n}){const o=e,l={suffix:"append",prefix:"prepend"},a=ft(),r=N3(),u=So(),s=R(()=>{const Q={};return o.containerRole==="combobox"&&(Q["aria-haspopup"]=r["aria-haspopup"],Q["aria-owns"]=r["aria-owns"],Q["aria-expanded"]=r["aria-expanded"]),Q}),i=bX({excludeKeys:R(()=>Object.keys(s.value))}),{form:c,formItem:m}=Sl(),{inputId:h}=fr(o,{formItemContext:m}),v=Qt(),g=Bl(),y=He("input"),A=He("textarea"),w=In(),F=In(),E=z(!1),$=z(!1),T=z(!1),B=z(!1),P=z(),H=In(o.inputStyle),I=R(()=>w.value||F.value),j=R(()=>{var Q;return(Q=c==null?void 0:c.statusIcon)!=null?Q:!1}),Z=R(()=>(m==null?void 0:m.validateState)||""),G=R(()=>Z.value&&fX[Z.value]),N=R(()=>B.value?Af:yf),Y=R(()=>[r.style,o.inputStyle]),ge=R(()=>[o.inputStyle,H.value,{resize:o.resize}]),fe=R(()=>no(o.modelValue)?"":String(o.modelValue)),Ee=R(()=>o.clearable&&!g.value&&!o.readonly&&!!fe.value&&(E.value||$.value)),ne=R(()=>o.showPassword&&!g.value&&!o.readonly&&!!fe.value&&(!!fe.value||E.value)),ee=R(()=>o.showWordLimit&&!!i.value.maxlength&&(o.type==="text"||o.type==="textarea")&&!g.value&&!o.readonly&&!o.showPassword),xe=R(()=>Array.from(fe.value).length),$e=R(()=>!!ee.value&&xe.value>Number(i.value.maxlength)),x=R(()=>!!u.suffix||!!o.suffixIcon||Ee.value||o.showPassword||ee.value||!!Z.value&&j.value),[W,we]=UX(w);ro(F,Q=>{if(!ee.value||o.resize!=="both")return;const Pe=Q[0],{width:Ge}=Pe.contentRect;P.value={right:`calc(100% - ${Ge+15+6}px)`}});const Ae=()=>{const{type:Q,autosize:Pe}=o;if(!(!_t||Q!=="textarea"))if(Pe){const Ge=ct(Pe)?Pe.minRows:void 0,Xe=ct(Pe)?Pe.maxRows:void 0;H.value={...p0(F.value,Ge,Xe)}}else H.value={minHeight:p0(F.value).minHeight}},ke=()=>{const Q=I.value;!Q||Q.value===fe.value||(Q.value=fe.value)},ve=Q=>{const{el:Pe}=a.vnode;if(!Pe)return;const Xe=Array.from(Pe.querySelectorAll(`.${y.e(Q)}`)).find(Ie=>Ie.parentNode===Pe);if(!Xe)return;const he=l[Q];u[he]?Xe.style.transform=`translateX(${Q==="suffix"?"-":""}${Pe.querySelector(`.${y.be("group",he)}`).offsetWidth}px)`:Xe.removeAttribute("style")},ze=()=>{ve("prefix"),ve("suffix")},Ke=async Q=>{W();let{value:Pe}=Q.target;if(o.formatter&&(Pe=o.parser?o.parser(Pe):Pe,Pe=o.formatter(Pe)),!T.value){if(Pe===fe.value){ke();return}n(Ct,Pe),n("input",Pe),await rt(),ke(),we()}},se=Q=>{n("change",Q.target.value)},le=Q=>{n("compositionstart",Q),T.value=!0},L=Q=>{var Pe;n("compositionupdate",Q);const Ge=(Pe=Q.target)==null?void 0:Pe.value,Xe=Ge[Ge.length-1]||"";T.value=!Sf(Xe)},S=Q=>{n("compositionend",Q),T.value&&(T.value=!1,Ke(Q))},V=()=>{B.value=!B.value,O()},O=async()=>{var Q;await rt(),(Q=I.value)==null||Q.focus()},te=()=>{var Q;return(Q=I.value)==null?void 0:Q.blur()},_e=Q=>{E.value=!0,n("focus",Q)},pe=Q=>{var Pe;E.value=!1,n("blur",Q),o.validateEvent&&((Pe=m==null?void 0:m.validate)==null||Pe.call(m,"blur").catch(Ge=>void 0))},Ce=Q=>{$.value=!1,n("mouseleave",Q)},be=Q=>{$.value=!0,n("mouseenter",Q)},re=Q=>{n("keydown",Q)},me=()=>{var Q;(Q=I.value)==null||Q.select()},Re=()=>{n(Ct,""),n("change",""),n("clear"),n("input","")};return Ve(()=>o.modelValue,()=>{var Q;rt(()=>Ae()),o.validateEvent&&((Q=m==null?void 0:m.validate)==null||Q.call(m,"change").catch(Pe=>void 0))}),Ve(fe,()=>ke()),Ve(()=>o.type,async()=>{await rt(),ke(),Ae(),ze()}),at(async()=>{!o.formatter&&o.parser,ke(),ze(),await rt(),Ae()}),xl(async()=>{await rt(),ze()}),t({input:w,textarea:F,ref:I,textareaStyle:ge,autosize:$n(o,"autosize"),focus:O,blur:te,select:me,clear:Re,resizeTextarea:Ae}),(Q,Pe)=>ye((b(),C("div",An(_(s),{class:[Q.type==="textarea"?_(A).b():_(y).b(),_(y).m(_(v)),_(y).is("disabled",_(g)),_(y).is("exceed",_($e)),{[_(y).b("group")]:Q.$slots.prepend||Q.$slots.append,[_(y).bm("group","append")]:Q.$slots.append,[_(y).bm("group","prepend")]:Q.$slots.prepend,[_(y).m("prefix")]:Q.$slots.prefix||Q.prefixIcon,[_(y).m("suffix")]:Q.$slots.suffix||Q.suffixIcon||Q.clearable||Q.showPassword,[_(y).bm("suffix","password-clear")]:_(Ee)&&_(ne)},Q.$attrs.class],style:_(Y),role:Q.containerRole,onMouseenter:be,onMouseleave:Ce}),[oe(" input "),Q.type!=="textarea"?(b(),C(We,{key:0},[oe(" prepend slot "),Q.$slots.prepend?(b(),C("div",{key:0,class:U(_(y).be("group","prepend"))},[Te(Q.$slots,"prepend")],2)):oe("v-if",!0),f("div",{class:U([_(y).e("wrapper"),_(y).is("focus",E.value)])},[oe(" prefix slot "),Q.$slots.prefix||Q.prefixIcon?(b(),C("span",{key:0,class:U(_(y).e("prefix"))},[f("span",{class:U(_(y).e("prefix-inner"))},[Te(Q.$slots,"prefix"),Q.prefixIcon?(b(),ae(_(ut),{key:0,class:U(_(y).e("icon"))},{default:p(()=>[(b(),ae(yt(Q.prefixIcon)))]),_:1},8,["class"])):oe("v-if",!0)],2)],2)):oe("v-if",!0),f("input",An({id:_(h),ref_key:"input",ref:w,class:_(y).e("inner")},_(i),{type:Q.showPassword?B.value?"text":"password":Q.type,disabled:_(g),formatter:Q.formatter,parser:Q.parser,readonly:Q.readonly,autocomplete:Q.autocomplete,tabindex:Q.tabindex,"aria-label":Q.label,placeholder:Q.placeholder,style:Q.inputStyle,onCompositionstart:le,onCompositionupdate:L,onCompositionend:S,onInput:Ke,onFocus:_e,onBlur:pe,onChange:se,onKeydown:re}),null,16,aJ),oe(" suffix slot "),_(x)?(b(),C("span",{key:1,class:U(_(y).e("suffix"))},[f("span",{class:U(_(y).e("suffix-inner"))},[!_(Ee)||!_(ne)||!_(ee)?(b(),C(We,{key:0},[Te(Q.$slots,"suffix"),Q.suffixIcon?(b(),ae(_(ut),{key:0,class:U(_(y).e("icon"))},{default:p(()=>[(b(),ae(yt(Q.suffixIcon)))]),_:1},8,["class"])):oe("v-if",!0)],64)):oe("v-if",!0),_(Ee)?(b(),ae(_(ut),{key:1,class:U([_(y).e("icon"),_(y).e("clear")]),onMousedown:ht(_(vt),["prevent"]),onClick:Re},{default:p(()=>[d(_(ir))]),_:1},8,["class","onMousedown"])):oe("v-if",!0),_(ne)?(b(),ae(_(ut),{key:2,class:U([_(y).e("icon"),_(y).e("password")]),onClick:V},{default:p(()=>[(b(),ae(yt(_(N))))]),_:1},8,["class"])):oe("v-if",!0),_(ee)?(b(),C("span",{key:3,class:U(_(y).e("count"))},[f("span",{class:U(_(y).e("count-inner"))},ce(_(xe))+" / "+ce(_(i).maxlength),3)],2)):oe("v-if",!0),_(Z)&&_(G)&&_(j)?(b(),ae(_(ut),{key:4,class:U([_(y).e("icon"),_(y).e("validateIcon"),_(y).is("loading",_(Z)==="validating")])},{default:p(()=>[(b(),ae(yt(_(G))))]),_:1},8,["class"])):oe("v-if",!0)],2)],2)):oe("v-if",!0)],2),oe(" append slot "),Q.$slots.append?(b(),C("div",{key:1,class:U(_(y).be("group","append"))},[Te(Q.$slots,"append")],2)):oe("v-if",!0)],64)):(b(),C(We,{key:1},[oe(" textarea "),f("textarea",An({id:_(h),ref_key:"textarea",ref:F,class:_(A).e("inner")},_(i),{tabindex:Q.tabindex,disabled:_(g),readonly:Q.readonly,autocomplete:Q.autocomplete,style:_(ge),"aria-label":Q.label,placeholder:Q.placeholder,onCompositionstart:le,onCompositionupdate:L,onCompositionend:S,onInput:Ke,onFocus:_e,onBlur:pe,onChange:se,onKeydown:re}),null,16,rJ),_(ee)?(b(),C("span",{key:0,style:nt(P.value),class:U(_(y).e("count"))},ce(_(xe))+" / "+ce(_(i).maxlength),7)):oe("v-if",!0)],64))],16,lJ)),[[Be,Q.type!=="hidden"]])}});var iJ=je(sJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/input/src/input.vue"]]);const yn=Et(iJ),Il=4,cJ={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},dJ=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),fJ=et({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),pJ=Le({__name:"thumb",props:fJ,setup(e){const t=e,n="Thumb",o=Ze(Vf),l=He("scrollbar");o||gn(n,"can not inject scrollbar context");const a=z(),r=z(),u=z({}),s=z(!1);let i=!1,c=!1,m=_t?document.onselectstart:null;const h=R(()=>cJ[t.vertical?"vertical":"horizontal"]),v=R(()=>dJ({size:t.size,move:t.move,bar:h.value})),g=R(()=>a.value[h.value.offset]**2/o.wrapElement[h.value.scrollSize]/t.ratio/r.value[h.value.offset]),y=P=>{var H;if(P.stopPropagation(),P.ctrlKey||[1,2].includes(P.button))return;(H=window.getSelection())==null||H.removeAllRanges(),w(P);const I=P.currentTarget;!I||(u.value[h.value.axis]=I[h.value.offset]-(P[h.value.client]-I.getBoundingClientRect()[h.value.direction]))},A=P=>{if(!r.value||!a.value||!o.wrapElement)return;const H=Math.abs(P.target.getBoundingClientRect()[h.value.direction]-P[h.value.client]),I=r.value[h.value.offset]/2,j=(H-I)*100*g.value/a.value[h.value.offset];o.wrapElement[h.value.scroll]=j*o.wrapElement[h.value.scrollSize]/100},w=P=>{P.stopImmediatePropagation(),i=!0,document.addEventListener("mousemove",F),document.addEventListener("mouseup",E),m=document.onselectstart,document.onselectstart=()=>!1},F=P=>{if(!a.value||!r.value||i===!1)return;const H=u.value[h.value.axis];if(!H)return;const I=(a.value.getBoundingClientRect()[h.value.direction]-P[h.value.client])*-1,j=r.value[h.value.offset]-H,Z=(I-j)*100*g.value/a.value[h.value.offset];o.wrapElement[h.value.scroll]=Z*o.wrapElement[h.value.scrollSize]/100},E=()=>{i=!1,u.value[h.value.axis]=0,document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",E),B(),c&&(s.value=!1)},$=()=>{c=!1,s.value=!!t.size},T=()=>{c=!0,s.value=i};Rt(()=>{B(),document.removeEventListener("mouseup",E)});const B=()=>{document.onselectstart!==m&&(document.onselectstart=m)};return Kt($n(o,"scrollbarElement"),"mousemove",$),Kt($n(o,"scrollbarElement"),"mouseleave",T),(P,H)=>(b(),ae(Zt,{name:_(l).b("fade"),persisted:""},{default:p(()=>[ye(f("div",{ref_key:"instance",ref:a,class:U([_(l).e("bar"),_(l).is(_(h).key)]),onMousedown:A},[f("div",{ref_key:"thumb",ref:r,class:U(_(l).e("thumb")),style:nt(_(v)),onMousedown:y},null,38)],34),[[Be,P.always||s.value]])]),_:1},8,["name"]))}});var v0=je(pJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/thumb.vue"]]);const vJ=et({always:{type:Boolean,default:!0},width:String,height:String,ratioX:{type:Number,default:1},ratioY:{type:Number,default:1}}),hJ=Le({__name:"bar",props:vJ,setup(e,{expose:t}){const n=e,o=z(0),l=z(0);return t({handleScroll:r=>{if(r){const u=r.offsetHeight-Il,s=r.offsetWidth-Il;l.value=r.scrollTop*100/u*n.ratioY,o.value=r.scrollLeft*100/s*n.ratioX}}}),(r,u)=>(b(),C(We,null,[d(v0,{move:o.value,ratio:r.ratioX,size:r.width,always:r.always},null,8,["move","ratio","size","always"]),d(v0,{move:l.value,ratio:r.ratioY,size:r.height,vertical:"",always:r.always},null,8,["move","ratio","size","always"])],64))}});var _J=je(hJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/bar.vue"]]);const mJ=et({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:Ue([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20}}),gJ={scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(mt)},bJ={name:"ElScrollbar"},yJ=Le({...bJ,props:mJ,emits:gJ,setup(e,{expose:t,emit:n}){const o=e,l=He("scrollbar");let a,r;const u=z(),s=z(),i=z(),c=z("0"),m=z("0"),h=z(),v=z(1),g=z(1),y=R(()=>{const T={};return o.height&&(T.height=Nn(o.height)),o.maxHeight&&(T.maxHeight=Nn(o.maxHeight)),[o.wrapStyle,T]}),A=()=>{var T;s.value&&((T=h.value)==null||T.handleScroll(s.value),n("scroll",{scrollTop:s.value.scrollTop,scrollLeft:s.value.scrollLeft}))};function w(T,B){ct(T)?s.value.scrollTo(T):mt(T)&&mt(B)&&s.value.scrollTo(T,B)}const F=T=>{!mt(T)||(s.value.scrollTop=T)},E=T=>{!mt(T)||(s.value.scrollLeft=T)},$=()=>{if(!s.value)return;const T=s.value.offsetHeight-Il,B=s.value.offsetWidth-Il,P=T**2/s.value.scrollHeight,H=B**2/s.value.scrollWidth,I=Math.max(P,o.minSize),j=Math.max(H,o.minSize);v.value=P/(T-P)/(I/(T-I)),g.value=H/(B-H)/(j/(B-j)),m.value=I+Ilo.noresize,T=>{T?(a==null||a(),r==null||r()):({stop:a}=ro(i,$),r=Kt("resize",$))},{immediate:!0}),Ve(()=>[o.maxHeight,o.height],()=>{o.native||rt(()=>{var T;$(),s.value&&((T=h.value)==null||T.handleScroll(s.value))})}),$t(Vf,It({scrollbarElement:u,wrapElement:s})),at(()=>{o.native||rt(()=>{$()})}),xl(()=>$()),t({wrap$:s,update:$,scrollTo:w,setScrollTop:F,setScrollLeft:E,handleScroll:A}),(T,B)=>(b(),C("div",{ref_key:"scrollbar$",ref:u,class:U(_(l).b())},[f("div",{ref_key:"wrap$",ref:s,class:U([T.wrapClass,_(l).e("wrap"),{[_(l).em("wrap","hidden-default")]:!T.native}]),style:nt(_(y)),onScroll:A},[(b(),ae(yt(T.tag),{ref_key:"resize$",ref:i,class:U([_(l).e("view"),T.viewClass]),style:nt(T.viewStyle)},{default:p(()=>[Te(T.$slots,"default")]),_:3},8,["class","style"]))],38),T.native?oe("v-if",!0):(b(),ae(_J,{key:0,ref_key:"barRef",ref:h,height:m.value,width:c.value,always:T.always,"ratio-x":g.value,"ratio-y":v.value},null,8,["height","width","always","ratio-x","ratio-y"]))],2))}});var wJ=je(yJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/scrollbar/src/scrollbar.vue"]]);const un=Et(wJ),CJ={LIGHT:"light",DARK:"dark"},EJ=["dialog","grid","listbox","menu","tooltip","tree"],jf=et({role:{type:String,values:EJ,default:"tooltip"}}),AJ={name:"ElPopperRoot",inheritAttrs:!1},FJ=Le({...AJ,props:jf,setup(e,{expose:t}){const n=e,o=z(),l=z(),a=z(),r=z(),u=R(()=>n.role),s={triggerRef:o,popperInstanceRef:l,contentRef:a,referenceRef:r,role:u};return t(s),$t(r2,s),(i,c)=>Te(i.$slots,"default")}});var xJ=je(FJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/popper.vue"]]);const Kf=et({arrowOffset:{type:Number,default:5}}),$J={name:"ElPopperArrow",inheritAttrs:!1},DJ=Le({...$J,props:Kf,setup(e,{expose:t}){const n=e,o=He("popper"),{arrowOffset:l,arrowRef:a}=Ze(If,void 0);return Ve(()=>n.arrowOffset,r=>{l.value=r}),Rt(()=>{a.value=void 0}),t({arrowRef:a}),(r,u)=>(b(),C("span",{ref_key:"arrowRef",ref:a,class:U(_(o).e("arrow")),"data-popper-arrow":""},null,2))}});var BJ=je(DJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/arrow.vue"]]);const SJ="ElOnlyChild",kJ=Le({name:SJ,setup(e,{slots:t,attrs:n}){var o;const l=Ze(qf),a=OX((o=l==null?void 0:l.setForwardRef)!=null?o:vt);return()=>{var r;const u=(r=t.default)==null?void 0:r.call(t,n);if(!u||u.length>1)return null;const s=Gf(u);return s?ye(Eo(s,n),[[a]]):null}}});function Gf(e){if(!e)return null;const t=e;for(const n of t){if(ct(n))switch(n.type){case on:continue;case ur:case"svg":return h0(n);case We:return Gf(n.children);default:return n}return h0(n)}return null}function h0(e){const t=He("only-child");return d("span",{class:t.e("content")},[e])}const Yf=et({virtualRef:{type:Ue(Object)},virtualTriggering:Boolean,onMouseenter:Function,onMouseleave:Function,onClick:Function,onKeydown:Function,onFocus:Function,onBlur:Function,onContextmenu:Function,id:String,open:Boolean}),PJ={name:"ElPopperTrigger",inheritAttrs:!1},LJ=Le({...PJ,props:Yf,setup(e,{expose:t}){const n=e,{role:o,triggerRef:l}=Ze(r2,void 0);NX(l);const a=R(()=>u.value?n.id:void 0),r=R(()=>{if(o&&o.value==="tooltip")return n.open&&n.id?n.id:void 0}),u=R(()=>{if(o&&o.value!=="tooltip")return o.value}),s=R(()=>u.value?`${n.open}`:void 0);let i;return at(()=>{Ve(()=>n.virtualRef,c=>{c&&(l.value=Zn(c))},{immediate:!0}),Ve(()=>l.value,(c,m)=>{i==null||i(),i=void 0,Qo(c)&&(["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"].forEach(h=>{var v;const g=n[h];g&&(c.addEventListener(h.slice(2).toLowerCase(),g),(v=m==null?void 0:m.removeEventListener)==null||v.call(m,h.slice(2).toLowerCase(),g))}),i=Ve([a,r,u,s],h=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((v,g)=>{no(h[g])?c.removeAttribute(v):c.setAttribute(v,h[g])})},{immediate:!0})),Qo(m)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(h=>m.removeAttribute(h))},{immediate:!0})}),Rt(()=>{i==null||i(),i=void 0}),t({triggerRef:l}),(c,m)=>c.virtualTriggering?oe("v-if",!0):(b(),ae(_(kJ),An({key:0},c.$attrs,{"aria-controls":_(a),"aria-describedby":_(r),"aria-expanded":_(s),"aria-haspopup":_(u)}),{default:p(()=>[Te(c.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var zJ=je(LJ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/trigger.vue"]]),ln="top",Dn="bottom",Bn="right",an="left",s2="auto",pr=[ln,Dn,Bn,an],ea="start",er="end",TJ="clippingParents",Xf="viewport",xa="popper",MJ="reference",_0=pr.reduce(function(e,t){return e.concat([t+"-"+ea,t+"-"+er])},[]),Ru=[].concat(pr,[s2]).reduce(function(e,t){return e.concat([t,t+"-"+ea,t+"-"+er])},[]),VJ="beforeRead",HJ="read",IJ="afterRead",RJ="beforeMain",NJ="main",OJ="afterMain",UJ="beforeWrite",WJ="write",qJ="afterWrite",jJ=[VJ,HJ,IJ,RJ,NJ,OJ,UJ,WJ,qJ];function so(e){return e?(e.nodeName||"").toLowerCase():null}function Wn(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function ta(e){var t=Wn(e).Element;return e instanceof t||e instanceof Element}function Fn(e){var t=Wn(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function i2(e){if(typeof ShadowRoot=="undefined")return!1;var t=Wn(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function KJ(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},l=t.attributes[n]||{},a=t.elements[n];!Fn(a)||!so(a)||(Object.assign(a.style,o),Object.keys(l).forEach(function(r){var u=l[r];u===!1?a.removeAttribute(r):a.setAttribute(r,u===!0?"":u)}))})}function GJ(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var l=t.elements[o],a=t.attributes[o]||{},r=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),u=r.reduce(function(s,i){return s[i]="",s},{});!Fn(l)||!so(l)||(Object.assign(l.style,u),Object.keys(a).forEach(function(s){l.removeAttribute(s)}))})}}var Jf={name:"applyStyles",enabled:!0,phase:"write",fn:KJ,effect:GJ,requires:["computeStyles"]};function oo(e){return e.split("-")[0]}var yl=Math.max,vu=Math.min,na=Math.round;function oa(e,t){t===void 0&&(t=!1);var n=e.getBoundingClientRect(),o=1,l=1;if(Fn(e)&&t){var a=e.offsetHeight,r=e.offsetWidth;r>0&&(o=na(n.width)/r||1),a>0&&(l=na(n.height)/a||1)}return{width:n.width/o,height:n.height/l,top:n.top/l,right:n.right/o,bottom:n.bottom/l,left:n.left/o,x:n.left/o,y:n.top/l}}function c2(e){var t=oa(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function Qf(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&i2(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function xo(e){return Wn(e).getComputedStyle(e)}function YJ(e){return["table","td","th"].indexOf(so(e))>=0}function tl(e){return((ta(e)?e.ownerDocument:e.document)||window.document).documentElement}function Nu(e){return so(e)==="html"?e:e.assignedSlot||e.parentNode||(i2(e)?e.host:null)||tl(e)}function m0(e){return!Fn(e)||xo(e).position==="fixed"?null:e.offsetParent}function XJ(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&Fn(e)){var o=xo(e);if(o.position==="fixed")return null}var l=Nu(e);for(i2(l)&&(l=l.host);Fn(l)&&["html","body"].indexOf(so(l))<0;){var a=xo(l);if(a.transform!=="none"||a.perspective!=="none"||a.contain==="paint"||["transform","perspective"].indexOf(a.willChange)!==-1||t&&a.willChange==="filter"||t&&a.filter&&a.filter!=="none")return l;l=l.parentNode}return null}function vr(e){for(var t=Wn(e),n=m0(e);n&&YJ(n)&&xo(n).position==="static";)n=m0(n);return n&&(so(n)==="html"||so(n)==="body"&&xo(n).position==="static")?t:n||XJ(e)||t}function d2(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function Ma(e,t,n){return yl(e,vu(t,n))}function JJ(e,t,n){var o=Ma(e,t,n);return o>n?n:o}function Zf(){return{top:0,right:0,bottom:0,left:0}}function e4(e){return Object.assign({},Zf(),e)}function t4(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var QJ=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,e4(typeof e!="number"?e:t4(e,pr))};function ZJ(e){var t,n=e.state,o=e.name,l=e.options,a=n.elements.arrow,r=n.modifiersData.popperOffsets,u=oo(n.placement),s=d2(u),i=[an,Bn].indexOf(u)>=0,c=i?"height":"width";if(!(!a||!r)){var m=QJ(l.padding,n),h=c2(a),v=s==="y"?ln:an,g=s==="y"?Dn:Bn,y=n.rects.reference[c]+n.rects.reference[s]-r[s]-n.rects.popper[c],A=r[s]-n.rects.reference[s],w=vr(a),F=w?s==="y"?w.clientHeight||0:w.clientWidth||0:0,E=y/2-A/2,$=m[v],T=F-h[c]-m[g],B=F/2-h[c]/2+E,P=Ma($,B,T),H=s;n.modifiersData[o]=(t={},t[H]=P,t.centerOffset=P-B,t)}}function eQ(e){var t=e.state,n=e.options,o=n.element,l=o===void 0?"[data-popper-arrow]":o;l!=null&&(typeof l=="string"&&(l=t.elements.popper.querySelector(l),!l)||!Qf(t.elements.popper,l)||(t.elements.arrow=l))}var tQ={name:"arrow",enabled:!0,phase:"main",fn:ZJ,effect:eQ,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function la(e){return e.split("-")[1]}var nQ={top:"auto",right:"auto",bottom:"auto",left:"auto"};function oQ(e){var t=e.x,n=e.y,o=window,l=o.devicePixelRatio||1;return{x:na(t*l)/l||0,y:na(n*l)/l||0}}function g0(e){var t,n=e.popper,o=e.popperRect,l=e.placement,a=e.variation,r=e.offsets,u=e.position,s=e.gpuAcceleration,i=e.adaptive,c=e.roundOffsets,m=e.isFixed,h=r.x,v=h===void 0?0:h,g=r.y,y=g===void 0?0:g,A=typeof c=="function"?c({x:v,y}):{x:v,y};v=A.x,y=A.y;var w=r.hasOwnProperty("x"),F=r.hasOwnProperty("y"),E=an,$=ln,T=window;if(i){var B=vr(n),P="clientHeight",H="clientWidth";if(B===Wn(n)&&(B=tl(n),xo(B).position!=="static"&&u==="absolute"&&(P="scrollHeight",H="scrollWidth")),B=B,l===ln||(l===an||l===Bn)&&a===er){$=Dn;var I=m&&B===T&&T.visualViewport?T.visualViewport.height:B[P];y-=I-o.height,y*=s?1:-1}if(l===an||(l===ln||l===Dn)&&a===er){E=Bn;var j=m&&B===T&&T.visualViewport?T.visualViewport.width:B[H];v-=j-o.width,v*=s?1:-1}}var Z=Object.assign({position:u},i&&nQ),G=c===!0?oQ({x:v,y}):{x:v,y};if(v=G.x,y=G.y,s){var N;return Object.assign({},Z,(N={},N[$]=F?"0":"",N[E]=w?"0":"",N.transform=(T.devicePixelRatio||1)<=1?"translate("+v+"px, "+y+"px)":"translate3d("+v+"px, "+y+"px, 0)",N))}return Object.assign({},Z,(t={},t[$]=F?y+"px":"",t[E]=w?v+"px":"",t.transform="",t))}function lQ(e){var t=e.state,n=e.options,o=n.gpuAcceleration,l=o===void 0?!0:o,a=n.adaptive,r=a===void 0?!0:a,u=n.roundOffsets,s=u===void 0?!0:u,i={placement:oo(t.placement),variation:la(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:l,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,g0(Object.assign({},i,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:s})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,g0(Object.assign({},i,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var n4={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:lQ,data:{}},Fr={passive:!0};function aQ(e){var t=e.state,n=e.instance,o=e.options,l=o.scroll,a=l===void 0?!0:l,r=o.resize,u=r===void 0?!0:r,s=Wn(t.elements.popper),i=[].concat(t.scrollParents.reference,t.scrollParents.popper);return a&&i.forEach(function(c){c.addEventListener("scroll",n.update,Fr)}),u&&s.addEventListener("resize",n.update,Fr),function(){a&&i.forEach(function(c){c.removeEventListener("scroll",n.update,Fr)}),u&&s.removeEventListener("resize",n.update,Fr)}}var o4={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:aQ,data:{}},rQ={left:"right",right:"left",bottom:"top",top:"bottom"};function Ur(e){return e.replace(/left|right|bottom|top/g,function(t){return rQ[t]})}var uQ={start:"end",end:"start"};function b0(e){return e.replace(/start|end/g,function(t){return uQ[t]})}function f2(e){var t=Wn(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function p2(e){return oa(tl(e)).left+f2(e).scrollLeft}function sQ(e){var t=Wn(e),n=tl(e),o=t.visualViewport,l=n.clientWidth,a=n.clientHeight,r=0,u=0;return o&&(l=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=o.offsetLeft,u=o.offsetTop)),{width:l,height:a,x:r+p2(e),y:u}}function iQ(e){var t,n=tl(e),o=f2(e),l=(t=e.ownerDocument)==null?void 0:t.body,a=yl(n.scrollWidth,n.clientWidth,l?l.scrollWidth:0,l?l.clientWidth:0),r=yl(n.scrollHeight,n.clientHeight,l?l.scrollHeight:0,l?l.clientHeight:0),u=-o.scrollLeft+p2(e),s=-o.scrollTop;return xo(l||n).direction==="rtl"&&(u+=yl(n.clientWidth,l?l.clientWidth:0)-a),{width:a,height:r,x:u,y:s}}function v2(e){var t=xo(e),n=t.overflow,o=t.overflowX,l=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+l+o)}function l4(e){return["html","body","#document"].indexOf(so(e))>=0?e.ownerDocument.body:Fn(e)&&v2(e)?e:l4(Nu(e))}function Va(e,t){var n;t===void 0&&(t=[]);var o=l4(e),l=o===((n=e.ownerDocument)==null?void 0:n.body),a=Wn(o),r=l?[a].concat(a.visualViewport||[],v2(o)?o:[]):o,u=t.concat(r);return l?u:u.concat(Va(Nu(r)))}function Ks(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function cQ(e){var t=oa(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function y0(e,t){return t===Xf?Ks(sQ(e)):ta(t)?cQ(t):Ks(iQ(tl(e)))}function dQ(e){var t=Va(Nu(e)),n=["absolute","fixed"].indexOf(xo(e).position)>=0,o=n&&Fn(e)?vr(e):e;return ta(o)?t.filter(function(l){return ta(l)&&Qf(l,o)&&so(l)!=="body"}):[]}function fQ(e,t,n){var o=t==="clippingParents"?dQ(e):[].concat(t),l=[].concat(o,[n]),a=l[0],r=l.reduce(function(u,s){var i=y0(e,s);return u.top=yl(i.top,u.top),u.right=vu(i.right,u.right),u.bottom=vu(i.bottom,u.bottom),u.left=yl(i.left,u.left),u},y0(e,a));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function a4(e){var t=e.reference,n=e.element,o=e.placement,l=o?oo(o):null,a=o?la(o):null,r=t.x+t.width/2-n.width/2,u=t.y+t.height/2-n.height/2,s;switch(l){case ln:s={x:r,y:t.y-n.height};break;case Dn:s={x:r,y:t.y+t.height};break;case Bn:s={x:t.x+t.width,y:u};break;case an:s={x:t.x-n.width,y:u};break;default:s={x:t.x,y:t.y}}var i=l?d2(l):null;if(i!=null){var c=i==="y"?"height":"width";switch(a){case ea:s[i]=s[i]-(t[c]/2-n[c]/2);break;case er:s[i]=s[i]+(t[c]/2-n[c]/2);break}}return s}function tr(e,t){t===void 0&&(t={});var n=t,o=n.placement,l=o===void 0?e.placement:o,a=n.boundary,r=a===void 0?TJ:a,u=n.rootBoundary,s=u===void 0?Xf:u,i=n.elementContext,c=i===void 0?xa:i,m=n.altBoundary,h=m===void 0?!1:m,v=n.padding,g=v===void 0?0:v,y=e4(typeof g!="number"?g:t4(g,pr)),A=c===xa?MJ:xa,w=e.rects.popper,F=e.elements[h?A:c],E=fQ(ta(F)?F:F.contextElement||tl(e.elements.popper),r,s),$=oa(e.elements.reference),T=a4({reference:$,element:w,strategy:"absolute",placement:l}),B=Ks(Object.assign({},w,T)),P=c===xa?B:$,H={top:E.top-P.top+y.top,bottom:P.bottom-E.bottom+y.bottom,left:E.left-P.left+y.left,right:P.right-E.right+y.right},I=e.modifiersData.offset;if(c===xa&&I){var j=I[l];Object.keys(H).forEach(function(Z){var G=[Bn,Dn].indexOf(Z)>=0?1:-1,N=[ln,Dn].indexOf(Z)>=0?"y":"x";H[Z]+=j[N]*G})}return H}function pQ(e,t){t===void 0&&(t={});var n=t,o=n.placement,l=n.boundary,a=n.rootBoundary,r=n.padding,u=n.flipVariations,s=n.allowedAutoPlacements,i=s===void 0?Ru:s,c=la(o),m=c?u?_0:_0.filter(function(g){return la(g)===c}):pr,h=m.filter(function(g){return i.indexOf(g)>=0});h.length===0&&(h=m);var v=h.reduce(function(g,y){return g[y]=tr(e,{placement:y,boundary:l,rootBoundary:a,padding:r})[oo(y)],g},{});return Object.keys(v).sort(function(g,y){return v[g]-v[y]})}function vQ(e){if(oo(e)===s2)return[];var t=Ur(e);return[b0(e),t,b0(t)]}function hQ(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var l=n.mainAxis,a=l===void 0?!0:l,r=n.altAxis,u=r===void 0?!0:r,s=n.fallbackPlacements,i=n.padding,c=n.boundary,m=n.rootBoundary,h=n.altBoundary,v=n.flipVariations,g=v===void 0?!0:v,y=n.allowedAutoPlacements,A=t.options.placement,w=oo(A),F=w===A,E=s||(F||!g?[Ur(A)]:vQ(A)),$=[A].concat(E).reduce(function(we,Ae){return we.concat(oo(Ae)===s2?pQ(t,{placement:Ae,boundary:c,rootBoundary:m,padding:i,flipVariations:g,allowedAutoPlacements:y}):Ae)},[]),T=t.rects.reference,B=t.rects.popper,P=new Map,H=!0,I=$[0],j=0;j<$.length;j++){var Z=$[j],G=oo(Z),N=la(Z)===ea,Y=[ln,Dn].indexOf(G)>=0,ge=Y?"width":"height",fe=tr(t,{placement:Z,boundary:c,rootBoundary:m,altBoundary:h,padding:i}),Ee=Y?N?Bn:an:N?Dn:ln;T[ge]>B[ge]&&(Ee=Ur(Ee));var ne=Ur(Ee),ee=[];if(a&&ee.push(fe[G]<=0),u&&ee.push(fe[Ee]<=0,fe[ne]<=0),ee.every(function(we){return we})){I=Z,H=!1;break}P.set(Z,ee)}if(H)for(var xe=g?3:1,$e=function(we){var Ae=$.find(function(ke){var ve=P.get(ke);if(ve)return ve.slice(0,we).every(function(ze){return ze})});if(Ae)return I=Ae,"break"},x=xe;x>0;x--){var W=$e(x);if(W==="break")break}t.placement!==I&&(t.modifiersData[o]._skip=!0,t.placement=I,t.reset=!0)}}var _Q={name:"flip",enabled:!0,phase:"main",fn:hQ,requiresIfExists:["offset"],data:{_skip:!1}};function w0(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function C0(e){return[ln,Bn,Dn,an].some(function(t){return e[t]>=0})}function mQ(e){var t=e.state,n=e.name,o=t.rects.reference,l=t.rects.popper,a=t.modifiersData.preventOverflow,r=tr(t,{elementContext:"reference"}),u=tr(t,{altBoundary:!0}),s=w0(r,o),i=w0(u,l,a),c=C0(s),m=C0(i);t.modifiersData[n]={referenceClippingOffsets:s,popperEscapeOffsets:i,isReferenceHidden:c,hasPopperEscaped:m},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":m})}var gQ={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:mQ};function bQ(e,t,n){var o=oo(e),l=[an,ln].indexOf(o)>=0?-1:1,a=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=a[0],u=a[1];return r=r||0,u=(u||0)*l,[an,Bn].indexOf(o)>=0?{x:u,y:r}:{x:r,y:u}}function yQ(e){var t=e.state,n=e.options,o=e.name,l=n.offset,a=l===void 0?[0,0]:l,r=Ru.reduce(function(c,m){return c[m]=bQ(m,t.rects,a),c},{}),u=r[t.placement],s=u.x,i=u.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=i),t.modifiersData[o]=r}var wQ={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:yQ};function CQ(e){var t=e.state,n=e.name;t.modifiersData[n]=a4({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var r4={name:"popperOffsets",enabled:!0,phase:"read",fn:CQ,data:{}};function EQ(e){return e==="x"?"y":"x"}function AQ(e){var t=e.state,n=e.options,o=e.name,l=n.mainAxis,a=l===void 0?!0:l,r=n.altAxis,u=r===void 0?!1:r,s=n.boundary,i=n.rootBoundary,c=n.altBoundary,m=n.padding,h=n.tether,v=h===void 0?!0:h,g=n.tetherOffset,y=g===void 0?0:g,A=tr(t,{boundary:s,rootBoundary:i,padding:m,altBoundary:c}),w=oo(t.placement),F=la(t.placement),E=!F,$=d2(w),T=EQ($),B=t.modifiersData.popperOffsets,P=t.rects.reference,H=t.rects.popper,I=typeof y=="function"?y(Object.assign({},t.rects,{placement:t.placement})):y,j=typeof I=="number"?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),Z=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,G={x:0,y:0};if(B){if(a){var N,Y=$==="y"?ln:an,ge=$==="y"?Dn:Bn,fe=$==="y"?"height":"width",Ee=B[$],ne=Ee+A[Y],ee=Ee-A[ge],xe=v?-H[fe]/2:0,$e=F===ea?P[fe]:H[fe],x=F===ea?-H[fe]:-P[fe],W=t.elements.arrow,we=v&&W?c2(W):{width:0,height:0},Ae=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Zf(),ke=Ae[Y],ve=Ae[ge],ze=Ma(0,P[fe],we[fe]),Ke=E?P[fe]/2-xe-ze-ke-j.mainAxis:$e-ze-ke-j.mainAxis,se=E?-P[fe]/2+xe+ze+ve+j.mainAxis:x+ze+ve+j.mainAxis,le=t.elements.arrow&&vr(t.elements.arrow),L=le?$==="y"?le.clientTop||0:le.clientLeft||0:0,S=(N=Z==null?void 0:Z[$])!=null?N:0,V=Ee+Ke-S-L,O=Ee+se-S,te=Ma(v?vu(ne,V):ne,Ee,v?yl(ee,O):ee);B[$]=te,G[$]=te-Ee}if(u){var _e,pe=$==="x"?ln:an,Ce=$==="x"?Dn:Bn,be=B[T],re=T==="y"?"height":"width",me=be+A[pe],Re=be-A[Ce],Q=[ln,an].indexOf(w)!==-1,Pe=(_e=Z==null?void 0:Z[T])!=null?_e:0,Ge=Q?me:be-P[re]-H[re]-Pe+j.altAxis,Xe=Q?be+P[re]+H[re]-Pe-j.altAxis:Re,he=v&&Q?JJ(Ge,be,Xe):Ma(v?Ge:me,be,v?Xe:Re);B[T]=he,G[T]=he-be}t.modifiersData[o]=G}}var FQ={name:"preventOverflow",enabled:!0,phase:"main",fn:AQ,requiresIfExists:["offset"]};function xQ(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function $Q(e){return e===Wn(e)||!Fn(e)?f2(e):xQ(e)}function DQ(e){var t=e.getBoundingClientRect(),n=na(t.width)/e.offsetWidth||1,o=na(t.height)/e.offsetHeight||1;return n!==1||o!==1}function BQ(e,t,n){n===void 0&&(n=!1);var o=Fn(t),l=Fn(t)&&DQ(t),a=tl(t),r=oa(e,l),u={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(o||!o&&!n)&&((so(t)!=="body"||v2(a))&&(u=$Q(t)),Fn(t)?(s=oa(t,!0),s.x+=t.clientLeft,s.y+=t.clientTop):a&&(s.x=p2(a))),{x:r.left+u.scrollLeft-s.x,y:r.top+u.scrollTop-s.y,width:r.width,height:r.height}}function SQ(e){var t=new Map,n=new Set,o=[];e.forEach(function(a){t.set(a.name,a)});function l(a){n.add(a.name);var r=[].concat(a.requires||[],a.requiresIfExists||[]);r.forEach(function(u){if(!n.has(u)){var s=t.get(u);s&&l(s)}}),o.push(a)}return e.forEach(function(a){n.has(a.name)||l(a)}),o}function kQ(e){var t=SQ(e);return jJ.reduce(function(n,o){return n.concat(t.filter(function(l){return l.phase===o}))},[])}function PQ(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function LQ(e){var t=e.reduce(function(n,o){var l=n[o.name];return n[o.name]=l?Object.assign({},l,o,{options:Object.assign({},l.options,o.options),data:Object.assign({},l.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var E0={placement:"bottom",modifiers:[],strategy:"absolute"};function A0(){for(var e=arguments.length,t=new Array(e),n=0;n{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const l=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||l?NodeFilter.FILTER_SKIP:o.tabIndex>=0||o===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},F0=(e,t)=>{for(const n of e)if(!MQ(n,t))return n},MQ=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},VQ=e=>{const t=s4(e),n=F0(t,e),o=F0(t.reverse(),e);return[n,o]},HQ=e=>e instanceof HTMLInputElement&&"select"in e,Ro=(e,t)=>{if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&HQ(e)&&t&&e.select()}};function x0(e,t){const n=[...e],o=e.indexOf(t);return o!==-1&&n.splice(o,1),n}const IQ=()=>{let e=[];return{push:o=>{const l=e[0];l&&o!==l&&l.pause(),e=x0(e,o),e.unshift(o)},remove:o=>{var l,a;e=x0(e,o),(a=(l=e[0])==null?void 0:l.resume)==null||a.call(l)}}},RQ=(e,t=!1)=>{const n=document.activeElement;for(const o of e)if(Ro(o,t),document.activeElement!==n)return},$0=IQ(),is="focus-trap.focus-after-trapped",cs="focus-trap.focus-after-released",D0={cancelable:!0,bubbles:!1},B0="focusAfterTrapped",S0="focusAfterReleased",i4=Symbol("elFocusTrap"),NQ=Le({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[B0,S0,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=z();let o,l;TX(v=>{e.trapped&&!a.paused&&t("release-requested",v)});const a={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},r=v=>{if(!e.loop&&!e.trapped||a.paused)return;const{key:g,altKey:y,ctrlKey:A,metaKey:w,currentTarget:F,shiftKey:E}=v,{loop:$}=e,T=g===Pt.tab&&!y&&!A&&!w,B=document.activeElement;if(T&&B){const P=F,[H,I]=VQ(P);H&&I?!E&&B===I?(v.preventDefault(),$&&Ro(H,!0),t("focusout-prevented")):E&&[H,P].includes(B)&&(v.preventDefault(),$&&Ro(I,!0),t("focusout-prevented")):B===P&&(v.preventDefault(),t("focusout-prevented"))}};$t(i4,{focusTrapRef:n,onKeydown:r}),Ve(()=>e.focusTrapEl,v=>{v&&(n.value=v)},{immediate:!0}),Ve([n],([v],[g])=>{v&&(v.addEventListener("keydown",r),v.addEventListener("focusin",i),v.addEventListener("focusout",c)),g&&(g.removeEventListener("keydown",r),g.removeEventListener("focusin",i),g.removeEventListener("focusout",c))});const u=v=>{t(B0,v)},s=v=>t(S0,v),i=v=>{const g=_(n);if(!g)return;const y=v.target,A=y&&g.contains(y);A&&t("focusin",v),!a.paused&&e.trapped&&(A?l=y:Ro(l,!0))},c=v=>{const g=_(n);if(!(a.paused||!g))if(e.trapped){const y=v.relatedTarget;!no(y)&&!g.contains(y)&&setTimeout(()=>{!a.paused&&e.trapped&&Ro(l,!0)},0)}else{const y=v.target;y&&g.contains(y)||t("focusout",v)}};async function m(){await rt();const v=_(n);if(v){$0.push(a);const g=document.activeElement;if(o=g,!v.contains(g)){const A=new Event(is,D0);v.addEventListener(is,u),v.dispatchEvent(A),A.defaultPrevented||rt(()=>{let w=e.focusStartEl;tt(w)||(Ro(w),document.activeElement!==w&&(w="first")),w==="first"&&RQ(s4(v),!0),(document.activeElement===g||w==="container")&&Ro(v)})}}}function h(){const v=_(n);if(v){v.removeEventListener(is,u);const g=new Event(cs,D0);v.addEventListener(cs,s),v.dispatchEvent(g),g.defaultPrevented||Ro(o!=null?o:document.body,!0),v.removeEventListener(cs,u),$0.remove(a)}}return at(()=>{e.trapped&&m(),Ve(()=>e.trapped,v=>{v?m():h()})}),Rt(()=>{e.trapped&&h()}),{onKeydown:r}}});function OQ(e,t,n,o,l,a){return Te(e.$slots,"default",{handleKeydown:e.onKeydown})}var _2=je(NQ,[["render",OQ],["__file","/home/runner/work/element-plus/element-plus/packages/components/focus-trap/src/focus-trap.vue"]]);const UQ=["fixed","absolute"],WQ=et({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:Ue(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Ru,default:"bottom"},popperOptions:{type:Ue(Object),default:()=>({})},strategy:{type:String,values:UQ,default:"absolute"}}),c4=et({...WQ,id:String,style:{type:Ue([String,Array,Object])},className:{type:Ue([String,Array,Object])},effect:{type:String,default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:Ue([String,Array,Object])},popperStyle:{type:Ue([String,Array,Object])},referenceEl:{type:Ue(Object)},triggerTargetEl:{type:Ue(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},ariaLabel:{type:String,default:void 0},virtualTriggering:Boolean,zIndex:Number}),qQ=["mouseenter","mouseleave","focus","blur","close"],k0=(e,t)=>{const{placement:n,strategy:o,popperOptions:l}=e,a={placement:n,strategy:o,...l,modifiers:KQ(e)};return GQ(a,t),YQ(a,l==null?void 0:l.modifiers),a},jQ=e=>{if(!!_t)return Zn(e)};function KQ(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:o}=e;return[{name:"offset",options:{offset:[0,t!=null?t:12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:o}},{name:"computeStyles",options:{gpuAcceleration:n,adaptive:n}}]}function GQ(e,{arrowEl:t,arrowOffset:n}){e.modifiers.push({name:"arrow",options:{element:t,padding:n!=null?n:5}})}function YQ(e,t){t&&(e.modifiers=[...e.modifiers,...t!=null?t:[]])}const XQ={name:"ElPopperContent"},JQ=Le({...XQ,props:c4,emits:qQ,setup(e,{expose:t,emit:n}){const o=e,{popperInstanceRef:l,contentRef:a,triggerRef:r,role:u}=Ze(r2,void 0),s=Ze(El,void 0),{nextZIndex:i}=kl(),c=He("popper"),m=z(),h=z("first"),v=z(),g=z();$t(If,{arrowRef:v,arrowOffset:g}),s&&(s.addInputId||s.removeInputId)&&$t(El,{...s,addInputId:vt,removeInputId:vt});const y=z(o.zIndex||i()),A=z(!1);let w;const F=R(()=>jQ(o.referenceEl)||_(r)),E=R(()=>[{zIndex:_(y)},o.popperStyle]),$=R(()=>[c.b(),c.is("pure",o.pure),c.is(o.effect),o.popperClass]),T=R(()=>u&&u.value==="dialog"?"false":void 0),B=({referenceEl:Y,popperContentEl:ge,arrowEl:fe})=>{const Ee=k0(o,{arrowEl:fe,arrowOffset:_(g)});return u4(Y,ge,Ee)},P=(Y=!0)=>{var ge;(ge=_(l))==null||ge.update(),Y&&(y.value=o.zIndex||i())},H=()=>{var Y,ge;const fe={name:"eventListeners",enabled:o.visible};(ge=(Y=_(l))==null?void 0:Y.setOptions)==null||ge.call(Y,Ee=>({...Ee,modifiers:[...Ee.modifiers||[],fe]})),P(!1),o.visible&&o.focusOnShow?A.value=!0:o.visible===!1&&(A.value=!1)},I=()=>{n("focus")},j=()=>{h.value="first",n("blur")},Z=Y=>{var ge;o.visible&&!A.value&&(Y.target&&(h.value=Y.target),A.value=!0,Y.relatedTarget&&((ge=Y.relatedTarget)==null||ge.focus()))},G=()=>{o.trapping||(A.value=!1)},N=()=>{A.value=!1,n("close")};return at(()=>{let Y;Ve(F,ge=>{var fe;Y==null||Y();const Ee=_(l);if((fe=Ee==null?void 0:Ee.destroy)==null||fe.call(Ee),ge){const ne=_(m);a.value=ne,l.value=B({referenceEl:ge,popperContentEl:ne,arrowEl:_(v)}),Y=Ve(()=>ge.getBoundingClientRect(),()=>P(),{immediate:!0})}else l.value=void 0},{immediate:!0}),Ve(()=>o.triggerTargetEl,(ge,fe)=>{w==null||w(),w=void 0;const Ee=_(ge||m.value),ne=_(fe||m.value);if(Qo(Ee)){const{ariaLabel:ee,id:xe}=On(o);w=Ve([u,ee,T,xe],$e=>{["role","aria-label","aria-modal","id"].forEach((x,W)=>{no($e[W])?Ee.removeAttribute(x):Ee.setAttribute(x,$e[W])})},{immediate:!0})}ne!==Ee&&Qo(ne)&&["role","aria-label","aria-modal","id"].forEach(ee=>{ne.removeAttribute(ee)})},{immediate:!0}),Ve(()=>o.visible,H,{immediate:!0}),Ve(()=>k0(o,{arrowEl:_(v),arrowOffset:_(g)}),ge=>{var fe;return(fe=l.value)==null?void 0:fe.setOptions(ge)})}),Rt(()=>{w==null||w(),w=void 0}),t({popperContentRef:m,popperInstanceRef:l,updatePopper:P,contentStyle:E}),(Y,ge)=>(b(),C("div",{ref_key:"popperContentRef",ref:m,style:nt(_(E)),class:U(_($)),tabindex:"-1",onMouseenter:ge[0]||(ge[0]=fe=>Y.$emit("mouseenter",fe)),onMouseleave:ge[1]||(ge[1]=fe=>Y.$emit("mouseleave",fe))},[d(_(_2),{trapped:A.value,"trap-on-focus-in":!0,"focus-trap-el":m.value,"focus-start-el":h.value,onFocusAfterTrapped:I,onFocusAfterReleased:j,onFocusin:Z,onFocusoutPrevented:G,onReleaseRequested:N},{default:p(()=>[Te(Y.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el"])],38))}});var QQ=je(JQ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/popper/src/content.vue"]]);const ZQ=Et(xJ),eZ=He("tooltip"),m2=et({...IX,...c4,appendTo:{type:Ue([String,Object]),default:Wf},content:{type:String,default:""},rawContent:{type:Boolean,default:!1},persistent:Boolean,ariaLabel:String,visible:{type:Ue(Boolean),default:null},transition:{type:String,default:`${eZ.namespace.value}-fade-in-linear`},teleported:{type:Boolean,default:!0},disabled:{type:Boolean}}),d4=et({...Yf,disabled:Boolean,trigger:{type:Ue([String,Array]),default:"hover"},triggerKeys:{type:Ue(Array),default:()=>[Pt.enter,Pt.space]}}),tZ=et({openDelay:{type:Number},visibleArrow:{type:Boolean,default:void 0},hideAfter:{type:Number,default:200},showArrow:{type:Boolean,default:!0}}),g2=Symbol("elTooltip"),nZ=Le({name:"ElTooltipContent",components:{ElPopperContent:QQ},inheritAttrs:!1,props:m2,setup(e){const t=z(null),n=z(!1),o=z(!1),l=z(!1),a=z(!1),{controlled:r,id:u,open:s,trigger:i,onClose:c,onOpen:m,onShow:h,onHide:v,onBeforeShow:g,onBeforeHide:y}=Ze(g2,void 0),A=R(()=>e.persistent);Rt(()=>{a.value=!0});const w=R(()=>_(A)?!0:_(s)),F=R(()=>e.disabled?!1:_(s)),E=R(()=>{var Y;return(Y=e.style)!=null?Y:{}}),$=R(()=>!_(s)),T=()=>{v()},B=()=>{if(_(r))return!0},P=_o(B,()=>{e.enterable&&_(i)==="hover"&&m()}),H=_o(B,()=>{_(i)==="hover"&&c()}),I=()=>{var Y,ge;(ge=(Y=t.value)==null?void 0:Y.updatePopper)==null||ge.call(Y),g==null||g()},j=()=>{y==null||y()},Z=()=>{h(),N=Tm(R(()=>{var Y;return(Y=t.value)==null?void 0:Y.popperContentRef}),()=>{if(_(r))return;_(i)!=="hover"&&c()})},G=()=>{e.virtualTriggering||c()};let N;return Ve(()=>_(s),Y=>{Y||N==null||N()},{flush:"post"}),{ariaHidden:$,entering:o,leaving:l,id:u,intermediateOpen:n,contentStyle:E,contentRef:t,destroyed:a,shouldRender:w,shouldShow:F,onClose:c,open:s,onAfterShow:Z,onBeforeEnter:I,onBeforeLeave:j,onContentEnter:P,onContentLeave:H,onTransitionLeave:T,onBlur:G}}});function oZ(e,t,n,o,l,a){const r=Qe("el-popper-content");return b(),ae(g1,{disabled:!e.teleported,to:e.appendTo},[d(Zt,{name:e.transition,onAfterLeave:e.onTransitionLeave,onBeforeEnter:e.onBeforeEnter,onAfterEnter:e.onAfterShow,onBeforeLeave:e.onBeforeLeave},{default:p(()=>[e.shouldRender?ye((b(),ae(r,An({key:0,id:e.id,ref:"contentRef"},e.$attrs,{"aria-label":e.ariaLabel,"aria-hidden":e.ariaHidden,"boundaries-padding":e.boundariesPadding,"fallback-placements":e.fallbackPlacements,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,placement:e.placement,"popper-options":e.popperOptions,strategy:e.strategy,effect:e.effect,enterable:e.enterable,pure:e.pure,"popper-class":e.popperClass,"popper-style":[e.popperStyle,e.contentStyle],"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,visible:e.shouldShow,"z-index":e.zIndex,onMouseenter:e.onContentEnter,onMouseleave:e.onContentLeave,onBlur:e.onBlur,onClose:e.onClose}),{default:p(()=>[oe(" Workaround bug #6378 "),e.destroyed?oe("v-if",!0):Te(e.$slots,"default",{key:0})]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onBlur","onClose"])),[[Be,e.shouldShow]]):oe("v-if",!0)]),_:3},8,["name","onAfterLeave","onBeforeEnter","onAfterEnter","onBeforeLeave"])],8,["disabled","to"])}var lZ=je(nZ,[["render",oZ],["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/content.vue"]]);const aZ=(e,t)=>Ye(e)?e.includes(t):e===t,Ll=(e,t,n)=>o=>{aZ(_(e),t)&&n(o)},rZ=Le({name:"ElTooltipTrigger",components:{ElPopperTrigger:zJ},props:d4,setup(e){const t=He("tooltip"),{controlled:n,id:o,open:l,onOpen:a,onClose:r,onToggle:u}=Ze(g2,void 0),s=z(null),i=()=>{if(_(n)||e.disabled)return!0},c=$n(e,"trigger"),m=_o(i,Ll(c,"hover",a)),h=_o(i,Ll(c,"hover",r)),v=_o(i,Ll(c,"click",F=>{F.button===0&&u(F)})),g=_o(i,Ll(c,"focus",a)),y=_o(i,Ll(c,"focus",r)),A=_o(i,Ll(c,"contextmenu",F=>{F.preventDefault(),u(F)})),w=_o(i,F=>{const{code:E}=F;e.triggerKeys.includes(E)&&(F.preventDefault(),u(F))});return{onBlur:y,onContextMenu:A,onFocus:g,onMouseenter:m,onMouseleave:h,onClick:v,onKeydown:w,open:l,id:o,triggerRef:s,ns:t}}});function uZ(e,t,n,o,l,a){const r=Qe("el-popper-trigger");return b(),ae(r,{id:e.id,"virtual-ref":e.virtualRef,open:e.open,"virtual-triggering":e.virtualTriggering,class:U(e.ns.e("trigger")),onBlur:e.onBlur,onClick:e.onClick,onContextmenu:e.onContextMenu,onFocus:e.onFocus,onMouseenter:e.onMouseenter,onMouseleave:e.onMouseleave,onKeydown:e.onKeydown},{default:p(()=>[Te(e.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"])}var sZ=je(rZ,[["render",uZ],["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/trigger.vue"]]);const{useModelToggleProps:iZ,useModelToggle:cZ,useModelToggleEmits:dZ}=PX("visible"),fZ=Le({name:"ElTooltip",components:{ElPopper:ZQ,ElPopperArrow:BJ,ElTooltipContent:lZ,ElTooltipTrigger:sZ},props:{...jf,...iZ,...m2,...d4,...Kf,...tZ},emits:[...dZ,"before-show","before-hide","show","hide","open","close"],setup(e,{emit:t}){HX();const n=R(()=>(Ko(e.openDelay),e.openDelay||e.showAfter)),o=R(()=>(Ko(e.visibleArrow),Gt(e.visibleArrow)?e.visibleArrow:e.showArrow)),l=Zo(),a=z(null),r=z(null),u=()=>{var w;const F=_(a);F&&((w=F.popperInstanceRef)==null||w.update())},s=z(!1),i=z(void 0),{show:c,hide:m,hasUpdateHandler:h}=cZ({indicator:s,toggleReason:i}),{onOpen:v,onClose:g}=RX({showAfter:n,hideAfter:$n(e,"hideAfter"),open:c,close:m}),y=R(()=>Gt(e.visible)&&!h.value);$t(g2,{controlled:y,id:l,open:$i(s),trigger:$n(e,"trigger"),onOpen:w=>{v(w)},onClose:w=>{g(w)},onToggle:w=>{_(s)?g(w):v(w)},onShow:()=>{t("show",i.value)},onHide:()=>{t("hide",i.value)},onBeforeShow:()=>{t("before-show",i.value)},onBeforeHide:()=>{t("before-hide",i.value)},updatePopper:u}),Ve(()=>e.disabled,w=>{w&&s.value&&(s.value=!1)});const A=()=>{var w,F;const E=(F=(w=r.value)==null?void 0:w.contentRef)==null?void 0:F.popperContentRef;return E&&E.contains(document.activeElement)};return u1(()=>s.value&&m()),{compatShowAfter:n,compatShowArrow:o,popperRef:a,contentRef:r,open:s,hide:m,isFocusInsideContent:A,updatePopper:u,onOpen:v,onClose:g}}}),pZ=["innerHTML"],vZ={key:1};function hZ(e,t,n,o,l,a){const r=Qe("el-tooltip-trigger"),u=Qe("el-popper-arrow"),s=Qe("el-tooltip-content"),i=Qe("el-popper");return b(),ae(i,{ref:"popperRef",role:e.role},{default:p(()=>[d(r,{disabled:e.disabled,trigger:e.trigger,"trigger-keys":e.triggerKeys,"virtual-ref":e.virtualRef,"virtual-triggering":e.virtualTriggering},{default:p(()=>[e.$slots.default?Te(e.$slots,"default",{key:0}):oe("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),d(s,{ref:"contentRef","aria-label":e.ariaLabel,"boundaries-padding":e.boundariesPadding,content:e.content,disabled:e.disabled,effect:e.effect,enterable:e.enterable,"fallback-placements":e.fallbackPlacements,"hide-after":e.hideAfter,"gpu-acceleration":e.gpuAcceleration,offset:e.offset,persistent:e.persistent,"popper-class":e.popperClass,"popper-style":e.popperStyle,placement:e.placement,"popper-options":e.popperOptions,pure:e.pure,"raw-content":e.rawContent,"reference-el":e.referenceEl,"trigger-target-el":e.triggerTargetEl,"show-after":e.compatShowAfter,strategy:e.strategy,teleported:e.teleported,transition:e.transition,"virtual-triggering":e.virtualTriggering,"z-index":e.zIndex,"append-to":e.appendTo},{default:p(()=>[Te(e.$slots,"content",{},()=>[e.rawContent?(b(),C("span",{key:0,innerHTML:e.content},null,8,pZ)):(b(),C("span",vZ,ce(e.content),1))]),e.compatShowArrow?(b(),ae(u,{key:0,"arrow-offset":e.arrowOffset},null,8,["arrow-offset"])):oe("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"])}var _Z=je(fZ,[["render",hZ],["__file","/home/runner/work/element-plus/element-plus/packages/components/tooltip/src/tooltip.vue"]]);const Sn=Et(_Z),mZ=et({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"}}),gZ=["textContent"],bZ={name:"ElBadge"},yZ=Le({...bZ,props:mZ,setup(e,{expose:t}){const n=e,o=He("badge"),l=R(()=>n.isDot?"":mt(n.value)&&mt(n.max)?n.max(b(),C("div",{class:U(_(o).b())},[Te(a.$slots,"default"),d(Zt,{name:`${_(o).namespace.value}-zoom-in-center`,persisted:""},{default:p(()=>[ye(f("sup",{class:U([_(o).e("content"),_(o).em("content",a.type),_(o).is("fixed",!!a.$slots.default),_(o).is("dot",a.isDot)]),textContent:ce(_(l))},null,10,gZ),[[Be,!a.hidden&&(_(l)||a.isDot)]])]),_:1},8,["name"])],2))}});var wZ=je(yZ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/badge/src/badge.vue"]]);const CZ=Et(wZ),EZ=["default","primary","success","warning","info","danger","text",""],AZ=["button","submit","reset"],Gs=et({size:zo,disabled:Boolean,type:{type:String,values:EZ,default:""},icon:{type:Lt},nativeType:{type:String,values:AZ,default:"button"},loading:Boolean,loadingIcon:{type:Lt,default:()=>cr},plain:Boolean,text:Boolean,link:Boolean,bg:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0}}),FZ={click:e=>e instanceof MouseEvent};function Ut(e,t){xZ(e)&&(e="100%");var n=$Z(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function xr(e){return Math.min(1,Math.max(0,e))}function xZ(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function $Z(e){return typeof e=="string"&&e.indexOf("%")!==-1}function f4(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function $r(e){return e<=1?"".concat(Number(e)*100,"%"):e}function pl(e){return e.length===1?"0"+e:String(e)}function DZ(e,t,n){return{r:Ut(e,255)*255,g:Ut(t,255)*255,b:Ut(n,255)*255}}function P0(e,t,n){e=Ut(e,255),t=Ut(t,255),n=Ut(n,255);var o=Math.max(e,t,n),l=Math.min(e,t,n),a=0,r=0,u=(o+l)/2;if(o===l)r=0,a=0;else{var s=o-l;switch(r=u>.5?s/(2-o-l):s/(o+l),o){case e:a=(t-n)/s+(t1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function BZ(e,t,n){var o,l,a;if(e=Ut(e,360),t=Ut(t,100),n=Ut(n,100),t===0)l=n,a=n,o=n;else{var r=n<.5?n*(1+t):n+t-n*t,u=2*n-r;o=ds(u,r,e+1/3),l=ds(u,r,e),a=ds(u,r,e-1/3)}return{r:o*255,g:l*255,b:a*255}}function L0(e,t,n){e=Ut(e,255),t=Ut(t,255),n=Ut(n,255);var o=Math.max(e,t,n),l=Math.min(e,t,n),a=0,r=o,u=o-l,s=o===0?0:u/o;if(o===l)a=0;else{switch(o){case e:a=(t-n)/u+(t>16,g:(e&65280)>>8,b:e&255}}var Ys={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function zZ(e){var t={r:0,g:0,b:0},n=1,o=null,l=null,a=null,r=!1,u=!1;return typeof e=="string"&&(e=VZ(e)),typeof e=="object"&&(co(e.r)&&co(e.g)&&co(e.b)?(t=DZ(e.r,e.g,e.b),r=!0,u=String(e.r).substr(-1)==="%"?"prgb":"rgb"):co(e.h)&&co(e.s)&&co(e.v)?(o=$r(e.s),l=$r(e.v),t=SZ(e.h,o,l),r=!0,u="hsv"):co(e.h)&&co(e.s)&&co(e.l)&&(o=$r(e.s),a=$r(e.l),t=BZ(e.h,o,a),r=!0,u="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=f4(n),{ok:r,format:e.format||u,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var TZ="[-\\+]?\\d+%?",MZ="[-\\+]?\\d*\\.\\d+%?",Go="(?:".concat(MZ,")|(?:").concat(TZ,")"),fs="[\\s|\\(]+(".concat(Go,")[,|\\s]+(").concat(Go,")[,|\\s]+(").concat(Go,")\\s*\\)?"),ps="[\\s|\\(]+(".concat(Go,")[,|\\s]+(").concat(Go,")[,|\\s]+(").concat(Go,")[,|\\s]+(").concat(Go,")\\s*\\)?"),Mn={CSS_UNIT:new RegExp(Go),rgb:new RegExp("rgb"+fs),rgba:new RegExp("rgba"+ps),hsl:new RegExp("hsl"+fs),hsla:new RegExp("hsla"+ps),hsv:new RegExp("hsv"+fs),hsva:new RegExp("hsva"+ps),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function VZ(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(Ys[e])e=Ys[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Mn.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Mn.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Mn.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Mn.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Mn.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Mn.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Mn.hex8.exec(e),n?{r:dn(n[1]),g:dn(n[2]),b:dn(n[3]),a:T0(n[4]),format:t?"name":"hex8"}:(n=Mn.hex6.exec(e),n?{r:dn(n[1]),g:dn(n[2]),b:dn(n[3]),format:t?"name":"hex"}:(n=Mn.hex4.exec(e),n?{r:dn(n[1]+n[1]),g:dn(n[2]+n[2]),b:dn(n[3]+n[3]),a:T0(n[4]+n[4]),format:t?"name":"hex8"}:(n=Mn.hex3.exec(e),n?{r:dn(n[1]+n[1]),g:dn(n[2]+n[2]),b:dn(n[3]+n[3]),format:t?"name":"hex"}:!1)))))))))}function co(e){return Boolean(Mn.CSS_UNIT.exec(String(e)))}var p4=function(){function e(t,n){t===void 0&&(t=""),n===void 0&&(n={});var o;if(t instanceof e)return t;typeof t=="number"&&(t=LZ(t)),this.originalInput=t;var l=zZ(t);this.originalInput=t,this.r=l.r,this.g=l.g,this.b=l.b,this.a=l.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:l.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=l.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),n,o,l,a=t.r/255,r=t.g/255,u=t.b/255;return a<=.03928?n=a/12.92:n=Math.pow((a+.055)/1.055,2.4),r<=.03928?o=r/12.92:o=Math.pow((r+.055)/1.055,2.4),u<=.03928?l=u/12.92:l=Math.pow((u+.055)/1.055,2.4),.2126*n+.7152*o+.0722*l},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=f4(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.toHsv=function(){var t=L0(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=L0(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),l=Math.round(t.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(l,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=P0(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=P0(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),l=Math.round(t.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(l,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(l,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),z0(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),kZ(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(n,", ").concat(o,")"):"rgba(".concat(t,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(n){return"".concat(Math.round(Ut(n,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(n){return Math.round(Ut(n,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+z0(this.r,this.g,this.b,!1),n=0,o=Object.entries(Ys);n=0,a=!n&&l&&(t.startsWith("hex")||t==="name");return a?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=xr(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=xr(n.l),new e(n)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=xr(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=xr(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),o=(n.h+t)%360;return n.h=o<0?360+o:o,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var o=this.toRgb(),l=new e(t).toRgb(),a=n/100,r={r:(l.r-o.r)*a+o.r,g:(l.g-o.g)*a+o.g,b:(l.b-o.b)*a+o.b,a:(l.a-o.a)*a+o.a};return new e(r)},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var o=this.toHsl(),l=360/n,a=[this];for(o.h=(o.h-(l*t>>1)+720)%360;--t;)o.h=(o.h+l)%360,a.push(new e(o));return a},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),o=n.h,l=n.s,a=n.v,r=[],u=1/t;t--;)r.push(new e({h:o,s:l,v:a})),a=(a+u)%1;return r},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),o=new e(t).toRgb();return new e({r:o.r+(n.r-o.r)*n.a,g:o.g+(n.g-o.g)*n.a,b:o.b+(n.b-o.b)*n.a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),o=n.h,l=[this],a=360/t,r=1;r{let o={};const l=e.color;if(l){const a=new p4(l),r=e.dark?a.tint(20).toString():Ho(a,20);if(e.plain)o=n.cssVarBlock({"bg-color":e.dark?Ho(a,90):a.tint(90).toString(),"text-color":l,"border-color":e.dark?Ho(a,50):a.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":l,"hover-border-color":l,"active-bg-color":r,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":r}),t.value&&(o[n.cssVarBlockName("disabled-bg-color")]=e.dark?Ho(a,90):a.tint(90).toString(),o[n.cssVarBlockName("disabled-text-color")]=e.dark?Ho(a,50):a.tint(50).toString(),o[n.cssVarBlockName("disabled-border-color")]=e.dark?Ho(a,80):a.tint(80).toString());else{const u=e.dark?Ho(a,30):a.tint(30).toString(),s=a.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(o=n.cssVarBlock({"bg-color":l,"text-color":s,"border-color":l,"hover-bg-color":u,"hover-text-color":s,"hover-border-color":u,"active-bg-color":r,"active-border-color":r}),t.value){const i=e.dark?Ho(a,50):a.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]=i,o[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,o[n.cssVarBlockName("disabled-border-color")]=i}}}return o})}const IZ=["aria-disabled","disabled","autofocus","type"],RZ={name:"ElButton"},NZ=Le({...RZ,props:Gs,emits:FZ,setup(e,{expose:t,emit:n}){const o=e,l=So();pu({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},R(()=>o.type==="text"));const a=Ze(kf,void 0),r=Lo("button"),u=He("button"),{form:s}=Sl(),i=Qt(R(()=>a==null?void 0:a.size)),c=Bl(),m=z(),h=R(()=>o.type||(a==null?void 0:a.type)||""),v=R(()=>{var w,F,E;return(E=(F=o.autoInsertSpace)!=null?F:(w=r.value)==null?void 0:w.autoInsertSpace)!=null?E:!1}),g=R(()=>{var w;const F=(w=l.default)==null?void 0:w.call(l);if(v.value&&(F==null?void 0:F.length)===1){const E=F[0];if((E==null?void 0:E.type)===ur){const $=E.children;return/^\p{Unified_Ideograph}{2}$/u.test($.trim())}}return!1}),y=HZ(o),A=w=>{o.nativeType==="reset"&&(s==null||s.resetFields()),n("click",w)};return t({ref:m,size:i,type:h,disabled:c,shouldAddSpace:g}),(w,F)=>(b(),C("button",{ref_key:"_ref",ref:m,class:U([_(u).b(),_(u).m(_(h)),_(u).m(_(i)),_(u).is("disabled",_(c)),_(u).is("loading",w.loading),_(u).is("plain",w.plain),_(u).is("round",w.round),_(u).is("circle",w.circle),_(u).is("text",w.text),_(u).is("link",w.link),_(u).is("has-bg",w.bg)]),"aria-disabled":_(c)||w.loading,disabled:_(c)||w.loading,autofocus:w.autofocus,type:w.nativeType,style:nt(_(y)),onClick:A},[w.loading?(b(),C(We,{key:0},[w.$slots.loading?Te(w.$slots,"loading",{key:0}):(b(),ae(_(ut),{key:1,class:U(_(u).is("loading"))},{default:p(()=>[(b(),ae(yt(w.loadingIcon)))]),_:1},8,["class"]))],64)):w.icon||w.$slots.icon?(b(),ae(_(ut),{key:1},{default:p(()=>[w.icon?(b(),ae(yt(w.icon),{key:0})):Te(w.$slots,"icon",{key:1})]),_:3})):oe("v-if",!0),w.$slots.default?(b(),C("span",{key:2,class:U({[_(u).em("text","expand")]:_(g)})},[Te(w.$slots,"default")],2)):oe("v-if",!0)],14,IZ))}});var OZ=je(NZ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/button/src/button.vue"]]);const UZ={size:Gs.size,type:Gs.type},WZ={name:"ElButtonGroup"},qZ=Le({...WZ,props:UZ,setup(e){const t=e;$t(kf,It({size:$n(t,"size"),type:$n(t,"type")}));const n=He("button");return(o,l)=>(b(),C("div",{class:U(`${_(n).b("group")}`)},[Te(o.$slots,"default")],2))}});var v4=je(qZ,[["__file","/home/runner/work/element-plus/element-plus/packages/components/button/src/button-group.vue"]]);const kn=Et(OZ,{ButtonGroup:v4});Nt(v4);var Hl=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function jZ(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}const No=new Map;let M0;_t&&(document.addEventListener("mousedown",e=>M0=e),document.addEventListener("mouseup",e=>{for(const t of No.values())for(const{documentHandler:n}of t)n(e,M0)}));function V0(e,t){let n=[];return Array.isArray(t.arg)?n=t.arg:Qo(t.arg)&&n.push(t.arg),function(o,l){const a=t.instance.popperRef,r=o.target,u=l==null?void 0:l.target,s=!t||!t.instance,i=!r||!u,c=e.contains(r)||e.contains(u),m=e===r,h=n.length&&n.some(g=>g==null?void 0:g.contains(r))||n.length&&n.includes(u),v=a&&(a.contains(r)||a.contains(u));s||i||c||m||h||v||t.value(o,l)}}const h4={beforeMount(e,t){No.has(e)||No.set(e,[]),No.get(e).push({documentHandler:V0(e,t),bindingFn:t.value})},updated(e,t){No.has(e)||No.set(e,[]);const n=No.get(e),o=n.findIndex(a=>a.bindingFn===t.oldValue),l={documentHandler:V0(e,t),bindingFn:t.value};o>=0?n.splice(o,1,l):n.push(l)},unmounted(e){No.delete(e)}},KZ=100,GZ=600,H0={beforeMount(e,t){let n=null,o=null;const l=()=>t.value&&t.value(),a=()=>{o&&(clearTimeout(o),o=null),n&&(clearInterval(n),n=null)};e.addEventListener("mousedown",r=>{r.button===0&&(l(),document.addEventListener("mouseup",a,{once:!0}),a(),o=setTimeout(()=>{n=setInterval(()=>{l()},KZ)},GZ))})}},Xs="_trap-focus-children",vl=[],I0=e=>{if(vl.length===0)return;const t=vl[vl.length-1][Xs];if(t.length>0&&e.code===Pt.tab){if(t.length===1){e.preventDefault(),document.activeElement!==t[0]&&t[0].focus();return}const n=e.shiftKey,o=e.target===t[0],l=e.target===t[t.length-1];o&&n&&(e.preventDefault(),t[t.length-1].focus()),l&&!n&&(e.preventDefault(),t[0].focus())}},YZ={beforeMount(e){e[Xs]=t0(e),vl.push(e),vl.length<=1&&document.addEventListener("keydown",I0)},updated(e){rt(()=>{e[Xs]=t0(e)})},unmounted(){vl.shift(),vl.length===0&&document.removeEventListener("keydown",I0)}};var R0=!1,dl,Js,Qs,Wr,qr,_4,jr,Zs,ei,ti,m4,ni,oi,g4,b4;function en(){if(!R0){R0=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(ni=/\b(iPhone|iP[ao]d)/.exec(e),oi=/\b(iP[ao]d)/.exec(e),ti=/Android/i.exec(e),g4=/FBAN\/\w+;/i.exec(e),b4=/Mobile/i.exec(e),m4=!!/Win64/.exec(e),t){dl=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,dl&&document&&document.documentMode&&(dl=document.documentMode);var o=/(?:Trident\/(\d+.\d+))/.exec(e);_4=o?parseFloat(o[1])+4:dl,Js=t[2]?parseFloat(t[2]):NaN,Qs=t[3]?parseFloat(t[3]):NaN,Wr=t[4]?parseFloat(t[4]):NaN,Wr?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),qr=t&&t[1]?parseFloat(t[1]):NaN):qr=NaN}else dl=Js=Qs=qr=Wr=NaN;if(n){if(n[1]){var l=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);jr=l?parseFloat(l[1].replace("_",".")):!0}else jr=!1;Zs=!!n[2],ei=!!n[3]}else jr=Zs=ei=!1}}var li={ie:function(){return en()||dl},ieCompatibilityMode:function(){return en()||_4>dl},ie64:function(){return li.ie()&&m4},firefox:function(){return en()||Js},opera:function(){return en()||Qs},webkit:function(){return en()||Wr},safari:function(){return li.webkit()},chrome:function(){return en()||qr},windows:function(){return en()||Zs},osx:function(){return en()||jr},linux:function(){return en()||ei},iphone:function(){return en()||ni},mobile:function(){return en()||ni||oi||ti||b4},nativeApp:function(){return en()||g4},android:function(){return en()||ti},ipad:function(){return en()||oi}},XZ=li,Dr=!!(typeof window<"u"&&window.document&&window.document.createElement),JZ={canUseDOM:Dr,canUseWorkers:typeof Worker<"u",canUseEventListeners:Dr&&!!(window.addEventListener||window.attachEvent),canUseViewport:Dr&&!!window.screen,isInWorker:!Dr},y4=JZ,w4;y4.canUseDOM&&(w4=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function QZ(e,t){if(!y4.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,o=n in document;if(!o){var l=document.createElement("div");l.setAttribute(n,"return;"),o=typeof l[n]=="function"}return!o&&w4&&e==="wheel"&&(o=document.implementation.hasFeature("Events.wheel","3.0")),o}var ZZ=QZ,N0=10,O0=40,U0=800;function C4(e){var t=0,n=0,o=0,l=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),o=t*N0,l=n*N0,"deltaY"in e&&(l=e.deltaY),"deltaX"in e&&(o=e.deltaX),(o||l)&&e.deltaMode&&(e.deltaMode==1?(o*=O0,l*=O0):(o*=U0,l*=U0)),o&&!t&&(t=o<1?-1:1),l&&!n&&(n=l<1?-1:1),{spinX:t,spinY:n,pixelX:o,pixelY:l}}C4.getEventType=function(){return XZ.firefox()?"DOMMouseScroll":ZZ("wheel")?"wheel":"mousewheel"};var eee=C4;/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */const tee=function(e,t){if(e&&e.addEventListener){const n=function(o){const l=eee(o);t&&Reflect.apply(t,this,[o,l])};e.addEventListener("wheel",n,{passive:!0})}},nee={beforeMount(e,t){tee(e,t.value)}},oee={modelValue:{type:Array,default:()=>[]},disabled:Boolean,min:{type:Number,default:void 0},max:{type:Number,default:void 0},size:zo,id:{type:String,default:void 0},label:{type:String,default:void 0},fill:{type:String,default:void 0},textColor:{type:String,default:void 0},tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0}},E4={modelValue:{type:[Number,String,Boolean],default:()=>{}},label:{type:[String,Boolean,Number,Object]},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},controls:{type:String,default:void 0},border:Boolean,size:zo,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0}},_a=()=>{const{form:e,formItem:t}=Sl(),n=Ze("CheckboxGroup",{}),o=R(()=>n&&(n==null?void 0:n.name)==="ElCheckboxGroup"),l=R(()=>t==null?void 0:t.size);return{isGroup:o,checkboxGroup:n,elForm:e,elFormItemSize:l,elFormItem:t}},lee=(e,{elFormItem:t})=>{const{inputId:n,isLabeledByFormItem:o}=fr(e,{formItemContext:t});return{isLabeledByFormItem:o,groupId:n}},aee=e=>{const t=z(!1),{emit:n}=ft(),{isGroup:o,checkboxGroup:l,elFormItem:a}=_a(),r=z(!1);return{model:R({get(){var s,i;return o.value?(s=l.modelValue)==null?void 0:s.value:(i=e.modelValue)!=null?i:t.value},set(s){var i;o.value&&Array.isArray(s)?(r.value=l.max!==void 0&&s.length>l.max.value,r.value===!1&&((i=l==null?void 0:l.changeEvent)==null||i.call(l,s))):(n(Ct,s),t.value=s)}}),isGroup:o,isLimitExceeded:r,elFormItem:a}},ree=(e,t,{model:n})=>{const{isGroup:o,checkboxGroup:l}=_a(),a=z(!1),r=Qt(l==null?void 0:l.checkboxGroupSize,{prop:!0}),u=R(()=>{const c=n.value;return da(c)==="[object Boolean]"?c:Array.isArray(c)?c.map(it).includes(e.label):c!=null?c===e.trueLabel:!!c}),s=Qt(R(()=>{var c;return o.value?(c=l==null?void 0:l.checkboxGroupSize)==null?void 0:c.value:void 0})),i=R(()=>!!(t.default||e.label));return{isChecked:u,focus:a,size:r,checkboxSize:s,hasOwnLabel:i}},uee=(e,{model:t,isChecked:n})=>{const{elForm:o,isGroup:l,checkboxGroup:a}=_a(),r=R(()=>{var s,i;const c=(s=a.max)==null?void 0:s.value,m=(i=a.min)==null?void 0:i.value;return!!(c||m)&&t.value.length>=c&&!n.value||t.value.length<=m&&n.value});return{isDisabled:R(()=>{var s,i;const c=e.disabled||(o==null?void 0:o.disabled);return(i=l.value?((s=a.disabled)==null?void 0:s.value)||c||r.value:c)!=null?i:!1}),isLimitDisabled:r}},see=(e,{model:t})=>{function n(){Array.isArray(t.value)&&!t.value.includes(e.label)?t.value.push(e.label):t.value=e.trueLabel||!0}e.checked&&n()},iee=(e,{model:t,isLimitExceeded:n,hasOwnLabel:o,isDisabled:l,isLabeledByFormItem:a})=>{const{elFormItem:r,checkboxGroup:u}=_a(),{emit:s}=ft();function i(g){var y,A;return g===e.trueLabel||g===!0?(y=e.trueLabel)!=null?y:!0:(A=e.falseLabel)!=null?A:!1}function c(g,y){s("change",i(g),y)}function m(g){if(n.value)return;const y=g.target;s("change",i(y.checked),g)}async function h(g){n.value||!o.value&&!l.value&&a.value&&(t.value=i([!1,e.falseLabel].includes(t.value)),await rt(),c(t.value,g))}const v=R(()=>{var g;return((g=u.validateEvent)==null?void 0:g.value)||e.validateEvent});return Ve(()=>e.modelValue,()=>{v.value&&(r==null||r.validate("change").catch(g=>void 0))}),{handleChange:m,onClickRoot:h}},A4={[Ct]:e=>tt(e)||mt(e)||Gt(e),change:e=>tt(e)||mt(e)||Gt(e)},cee={[Ct]:e=>Ye(e),change:e=>Ye(e)},F4=(e,t)=>{const{model:n,isGroup:o,isLimitExceeded:l,elFormItem:a}=aee(e),{focus:r,size:u,isChecked:s,checkboxSize:i,hasOwnLabel:c}=ree(e,t,{model:n}),{isDisabled:m}=uee(e,{model:n,isChecked:s}),{inputId:h,isLabeledByFormItem:v}=fr(e,{formItemContext:a,disableIdGeneration:c,disableIdManagement:o}),{handleChange:g,onClickRoot:y}=iee(e,{model:n,isLimitExceeded:l,hasOwnLabel:c,isDisabled:m,isLabeledByFormItem:v});return see(e,{model:n}),{elFormItem:a,inputId:h,isLabeledByFormItem:v,isChecked:s,isDisabled:m,isGroup:o,checkboxSize:i,hasOwnLabel:c,model:n,handleChange:g,onClickRoot:y,focus:r,size:u}},dee=["tabindex","role","aria-checked"],fee=["id","aria-hidden","name","tabindex","disabled","true-value","false-value"],pee=["id","aria-hidden","disabled","value","name","tabindex"],vee={name:"ElCheckbox"},hee=Le({...vee,props:E4,emits:A4,setup(e){const t=e,n=So(),{inputId:o,isLabeledByFormItem:l,isChecked:a,isDisabled:r,checkboxSize:u,hasOwnLabel:s,model:i,handleChange:c,onClickRoot:m,focus:h}=F4(t,n),v=He("checkbox");return(g,y)=>(b(),ae(yt(!_(s)&&_(l)?"span":"label"),{class:U([_(v).b(),_(v).m(_(u)),_(v).is("disabled",_(r)),_(v).is("bordered",g.border),_(v).is("checked",_(a))]),"aria-controls":g.indeterminate?g.controls:null,onClick:_(m)},{default:p(()=>[f("span",{class:U([_(v).e("input"),_(v).is("disabled",_(r)),_(v).is("checked",_(a)),_(v).is("indeterminate",g.indeterminate),_(v).is("focus",_(h))]),tabindex:g.indeterminate?0:void 0,role:g.indeterminate?"checkbox":void 0,"aria-checked":g.indeterminate?"mixed":void 0},[g.trueLabel||g.falseLabel?ye((b(),C("input",{key:0,id:_(o),"onUpdate:modelValue":y[0]||(y[0]=A=>gt(i)?i.value=A:null),class:U(_(v).e("original")),type:"checkbox","aria-hidden":g.indeterminate?"true":"false",name:g.name,tabindex:g.tabindex,disabled:_(r),"true-value":g.trueLabel,"false-value":g.falseLabel,onChange:y[1]||(y[1]=(...A)=>_(c)&&_(c)(...A)),onFocus:y[2]||(y[2]=A=>h.value=!0),onBlur:y[3]||(y[3]=A=>h.value=!1)},null,42,fee)),[[ru,_(i)]]):ye((b(),C("input",{key:1,id:_(o),"onUpdate:modelValue":y[4]||(y[4]=A=>gt(i)?i.value=A:null),class:U(_(v).e("original")),type:"checkbox","aria-hidden":g.indeterminate?"true":"false",disabled:_(r),value:g.label,name:g.name,tabindex:g.tabindex,onChange:y[5]||(y[5]=(...A)=>_(c)&&_(c)(...A)),onFocus:y[6]||(y[6]=A=>h.value=!0),onBlur:y[7]||(y[7]=A=>h.value=!1)},null,42,pee)),[[ru,_(i)]]),f("span",{class:U(_(v).e("inner"))},null,2)],10,dee),_(s)?(b(),C("span",{key:0,class:U(_(v).e("label"))},[Te(g.$slots,"default"),g.$slots.default?oe("v-if",!0):(b(),C(We,{key:0},[D(ce(g.label),1)],64))],2)):oe("v-if",!0)]),_:3},8,["class","aria-controls","onClick"]))}});var _ee=je(hee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox.vue"]]);const mee=["name","tabindex","disabled","true-value","false-value"],gee=["name","tabindex","disabled","value"],bee={name:"ElCheckboxButton"},yee=Le({...bee,props:E4,emits:A4,setup(e){const t=e,n=So(),{focus:o,isChecked:l,isDisabled:a,size:r,model:u,handleChange:s}=F4(t,n),{checkboxGroup:i}=_a(),c=He("checkbox"),m=R(()=>{var h,v,g,y;const A=(v=(h=i==null?void 0:i.fill)==null?void 0:h.value)!=null?v:"";return{backgroundColor:A,borderColor:A,color:(y=(g=i==null?void 0:i.textColor)==null?void 0:g.value)!=null?y:"",boxShadow:A?`-1px 0 0 0 ${A}`:void 0}});return(h,v)=>(b(),C("label",{class:U([_(c).b("button"),_(c).bm("button",_(r)),_(c).is("disabled",_(a)),_(c).is("checked",_(l)),_(c).is("focus",_(o))])},[h.trueLabel||h.falseLabel?ye((b(),C("input",{key:0,"onUpdate:modelValue":v[0]||(v[0]=g=>gt(u)?u.value=g:null),class:U(_(c).be("button","original")),type:"checkbox",name:h.name,tabindex:h.tabindex,disabled:_(a),"true-value":h.trueLabel,"false-value":h.falseLabel,onChange:v[1]||(v[1]=(...g)=>_(s)&&_(s)(...g)),onFocus:v[2]||(v[2]=g=>o.value=!0),onBlur:v[3]||(v[3]=g=>o.value=!1)},null,42,mee)),[[ru,_(u)]]):ye((b(),C("input",{key:1,"onUpdate:modelValue":v[4]||(v[4]=g=>gt(u)?u.value=g:null),class:U(_(c).be("button","original")),type:"checkbox",name:h.name,tabindex:h.tabindex,disabled:_(a),value:h.label,onChange:v[5]||(v[5]=(...g)=>_(s)&&_(s)(...g)),onFocus:v[6]||(v[6]=g=>o.value=!0),onBlur:v[7]||(v[7]=g=>o.value=!1)},null,42,gee)),[[ru,_(u)]]),h.$slots.default||h.label?(b(),C("span",{key:2,class:U(_(c).be("button","inner")),style:nt(_(l)?_(m):void 0)},[Te(h.$slots,"default",{},()=>[D(ce(h.label),1)])],6)):oe("v-if",!0)],2))}});var x4=je(yee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox-button.vue"]]);const wee={name:"ElCheckboxGroup"},Cee=Le({...wee,props:oee,emits:cee,setup(e,{emit:t}){const n=e,{elFormItem:o}=_a(),{groupId:l,isLabeledByFormItem:a}=lee(n,{elFormItem:o}),r=Qt(),u=He("checkbox"),s=c=>{t(Ct,c),rt(()=>{t("change",c)})},i=R({get(){return n.modelValue},set(c){s(c)}});return $t("CheckboxGroup",{name:"ElCheckboxGroup",...On(n),modelValue:i,checkboxGroupSize:r,changeEvent:s}),Ve(()=>n.modelValue,()=>{n.validateEvent&&(o==null||o.validate("change").catch(c=>void 0))}),(c,m)=>{var h;return b(),ae(yt(c.tag),{id:_(l),class:U(_(u).b("group")),role:"group","aria-label":_(a)?void 0:c.label||"checkbox-group","aria-labelledby":_(a)?(h=_(o))==null?void 0:h.labelId:void 0},{default:p(()=>[Te(c.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var $4=je(Cee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/checkbox/src/checkbox-group.vue"]]);const $o=Et(_ee,{CheckboxButton:x4,CheckboxGroup:$4});Nt(x4);const D4=Nt($4),B4=et({size:zo,disabled:Boolean,label:{type:[String,Number,Boolean],default:""}}),Eee=et({...B4,modelValue:{type:[String,Number,Boolean],default:""},name:{type:String,default:""},border:Boolean}),S4={[Ct]:e=>tt(e)||mt(e)||Gt(e),[uo]:e=>tt(e)||mt(e)||Gt(e)},k4=(e,t)=>{const n=z(),o=Ze(Mf,void 0),l=R(()=>!!o),a=R({get(){return l.value?o.modelValue:e.modelValue},set(c){l.value?o.changeEvent(c):t&&t(Ct,c),n.value.checked=e.modelValue===e.label}}),r=Qt(R(()=>o==null?void 0:o.size)),u=Bl(R(()=>o==null?void 0:o.disabled)),s=z(!1),i=R(()=>u.value||l.value&&a.value!==e.label?-1:0);return{radioRef:n,isGroup:l,radioGroup:o,focus:s,size:r,disabled:u,tabIndex:i,modelValue:a}},Aee=["value","name","disabled"],Fee={name:"ElRadio"},xee=Le({...Fee,props:Eee,emits:S4,setup(e,{emit:t}){const n=e,o=He("radio"),{radioRef:l,radioGroup:a,focus:r,size:u,disabled:s,modelValue:i}=k4(n,t);function c(){rt(()=>t("change",i.value))}return(m,h)=>{var v;return b(),C("label",{class:U([_(o).b(),_(o).is("disabled",_(s)),_(o).is("focus",_(r)),_(o).is("bordered",m.border),_(o).is("checked",_(i)===m.label),_(o).m(_(u))])},[f("span",{class:U([_(o).e("input"),_(o).is("disabled",_(s)),_(o).is("checked",_(i)===m.label)])},[ye(f("input",{ref_key:"radioRef",ref:l,"onUpdate:modelValue":h[0]||(h[0]=g=>gt(i)?i.value=g:null),class:U(_(o).e("original")),value:m.label,name:m.name||((v=_(a))==null?void 0:v.name),disabled:_(s),type:"radio",onFocus:h[1]||(h[1]=g=>r.value=!0),onBlur:h[2]||(h[2]=g=>r.value=!1),onChange:c},null,42,Aee),[[z1,_(i)]]),f("span",{class:U(_(o).e("inner"))},null,2)],2),f("span",{class:U(_(o).e("label")),onKeydown:h[3]||(h[3]=ht(()=>{},["stop"]))},[Te(m.$slots,"default",{},()=>[D(ce(m.label),1)])],34)],2)}}});var $ee=je(xee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio.vue"]]);const Dee=et({...B4,name:{type:String,default:""}}),Bee=["value","name","disabled"],See={name:"ElRadioButton"},kee=Le({...See,props:Dee,setup(e){const t=e,n=He("radio"),{radioRef:o,focus:l,size:a,disabled:r,modelValue:u,radioGroup:s}=k4(t),i=R(()=>({backgroundColor:(s==null?void 0:s.fill)||"",borderColor:(s==null?void 0:s.fill)||"",boxShadow:s!=null&&s.fill?`-1px 0 0 0 ${s.fill}`:"",color:(s==null?void 0:s.textColor)||""}));return(c,m)=>{var h;return b(),C("label",{class:U([_(n).b("button"),_(n).is("active",_(u)===c.label),_(n).is("disabled",_(r)),_(n).is("focus",_(l)),_(n).bm("button",_(a))])},[ye(f("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":m[0]||(m[0]=v=>gt(u)?u.value=v:null),class:U(_(n).be("button","original-radio")),value:c.label,type:"radio",name:c.name||((h=_(s))==null?void 0:h.name),disabled:_(r),onFocus:m[1]||(m[1]=v=>l.value=!0),onBlur:m[2]||(m[2]=v=>l.value=!1)},null,42,Bee),[[z1,_(u)]]),f("span",{class:U(_(n).be("button","inner")),style:nt(_(u)===c.label?_(i):{}),onKeydown:m[3]||(m[3]=ht(()=>{},["stop"]))},[Te(c.$slots,"default",{},()=>[D(ce(c.label),1)])],38)],2)}}});var P4=je(kee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-button.vue"]]);const Pee=et({id:{type:String,default:void 0},size:zo,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:""},fill:{type:String,default:""},label:{type:String,default:void 0},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0}}),Lee=S4,zee=["id","aria-label","aria-labelledby"],Tee={name:"ElRadioGroup"},Mee=Le({...Tee,props:Pee,emits:Lee,setup(e,{emit:t}){const n=e,o=He("radio"),l=Zo(),a=z(),{formItem:r}=Sl(),{inputId:u,isLabeledByFormItem:s}=fr(n,{formItemContext:r}),i=m=>{t(Ct,m),rt(()=>t("change",m))};at(()=>{const m=a.value.querySelectorAll("[type=radio]"),h=m[0];!Array.from(m).some(v=>v.checked)&&h&&(h.tabIndex=0)});const c=R(()=>n.name||l.value);return $t(Mf,It({...On(n),changeEvent:i,name:c})),Ve(()=>n.modelValue,()=>{n.validateEvent&&(r==null||r.validate("change").catch(m=>void 0))}),(m,h)=>(b(),C("div",{id:_(u),ref_key:"radioGroupRef",ref:a,class:U(_(o).b("group")),role:"radiogroup","aria-label":_(s)?void 0:m.label||"radio-group","aria-labelledby":_(s)?_(r).labelId:void 0},[Te(m.$slots,"default")],10,zee))}});var L4=je(Mee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/radio/src/radio-group.vue"]]);const b2=Et($ee,{RadioButton:P4,RadioGroup:L4}),y2=Nt(L4);Nt(P4);const z4=et({closable:Boolean,type:{type:String,values:["success","info","warning","danger",""],default:""},hit:Boolean,disableTransitions:Boolean,color:{type:String,default:""},size:{type:String,values:dr,default:""},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),Vee={close:e=>e instanceof MouseEvent,click:e=>e instanceof MouseEvent},Hee={name:"ElTag"},Iee=Le({...Hee,props:z4,emits:Vee,setup(e,{emit:t}){const n=e,o=Qt(),l=He("tag"),a=R(()=>{const{type:s,hit:i,effect:c,closable:m,round:h}=n;return[l.b(),l.is("closable",m),l.m(s),l.m(o.value),l.m(c),l.is("hit",i),l.is("round",h)]}),r=s=>{t("close",s)},u=s=>{t("click",s)};return(s,i)=>s.disableTransitions?(b(),C("span",{key:0,class:U(_(a)),style:nt({backgroundColor:s.color}),onClick:u},[f("span",{class:U(_(l).e("content"))},[Te(s.$slots,"default")],2),s.closable?(b(),ae(_(ut),{key:0,class:U(_(l).e("close")),onClick:ht(r,["stop"])},{default:p(()=>[d(_(Cl))]),_:1},8,["class","onClick"])):oe("v-if",!0)],6)):(b(),ae(Zt,{key:1,name:`${_(l).namespace.value}-zoom-in-center`,appear:""},{default:p(()=>[f("span",{class:U(_(a)),style:nt({backgroundColor:s.color}),onClick:u},[f("span",{class:U(_(l).e("content"))},[Te(s.$slots,"default")],2),s.closable?(b(),ae(_(ut),{key:0,class:U(_(l).e("close")),onClick:ht(r,["stop"])},{default:p(()=>[d(_(Cl))]),_:1},8,["class","onClick"])):oe("v-if",!0)],6)]),_:3},8,["name"]))}});var Ree=je(Iee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/tag/src/tag.vue"]]);const Nee=Et(Ree),W0=e=>typeof mt(e),Oee=et({accordion:Boolean,modelValue:{type:Ue([Array,String,Number]),default:()=>Fo([])}}),Uee={[Ct]:W0,[uo]:W0},Wee={name:"ElCollapse"},qee=Le({...Wee,props:Oee,emits:Uee,setup(e,{expose:t,emit:n}){const o=e,l=He("collapse"),a=z(Qa(o.modelValue)),r=s=>{a.value=s;const i=o.accordion?a.value[0]:a.value;n(Ct,i),n(uo,i)},u=s=>{if(o.accordion)r([(a.value[0]||a.value[0]===0)&&a.value[0]===s?"":s]);else{const i=[...a.value],c=i.indexOf(s);c>-1?i.splice(c,1):i.push(s),r(i)}};return Ve(()=>o.modelValue,()=>a.value=Qa(o.modelValue),{deep:!0}),$t(Pf,{activeNames:a,handleItemClick:u}),t({activeNames:a,setActiveNames:r}),(s,i)=>(b(),C("div",{class:U(_(l).b()),role:"tablist","aria-multiselectable":"true"},[Te(s.$slots,"default")],2))}});var jee=je(qee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse.vue"]]);const Kee={name:"ElCollapseTransition"},Gee=Le({...Kee,setup(e){const t=He("collapse-transition"),n={beforeEnter(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0},enter(o){o.dataset.oldOverflow=o.style.overflow,o.scrollHeight!==0?(o.style.maxHeight=`${o.scrollHeight}px`,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom):(o.style.maxHeight=0,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom),o.style.overflow="hidden"},afterEnter(o){o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow},beforeLeave(o){o.dataset||(o.dataset={}),o.dataset.oldPaddingTop=o.style.paddingTop,o.dataset.oldPaddingBottom=o.style.paddingBottom,o.dataset.oldOverflow=o.style.overflow,o.style.maxHeight=`${o.scrollHeight}px`,o.style.overflow="hidden"},leave(o){o.scrollHeight!==0&&(o.style.maxHeight=0,o.style.paddingTop=0,o.style.paddingBottom=0)},afterLeave(o){o.style.maxHeight="",o.style.overflow=o.dataset.oldOverflow,o.style.paddingTop=o.dataset.oldPaddingTop,o.style.paddingBottom=o.dataset.oldPaddingBottom}};return(o,l)=>(b(),ae(Zt,An({name:_(t).b()},s3(n)),{default:p(()=>[Te(o.$slots,"default")]),_:3},16,["name"]))}});var Kr=je(Gee,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse-transition/src/collapse-transition.vue"]]);Kr.install=e=>{e.component(Kr.name,Kr)};const T4=Kr,Yee=et({title:{type:String,default:""},name:{type:Ue([String,Number]),default:()=>a2()},disabled:Boolean}),Xee=["aria-expanded","aria-controls","aria-describedby"],Jee=["id","tabindex","onKeypress"],Qee=["id","aria-hidden","aria-labelledby"],Zee={name:"ElCollapseItem"},ete=Le({...Zee,props:Yee,setup(e,{expose:t}){const n=e,o=Ze(Pf),l=He("collapse"),a=z(!1),r=z(!1),u=z(a2()),s=R(()=>o==null?void 0:o.activeNames.value.includes(n.name)),i=()=>{setTimeout(()=>{r.value?r.value=!1:a.value=!0},50)},c=()=>{n.disabled||(o==null||o.handleItemClick(n.name),a.value=!1,r.value=!0)},m=()=>{o==null||o.handleItemClick(n.name)};return t({isActive:s}),(h,v)=>(b(),C("div",{class:U([_(l).b("item"),_(l).is("active",_(s)),_(l).is("disabled",h.disabled)])},[f("div",{role:"tab","aria-expanded":_(s),"aria-controls":_(l).b(`content-${u.value}`),"aria-describedby":_(l).b(`content-${u.value}`)},[f("div",{id:_(l).b(`head-${u.value}`),class:U([_(l).be("item","header"),_(l).is("active",_(s)),{focusing:a.value&&!h.disabled}]),role:"button",tabindex:h.disabled?-1:0,onClick:c,onKeypress:Bt(ht(m,["stop","prevent"]),["space","enter"]),onFocus:i,onBlur:v[0]||(v[0]=g=>a.value=!1)},[Te(h.$slots,"title",{},()=>[D(ce(h.title),1)]),d(_(ut),{class:U([_(l).be("item","arrow"),_(l).is("active",_(s))])},{default:p(()=>[d(_(pa))]),_:1},8,["class"])],42,Jee)],8,Xee),d(_(T4),null,{default:p(()=>[ye(f("div",{id:_(l).b(`content-${u.value}`),class:U(_(l).be("item","wrap")),role:"tabpanel","aria-hidden":!_(s),"aria-labelledby":_(l).b(`head-${u.value}`)},[f("div",{class:U(_(l).be("item","content"))},[Te(h.$slots,"default")],2)],10,Qee),[[Be,_(s)]])]),_:3})],2))}});var M4=je(ete,[["__file","/home/runner/work/element-plus/element-plus/packages/components/collapse/src/collapse-item.vue"]]);const tte=Et(jee,{CollapseItem:M4}),nte=Nt(M4),ai={},ote=et({a11y:{type:Boolean,default:!0},locale:{type:Ue(Object)},size:zo,button:{type:Ue(Object)},experimentalFeatures:{type:Ue(Object)},keyboardNavigation:{type:Boolean,default:!0},message:{type:Ue(Object)},zIndex:Number,namespace:{type:String,default:"el"}});Le({name:"ElConfigProvider",props:ote,setup(e,{slots:t}){Ve(()=>e.message,o=>{Object.assign(ai,o!=null?o:{})},{immediate:!0,deep:!0});const n=yX(e);return()=>Te(t,"default",{config:n==null?void 0:n.value})}});const lte={name:"ElContainer"},ate=Le({...lte,props:{direction:{type:String}},setup(e){const t=e,n=So(),o=He("container"),l=R(()=>t.direction==="vertical"?!0:t.direction==="horizontal"?!1:n&&n.default?n.default().some(r=>{const u=r.type.name;return u==="ElHeader"||u==="ElFooter"}):!1);return(a,r)=>(b(),C("section",{class:U([_(o).b(),_(o).is("vertical",_(l))])},[Te(a.$slots,"default")],2))}});var rte=je(ate,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/container.vue"]]);const ute={name:"ElAside"},ste=Le({...ute,props:{width:{type:String,default:null}},setup(e){const t=e,n=He("aside"),o=R(()=>t.width?n.cssVarBlock({width:t.width}):{});return(l,a)=>(b(),C("aside",{class:U(_(n).b()),style:nt(_(o))},[Te(l.$slots,"default")],6))}});var V4=je(ste,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/aside.vue"]]);const ite={name:"ElFooter"},cte=Le({...ite,props:{height:{type:String,default:null}},setup(e){const t=e,n=He("footer"),o=R(()=>t.height?n.cssVarBlock({height:t.height}):{});return(l,a)=>(b(),C("footer",{class:U(_(n).b()),style:nt(_(o))},[Te(l.$slots,"default")],6))}});var H4=je(cte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/footer.vue"]]);const dte={name:"ElHeader"},fte=Le({...dte,props:{height:{type:String,default:null}},setup(e){const t=e,n=He("header"),o=R(()=>t.height?n.cssVarBlock({height:t.height}):{});return(l,a)=>(b(),C("header",{class:U(_(n).b()),style:nt(_(o))},[Te(l.$slots,"default")],6))}});var I4=je(fte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/header.vue"]]);const pte={name:"ElMain"},vte=Le({...pte,setup(e){const t=He("main");return(n,o)=>(b(),C("main",{class:U(_(t).b())},[Te(n.$slots,"default")],2))}});var R4=je(vte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/container/src/main.vue"]]);const hte=Et(rte,{Aside:V4,Footer:H4,Header:I4,Main:R4});Nt(V4);Nt(H4);const _te=Nt(I4),mte=Nt(R4),w2="elDescriptions";var $a=Le({name:"ElDescriptionsCell",props:{cell:{type:Object},tag:{type:String},type:{type:String}},setup(){return{descriptions:Ze(w2,{})}},render(){var e,t,n,o,l,a;const r=_X(this.cell),{border:u,direction:s}=this.descriptions,i=s==="vertical",c=((n=(t=(e=this.cell)==null?void 0:e.children)==null?void 0:t.label)==null?void 0:n.call(t))||r.label,m=(a=(l=(o=this.cell)==null?void 0:o.children)==null?void 0:l.default)==null?void 0:a.call(l),h=r.span,v=r.align?`is-${r.align}`:"",g=r.labelAlign?`is-${r.labelAlign}`:v,y=r.className,A=r.labelClassName,w={width:Nn(r.width),minWidth:Nn(r.minWidth)},F=He("descriptions");switch(this.type){case"label":return Ne(this.tag,{style:w,class:[F.e("cell"),F.e("label"),F.is("bordered-label",u),F.is("vertical-label",i),g,A],colSpan:i?h:1},c);case"content":return Ne(this.tag,{style:w,class:[F.e("cell"),F.e("content"),F.is("bordered-content",u),F.is("vertical-content",i),v,y],colSpan:i?h:h*2-1},m);default:return Ne("td",{style:w,class:[F.e("cell"),v],colSpan:h},[Ne("span",{class:[F.e("label"),A]},c),Ne("span",{class:[F.e("content"),y]},m)])}}});const gte=et({row:{type:Array,default:()=>[]}}),bte={key:1},yte={name:"ElDescriptionsRow"},wte=Le({...yte,props:gte,setup(e){const t=Ze(w2,{});return(n,o)=>_(t).direction==="vertical"?(b(),C(We,{key:0},[f("tr",null,[(b(!0),C(We,null,pt(n.row,(l,a)=>(b(),ae(_($a),{key:`tr1-${a}`,cell:l,tag:"th",type:"label"},null,8,["cell"]))),128))]),f("tr",null,[(b(!0),C(We,null,pt(n.row,(l,a)=>(b(),ae(_($a),{key:`tr2-${a}`,cell:l,tag:"td",type:"content"},null,8,["cell"]))),128))])],64)):(b(),C("tr",bte,[(b(!0),C(We,null,pt(n.row,(l,a)=>(b(),C(We,{key:`tr3-${a}`},[_(t).border?(b(),C(We,{key:0},[d(_($a),{cell:l,tag:"td",type:"label"},null,8,["cell"]),d(_($a),{cell:l,tag:"td",type:"content"},null,8,["cell"])],64)):(b(),ae(_($a),{key:1,cell:l,tag:"td",type:"both"},null,8,["cell"]))],64))),128))]))}});var Cte=je(wte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/descriptions-row.vue"]]);const Ete=et({border:{type:Boolean,default:!1},column:{type:Number,default:3},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},size:zo,title:{type:String,default:""},extra:{type:String,default:""}}),Ate={name:"ElDescriptions"},Fte=Le({...Ate,props:Ete,setup(e){const t=e,n=He("descriptions"),o=Qt(),l=So();$t(w2,t);const a=R(()=>[n.b(),n.m(o.value)]),r=(s,i,c,m=!1)=>(s.props||(s.props={}),i>c&&(s.props.span=c),m&&(s.props.span=i),s),u=()=>{var s;const i=l2((s=l.default)==null?void 0:s.call(l)).filter(g=>{var y;return((y=g==null?void 0:g.type)==null?void 0:y.name)==="ElDescriptionsItem"}),c=[];let m=[],h=t.column,v=0;return i.forEach((g,y)=>{var A;const w=((A=g.props)==null?void 0:A.span)||1;if(yh?h:w),y===i.length-1){const F=t.column-v%t.column;m.push(r(g,F,h,!0)),c.push(m);return}w(b(),C("div",{class:U(_(a))},[s.title||s.extra||s.$slots.title||s.$slots.extra?(b(),C("div",{key:0,class:U(_(n).e("header"))},[f("div",{class:U(_(n).e("title"))},[Te(s.$slots,"title",{},()=>[D(ce(s.title),1)])],2),f("div",{class:U(_(n).e("extra"))},[Te(s.$slots,"extra",{},()=>[D(ce(s.extra),1)])],2)],2)):oe("v-if",!0),f("div",{class:U(_(n).e("body"))},[f("table",{class:U([_(n).e("table"),_(n).is("bordered",s.border)])},[f("tbody",null,[(b(!0),C(We,null,pt(u(),(c,m)=>(b(),ae(Cte,{key:m,row:c},null,8,["row"]))),128))])],2)],2)],2))}});var xte=je(Fte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/descriptions/src/description.vue"]]),N4=Le({name:"ElDescriptionsItem",props:{label:{type:String,default:""},span:{type:Number,default:1},width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},align:{type:String,default:"left"},labelAlign:{type:String,default:""},className:{type:String,default:""},labelClassName:{type:String,default:""}}});const Ou=Et(xte,{DescriptionsItem:N4}),Uu=Nt(N4),$te=et({mask:{type:Boolean,default:!0},customMaskEvent:{type:Boolean,default:!1},overlayClass:{type:Ue([String,Array,Object])},zIndex:{type:Ue([String,Number])}}),Dte={click:e=>e instanceof MouseEvent};var Bte=Le({name:"ElOverlay",props:$te,emits:Dte,setup(e,{slots:t,emit:n}){const o=He("overlay"),l=s=>{n("click",s)},{onClick:a,onMousedown:r,onMouseup:u}=u2(e.customMaskEvent?void 0:l);return()=>e.mask?d("div",{class:[o.b(),e.overlayClass],style:{zIndex:e.zIndex},onClick:a,onMousedown:r,onMouseup:u},[Te(t,"default")],Or.STYLE|Or.CLASS|Or.PROPS,["onClick","onMouseup","onMousedown"]):Ne("div",{class:e.overlayClass,style:{zIndex:e.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[Te(t,"default")])}});const O4=Bte,U4=et({center:{type:Boolean,default:!1},alignCenter:{type:Boolean,default:!1},closeIcon:{type:Lt},customClass:{type:String,default:""},draggable:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!0},title:{type:String,default:""}}),Ste={close:()=>!0},kte=["aria-label"],Pte=["id"],Lte={name:"ElDialogContent"},zte=Le({...Lte,props:U4,emits:Ste,setup(e){const t=e,{t:n}=bn(),{Close:o}=$f,{dialogRef:l,headerRef:a,bodyId:r,ns:u,style:s}=Ze(zf),{focusTrapRef:i}=Ze(i4),c=pX(i,l),m=R(()=>t.draggable);return Nf(l,a,m),(h,v)=>(b(),C("div",{ref:_(c),class:U([_(u).b(),_(u).is("fullscreen",h.fullscreen),_(u).is("draggable",_(m)),_(u).is("align-center",h.alignCenter),{[_(u).m("center")]:h.center},h.customClass]),style:nt(_(s)),tabindex:"-1",onClick:v[1]||(v[1]=ht(()=>{},["stop"]))},[f("header",{ref_key:"headerRef",ref:a,class:U(_(u).e("header"))},[Te(h.$slots,"header",{},()=>[f("span",{role:"heading",class:U(_(u).e("title"))},ce(h.title),3)]),h.showClose?(b(),C("button",{key:0,"aria-label":_(n)("el.dialog.close"),class:U(_(u).e("headerbtn")),type:"button",onClick:v[0]||(v[0]=g=>h.$emit("close"))},[d(_(ut),{class:U(_(u).e("close"))},{default:p(()=>[(b(),ae(yt(h.closeIcon||_(o))))]),_:1},8,["class"])],10,kte)):oe("v-if",!0)],2),f("div",{id:_(r),class:U(_(u).e("body"))},[Te(h.$slots,"default")],10,Pte),h.$slots.footer?(b(),C("footer",{key:0,class:U(_(u).e("footer"))},[Te(h.$slots,"footer")],2)):oe("v-if",!0)],6))}});var Tte=je(zte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog-content.vue"]]);const Mte=et({...U4,appendToBody:{type:Boolean,default:!1},beforeClose:{type:Ue(Function)},destroyOnClose:{type:Boolean,default:!1},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:{type:Boolean,default:!1},modalClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:{type:Boolean,default:!1}}),Vte={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[Ct]:e=>Gt(e),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},Hte=(e,t)=>{const o=ft().emit,{nextZIndex:l}=kl();let a="";const r=Zo(),u=Zo(),s=z(!1),i=z(!1),c=z(!1),m=z(e.zIndex||l());let h,v;const g=Lo("namespace",Iu),y=R(()=>{const N={},Y=`--${g.value}-dialog`;return e.fullscreen||(e.top&&(N[`${Y}-margin-top`]=e.top),e.width&&(N[`${Y}-width`]=Nn(e.width))),N}),A=R(()=>e.alignCenter?{display:"flex"}:{});function w(){o("opened")}function F(){o("closed"),o(Ct,!1),e.destroyOnClose&&(c.value=!1)}function E(){o("close")}function $(){v==null||v(),h==null||h(),e.openDelay&&e.openDelay>0?{stop:h}=Ql(()=>H(),e.openDelay):H()}function T(){h==null||h(),v==null||v(),e.closeDelay&&e.closeDelay>0?{stop:v}=Ql(()=>I(),e.closeDelay):I()}function B(){function N(Y){Y||(i.value=!0,s.value=!1)}e.beforeClose?e.beforeClose(N):T()}function P(){e.closeOnClickModal&&B()}function H(){!_t||(s.value=!0)}function I(){s.value=!1}function j(){o("openAutoFocus")}function Z(){o("closeAutoFocus")}e.lockScroll&&Of(s);function G(){e.closeOnPressEscape&&B()}return Ve(()=>e.modelValue,N=>{N?(i.value=!1,$(),c.value=!0,m.value=e.zIndex?m.value++:l(),rt(()=>{o("open"),t.value&&(t.value.scrollTop=0)})):s.value&&T()}),Ve(()=>e.fullscreen,N=>{!t.value||(N?(a=t.value.style.transform,t.value.style.transform=""):t.value.style.transform=a)}),at(()=>{e.modelValue&&(s.value=!0,c.value=!0,$())}),{afterEnter:w,afterLeave:F,beforeLeave:E,handleClose:B,onModalClick:P,close:T,doClose:I,onOpenAutoFocus:j,onCloseAutoFocus:Z,onCloseRequested:G,titleId:r,bodyId:u,closed:i,style:y,overlayDialogStyle:A,rendered:c,visible:s,zIndex:m}},Ite=["aria-label","aria-labelledby","aria-describedby"],Rte={name:"ElDialog",inheritAttrs:!1},Nte=Le({...Rte,props:Mte,emits:Vte,setup(e,{expose:t}){const n=e,o=So();pu({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},R(()=>!!o.title)),pu({scope:"el-dialog",from:"custom-class",replacement:"class",version:"2.3.0",ref:"https://element-plus.org/en-US/component/dialog.html#attributes",type:"Attribute"},R(()=>!!n.customClass));const l=He("dialog"),a=z(),r=z(),u=z(),{visible:s,titleId:i,bodyId:c,style:m,overlayDialogStyle:h,rendered:v,zIndex:g,afterEnter:y,afterLeave:A,beforeLeave:w,handleClose:F,onModalClick:E,onOpenAutoFocus:$,onCloseAutoFocus:T,onCloseRequested:B}=Hte(n,a);$t(zf,{dialogRef:a,headerRef:r,bodyId:c,ns:l,rendered:v,style:m});const P=u2(E),H=R(()=>n.draggable&&!n.fullscreen);return t({visible:s,dialogContentRef:u}),(I,j)=>(b(),ae(g1,{to:"body",disabled:!I.appendToBody},[d(Zt,{name:"dialog-fade",onAfterEnter:_(y),onAfterLeave:_(A),onBeforeLeave:_(w),persisted:""},{default:p(()=>[ye(d(_(O4),{"custom-mask-event":"",mask:I.modal,"overlay-class":I.modalClass,"z-index":_(g)},{default:p(()=>[f("div",{role:"dialog","aria-modal":"true","aria-label":I.title||void 0,"aria-labelledby":I.title?void 0:_(i),"aria-describedby":_(c),class:U(`${_(l).namespace.value}-overlay-dialog`),style:nt(_(h)),onClick:j[0]||(j[0]=(...Z)=>_(P).onClick&&_(P).onClick(...Z)),onMousedown:j[1]||(j[1]=(...Z)=>_(P).onMousedown&&_(P).onMousedown(...Z)),onMouseup:j[2]||(j[2]=(...Z)=>_(P).onMouseup&&_(P).onMouseup(...Z))},[d(_(_2),{loop:"",trapped:_(s),"focus-start-el":"container",onFocusAfterTrapped:_($),onFocusAfterReleased:_(T),onReleaseRequested:_(B)},{default:p(()=>[_(v)?(b(),ae(Tte,An({key:0,ref_key:"dialogContentRef",ref:u},I.$attrs,{"custom-class":I.customClass,center:I.center,"align-center":I.alignCenter,"close-icon":I.closeIcon,draggable:_(H),fullscreen:I.fullscreen,"show-close":I.showClose,title:I.title,onClose:_(F)}),jl({header:p(()=>[I.$slots.title?Te(I.$slots,"title",{key:1}):Te(I.$slots,"header",{key:0,close:_(F),titleId:_(i),titleClass:_(l).e("title")})]),default:p(()=>[Te(I.$slots,"default")]),_:2},[I.$slots.footer?{name:"footer",fn:p(()=>[Te(I.$slots,"footer")])}:void 0]),1040,["custom-class","center","align-center","close-icon","draggable","fullscreen","show-close","title","onClose"])):oe("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onReleaseRequested"])],46,Ite)]),_:3},8,["mask","overlay-class","z-index"]),[[Be,_(s)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])],8,["disabled"]))}});var Ote=je(Nte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/dialog/src/dialog.vue"]]);const ma=Et(Ote),Ute=et({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:Ue(String),default:"solid"}}),Wte={name:"ElDivider"},qte=Le({...Wte,props:Ute,setup(e){const t=e,n=He("divider"),o=R(()=>n.cssVar({"border-style":t.borderStyle}));return(l,a)=>(b(),C("div",{class:U([_(n).b(),_(n).m(l.direction)]),style:nt(_(o)),role:"separator"},[l.$slots.default&&l.direction!=="vertical"?(b(),C("div",{key:0,class:U([_(n).e("text"),_(n).is(l.contentPosition)])},[Te(l.$slots,"default")],2)):oe("v-if",!0)],6))}});var jte=je(qte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/divider/src/divider.vue"]]);const Kte=Et(jte),Gte=et({model:Object,rules:{type:Ue(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},size:{type:String,values:dr},disabled:Boolean,validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:{type:Boolean,default:!1},scrollToError:Boolean}),Yte={validate:(e,t,n)=>(Ye(e)||tt(e))&&Gt(t)&&tt(n)};function Xte(){const e=z([]),t=R(()=>{if(!e.value.length)return"0";const a=Math.max(...e.value);return a?`${a}px`:""});function n(a){return e.value.indexOf(a)}function o(a,r){if(a&&r){const u=n(r);e.value.splice(u,1,a)}else a&&e.value.push(a)}function l(a){const r=n(a);r>-1&&e.value.splice(r,1)}return{autoLabelWidth:t,registerLabelWidth:o,deregisterLabelWidth:l}}const Br=(e,t)=>{const n=Qa(t);return n.length>0?e.filter(o=>o.prop&&n.includes(o.prop)):e},Jte={name:"ElForm"},Qte=Le({...Jte,props:Gte,emits:Yte,setup(e,{expose:t,emit:n}){const o=e,l=[],a=Qt(),r=He("form"),u=R(()=>{const{labelPosition:F,inline:E}=o;return[r.b(),r.m(a.value||"default"),{[r.m(`label-${F}`)]:F,[r.m("inline")]:E}]}),s=F=>{l.push(F)},i=F=>{F.prop&&l.splice(l.indexOf(F),1)},c=(F=[])=>{!o.model||Br(l,F).forEach(E=>E.resetField())},m=(F=[])=>{Br(l,F).forEach(E=>E.clearValidate())},h=R(()=>!!o.model),v=F=>{if(l.length===0)return[];const E=Br(l,F);return E.length?E:[]},g=async F=>A(void 0,F),y=async(F=[])=>{if(!h.value)return!1;const E=v(F);if(E.length===0)return!0;let $={};for(const T of E)try{await T.validate("")}catch(B){$={...$,...B}}return Object.keys($).length===0?!0:Promise.reject($)},A=async(F=[],E)=>{const $=!Je(E);try{const T=await y(F);return T===!0&&(E==null||E(T)),T}catch(T){const B=T;return o.scrollToError&&w(Object.keys(B)[0]),E==null||E(!1,B),$&&Promise.reject(B)}},w=F=>{var E;const $=Br(l,F)[0];$&&((E=$.$el)==null||E.scrollIntoView())};return Ve(()=>o.rules,()=>{o.validateOnRuleChange&&g().catch(F=>void 0)},{deep:!0}),$t(va,It({...On(o),emit:n,resetFields:c,clearValidate:m,validateField:A,addField:s,removeField:i,...Xte()})),t({validate:g,validateField:A,resetFields:c,clearValidate:m,scrollToField:w}),(F,E)=>(b(),C("form",{class:U(_(u))},[Te(F.$slots,"default")],2))}});var Zte=je(Qte,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form.vue"]]);function hl(){return hl=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?t-1:0),o=1;o=a)return u;switch(u){case"%s":return String(n[l++]);case"%d":return Number(n[l++]);case"%j":try{return JSON.stringify(n[l++])}catch{return"[Circular]"}break;default:return u}});return r}return e}function ane(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"}function Tt(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||ane(t)&&typeof e=="string"&&!e)}function rne(e,t,n){var o=[],l=0,a=e.length;function r(u){o.push.apply(o,u||[]),l++,l===a&&n(o)}e.forEach(function(u){t(u,r)})}function q0(e,t,n){var o=0,l=e.length;function a(r){if(r&&r.length){n(r);return}var u=o;o=o+1,u()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},Sa={integer:function(t){return Sa.number(t)&&parseInt(t,10)===t},float:function(t){return Sa.number(t)&&!Sa.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return typeof t=="object"&&!Sa.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(Y0.email)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(fne())},hex:function(t){return typeof t=="string"&&!!t.match(Y0.hex)}},pne=function(t,n,o,l,a){if(t.required&&n===void 0){W4(t,n,o,l,a);return}var r=["integer","float","array","regexp","object","method","email","number","date","url","hex"],u=t.type;r.indexOf(u)>-1?Sa[u](n)||l.push(pn(a.messages.types[u],t.fullField,t.type)):u&&typeof n!==t.type&&l.push(pn(a.messages.types[u],t.fullField,t.type))},vne=function(t,n,o,l,a){var r=typeof t.len=="number",u=typeof t.min=="number",s=typeof t.max=="number",i=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,c=n,m=null,h=typeof n=="number",v=typeof n=="string",g=Array.isArray(n);if(h?m="number":v?m="string":g&&(m="array"),!m)return!1;g&&(c=n.length),v&&(c=n.replace(i,"_").length),r?c!==t.len&&l.push(pn(a.messages[m].len,t.fullField,t.len)):u&&!s&&ct.max?l.push(pn(a.messages[m].max,t.fullField,t.max)):u&&s&&(ct.max)&&l.push(pn(a.messages[m].range,t.fullField,t.min,t.max))},zl="enum",hne=function(t,n,o,l,a){t[zl]=Array.isArray(t[zl])?t[zl]:[],t[zl].indexOf(n)===-1&&l.push(pn(a.messages[zl],t.fullField,t[zl].join(", ")))},_ne=function(t,n,o,l,a){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||l.push(pn(a.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var r=new RegExp(t.pattern);r.test(n)||l.push(pn(a.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},dt={required:W4,whitespace:dne,type:pne,range:vne,enum:hne,pattern:_ne},mne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n,"string")&&!t.required)return o();dt.required(t,n,l,r,a,"string"),Tt(n,"string")||(dt.type(t,n,l,r,a),dt.range(t,n,l,r,a),dt.pattern(t,n,l,r,a),t.whitespace===!0&&dt.whitespace(t,n,l,r,a))}o(r)},gne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),n!==void 0&&dt.type(t,n,l,r,a)}o(r)},bne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(n===""&&(n=void 0),Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),n!==void 0&&(dt.type(t,n,l,r,a),dt.range(t,n,l,r,a))}o(r)},yne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),n!==void 0&&dt.type(t,n,l,r,a)}o(r)},wne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),Tt(n)||dt.type(t,n,l,r,a)}o(r)},Cne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),n!==void 0&&(dt.type(t,n,l,r,a),dt.range(t,n,l,r,a))}o(r)},Ene=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),n!==void 0&&(dt.type(t,n,l,r,a),dt.range(t,n,l,r,a))}o(r)},Ane=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(n==null&&!t.required)return o();dt.required(t,n,l,r,a,"array"),n!=null&&(dt.type(t,n,l,r,a),dt.range(t,n,l,r,a))}o(r)},Fne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),n!==void 0&&dt.type(t,n,l,r,a)}o(r)},xne="enum",$ne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a),n!==void 0&&dt[xne](t,n,l,r,a)}o(r)},Dne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n,"string")&&!t.required)return o();dt.required(t,n,l,r,a),Tt(n,"string")||dt.pattern(t,n,l,r,a)}o(r)},Bne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n,"date")&&!t.required)return o();if(dt.required(t,n,l,r,a),!Tt(n,"date")){var s;n instanceof Date?s=n:s=new Date(n),dt.type(t,s,l,r,a),s&&dt.range(t,s.getTime(),l,r,a)}}o(r)},Sne=function(t,n,o,l,a){var r=[],u=Array.isArray(n)?"array":typeof n;dt.required(t,n,l,r,a,u),o(r)},vs=function(t,n,o,l,a){var r=t.type,u=[],s=t.required||!t.required&&l.hasOwnProperty(t.field);if(s){if(Tt(n,r)&&!t.required)return o();dt.required(t,n,l,u,a,r),Tt(n,r)||dt.type(t,n,l,u,a)}o(u)},kne=function(t,n,o,l,a){var r=[],u=t.required||!t.required&&l.hasOwnProperty(t.field);if(u){if(Tt(n)&&!t.required)return o();dt.required(t,n,l,r,a)}o(r)},Ha={string:mne,method:gne,number:bne,boolean:yne,regexp:wne,integer:Cne,float:Ene,array:Ane,object:Fne,enum:$ne,pattern:Dne,date:Bne,url:vs,hex:vs,email:vs,required:Sne,any:kne};function ii(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var ci=ii(),hr=function(){function e(n){this.rules=null,this._messages=ci,this.define(n)}var t=e.prototype;return t.define=function(o){var l=this;if(!o)throw new Error("Cannot configure a schema with no rules");if(typeof o!="object"||Array.isArray(o))throw new Error("Rules must be an object");this.rules={},Object.keys(o).forEach(function(a){var r=o[a];l.rules[a]=Array.isArray(r)?r:[r]})},t.messages=function(o){return o&&(this._messages=G0(ii(),o)),this._messages},t.validate=function(o,l,a){var r=this;l===void 0&&(l={}),a===void 0&&(a=function(){});var u=o,s=l,i=a;if(typeof s=="function"&&(i=s,s={}),!this.rules||Object.keys(this.rules).length===0)return i&&i(null,u),Promise.resolve(u);function c(y){var A=[],w={};function F($){if(Array.isArray($)){var T;A=(T=A).concat.apply(T,$)}else A.push($)}for(var E=0;E");const l=He("form"),a=z(),r=z(0),u=()=>{var c;if((c=a.value)!=null&&c.firstElementChild){const m=window.getComputedStyle(a.value.firstElementChild).width;return Math.ceil(Number.parseFloat(m))}else return 0},s=(c="update")=>{rt(()=>{t.default&&e.isAutoWidth&&(c==="update"?r.value=u():c==="remove"&&(n==null||n.deregisterLabelWidth(r.value)))})},i=()=>s("update");return at(()=>{i()}),Rt(()=>{s("remove")}),xl(()=>i()),Ve(r,(c,m)=>{e.updateAll&&(n==null||n.registerLabelWidth(c,m))}),ro(R(()=>{var c,m;return(m=(c=a.value)==null?void 0:c.firstElementChild)!=null?m:null}),i),()=>{var c,m;if(!t)return null;const{isAutoWidth:h}=e;if(h){const v=n==null?void 0:n.autoLabelWidth,g={};if(v&&v!=="auto"){const y=Math.max(0,Number.parseInt(v,10)-r.value),A=n.labelPosition==="left"?"marginRight":"marginLeft";y&&(g[A]=`${y}px`)}return d("div",{ref:a,class:[l.be("item","label-wrap")],style:g},[(c=t.default)==null?void 0:c.call(t)])}else return d(We,{ref:a},[(m=t.default)==null?void 0:m.call(t)])}}});const Tne=["role","aria-labelledby"],Mne={name:"ElFormItem"},Vne=Le({...Mne,props:Lne,setup(e,{expose:t}){const n=e,o=So(),l=Ze(va,void 0),a=Ze(El,void 0),r=Qt(void 0,{formItem:!1}),u=He("form-item"),s=Zo().value,i=z([]),c=z(""),m=zm(c,100),h=z(""),v=z();let g,y=!1;const A=R(()=>{if((l==null?void 0:l.labelPosition)==="top")return{};const ve=Nn(n.labelWidth||(l==null?void 0:l.labelWidth)||"");return ve?{width:ve}:{}}),w=R(()=>{if((l==null?void 0:l.labelPosition)==="top"||(l==null?void 0:l.inline))return{};if(!n.label&&!n.labelWidth&&I)return{};const ve=Nn(n.labelWidth||(l==null?void 0:l.labelWidth)||"");return!n.label&&!o.label?{marginLeft:ve}:{}}),F=R(()=>[u.b(),u.m(r.value),u.is("error",c.value==="error"),u.is("validating",c.value==="validating"),u.is("success",c.value==="success"),u.is("required",Y.value||n.required),u.is("no-asterisk",l==null?void 0:l.hideRequiredAsterisk),(l==null?void 0:l.requireAsteriskPosition)==="right"?"asterisk-right":"asterisk-left",{[u.m("feedback")]:l==null?void 0:l.statusIcon}]),E=R(()=>Gt(n.inlineMessage)?n.inlineMessage:(l==null?void 0:l.inlineMessage)||!1),$=R(()=>[u.e("error"),{[u.em("error","inline")]:E.value}]),T=R(()=>n.prop?tt(n.prop)?n.prop:n.prop.join("."):""),B=R(()=>!!(n.label||o.label)),P=R(()=>n.for||i.value.length===1?i.value[0]:void 0),H=R(()=>!P.value&&B.value),I=!!a,j=R(()=>{const ve=l==null?void 0:l.model;if(!(!ve||!n.prop))return Nr(ve,n.prop).value}),Z=R(()=>{const{required:ve}=n,ze=[];n.rules&&ze.push(...Qa(n.rules));const Ke=l==null?void 0:l.rules;if(Ke&&n.prop){const se=Nr(Ke,n.prop).value;se&&ze.push(...Qa(se))}if(ve!==void 0){const se=ze.map((le,L)=>[le,L]).filter(([le])=>Object.keys(le).includes("required"));if(se.length>0)for(const[le,L]of se)le.required!==ve&&(ze[L]={...le,required:ve});else ze.push({required:ve})}return ze}),G=R(()=>Z.value.length>0),N=ve=>Z.value.filter(Ke=>!Ke.trigger||!ve?!0:Array.isArray(Ke.trigger)?Ke.trigger.includes(ve):Ke.trigger===ve).map(({trigger:Ke,...se})=>se),Y=R(()=>Z.value.some(ve=>ve.required)),ge=R(()=>{var ve;return m.value==="error"&&n.showMessage&&((ve=l==null?void 0:l.showMessage)!=null?ve:!0)}),fe=R(()=>`${n.label||""}${(l==null?void 0:l.labelSuffix)||""}`),Ee=ve=>{c.value=ve},ne=ve=>{var ze,Ke;const{errors:se,fields:le}=ve;(!se||!le)&&console.error(ve),Ee("error"),h.value=se?(Ke=(ze=se==null?void 0:se[0])==null?void 0:ze.message)!=null?Ke:`${n.prop} is required`:"",l==null||l.emit("validate",n.prop,!1,h.value)},ee=()=>{Ee("success"),l==null||l.emit("validate",n.prop,!0,"")},xe=async ve=>{const ze=T.value;return new hr({[ze]:ve}).validate({[ze]:j.value},{firstFields:!0}).then(()=>(ee(),!0)).catch(se=>(ne(se),Promise.reject(se)))},$e=async(ve,ze)=>{if(y)return!1;const Ke=Je(ze);if(!G.value)return ze==null||ze(!1),!1;const se=N(ve);return se.length===0?(ze==null||ze(!0),!0):(Ee("validating"),xe(se).then(()=>(ze==null||ze(!0),!0)).catch(le=>{const{fields:L}=le;return ze==null||ze(!1,L),Ke?!1:Promise.reject(L)}))},x=()=>{Ee(""),h.value="",y=!1},W=async()=>{const ve=l==null?void 0:l.model;if(!ve||!n.prop)return;const ze=Nr(ve,n.prop);y=!0,ze.value=Xc(g),await rt(),x(),y=!1},we=ve=>{i.value.includes(ve)||i.value.push(ve)},Ae=ve=>{i.value=i.value.filter(ze=>ze!==ve)};Ve(()=>n.error,ve=>{h.value=ve||"",Ee(ve?"error":"")},{immediate:!0}),Ve(()=>n.validateStatus,ve=>Ee(ve||""));const ke=It({...On(n),$el:v,size:r,validateState:c,labelId:s,inputIds:i,isGroup:H,addInputId:we,removeInputId:Ae,resetField:W,clearValidate:x,validate:$e});return $t(El,ke),at(()=>{n.prop&&(l==null||l.addField(ke),g=Xc(j.value))}),Rt(()=>{l==null||l.removeField(ke)}),t({size:r,validateMessage:h,validateState:c,validate:$e,clearValidate:x,resetField:W}),(ve,ze)=>{var Ke;return b(),C("div",{ref_key:"formItemRef",ref:v,class:U(_(F)),role:_(H)?"group":void 0,"aria-labelledby":_(H)?_(s):void 0},[d(_(zne),{"is-auto-width":_(A).width==="auto","update-all":((Ke=_(l))==null?void 0:Ke.labelWidth)==="auto"},{default:p(()=>[_(B)?(b(),ae(yt(_(P)?"label":"div"),{key:0,id:_(s),for:_(P),class:U(_(u).e("label")),style:nt(_(A))},{default:p(()=>[Te(ve.$slots,"label",{label:_(fe)},()=>[D(ce(_(fe)),1)])]),_:3},8,["id","for","class","style"])):oe("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),f("div",{class:U(_(u).e("content")),style:nt(_(w))},[Te(ve.$slots,"default"),d(Zt,{name:`${_(u).namespace.value}-zoom-in-top`},{default:p(()=>[_(ge)?Te(ve.$slots,"error",{key:0,error:h.value},()=>[f("div",{class:U(_($))},ce(h.value),3)]):oe("v-if",!0)]),_:3},8,["name"])],6)],10,Tne)}}});var q4=je(Vne,[["__file","/home/runner/work/element-plus/element-plus/packages/components/form/src/form-item.vue"]]);const qn=Et(Zte,{FormItem:q4}),jn=Nt(q4),Hne=et({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.POSITIVE_INFINITY},min:{type:Number,default:Number.NEGATIVE_INFINITY},modelValue:Number,readonly:Boolean,disabled:Boolean,size:zo,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:e=>e===null||mt(e)||["min","max"].includes(e),default:null},name:String,label:String,placeholder:String,precision:{type:Number,validator:e=>e>=0&&e===Number.parseInt(`${e}`,10)},validateEvent:{type:Boolean,default:!0}}),Ine={[uo]:(e,t)=>e!==t,blur:e=>e instanceof FocusEvent,focus:e=>e instanceof FocusEvent,[du]:e=>mt(e)||no(e),[Ct]:e=>mt(e)||no(e)},Rne=["aria-label","onKeydown"],Nne=["aria-label","onKeydown"],One={name:"ElInputNumber"},Une=Le({...One,props:Hne,emits:Ine,setup(e,{expose:t,emit:n}){const o=e,{t:l}=bn(),a=He("input-number"),r=z(),u=It({currentValue:o.modelValue,userInput:null}),{formItem:s}=Sl(),i=R(()=>mt(o.modelValue)&&F(o.modelValue,-1)mt(o.modelValue)&&F(o.modelValue)>o.max),m=R(()=>{const N=w(o.step);return Ko(o.precision)?Math.max(w(o.modelValue),N):(N>o.precision,o.precision)}),h=R(()=>o.controls&&o.controlsPosition==="right"),v=Qt(),g=Bl(),y=R(()=>{if(u.userInput!==null)return u.userInput;let N=u.currentValue;if(no(N))return"";if(mt(N)){if(Number.isNaN(N))return"";Ko(o.precision)||(N=N.toFixed(o.precision))}return N}),A=(N,Y)=>{if(Ko(Y)&&(Y=m.value),Y===0)return Math.round(N);let ge=String(N);const fe=ge.indexOf(".");if(fe===-1||!ge.replace(".","").split("")[fe+Y])return N;const ee=ge.length;return ge.charAt(ee-1)==="5"&&(ge=`${ge.slice(0,Math.max(0,ee-1))}6`),Number.parseFloat(Number(ge).toFixed(Y))},w=N=>{if(no(N))return 0;const Y=N.toString(),ge=Y.indexOf(".");let fe=0;return ge!==-1&&(fe=Y.length-ge-1),fe},F=(N,Y=1)=>mt(N)?A(N+o.step*Y):u.currentValue,E=()=>{if(o.readonly||g.value||c.value)return;const N=o.modelValue||0,Y=F(N);B(Y)},$=()=>{if(o.readonly||g.value||i.value)return;const N=o.modelValue||0,Y=F(N,-1);B(Y)},T=(N,Y)=>{const{max:ge,min:fe,step:Ee,precision:ne,stepStrictly:ee,valueOnClear:xe}=o;let $e=Number(N);if(no(N)||Number.isNaN($e))return null;if(N===""){if(xe===null)return null;$e=tt(xe)?{min:fe,max:ge}[xe]:xe}return ee&&($e=A(Math.round($e/Ee)*Ee,ne)),Ko(ne)||($e=A($e,ne)),($e>ge||$ege?ge:fe,Y&&n("update:modelValue",$e)),$e},B=N=>{var Y;const ge=u.currentValue,fe=T(N);ge!==fe&&(u.userInput=null,n("update:modelValue",fe),n("input",fe),n("change",fe,ge),o.validateEvent&&((Y=s==null?void 0:s.validate)==null||Y.call(s,"change").catch(Ee=>void 0)),u.currentValue=fe)},P=N=>u.userInput=N,H=N=>{const Y=N!==""?Number(N):"";(mt(Y)&&!Number.isNaN(Y)||N==="")&&B(Y),u.userInput=null},I=()=>{var N,Y;(Y=(N=r.value)==null?void 0:N.focus)==null||Y.call(N)},j=()=>{var N,Y;(Y=(N=r.value)==null?void 0:N.blur)==null||Y.call(N)},Z=N=>{n("focus",N)},G=N=>{var Y;n("blur",N),o.validateEvent&&((Y=s==null?void 0:s.validate)==null||Y.call(s,"blur").catch(ge=>void 0))};return Ve(()=>o.modelValue,N=>{u.currentValue=T(N,!0),u.userInput=null},{immediate:!0}),at(()=>{var N;const{min:Y,max:ge,modelValue:fe}=o,Ee=(N=r.value)==null?void 0:N.input;if(Ee.setAttribute("role","spinbutton"),Number.isFinite(ge)?Ee.setAttribute("aria-valuemax",String(ge)):Ee.removeAttribute("aria-valuemax"),Number.isFinite(Y)?Ee.setAttribute("aria-valuemin",String(Y)):Ee.removeAttribute("aria-valuemin"),Ee.setAttribute("aria-valuenow",String(u.currentValue)),Ee.setAttribute("aria-disabled",String(g.value)),!mt(fe)&&fe!=null){let ne=Number(fe);Number.isNaN(ne)&&(ne=null),n("update:modelValue",ne)}}),xl(()=>{var N;const Y=(N=r.value)==null?void 0:N.input;Y==null||Y.setAttribute("aria-valuenow",`${u.currentValue}`)}),t({focus:I,blur:j}),(N,Y)=>(b(),C("div",{class:U([_(a).b(),_(a).m(_(v)),_(a).is("disabled",_(g)),_(a).is("without-controls",!N.controls),_(a).is("controls-right",_(h))]),onDragstart:Y[0]||(Y[0]=ht(()=>{},["prevent"]))},[N.controls?ye((b(),C("span",{key:0,role:"button","aria-label":_(l)("el.inputNumber.decrease"),class:U([_(a).e("decrease"),_(a).is("disabled",_(i))]),onKeydown:Bt($,["enter"])},[d(_(ut),null,{default:p(()=>[_(h)?(b(),ae(_(sr),{key:0})):(b(),ae(_(wf),{key:1}))]),_:1})],42,Rne)),[[_(H0),$]]):oe("v-if",!0),N.controls?ye((b(),C("span",{key:1,role:"button","aria-label":_(l)("el.inputNumber.increase"),class:U([_(a).e("increase"),_(a).is("disabled",_(c))]),onKeydown:Bt(E,["enter"])},[d(_(ut),null,{default:p(()=>[_(h)?(b(),ae(_(Qi),{key:0})):(b(),ae(_(Ef),{key:1}))]),_:1})],42,Nne)),[[_(H0),E]]):oe("v-if",!0),d(_(yn),{id:N.id,ref_key:"input",ref:r,type:"number",step:N.step,"model-value":_(y),placeholder:N.placeholder,readonly:N.readonly,disabled:_(g),size:_(v),max:N.max,min:N.min,name:N.name,label:N.label,"validate-event":!1,onKeydown:[Bt(ht(E,["prevent"]),["up"]),Bt(ht($,["prevent"]),["down"])],onBlur:G,onFocus:Z,onInput:P,onChange:H},null,8,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","label","onKeydown"])],34))}});var Wne=je(Une,[["__file","/home/runner/work/element-plus/element-plus/packages/components/input-number/src/input-number.vue"]]);const To=Et(Wne),qne=et({type:{type:String,values:["primary","success","warning","info","danger","default"],default:"default"},underline:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},href:{type:String,default:""},icon:{type:Lt}}),jne={click:e=>e instanceof MouseEvent},Kne=["href"],Gne={name:"ElLink"},Yne=Le({...Gne,props:qne,emits:jne,setup(e,{emit:t}){const n=e,o=He("link");function l(a){n.disabled||t("click",a)}return(a,r)=>(b(),C("a",{class:U([_(o).b(),_(o).m(a.type),_(o).is("disabled",a.disabled),_(o).is("underline",a.underline&&!a.disabled)]),href:a.disabled||!a.href?void 0:a.href,onClick:l},[a.icon?(b(),ae(_(ut),{key:0},{default:p(()=>[(b(),ae(yt(a.icon)))]),_:1})):oe("v-if",!0),a.$slots.default?(b(),C("span",{key:1,class:U(_(o).e("inner"))},[Te(a.$slots,"default")],2)):oe("v-if",!0),a.$slots.icon?Te(a.$slots,"icon",{key:2}):oe("v-if",!0)],10,Kne))}});var Xne=je(Yne,[["__file","/home/runner/work/element-plus/element-plus/packages/components/link/src/link.vue"]]);const j4=Et(Xne);class Jne{constructor(t,n){this.parent=t,this.domNode=n,this.subIndex=0,this.subIndex=0,this.init()}init(){this.subMenuItems=this.domNode.querySelectorAll("li"),this.addListeners()}gotoSubIndex(t){t===this.subMenuItems.length?t=0:t<0&&(t=this.subMenuItems.length-1),this.subMenuItems[t].focus(),this.subIndex=t}addListeners(){const t=this.parent.domNode;Array.prototype.forEach.call(this.subMenuItems,n=>{n.addEventListener("keydown",o=>{let l=!1;switch(o.code){case Pt.down:{this.gotoSubIndex(this.subIndex+1),l=!0;break}case Pt.up:{this.gotoSubIndex(this.subIndex-1),l=!0;break}case Pt.tab:{Rr(t,"mouseleave");break}case Pt.enter:case Pt.space:{l=!0,o.currentTarget.click();break}}return l&&(o.preventDefault(),o.stopPropagation()),!1})})}}class Qne{constructor(t,n){this.domNode=t,this.submenu=null,this.submenu=null,this.init(n)}init(t){this.domNode.setAttribute("tabindex","0");const n=this.domNode.querySelector(`.${t}-menu`);n&&(this.submenu=new Jne(this,n)),this.addListeners()}addListeners(){this.domNode.addEventListener("keydown",t=>{let n=!1;switch(t.code){case Pt.down:{Rr(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(0),n=!0;break}case Pt.up:{Rr(t.currentTarget,"mouseenter"),this.submenu&&this.submenu.gotoSubIndex(this.submenu.subMenuItems.length-1),n=!0;break}case Pt.tab:{Rr(t.currentTarget,"mouseleave");break}case Pt.enter:case Pt.space:{n=!0,t.currentTarget.click();break}}n&&t.preventDefault()})}}class Zne{constructor(t,n){this.domNode=t,this.init(n)}init(t){const n=this.domNode.childNodes;Array.from(n).forEach(o=>{o.nodeType===1&&new Qne(o,t)})}}const eoe=Le({name:"ElMenuCollapseTransition",setup(){const e=He("menu");return{listeners:{onBeforeEnter:n=>n.style.opacity="0.2",onEnter(n,o){go(n,`${e.namespace.value}-opacity-transition`),n.style.opacity="1",o()},onAfterEnter(n){Rn(n,`${e.namespace.value}-opacity-transition`),n.style.opacity=""},onBeforeLeave(n){n.dataset||(n.dataset={}),bl(n,e.m("collapse"))?(Rn(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),go(n,e.m("collapse"))):(go(n,e.m("collapse")),n.dataset.oldOverflow=n.style.overflow,n.dataset.scrollWidth=n.clientWidth.toString(),Rn(n,e.m("collapse"))),n.style.width=`${n.scrollWidth}px`,n.style.overflow="hidden"},onLeave(n){go(n,"horizontal-collapse-transition"),n.style.width=`${n.dataset.scrollWidth}px`}}}}});function toe(e,t,n,o,l,a){return b(),ae(Zt,An({mode:"out-in"},e.listeners),{default:p(()=>[Te(e.$slots,"default")]),_:3},16)}var noe=je(eoe,[["render",toe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-collapse-transition.vue"]]);function K4(e,t){const n=R(()=>{let l=e.parent;const a=[t.value];for(;l.type.name!=="ElMenu";)l.props.index&&a.unshift(l.props.index),l=l.parent;return a});return{parentMenu:R(()=>{let l=e.parent;for(;l&&!["ElMenu","ElSubMenu"].includes(l.type.name);)l=l.parent;return l}),indexPath:n}}function ooe(e){return R(()=>{const n=e.backgroundColor;return n?new p4(n).shade(20).toString():""})}const G4=(e,t)=>{const n=He("menu");return R(()=>n.cssVarBlock({"text-color":e.textColor||"","hover-text-color":e.textColor||"","bg-color":e.backgroundColor||"","hover-bg-color":ooe(e).value||"","active-color":e.activeTextColor||"",level:`${t}`}))},loe=et({index:{type:String,required:!0},showTimeout:{type:Number,default:300},hideTimeout:{type:Number,default:300},popperClass:String,disabled:Boolean,popperAppendToBody:{type:Boolean,default:void 0},popperOffset:{type:Number,default:6},expandCloseIcon:{type:Lt},expandOpenIcon:{type:Lt},collapseCloseIcon:{type:Lt},collapseOpenIcon:{type:Lt}}),hs="ElSubMenu";var C2=Le({name:hs,props:loe,setup(e,{slots:t,expose:n}){const o=ft(),{indexPath:l,parentMenu:a}=K4(o,R(()=>e.index)),r=He("menu"),u=He("sub-menu"),s=Ze("rootMenu");s||gn(hs,"can not inject root menu");const i=Ze(`subMenu:${a.value.uid}`);i||gn(hs,"can not inject sub menu");const c=z({}),m=z({});let h;const v=z(!1),g=z(),y=z(null),A=R(()=>Z.value==="horizontal"&&F.value?"bottom-start":"right-start"),w=R(()=>Z.value==="horizontal"&&F.value||Z.value==="vertical"&&!s.props.collapse?e.expandCloseIcon&&e.expandOpenIcon?B.value?e.expandOpenIcon:e.expandCloseIcon:sr:e.collapseCloseIcon&&e.collapseOpenIcon?B.value?e.collapseOpenIcon:e.collapseCloseIcon:pa),F=R(()=>i.level===0),E=R(()=>e.popperAppendToBody===void 0?F.value:Boolean(e.popperAppendToBody)),$=R(()=>s.props.collapse?`${r.namespace.value}-zoom-in-left`:`${r.namespace.value}-zoom-in-top`),T=R(()=>Z.value==="horizontal"&&F.value?["bottom-start","bottom-end","top-start","top-end","right-start","left-start"]:["right-start","left-start","bottom-start","bottom-end","top-start","top-end"]),B=R(()=>s.openedMenus.includes(e.index)),P=R(()=>{let ee=!1;return Object.values(c.value).forEach(xe=>{xe.active&&(ee=!0)}),Object.values(m.value).forEach(xe=>{xe.active&&(ee=!0)}),ee}),H=R(()=>s.props.backgroundColor||""),I=R(()=>s.props.activeTextColor||""),j=R(()=>s.props.textColor||""),Z=R(()=>s.props.mode),G=It({index:e.index,indexPath:l,active:P}),N=R(()=>Z.value!=="horizontal"?{color:j.value}:{borderBottomColor:P.value?s.props.activeTextColor?I.value:"":"transparent",color:P.value?I.value:j.value}),Y=()=>{var ee,xe,$e;return($e=(xe=(ee=y.value)==null?void 0:ee.popperRef)==null?void 0:xe.popperInstanceRef)==null?void 0:$e.destroy()},ge=ee=>{ee||Y()},fe=()=>{s.props.menuTrigger==="hover"&&s.props.mode==="horizontal"||s.props.collapse&&s.props.mode==="vertical"||e.disabled||s.handleSubMenuClick({index:e.index,indexPath:l.value,active:P.value})},Ee=(ee,xe=e.showTimeout)=>{var $e;ee.type!=="focus"&&(s.props.menuTrigger==="click"&&s.props.mode==="horizontal"||!s.props.collapse&&s.props.mode==="vertical"||e.disabled||(i.mouseInChild.value=!0,h==null||h(),{stop:h}=Ql(()=>{s.openMenu(e.index,l.value)},xe),E.value&&(($e=a.value.vnode.el)==null||$e.dispatchEvent(new MouseEvent("mouseenter")))))},ne=(ee=!1)=>{var xe,$e;s.props.menuTrigger==="click"&&s.props.mode==="horizontal"||!s.props.collapse&&s.props.mode==="vertical"||(h==null||h(),i.mouseInChild.value=!1,{stop:h}=Ql(()=>!v.value&&s.closeMenu(e.index,l.value),e.hideTimeout),E.value&&ee&&((xe=o.parent)==null?void 0:xe.type.name)==="ElSubMenu"&&(($e=i.handleMouseleave)==null||$e.call(i,!0)))};Ve(()=>s.props.collapse,ee=>ge(Boolean(ee)));{const ee=$e=>{m.value[$e.index]=$e},xe=$e=>{delete m.value[$e.index]};$t(`subMenu:${o.uid}`,{addSubMenu:ee,removeSubMenu:xe,handleMouseleave:ne,mouseInChild:v,level:i.level+1})}return n({opened:B}),at(()=>{s.addSubMenu(G),i.addSubMenu(G)}),Rt(()=>{i.removeSubMenu(G),s.removeSubMenu(G)}),()=>{var ee;const xe=[(ee=t.title)==null?void 0:ee.call(t),Ne(ut,{class:u.e("icon-arrow"),style:{transform:B.value?e.expandCloseIcon&&e.expandOpenIcon||e.collapseCloseIcon&&e.collapseOpenIcon&&s.props.collapse?"none":"rotateZ(180deg)":"none"}},{default:()=>tt(w.value)?Ne(o.appContext.components[w.value]):Ne(w.value)})],$e=G4(s.props,i.level+1),x=s.isMenuPopup?Ne(Sn,{ref:y,visible:B.value,effect:"light",pure:!0,offset:e.popperOffset,showArrow:!1,persistent:!0,popperClass:e.popperClass,placement:A.value,teleported:E.value,fallbackPlacements:T.value,transition:$.value,gpuAcceleration:!1},{content:()=>{var W;return Ne("div",{class:[r.m(Z.value),r.m("popup-container"),e.popperClass],onMouseenter:we=>Ee(we,100),onMouseleave:()=>ne(!0),onFocus:we=>Ee(we,100)},[Ne("ul",{class:[r.b(),r.m("popup"),r.m(`popup-${A.value}`)],style:$e.value},[(W=t.default)==null?void 0:W.call(t)])])},default:()=>Ne("div",{class:u.e("title"),style:[N.value,{backgroundColor:H.value}],onClick:fe},xe)}):Ne(We,{},[Ne("div",{class:u.e("title"),style:[N.value,{backgroundColor:H.value}],ref:g,onClick:fe},xe),Ne(T4,{},{default:()=>{var W;return ye(Ne("ul",{role:"menu",class:[r.b(),r.m("inline")],style:$e.value},[(W=t.default)==null?void 0:W.call(t)]),[[Be,B.value]])}})]);return Ne("li",{class:[u.b(),u.is("active",P.value),u.is("opened",B.value),u.is("disabled",e.disabled)],role:"menuitem",ariaHaspopup:!0,ariaExpanded:B.value,onMouseenter:Ee,onMouseleave:()=>ne(!0),onFocus:Ee},[x])}}});const aoe=et({mode:{type:String,values:["horizontal","vertical"],default:"vertical"},defaultActive:{type:String,default:""},defaultOpeneds:{type:Ue(Array),default:()=>Fo([])},uniqueOpened:Boolean,router:Boolean,menuTrigger:{type:String,values:["hover","click"],default:"hover"},collapse:Boolean,backgroundColor:String,textColor:String,activeTextColor:String,collapseTransition:{type:Boolean,default:!0},ellipsis:{type:Boolean,default:!0}}),_s=e=>Array.isArray(e)&&e.every(t=>tt(t)),roe={close:(e,t)=>tt(e)&&_s(t),open:(e,t)=>tt(e)&&_s(t),select:(e,t,n,o)=>tt(e)&&_s(t)&&ct(n)&&(o===void 0||o instanceof Promise)};var uoe=Le({name:"ElMenu",props:aoe,emits:roe,setup(e,{emit:t,slots:n,expose:o}){const l=ft(),a=l.appContext.config.globalProperties.$router,r=z(),u=He("menu"),s=He("sub-menu"),i=z(-1),c=z(e.defaultOpeneds&&!e.collapse?e.defaultOpeneds.slice(0):[]),m=z(e.defaultActive),h=z({}),v=z({}),g=R(()=>e.mode==="horizontal"||e.mode==="vertical"&&e.collapse),y=()=>{const j=m.value&&h.value[m.value];if(!j||e.mode==="horizontal"||e.collapse)return;j.indexPath.forEach(G=>{const N=v.value[G];N&&A(G,N.indexPath)})},A=(j,Z)=>{c.value.includes(j)||(e.uniqueOpened&&(c.value=c.value.filter(G=>Z.includes(G))),c.value.push(j),t("open",j,Z))},w=(j,Z)=>{const G=c.value.indexOf(j);G!==-1&&c.value.splice(G,1),t("close",j,Z)},F=({index:j,indexPath:Z})=>{c.value.includes(j)?w(j,Z):A(j,Z)},E=j=>{(e.mode==="horizontal"||e.collapse)&&(c.value=[]);const{index:Z,indexPath:G}=j;if(!(Z===void 0||G===void 0))if(e.router&&a){const N=j.route||Z,Y=a.push(N).then(ge=>(ge||(m.value=Z),ge));t("select",Z,G,{index:Z,indexPath:G,route:N},Y)}else m.value=Z,t("select",Z,G,{index:Z,indexPath:G})},$=j=>{const Z=h.value,G=Z[j]||m.value&&Z[m.value]||Z[e.defaultActive];G?m.value=G.index:m.value=j},T=()=>{var j,Z;if(!r.value)return-1;const G=Array.from((Z=(j=r.value)==null?void 0:j.childNodes)!=null?Z:[]).filter(ee=>ee.nodeName!=="#text"||ee.nodeValue),N=64,Y=Number.parseInt(getComputedStyle(r.value).paddingLeft,10),ge=Number.parseInt(getComputedStyle(r.value).paddingRight,10),fe=r.value.clientWidth-Y-ge;let Ee=0,ne=0;return G.forEach((ee,xe)=>{Ee+=ee.offsetWidth||0,Ee<=fe-N&&(ne=xe+1)}),ne===G.length?-1:ne},B=(j,Z=33.34)=>{let G;return()=>{G&&clearTimeout(G),G=setTimeout(()=>{j()},Z)}};let P=!0;const H=()=>{const j=()=>{i.value=-1,rt(()=>{i.value=T()})};P?j():B(j)(),P=!1};Ve(()=>e.defaultActive,j=>{h.value[j]||(m.value=""),$(j)}),Ve(()=>e.collapse,j=>{j&&(c.value=[])}),Ve(h.value,y);let I;yo(()=>{e.mode==="horizontal"&&e.ellipsis?I=ro(r,H).stop:I==null||I()});{const j=Y=>{v.value[Y.index]=Y},Z=Y=>{delete v.value[Y.index]};$t("rootMenu",It({props:e,openedMenus:c,items:h,subMenus:v,activeIndex:m,isMenuPopup:g,addMenuItem:Y=>{h.value[Y.index]=Y},removeMenuItem:Y=>{delete h.value[Y.index]},addSubMenu:j,removeSubMenu:Z,openMenu:A,closeMenu:w,handleMenuItemClick:E,handleSubMenuClick:F})),$t(`subMenu:${l.uid}`,{addSubMenu:j,removeSubMenu:Z,mouseInChild:z(!1),level:0})}return at(()=>{e.mode==="horizontal"&&new Zne(l.vnode.el,u.namespace.value)}),o({open:Z=>{const{indexPath:G}=v.value[Z];G.forEach(N=>A(N,G))},close:w,handleResize:H}),()=>{var j,Z;let G=(Z=(j=n.default)==null?void 0:j.call(n))!=null?Z:[];const N=[];if(e.mode==="horizontal"&&r.value){const fe=l2(G),Ee=i.value===-1?fe:fe.slice(0,i.value),ne=i.value===-1?[]:fe.slice(i.value);(ne==null?void 0:ne.length)&&e.ellipsis&&(G=Ee,N.push(Ne(C2,{index:"sub-menu-more",class:s.e("hide-arrow")},{title:()=>Ne(ut,{class:s.e("icon-more")},{default:()=>Ne(Cf)}),default:()=>ne})))}const Y=G4(e,0),ge=Ne("ul",{key:String(e.collapse),role:"menubar",ref:r,style:Y.value,class:{[u.b()]:!0,[u.m(e.mode)]:!0,[u.m("collapse")]:e.collapse}},[...G,...N]);return e.collapseTransition&&e.mode==="vertical"?Ne(noe,()=>ge):ge}}});const soe=et({index:{type:Ue([String,null]),default:null},route:{type:Ue([String,Object])},disabled:Boolean}),ioe={click:e=>tt(e.index)&&Array.isArray(e.indexPath)},ms="ElMenuItem",coe=Le({name:ms,components:{ElTooltip:Sn},props:soe,emits:ioe,setup(e,{emit:t}){const n=ft(),o=Ze("rootMenu"),l=He("menu"),a=He("menu-item");o||gn(ms,"can not inject root menu");const{parentMenu:r,indexPath:u}=K4(n,$n(e,"index")),s=Ze(`subMenu:${r.value.uid}`);s||gn(ms,"can not inject sub menu");const i=R(()=>e.index===o.activeIndex),c=It({index:e.index,indexPath:u,active:i}),m=()=>{e.disabled||(o.handleMenuItemClick({index:e.index,indexPath:u.value,route:e.route}),t("click",c))};return at(()=>{s.addSubMenu(c),o.addMenuItem(c)}),Rt(()=>{s.removeSubMenu(c),o.removeMenuItem(c)}),{Effect:CJ,parentMenu:r,rootMenu:o,active:i,nsMenu:l,nsMenuItem:a,handleClick:m}}});function doe(e,t,n,o,l,a){const r=Qe("el-tooltip");return b(),C("li",{class:U([e.nsMenuItem.b(),e.nsMenuItem.is("active",e.active),e.nsMenuItem.is("disabled",e.disabled)]),role:"menuitem",tabindex:"-1",onClick:t[0]||(t[0]=(...u)=>e.handleClick&&e.handleClick(...u))},[e.parentMenu.type.name==="ElMenu"&&e.rootMenu.props.collapse&&e.$slots.title?(b(),ae(r,{key:0,effect:e.Effect.DARK,placement:"right","fallback-placements":["left"],persistent:""},{content:p(()=>[Te(e.$slots,"title")]),default:p(()=>[f("div",{class:U(e.nsMenu.be("tooltip","trigger"))},[Te(e.$slots,"default")],2)]),_:3},8,["effect"])):(b(),C(We,{key:1},[Te(e.$slots,"default"),Te(e.$slots,"title")],64))],2)}var Y4=je(coe,[["render",doe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item.vue"]]);const foe={title:String},poe="ElMenuItemGroup",voe=Le({name:poe,props:foe,setup(){return{ns:He("menu-item-group")}}});function hoe(e,t,n,o,l,a){return b(),C("li",{class:U(e.ns.b())},[f("div",{class:U(e.ns.e("title"))},[e.$slots.title?Te(e.$slots,"title",{key:1}):(b(),C(We,{key:0},[D(ce(e.title),1)],64))],2),f("ul",null,[Te(e.$slots,"default")])],2)}var X4=je(voe,[["render",hoe],["__file","/home/runner/work/element-plus/element-plus/packages/components/menu/src/menu-item-group.vue"]]);const _oe=Et(uoe,{MenuItem:Y4,MenuItemGroup:X4,SubMenu:C2}),moe=Nt(Y4);Nt(X4);const goe=Nt(C2),boe=et({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:Lt}}),yoe={click:e=>e instanceof MouseEvent},woe=["disabled","aria-disabled"],Coe={key:0},Eoe={name:"ElPaginationPrev"},Aoe=Le({...Eoe,props:boe,emits:yoe,setup(e){const t=e,n=R(()=>t.disabled||t.currentPage<=1);return(o,l)=>(b(),C("button",{type:"button",class:"btn-prev",disabled:_(n),"aria-disabled":_(n),onClick:l[0]||(l[0]=a=>o.$emit("click",a))},[o.prevText?(b(),C("span",Coe,ce(o.prevText),1)):(b(),ae(_(ut),{key:1},{default:p(()=>[(b(),ae(yt(o.prevIcon)))]),_:1}))],8,woe))}});var Foe=je(Aoe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/prev.vue"]]);const xoe=et({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:Lt}}),$oe=["disabled","aria-disabled"],Doe={key:0},Boe={name:"ElPaginationNext"},Soe=Le({...Boe,props:xoe,emits:["click"],setup(e){const t=e,n=R(()=>t.disabled||t.currentPage===t.pageCount||t.pageCount===0);return(o,l)=>(b(),C("button",{type:"button",class:"btn-next",disabled:_(n),"aria-disabled":_(n),onClick:l[0]||(l[0]=a=>o.$emit("click",a))},[o.nextText?(b(),C("span",Doe,ce(o.nextText),1)):(b(),ae(_(ut),{key:1},{default:p(()=>[(b(),ae(yt(o.nextIcon)))]),_:1}))],8,$oe))}});var koe=je(Soe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/next.vue"]]);const J4="ElSelectGroup",Wu="ElSelect";function Poe(e,t){const n=Ze(Wu),o=Ze(J4,{disabled:!1}),l=R(()=>Object.prototype.toString.call(e.value).toLowerCase()==="[object object]"),a=R(()=>n.props.multiple?m(n.props.modelValue,e.value):h(e.value,n.props.modelValue)),r=R(()=>{if(n.props.multiple){const y=n.props.modelValue||[];return!a.value&&y.length>=n.props.multipleLimit&&n.props.multipleLimit>0}else return!1}),u=R(()=>e.label||(l.value?"":e.value)),s=R(()=>e.value||e.label||""),i=R(()=>e.disabled||t.groupDisabled||r.value),c=ft(),m=(y=[],A)=>{if(l.value){const w=n.props.valueKey;return y&&y.some(F=>it(Jt(F,w))===Jt(A,w))}else return y&&y.includes(A)},h=(y,A)=>{if(l.value){const{valueKey:w}=n.props;return Jt(y,w)===Jt(A,w)}else return y===A},v=()=>{!e.disabled&&!o.disabled&&(n.hoverIndex=n.optionsArray.indexOf(c.proxy))};Ve(()=>u.value,()=>{!e.created&&!n.props.remote&&n.setSelected()}),Ve(()=>e.value,(y,A)=>{const{remote:w,valueKey:F}=n.props;if(Object.is(y,A)||(n.onOptionDestroy(A,c.proxy),n.onOptionCreate(c.proxy)),!e.created&&!w){if(F&&typeof y=="object"&&typeof A=="object"&&y[F]===A[F])return;n.setSelected()}}),Ve(()=>o.disabled,()=>{t.groupDisabled=o.disabled},{immediate:!0});const{queryChange:g}=it(n);return Ve(g,y=>{const{query:A}=_(y),w=new RegExp(Gm(A),"i");t.visible=w.test(u.value)||e.created,t.visible||n.filteredOptionsCount--}),{select:n,currentLabel:u,currentValue:s,itemSelected:a,isDisabled:i,hoverItem:v}}const Loe=Le({name:"ElOption",componentName:"ElOption",props:{value:{required:!0,type:[String,Number,Boolean,Object]},label:[String,Number],created:Boolean,disabled:{type:Boolean,default:!1}},setup(e){const t=He("select"),n=It({index:-1,groupDisabled:!1,visible:!0,hitState:!1,hover:!1}),{currentLabel:o,itemSelected:l,isDisabled:a,select:r,hoverItem:u}=Poe(e,n),{visible:s,hover:i}=On(n),c=ft().proxy;r.onOptionCreate(c),Rt(()=>{const h=c.value,{selected:v}=r,y=(r.props.multiple?v:[v]).some(A=>A.value===c.value);rt(()=>{r.cachedOptions.get(h)===c&&!y&&r.cachedOptions.delete(h)}),r.onOptionDestroy(h,c)});function m(){e.disabled!==!0&&n.groupDisabled!==!0&&r.handleOptionSelect(c,!0)}return{ns:t,currentLabel:o,itemSelected:l,isDisabled:a,select:r,hoverItem:u,visible:s,hover:i,selectOptionClick:m,states:n}}});function zoe(e,t,n,o,l,a){return ye((b(),C("li",{class:U([e.ns.be("dropdown","item"),e.ns.is("disabled",e.isDisabled),{selected:e.itemSelected,hover:e.hover}]),onMouseenter:t[0]||(t[0]=(...r)=>e.hoverItem&&e.hoverItem(...r)),onClick:t[1]||(t[1]=ht((...r)=>e.selectOptionClick&&e.selectOptionClick(...r),["stop"]))},[Te(e.$slots,"default",{},()=>[f("span",null,ce(e.currentLabel),1)])],34)),[[Be,e.visible]])}var E2=je(Loe,[["render",zoe],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/option.vue"]]);const Toe=Le({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const e=Ze(Wu),t=He("select"),n=R(()=>e.props.popperClass),o=R(()=>e.props.multiple),l=R(()=>e.props.fitInputWidth),a=z("");function r(){var u;a.value=`${(u=e.selectWrapper)==null?void 0:u.offsetWidth}px`}return at(()=>{r(),ro(e.selectWrapper,r)}),{ns:t,minWidth:a,popperClass:n,isMultiple:o,isFitInputWidth:l}}});function Moe(e,t,n,o,l,a){return b(),C("div",{class:U([e.ns.b("dropdown"),e.ns.is("multiple",e.isMultiple),e.popperClass]),style:nt({[e.isFitInputWidth?"width":"minWidth"]:e.minWidth})},[Te(e.$slots,"default")],6)}var Voe=je(Toe,[["render",Moe],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/select-dropdown.vue"]]);function Hoe(e){const{t}=bn();return It({options:new Map,cachedOptions:new Map,createdLabel:null,createdSelected:!1,selected:e.multiple?[]:{},inputLength:20,inputWidth:0,optionsCount:0,filteredOptionsCount:0,visible:!1,softFocus:!1,selectedLabel:"",hoverIndex:-1,query:"",previousQuery:null,inputHovering:!1,cachedPlaceHolder:"",currentPlaceholder:t("el.select.placeholder"),menuVisibleOnFocus:!1,isOnComposition:!1,isSilentBlur:!1,prefixWidth:11,tagInMultiLine:!1})}const Ioe=(e,t,n)=>{const{t:o}=bn(),l=He("select"),a=z(null),r=z(null),u=z(null),s=z(null),i=z(null),c=z(null),m=z(-1),h=In({query:""}),v=In(""),{form:g,formItem:y}=Sl(),A=R(()=>!e.filterable||e.multiple||!t.visible),w=R(()=>e.disabled||(g==null?void 0:g.disabled)),F=R(()=>{const K=e.multiple?Array.isArray(e.modelValue)&&e.modelValue.length>0:e.modelValue!==void 0&&e.modelValue!==null&&e.modelValue!=="";return e.clearable&&!w.value&&t.inputHovering&&K}),E=R(()=>e.remote&&e.filterable&&!e.remoteShowSuffix?"":e.suffixIcon),$=R(()=>l.is("reverse",E.value&&t.visible&&e.suffixTransition)),T=R(()=>e.remote?300:0),B=R(()=>e.loading?e.loadingText||o("el.select.loading"):e.remote&&t.query===""&&t.options.size===0?!1:e.filterable&&t.query&&t.options.size>0&&t.filteredOptionsCount===0?e.noMatchText||o("el.select.noMatch"):t.options.size===0?e.noDataText||o("el.select.noData"):null),P=R(()=>Array.from(t.options.values())),H=R(()=>Array.from(t.cachedOptions.values())),I=R(()=>{const K=P.value.filter(ue=>!ue.created).some(ue=>ue.currentLabel===t.query);return e.filterable&&e.allowCreate&&t.query!==""&&!K}),j=Qt(),Z=R(()=>["small"].includes(j.value)?"small":"default"),G=R({get(){return t.visible&&B.value!==!1},set(K){t.visible=K}});Ve([()=>w.value,()=>j.value,()=>g==null?void 0:g.size],()=>{rt(()=>{N()})}),Ve(()=>e.placeholder,K=>{t.cachedPlaceHolder=t.currentPlaceholder=K}),Ve(()=>e.modelValue,(K,ue)=>{e.multiple&&(N(),K&&K.length>0||r.value&&t.query!==""?t.currentPlaceholder="":t.currentPlaceholder=t.cachedPlaceHolder,e.filterable&&!e.reserveKeyword&&(t.query="",Y(t.query))),Ee(),e.filterable&&!e.multiple&&(t.inputLength=20),!Us(K,ue)&&e.validateEvent&&(y==null||y.validate("change").catch(q=>void 0))},{flush:"post",deep:!0}),Ve(()=>t.visible,K=>{var ue,q,k;K?((q=(ue=u.value)==null?void 0:ue.updatePopper)==null||q.call(ue),e.filterable&&(t.filteredOptionsCount=t.optionsCount,t.query=e.remote?"":t.selectedLabel,e.multiple?(k=r.value)==null||k.focus():t.selectedLabel&&(t.currentPlaceholder=`${t.selectedLabel}`,t.selectedLabel=""),Y(t.query),!e.multiple&&!e.remote&&(h.value.query="",Ca(h),Ca(v)))):(r.value&&r.value.blur(),t.query="",t.previousQuery=null,t.selectedLabel="",t.inputLength=20,t.menuVisibleOnFocus=!1,ee(),rt(()=>{r.value&&r.value.value===""&&t.selected.length===0&&(t.currentPlaceholder=t.cachedPlaceHolder)}),e.multiple||(t.selected&&(e.filterable&&e.allowCreate&&t.createdSelected&&t.createdLabel?t.selectedLabel=t.createdLabel:t.selectedLabel=t.selected.currentLabel,e.filterable&&(t.query=t.selectedLabel)),e.filterable&&(t.currentPlaceholder=t.cachedPlaceHolder))),n.emit("visible-change",K)}),Ve(()=>t.options.entries(),()=>{var K,ue,q;if(!_t)return;(ue=(K=u.value)==null?void 0:K.updatePopper)==null||ue.call(K),e.multiple&&N();const k=((q=i.value)==null?void 0:q.querySelectorAll("input"))||[];Array.from(k).includes(document.activeElement)||Ee(),e.defaultFirstOption&&(e.filterable||e.remote)&&t.filteredOptionsCount&&fe()},{flush:"post"}),Ve(()=>t.hoverIndex,K=>{typeof K=="number"&&K>-1?m.value=P.value[K]||{}:m.value={},P.value.forEach(ue=>{ue.hover=m.value===ue})});const N=()=>{e.collapseTags&&!e.filterable||rt(()=>{var K,ue;if(!a.value)return;const q=a.value.$el.querySelector("input"),k=s.value,Me=hX(j.value||(g==null?void 0:g.size));q.style.height=`${(t.selected.length===0?Me:Math.max(k?k.clientHeight+(k.clientHeight>Me?6:0):0,Me))-2}px`,t.tagInMultiLine=Number.parseFloat(q.style.height)>=Me,t.visible&&B.value!==!1&&((ue=(K=u.value)==null?void 0:K.updatePopper)==null||ue.call(K))})},Y=async K=>{if(!(t.previousQuery===K||t.isOnComposition)){if(t.previousQuery===null&&(typeof e.filterMethod=="function"||typeof e.remoteMethod=="function")){t.previousQuery=K;return}t.previousQuery=K,rt(()=>{var ue,q;t.visible&&((q=(ue=u.value)==null?void 0:ue.updatePopper)==null||q.call(ue))}),t.hoverIndex=-1,e.multiple&&e.filterable&&rt(()=>{const ue=r.value.value.length*15+20;t.inputLength=e.collapseTags?Math.min(50,ue):ue,ge(),N()}),e.remote&&typeof e.remoteMethod=="function"?(t.hoverIndex=-1,e.remoteMethod(K)):typeof e.filterMethod=="function"?(e.filterMethod(K),Ca(v)):(t.filteredOptionsCount=t.optionsCount,h.value.query=K,Ca(h),Ca(v)),e.defaultFirstOption&&(e.filterable||e.remote)&&t.filteredOptionsCount&&(await rt(),fe())}},ge=()=>{t.currentPlaceholder!==""&&(t.currentPlaceholder=r.value.value?"":t.cachedPlaceHolder)},fe=()=>{const K=P.value.filter(k=>k.visible&&!k.disabled&&!k.states.groupDisabled),ue=K.find(k=>k.created),q=K[0];t.hoverIndex=se(P.value,ue||q)},Ee=()=>{var K;if(e.multiple)t.selectedLabel="";else{const q=ne(e.modelValue);(K=q.props)!=null&&K.created?(t.createdLabel=q.props.value,t.createdSelected=!0):t.createdSelected=!1,t.selectedLabel=q.currentLabel,t.selected=q,e.filterable&&(t.query=t.selectedLabel);return}const ue=[];Array.isArray(e.modelValue)&&e.modelValue.forEach(q=>{ue.push(ne(q))}),t.selected=ue,rt(()=>{N()})},ne=K=>{let ue;const q=Lr(K).toLowerCase()==="object",k=Lr(K).toLowerCase()==="null",Me=Lr(K).toLowerCase()==="undefined";for(let Fe=t.cachedOptions.size-1;Fe>=0;Fe--){const At=H.value[Fe];if(q?Jt(At.value,e.valueKey)===Jt(K,e.valueKey):At.value===K){ue={value:K,currentLabel:At.currentLabel,isDisabled:At.isDisabled};break}}if(ue)return ue;const X=q?K.label:!k&&!Me?K:"",de={value:K,currentLabel:X};return e.multiple&&(de.hitState=!1),de},ee=()=>{setTimeout(()=>{const K=e.valueKey;e.multiple?t.selected.length>0?t.hoverIndex=Math.min.apply(null,t.selected.map(ue=>P.value.findIndex(q=>Jt(q,K)===Jt(ue,K)))):t.hoverIndex=-1:t.hoverIndex=P.value.findIndex(ue=>Xe(ue)===Xe(t.selected))},300)},xe=()=>{var K,ue;$e(),(ue=(K=u.value)==null?void 0:K.updatePopper)==null||ue.call(K),e.multiple&&!e.filterable&&N()},$e=()=>{var K;t.inputWidth=(K=a.value)==null?void 0:K.$el.getBoundingClientRect().width},x=()=>{e.filterable&&t.query!==t.selectedLabel&&(t.query=t.selectedLabel,Y(t.query))},W=Jl(()=>{x()},T.value),we=Jl(K=>{Y(K.target.value)},T.value),Ae=K=>{Us(e.modelValue,K)||n.emit(uo,K)},ke=K=>{if(K.target.value.length<=0&&!te()){const ue=e.modelValue.slice();ue.pop(),n.emit(Ct,ue),Ae(ue)}K.target.value.length===1&&e.modelValue.length===0&&(t.currentPlaceholder=t.cachedPlaceHolder)},ve=(K,ue)=>{const q=t.selected.indexOf(ue);if(q>-1&&!w.value){const k=e.modelValue.slice();k.splice(q,1),n.emit(Ct,k),Ae(k),n.emit("remove-tag",ue.value)}K.stopPropagation()},ze=K=>{K.stopPropagation();const ue=e.multiple?[]:"";if(typeof ue!="string")for(const q of t.selected)q.isDisabled&&ue.push(q.value);n.emit(Ct,ue),Ae(ue),t.hoverIndex=-1,t.visible=!1,n.emit("clear")},Ke=(K,ue)=>{var q;if(e.multiple){const k=(e.modelValue||[]).slice(),Me=se(k,K.value);Me>-1?k.splice(Me,1):(e.multipleLimit<=0||k.length{L(K)})},se=(K=[],ue)=>{if(!ct(ue))return K.indexOf(ue);const q=e.valueKey;let k=-1;return K.some((Me,X)=>it(Jt(Me,q))===Jt(ue,q)?(k=X,!0):!1),k},le=()=>{t.softFocus=!0;const K=r.value||a.value;K&&(K==null||K.focus())},L=K=>{var ue,q,k,Me,X;const de=Array.isArray(K)?K[0]:K;let Fe=null;if(de!=null&&de.value){const At=P.value.filter(De=>De.value===de.value);At.length>0&&(Fe=At[0].$el)}if(u.value&&Fe){const At=(Me=(k=(q=(ue=u.value)==null?void 0:ue.popperRef)==null?void 0:q.contentRef)==null?void 0:k.querySelector)==null?void 0:Me.call(k,`.${l.be("dropdown","wrap")}`);At&&eg(At,Fe)}(X=c.value)==null||X.handleScroll()},S=K=>{t.optionsCount++,t.filteredOptionsCount++,t.options.set(K.value,K),t.cachedOptions.set(K.value,K)},V=(K,ue)=>{t.options.get(K)===ue&&(t.optionsCount--,t.filteredOptionsCount--,t.options.delete(K))},O=K=>{K.code!==Pt.backspace&&te(!1),t.inputLength=r.value.value.length*15+20,N()},te=K=>{if(!Array.isArray(t.selected))return;const ue=t.selected[t.selected.length-1];if(!!ue)return K===!0||K===!1?(ue.hitState=K,K):(ue.hitState=!ue.hitState,ue.hitState)},_e=K=>{const ue=K.target.value;if(K.type==="compositionend")t.isOnComposition=!1,rt(()=>Y(ue));else{const q=ue[ue.length-1]||"";t.isOnComposition=!Sf(q)}},pe=()=>{rt(()=>L(t.selected))},Ce=K=>{t.softFocus?t.softFocus=!1:((e.automaticDropdown||e.filterable)&&(e.filterable&&!t.visible&&(t.menuVisibleOnFocus=!0),t.visible=!0),n.emit("focus",K))},be=()=>{var K;t.visible=!1,(K=a.value)==null||K.blur()},re=K=>{rt(()=>{t.isSilentBlur?t.isSilentBlur=!1:n.emit("blur",K)}),t.softFocus=!1},me=K=>{ze(K)},Re=()=>{t.visible=!1},Q=K=>{t.visible&&(K.preventDefault(),K.stopPropagation(),t.visible=!1)},Pe=()=>{var K;w.value||(t.menuVisibleOnFocus?t.menuVisibleOnFocus=!1:t.visible=!t.visible,t.visible&&((K=r.value||a.value)==null||K.focus()))},Ge=()=>{t.visible?P.value[t.hoverIndex]&&Ke(P.value[t.hoverIndex],void 0):Pe()},Xe=K=>ct(K.value)?Jt(K.value,e.valueKey):K.value,he=R(()=>P.value.filter(K=>K.visible).every(K=>K.disabled)),Ie=K=>{if(!t.visible){t.visible=!0;return}if(!(t.options.size===0||t.filteredOptionsCount===0)&&!t.isOnComposition&&!he.value){K==="next"?(t.hoverIndex++,t.hoverIndex===t.options.size&&(t.hoverIndex=0)):K==="prev"&&(t.hoverIndex--,t.hoverIndex<0&&(t.hoverIndex=t.options.size-1));const ue=P.value[t.hoverIndex];(ue.disabled===!0||ue.states.groupDisabled===!0||!ue.visible)&&Ie(K),rt(()=>L(m.value))}};return{optionsArray:P,selectSize:j,handleResize:xe,debouncedOnInputChange:W,debouncedQueryChange:we,deletePrevTag:ke,deleteTag:ve,deleteSelected:ze,handleOptionSelect:Ke,scrollToOption:L,readonly:A,resetInputHeight:N,showClose:F,iconComponent:E,iconReverse:$,showNewOption:I,collapseTagSize:Z,setSelected:Ee,managePlaceholder:ge,selectDisabled:w,emptyText:B,toggleLastOptionHitState:te,resetInputState:O,handleComposition:_e,onOptionCreate:S,onOptionDestroy:V,handleMenuEnter:pe,handleFocus:Ce,blur:be,handleBlur:re,handleClearClick:me,handleClose:Re,handleKeydownEscape:Q,toggleMenu:Pe,selectOption:Ge,getValueKey:Xe,navigateOptions:Ie,dropMenuVisible:G,queryChange:h,groupQueryChange:v,reference:a,input:r,tooltipRef:u,tags:s,selectWrapper:i,scrollbar:c}},J0="ElSelect",Roe=Le({name:J0,componentName:J0,components:{ElInput:yn,ElSelectMenu:Voe,ElOption:E2,ElTag:Nee,ElScrollbar:un,ElTooltip:Sn,ElIcon:ut},directives:{ClickOutside:h4},props:{name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:{type:String,validator:o2},effect:{type:String,default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:{type:Boolean,default:!1},teleported:m2.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:Lt,default:ir},fitInputWidth:{type:Boolean,default:!1},suffixIcon:{type:Lt,default:sr},tagType:{...z4.type,default:"info"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:{type:Boolean,default:!1},suffixTransition:{type:Boolean,default:!0},placement:{type:String,values:Ru,default:"bottom-start"}},emits:[Ct,uo,"remove-tag","clear","visible-change","focus","blur"],setup(e,t){const n=He("select"),o=He("input"),{t:l}=bn(),a=Hoe(e),{optionsArray:r,selectSize:u,readonly:s,handleResize:i,collapseTagSize:c,debouncedOnInputChange:m,debouncedQueryChange:h,deletePrevTag:v,deleteTag:g,deleteSelected:y,handleOptionSelect:A,scrollToOption:w,setSelected:F,resetInputHeight:E,managePlaceholder:$,showClose:T,selectDisabled:B,iconComponent:P,iconReverse:H,showNewOption:I,emptyText:j,toggleLastOptionHitState:Z,resetInputState:G,handleComposition:N,onOptionCreate:Y,onOptionDestroy:ge,handleMenuEnter:fe,handleFocus:Ee,blur:ne,handleBlur:ee,handleClearClick:xe,handleClose:$e,handleKeydownEscape:x,toggleMenu:W,selectOption:we,getValueKey:Ae,navigateOptions:ke,dropMenuVisible:ve,reference:ze,input:Ke,tooltipRef:se,tags:le,selectWrapper:L,scrollbar:S,queryChange:V,groupQueryChange:O}=Ioe(e,a,t),{focus:te}=CX(ze),{inputWidth:_e,selected:pe,inputLength:Ce,filteredOptionsCount:be,visible:re,softFocus:me,selectedLabel:Re,hoverIndex:Q,query:Pe,inputHovering:Ge,currentPlaceholder:Xe,menuVisibleOnFocus:he,isOnComposition:Ie,isSilentBlur:K,options:ue,cachedOptions:q,optionsCount:k,prefixWidth:Me,tagInMultiLine:X}=On(a),de=R(()=>{const Dt=[n.b()],Ln=_(u);return Ln&&Dt.push(n.m(Ln)),e.disabled&&Dt.push(n.m("disabled")),Dt}),Fe=R(()=>({maxWidth:`${_(_e)-32}px`,width:"100%"})),At=R(()=>({maxWidth:`${_(_e)>123?_(_e)-123:_(_e)-75}px`}));$t(Wu,It({props:e,options:ue,optionsArray:r,cachedOptions:q,optionsCount:k,filteredOptionsCount:be,hoverIndex:Q,handleOptionSelect:A,onOptionCreate:Y,onOptionDestroy:ge,selectWrapper:L,selected:pe,setSelected:F,queryChange:V,groupQueryChange:O})),at(()=>{a.cachedPlaceHolder=Xe.value=e.placeholder||l("el.select.placeholder"),e.multiple&&Array.isArray(e.modelValue)&&e.modelValue.length>0&&(Xe.value=""),ro(L,i),e.remote&&e.multiple&&E(),rt(()=>{const Dt=ze.value&&ze.value.$el;if(!!Dt&&(_e.value=Dt.getBoundingClientRect().width,t.slots.prefix)){const Ln=Dt.querySelector(`.${o.e("prefix")}`);Me.value=Math.max(Ln.getBoundingClientRect().width+5,30)}}),F()}),e.multiple&&!Array.isArray(e.modelValue)&&t.emit(Ct,[]),!e.multiple&&Array.isArray(e.modelValue)&&t.emit(Ct,"");const De=R(()=>{var Dt,Ln;return(Ln=(Dt=se.value)==null?void 0:Dt.popperRef)==null?void 0:Ln.contentRef});return{tagInMultiLine:X,prefixWidth:Me,selectSize:u,readonly:s,handleResize:i,collapseTagSize:c,debouncedOnInputChange:m,debouncedQueryChange:h,deletePrevTag:v,deleteTag:g,deleteSelected:y,handleOptionSelect:A,scrollToOption:w,inputWidth:_e,selected:pe,inputLength:Ce,filteredOptionsCount:be,visible:re,softFocus:me,selectedLabel:Re,hoverIndex:Q,query:Pe,inputHovering:Ge,currentPlaceholder:Xe,menuVisibleOnFocus:he,isOnComposition:Ie,isSilentBlur:K,options:ue,resetInputHeight:E,managePlaceholder:$,showClose:T,selectDisabled:B,iconComponent:P,iconReverse:H,showNewOption:I,emptyText:j,toggleLastOptionHitState:Z,resetInputState:G,handleComposition:N,handleMenuEnter:fe,handleFocus:Ee,blur:ne,handleBlur:ee,handleClearClick:xe,handleClose:$e,handleKeydownEscape:x,toggleMenu:W,selectOption:we,getValueKey:Ae,navigateOptions:ke,dropMenuVisible:ve,focus:te,reference:ze,input:Ke,tooltipRef:se,popperPaneRef:De,tags:le,selectWrapper:L,scrollbar:S,wrapperKls:de,selectTagsStyle:Fe,nsSelect:n,tagTextStyle:At}}}),Noe=["disabled","autocomplete"],Ooe={style:{height:"100%",display:"flex","justify-content":"center","align-items":"center"}};function Uoe(e,t,n,o,l,a){const r=Qe("el-tag"),u=Qe("el-tooltip"),s=Qe("el-icon"),i=Qe("el-input"),c=Qe("el-option"),m=Qe("el-scrollbar"),h=Qe("el-select-menu"),v=Mi("click-outside");return ye((b(),C("div",{ref:"selectWrapper",class:U(e.wrapperKls),onClick:t[22]||(t[22]=ht((...g)=>e.toggleMenu&&e.toggleMenu(...g),["stop"]))},[d(u,{ref:"tooltipRef",visible:e.dropMenuVisible,placement:e.placement,teleported:e.teleported,"popper-class":[e.nsSelect.e("popper"),e.popperClass],"fallback-placements":["bottom-start","top-start","right","left"],effect:e.effect,pure:"",trigger:"click",transition:`${e.nsSelect.namespace.value}-zoom-in-top`,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:e.persistent,onShow:e.handleMenuEnter},{default:p(()=>[f("div",{class:"select-trigger",onMouseenter:t[20]||(t[20]=g=>e.inputHovering=!0),onMouseleave:t[21]||(t[21]=g=>e.inputHovering=!1)},[e.multiple?(b(),C("div",{key:0,ref:"tags",class:U(e.nsSelect.e("tags")),style:nt(e.selectTagsStyle)},[e.collapseTags&&e.selected.length?(b(),C("span",{key:0,class:U([e.nsSelect.b("tags-wrapper"),{"has-prefix":e.prefixWidth&&e.selected.length}])},[d(r,{closable:!e.selectDisabled&&!e.selected[0].isDisabled,size:e.collapseTagSize,hit:e.selected[0].hitState,type:e.tagType,"disable-transitions":"",onClose:t[0]||(t[0]=g=>e.deleteTag(g,e.selected[0]))},{default:p(()=>[f("span",{class:U(e.nsSelect.e("tags-text")),style:nt(e.tagTextStyle)},ce(e.selected[0].currentLabel),7)]),_:1},8,["closable","size","hit","type"]),e.selected.length>1?(b(),ae(r,{key:0,closable:!1,size:e.collapseTagSize,type:e.tagType,"disable-transitions":""},{default:p(()=>[e.collapseTagsTooltip?(b(),ae(u,{key:0,disabled:e.dropMenuVisible,"fallback-placements":["bottom","top","right","left"],effect:e.effect,placement:"bottom",teleported:e.teleported},{default:p(()=>[f("span",{class:U(e.nsSelect.e("tags-text"))},"+ "+ce(e.selected.length-1),3)]),content:p(()=>[f("div",{class:U(e.nsSelect.e("collapse-tags"))},[(b(!0),C(We,null,pt(e.selected.slice(1),(g,y)=>(b(),C("div",{key:y,class:U(e.nsSelect.e("collapse-tag"))},[(b(),ae(r,{key:e.getValueKey(g),class:"in-tooltip",closable:!e.selectDisabled&&!g.isDisabled,size:e.collapseTagSize,hit:g.hitState,type:e.tagType,"disable-transitions":"",style:{margin:"2px"},onClose:A=>e.deleteTag(A,g)},{default:p(()=>[f("span",{class:U(e.nsSelect.e("tags-text")),style:nt({maxWidth:e.inputWidth-75+"px"})},ce(g.currentLabel),7)]),_:2},1032,["closable","size","hit","type","onClose"]))],2))),128))],2)]),_:1},8,["disabled","effect","teleported"])):(b(),C("span",{key:1,class:U(e.nsSelect.e("tags-text"))},"+ "+ce(e.selected.length-1),3))]),_:1},8,["size","type"])):oe("v-if",!0)],2)):oe("v-if",!0),oe("
"),e.collapseTags?oe("v-if",!0):(b(),ae(Zt,{key:1,onAfterLeave:e.resetInputHeight},{default:p(()=>[f("span",{class:U([e.nsSelect.b("tags-wrapper"),{"has-prefix":e.prefixWidth&&e.selected.length}])},[(b(!0),C(We,null,pt(e.selected,g=>(b(),ae(r,{key:e.getValueKey(g),closable:!e.selectDisabled&&!g.isDisabled,size:e.collapseTagSize,hit:g.hitState,type:e.tagType,"disable-transitions":"",onClose:y=>e.deleteTag(y,g)},{default:p(()=>[f("span",{class:U(e.nsSelect.e("tags-text")),style:nt({maxWidth:e.inputWidth-75+"px"})},ce(g.currentLabel),7)]),_:2},1032,["closable","size","hit","type","onClose"]))),128))],2)]),_:1},8,["onAfterLeave"])),oe("
"),e.filterable?ye((b(),C("input",{key:2,ref:"input","onUpdate:modelValue":t[1]||(t[1]=g=>e.query=g),type:"text",class:U([e.nsSelect.e("input"),e.nsSelect.is(e.selectSize)]),disabled:e.selectDisabled,autocomplete:e.autocomplete,style:nt({marginLeft:e.prefixWidth&&!e.selected.length||e.tagInMultiLine?`${e.prefixWidth}px`:"",flexGrow:1,width:`${e.inputLength/(e.inputWidth-32)}%`,maxWidth:`${e.inputWidth-42}px`}),onFocus:t[2]||(t[2]=(...g)=>e.handleFocus&&e.handleFocus(...g)),onBlur:t[3]||(t[3]=(...g)=>e.handleBlur&&e.handleBlur(...g)),onKeyup:t[4]||(t[4]=(...g)=>e.managePlaceholder&&e.managePlaceholder(...g)),onKeydown:[t[5]||(t[5]=(...g)=>e.resetInputState&&e.resetInputState(...g)),t[6]||(t[6]=Bt(ht(g=>e.navigateOptions("next"),["prevent"]),["down"])),t[7]||(t[7]=Bt(ht(g=>e.navigateOptions("prev"),["prevent"]),["up"])),t[8]||(t[8]=Bt((...g)=>e.handleKeydownEscape&&e.handleKeydownEscape(...g),["esc"])),t[9]||(t[9]=Bt(ht((...g)=>e.selectOption&&e.selectOption(...g),["stop","prevent"]),["enter"])),t[10]||(t[10]=Bt((...g)=>e.deletePrevTag&&e.deletePrevTag(...g),["delete"])),t[11]||(t[11]=Bt(g=>e.visible=!1,["tab"]))],onCompositionstart:t[12]||(t[12]=(...g)=>e.handleComposition&&e.handleComposition(...g)),onCompositionupdate:t[13]||(t[13]=(...g)=>e.handleComposition&&e.handleComposition(...g)),onCompositionend:t[14]||(t[14]=(...g)=>e.handleComposition&&e.handleComposition(...g)),onInput:t[15]||(t[15]=(...g)=>e.debouncedQueryChange&&e.debouncedQueryChange(...g))},null,46,Noe)),[[m8,e.query]]):oe("v-if",!0)],6)):oe("v-if",!0),d(i,{id:e.id,ref:"reference",modelValue:e.selectedLabel,"onUpdate:modelValue":t[16]||(t[16]=g=>e.selectedLabel=g),type:"text",placeholder:e.currentPlaceholder,name:e.name,autocomplete:e.autocomplete,size:e.selectSize,disabled:e.selectDisabled,readonly:e.readonly,"validate-event":!1,class:U([e.nsSelect.is("focus",e.visible)]),tabindex:e.multiple&&e.filterable?-1:void 0,onFocus:e.handleFocus,onBlur:e.handleBlur,onInput:e.debouncedOnInputChange,onPaste:e.debouncedOnInputChange,onCompositionstart:e.handleComposition,onCompositionupdate:e.handleComposition,onCompositionend:e.handleComposition,onKeydown:[t[17]||(t[17]=Bt(ht(g=>e.navigateOptions("next"),["stop","prevent"]),["down"])),t[18]||(t[18]=Bt(ht(g=>e.navigateOptions("prev"),["stop","prevent"]),["up"])),Bt(ht(e.selectOption,["stop","prevent"]),["enter"]),Bt(e.handleKeydownEscape,["esc"]),t[19]||(t[19]=Bt(g=>e.visible=!1,["tab"]))]},jl({suffix:p(()=>[e.iconComponent&&!e.showClose?(b(),ae(s,{key:0,class:U([e.nsSelect.e("caret"),e.nsSelect.e("icon"),e.iconReverse])},{default:p(()=>[(b(),ae(yt(e.iconComponent)))]),_:1},8,["class"])):oe("v-if",!0),e.showClose&&e.clearIcon?(b(),ae(s,{key:1,class:U([e.nsSelect.e("caret"),e.nsSelect.e("icon")]),onClick:e.handleClearClick},{default:p(()=>[(b(),ae(yt(e.clearIcon)))]),_:1},8,["class","onClick"])):oe("v-if",!0)]),_:2},[e.$slots.prefix?{name:"prefix",fn:p(()=>[f("div",Ooe,[Te(e.$slots,"prefix")])])}:void 0]),1032,["id","modelValue","placeholder","name","autocomplete","size","disabled","readonly","class","tabindex","onFocus","onBlur","onInput","onPaste","onCompositionstart","onCompositionupdate","onCompositionend","onKeydown"])],32)]),content:p(()=>[d(h,null,{default:p(()=>[ye(d(m,{ref:"scrollbar",tag:"ul","wrap-class":e.nsSelect.be("dropdown","wrap"),"view-class":e.nsSelect.be("dropdown","list"),class:U([e.nsSelect.is("empty",!e.allowCreate&&Boolean(e.query)&&e.filteredOptionsCount===0)])},{default:p(()=>[e.showNewOption?(b(),ae(c,{key:0,value:e.query,created:!0},null,8,["value"])):oe("v-if",!0),Te(e.$slots,"default")]),_:3},8,["wrap-class","view-class","class"]),[[Be,e.options.size>0&&!e.loading]]),e.emptyText&&(!e.allowCreate||e.loading||e.allowCreate&&e.options.size===0)?(b(),C(We,{key:0},[e.$slots.empty?Te(e.$slots,"empty",{key:0}):(b(),C("p",{key:1,class:U(e.nsSelect.be("dropdown","empty"))},ce(e.emptyText),3))],64)):oe("v-if",!0)]),_:3})]),_:3},8,["visible","placement","teleported","popper-class","effect","transition","persistent","onShow"])],2)),[[v,e.handleClose,e.popperPaneRef]])}var Woe=je(Roe,[["render",Uoe],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/select.vue"]]);const qoe=Le({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:{type:Boolean,default:!1}},setup(e){const t=He("select"),n=z(!0),o=ft(),l=z([]);$t(J4,It({...On(e)}));const a=Ze(Wu);at(()=>{l.value=r(o.subTree)});const r=s=>{const i=[];return Array.isArray(s.children)&&s.children.forEach(c=>{var m;c.type&&c.type.name==="ElOption"&&c.component&&c.component.proxy?i.push(c.component.proxy):(m=c.children)!=null&&m.length&&i.push(...r(c))}),i},{groupQueryChange:u}=it(a);return Ve(u,()=>{n.value=l.value.some(s=>s.visible===!0)},{flush:"post"}),{visible:n,ns:t}}});function joe(e,t,n,o,l,a){return ye((b(),C("ul",{class:U(e.ns.be("group","wrap"))},[f("li",{class:U(e.ns.be("group","title"))},ce(e.label),3),f("li",null,[f("ul",{class:U(e.ns.b("group"))},[Te(e.$slots,"default")],2)])],2)),[[Be,e.visible]])}var Q4=je(qoe,[["render",joe],["__file","/home/runner/work/element-plus/element-plus/packages/components/select/src/option-group.vue"]]);const qu=Et(Woe,{Option:E2,OptionGroup:Q4}),ju=Nt(E2);Nt(Q4);const A2=()=>Ze(Tf,{}),Koe=et({pageSize:{type:Number,required:!0},pageSizes:{type:Ue(Array),default:()=>Fo([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,size:{type:String,default:"default"}}),Goe={name:"ElPaginationSizes"},Yoe=Le({...Goe,props:Koe,emits:["page-size-change"],setup(e,{emit:t}){const n=e,{t:o}=bn(),l=He("pagination"),a=A2(),r=z(n.pageSize);Ve(()=>n.pageSizes,(i,c)=>{if(!Us(i,c)&&Array.isArray(i)){const m=i.includes(n.pageSize)?n.pageSize:n.pageSizes[0];t("page-size-change",m)}}),Ve(()=>n.pageSize,i=>{r.value=i});const u=R(()=>n.pageSizes);function s(i){var c;i!==r.value&&(r.value=i,(c=a.handleSizeChange)==null||c.call(a,Number(i)))}return(i,c)=>(b(),C("span",{class:U(_(l).e("sizes"))},[d(_(qu),{"model-value":r.value,disabled:i.disabled,"popper-class":i.popperClass,size:i.size,"validate-event":!1,onChange:s},{default:p(()=>[(b(!0),C(We,null,pt(_(u),m=>(b(),ae(_(ju),{key:m,value:m,label:m+_(o)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size"])],2))}});var Xoe=je(Yoe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/sizes.vue"]]);const Joe=["disabled"],Qoe={name:"ElPaginationJumper"},Zoe=Le({...Qoe,setup(e){const{t}=bn(),n=He("pagination"),{pageCount:o,disabled:l,currentPage:a,changeEvent:r}=A2(),u=z(),s=R(()=>{var m;return(m=u.value)!=null?m:a==null?void 0:a.value});function i(m){u.value=+m}function c(m){m=Math.trunc(+m),r==null||r(+m),u.value=void 0}return(m,h)=>(b(),C("span",{class:U(_(n).e("jump")),disabled:_(l)},[D(ce(_(t)("el.pagination.goto"))+" ",1),d(_(yn),{size:"small",class:U([_(n).e("editor"),_(n).is("in-pagination")]),min:1,max:_(o),disabled:_(l),"model-value":_(s),"validate-event":!1,type:"number","onUpdate:modelValue":i,onChange:c},null,8,["class","max","disabled","model-value"]),D(" "+ce(_(t)("el.pagination.pageClassifier")),1)],10,Joe))}});var ele=je(Zoe,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/jumper.vue"]]);const tle=et({total:{type:Number,default:1e3}}),nle=["disabled"],ole={name:"ElPaginationTotal"},lle=Le({...ole,props:tle,setup(e){const{t}=bn(),n=He("pagination"),{disabled:o}=A2();return(l,a)=>(b(),C("span",{class:U(_(n).e("total")),disabled:_(o)},ce(_(t)("el.pagination.total",{total:l.total})),11,nle))}});var ale=je(lle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/total.vue"]]);const rle=et({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),ule=["onKeyup"],sle=["aria-current","tabindex"],ile=["tabindex"],cle=["aria-current","tabindex"],dle=["tabindex"],fle=["aria-current","tabindex"],ple={name:"ElPaginationPager"},vle=Le({...ple,props:rle,emits:["change"],setup(e,{emit:t}){const n=e,o=He("pager"),l=He("icon"),a=z(!1),r=z(!1),u=z(!1),s=z(!1),i=z(!1),c=z(!1),m=R(()=>{const w=n.pagerCount,F=(w-1)/2,E=Number(n.currentPage),$=Number(n.pageCount);let T=!1,B=!1;$>w&&(E>w-F&&(T=!0),E<$-F&&(B=!0));const P=[];if(T&&!B){const H=$-(w-2);for(let I=H;I<$;I++)P.push(I)}else if(!T&&B)for(let H=2;Hn.disabled?-1:0);yo(()=>{const w=(n.pagerCount-1)/2;a.value=!1,r.value=!1,n.pageCount>n.pagerCount&&(n.currentPage>n.pagerCount-w&&(a.value=!0),n.currentPage$&&(E=$)),E!==T&&t("change",E)}return(w,F)=>(b(),C("ul",{class:U(_(o).b()),onClick:A,onKeyup:Bt(y,["enter"])},[w.pageCount>0?(b(),C("li",{key:0,class:U([[_(o).is("active",w.currentPage===1),_(o).is("disabled",w.disabled)],"number"]),"aria-current":w.currentPage===1,tabindex:_(h)}," 1 ",10,sle)):oe("v-if",!0),a.value?(b(),C("li",{key:1,class:U(["more","btn-quickprev",_(l).b(),_(o).is("disabled",w.disabled)]),tabindex:_(h),onMouseenter:F[0]||(F[0]=E=>v(!0)),onMouseleave:F[1]||(F[1]=E=>u.value=!1),onFocus:F[2]||(F[2]=E=>g(!0)),onBlur:F[3]||(F[3]=E=>i.value=!1)},[u.value||i.value?(b(),ae(_(_f),{key:0})):(b(),ae(_(js),{key:1}))],42,ile)):oe("v-if",!0),(b(!0),C(We,null,pt(_(m),E=>(b(),C("li",{key:E,class:U([[_(o).is("active",w.currentPage===E),_(o).is("disabled",w.disabled)],"number"]),"aria-current":w.currentPage===E,tabindex:_(h)},ce(E),11,cle))),128)),r.value?(b(),C("li",{key:2,class:U(["more","btn-quicknext",_(l).b(),_(o).is("disabled",w.disabled)]),tabindex:_(h),onMouseenter:F[4]||(F[4]=E=>v()),onMouseleave:F[5]||(F[5]=E=>s.value=!1),onFocus:F[6]||(F[6]=E=>g()),onBlur:F[7]||(F[7]=E=>c.value=!1)},[s.value||c.value?(b(),ae(_(mf),{key:0})):(b(),ae(_(js),{key:1}))],42,dle)):oe("v-if",!0),w.pageCount>1?(b(),C("li",{key:3,class:U([[_(o).is("active",w.currentPage===w.pageCount),_(o).is("disabled",w.disabled)],"number"]),"aria-current":w.currentPage===w.pageCount,tabindex:_(h)},ce(w.pageCount),11,fle)):oe("v-if",!0)],42,ule))}});var hle=je(vle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/pagination/src/components/pager.vue"]]);const Yt=e=>typeof e!="number",_le=et({total:Number,pageSize:Number,defaultPageSize:Number,currentPage:Number,defaultCurrentPage:Number,pageCount:Number,pagerCount:{type:Number,validator:e=>typeof e=="number"&&Math.trunc(e)===e&&e>4&&e<22&&e%2===1,default:7},layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:Ue(Array),default:()=>Fo([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:Lt,default:()=>hf},nextText:{type:String,default:""},nextIcon:{type:Lt,default:()=>pa},small:Boolean,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean}),mle={"update:current-page":e=>typeof e=="number","update:page-size":e=>typeof e=="number","size-change":e=>typeof e=="number","current-change":e=>typeof e=="number","prev-click":e=>typeof e=="number","next-click":e=>typeof e=="number"},Q0="ElPagination";var gle=Le({name:Q0,props:_le,emits:mle,setup(e,{emit:t,slots:n}){const{t:o}=bn(),l=He("pagination"),a=ft().vnode.props||{},r="onUpdate:currentPage"in a||"onUpdate:current-page"in a||"onCurrentChange"in a,u="onUpdate:pageSize"in a||"onUpdate:page-size"in a||"onSizeChange"in a,s=R(()=>{if(Yt(e.total)&&Yt(e.pageCount)||!Yt(e.currentPage)&&!r)return!1;if(e.layout.includes("sizes")){if(Yt(e.pageCount)){if(!Yt(e.total)&&!Yt(e.pageSize)&&!u)return!1}else if(!u)return!1}return!0}),i=z(Yt(e.defaultPageSize)?10:e.defaultPageSize),c=z(Yt(e.defaultCurrentPage)?1:e.defaultCurrentPage),m=R({get(){return Yt(e.pageSize)?i.value:e.pageSize},set(E){Yt(e.pageSize)&&(i.value=E),u&&(t("update:page-size",E),t("size-change",E))}}),h=R(()=>{let E=0;return Yt(e.pageCount)?Yt(e.total)||(E=Math.max(1,Math.ceil(e.total/m.value))):E=e.pageCount,E}),v=R({get(){return Yt(e.currentPage)?c.value:e.currentPage},set(E){let $=E;E<1?$=1:E>h.value&&($=h.value),Yt(e.currentPage)&&(c.value=$),r&&(t("update:current-page",$),t("current-change",$))}});Ve(h,E=>{v.value>E&&(v.value=E)});function g(E){v.value=E}function y(E){m.value=E;const $=h.value;v.value>$&&(v.value=$)}function A(){e.disabled||(v.value-=1,t("prev-click",v.value))}function w(){e.disabled||(v.value+=1,t("next-click",v.value))}function F(E,$){E&&(E.props||(E.props={}),E.props.class=[E.props.class,$].join(" "))}return $t(Tf,{pageCount:h,disabled:R(()=>e.disabled),currentPage:v,changeEvent:g,handleSizeChange:y}),()=>{var E,$;if(!s.value)return o("el.pagination.deprecationWarning"),null;if(!e.layout||e.hideOnSinglePage&&h.value<=1)return null;const T=[],B=[],P=Ne("div",{class:l.e("rightwrapper")},B),H={prev:Ne(Foe,{disabled:e.disabled,currentPage:v.value,prevText:e.prevText,prevIcon:e.prevIcon,onClick:A}),jumper:Ne(ele),pager:Ne(hle,{currentPage:v.value,pageCount:h.value,pagerCount:e.pagerCount,onChange:g,disabled:e.disabled}),next:Ne(koe,{disabled:e.disabled,currentPage:v.value,pageCount:h.value,nextText:e.nextText,nextIcon:e.nextIcon,onClick:w}),sizes:Ne(Xoe,{pageSize:m.value,pageSizes:e.pageSizes,popperClass:e.popperClass,disabled:e.disabled,size:e.small?"small":"default"}),slot:($=(E=n==null?void 0:n.default)==null?void 0:E.call(n))!=null?$:null,total:Ne(ale,{total:Yt(e.total)?0:e.total})},I=e.layout.split(",").map(Z=>Z.trim());let j=!1;return I.forEach(Z=>{if(Z==="->"){j=!0;return}j?B.push(H[Z]):T.push(H[Z])}),F(T[0],l.is("first")),F(T[T.length-1],l.is("last")),j&&B.length>0&&(F(B[0],l.is("first")),F(B[B.length-1],l.is("last")),T.push(P)),Ne("div",{role:"pagination","aria-label":"pagination",class:[l.b(),l.is("background",e.background),{[l.m("small")]:e.small}]},T)}}});const Z4=Et(gle),ble=et({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:e=>e>=0&&e<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:{type:Boolean,default:!1},duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:Ue(String),default:"round"},textInside:{type:Boolean,default:!1},width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:Ue([String,Array,Function]),default:""},format:{type:Ue(Function),default:e=>`${e}%`}}),yle=["aria-valuenow"],wle={viewBox:"0 0 100 100"},Cle=["d","stroke","stroke-width"],Ele=["d","stroke","opacity","stroke-linecap","stroke-width"],Ale={key:0},Fle={name:"ElProgress"},xle=Le({...Fle,props:ble,setup(e){const t=e,n={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},o=He("progress"),l=R(()=>({width:`${t.percentage}%`,animationDuration:`${t.duration}s`,backgroundColor:F(t.percentage)})),a=R(()=>(t.strokeWidth/t.width*100).toFixed(1)),r=R(()=>["circle","dashboard"].includes(t.type)?Number.parseInt(`${50-Number.parseFloat(a.value)/2}`,10):0),u=R(()=>{const E=r.value,$=t.type==="dashboard";return` M 50 50 m 0 ${$?"":"-"}${E} a ${E} ${E} 0 1 1 0 ${$?"-":""}${E*2} a ${E} ${E} 0 1 1 0 ${$?"":"-"}${E*2} `}),s=R(()=>2*Math.PI*r.value),i=R(()=>t.type==="dashboard"?.75:1),c=R(()=>`${-1*s.value*(1-i.value)/2}px`),m=R(()=>({strokeDasharray:`${s.value*i.value}px, ${s.value}px`,strokeDashoffset:c.value})),h=R(()=>({strokeDasharray:`${s.value*i.value*(t.percentage/100)}px, ${s.value}px`,strokeDashoffset:c.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),v=R(()=>{let E;return t.color?E=F(t.percentage):E=n[t.status]||n.default,E}),g=R(()=>t.status==="warning"?Vu:t.type==="line"?t.status==="success"?Mu:ir:t.status==="success"?Zi:Cl),y=R(()=>t.type==="line"?12+t.strokeWidth*.4:t.width*.111111+2),A=R(()=>t.format(t.percentage));function w(E){const $=100/E.length;return E.map((B,P)=>tt(B)?{color:B,percentage:(P+1)*$}:B).sort((B,P)=>B.percentage-P.percentage)}const F=E=>{var $;const{color:T}=t;if(Je(T))return T(E);if(tt(T))return T;{const B=w(T);for(const P of B)if(P.percentage>E)return P.color;return($=B[B.length-1])==null?void 0:$.color}};return(E,$)=>(b(),C("div",{class:U([_(o).b(),_(o).m(E.type),_(o).is(E.status),{[_(o).m("without-text")]:!E.showText,[_(o).m("text-inside")]:E.textInside}]),role:"progressbar","aria-valuenow":E.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[E.type==="line"?(b(),C("div",{key:0,class:U(_(o).b("bar"))},[f("div",{class:U(_(o).be("bar","outer")),style:nt({height:`${E.strokeWidth}px`})},[f("div",{class:U([_(o).be("bar","inner"),{[_(o).bem("bar","inner","indeterminate")]:E.indeterminate}]),style:nt(_(l))},[(E.showText||E.$slots.default)&&E.textInside?(b(),C("div",{key:0,class:U(_(o).be("bar","innerText"))},[Te(E.$slots,"default",{percentage:E.percentage},()=>[f("span",null,ce(_(A)),1)])],2)):oe("v-if",!0)],6)],6)],2)):(b(),C("div",{key:1,class:U(_(o).b("circle")),style:nt({height:`${E.width}px`,width:`${E.width}px`})},[(b(),C("svg",wle,[f("path",{class:U(_(o).be("circle","track")),d:_(u),stroke:`var(${_(o).cssVarName("fill-color-light")}, #e5e9f2)`,"stroke-width":_(a),fill:"none",style:nt(_(m))},null,14,Cle),f("path",{class:U(_(o).be("circle","path")),d:_(u),stroke:_(v),fill:"none",opacity:E.percentage?1:0,"stroke-linecap":E.strokeLinecap,"stroke-width":_(a),style:nt(_(h))},null,14,Ele)]))],6)),(E.showText||E.$slots.default)&&!E.textInside?(b(),C("div",{key:2,class:U(_(o).e("text")),style:nt({fontSize:`${_(y)}px`})},[Te(E.$slots,"default",{percentage:E.percentage},()=>[E.status?(b(),ae(_(ut),{key:1},{default:p(()=>[(b(),ae(yt(_(g))))]),_:1})):(b(),C("span",Ale,ce(_(A)),1))])],6)):oe("v-if",!0)],10,yle))}});var $le=je(xle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/progress/src/progress.vue"]]);const Dle=Et($le),Ble=et({modelValue:{type:[Boolean,String,Number],default:!1},value:{type:[Boolean,String,Number],default:!1},disabled:{type:Boolean,default:!1},width:{type:[String,Number],default:""},inlinePrompt:{type:Boolean,default:!1},activeIcon:{type:Lt},inactiveIcon:{type:Lt},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeColor:{type:String,default:""},inactiveColor:{type:String,default:""},borderColor:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},id:String,loading:{type:Boolean,default:!1},beforeChange:{type:Ue(Function)},size:{type:String,validator:o2},tabindex:{type:[String,Number]}}),Sle={[Ct]:e=>Gt(e)||tt(e)||mt(e),[uo]:e=>Gt(e)||tt(e)||mt(e),[du]:e=>Gt(e)||tt(e)||mt(e)},kle=["onClick"],Ple=["id","aria-checked","aria-disabled","name","true-value","false-value","disabled","tabindex","onKeydown"],Lle=["aria-hidden"],zle=["aria-hidden"],Tle=["aria-hidden"],Mle=["aria-hidden"],Vle={name:"ElSwitch"},Hle=Le({...Vle,props:Ble,emits:Sle,setup(e,{expose:t,emit:n}){const o=e,l="ElSwitch",a=ft(),{formItem:r}=Sl(),u=Qt(),s=He("switch");pu({from:'"value"',replacement:'"model-value" or "v-model"',scope:l,version:"2.3.0",ref:"https://element-plus.org/en-US/component/switch.html#attributes",type:"Attribute"},R(()=>{var B;return!!((B=a.vnode.props)!=null&&B.value)}));const{inputId:i}=fr(o,{formItemContext:r}),c=Bl(R(()=>o.loading)),m=z(o.modelValue!==!1),h=z(),v=z(),g=R(()=>[s.b(),s.m(u.value),s.is("disabled",c.value),s.is("checked",w.value)]),y=R(()=>({width:Nn(o.width)}));Ve(()=>o.modelValue,()=>{m.value=!0}),Ve(()=>o.value,()=>{m.value=!1});const A=R(()=>m.value?o.modelValue:o.value),w=R(()=>A.value===o.activeValue);[o.activeValue,o.inactiveValue].includes(A.value)||(n(Ct,o.inactiveValue),n(uo,o.inactiveValue),n(du,o.inactiveValue)),Ve(w,B=>{var P;h.value.checked=B,o.validateEvent&&((P=r==null?void 0:r.validate)==null||P.call(r,"change").catch(H=>void 0))});const F=()=>{const B=w.value?o.inactiveValue:o.activeValue;n(Ct,B),n(uo,B),n(du,B),rt(()=>{h.value.checked=w.value})},E=()=>{if(c.value)return;const{beforeChange:B}=o;if(!B){F();return}const P=B();[Zr(P),Gt(P)].includes(!0)||gn(l,"beforeChange must return type `Promise` or `boolean`"),Zr(P)?P.then(I=>{I&&F()}).catch(I=>{}):P&&F()},$=R(()=>s.cssVarBlock({...o.activeColor?{"on-color":o.activeColor}:null,...o.inactiveColor?{"off-color":o.inactiveColor}:null,...o.borderColor?{"border-color":o.borderColor}:null})),T=()=>{var B,P;(P=(B=h.value)==null?void 0:B.focus)==null||P.call(B)};return at(()=>{h.value.checked=w.value}),t({focus:T,checked:w}),(B,P)=>(b(),C("div",{class:U(_(g)),style:nt(_($)),onClick:ht(E,["prevent"])},[f("input",{id:_(i),ref_key:"input",ref:h,class:U(_(s).e("input")),type:"checkbox",role:"switch","aria-checked":_(w),"aria-disabled":_(c),name:B.name,"true-value":B.activeValue,"false-value":B.inactiveValue,disabled:_(c),tabindex:B.tabindex,onChange:F,onKeydown:Bt(E,["enter"])},null,42,Ple),!B.inlinePrompt&&(B.inactiveIcon||B.inactiveText)?(b(),C("span",{key:0,class:U([_(s).e("label"),_(s).em("label","left"),_(s).is("active",!_(w))])},[B.inactiveIcon?(b(),ae(_(ut),{key:0},{default:p(()=>[(b(),ae(yt(B.inactiveIcon)))]),_:1})):oe("v-if",!0),!B.inactiveIcon&&B.inactiveText?(b(),C("span",{key:1,"aria-hidden":_(w)},ce(B.inactiveText),9,Lle)):oe("v-if",!0)],2)):oe("v-if",!0),f("span",{ref_key:"core",ref:v,class:U(_(s).e("core")),style:nt(_(y))},[B.inlinePrompt?(b(),C("div",{key:0,class:U(_(s).e("inner"))},[B.activeIcon||B.inactiveIcon?(b(),C(We,{key:0},[B.activeIcon?(b(),ae(_(ut),{key:0,class:U([_(s).is("icon"),_(w)?_(s).is("show"):_(s).is("hide")])},{default:p(()=>[(b(),ae(yt(B.activeIcon)))]),_:1},8,["class"])):oe("v-if",!0),B.inactiveIcon?(b(),ae(_(ut),{key:1,class:U([_(s).is("icon"),_(w)?_(s).is("hide"):_(s).is("show")])},{default:p(()=>[(b(),ae(yt(B.inactiveIcon)))]),_:1},8,["class"])):oe("v-if",!0)],64)):B.activeText||B.inactiveIcon?(b(),C(We,{key:1},[B.activeText?(b(),C("span",{key:0,class:U([_(s).is("text"),_(w)?_(s).is("show"):_(s).is("hide")]),"aria-hidden":!_(w)},ce(B.activeText.substring(0,3)),11,zle)):oe("v-if",!0),B.inactiveText?(b(),C("span",{key:1,class:U([_(s).is("text"),_(w)?_(s).is("hide"):_(s).is("show")]),"aria-hidden":_(w)},ce(B.inactiveText.substring(0,3)),11,Tle)):oe("v-if",!0)],64)):oe("v-if",!0)],2)):oe("v-if",!0),f("div",{class:U(_(s).e("action"))},[B.loading?(b(),ae(_(ut),{key:0,class:U(_(s).is("loading"))},{default:p(()=>[d(_(cr))]),_:1},8,["class"])):oe("v-if",!0)],2)],6),!B.inlinePrompt&&(B.activeIcon||B.activeText)?(b(),C("span",{key:1,class:U([_(s).e("label"),_(s).em("label","right"),_(s).is("active",_(w))])},[B.activeIcon?(b(),ae(_(ut),{key:0},{default:p(()=>[(b(),ae(yt(B.activeIcon)))]),_:1})):oe("v-if",!0),!B.activeIcon&&B.activeText?(b(),C("span",{key:1,"aria-hidden":!_(w)},ce(B.activeText),9,Mle)):oe("v-if",!0)],2)):oe("v-if",!0)],14,kle))}});var Ile=je(Hle,[["__file","/home/runner/work/element-plus/element-plus/packages/components/switch/src/switch.vue"]]);const ga=Et(Ile);/*! * escape-html * Copyright(c) 2012-2013 TJ Holowaychuk * Copyright(c) 2015 Andreas Lubbe * Copyright(c) 2015 Tiancheng "Timothy" Gu * MIT Licensed */var Rle=/["'&<>]/,Nle=Ole;function Ole(e){var t=""+e,n=Rle.exec(t);if(!n)return t;var o,l="",a=0,r=0;for(a=n.index;atypeof i=="string"?Jt(u,i):i(u,s,e))):(t!=="$key"&&Z0(u)&&"$value"in u&&(u=u.$value),[Z0(u)?Jt(u,t):u])},r=function(u,s){if(o)return o(u.value,s.value);for(let i=0,c=u.key.length;is.key[i])return 1}return 0};return e.map((u,s)=>({value:u,index:s,key:a?a(u,s):null})).sort((u,s)=>{let i=r(u,s);return i||(i=u.index-s.index),i*+n}).map(u=>u.value)},e6=function(e,t){let n=null;return e.columns.forEach(o=>{o.id===t&&(n=o)}),n},Wle=function(e,t){let n=null;for(let o=0;o{if(!e)throw new Error("Row is required when get row identity");if(typeof t=="string"){if(!t.includes("."))return`${e[t]}`;const n=t.split(".");let o=e;for(const l of n)o=o[l];return`${o}`}else if(typeof t=="function")return t.call(null,e)},_l=function(e,t){const n={};return(e||[]).forEach((o,l)=>{n[Ot(o,t)]={row:o,index:l}}),n};function qle(e,t){const n={};let o;for(o in e)n[o]=e[o];for(o in t)if(st(t,o)){const l=t[o];typeof l!="undefined"&&(n[o]=l)}return n}function F2(e){return e===""||e!==void 0&&(e=Number.parseInt(e,10),Number.isNaN(e)&&(e="")),e}function t6(e){return e===""||e!==void 0&&(e=F2(e),Number.isNaN(e)&&(e=80)),e}function jle(e){return typeof e=="number"?e:typeof e=="string"?/^\d+(?:px)?$/.test(e)?Number.parseInt(e,10):e:null}function Kle(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,n)=>(...o)=>t(n(...o)))}function Yr(e,t,n){let o=!1;const l=e.indexOf(t),a=l!==-1,r=()=>{e.push(t),o=!0},u=()=>{e.splice(l,1),o=!0};return typeof n=="boolean"?n&&!a?r():!n&&a&&u():a?u():r(),o}function Gle(e,t,n="children",o="hasChildren"){const l=r=>!(Array.isArray(r)&&r.length);function a(r,u,s){t(r,u,s),u.forEach(i=>{if(i[o]){t(i,null,s+1);return}const c=i[n];l(c)||a(i,c,s+1)})}e.forEach(r=>{if(r[o]){t(r,null,0);return}const u=r[n];l(u)||a(r,u,0)})}let vo;function Yle(e,t,n,o,l){const{nextZIndex:a}=kl(),r=e==null?void 0:e.dataset.prefix,u=e==null?void 0:e.querySelector(`.${r}-scrollbar__wrap`);function s(){const g=l==="light",y=document.createElement("div");return y.className=`${r}-popper ${g?"is-light":"is-dark"}`,n=Nle(n),y.innerHTML=n,y.style.zIndex=String(a()),e==null||e.appendChild(y),y}function i(){const g=document.createElement("div");return g.className=`${r}-popper__arrow`,g}function c(){m&&m.update()}vo==null||vo(),vo=()=>{try{m&&m.destroy(),h&&(e==null||e.removeChild(h)),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseleave",vo),u==null||u.removeEventListener("scroll",vo),vo=void 0}catch{}};let m=null;const h=s(),v=i();return h.appendChild(v),m=u4(t,h,{strategy:"absolute",modifiers:[{name:"offset",options:{offset:[0,8]}},{name:"arrow",options:{element:v,padding:10}}],...o}),t.addEventListener("mouseenter",c),t.addEventListener("mouseleave",vo),u==null||u.addEventListener("scroll",vo),m}const n6=(e,t,n,o)=>{let l=0,a=e;if(o){if(o[e].colSpan>1)return{};for(let s=0;s=u.value.length-n.states.rightFixedLeafColumnsLength.value&&(r="right");break;default:a=u.value.length-n.states.rightFixedLeafColumnsLength.value&&(r="right")}return r?{direction:r,start:l,after:a}:{}},x2=(e,t,n,o,l)=>{const a=[],{direction:r,start:u}=n6(t,n,o,l);if(r){const s=r==="left";a.push(`${e}-fixed-column--${r}`),s&&u===o.states.fixedLeafColumnsLength.value-1?a.push("is-last-column"):!s&&u===o.states.columns.value.length-o.states.rightFixedLeafColumnsLength.value&&a.push("is-first-column")}return a};function td(e,t){return e+(t.realWidth===null||Number.isNaN(t.realWidth)?Number(t.width):t.realWidth)}const $2=(e,t,n,o)=>{const{direction:l,start:a=0}=n6(e,t,n,o);if(!l)return;const r={},u=l==="left",s=n.states.columns.value;return u?r.left=s.slice(0,e).reduce(td,0):r.right=s.slice(a+1).reverse().reduce(td,0),r},aa=(e,t)=>{!e||Number.isNaN(e[t])||(e[t]=`${e[t]}px`)};function Xle(e){const t=ft(),n=z(!1),o=z([]);return{updateExpandRows:()=>{const s=e.data.value||[],i=e.rowKey.value;if(n.value)o.value=s.slice();else if(i){const c=_l(o.value,i);o.value=s.reduce((m,h)=>{const v=Ot(h,i);return c[v]&&m.push(h),m},[])}else o.value=[]},toggleRowExpansion:(s,i)=>{Yr(o.value,s,i)&&t.emit("expand-change",s,o.value.slice())},setExpandRowKeys:s=>{t.store.assertRowKey();const i=e.data.value||[],c=e.rowKey.value,m=_l(i,c);o.value=s.reduce((h,v)=>{const g=m[v];return g&&h.push(g.row),h},[])},isRowExpanded:s=>{const i=e.rowKey.value;return i?!!_l(o.value,i)[Ot(s,i)]:o.value.includes(s)},states:{expandRows:o,defaultExpandAll:n}}}function Jle(e){const t=ft(),n=z(null),o=z(null),l=i=>{t.store.assertRowKey(),n.value=i,r(i)},a=()=>{n.value=null},r=i=>{const{data:c,rowKey:m}=e;let h=null;m.value&&(h=(_(c)||[]).find(v=>Ot(v,m.value)===i)),o.value=h,t.emit("current-change",o.value,null)};return{setCurrentRowKey:l,restoreCurrentRowKey:a,setCurrentRowByKey:r,updateCurrentRow:i=>{const c=o.value;if(i&&i!==c){o.value=i,t.emit("current-change",o.value,c);return}!i&&c&&(o.value=null,t.emit("current-change",null,c))},updateCurrentRowData:()=>{const i=e.rowKey.value,c=e.data.value||[],m=o.value;if(!c.includes(m)&&m){if(i){const h=Ot(m,i);r(h)}else o.value=null;o.value===null&&t.emit("current-change",null,m)}else n.value&&(r(n.value),a())},states:{_currentRowKey:n,currentRow:o}}}function Qle(e){const t=z([]),n=z({}),o=z(16),l=z(!1),a=z({}),r=z("hasChildren"),u=z("children"),s=ft(),i=R(()=>{if(!e.rowKey.value)return{};const w=e.data.value||[];return m(w)}),c=R(()=>{const w=e.rowKey.value,F=Object.keys(a.value),E={};return F.length&&F.forEach($=>{if(a.value[$].length){const T={children:[]};a.value[$].forEach(B=>{const P=Ot(B,w);T.children.push(P),B[r.value]&&!E[P]&&(E[P]={children:[]})}),E[$]=T}}),E}),m=w=>{const F=e.rowKey.value,E={};return Gle(w,($,T,B)=>{const P=Ot($,F);Array.isArray(T)?E[P]={children:T.map(H=>Ot(H,F)),level:B}:l.value&&(E[P]={children:[],lazy:!0,level:B})},u.value,r.value),E},h=(w=!1,F=(E=>(E=s.store)==null?void 0:E.states.defaultExpandAll.value)())=>{var E;const $=i.value,T=c.value,B=Object.keys($),P={};if(B.length){const H=_(n),I=[],j=(G,N)=>{if(w)return t.value?F||t.value.includes(N):!!(F||(G==null?void 0:G.expanded));{const Y=F||t.value&&t.value.includes(N);return!!((G==null?void 0:G.expanded)||Y)}};B.forEach(G=>{const N=H[G],Y={...$[G]};if(Y.expanded=j(N,G),Y.lazy){const{loaded:ge=!1,loading:fe=!1}=N||{};Y.loaded=!!ge,Y.loading=!!fe,I.push(G)}P[G]=Y});const Z=Object.keys(T);l.value&&Z.length&&I.length&&Z.forEach(G=>{const N=H[G],Y=T[G].children;if(I.includes(G)){if(P[G].children.length!==0)throw new Error("[ElTable]children must be an empty array.");P[G].children=Y}else{const{loaded:ge=!1,loading:fe=!1}=N||{};P[G]={lazy:!0,loaded:!!ge,loading:!!fe,expanded:j(N,G),children:Y,level:""}}})}n.value=P,(E=s.store)==null||E.updateTableScrollY()};Ve(()=>t.value,()=>{h(!0)}),Ve(()=>i.value,()=>{h()}),Ve(()=>c.value,()=>{h()});const v=w=>{t.value=w,h()},g=(w,F)=>{s.store.assertRowKey();const E=e.rowKey.value,$=Ot(w,E),T=$&&n.value[$];if($&&T&&"expanded"in T){const B=T.expanded;F=typeof F=="undefined"?!T.expanded:F,n.value[$].expanded=F,B!==F&&s.emit("expand-change",w,F),s.store.updateTableScrollY()}},y=w=>{s.store.assertRowKey();const F=e.rowKey.value,E=Ot(w,F),$=n.value[E];l.value&&$&&"loaded"in $&&!$.loaded?A(w,E,$):g(w,void 0)},A=(w,F,E)=>{const{load:$}=s.props;$&&!n.value[F].loaded&&(n.value[F].loading=!0,$(w,E,T=>{if(!Array.isArray(T))throw new TypeError("[ElTable] data must be an array");n.value[F].loading=!1,n.value[F].loaded=!0,n.value[F].expanded=!0,T.length&&(a.value[F]=T),s.emit("expand-change",w,!0)}))};return{loadData:A,loadOrToggle:y,toggleTreeExpansion:g,updateTreeExpandKeys:v,updateTreeData:h,normalize:m,states:{expandRowKeys:t,treeData:n,indent:o,lazy:l,lazyTreeNodeMap:a,lazyColumnIdentifier:r,childrenColumnName:u}}}const Zle=(e,t)=>{const n=t.sortingColumn;return!n||typeof n.sortable=="string"?e:Ule(e,t.sortProp,t.sortOrder,n.sortMethod,n.sortBy)},Xr=e=>{const t=[];return e.forEach(n=>{n.children?t.push.apply(t,Xr(n.children)):t.push(n)}),t};function eae(){var e;const t=ft(),{size:n}=On((e=t.proxy)==null?void 0:e.$props),o=z(null),l=z([]),a=z([]),r=z(!1),u=z([]),s=z([]),i=z([]),c=z([]),m=z([]),h=z([]),v=z([]),g=z([]),y=z(0),A=z(0),w=z(0),F=z(!1),E=z([]),$=z(!1),T=z(!1),B=z(null),P=z({}),H=z(null),I=z(null),j=z(null),Z=z(null),G=z(null);Ve(l,()=>t.state&&ge(!1),{deep:!0});const N=()=>{if(!o.value)throw new Error("[ElTable] prop row-key is required")},Y=()=>{c.value=u.value.filter(q=>q.fixed===!0||q.fixed==="left"),m.value=u.value.filter(q=>q.fixed==="right"),c.value.length>0&&u.value[0]&&u.value[0].type==="selection"&&!u.value[0].fixed&&(u.value[0].fixed=!0,c.value.unshift(u.value[0]));const he=u.value.filter(q=>!q.fixed);s.value=[].concat(c.value).concat(he).concat(m.value);const Ie=Xr(he),K=Xr(c.value),ue=Xr(m.value);y.value=Ie.length,A.value=K.length,w.value=ue.length,i.value=[].concat(K).concat(Ie).concat(ue),r.value=c.value.length>0||m.value.length>0},ge=(he,Ie=!1)=>{he&&Y(),Ie?t.state.doLayout():t.state.debouncedUpdateLayout()},fe=he=>E.value.includes(he),Ee=()=>{F.value=!1,E.value.length&&(E.value=[],t.emit("selection-change",[]))},ne=()=>{let he;if(o.value){he=[];const Ie=_l(E.value,o.value),K=_l(l.value,o.value);for(const ue in Ie)st(Ie,ue)&&!K[ue]&&he.push(Ie[ue].row)}else he=E.value.filter(Ie=>!l.value.includes(Ie));if(he.length){const Ie=E.value.filter(K=>!he.includes(K));E.value=Ie,t.emit("selection-change",Ie.slice())}},ee=()=>(E.value||[]).slice(),xe=(he,Ie=void 0,K=!0)=>{if(Yr(E.value,he,Ie)){const q=(E.value||[]).slice();K&&t.emit("select",q,he),t.emit("selection-change",q)}},$e=()=>{var he,Ie;const K=T.value?!F.value:!(F.value||E.value.length);F.value=K;let ue=!1,q=0;const k=(Ie=(he=t==null?void 0:t.store)==null?void 0:he.states)==null?void 0:Ie.rowKey.value;l.value.forEach((Me,X)=>{const de=X+q;B.value?B.value.call(null,Me,de)&&Yr(E.value,Me,K)&&(ue=!0):Yr(E.value,Me,K)&&(ue=!0),q+=we(Ot(Me,k))}),ue&&t.emit("selection-change",E.value?E.value.slice():[]),t.emit("select-all",E.value)},x=()=>{const he=_l(E.value,o.value);l.value.forEach(Ie=>{const K=Ot(Ie,o.value),ue=he[K];ue&&(E.value[ue.index]=Ie)})},W=()=>{var he,Ie,K;if(((he=l.value)==null?void 0:he.length)===0){F.value=!1;return}let ue;o.value&&(ue=_l(E.value,o.value));const q=function(de){return ue?!!ue[Ot(de,o.value)]:E.value.includes(de)};let k=!0,Me=0,X=0;for(let de=0,Fe=(l.value||[]).length;de{var Ie;if(!t||!t.store)return 0;const{treeData:K}=t.store.states;let ue=0;const q=(Ie=K.value[he])==null?void 0:Ie.children;return q&&(ue+=q.length,q.forEach(k=>{ue+=we(k)})),ue},Ae=(he,Ie)=>{Array.isArray(he)||(he=[he]);const K={};return he.forEach(ue=>{P.value[ue.id]=Ie,K[ue.columnKey||ue.id]=Ie}),K},ke=(he,Ie,K)=>{I.value&&I.value!==he&&(I.value.order=null),I.value=he,j.value=Ie,Z.value=K},ve=()=>{let he=_(a);Object.keys(P.value).forEach(Ie=>{const K=P.value[Ie];if(!K||K.length===0)return;const ue=e6({columns:i.value},Ie);ue&&ue.filterMethod&&(he=he.filter(q=>K.some(k=>ue.filterMethod.call(null,k,q,ue))))}),H.value=he},ze=()=>{l.value=Zle(H.value,{sortingColumn:I.value,sortProp:j.value,sortOrder:Z.value})},Ke=(he=void 0)=>{he&&he.filter||ve(),ze()},se=he=>{const{tableHeaderRef:Ie}=t.refs;if(!Ie)return;const K=Object.assign({},Ie.filterPanels),ue=Object.keys(K);if(!!ue.length)if(typeof he=="string"&&(he=[he]),Array.isArray(he)){const q=he.map(k=>Wle({columns:i.value},k));ue.forEach(k=>{const Me=q.find(X=>X.id===k);Me&&(Me.filteredValue=[])}),t.store.commit("filterChange",{column:q,values:[],silent:!0,multi:!0})}else ue.forEach(q=>{const k=i.value.find(Me=>Me.id===q);k&&(k.filteredValue=[])}),P.value={},t.store.commit("filterChange",{column:{},values:[],silent:!0})},le=()=>{!I.value||(ke(null,null,null),t.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:L,toggleRowExpansion:S,updateExpandRows:V,states:O,isRowExpanded:te}=Xle({data:l,rowKey:o}),{updateTreeExpandKeys:_e,toggleTreeExpansion:pe,updateTreeData:Ce,loadOrToggle:be,states:re}=Qle({data:l,rowKey:o}),{updateCurrentRowData:me,updateCurrentRow:Re,setCurrentRowKey:Q,states:Pe}=Jle({data:l,rowKey:o});return{assertRowKey:N,updateColumns:Y,scheduleLayout:ge,isSelected:fe,clearSelection:Ee,cleanSelection:ne,getSelectionRows:ee,toggleRowSelection:xe,_toggleAllSelection:$e,toggleAllSelection:null,updateSelectionByRowKey:x,updateAllSelected:W,updateFilters:Ae,updateCurrentRow:Re,updateSort:ke,execFilter:ve,execSort:ze,execQuery:Ke,clearFilter:se,clearSort:le,toggleRowExpansion:S,setExpandRowKeysAdapter:he=>{L(he),_e(he)},setCurrentRowKey:Q,toggleRowExpansionAdapter:(he,Ie)=>{i.value.some(({type:ue})=>ue==="expand")?S(he,Ie):pe(he,Ie)},isRowExpanded:te,updateExpandRows:V,updateCurrentRowData:me,loadOrToggle:be,updateTreeData:Ce,states:{tableSize:n,rowKey:o,data:l,_data:a,isComplex:r,_columns:u,originColumns:s,columns:i,fixedColumns:c,rightFixedColumns:m,leafColumns:h,fixedLeafColumns:v,rightFixedLeafColumns:g,leafColumnsLength:y,fixedLeafColumnsLength:A,rightFixedLeafColumnsLength:w,isAllSelected:F,selection:E,reserveSelection:$,selectOnIndeterminate:T,selectable:B,filters:P,filteredData:H,sortingColumn:I,sortProp:j,sortOrder:Z,hoverRow:G,...O,...re,...Pe}}}function di(e,t){return e.map(n=>{var o;return n.id===t.id?t:((o=n.children)!=null&&o.length&&(n.children=di(n.children,t)),n)})}function o6(e){e.forEach(t=>{var n,o;t.no=(n=t.getColumnIndex)==null?void 0:n.call(t),(o=t.children)!=null&&o.length&&o6(t.children)}),e.sort((t,n)=>t.no-n.no)}function tae(){const e=ft(),t=eae();return{ns:He("table"),...t,mutations:{setData(r,u){const s=_(r._data)!==u;r.data.value=u,r._data.value=u,e.store.execQuery(),e.store.updateCurrentRowData(),e.store.updateExpandRows(),e.store.updateTreeData(e.store.states.defaultExpandAll.value),_(r.reserveSelection)?(e.store.assertRowKey(),e.store.updateSelectionByRowKey()):s?e.store.clearSelection():e.store.cleanSelection(),e.store.updateAllSelected(),e.$ready&&e.store.scheduleLayout()},insertColumn(r,u,s){const i=_(r._columns);let c=[];s?(s&&!s.children&&(s.children=[]),s.children.push(u),c=di(i,s)):(i.push(u),c=i),o6(c),r._columns.value=c,u.type==="selection"&&(r.selectable.value=u.selectable,r.reserveSelection.value=u.reserveSelection),e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},removeColumn(r,u,s){const i=_(r._columns)||[];if(s)s.children.splice(s.children.findIndex(c=>c.id===u.id),1),s.children.length===0&&delete s.children,r._columns.value=di(i,s);else{const c=i.indexOf(u);c>-1&&(i.splice(c,1),r._columns.value=i)}e.$ready&&(e.store.updateColumns(),e.store.scheduleLayout())},sort(r,u){const{prop:s,order:i,init:c}=u;if(s){const m=_(r.columns).find(h=>h.property===s);m&&(m.order=i,e.store.updateSort(m,s,i),e.store.commit("changeSortCondition",{init:c}))}},changeSortCondition(r,u){const{sortingColumn:s,sortProp:i,sortOrder:c}=r,m=_(s),h=_(i),v=_(c);v===null&&(r.sortingColumn.value=null,r.sortProp.value=null);const g={filter:!0};e.store.execQuery(g),(!u||!(u.silent||u.init))&&e.emit("sort-change",{column:m,prop:h,order:v}),e.store.updateTableScrollY()},filterChange(r,u){const{column:s,values:i,silent:c}=u,m=e.store.updateFilters(s,i);e.store.execQuery(),c||e.emit("filter-change",m),e.store.updateTableScrollY()},toggleAllSelection(){e.store.toggleAllSelection()},rowSelectedChanged(r,u){e.store.toggleRowSelection(u),e.store.updateAllSelected()},setHoverRow(r,u){r.hoverRow.value=u},setCurrentRow(r,u){e.store.updateCurrentRow(u)}},commit:function(r,...u){const s=e.store.mutations;if(s[r])s[r].apply(e,[e.store.states].concat(u));else throw new Error(`Action not found: ${r}`)},updateTableScrollY:function(){rt(()=>e.layout.updateScrollY.apply(e.layout))}}}const Ia={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data",["treeProps.hasChildren"]:{key:"lazyColumnIdentifier",default:"hasChildren"},["treeProps.children"]:{key:"childrenColumnName",default:"children"}};function nae(e,t){if(!e)throw new Error("Table is required.");const n=tae();return n.toggleAllSelection=Jl(n._toggleAllSelection,10),Object.keys(Ia).forEach(o=>{l6(a6(t,o),o,n)}),oae(n,t),n}function oae(e,t){Object.keys(Ia).forEach(n=>{Ve(()=>a6(t,n),o=>{l6(o,n,e)})})}function l6(e,t,n){let o=e,l=Ia[t];typeof Ia[t]=="object"&&(l=l.key,o=o||Ia[t].default),n.states[l].value=o}function a6(e,t){if(t.includes(".")){const n=t.split(".");let o=e;return n.forEach(l=>{o=o[l]}),o}else return e[t]}class lae{constructor(t){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=z(null),this.scrollX=z(!1),this.scrollY=z(!1),this.bodyWidth=z(null),this.fixedWidth=z(null),this.rightFixedWidth=z(null),this.gutterWidth=0;for(const n in t)st(t,n)&&(gt(this[n])?this[n].value=t[n]:this[n]=t[n]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){if(this.height.value===null)return!1;const n=this.table.refs.scrollBarRef;if(this.table.vnode.el&&n){let o=!0;const l=this.scrollY.value;return o=n.wrap$.scrollHeight>n.wrap$.clientHeight,this.scrollY.value=o,l!==o}return!1}setHeight(t,n="height"){if(!_t)return;const o=this.table.vnode.el;if(t=jle(t),this.height.value=Number(t),!o&&(t||t===0))return rt(()=>this.setHeight(t,n));typeof t=="number"?(o.style[n]=`${t}px`,this.updateElsHeight()):typeof t=="string"&&(o.style[n]=t,this.updateElsHeight())}setMaxHeight(t){this.setHeight(t,"max-height")}getFlattenColumns(){const t=[];return this.table.store.states.columns.value.forEach(o=>{o.isColumnGroup?t.push.apply(t,o.columns):t.push(o)}),t}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(t){if(!t)return!0;let n=t;for(;n.tagName!=="DIV";){if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1}updateColumnsWidth(){if(!_t)return;const t=this.fit,n=this.table.vnode.el.clientWidth;let o=0;const l=this.getFlattenColumns(),a=l.filter(s=>typeof s.width!="number");if(l.forEach(s=>{typeof s.width=="number"&&s.realWidth&&(s.realWidth=null)}),a.length>0&&t){if(l.forEach(s=>{o+=Number(s.width||s.minWidth||80)}),o<=n){this.scrollX.value=!1;const s=n-o;if(a.length===1)a[0].realWidth=Number(a[0].minWidth||80)+s;else{const i=a.reduce((h,v)=>h+Number(v.minWidth||80),0),c=s/i;let m=0;a.forEach((h,v)=>{if(v===0)return;const g=Math.floor(Number(h.minWidth||80)*c);m+=g,h.realWidth=Number(h.minWidth||80)+g}),a[0].realWidth=Number(a[0].minWidth||80)+s-m}}else this.scrollX.value=!0,a.forEach(s=>{s.realWidth=Number(s.minWidth)});this.bodyWidth.value=Math.max(o,n),this.table.state.resizeState.value.width=this.bodyWidth.value}else l.forEach(s=>{!s.width&&!s.minWidth?s.realWidth=80:s.realWidth=Number(s.width||s.minWidth),o+=s.realWidth}),this.scrollX.value=o>n,this.bodyWidth.value=o;const r=this.store.states.fixedColumns.value;if(r.length>0){let s=0;r.forEach(i=>{s+=Number(i.realWidth||i.width)}),this.fixedWidth.value=s}const u=this.store.states.rightFixedColumns.value;if(u.length>0){let s=0;u.forEach(i=>{s+=Number(i.realWidth||i.width)}),this.rightFixedWidth.value=s}this.notifyObservers("columns")}addObserver(t){this.observers.push(t)}removeObserver(t){const n=this.observers.indexOf(t);n!==-1&&this.observers.splice(n,1)}notifyObservers(t){this.observers.forEach(o=>{var l,a;switch(t){case"columns":(l=o.state)==null||l.onColumnsChange(this);break;case"scrollable":(a=o.state)==null||a.onScrollableChange(this);break;default:throw new Error(`Table Layout don't have event ${t}.`)}})}}const{CheckboxGroup:aae}=$o,rae=Le({name:"ElTableFilterPanel",components:{ElCheckbox:$o,ElCheckboxGroup:aae,ElScrollbar:un,ElTooltip:Sn,ElIcon:ut,ArrowDown:sr,ArrowUp:Qi},directives:{ClickOutside:h4},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function}},setup(e){const t=ft(),{t:n}=bn(),o=He("table-filter"),l=t==null?void 0:t.parent;l.filterPanels.value[e.column.id]||(l.filterPanels.value[e.column.id]=t);const a=z(!1),r=z(null),u=R(()=>e.column&&e.column.filters),s=R({get:()=>{var $;return((($=e.column)==null?void 0:$.filteredValue)||[])[0]},set:$=>{i.value&&(typeof $!="undefined"&&$!==null?i.value.splice(0,1,$):i.value.splice(0,1))}}),i=R({get(){return e.column?e.column.filteredValue||[]:[]},set($){e.column&&e.upDataColumn("filteredValue",$)}}),c=R(()=>e.column?e.column.filterMultiple:!0),m=$=>$.value===s.value,h=()=>{a.value=!1},v=$=>{$.stopPropagation(),a.value=!a.value},g=()=>{a.value=!1},y=()=>{F(i.value),h()},A=()=>{i.value=[],F(i.value),h()},w=$=>{s.value=$,F(typeof $!="undefined"&&$!==null?i.value:[]),h()},F=$=>{e.store.commit("filterChange",{column:e.column,values:$}),e.store.updateAllSelected()};Ve(a,$=>{e.column&&e.upDataColumn("filterOpened",$)},{immediate:!0});const E=R(()=>{var $,T;return(T=($=r.value)==null?void 0:$.popperRef)==null?void 0:T.contentRef});return{tooltipVisible:a,multiple:c,filteredValue:i,filterValue:s,filters:u,handleConfirm:y,handleReset:A,handleSelect:w,isActive:m,t:n,ns:o,showFilterPanel:v,hideFilterPanel:g,popperPaneRef:E,tooltip:r}}}),uae={key:0},sae=["disabled"],iae=["label","onClick"];function cae(e,t,n,o,l,a){const r=Qe("el-checkbox"),u=Qe("el-checkbox-group"),s=Qe("el-scrollbar"),i=Qe("arrow-up"),c=Qe("arrow-down"),m=Qe("el-icon"),h=Qe("el-tooltip"),v=Mi("click-outside");return b(),ae(h,{ref:"tooltip",visible:e.tooltipVisible,offset:0,placement:e.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":e.ns.b(),persistent:""},{content:p(()=>[e.multiple?(b(),C("div",uae,[f("div",{class:U(e.ns.e("content"))},[d(s,{"wrap-class":e.ns.e("wrap")},{default:p(()=>[d(u,{modelValue:e.filteredValue,"onUpdate:modelValue":t[0]||(t[0]=g=>e.filteredValue=g),class:U(e.ns.e("checkbox-group"))},{default:p(()=>[(b(!0),C(We,null,pt(e.filters,g=>(b(),ae(r,{key:g.value,label:g.value},{default:p(()=>[D(ce(g.text),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","class"])]),_:1},8,["wrap-class"])],2),f("div",{class:U(e.ns.e("bottom"))},[f("button",{class:U({[e.ns.is("disabled")]:e.filteredValue.length===0}),disabled:e.filteredValue.length===0,type:"button",onClick:t[1]||(t[1]=(...g)=>e.handleConfirm&&e.handleConfirm(...g))},ce(e.t("el.table.confirmFilter")),11,sae),f("button",{type:"button",onClick:t[2]||(t[2]=(...g)=>e.handleReset&&e.handleReset(...g))},ce(e.t("el.table.resetFilter")),1)],2)])):(b(),C("ul",{key:1,class:U(e.ns.e("list"))},[f("li",{class:U([e.ns.e("list-item"),{[e.ns.is("active")]:e.filterValue===void 0||e.filterValue===null}]),onClick:t[3]||(t[3]=g=>e.handleSelect(null))},ce(e.t("el.table.clearFilter")),3),(b(!0),C(We,null,pt(e.filters,g=>(b(),C("li",{key:g.value,class:U([e.ns.e("list-item"),e.ns.is("active",e.isActive(g))]),label:g.value,onClick:y=>e.handleSelect(g.value)},ce(g.text),11,iae))),128))],2))]),default:p(()=>[ye((b(),C("span",{class:U([`${e.ns.namespace.value}-table__column-filter-trigger`,`${e.ns.namespace.value}-none-outline`]),onClick:t[4]||(t[4]=(...g)=>e.showFilterPanel&&e.showFilterPanel(...g))},[d(m,null,{default:p(()=>[e.column.filterOpened?(b(),ae(i,{key:0})):(b(),ae(c,{key:1}))]),_:1})],2)),[[v,e.hideFilterPanel,e.popperPaneRef]])]),_:1},8,["visible","placement","popper-class"])}var dae=je(rae,[["render",cae],["__file","/home/runner/work/element-plus/element-plus/packages/components/table/src/filter-panel.vue"]]);function r6(e){const t=ft();$u(()=>{n.value.addObserver(t)}),at(()=>{o(n.value),l(n.value)}),xl(()=>{o(n.value),l(n.value)}),Bo(()=>{n.value.removeObserver(t)});const n=R(()=>{const a=e.layout;if(!a)throw new Error("Can not find table layout.");return a}),o=a=>{var r;const u=((r=e.vnode.el)==null?void 0:r.querySelectorAll("colgroup > col"))||[];if(!u.length)return;const s=a.getFlattenColumns(),i={};s.forEach(c=>{i[c.id]=c});for(let c=0,m=u.length;c{var r,u;const s=((r=e.vnode.el)==null?void 0:r.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let c=0,m=s.length;c{y.stopPropagation()},a=(y,A)=>{!A.filters&&A.sortable?g(y,A,!1):A.filterable&&!A.sortable&&l(y),o==null||o.emit("header-click",A,y)},r=(y,A)=>{o==null||o.emit("header-contextmenu",A,y)},u=z(null),s=z(!1),i=z({}),c=(y,A)=>{if(!!_t&&!(A.children&&A.children.length>0)&&u.value&&e.border){s.value=!0;const w=o;t("set-drag-visible",!0);const E=(w==null?void 0:w.vnode.el).getBoundingClientRect().left,$=n.vnode.el.querySelector(`th.${A.id}`),T=$.getBoundingClientRect(),B=T.left-E+30;go($,"noclick"),i.value={startMouseLeft:y.clientX,startLeft:T.right-E,startColumnLeft:T.left-E,tableLeft:E};const P=w==null?void 0:w.refs.resizeProxy;P.style.left=`${i.value.startLeft}px`,document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const H=j=>{const Z=j.clientX-i.value.startMouseLeft,G=i.value.startLeft+Z;P.style.left=`${Math.max(B,G)}px`},I=()=>{if(s.value){const{startColumnLeft:j,startLeft:Z}=i.value,N=Number.parseInt(P.style.left,10)-j;A.width=A.realWidth=N,w==null||w.emit("header-dragend",A.width,Z-j,A,y),requestAnimationFrame(()=>{e.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",s.value=!1,u.value=null,i.value={},t("set-drag-visible",!1)}document.removeEventListener("mousemove",H),document.removeEventListener("mouseup",I),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{Rn($,"noclick")},0)};document.addEventListener("mousemove",H),document.addEventListener("mouseup",I)}},m=(y,A)=>{var w;if(A.children&&A.children.length>0)return;const F=(w=y.target)==null?void 0:w.closest("th");if(!(!A||!A.resizable)&&!s.value&&e.border){const E=F.getBoundingClientRect(),$=document.body.style;E.width>12&&E.right-y.pageX<8?($.cursor="col-resize",bl(F,"is-sortable")&&(F.style.cursor="col-resize"),u.value=A):s.value||($.cursor="",bl(F,"is-sortable")&&(F.style.cursor="pointer"),u.value=null)}},h=()=>{!_t||(document.body.style.cursor="")},v=({order:y,sortOrders:A})=>{if(y==="")return A[0];const w=A.indexOf(y||null);return A[w>A.length-2?0:w+1]},g=(y,A,w)=>{var F;y.stopPropagation();const E=A.order===w?null:w||v(A),$=(F=y.target)==null?void 0:F.closest("th");if($&&bl($,"noclick")){Rn($,"noclick");return}if(!A.sortable)return;const T=e.store.states;let B=T.sortProp.value,P;const H=T.sortingColumn.value;(H!==A||H===A&&H.order===null)&&(H&&(H.order=null),T.sortingColumn.value=A,B=A.property),E?P=A.order=E:P=A.order=null,T.sortProp.value=B,T.sortOrder.value=P,o==null||o.store.commit("changeSortCondition")};return{handleHeaderClick:a,handleHeaderContextMenu:r,handleMouseDown:c,handleMouseMove:m,handleMouseOut:h,handleSortClick:g,handleFilterClick:l}}function pae(e){const t=Ze(io),n=He("table");return{getHeaderRowStyle:u=>{const s=t==null?void 0:t.props.headerRowStyle;return typeof s=="function"?s.call(null,{rowIndex:u}):s},getHeaderRowClass:u=>{const s=[],i=t==null?void 0:t.props.headerRowClassName;return typeof i=="string"?s.push(i):typeof i=="function"&&s.push(i.call(null,{rowIndex:u})),s.join(" ")},getHeaderCellStyle:(u,s,i,c)=>{var m;let h=(m=t==null?void 0:t.props.headerCellStyle)!=null?m:{};typeof h=="function"&&(h=h.call(null,{rowIndex:u,columnIndex:s,row:i,column:c}));const v=c.isSubColumn?null:$2(s,c.fixed,e.store,i);return aa(v,"left"),aa(v,"right"),Object.assign({},h,v)},getHeaderCellClass:(u,s,i,c)=>{const m=c.isSubColumn?[]:x2(n.b(),s,c.fixed,e.store,i),h=[c.id,c.order,c.headerAlign,c.className,c.labelClassName,...m];c.children||h.push("is-leaf"),c.sortable&&h.push("is-sortable");const v=t==null?void 0:t.props.headerCellClassName;return typeof v=="string"?h.push(v):typeof v=="function"&&h.push(v.call(null,{rowIndex:u,columnIndex:s,row:i,column:c})),h.push(n.e("cell")),h.filter(g=>Boolean(g)).join(" ")}}}const u6=e=>{const t=[];return e.forEach(n=>{n.children?(t.push(n),t.push.apply(t,u6(n.children))):t.push(n)}),t},vae=e=>{let t=1;const n=(a,r)=>{if(r&&(a.level=r.level+1,t{n(s,a),u+=s.colSpan}),a.colSpan=u}else a.colSpan=1};e.forEach(a=>{a.level=1,n(a,void 0)});const o=[];for(let a=0;a{a.children?(a.rowSpan=1,a.children.forEach(r=>r.isSubColumn=!0)):a.rowSpan=t-a.level+1,o[a.level-1].push(a)}),o};function hae(e){const t=Ze(io),n=R(()=>vae(e.store.states.originColumns.value));return{isGroup:R(()=>{const a=n.value.length>1;return a&&t&&(t.state.isGroup.value=!0),a}),toggleAllSelection:a=>{a.stopPropagation(),t==null||t.store.commit("toggleAllSelection")},columnRows:n}}var _ae=Le({name:"ElTableHeader",components:{ElCheckbox:$o},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e,{emit:t}){const n=ft(),o=Ze(io),l=He("table"),a=z({}),{onColumnsChange:r,onScrollableChange:u}=r6(o);at(async()=>{await rt(),await rt();const{prop:B,order:P}=e.defaultSort;o==null||o.store.commit("sort",{prop:B,order:P,init:!0})});const{handleHeaderClick:s,handleHeaderContextMenu:i,handleMouseDown:c,handleMouseMove:m,handleMouseOut:h,handleSortClick:v,handleFilterClick:g}=fae(e,t),{getHeaderRowStyle:y,getHeaderRowClass:A,getHeaderCellStyle:w,getHeaderCellClass:F}=pae(e),{isGroup:E,toggleAllSelection:$,columnRows:T}=hae(e);return n.state={onColumnsChange:r,onScrollableChange:u},n.filterPanels=a,{ns:l,filterPanels:a,onColumnsChange:r,onScrollableChange:u,columnRows:T,getHeaderRowClass:A,getHeaderRowStyle:y,getHeaderCellClass:F,getHeaderCellStyle:w,handleHeaderClick:s,handleHeaderContextMenu:i,handleMouseDown:c,handleMouseMove:m,handleMouseOut:h,handleSortClick:v,handleFilterClick:g,isGroup:E,toggleAllSelection:$}},render(){const{ns:e,isGroup:t,columnRows:n,getHeaderCellStyle:o,getHeaderCellClass:l,getHeaderRowClass:a,getHeaderRowStyle:r,handleHeaderClick:u,handleHeaderContextMenu:s,handleMouseDown:i,handleMouseMove:c,handleSortClick:m,handleMouseOut:h,store:v,$parent:g}=this;let y=1;return Ne("thead",{class:{[e.is("group")]:t}},n.map((A,w)=>Ne("tr",{class:a(w),key:w,style:r(w)},A.map((F,E)=>(F.rowSpan>y&&(y=F.rowSpan),Ne("th",{class:l(w,E,A,F),colspan:F.colSpan,key:`${F.id}-thead`,rowspan:F.rowSpan,style:o(w,E,A,F),onClick:$=>u($,F),onContextmenu:$=>s($,F),onMousedown:$=>i($,F),onMousemove:$=>c($,F),onMouseout:h},[Ne("div",{class:["cell",F.filteredValue&&F.filteredValue.length>0?"highlight":""]},[F.renderHeader?F.renderHeader({column:F,$index:E,store:v,_self:g}):F.label,F.sortable&&Ne("span",{onClick:$=>m($,F),class:"caret-wrapper"},[Ne("i",{onClick:$=>m($,F,"ascending"),class:"sort-caret ascending"}),Ne("i",{onClick:$=>m($,F,"descending"),class:"sort-caret descending"})]),F.filterable&&Ne(dae,{store:v,placement:F.filterPlacement||"bottom-start",column:F,upDataColumn:($,T)=>{F[$]=T}})])]))))))}});function mae(e){const t=Ze(io),n=z(""),o=z(Ne("div")),l=(h,v,g)=>{var y;const A=t,w=gs(h);let F;const E=(y=A==null?void 0:A.vnode.el)==null?void 0:y.dataset.prefix;w&&(F=ed({columns:e.store.states.columns.value},w,E),F&&(A==null||A.emit(`cell-${g}`,v,F,w,h))),A==null||A.emit(`row-${g}`,v,F,h)},a=(h,v)=>{l(h,v,"dblclick")},r=(h,v)=>{e.store.commit("setCurrentRow",v),l(h,v,"click")},u=(h,v)=>{l(h,v,"contextmenu")},s=Jl(h=>{e.store.commit("setHoverRow",h)},30),i=Jl(()=>{e.store.commit("setHoverRow",null)},30);return{handleDoubleClick:a,handleClick:r,handleContextMenu:u,handleMouseEnter:s,handleMouseLeave:i,handleCellMouseEnter:(h,v,g)=>{var y;const A=t,w=gs(h),F=(y=A==null?void 0:A.vnode.el)==null?void 0:y.dataset.prefix;if(w){const P=ed({columns:e.store.states.columns.value},w,F),H=A.hoverState={cell:w,column:P,row:v};A==null||A.emit("cell-mouse-enter",H.row,H.column,H.cell,h)}const E=h.target.querySelector(".cell");if(!(bl(E,`${F}-tooltip`)&&E.childNodes.length))return;const $=document.createRange();$.setStart(E,0),$.setEnd(E,E.childNodes.length);const T=$.getBoundingClientRect().width,B=(Number.parseInt(mo(E,"paddingLeft"),10)||0)+(Number.parseInt(mo(E,"paddingRight"),10)||0);(T+B>E.offsetWidth||E.scrollWidth>E.offsetWidth)&&Yle(t==null?void 0:t.refs.tableWrapper,w,w.innerText||w.textContent,{placement:"top",strategy:"fixed"},g)},handleCellMouseLeave:h=>{if(!gs(h))return;const g=t==null?void 0:t.hoverState;t==null||t.emit("cell-mouse-leave",g==null?void 0:g.row,g==null?void 0:g.column,g==null?void 0:g.cell,h)},tooltipContent:n,tooltipTrigger:o}}function gae(e){const t=Ze(io),n=He("table");return{getRowStyle:(i,c)=>{const m=t==null?void 0:t.props.rowStyle;return typeof m=="function"?m.call(null,{row:i,rowIndex:c}):m||null},getRowClass:(i,c)=>{const m=[n.e("row")];(t==null?void 0:t.props.highlightCurrentRow)&&i===e.store.states.currentRow.value&&m.push("current-row"),e.stripe&&c%2===1&&m.push(n.em("row","striped"));const h=t==null?void 0:t.props.rowClassName;return typeof h=="string"?m.push(h):typeof h=="function"&&m.push(h.call(null,{row:i,rowIndex:c})),m},getCellStyle:(i,c,m,h)=>{const v=t==null?void 0:t.props.cellStyle;let g=v!=null?v:{};typeof v=="function"&&(g=v.call(null,{rowIndex:i,columnIndex:c,row:m,column:h}));const y=h.isSubColumn?null:$2(c,e==null?void 0:e.fixed,e.store);return aa(y,"left"),aa(y,"right"),Object.assign({},g,y)},getCellClass:(i,c,m,h)=>{const v=h.isSubColumn?[]:x2(n.b(),c,e==null?void 0:e.fixed,e.store),g=[h.id,h.align,h.className,...v],y=t==null?void 0:t.props.cellClassName;return typeof y=="string"?g.push(y):typeof y=="function"&&g.push(y.call(null,{rowIndex:i,columnIndex:c,row:m,column:h})),g.push(n.e("cell")),g.filter(A=>Boolean(A)).join(" ")},getSpan:(i,c,m,h)=>{let v=1,g=1;const y=t==null?void 0:t.props.spanMethod;if(typeof y=="function"){const A=y({row:i,column:c,rowIndex:m,columnIndex:h});Array.isArray(A)?(v=A[0],g=A[1]):typeof A=="object"&&(v=A.rowspan,g=A.colspan)}return{rowspan:v,colspan:g}},getColspanRealWidth:(i,c,m)=>{if(c<1)return i[m].realWidth;const h=i.map(({realWidth:v,width:g})=>v||g).slice(m,m+c);return Number(h.reduce((v,g)=>Number(v)+Number(g),-1))}}}function bae(e){const t=Ze(io),n=He("table"),{handleDoubleClick:o,handleClick:l,handleContextMenu:a,handleMouseEnter:r,handleMouseLeave:u,handleCellMouseEnter:s,handleCellMouseLeave:i,tooltipContent:c,tooltipTrigger:m}=mae(e),{getRowStyle:h,getRowClass:v,getCellStyle:g,getCellClass:y,getSpan:A,getColspanRealWidth:w}=gae(e),F=R(()=>e.store.states.columns.value.findIndex(({type:P})=>P==="default")),E=(P,H)=>{const I=t.props.rowKey;return I?Ot(P,I):H},$=(P,H,I,j=!1)=>{const{tooltipEffect:Z,store:G}=e,{indent:N,columns:Y}=G.states,ge=v(P,H);let fe=!0;return I&&(ge.push(n.em("row",`level-${I.level}`)),fe=I.display),Ne("tr",{style:[fe?null:{display:"none"},h(P,H)],class:ge,key:E(P,H),onDblclick:ne=>o(ne,P),onClick:ne=>l(ne,P),onContextmenu:ne=>a(ne,P),onMouseenter:()=>r(H),onMouseleave:u},Y.value.map((ne,ee)=>{const{rowspan:xe,colspan:$e}=A(P,ne,H,ee);if(!xe||!$e)return null;const x={...ne};x.realWidth=w(Y.value,$e,ee);const W={store:e.store,_self:e.context||t,column:x,row:P,$index:H,cellIndex:ee,expanded:j};ee===F.value&&I&&(W.treeNode={indent:I.level*N.value,level:I.level},typeof I.expanded=="boolean"&&(W.treeNode.expanded=I.expanded,"loading"in I&&(W.treeNode.loading=I.loading),"noLazyChildren"in I&&(W.treeNode.noLazyChildren=I.noLazyChildren)));const we=`${H},${ee}`,Ae=x.columnKey||x.rawColumnKey||"",ke=T(ee,ne,W);return Ne("td",{style:g(H,ee,P,ne),class:y(H,ee,P,ne),key:`${Ae}${we}`,rowspan:xe,colspan:$e,onMouseenter:ve=>s(ve,P,Z),onMouseleave:i},[ke])}))},T=(P,H,I)=>H.renderCell(I);return{wrappedRowRender:(P,H)=>{const I=e.store,{isRowExpanded:j,assertRowKey:Z}=I,{treeData:G,lazyTreeNodeMap:N,childrenColumnName:Y,rowKey:ge}=I.states,fe=I.states.columns.value;if(fe.some(({type:ne})=>ne==="expand")){const ne=j(P),ee=$(P,H,void 0,ne),xe=t.renderExpanded;return ne?xe?[[ee,Ne("tr",{key:`expanded-row__${ee.key}`},[Ne("td",{colspan:fe.length,class:`${n.e("cell")} ${n.e("expanded-cell")}`},[xe({row:P,$index:H,store:I,expanded:ne})])])]]:(console.error("[Element Error]renderExpanded is required."),ee):[[ee]]}else if(Object.keys(G.value).length){Z();const ne=Ot(P,ge.value);let ee=G.value[ne],xe=null;ee&&(xe={expanded:ee.expanded,level:ee.level,display:!0},typeof ee.lazy=="boolean"&&(typeof ee.loaded=="boolean"&&ee.loaded&&(xe.noLazyChildren=!(ee.children&&ee.children.length)),xe.loading=ee.loading));const $e=[$(P,H,xe)];if(ee){let x=0;const W=(Ae,ke)=>{!(Ae&&Ae.length&&ke)||Ae.forEach(ve=>{const ze={display:ke.display&&ke.expanded,level:ke.level+1,expanded:!1,noLazyChildren:!1,loading:!1},Ke=Ot(ve,ge.value);if(Ke==null)throw new Error("For nested data item, row-key is required.");if(ee={...G.value[Ke]},ee&&(ze.expanded=ee.expanded,ee.level=ee.level||ze.level,ee.display=!!(ee.expanded&&ze.display),typeof ee.lazy=="boolean"&&(typeof ee.loaded=="boolean"&&ee.loaded&&(ze.noLazyChildren=!(ee.children&&ee.children.length)),ze.loading=ee.loading)),x++,$e.push($(ve,H+x,ze)),ee){const se=N.value[Ke]||ve[Y.value];W(se,ee)}})};ee.display=!0;const we=N.value[ne]||P[Y.value];W(we,ee)}return $e}else return $(P,H,void 0)},tooltipContent:c,tooltipTrigger:m}}const yae={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var wae=Le({name:"ElTableBody",props:yae,setup(e){const t=ft(),n=Ze(io),o=He("table"),{wrappedRowRender:l,tooltipContent:a,tooltipTrigger:r}=bae(e),{onColumnsChange:u,onScrollableChange:s}=r6(n);return Ve(e.store.states.hoverRow,(i,c)=>{if(!e.store.states.isComplex.value||!_t)return;let m=window.requestAnimationFrame;m||(m=h=>window.setTimeout(h,16)),m(()=>{var h;const v=(h=t==null?void 0:t.vnode.el)==null?void 0:h.querySelectorAll(`.${o.e("row")}`),g=v[c],y=v[i];g&&Rn(g,"hover-row"),y&&go(y,"hover-row")})}),Bo(()=>{var i;(i=vo)==null||i()}),{ns:o,onColumnsChange:u,onScrollableChange:s,wrappedRowRender:l,tooltipContent:a,tooltipTrigger:r}},render(){const{wrappedRowRender:e,store:t}=this,n=t.states.data.value||[];return Ne("tbody",{},[n.reduce((o,l)=>o.concat(e(l,o.length)),[])])}});function D2(e){const t=e.tableLayout==="auto";let n=e.columns||[];t&&n.every(l=>l.width===void 0)&&(n=[]);const o=l=>{const a={key:`${e.tableLayout}_${l.id}`,style:{},name:void 0};return t?a.style={width:`${l.width}px`}:a.name=l.id,a};return Ne("colgroup",{},n.map(l=>Ne("col",o(l))))}D2.props=["columns","tableLayout"];function Cae(){const e=Ze(io),t=e==null?void 0:e.store,n=R(()=>t.states.fixedLeafColumnsLength.value),o=R(()=>t.states.rightFixedColumns.value.length),l=R(()=>t.states.columns.value.length),a=R(()=>t.states.fixedColumns.value.length),r=R(()=>t.states.rightFixedColumns.value.length);return{leftFixedLeafCount:n,rightFixedLeafCount:o,columnsCount:l,leftFixedCount:a,rightFixedCount:r,columns:t.states.columns}}function Eae(e){const{columns:t}=Cae(),n=He("table");return{getCellClasses:(a,r)=>{const u=a[r],s=[n.e("cell"),u.id,u.align,u.labelClassName,...x2(n.b(),r,u.fixed,e.store)];return u.className&&s.push(u.className),u.children||s.push(n.is("leaf")),s},getCellStyles:(a,r)=>{const u=$2(r,a.fixed,e.store);return aa(u,"left"),aa(u,"right"),u},columns:t}}var Aae=Le({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(e){const{getCellClasses:t,getCellStyles:n,columns:o}=Eae(e);return{ns:He("table"),getCellClasses:t,getCellStyles:n,columns:o}},render(){const{columns:e,getCellStyles:t,getCellClasses:n,summaryMethod:o,sumText:l,ns:a}=this,r=this.store.states.data.value;let u=[];return o?u=o({columns:e,data:r}):e.forEach((s,i)=>{if(i===0){u[i]=l;return}const c=r.map(g=>Number(g[s.property])),m=[];let h=!0;c.forEach(g=>{if(!Number.isNaN(+g)){h=!1;const y=`${g}`.split(".")[1];m.push(y?y.length:0)}});const v=Math.max.apply(null,m);h?u[i]="":u[i]=c.reduce((g,y)=>{const A=Number(y);return Number.isNaN(+A)?g:Number.parseFloat((g+y).toFixed(Math.min(v,20)))},0)}),Ne("table",{class:a.e("footer"),cellspacing:"0",cellpadding:"0",border:"0"},[D2({columns:e}),Ne("tbody",[Ne("tr",{},[...e.map((s,i)=>Ne("td",{key:i,colspan:s.colSpan,rowspan:s.rowSpan,class:n(e,i),style:t(s,i)},[Ne("div",{class:["cell",s.labelClassName]},[u[i]])]))])])])}});function Fae(e){return{setCurrentRow:c=>{e.commit("setCurrentRow",c)},getSelectionRows:()=>e.getSelectionRows(),toggleRowSelection:(c,m)=>{e.toggleRowSelection(c,m,!1),e.updateAllSelected()},clearSelection:()=>{e.clearSelection()},clearFilter:c=>{e.clearFilter(c)},toggleAllSelection:()=>{e.commit("toggleAllSelection")},toggleRowExpansion:(c,m)=>{e.toggleRowExpansionAdapter(c,m)},clearSort:()=>{e.clearSort()},sort:(c,m)=>{e.commit("sort",{prop:c,order:m})}}}function xae(e,t,n,o){const l=z(!1),a=z(null),r=z(!1),u=ne=>{r.value=ne},s=z({width:null,height:null,headerHeight:null}),i=z(!1),c={display:"inline-block",verticalAlign:"middle"},m=z(),h=z(0),v=z(0),g=z(0),y=z(0);yo(()=>{t.setHeight(e.height)}),yo(()=>{t.setMaxHeight(e.maxHeight)}),Ve(()=>[e.currentRowKey,n.states.rowKey],([ne,ee])=>{!_(ee)||n.setCurrentRowKey(`${ne}`)},{immediate:!0}),Ve(()=>e.data,ne=>{o.store.commit("setData",ne)},{immediate:!0,deep:!0}),yo(()=>{e.expandRowKeys&&n.setExpandRowKeysAdapter(e.expandRowKeys)});const A=()=>{o.store.commit("setHoverRow",null),o.hoverState&&(o.hoverState=null)},w=(ne,ee)=>{const{pixelX:xe,pixelY:$e}=ee;Math.abs(xe)>=Math.abs($e)&&(o.refs.bodyWrapper.scrollLeft+=ee.pixelX/5)},F=R(()=>e.height||e.maxHeight||n.states.fixedColumns.value.length>0||n.states.rightFixedColumns.value.length>0),E=R(()=>({width:t.bodyWidth.value?`${t.bodyWidth.value}px`:""})),$=()=>{F.value&&t.updateElsHeight(),t.updateColumnsWidth(),requestAnimationFrame(H)};at(async()=>{await rt(),n.updateColumns(),I(),requestAnimationFrame($);const ne=o.vnode.el,ee=o.refs.headerWrapper;e.flexible&&ne&&ne.parentElement&&(ne.parentElement.style.minWidth="0"),s.value={width:m.value=ne.offsetWidth,height:ne.offsetHeight,headerHeight:e.showHeader&&ee?ee.offsetHeight:null},n.states.columns.value.forEach(xe=>{xe.filteredValue&&xe.filteredValue.length&&o.store.commit("filterChange",{column:xe,values:xe.filteredValue,silent:!0})}),o.$ready=!0});const T=(ne,ee)=>{if(!ne)return;const xe=Array.from(ne.classList).filter($e=>!$e.startsWith("is-scrolling-"));xe.push(t.scrollX.value?ee:"is-scrolling-none"),ne.className=xe.join(" ")},B=ne=>{const{tableWrapper:ee}=o.refs;T(ee,ne)},P=ne=>{const{tableWrapper:ee}=o.refs;return!!(ee&&ee.classList.contains(ne))},H=function(){if(!o.refs.scrollBarRef)return;if(!t.scrollX.value){const Ae="is-scrolling-none";P(Ae)||B(Ae);return}const ne=o.refs.scrollBarRef.wrap$;if(!ne)return;const{scrollLeft:ee,offsetWidth:xe,scrollWidth:$e}=ne,{headerWrapper:x,footerWrapper:W}=o.refs;x&&(x.scrollLeft=ee),W&&(W.scrollLeft=ee);const we=$e-xe-1;ee>=we?B("is-scrolling-right"):B(ee===0?"is-scrolling-left":"is-scrolling-middle")},I=()=>{!o.refs.scrollBarRef||(o.refs.scrollBarRef.wrap$&&Kt(o.refs.scrollBarRef.wrap$,"scroll",H,{passive:!0}),e.fit?ro(o.vnode.el,j):Kt(window,"resize",j),ro(o.refs.bodyWrapper,()=>{var ne,ee;j(),(ee=(ne=o.refs)==null?void 0:ne.scrollBarRef)==null||ee.update()}))},j=()=>{var ne,ee,xe;const $e=o.vnode.el;if(!o.$ready||!$e)return;let x=!1;const{width:W,height:we,headerHeight:Ae}=s.value,ke=m.value=$e.offsetWidth;W!==ke&&(x=!0);const ve=$e.offsetHeight;(e.height||F.value)&&we!==ve&&(x=!0);const ze=e.tableLayout==="fixed"?o.refs.headerWrapper:(ne=o.refs.tableHeaderRef)==null?void 0:ne.$el;e.showHeader&&(ze==null?void 0:ze.offsetHeight)!==Ae&&(x=!0),h.value=((ee=o.refs.tableWrapper)==null?void 0:ee.scrollHeight)||0,g.value=(ze==null?void 0:ze.scrollHeight)||0,y.value=((xe=o.refs.footerWrapper)==null?void 0:xe.offsetHeight)||0,v.value=h.value-g.value-y.value,x&&(s.value={width:ke,height:ve,headerHeight:e.showHeader&&(ze==null?void 0:ze.offsetHeight)||0},$())},Z=Qt(),G=R(()=>{const{bodyWidth:ne,scrollY:ee,gutterWidth:xe}=t;return ne.value?`${ne.value-(ee.value?xe:0)}px`:""}),N=R(()=>e.maxHeight?"fixed":e.tableLayout),Y=R(()=>{if(e.data&&e.data.length)return null;let ne="100%";e.height&&v.value&&(ne=`${v.value}px`);const ee=m.value;return{width:ee?`${ee}px`:"",height:ne}}),ge=R(()=>e.height?{height:Number.isNaN(Number(e.height))?e.height:`${e.height}px`}:e.maxHeight?{maxHeight:Number.isNaN(Number(e.maxHeight))?e.maxHeight:`${e.maxHeight}px`}:{}),fe=R(()=>{if(e.height)return{height:"100%"};if(e.maxHeight){if(Number.isNaN(Number(e.maxHeight)))return{maxHeight:`calc(${e.maxHeight} - ${g.value+y.value}px)`};{const ne=e.maxHeight;if(h.value>=Number(ne))return{maxHeight:`${h.value-g.value-y.value}px`}}}return{}});return{isHidden:l,renderExpanded:a,setDragVisible:u,isGroup:i,handleMouseLeave:A,handleHeaderFooterMousewheel:w,tableSize:Z,emptyBlockStyle:Y,handleFixedMousewheel:(ne,ee)=>{const xe=o.refs.bodyWrapper;if(Math.abs(ee.spinY)>0){const $e=xe.scrollTop;ee.pixelY<0&&$e!==0&&ne.preventDefault(),ee.pixelY>0&&xe.scrollHeight-xe.clientHeight>$e&&ne.preventDefault(),xe.scrollTop+=Math.ceil(ee.pixelY/5)}else xe.scrollLeft+=Math.ceil(ee.pixelX/5)},resizeProxyVisible:r,bodyWidth:G,resizeState:s,doLayout:$,tableBodyStyles:E,tableLayout:N,scrollbarViewStyle:c,tableInnerStyle:ge,scrollbarStyle:fe}}var $ae={data:{type:Array,default:()=>[]},size:String,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children"})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:{type:Boolean,default:!1},flexible:Boolean};const Dae=()=>{const e=z(),t=(a,r)=>{const u=e.value;u&&u.scrollTo(a,r)},n=(a,r)=>{const u=e.value;u&&mt(r)&&["Top","Left"].includes(a)&&u[`setScroll${a}`](r)};return{scrollBarRef:e,scrollTo:t,setScrollTop:a=>n("Top",a),setScrollLeft:a=>n("Left",a)}};let Bae=1;const Sae=Le({name:"ElTable",directives:{Mousewheel:nee},components:{TableHeader:_ae,TableBody:wae,TableFooter:Aae,ElScrollbar:un,hColgroup:D2},props:$ae,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change"],setup(e){const{t}=bn(),n=He("table"),o=ft();$t(io,o);const l=nae(o,e);o.store=l;const a=new lae({store:o.store,table:o,fit:e.fit,showHeader:e.showHeader});o.layout=a;const r=R(()=>(l.states.data.value||[]).length===0),{setCurrentRow:u,getSelectionRows:s,toggleRowSelection:i,clearSelection:c,clearFilter:m,toggleAllSelection:h,toggleRowExpansion:v,clearSort:g,sort:y}=Fae(l),{isHidden:A,renderExpanded:w,setDragVisible:F,isGroup:E,handleMouseLeave:$,handleHeaderFooterMousewheel:T,tableSize:B,emptyBlockStyle:P,handleFixedMousewheel:H,resizeProxyVisible:I,bodyWidth:j,resizeState:Z,doLayout:G,tableBodyStyles:N,tableLayout:Y,scrollbarViewStyle:ge,tableInnerStyle:fe,scrollbarStyle:Ee}=xae(e,a,l,o),{scrollBarRef:ne,scrollTo:ee,setScrollLeft:xe,setScrollTop:$e}=Dae(),x=Jl(G,50),W=`${n.namespace.value}-table_${Bae++}`;o.tableId=W,o.state={isGroup:E,resizeState:Z,doLayout:G,debouncedUpdateLayout:x};const we=R(()=>e.sumText||t("el.table.sumText")),Ae=R(()=>e.emptyText||t("el.table.emptyText"));return{ns:n,layout:a,store:l,handleHeaderFooterMousewheel:T,handleMouseLeave:$,tableId:W,tableSize:B,isHidden:A,isEmpty:r,renderExpanded:w,resizeProxyVisible:I,resizeState:Z,isGroup:E,bodyWidth:j,tableBodyStyles:N,emptyBlockStyle:P,debouncedUpdateLayout:x,handleFixedMousewheel:H,setCurrentRow:u,getSelectionRows:s,toggleRowSelection:i,clearSelection:c,clearFilter:m,toggleAllSelection:h,toggleRowExpansion:v,clearSort:g,doLayout:G,sort:y,t,setDragVisible:F,context:o,computedSumText:we,computedEmptyText:Ae,tableLayout:Y,scrollbarViewStyle:ge,tableInnerStyle:fe,scrollbarStyle:Ee,scrollBarRef:ne,scrollTo:ee,setScrollLeft:xe,setScrollTop:$e}}}),kae=["data-prefix"],Pae={ref:"hiddenColumns",class:"hidden-columns"};function Lae(e,t,n,o,l,a){const r=Qe("hColgroup"),u=Qe("table-header"),s=Qe("table-body"),i=Qe("el-scrollbar"),c=Qe("table-footer"),m=Mi("mousewheel");return b(),C("div",{ref:"tableWrapper",class:U([{[e.ns.m("fit")]:e.fit,[e.ns.m("striped")]:e.stripe,[e.ns.m("border")]:e.border||e.isGroup,[e.ns.m("hidden")]:e.isHidden,[e.ns.m("group")]:e.isGroup,[e.ns.m("fluid-height")]:e.maxHeight,[e.ns.m("scrollable-x")]:e.layout.scrollX.value,[e.ns.m("scrollable-y")]:e.layout.scrollY.value,[e.ns.m("enable-row-hover")]:!e.store.states.isComplex.value,[e.ns.m("enable-row-transition")]:(e.store.states.data.value||[]).length!==0&&(e.store.states.data.value||[]).length<100,"has-footer":e.showSummary},e.ns.m(e.tableSize),e.className,e.ns.b(),e.ns.m(`layout-${e.tableLayout}`)]),style:nt(e.style),"data-prefix":e.ns.namespace.value,onMouseleave:t[0]||(t[0]=h=>e.handleMouseLeave())},[f("div",{class:U(e.ns.e("inner-wrapper")),style:nt(e.tableInnerStyle)},[f("div",Pae,[Te(e.$slots,"default")],512),e.showHeader&&e.tableLayout==="fixed"?ye((b(),C("div",{key:0,ref:"headerWrapper",class:U(e.ns.e("header-wrapper"))},[f("table",{ref:"tableHeader",class:U(e.ns.e("header")),style:nt(e.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[d(r,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),d(u,{ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","onSetDragVisible"])],6)],2)),[[m,e.handleHeaderFooterMousewheel]]):oe("v-if",!0),f("div",{ref:"bodyWrapper",class:U(e.ns.e("body-wrapper"))},[d(i,{ref:"scrollBarRef","view-style":e.scrollbarViewStyle,"wrap-style":e.scrollbarStyle,always:e.scrollbarAlwaysOn},{default:p(()=>[f("table",{ref:"tableBody",class:U(e.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:nt({width:e.bodyWidth,tableLayout:e.tableLayout})},[d(r,{columns:e.store.states.columns.value,"table-layout":e.tableLayout},null,8,["columns","table-layout"]),e.showHeader&&e.tableLayout==="auto"?(b(),ae(u,{key:0,ref:"tableHeaderRef",border:e.border,"default-sort":e.defaultSort,store:e.store,onSetDragVisible:e.setDragVisible},null,8,["border","default-sort","store","onSetDragVisible"])):oe("v-if",!0),d(s,{context:e.context,highlight:e.highlightCurrentRow,"row-class-name":e.rowClassName,"tooltip-effect":e.tooltipEffect,"row-style":e.rowStyle,store:e.store,stripe:e.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","row-style","store","stripe"])],6),e.isEmpty?(b(),C("div",{key:0,ref:"emptyBlock",style:nt(e.emptyBlockStyle),class:U(e.ns.e("empty-block"))},[f("span",{class:U(e.ns.e("empty-text"))},[Te(e.$slots,"empty",{},()=>[D(ce(e.computedEmptyText),1)])],2)],6)):oe("v-if",!0),e.$slots.append?(b(),C("div",{key:1,ref:"appendWrapper",class:U(e.ns.e("append-wrapper"))},[Te(e.$slots,"append")],2)):oe("v-if",!0)]),_:3},8,["view-style","wrap-style","always"])],2),e.showSummary?ye((b(),C("div",{key:1,ref:"footerWrapper",class:U(e.ns.e("footer-wrapper"))},[d(c,{border:e.border,"default-sort":e.defaultSort,store:e.store,style:nt(e.tableBodyStyles),"sum-text":e.computedSumText,"summary-method":e.summaryMethod},null,8,["border","default-sort","store","style","sum-text","summary-method"])],2)),[[Be,!e.isEmpty],[m,e.handleHeaderFooterMousewheel]]):oe("v-if",!0),e.border||e.isGroup?(b(),C("div",{key:2,class:U(e.ns.e("border-left-patch"))},null,2)):oe("v-if",!0)],6),ye(f("div",{ref:"resizeProxy",class:U(e.ns.e("column-resize-proxy"))},null,2),[[Be,e.resizeProxyVisible]])],46,kae)}var zae=je(Sae,[["render",Lae],["__file","/home/runner/work/element-plus/element-plus/packages/components/table/src/table.vue"]]);const Tae={selection:"table-column--selection",expand:"table__expand-column"},Mae={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},Vae=e=>Tae[e]||"",Hae={selection:{renderHeader({store:e}){function t(){return e.states.data.value&&e.states.data.value.length===0}return Ne($o,{disabled:t(),size:e.states.tableSize.value,indeterminate:e.states.selection.value.length>0&&!e.states.isAllSelected.value,"onUpdate:modelValue":e.toggleAllSelection,modelValue:e.states.isAllSelected.value})},renderCell({row:e,column:t,store:n,$index:o}){return Ne($o,{disabled:t.selectable?!t.selectable.call(null,e,o):!1,size:n.states.tableSize.value,onChange:()=>{n.commit("rowSelectedChanged",e)},onClick:l=>l.stopPropagation(),modelValue:n.isSelected(e)})},sortable:!1,resizable:!1},index:{renderHeader({column:e}){return e.label||"#"},renderCell({column:e,$index:t}){let n=t+1;const o=e.index;return typeof o=="number"?n=t+o:typeof o=="function"&&(n=o(t)),Ne("div",{},[n])},sortable:!1},expand:{renderHeader({column:e}){return e.label||""},renderCell({row:e,store:t,expanded:n}){const{ns:o}=t,l=[o.e("expand-icon")];return n&&l.push(o.em("expand-icon","expanded")),Ne("div",{class:l,onClick:function(r){r.stopPropagation(),t.toggleRowExpansion(e)}},{default:()=>[Ne(ut,null,{default:()=>[Ne(pa)]})]})},sortable:!1,resizable:!1}};function Iae({row:e,column:t,$index:n}){var o;const l=t.property,a=l&&Nr(e,l).value;return t&&t.formatter?t.formatter(e,t,a,n):((o=a==null?void 0:a.toString)==null?void 0:o.call(a))||""}function Rae({row:e,treeNode:t,store:n},o=!1){const{ns:l}=n;if(!t)return o?[Ne("span",{class:l.e("placeholder")})]:null;const a=[],r=function(u){u.stopPropagation(),!t.loading&&n.loadOrToggle(e)};if(t.indent&&a.push(Ne("span",{class:l.e("indent"),style:{"padding-left":`${t.indent}px`}})),typeof t.expanded=="boolean"&&!t.noLazyChildren){const u=[l.e("expand-icon"),t.expanded?l.em("expand-icon","expanded"):""];let s=pa;t.loading&&(s=cr),a.push(Ne("div",{class:u,onClick:r},{default:()=>[Ne(ut,{class:{[l.is("loading")]:t.loading}},{default:()=>[Ne(s)]})]}))}else a.push(Ne("span",{class:l.e("placeholder")}));return a}function nd(e,t){return e.reduce((n,o)=>(n[o]=o,n),t)}function Nae(e,t){const n=ft();return{registerComplexWatchers:()=>{const a=["fixed"],r={realWidth:"width",realMinWidth:"minWidth"},u=nd(a,r);Object.keys(u).forEach(s=>{const i=r[s];st(t,i)&&Ve(()=>t[i],c=>{let m=c;i==="width"&&s==="realWidth"&&(m=F2(c)),i==="minWidth"&&s==="realMinWidth"&&(m=t6(c)),n.columnConfig.value[i]=m,n.columnConfig.value[s]=m;const h=i==="fixed";e.value.store.scheduleLayout(h)})})},registerNormalWatchers:()=>{const a=["label","filters","filterMultiple","sortable","index","formatter","className","labelClassName","showOverflowTooltip"],r={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},u=nd(a,r);Object.keys(u).forEach(s=>{const i=r[s];st(t,i)&&Ve(()=>t[i],c=>{n.columnConfig.value[s]=c})})}}}function Oae(e,t,n){const o=ft(),l=z(""),a=z(!1),r=z(),u=z(),s=He("table");yo(()=>{r.value=e.align?`is-${e.align}`:null,r.value}),yo(()=>{u.value=e.headerAlign?`is-${e.headerAlign}`:r.value,u.value});const i=R(()=>{let E=o.vnode.vParent||o.parent;for(;E&&!E.tableId&&!E.columnId;)E=E.vnode.vParent||E.parent;return E}),c=R(()=>{const{store:E}=o.parent;if(!E)return!1;const{treeData:$}=E.states,T=$.value;return T&&Object.keys(T).length>0}),m=z(F2(e.width)),h=z(t6(e.minWidth)),v=E=>(m.value&&(E.width=m.value),h.value&&(E.minWidth=h.value),!m.value&&h.value&&(E.width=void 0),E.minWidth||(E.minWidth=80),E.realWidth=Number(E.width===void 0?E.minWidth:E.width),E),g=E=>{const $=E.type,T=Hae[$]||{};Object.keys(T).forEach(P=>{const H=T[P];P!=="className"&&H!==void 0&&(E[P]=H)});const B=Vae($);if(B){const P=`${_(s.namespace)}-${B}`;E.className=E.className?`${E.className} ${P}`:P}return E},y=E=>{Array.isArray(E)?E.forEach(T=>$(T)):$(E);function $(T){var B;((B=T==null?void 0:T.type)==null?void 0:B.name)==="ElTableColumn"&&(T.vParent=o)}};return{columnId:l,realAlign:r,isSubColumn:a,realHeaderAlign:u,columnOrTableParent:i,setColumnWidth:v,setColumnForcedProps:g,setColumnRenders:E=>{e.renderHeader||E.type!=="selection"&&(E.renderHeader=T=>{o.columnConfig.value.label;const B=t.header;return B?B(T):E.label});let $=E.renderCell;return E.type==="expand"?(E.renderCell=T=>Ne("div",{class:"cell"},[$(T)]),n.value.renderExpanded=T=>t.default?t.default(T):t.default):($=$||Iae,E.renderCell=T=>{let B=null;if(t.default){const j=t.default(T);B=j.some(Z=>Z.type!==on)?j:$(T)}else B=$(T);const P=c.value&&T.cellIndex===0&&T.column.type!=="selection",H=Rae(T,P),I={class:"cell",style:{}};return E.showOverflowTooltip&&(I.class=`${I.class} ${_(s.namespace)}-tooltip`,I.style={width:`${(T.column.realWidth||Number(T.column.width))-1}px`}),y(B),Ne("div",I,[H,B])}),E},getPropsData:(...E)=>E.reduce(($,T)=>(Array.isArray(T)&&T.forEach(B=>{$[B]=e[B]}),$),{}),getColumnElIndex:(E,$)=>Array.prototype.indexOf.call(E,$)}}var Uae={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showTooltipWhenOverflow:Boolean,showOverflowTooltip:Boolean,fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:e=>e.every(t=>["ascending","descending",null].includes(t))}};let Wae=1;var s6=Le({name:"ElTableColumn",components:{ElCheckbox:$o},props:Uae,setup(e,{slots:t}){const n=ft(),o=z({}),l=R(()=>{let F=n.parent;for(;F&&!F.tableId;)F=F.parent;return F}),{registerNormalWatchers:a,registerComplexWatchers:r}=Nae(l,e),{columnId:u,isSubColumn:s,realHeaderAlign:i,columnOrTableParent:c,setColumnWidth:m,setColumnForcedProps:h,setColumnRenders:v,getPropsData:g,getColumnElIndex:y,realAlign:A}=Oae(e,t,l),w=c.value;u.value=`${w.tableId||w.columnId}_column_${Wae++}`,$u(()=>{s.value=l.value!==w;const F=e.type||"default",E=e.sortable===""?!0:e.sortable,$={...Mae[F],id:u.value,type:F,property:e.prop||e.property,align:A,headerAlign:i,showOverflowTooltip:e.showOverflowTooltip||e.showTooltipWhenOverflow,filterable:e.filters||e.filterMethod,filteredValue:[],filterPlacement:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:E,index:e.index,rawColumnKey:n.vnode.key};let I=g(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement"]);I=qle($,I),I=Kle(v,m,h)(I),o.value=I,a(),r()}),at(()=>{var F;const E=c.value,$=s.value?E.vnode.el.children:(F=E.refs.hiddenColumns)==null?void 0:F.children,T=()=>y($||[],n.vnode.el);o.value.getColumnIndex=T,T()>-1&&l.value.store.commit("insertColumn",o.value,s.value?E.columnConfig.value:null)}),Rt(()=>{l.value.store.commit("removeColumn",o.value,s.value?w.columnConfig.value:null)}),n.columnId=u.value,n.columnConfig=o},render(){var e,t,n;try{const o=(t=(e=this.$slots).default)==null?void 0:t.call(e,{row:{},column:{},$index:-1}),l=[];if(Array.isArray(o))for(const r of o)((n=r.type)==null?void 0:n.name)==="ElTableColumn"||r.shapeFlag&2?l.push(r):r.type===We&&Array.isArray(r.children)&&r.children.forEach(u=>{(u==null?void 0:u.patchFlag)!==1024&&!tt(u==null?void 0:u.children)&&l.push(u)});return Ne("div",l)}catch{return Ne("div",[])}}});const i6=Et(zae,{TableColumn:s6}),c6=Nt(s6),qae="ElUpload";class jae extends Error{constructor(t,n,o,l){super(t),this.name="UploadAjaxError",this.status=n,this.method=o,this.url=l}}function od(e,t,n){let o;return n.response?o=`${n.response.error||n.response}`:n.responseText?o=`${n.responseText}`:o=`fail to ${t.method} ${e} ${n.status}`,new jae(o,n.status,t.method,e)}function Kae(e){const t=e.responseText||e.response;if(!t)return t;try{return JSON.parse(t)}catch{return t}}const Gae=e=>{typeof XMLHttpRequest=="undefined"&&gn(qae,"XMLHttpRequest is undefined");const t=new XMLHttpRequest,n=e.action;t.upload&&t.upload.addEventListener("progress",a=>{const r=a;r.percent=a.total>0?a.loaded/a.total*100:0,e.onProgress(r)});const o=new FormData;if(e.data)for(const[a,r]of Object.entries(e.data))Array.isArray(r)?o.append(a,...r):o.append(a,r);o.append(e.filename,e.file,e.file.name),t.addEventListener("error",()=>{e.onError(od(n,e,t))}),t.addEventListener("load",()=>{if(t.status<200||t.status>=300)return e.onError(od(n,e,t));e.onSuccess(Kae(t))}),t.open(e.method,n,!0),e.withCredentials&&"withCredentials"in t&&(t.withCredentials=!0);const l=e.headers||{};if(l instanceof Headers)l.forEach((a,r)=>t.setRequestHeader(r,a));else for(const[a,r]of Object.entries(l))no(r)||t.setRequestHeader(a,String(r));return t.send(o),t},d6=["text","picture","picture-card"];let Yae=1;const f6=()=>Date.now()+Yae++,p6=et({action:{type:String,default:"#"},headers:{type:Ue(Object)},method:{type:String,default:"post"},data:{type:Object,default:()=>Fo({})},multiple:{type:Boolean,default:!1},name:{type:String,default:"file"},drag:{type:Boolean,default:!1},withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},type:{type:String,default:"select"},fileList:{type:Ue(Array),default:()=>Fo([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:d6,default:"text"},httpRequest:{type:Ue(Function),default:Gae},disabled:Boolean,limit:Number}),Xae=et({...p6,beforeUpload:{type:Ue(Function),default:vt},beforeRemove:{type:Ue(Function)},onRemove:{type:Ue(Function),default:vt},onChange:{type:Ue(Function),default:vt},onPreview:{type:Ue(Function),default:vt},onSuccess:{type:Ue(Function),default:vt},onProgress:{type:Ue(Function),default:vt},onError:{type:Ue(Function),default:vt},onExceed:{type:Ue(Function),default:vt}}),Jae=et({files:{type:Ue(Array),default:()=>Fo([])},disabled:{type:Boolean,default:!1},handlePreview:{type:Ue(Function),default:vt},listType:{type:String,values:d6,default:"text"}}),Qae={remove:e=>!!e},Zae=["onKeydown"],ere=["src"],tre=["onClick"],nre=["onClick"],ore=["onClick"],lre={name:"ElUploadList"},are=Le({...lre,props:Jae,emits:Qae,setup(e,{emit:t}){const{t:n}=bn(),o=He("upload"),l=He("icon"),a=He("list"),r=z(!1),u=s=>{t("remove",s)};return(s,i)=>(b(),ae(d8,{tag:"ul",class:U([_(o).b("list"),_(o).bm("list",s.listType),_(o).is("disabled",s.disabled)]),name:_(a).b()},{default:p(()=>[(b(!0),C(We,null,pt(s.files,c=>(b(),C("li",{key:c.uid||c.name,class:U([_(o).be("list","item"),_(o).is(c.status),{focusing:r.value}]),tabindex:"0",onKeydown:Bt(m=>!s.disabled&&u(c),["delete"]),onFocus:i[0]||(i[0]=m=>r.value=!0),onBlur:i[1]||(i[1]=m=>r.value=!1),onClick:i[2]||(i[2]=m=>r.value=!1)},[Te(s.$slots,"default",{file:c},()=>[s.listType==="picture"||c.status!=="uploading"&&s.listType==="picture-card"?(b(),C("img",{key:0,class:U(_(o).be("list","item-thumbnail")),src:c.url,alt:""},null,10,ere)):oe("v-if",!0),c.status==="uploading"||s.listType!=="picture-card"?(b(),C("div",{key:1,class:U(_(o).be("list","item-info"))},[f("a",{class:U(_(o).be("list","item-name")),onClick:ht(m=>s.handlePreview(c),["prevent"])},[d(_(ut),{class:U(_(l).m("document"))},{default:p(()=>[d(_(bf))]),_:1},8,["class"]),f("span",{class:U(_(o).be("list","item-file-name"))},ce(c.name),3)],10,tre),c.status==="uploading"?(b(),ae(_(Dle),{key:0,type:s.listType==="picture-card"?"circle":"line","stroke-width":s.listType==="picture-card"?6:2,percentage:Number(c.percentage),style:nt(s.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):oe("v-if",!0)],2)):oe("v-if",!0),f("label",{class:U(_(o).be("list","item-status-label"))},[s.listType==="text"?(b(),ae(_(ut),{key:0,class:U([_(l).m("upload-success"),_(l).m("circle-check")])},{default:p(()=>[d(_(Mu))]),_:1},8,["class"])):["picture-card","picture"].includes(s.listType)?(b(),ae(_(ut),{key:1,class:U([_(l).m("upload-success"),_(l).m("check")])},{default:p(()=>[d(_(Zi))]),_:1},8,["class"])):oe("v-if",!0)],2),s.disabled?oe("v-if",!0):(b(),ae(_(ut),{key:2,class:U(_(l).m("close")),onClick:m=>u(c)},{default:p(()=>[d(_(Cl))]),_:2},1032,["class","onClick"])),oe(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),oe(" This is a bug which needs to be fixed "),oe(" TODO: Fix the incorrect navigation interaction "),s.disabled?oe("v-if",!0):(b(),C("i",{key:3,class:U(_(l).m("close-tip"))},ce(_(n)("el.upload.deleteTip")),3)),s.listType==="picture-card"?(b(),C("span",{key:4,class:U(_(o).be("list","item-actions"))},[f("span",{class:U(_(o).be("list","item-preview")),onClick:m=>s.handlePreview(c)},[d(_(ut),{class:U(_(l).m("zoom-in"))},{default:p(()=>[d(_(Ff))]),_:1},8,["class"])],10,nre),s.disabled?oe("v-if",!0):(b(),C("span",{key:0,class:U(_(o).be("list","item-delete")),onClick:m=>u(c)},[d(_(ut),{class:U(_(l).m("delete"))},{default:p(()=>[d(_(gf))]),_:1},8,["class"])],10,ore))],2)):oe("v-if",!0)])],42,Zae))),128)),Te(s.$slots,"append")]),_:3},8,["class","name"]))}});var ld=je(are,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-list.vue"]]);const rre=et({disabled:{type:Boolean,default:!1}}),ure={file:e=>Ye(e)},sre=["onDrop","onDragover"],ire={name:"ElUploadDrag"},cre=Le({...ire,props:rre,emits:ure,setup(e,{emit:t}){const n=e,o="ElUploadDrag",l=Ze(Hf);l||gn(o,"usage: ");const a=He("upload"),r=z(!1),u=i=>{if(n.disabled)return;r.value=!1;const c=Array.from(i.dataTransfer.files),m=l.accept.value;if(!m){t("file",c);return}const h=c.filter(v=>{const{type:g,name:y}=v,A=y.includes(".")?`.${y.split(".").pop()}`:"",w=g.replace(/\/.*$/,"");return m.split(",").map(F=>F.trim()).filter(F=>F).some(F=>F.startsWith(".")?A===F:/\/\*$/.test(F)?w===F.replace(/\/\*$/,""):/^[^/]+\/[^/]+$/.test(F)?g===F:!1)});t("file",h)},s=()=>{n.disabled||(r.value=!0)};return(i,c)=>(b(),C("div",{class:U([_(a).b("dragger"),_(a).is("dragover",r.value)]),onDrop:ht(u,["prevent"]),onDragover:ht(s,["prevent"]),onDragleave:c[0]||(c[0]=ht(m=>r.value=!1,["prevent"]))},[Te(i.$slots,"default")],42,sre))}});var dre=je(cre,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-dragger.vue"]]);const fre=et({...p6,beforeUpload:{type:Ue(Function),default:vt},onRemove:{type:Ue(Function),default:vt},onStart:{type:Ue(Function),default:vt},onSuccess:{type:Ue(Function),default:vt},onProgress:{type:Ue(Function),default:vt},onError:{type:Ue(Function),default:vt},onExceed:{type:Ue(Function),default:vt}}),pre=["onKeydown"],vre=["name","multiple","accept"],hre={name:"ElUploadContent",inheritAttrs:!1},_re=Le({...hre,props:fre,setup(e,{expose:t}){const n=e,o=He("upload"),l=In({}),a=In(),r=v=>{if(v.length===0)return;const{autoUpload:g,limit:y,fileList:A,multiple:w,onStart:F,onExceed:E}=n;if(y&&A.length+v.length>y){E(v,A);return}w||(v=v.slice(0,1));for(const $ of v){const T=$;T.uid=f6(),F(T),g&&u(T)}},u=async v=>{if(a.value.value="",!n.beforeUpload)return s(v);let g;try{g=await n.beforeUpload(v)}catch{g=!1}if(g===!1){n.onRemove(v);return}let y=v;g instanceof Blob&&(g instanceof File?y=g:y=new File([g],v.name,{type:v.type})),s(Object.assign(y,{uid:v.uid}))},s=v=>{const{headers:g,data:y,method:A,withCredentials:w,name:F,action:E,onProgress:$,onSuccess:T,onError:B,httpRequest:P}=n,{uid:H}=v,I={headers:g||{},withCredentials:w,file:v,data:y,method:A,filename:F,action:E,onProgress:Z=>{$(Z,v)},onSuccess:Z=>{T(Z,v),delete l.value[H]},onError:Z=>{B(Z,v),delete l.value[H]}},j=P(I);l.value[H]=j,j instanceof Promise&&j.then(I.onSuccess,I.onError)},i=v=>{const g=v.target.files;!g||r(Array.from(g))},c=()=>{n.disabled||(a.value.value="",a.value.click())},m=()=>{c()};return t({abort:v=>{Ym(l.value).filter(v?([y])=>String(v.uid)===y:()=>!0).forEach(([y,A])=>{A instanceof XMLHttpRequest&&A.abort(),delete l.value[y]})},upload:u}),(v,g)=>(b(),C("div",{class:U([_(o).b(),_(o).m(v.listType),_(o).is("drag",v.drag)]),tabindex:"0",onClick:c,onKeydown:Bt(ht(m,["self"]),["enter","space"])},[v.drag?(b(),ae(dre,{key:0,disabled:v.disabled,onFile:r},{default:p(()=>[Te(v.$slots,"default")]),_:3},8,["disabled"])):Te(v.$slots,"default",{key:1}),f("input",{ref_key:"inputRef",ref:a,class:U(_(o).e("input")),name:v.name,multiple:v.multiple,accept:v.accept,type:"file",onChange:i,onClick:g[0]||(g[0]=ht(()=>{},["stop"]))},null,42,vre)],42,pre))}});var ad=je(_re,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload-content.vue"]]);const rd="ElUpload",mre=e=>{var t;(t=e.url)!=null&&t.startsWith("blob:")&&URL.revokeObjectURL(e.url)},gre=(e,t)=>{const n=jm(e,"fileList",void 0,{passive:!0}),o=h=>n.value.find(v=>v.uid===h.uid);function l(h){var v;(v=t.value)==null||v.abort(h)}function a(h=["ready","uploading","success","fail"]){n.value=n.value.filter(v=>!h.includes(v.status))}const r=(h,v)=>{const g=o(v);!g||(console.error(h),g.status="fail",n.value.splice(n.value.indexOf(g),1),e.onError(h,g,n.value),e.onChange(g,n.value))},u=(h,v)=>{const g=o(v);!g||(e.onProgress(h,g,n.value),g.status="uploading",g.percentage=Math.round(h.percent))},s=(h,v)=>{const g=o(v);!g||(g.status="success",g.response=h,e.onSuccess(h,g,n.value),e.onChange(g,n.value))},i=h=>{const v={name:h.name,percentage:0,status:"ready",size:h.size,raw:h,uid:h.uid};if(e.listType==="picture-card"||e.listType==="picture")try{v.url=URL.createObjectURL(h)}catch(g){g.message,e.onError(g,v,n.value)}n.value=[...n.value,v],e.onChange(v,n.value)},c=async h=>{const v=h instanceof File?o(h):h;v||gn(rd,"file to be removed not found");const g=y=>{l(y);const A=n.value;A.splice(A.indexOf(y),1),e.onRemove(y,A),mre(y)};e.beforeRemove?await e.beforeRemove(v,n.value)!==!1&&g(v):g(v)};function m(){n.value.filter(({status:h})=>h==="ready").forEach(({raw:h})=>{var v;return h&&((v=t.value)==null?void 0:v.upload(h))})}return Ve(()=>e.listType,h=>{h!=="picture-card"&&h!=="picture"||(n.value=n.value.map(v=>{const{raw:g,url:y}=v;if(!y&&g)try{v.url=URL.createObjectURL(g)}catch(A){e.onError(A,v,n.value)}return v}))}),Ve(n,h=>{for(const v of h)v.uid||(v.uid=f6()),v.status||(v.status="success")},{immediate:!0,deep:!0}),{uploadFiles:n,abort:l,clearFiles:a,handleError:r,handleProgress:u,handleStart:i,handleSuccess:s,handleRemove:c,submit:m}},bre={name:"ElUpload"},yre=Le({...bre,props:Xae,setup(e,{expose:t}){const n=e,o=So(),l=Bl(),a=In(),{abort:r,submit:u,clearFiles:s,uploadFiles:i,handleStart:c,handleError:m,handleRemove:h,handleSuccess:v,handleProgress:g}=gre(n,a),y=R(()=>n.listType==="picture-card"),A=R(()=>({...n,fileList:i.value,onStart:c,onProgress:g,onSuccess:v,onError:m,onRemove:h}));return Rt(()=>{i.value.forEach(({url:w})=>{w!=null&&w.startsWith("blob:")&&URL.revokeObjectURL(w)})}),$t(Hf,{accept:$n(n,"accept")}),t({abort:r,submit:u,clearFiles:s,handleStart:c,handleRemove:h}),(w,F)=>(b(),C("div",null,[_(y)&&w.showFileList?(b(),ae(ld,{key:0,disabled:_(l),"list-type":w.listType,files:_(i),"handle-preview":w.onPreview,onRemove:_(h)},jl({append:p(()=>[d(ad,An({ref_key:"uploadRef",ref:a},_(A)),{default:p(()=>[_(o).trigger?Te(w.$slots,"trigger",{key:0}):oe("v-if",!0),!_(o).trigger&&_(o).default?Te(w.$slots,"default",{key:1}):oe("v-if",!0)]),_:3},16)]),_:2},[w.$slots.file?{name:"default",fn:p(({file:E})=>[Te(w.$slots,"file",{file:E})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):oe("v-if",!0),!_(y)||_(y)&&!w.showFileList?(b(),ae(ad,An({key:1,ref_key:"uploadRef",ref:a},_(A)),{default:p(()=>[_(o).trigger?Te(w.$slots,"trigger",{key:0}):oe("v-if",!0),!_(o).trigger&&_(o).default?Te(w.$slots,"default",{key:1}):oe("v-if",!0)]),_:3},16)):oe("v-if",!0),w.$slots.trigger?Te(w.$slots,"default",{key:2}):oe("v-if",!0),Te(w.$slots,"tip"),!_(y)&&w.showFileList?(b(),ae(ld,{key:3,disabled:_(l),"list-type":w.listType,files:_(i),"handle-preview":w.onPreview,onRemove:_(h)},jl({_:2},[w.$slots.file?{name:"default",fn:p(({file:E})=>[Te(w.$slots,"file",{file:E})])}:void 0]),1032,["disabled","list-type","files","handle-preview","onRemove"])):oe("v-if",!0)]))}});var wre=je(yre,[["__file","/home/runner/work/element-plus/element-plus/packages/components/upload/src/upload.vue"]]);const v6=Et(wre);function Cre(e){let t;const n=He("loading"),o=z(!1),l=It({...e,originalPosition:"",originalOverflow:"",visible:!1});function a(v){l.text=v}function r(){const v=l.parent;if(!v.vLoadingAddClassList){let g=v.getAttribute("loading-number");g=Number.parseInt(g)-1,g?v.setAttribute("loading-number",g.toString()):(Rn(v,n.bm("parent","relative")),v.removeAttribute("loading-number")),Rn(v,n.bm("parent","hidden"))}u(),m.unmount()}function u(){var v,g;(g=(v=h.$el)==null?void 0:v.parentNode)==null||g.removeChild(h.$el)}function s(){var v;e.beforeClose&&!e.beforeClose()||(o.value=!0,clearTimeout(t),t=window.setTimeout(i,400),l.visible=!1,(v=e.closed)==null||v.call(e))}function i(){if(!o.value)return;const v=l.parent;o.value=!1,v.vLoadingAddClassList=void 0,r()}const m=H1({name:"ElLoading",setup(){return()=>{const v=l.spinner||l.svg,g=Ne("svg",{class:"circular",viewBox:l.svgViewBox?l.svgViewBox:"25 25 50 50",...v?{innerHTML:v}:{}},[Ne("circle",{class:"path",cx:"50",cy:"50",r:"20",fill:"none"})]),y=l.text?Ne("p",{class:n.b("text")},[l.text]):void 0;return Ne(Zt,{name:n.b("fade"),onAfterLeave:i},{default:p(()=>[ye(d("div",{style:{backgroundColor:l.background||""},class:[n.b("mask"),l.customClass,l.fullscreen?"is-fullscreen":""]},[Ne("div",{class:n.b("spinner")},[g,y])]),[[Be,l.visible]])])})}}}),h=m.mount(document.createElement("div"));return{...On(l),setText:a,removeElLoadingChild:u,close:s,handleAfterLeave:i,vm:h,get $el(){return h.$el}}}let kr;const Ere=function(e={}){if(!_t)return;const t=Are(e);if(t.fullscreen&&kr)return kr;const n=Cre({...t,closed:()=>{var l;(l=t.closed)==null||l.call(t),t.fullscreen&&(kr=void 0)}});Fre(t,t.parent,n),ud(t,t.parent,n),t.parent.vLoadingAddClassList=()=>ud(t,t.parent,n);let o=t.parent.getAttribute("loading-number");return o?o=`${Number.parseInt(o)+1}`:o="1",t.parent.setAttribute("loading-number",o),t.parent.appendChild(n.$el),rt(()=>n.visible.value=t.visible),t.fullscreen&&(kr=n),n},Are=e=>{var t,n,o,l;let a;return tt(e.target)?a=(t=document.querySelector(e.target))!=null?t:document.body:a=e.target||document.body,{parent:a===document.body||e.body?document.body:a,background:e.background||"",svg:e.svg||"",svgViewBox:e.svgViewBox||"",spinner:e.spinner||!1,text:e.text||"",fullscreen:a===document.body&&((n=e.fullscreen)!=null?n:!0),lock:(o=e.lock)!=null?o:!1,customClass:e.customClass||"",visible:(l=e.visible)!=null?l:!0,target:a}},Fre=async(e,t,n)=>{const{nextZIndex:o}=kl(),l={};if(e.fullscreen)n.originalPosition.value=mo(document.body,"position"),n.originalOverflow.value=mo(document.body,"overflow"),l.zIndex=o();else if(e.parent===document.body){n.originalPosition.value=mo(document.body,"position"),await rt();for(const a of["top","left"]){const r=a==="top"?"scrollTop":"scrollLeft";l[a]=`${e.target.getBoundingClientRect()[a]+document.body[r]+document.documentElement[r]-Number.parseInt(mo(document.body,`margin-${a}`),10)}px`}for(const a of["height","width"])l[a]=`${e.target.getBoundingClientRect()[a]}px`}else n.originalPosition.value=mo(t,"position");for(const[a,r]of Object.entries(l))n.$el.style[a]=r},ud=(e,t,n)=>{const o=He("loading");["absolute","fixed","sticky"].includes(n.originalPosition.value)?Rn(t,o.bm("parent","relative")):go(t,o.bm("parent","relative")),e.fullscreen&&e.lock?go(t,o.bm("parent","hidden")):Rn(t,o.bm("parent","hidden"))},fi=Symbol("ElLoading"),sd=(e,t)=>{var n,o,l,a;const r=t.instance,u=h=>ct(t.value)?t.value[h]:void 0,s=h=>{const v=tt(h)&&(r==null?void 0:r[h])||h;return v&&z(v)},i=h=>s(u(h)||e.getAttribute(`element-loading-${el(h)}`)),c=(n=u("fullscreen"))!=null?n:t.modifiers.fullscreen,m={text:i("text"),svg:i("svg"),svgViewBox:i("svgViewBox"),spinner:i("spinner"),background:i("background"),customClass:i("customClass"),fullscreen:c,target:(o=u("target"))!=null?o:c?void 0:e,body:(l=u("body"))!=null?l:t.modifiers.body,lock:(a=u("lock"))!=null?a:t.modifiers.lock};e[fi]={options:m,instance:Ere(m)}},xre=(e,t)=>{for(const n of Object.keys(t))gt(t[n])&&(t[n].value=e[n])},Ku={mounted(e,t){t.value&&sd(e,t)},updated(e,t){const n=e[fi];t.oldValue!==t.value&&(t.value&&!t.oldValue?sd(e,t):t.value&&t.oldValue?ct(t.value)&&xre(t.value,n.options):n==null||n.instance.close())},unmounted(e){var t;(t=e[fi])==null||t.instance.close()}},h6=["success","info","warning","error"],tn=Fo({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:_t?document.body:void 0}),$re=et({customClass:{type:String,default:tn.customClass},center:{type:Boolean,default:tn.center},dangerouslyUseHTMLString:{type:Boolean,default:tn.dangerouslyUseHTMLString},duration:{type:Number,default:tn.duration},icon:{type:Lt,default:tn.icon},id:{type:String,default:tn.id},message:{type:Ue([String,Object,Function]),default:tn.message},onClose:{type:Ue(Function),required:!1},showClose:{type:Boolean,default:tn.showClose},type:{type:String,values:h6,default:tn.type},offset:{type:Number,default:tn.offset},zIndex:{type:Number,default:tn.zIndex},grouping:{type:Boolean,default:tn.grouping},repeatNum:{type:Number,default:tn.repeatNum}}),Dre={destroy:()=>!0},eo=Ud([]),Bre=e=>{const t=eo.findIndex(l=>l.id===e),n=eo[t];let o;return t>0&&(o=eo[t-1]),{current:n,prev:o}},Sre=e=>{const{prev:t}=Bre(e);return t?t.vm.exposed.bottom.value:0},kre=["id"],Pre=["innerHTML"],Lre={name:"ElMessage"},zre=Le({...Lre,props:$re,emits:Dre,setup(e,{expose:t}){const n=e,{Close:o}=Df,l=He("message"),a=z(),r=z(!1),u=z(0);let s;const i=R(()=>n.type?n.type==="error"?"danger":n.type:"info"),c=R(()=>{const $=n.type;return{[l.bm("icon",$)]:$&&Zl[$]}}),m=R(()=>n.icon||Zl[n.type]||""),h=R(()=>Sre(n.id)),v=R(()=>n.offset+h.value),g=R(()=>u.value+v.value),y=R(()=>({top:`${v.value}px`,zIndex:n.zIndex}));function A(){n.duration!==0&&({stop:s}=Ql(()=>{F()},n.duration))}function w(){s==null||s()}function F(){r.value=!1}function E({code:$}){$===Pt.esc&&F()}return at(()=>{A(),r.value=!0}),Ve(()=>n.repeatNum,()=>{w(),A()}),Kt(document,"keydown",E),ro(a,()=>{u.value=a.value.getBoundingClientRect().height}),t({visible:r,bottom:g,close:F}),($,T)=>(b(),ae(Zt,{name:_(l).b("fade"),onBeforeLeave:$.onClose,onAfterLeave:T[0]||(T[0]=B=>$.$emit("destroy")),persisted:""},{default:p(()=>[ye(f("div",{id:$.id,ref_key:"messageRef",ref:a,class:U([_(l).b(),{[_(l).m($.type)]:$.type&&!$.icon},_(l).is("center",$.center),_(l).is("closable",$.showClose),$.customClass]),style:nt(_(y)),role:"alert",onMouseenter:w,onMouseleave:A},[$.repeatNum>1?(b(),ae(_(CZ),{key:0,value:$.repeatNum,type:_(i),class:U(_(l).e("badge"))},null,8,["value","type","class"])):oe("v-if",!0),_(m)?(b(),ae(_(ut),{key:1,class:U([_(l).e("icon"),_(c)])},{default:p(()=>[(b(),ae(yt(_(m))))]),_:1},8,["class"])):oe("v-if",!0),Te($.$slots,"default",{},()=>[$.dangerouslyUseHTMLString?(b(),C(We,{key:1},[oe(" Caution here, message could've been compromised, never use user's input as message "),f("p",{class:U(_(l).e("content")),innerHTML:$.message},null,10,Pre)],2112)):(b(),C("p",{key:0,class:U(_(l).e("content"))},ce($.message),3))]),$.showClose?(b(),ae(_(ut),{key:2,class:U(_(l).e("closeBtn")),onClick:ht(F,["stop"])},{default:p(()=>[d(_(o))]),_:1},8,["class","onClick"])):oe("v-if",!0)],46,kre),[[Be,r.value]])]),_:3},8,["name","onBeforeLeave"]))}});var Tre=je(zre,[["__file","/home/runner/work/element-plus/element-plus/packages/components/message/src/message.vue"]]);let Mre=1;const _6=e=>{const t=!e||tt(e)||mn(e)||Je(e)?{message:e}:e,n={...tn,...t};if(!n.appendTo)n.appendTo=document.body;else if(tt(n.appendTo)){let o=document.querySelector(n.appendTo);Qo(o)||(o=document.body),n.appendTo=o}return n},Vre=e=>{const t=eo.indexOf(e);if(t===-1)return;eo.splice(t,1);const{handler:n}=e;n.close()},Hre=({appendTo:e,...t},n)=>{const{nextZIndex:o}=kl(),l=`message_${Mre++}`,a=t.onClose,r=document.createElement("div"),u={...t,zIndex:o()+t.zIndex,id:l,onClose:()=>{a==null||a(),Vre(m)},onDestroy:()=>{Yl(null,r)}},s=d(Tre,u,Je(u.message)||mn(u.message)?{default:Je(u.message)?u.message:()=>u.message}:null);s.appContext=n||ra._context,Yl(s,r),e.appendChild(r.firstElementChild);const i=s.component,m={id:l,vnode:s,vm:i,handler:{close:()=>{i.exposed.visible.value=!1}},props:s.component.props};return m},ra=(e={},t)=>{if(!_t)return{close:()=>{}};if(mt(ai.max)&&eo.length>=ai.max)return{close:()=>{}};const n=_6(e);if(n.grouping&&eo.length){const l=eo.find(({vnode:a})=>{var r;return((r=a.props)==null?void 0:r.message)===n.message});if(l)return l.props.repeatNum+=1,l.props.type=n.type,l.handler}const o=Hre(n,t);return eo.push(o),o.handler};h6.forEach(e=>{ra[e]=(t={},n)=>{const o=_6(t);return ra({...o,type:e},n)}});function Ire(e){for(const t of eo)(!e||e===t.props.type)&&t.handler.close()}ra.closeAll=Ire;ra._context=null;const m6=Bf(ra,"$message"),Rre=Le({name:"ElMessageBox",directives:{TrapFocus:YZ},components:{ElButton:kn,ElFocusTrap:_2,ElInput:yn,ElOverlay:O4,ElIcon:ut,...Df},inheritAttrs:!1,props:{buttonSize:{type:String,validator:o2},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(e,{emit:t}){const{t:n}=bn(),o=He("message-box"),l=z(!1),{nextZIndex:a}=kl(),r=It({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:a()}),u=R(()=>{const N=r.type;return{[o.bm("icon",N)]:N&&Zl[N]}}),s=Zo(),i=Zo(),c=Qt(R(()=>e.buttonSize),{prop:!0,form:!0,formItem:!0}),m=R(()=>r.icon||Zl[r.type]||""),h=R(()=>!!r.message),v=z(),g=z(),y=z(),A=z(),w=z(),F=R(()=>r.confirmButtonClass);Ve(()=>r.inputValue,async N=>{await rt(),e.boxType==="prompt"&&N!==null&&I()},{immediate:!0}),Ve(()=>l.value,N=>{var Y,ge;N&&(e.boxType!=="prompt"&&(r.autofocus?y.value=(ge=(Y=w.value)==null?void 0:Y.$el)!=null?ge:v.value:y.value=v.value),r.zIndex=a()),e.boxType==="prompt"&&(N?rt().then(()=>{var fe;A.value&&A.value.$el&&(r.autofocus?y.value=(fe=j())!=null?fe:v.value:y.value=v.value)}):(r.editorErrorMessage="",r.validateError=!1))});const E=R(()=>e.draggable);Nf(v,g,E),at(async()=>{await rt(),e.closeOnHashChange&&window.addEventListener("hashchange",$)}),Rt(()=>{e.closeOnHashChange&&window.removeEventListener("hashchange",$)});function $(){!l.value||(l.value=!1,rt(()=>{r.action&&t("action",r.action)}))}const T=()=>{e.closeOnClickModal&&H(r.distinguishCancelAndClose?"close":"cancel")},B=u2(T),P=N=>{if(r.inputType!=="textarea")return N.preventDefault(),H("confirm")},H=N=>{var Y;e.boxType==="prompt"&&N==="confirm"&&!I()||(r.action=N,r.beforeClose?(Y=r.beforeClose)==null||Y.call(r,N,r,$):$())},I=()=>{if(e.boxType==="prompt"){const N=r.inputPattern;if(N&&!N.test(r.inputValue||""))return r.editorErrorMessage=r.inputErrorMessage||n("el.messagebox.error"),r.validateError=!0,!1;const Y=r.inputValidator;if(typeof Y=="function"){const ge=Y(r.inputValue);if(ge===!1)return r.editorErrorMessage=r.inputErrorMessage||n("el.messagebox.error"),r.validateError=!0,!1;if(typeof ge=="string")return r.editorErrorMessage=ge,r.validateError=!0,!1}}return r.editorErrorMessage="",r.validateError=!1,!0},j=()=>{const N=A.value.$refs;return N.input||N.textarea},Z=()=>{H("close")},G=()=>{e.closeOnPressEscape&&Z()};return e.lockScroll&&Of(l),LX(l),{...On(r),ns:o,overlayEvent:B,visible:l,hasMessage:h,typeClass:u,contentId:s,inputId:i,btnSize:c,iconComponent:m,confirmButtonClasses:F,rootRef:v,focusStartRef:y,headerRef:g,inputRef:A,confirmRef:w,doClose:$,handleClose:Z,onCloseRequested:G,handleWrapperClick:T,handleInputEnter:P,handleAction:H,t:n}}}),Nre=["aria-label","aria-describedby"],Ore=["aria-label"],Ure=["id"];function Wre(e,t,n,o,l,a){const r=Qe("el-icon"),u=Qe("close"),s=Qe("el-input"),i=Qe("el-button"),c=Qe("el-focus-trap"),m=Qe("el-overlay");return b(),ae(Zt,{name:"fade-in-linear",onAfterLeave:t[11]||(t[11]=h=>e.$emit("vanish")),persisted:""},{default:p(()=>[ye(d(m,{"z-index":e.zIndex,"overlay-class":[e.ns.is("message-box"),e.modalClass],mask:e.modal},{default:p(()=>[f("div",{role:"dialog","aria-label":e.title,"aria-modal":"true","aria-describedby":e.showInput?void 0:e.contentId,class:U(`${e.ns.namespace.value}-overlay-message-box`),onClick:t[8]||(t[8]=(...h)=>e.overlayEvent.onClick&&e.overlayEvent.onClick(...h)),onMousedown:t[9]||(t[9]=(...h)=>e.overlayEvent.onMousedown&&e.overlayEvent.onMousedown(...h)),onMouseup:t[10]||(t[10]=(...h)=>e.overlayEvent.onMouseup&&e.overlayEvent.onMouseup(...h))},[d(c,{loop:"",trapped:e.visible,"focus-trap-el":e.rootRef,"focus-start-el":e.focusStartRef,onReleaseRequested:e.onCloseRequested},{default:p(()=>[f("div",{ref:"rootRef",class:U([e.ns.b(),e.customClass,e.ns.is("draggable",e.draggable),{[e.ns.m("center")]:e.center}]),style:nt(e.customStyle),tabindex:"-1",onClick:t[7]||(t[7]=ht(()=>{},["stop"]))},[e.title!==null&&e.title!==void 0?(b(),C("div",{key:0,ref:"headerRef",class:U(e.ns.e("header"))},[f("div",{class:U(e.ns.e("title"))},[e.iconComponent&&e.center?(b(),ae(r,{key:0,class:U([e.ns.e("status"),e.typeClass])},{default:p(()=>[(b(),ae(yt(e.iconComponent)))]),_:1},8,["class"])):oe("v-if",!0),f("span",null,ce(e.title),1)],2),e.showClose?(b(),C("button",{key:0,type:"button",class:U(e.ns.e("headerbtn")),"aria-label":e.t("el.messagebox.close"),onClick:t[0]||(t[0]=h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel")),onKeydown:t[1]||(t[1]=Bt(ht(h=>e.handleAction(e.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"]))},[d(r,{class:U(e.ns.e("close"))},{default:p(()=>[d(u)]),_:1},8,["class"])],42,Ore)):oe("v-if",!0)],2)):oe("v-if",!0),f("div",{id:e.contentId,class:U(e.ns.e("content"))},[f("div",{class:U(e.ns.e("container"))},[e.iconComponent&&!e.center&&e.hasMessage?(b(),ae(r,{key:0,class:U([e.ns.e("status"),e.typeClass])},{default:p(()=>[(b(),ae(yt(e.iconComponent)))]),_:1},8,["class"])):oe("v-if",!0),e.hasMessage?(b(),C("div",{key:1,class:U(e.ns.e("message"))},[Te(e.$slots,"default",{},()=>[e.dangerouslyUseHTMLString?(b(),ae(yt(e.showInput?"label":"p"),{key:1,for:e.showInput?e.inputId:void 0,innerHTML:e.message},null,8,["for","innerHTML"])):(b(),ae(yt(e.showInput?"label":"p"),{key:0,for:e.showInput?e.inputId:void 0},{default:p(()=>[D(ce(e.dangerouslyUseHTMLString?"":e.message),1)]),_:1},8,["for"]))])],2)):oe("v-if",!0)],2),ye(f("div",{class:U(e.ns.e("input"))},[d(s,{id:e.inputId,ref:"inputRef",modelValue:e.inputValue,"onUpdate:modelValue":t[2]||(t[2]=h=>e.inputValue=h),type:e.inputType,placeholder:e.inputPlaceholder,"aria-invalid":e.validateError,class:U({invalid:e.validateError}),onKeydown:Bt(e.handleInputEnter,["enter"])},null,8,["id","modelValue","type","placeholder","aria-invalid","class","onKeydown"]),f("div",{class:U(e.ns.e("errormsg")),style:nt({visibility:e.editorErrorMessage?"visible":"hidden"})},ce(e.editorErrorMessage),7)],2),[[Be,e.showInput]])],10,Ure),f("div",{class:U(e.ns.e("btns"))},[e.showCancelButton?(b(),ae(i,{key:0,loading:e.cancelButtonLoading,class:U([e.cancelButtonClass]),round:e.roundButton,size:e.btnSize,onClick:t[3]||(t[3]=h=>e.handleAction("cancel")),onKeydown:t[4]||(t[4]=Bt(ht(h=>e.handleAction("cancel"),["prevent"]),["enter"]))},{default:p(()=>[D(ce(e.cancelButtonText||e.t("el.messagebox.cancel")),1)]),_:1},8,["loading","class","round","size"])):oe("v-if",!0),ye(d(i,{ref:"confirmRef",type:"primary",loading:e.confirmButtonLoading,class:U([e.confirmButtonClasses]),round:e.roundButton,disabled:e.confirmButtonDisabled,size:e.btnSize,onClick:t[5]||(t[5]=h=>e.handleAction("confirm")),onKeydown:t[6]||(t[6]=Bt(ht(h=>e.handleAction("confirm"),["prevent"]),["enter"]))},{default:p(()=>[D(ce(e.confirmButtonText||e.t("el.messagebox.confirm")),1)]),_:1},8,["loading","class","round","disabled","size"]),[[Be,e.showConfirmButton]])],2)],6)]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,Nre)]),_:3},8,["z-index","overlay-class","mask"]),[[Be,e.visible]])]),_:3})}var qre=je(Rre,[["render",Wre],["__file","/home/runner/work/element-plus/element-plus/packages/components/message-box/src/index.vue"]]);const or=new Map,jre=(e,t,n=null)=>{const o=d(qre,e,Je(e.message)||mn(e.message)?{default:Je(e.message)?e.message:()=>e.message}:null);return o.appContext=n,Yl(o,t),document.body.appendChild(t.firstElementChild),o.component},Kre=()=>document.createElement("div"),Gre=(e,t)=>{const n=Kre();e.onVanish=()=>{Yl(null,n),or.delete(l)},e.onAction=a=>{const r=or.get(l);let u;e.showInput?u={value:l.inputValue,action:a}:u=a,e.callback?e.callback(u,o.proxy):a==="cancel"||a==="close"?e.distinguishCancelAndClose&&a!=="cancel"?r.reject("close"):r.reject("cancel"):r.resolve(u)};const o=jre(e,n,t),l=o.proxy;for(const a in e)st(e,a)&&!st(l.$props,a)&&(l[a]=e[a]);return l.visible=!0,l};function ba(e,t=null){if(!_t)return Promise.reject();let n;return tt(e)||mn(e)?e={message:e}:n=e.callback,new Promise((o,l)=>{const a=Gre(e,t!=null?t:ba._context);or.set(a,{options:e,callback:n,resolve:o,reject:l})})}const Yre=["alert","confirm","prompt"],Xre={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};Yre.forEach(e=>{ba[e]=Jre(e)});function Jre(e){return(t,n,o,l)=>{let a="";return ct(n)?(o=n,a=""):Ko(n)?a="":a=n,ba(Object.assign({title:a,message:t,type:"",...Xre[e]},o,{boxType:e}),l)}}ba.close=()=>{or.forEach((e,t)=>{t.doClose()}),or.clear()};ba._context=null;const Oo=ba;Oo.install=e=>{Oo._context=e._context,e.config.globalProperties.$msgbox=Oo,e.config.globalProperties.$messageBox=Oo,e.config.globalProperties.$alert=Oo.alert,e.config.globalProperties.$confirm=Oo.confirm,e.config.globalProperties.$prompt=Oo.prompt};const zt=Oo,g6=["success","info","warning","error"],Qre=et({customClass:{type:String,default:""},dangerouslyUseHTMLString:{type:Boolean,default:!1},duration:{type:Number,default:4500},icon:{type:Lt},id:{type:String,default:""},message:{type:Ue([String,Object]),default:""},offset:{type:Number,default:0},onClick:{type:Ue(Function),default:()=>{}},onClose:{type:Ue(Function),required:!0},position:{type:String,values:["top-right","top-left","bottom-right","bottom-left"],default:"top-right"},showClose:{type:Boolean,default:!0},title:{type:String,default:""},type:{type:String,values:[...g6,""],default:""},zIndex:{type:Number,default:0}}),Zre={destroy:()=>!0},eue=["id"],tue=["textContent"],nue={key:0},oue=["innerHTML"],lue={name:"ElNotification"},aue=Le({...lue,props:Qre,emits:Zre,setup(e,{expose:t}){const n=e,o=He("notification"),{Close:l}=$f,a=z(!1);let r;const u=R(()=>{const A=n.type;return A&&Zl[n.type]?o.m(A):""}),s=R(()=>n.type&&Zl[n.type]||n.icon),i=R(()=>n.position.endsWith("right")?"right":"left"),c=R(()=>n.position.startsWith("top")?"top":"bottom"),m=R(()=>({[c.value]:`${n.offset}px`,zIndex:n.zIndex}));function h(){n.duration>0&&({stop:r}=Ql(()=>{a.value&&g()},n.duration))}function v(){r==null||r()}function g(){a.value=!1}function y({code:A}){A===Pt.delete||A===Pt.backspace?v():A===Pt.esc?a.value&&g():h()}return at(()=>{h(),a.value=!0}),Kt(document,"keydown",y),t({visible:a,close:g}),(A,w)=>(b(),ae(Zt,{name:_(o).b("fade"),onBeforeLeave:A.onClose,onAfterLeave:w[1]||(w[1]=F=>A.$emit("destroy")),persisted:""},{default:p(()=>[ye(f("div",{id:A.id,class:U([_(o).b(),A.customClass,_(i)]),style:nt(_(m)),role:"alert",onMouseenter:v,onMouseleave:h,onClick:w[0]||(w[0]=(...F)=>A.onClick&&A.onClick(...F))},[_(s)?(b(),ae(_(ut),{key:0,class:U([_(o).e("icon"),_(u)])},{default:p(()=>[(b(),ae(yt(_(s))))]),_:1},8,["class"])):oe("v-if",!0),f("div",{class:U(_(o).e("group"))},[f("h2",{class:U(_(o).e("title")),textContent:ce(A.title)},null,10,tue),ye(f("div",{class:U(_(o).e("content")),style:nt(A.title?void 0:{margin:0})},[Te(A.$slots,"default",{},()=>[A.dangerouslyUseHTMLString?(b(),C(We,{key:1},[oe(" Caution here, message could've been compromised, never use user's input as message "),f("p",{innerHTML:A.message},null,8,oue)],2112)):(b(),C("p",nue,ce(A.message),1))])],6),[[Be,A.message]]),A.showClose?(b(),ae(_(ut),{key:0,class:U(_(o).e("closeBtn")),onClick:ht(g,["stop"])},{default:p(()=>[d(_(l))]),_:1},8,["class","onClick"])):oe("v-if",!0)],2)],46,eue),[[Be,a.value]])]),_:3},8,["name","onBeforeLeave"]))}});var rue=je(aue,[["__file","/home/runner/work/element-plus/element-plus/packages/components/notification/src/notification.vue"]]);const hu={"top-left":[],"top-right":[],"bottom-left":[],"bottom-right":[]},pi=16;let uue=1;const ua=function(e={},t=null){if(!_t)return{close:()=>{}};(typeof e=="string"||mn(e))&&(e={message:e});const n=e.position||"top-right";let o=e.offset||0;hu[n].forEach(({vm:m})=>{var h;o+=(((h=m.el)==null?void 0:h.offsetHeight)||0)+pi}),o+=pi;const{nextZIndex:l}=kl(),a=`notification_${uue++}`,r=e.onClose,u={...e,zIndex:l(),offset:o,id:a,onClose:()=>{sue(a,n,r)}};let s=document.body;Qo(e.appendTo)?s=e.appendTo:tt(e.appendTo)&&(s=document.querySelector(e.appendTo)),Qo(s)||(s=document.body);const i=document.createElement("div"),c=d(rue,u,mn(u.message)?{default:()=>u.message}:null);return c.appContext=t!=null?t:ua._context,c.props.onDestroy=()=>{Yl(null,i)},Yl(c,i),hu[n].push({vm:c}),s.appendChild(i.firstElementChild),{close:()=>{c.component.exposed.visible.value=!1}}};g6.forEach(e=>{ua[e]=(t={})=>((typeof t=="string"||mn(t))&&(t={message:t}),ua({...t,type:e}))});function sue(e,t,n){const o=hu[t],l=o.findIndex(({vm:i})=>{var c;return((c=i.component)==null?void 0:c.props.id)===e});if(l===-1)return;const{vm:a}=o[l];if(!a)return;n==null||n(a);const r=a.el.offsetHeight,u=t.split("-")[0];o.splice(l,1);const s=o.length;if(!(s<1))for(let i=l;i{t.component.exposed.visible.value=!1})}ua.closeAll=iue;ua._context=null;const cue=Bf(ua,"$notify");var B2={exports:{}},b6=function(t,n){return function(){for(var l=new Array(arguments.length),a=0;a0;)a=o[l],r[a]||(t[a]=e[a],r[a]=!0);e=Object.getPrototypeOf(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t}function Bue(e,t,n){e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;var o=e.indexOf(t,n);return o!==-1&&o===n}function Sue(e){if(!e)return null;var t=e.length;if(_u(t))return null;for(var n=new Array(t);t-- >0;)n[t]=e[t];return n}var kue=function(e){return function(t){return e&&t instanceof e}}(typeof Uint8Array!="undefined"&&Object.getPrototypeOf(Uint8Array)),Wt={isArray:P2,isArrayBuffer:y6,isBuffer:fue,isFormData:wue,isArrayBufferView:pue,isString:vue,isNumber:hue,isObject:w6,isPlainObject:Jr,isUndefined:_u,isDate:_ue,isFile:mue,isBlob:gue,isFunction:L2,isStream:yue,isURLSearchParams:Cue,isStandardBrowserEnv:Aue,forEach:z2,merge:vi,extend:Fue,trim:Eue,stripBOM:xue,inherits:$ue,toFlatObject:Due,kindOf:k2,kindOfTest:Pl,endsWith:Bue,toArray:Sue,isTypedArray:kue,isFileList:bue},Tl=Wt;function id(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var C6=function(t,n,o){if(!n)return t;var l;if(o)l=o(n);else if(Tl.isURLSearchParams(n))l=n.toString();else{var a=[];Tl.forEach(n,function(s,i){s===null||typeof s=="undefined"||(Tl.isArray(s)?i=i+"[]":s=[s],Tl.forEach(s,function(m){Tl.isDate(m)?m=m.toISOString():Tl.isObject(m)&&(m=JSON.stringify(m)),a.push(id(i)+"="+id(m))}))}),l=a.join("&")}if(l){var r=t.indexOf("#");r!==-1&&(t=t.slice(0,r)),t+=(t.indexOf("?")===-1?"?":"&")+l}return t},Pue=Wt;function Gu(){this.handlers=[]}Gu.prototype.use=function(t,n,o){return this.handlers.push({fulfilled:t,rejected:n,synchronous:o?o.synchronous:!1,runWhen:o?o.runWhen:null}),this.handlers.length-1};Gu.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};Gu.prototype.forEach=function(t){Pue.forEach(this.handlers,function(o){o!==null&&t(o)})};var Lue=Gu,zue=Wt,Tue=function(t,n){zue.forEach(t,function(l,a){a!==n&&a.toUpperCase()===n.toUpperCase()&&(t[n]=l,delete t[a])})},E6=Wt;function sa(e,t,n,o,l){Error.call(this),this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),o&&(this.request=o),l&&(this.response=l)}E6.inherits(sa,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var A6=sa.prototype,F6={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(e){F6[e]={value:e}});Object.defineProperties(sa,F6);Object.defineProperty(A6,"isAxiosError",{value:!0});sa.from=function(e,t,n,o,l,a){var r=Object.create(A6);return E6.toFlatObject(e,r,function(s){return s!==Error.prototype}),sa.call(r,e.message,t,n,o,l),r.name=e.name,a&&Object.assign(r,a),r};var ya=sa,x6={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Tn=Wt;function Mue(e,t){t=t||new FormData;var n=[];function o(a){return a===null?"":Tn.isDate(a)?a.toISOString():Tn.isArrayBuffer(a)||Tn.isTypedArray(a)?typeof Blob=="function"?new Blob([a]):Buffer.from(a):a}function l(a,r){if(Tn.isPlainObject(a)||Tn.isArray(a)){if(n.indexOf(a)!==-1)throw Error("Circular reference detected in "+r);n.push(a),Tn.forEach(a,function(s,i){if(!Tn.isUndefined(s)){var c=r?r+"."+i:i,m;if(s&&!r&&typeof s=="object"){if(Tn.endsWith(i,"{}"))s=JSON.stringify(s);else if(Tn.endsWith(i,"[]")&&(m=Tn.toArray(s))){m.forEach(function(h){!Tn.isUndefined(h)&&t.append(c,o(h))});return}}l(s,c)}}),n.pop()}else t.append(r,o(a))}return l(e),t}var $6=Mue,bs=ya,Vue=function(t,n,o){var l=o.config.validateStatus;!o.status||!l||l(o.status)?t(o):n(new bs("Request failed with status code "+o.status,[bs.ERR_BAD_REQUEST,bs.ERR_BAD_RESPONSE][Math.floor(o.status/100)-4],o.config,o.request,o))},Pr=Wt,Hue=Pr.isStandardBrowserEnv()?function(){return{write:function(n,o,l,a,r,u){var s=[];s.push(n+"="+encodeURIComponent(o)),Pr.isNumber(l)&&s.push("expires="+new Date(l).toGMTString()),Pr.isString(a)&&s.push("path="+a),Pr.isString(r)&&s.push("domain="+r),u===!0&&s.push("secure"),document.cookie=s.join("; ")},read:function(n){var o=document.cookie.match(new RegExp("(^|;\\s*)("+n+")=([^;]*)"));return o?decodeURIComponent(o[3]):null},remove:function(n){this.write(n,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),Iue=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},Rue=function(t,n){return n?t.replace(/\/+$/,"")+"/"+n.replace(/^\/+/,""):t},Nue=Iue,Oue=Rue,D6=function(t,n){return t&&!Nue(n)?Oue(t,n):n},ys=Wt,Uue=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"],Wue=function(t){var n={},o,l,a;return t&&ys.forEach(t.split(` `),function(u){if(a=u.indexOf(":"),o=ys.trim(u.substr(0,a)).toLowerCase(),l=ys.trim(u.substr(a+1)),o){if(n[o]&&Uue.indexOf(o)>=0)return;o==="set-cookie"?n[o]=(n[o]?n[o]:[]).concat([l]):n[o]=n[o]?n[o]+", "+l:l}}),n},cd=Wt,que=cd.isStandardBrowserEnv()?function(){var t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a"),o;function l(a){var r=a;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return o=l(window.location.href),function(r){var u=cd.isString(r)?l(r):r;return u.protocol===o.protocol&&u.host===o.host}}():function(){return function(){return!0}}(),hi=ya,jue=Wt;function B6(e){hi.call(this,e==null?"canceled":e,hi.ERR_CANCELED),this.name="CanceledError"}jue.inherits(B6,hi,{__CANCEL__:!0});var Yu=B6,Kue=function(t){var n=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return n&&n[1]||""},Da=Wt,Gue=Vue,Yue=Hue,Xue=C6,Jue=D6,Que=Wue,Zue=que,ese=x6,fo=ya,tse=Yu,nse=Kue,dd=function(t){return new Promise(function(o,l){var a=t.data,r=t.headers,u=t.responseType,s;function i(){t.cancelToken&&t.cancelToken.unsubscribe(s),t.signal&&t.signal.removeEventListener("abort",s)}Da.isFormData(a)&&Da.isStandardBrowserEnv()&&delete r["Content-Type"];var c=new XMLHttpRequest;if(t.auth){var m=t.auth.username||"",h=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";r.Authorization="Basic "+btoa(m+":"+h)}var v=Jue(t.baseURL,t.url);c.open(t.method.toUpperCase(),Xue(v,t.params,t.paramsSerializer),!0),c.timeout=t.timeout;function g(){if(!!c){var w="getAllResponseHeaders"in c?Que(c.getAllResponseHeaders()):null,F=!u||u==="text"||u==="json"?c.responseText:c.response,E={data:F,status:c.status,statusText:c.statusText,headers:w,config:t,request:c};Gue(function(T){o(T),i()},function(T){l(T),i()},E),c=null}}if("onloadend"in c?c.onloadend=g:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(g)},c.onabort=function(){!c||(l(new fo("Request aborted",fo.ECONNABORTED,t,c)),c=null)},c.onerror=function(){l(new fo("Network Error",fo.ERR_NETWORK,t,c,c)),c=null},c.ontimeout=function(){var F=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded",E=t.transitional||ese;t.timeoutErrorMessage&&(F=t.timeoutErrorMessage),l(new fo(F,E.clarifyTimeoutError?fo.ETIMEDOUT:fo.ECONNABORTED,t,c)),c=null},Da.isStandardBrowserEnv()){var y=(t.withCredentials||Zue(v))&&t.xsrfCookieName?Yue.read(t.xsrfCookieName):void 0;y&&(r[t.xsrfHeaderName]=y)}"setRequestHeader"in c&&Da.forEach(r,function(F,E){typeof a=="undefined"&&E.toLowerCase()==="content-type"?delete r[E]:c.setRequestHeader(E,F)}),Da.isUndefined(t.withCredentials)||(c.withCredentials=!!t.withCredentials),u&&u!=="json"&&(c.responseType=t.responseType),typeof t.onDownloadProgress=="function"&&c.addEventListener("progress",t.onDownloadProgress),typeof t.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",t.onUploadProgress),(t.cancelToken||t.signal)&&(s=function(w){!c||(l(!w||w&&w.type?new tse:w),c.abort(),c=null)},t.cancelToken&&t.cancelToken.subscribe(s),t.signal&&(t.signal.aborted?s():t.signal.addEventListener("abort",s))),a||(a=null);var A=nse(v);if(A&&["http","https","file"].indexOf(A)===-1){l(new fo("Unsupported protocol "+A+":",fo.ERR_BAD_REQUEST,t));return}c.send(a)})},ose=null,Mt=Wt,fd=Tue,pd=ya,lse=x6,ase=$6,rse={"Content-Type":"application/x-www-form-urlencoded"};function vd(e,t){!Mt.isUndefined(e)&&Mt.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}function use(){var e;return(typeof XMLHttpRequest!="undefined"||typeof process!="undefined"&&Object.prototype.toString.call(process)==="[object process]")&&(e=dd),e}function sse(e,t,n){if(Mt.isString(e))try{return(t||JSON.parse)(e),Mt.trim(e)}catch(o){if(o.name!=="SyntaxError")throw o}return(n||JSON.stringify)(e)}var Xu={transitional:lse,adapter:use(),transformRequest:[function(t,n){if(fd(n,"Accept"),fd(n,"Content-Type"),Mt.isFormData(t)||Mt.isArrayBuffer(t)||Mt.isBuffer(t)||Mt.isStream(t)||Mt.isFile(t)||Mt.isBlob(t))return t;if(Mt.isArrayBufferView(t))return t.buffer;if(Mt.isURLSearchParams(t))return vd(n,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var o=Mt.isObject(t),l=n&&n["Content-Type"],a;if((a=Mt.isFileList(t))||o&&l==="multipart/form-data"){var r=this.env&&this.env.FormData;return ase(a?{"files[]":t}:t,r&&new r)}else if(o||l==="application/json")return vd(n,"application/json"),sse(t);return t}],transformResponse:[function(t){var n=this.transitional||Xu.transitional,o=n&&n.silentJSONParsing,l=n&&n.forcedJSONParsing,a=!o&&this.responseType==="json";if(a||l&&Mt.isString(t)&&t.length)try{return JSON.parse(t)}catch(r){if(a)throw r.name==="SyntaxError"?pd.from(r,pd.ERR_BAD_RESPONSE,this,null,this.response):r}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ose},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};Mt.forEach(["delete","get","head"],function(t){Xu.headers[t]={}});Mt.forEach(["post","put","patch"],function(t){Xu.headers[t]=Mt.merge(rse)});var T2=Xu,ise=Wt,cse=T2,dse=function(t,n,o){var l=this||cse;return ise.forEach(o,function(r){t=r.call(l,t,n)}),t},S6=function(t){return!!(t&&t.__CANCEL__)},hd=Wt,ws=dse,fse=S6,pse=T2,vse=Yu;function Cs(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new vse}var hse=function(t){Cs(t),t.headers=t.headers||{},t.data=ws.call(t,t.data,t.headers,t.transformRequest),t.headers=hd.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),hd.forEach(["delete","get","head","post","put","patch","common"],function(l){delete t.headers[l]});var n=t.adapter||pse.adapter;return n(t).then(function(l){return Cs(t),l.data=ws.call(t,l.data,l.headers,t.transformResponse),l},function(l){return fse(l)||(Cs(t),l&&l.response&&(l.response.data=ws.call(t,l.response.data,l.response.headers,t.transformResponse))),Promise.reject(l)})},cn=Wt,k6=function(t,n){n=n||{};var o={};function l(c,m){return cn.isPlainObject(c)&&cn.isPlainObject(m)?cn.merge(c,m):cn.isPlainObject(m)?cn.merge({},m):cn.isArray(m)?m.slice():m}function a(c){if(cn.isUndefined(n[c])){if(!cn.isUndefined(t[c]))return l(void 0,t[c])}else return l(t[c],n[c])}function r(c){if(!cn.isUndefined(n[c]))return l(void 0,n[c])}function u(c){if(cn.isUndefined(n[c])){if(!cn.isUndefined(t[c]))return l(void 0,t[c])}else return l(void 0,n[c])}function s(c){if(c in n)return l(t[c],n[c]);if(c in t)return l(void 0,t[c])}var i={url:r,method:r,data:r,baseURL:u,transformRequest:u,transformResponse:u,paramsSerializer:u,timeout:u,timeoutMessage:u,withCredentials:u,adapter:u,responseType:u,xsrfCookieName:u,xsrfHeaderName:u,onUploadProgress:u,onDownloadProgress:u,decompress:u,maxContentLength:u,maxBodyLength:u,beforeRedirect:u,transport:u,httpAgent:u,httpsAgent:u,cancelToken:u,socketPath:u,responseEncoding:u,validateStatus:s};return cn.forEach(Object.keys(t).concat(Object.keys(n)),function(m){var h=i[m]||a,v=h(m);cn.isUndefined(v)&&h!==s||(o[m]=v)}),o},P6={version:"0.27.2"},_se=P6.version,Wo=ya,M2={};["object","boolean","number","function","string","symbol"].forEach(function(e,t){M2[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});var _d={};M2.transitional=function(t,n,o){function l(a,r){return"[Axios v"+_se+"] Transitional option '"+a+"'"+r+(o?". "+o:"")}return function(a,r,u){if(t===!1)throw new Wo(l(r," has been removed"+(n?" in "+n:"")),Wo.ERR_DEPRECATED);return n&&!_d[r]&&(_d[r]=!0,console.warn(l(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(a,r,u):!0}};function mse(e,t,n){if(typeof e!="object")throw new Wo("options must be an object",Wo.ERR_BAD_OPTION_VALUE);for(var o=Object.keys(e),l=o.length;l-- >0;){var a=o[l],r=t[a];if(r){var u=e[a],s=u===void 0||r(u,a,e);if(s!==!0)throw new Wo("option "+a+" must be "+s,Wo.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Wo("Unknown option "+a,Wo.ERR_BAD_OPTION)}}var gse={assertOptions:mse,validators:M2},L6=Wt,bse=C6,md=Lue,gd=hse,Ju=k6,yse=D6,z6=gse,Ml=z6.validators;function ia(e){this.defaults=e,this.interceptors={request:new md,response:new md}}ia.prototype.request=function(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Ju(this.defaults,n),n.method?n.method=n.method.toLowerCase():this.defaults.method?n.method=this.defaults.method.toLowerCase():n.method="get";var o=n.transitional;o!==void 0&&z6.assertOptions(o,{silentJSONParsing:Ml.transitional(Ml.boolean),forcedJSONParsing:Ml.transitional(Ml.boolean),clarifyTimeoutError:Ml.transitional(Ml.boolean)},!1);var l=[],a=!0;this.interceptors.request.forEach(function(v){typeof v.runWhen=="function"&&v.runWhen(n)===!1||(a=a&&v.synchronous,l.unshift(v.fulfilled,v.rejected))});var r=[];this.interceptors.response.forEach(function(v){r.push(v.fulfilled,v.rejected)});var u;if(!a){var s=[gd,void 0];for(Array.prototype.unshift.apply(s,l),s=s.concat(r),u=Promise.resolve(n);s.length;)u=u.then(s.shift(),s.shift());return u}for(var i=n;l.length;){var c=l.shift(),m=l.shift();try{i=c(i)}catch(h){m(h);break}}try{u=gd(i)}catch(h){return Promise.reject(h)}for(;r.length;)u=u.then(r.shift(),r.shift());return u};ia.prototype.getUri=function(t){t=Ju(this.defaults,t);var n=yse(t.baseURL,t.url);return bse(n,t.params,t.paramsSerializer)};L6.forEach(["delete","get","head","options"],function(t){ia.prototype[t]=function(n,o){return this.request(Ju(o||{},{method:t,url:n,data:(o||{}).data}))}});L6.forEach(["post","put","patch"],function(t){function n(o){return function(a,r,u){return this.request(Ju(u||{},{method:t,headers:o?{"Content-Type":"multipart/form-data"}:{},url:a,data:r}))}}ia.prototype[t]=n(),ia.prototype[t+"Form"]=n(!0)});var wse=ia,Cse=Yu;function ca(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(l){t=l});var n=this;this.promise.then(function(o){if(!!n._listeners){var l,a=n._listeners.length;for(l=0;l{}})}function ie(e,t){m6({message:t,type:e})}function to(e,t,n){cue({title:e.substring(0,1).toUpperCase()+e.substring(1),message:t,type:e,duration:n})}var wn=(e,t)=>{const n=e.__vccOpts||e;for(const[o,l]of t)n[o]=l;return n};const bie={class:"PageRadius",style:{borderRadius:"base"},"element-loading-background":"transparent"},yie={class:"formradius",style:{borderRadius:"base"}},wie={class:"AdminListenDivRadius"},Cie=Le({__name:"PortForwardSet",setup(e){const t=z(!0),n={PortForwardsLimit:0,TCPPortforwardMaxConnections:0,UDPReadTargetDataMaxgoroutineCount:0},o=z(n),l=z(n),a=()=>{o.value.PortForwardsLimit=l.value.PortForwardsLimit,o.value.TCPPortforwardMaxConnections=l.value.TCPPortforwardMaxConnections},r=i=>{l.value.PortForwardsLimit=i.value.PortForwardsLimit,l.value.TCPPortforwardMaxConnections=i.TCPPortforwardMaxConnections},u=()=>{mie().then(i=>{if(i.ret==0){t.value=!1,o.value=i.configure,r(o);return}ie("error","\u83B7\u53D6\u7AEF\u53E3\u8F6C\u53D1\u914D\u7F6E\u51FA\u9519")}).catch(i=>{ie("error","\u83B7\u53D6\u7AEF\u53E3\u8F6C\u53D1\u914D\u7F6E\u51FA\u9519")})},s=()=>{gie(o.value).then(i=>{if(i.ret==0){ie("success","\u914D\u7F6E\u4FEE\u6539\u6210\u529F"),u();return}a(),ie("error",i.msg)}).catch(i=>{console.log("\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+i),ie("error","\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519"),a()})};return at(()=>{u()}),(i,c)=>{const m=To,h=jn,v=Sn,g=qn,y=kn,A=un,w=Ku;return ye((b(),C("div",bie,[d(A,{height:"100%"},{default:p(()=>[f("div",yie,[d(g,{model:o.value,class:"SetForm","label-width":"auto"},{default:p(()=>[f("div",wie,[d(v,{content:"\u540C\u4E00\u7AEF\u53E3tcp\u548Cudp\u7C7B\u578B\u5404\u7B97\u4E00\u4E2A,(0-1024)",placement:"top"},{default:p(()=>[d(h,{label:"\u5168\u5C40\u7AEF\u53E3\u8F6C\u53D1\u6700\u5927\u6570\u91CF","label-width":"auto",min:"0",max:"1024"},{default:p(()=>[d(m,{modelValue:o.value.PortForwardsLimit,"onUpdate:modelValue":c[0]||(c[0]=F=>o.value.PortForwardsLimit=F),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(v,{content:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40TCP\u6700\u5927\u5E76\u53D1\u8FDE\u63A5\u6570,(0-4096)",placement:"top"},{default:p(()=>[d(h,{label:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40TCP\u6700\u5927\u5E76\u53D1\u8FDE\u63A5\u6570","label-width":"auto",min:"0",max:"4096"},{default:p(()=>[d(m,{modelValue:o.value.TCPPortforwardMaxConnections,"onUpdate:modelValue":c[1]||(c[1]=F=>o.value.TCPPortforwardMaxConnections=F),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(v,{content:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570\u9650\u5236,(0-4096)",placement:"top"},{default:p(()=>[d(h,{label:"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570\u9650\u5236","label-width":"auto",min:"0",max:"4096"},{default:p(()=>[d(m,{modelValue:o.value.UDPReadTargetDataMaxgoroutineCount,"onUpdate:modelValue":c[2]||(c[2]=F=>o.value.UDPReadTargetDataMaxgoroutineCount=F),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})])]),_:1},8,["model"]),d(y,{type:"primary",round:"",onClick:s},{default:p(()=>[D("\u4FDD\u5B58\u4FEE\u6539")]),_:1})])]),_:1})])),[[w,t.value]])}}});var Eie=wn(Cie,[["__scopeId","data-v-5c315195"]]),M6={exports:{}};/*! * clipboard.js v2.0.11 * https://clipboardjs.com/ * * Licensed MIT © Zeno Rocha */(function(e,t){(function(o,l){e.exports=l()})(Hl,function(){return function(){var n={686:function(a,r,u){u.d(r,{default:function(){return $e}});var s=u(279),i=u.n(s),c=u(370),m=u.n(c),h=u(817),v=u.n(h);function g(x){try{return document.execCommand(x)}catch{return!1}}var y=function(W){var we=v()(W);return g("cut"),we},A=y;function w(x){var W=document.documentElement.getAttribute("dir")==="rtl",we=document.createElement("textarea");we.style.fontSize="12pt",we.style.border="0",we.style.padding="0",we.style.margin="0",we.style.position="absolute",we.style[W?"right":"left"]="-9999px";var Ae=window.pageYOffset||document.documentElement.scrollTop;return we.style.top="".concat(Ae,"px"),we.setAttribute("readonly",""),we.value=x,we}var F=function(W,we){var Ae=w(W);we.container.appendChild(Ae);var ke=v()(Ae);return g("copy"),Ae.remove(),ke},E=function(W){var we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},Ae="";return typeof W=="string"?Ae=F(W,we):W instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(W==null?void 0:W.type)?Ae=F(W.value,we):(Ae=v()(W),g("copy")),Ae},$=E;function T(x){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?T=function(we){return typeof we}:T=function(we){return we&&typeof Symbol=="function"&&we.constructor===Symbol&&we!==Symbol.prototype?"symbol":typeof we},T(x)}var B=function(){var W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},we=W.action,Ae=we===void 0?"copy":we,ke=W.container,ve=W.target,ze=W.text;if(Ae!=="copy"&&Ae!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(ve!==void 0)if(ve&&T(ve)==="object"&&ve.nodeType===1){if(Ae==="copy"&&ve.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(Ae==="cut"&&(ve.hasAttribute("readonly")||ve.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(ze)return $(ze,{container:ke});if(ve)return Ae==="cut"?A(ve):$(ve,{container:ke})},P=B;function H(x){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?H=function(we){return typeof we}:H=function(we){return we&&typeof Symbol=="function"&&we.constructor===Symbol&&we!==Symbol.prototype?"symbol":typeof we},H(x)}function I(x,W){if(!(x instanceof W))throw new TypeError("Cannot call a class as a function")}function j(x,W){for(var we=0;we0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof ke.action=="function"?ke.action:this.defaultAction,this.target=typeof ke.target=="function"?ke.target:this.defaultTarget,this.text=typeof ke.text=="function"?ke.text:this.defaultText,this.container=H(ke.container)==="object"?ke.container:document.body}},{key:"listenClick",value:function(ke){var ve=this;this.listener=m()(ke,"click",function(ze){return ve.onClick(ze)})}},{key:"onClick",value:function(ke){var ve=ke.delegateTarget||ke.currentTarget,ze=this.action(ve)||"copy",Ke=P({action:ze,container:this.container,target:this.target(ve),text:this.text(ve)});this.emit(Ke?"success":"error",{action:ze,text:Ke,trigger:ve,clearSelection:function(){ve&&ve.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(ke){return ee("action",ke)}},{key:"defaultTarget",value:function(ke){var ve=ee("target",ke);if(ve)return document.querySelector(ve)}},{key:"defaultText",value:function(ke){return ee("text",ke)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(ke){var ve=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return $(ke,ve)}},{key:"cut",value:function(ke){return A(ke)}},{key:"isSupported",value:function(){var ke=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],ve=typeof ke=="string"?[ke]:ke,ze=!!document.queryCommandSupported;return ve.forEach(function(Ke){ze=ze&&!!document.queryCommandSupported(Ke)}),ze}}]),we}(i()),$e=xe},828:function(a){var r=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var u=Element.prototype;u.matches=u.matchesSelector||u.mozMatchesSelector||u.msMatchesSelector||u.oMatchesSelector||u.webkitMatchesSelector}function s(i,c){for(;i&&i.nodeType!==r;){if(typeof i.matches=="function"&&i.matches(c))return i;i=i.parentNode}}a.exports=s},438:function(a,r,u){var s=u(828);function i(h,v,g,y,A){var w=m.apply(this,arguments);return h.addEventListener(g,w,A),{destroy:function(){h.removeEventListener(g,w,A)}}}function c(h,v,g,y,A){return typeof h.addEventListener=="function"?i.apply(null,arguments):typeof g=="function"?i.bind(null,document).apply(null,arguments):(typeof h=="string"&&(h=document.querySelectorAll(h)),Array.prototype.map.call(h,function(w){return i(w,v,g,y,A)}))}function m(h,v,g,y){return function(A){A.delegateTarget=s(A.target,v),A.delegateTarget&&y.call(h,A)}}a.exports=c},879:function(a,r){r.node=function(u){return u!==void 0&&u instanceof HTMLElement&&u.nodeType===1},r.nodeList=function(u){var s=Object.prototype.toString.call(u);return u!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in u&&(u.length===0||r.node(u[0]))},r.string=function(u){return typeof u=="string"||u instanceof String},r.fn=function(u){var s=Object.prototype.toString.call(u);return s==="[object Function]"}},370:function(a,r,u){var s=u(879),i=u(438);function c(g,y,A){if(!g&&!y&&!A)throw new Error("Missing required arguments");if(!s.string(y))throw new TypeError("Second argument must be a String");if(!s.fn(A))throw new TypeError("Third argument must be a Function");if(s.node(g))return m(g,y,A);if(s.nodeList(g))return h(g,y,A);if(s.string(g))return v(g,y,A);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function m(g,y,A){return g.addEventListener(y,A),{destroy:function(){g.removeEventListener(y,A)}}}function h(g,y,A){return Array.prototype.forEach.call(g,function(w){w.addEventListener(y,A)}),{destroy:function(){Array.prototype.forEach.call(g,function(w){w.removeEventListener(y,A)})}}}function v(g,y,A){return i(document.body,g,y,A)}a.exports=c},817:function(a){function r(u){var s;if(u.nodeName==="SELECT")u.focus(),s=u.value;else if(u.nodeName==="INPUT"||u.nodeName==="TEXTAREA"){var i=u.hasAttribute("readonly");i||u.setAttribute("readonly",""),u.select(),u.setSelectionRange(0,u.value.length),i||u.removeAttribute("readonly"),s=u.value}else{u.hasAttribute("contenteditable")&&u.focus();var c=window.getSelection(),m=document.createRange();m.selectNodeContents(u),c.removeAllRanges(),c.addRange(m),s=c.toString()}return s}a.exports=r},279:function(a){function r(){}r.prototype={on:function(u,s,i){var c=this.e||(this.e={});return(c[u]||(c[u]=[])).push({fn:s,ctx:i}),this},once:function(u,s,i){var c=this;function m(){c.off(u,m),s.apply(i,arguments)}return m._=s,this.on(u,m,i)},emit:function(u){var s=[].slice.call(arguments,1),i=((this.e||(this.e={}))[u]||[]).slice(),c=0,m=i.length;for(c;c{const t=(e==null?void 0:e.appendToBody)===void 0?!0:e.appendToBody;return{toClipboard(n,o){return new Promise((l,a)=>{const r=document.createElement("button"),u=new Aie(r,{text:()=>n,action:()=>"copy",container:o!==void 0?o:document.body});u.on("success",s=>{u.destroy(),l(s)}),u.on("error",s=>{u.destroy(),a(s)}),t&&document.body.appendChild(r),r.click(),t&&document.body.removeChild(r)})}}};function _i(e){Fie().toClipboard(e)}const xie=/^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^::([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:):([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){2}:([\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){4}:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$|^:((:[\da-fA-F]{1,4}){1,6}|:)$|^[\da-fA-F]{1,4}:((:[\da-fA-F]{1,4}){1,5}|:)$|^([\da-fA-F]{1,4}:){2}((:[\da-fA-F]{1,4}){1,4}|:)$|^([\da-fA-F]{1,4}:){3}((:[\da-fA-F]{1,4}){1,3}|:)$|^([\da-fA-F]{1,4}:){4}((:[\da-fA-F]{1,4}){1,2}|:)$|^([\da-fA-F]{1,4}:){5}:([\da-fA-F]{1,4})?$|^([\da-fA-F]{1,4}:){6}:$/;function $ie(e){return xie.test(e)}const Fd=["#status","#log","#whitelistset","#whitelists","#blacklists","#set","#login","#ddns","#ddnstasklist","#ddnsset","#about","#reverseproxylist","#ssl","#portforward","#portforwardset"];function V6(e){for(let t in Fd)if(Fd[t]==e)return!0;return!1}const Die=z("");function St(e){let t=e.split(` `),n=new Array;for(let o in t){let l=t[o].replace(/^\s+|\s+$/g,"").replace(/<\/?.+?>/g,"").replace(/[\r\n]/g,"");l!=""&&n.push(l)}return n}function Ra(e){var t="";for(let n in e)t+=e[n]+"
";return t}function Xn(e){var t="";for(let n in e)n!="0"&&(t+=` `),t+=e[n];return t}const mi=[{value:2,label:"Error"},{value:3,label:"Warn"},{value:4,label:"Info"},{value:5,label:"Debug"},{value:6,label:"Trace"}],xd=e=>{if(e===0)return"0 B";var t=1e3,n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.floor(Math.log(e)/Math.log(t));return(e/Math.pow(t,o)).toPrecision(3)+" "+n[o]},Pn=e=>(ar("data-v-44f77ba6"),e=e(),rr(),e),Bie={class:"PageRadius",style:{borderRadius:"base"}},Sie={class:"itemradius",style:{borderRadius:"base"}},kie=["innerHTML"],Pie=["innerHTML"],Lie=Pn(()=>f("br",null,null,-1)),zie=Pn(()=>f("br",null,null,-1)),Tie=Pn(()=>f("br",null,null,-1)),Mie=Pn(()=>f("br",null,null,-1)),Vie=Pn(()=>f("br",null,null,-1)),Hie=Pn(()=>f("br",null,null,-1)),Iie=Pn(()=>f("br",null,null,-1)),Rie=Pn(()=>f("br",null,null,-1)),Nie={class:"dialogRadius"},Oie={class:"dialogRadius"},Uie=Pn(()=>f("br",null,null,-1)),Wie=Pn(()=>f("br",null,null,-1)),qie=Pn(()=>f("br",null,null,-1)),jie=Pn(()=>f("br",null,null,-1)),Kie={class:"dialog-footer"},Gie=Le({__name:"PortForward",setup(e){const t=z(50),n=z(0),o=z([{ProxyKey:"",ClientIP:"",LogContent:"",LogTime:""}]),l=z(""),a=z(1),r=z(!1),u=z(""),s=z(!1),i=z(!0),c=z([""]),m=z(""),h=z(!1),v=z(!1),g=["tcp4","tcp6","udp4","udp6"],y=S=>{W.value.ForwardTypes=S?["tcp","udp"]:[],c.value=S?["tcp4","tcp6","udp4","udp6"]:[],i.value=!1,ne(),ee()},A=S=>{const V=S.length;s.value=V===g.length,i.value=V>0&&V{let V=0;for(let O in S.ProxyList)V+=S.ProxyList[O].TrafficIn;return xd(V)},F=S=>{let V=0;for(let O in S.ProxyList)V+=S.ProxyList[O].TrafficOut;return xd(V)},E=S=>{for(let V in S.ForwardTypes)if(S.ForwardTypes[V].indexOf("tcp")==0)return!0;return!1},$=S=>{for(let V in S.ForwardTypes)if(S.ForwardTypes[V].indexOf("udp")==0)return!0;return!1},T=S=>{let V=0;for(let O in S.ProxyList)S.ProxyList[O].Proxy.indexOf("tcp")==0&&(V+=S.ProxyList[O].CurrentConnections);return V},B=S=>{let V=0;for(let O in S.ProxyList)S.ProxyList[O].Proxy.indexOf("udp")==0&&(V+=S.ProxyList[O].CurrentConnections);return V},P=S=>{var V=[""];V.splice(0,1);for(let O of S){if(O=="tcp"){V.push("tcp4"),V.push("tcp6");continue}if(O=="udp"){V.push("udp4"),V.push("udp6");continue}V.push(O+"")}return V},H=S=>{for(let V in S.ForwardTypes)if(S.ForwardTypes[V].indexOf("udp")!=-1)return!0;return!1},I=S=>{console.log("alterRule "+S),we.value="alter",W.value={Name:S.Name,Key:S.Key,ListenAddress:S.ListenAddress,ListenPorts:S.ListenPorts,TargetAddressList:S.TargetAddressList,TargetPorts:S.TargetPorts,ForwardTypes:S.ForwardTypes,Enable:S.Enable,LogLevel:S.LogLevel,LogOutputToConsole:S.LogOutputToConsole,AccessLogMaxNum:S.AccessLogMaxNum,WebListShowLastLogMaxCount:S.WebListShowLastLogMaxCount,Options:{SingleProxyMaxUDPReadTargetDatagoroutineCount:S.Options.SingleProxyMaxUDPReadTargetDatagoroutineCount,SingleProxyMaxTCPConnections:S.Options.SingleProxyMaxTCPConnections,UDPPackageSize:S.Options.UDPPackageSize,UDPShortMode:S.Options.UDPShortMode==!0,UDPProxyPerformanceMode:S.Options.UDPProxyPerformanceMode==!0,SafeMode:S.Options.SafeMode}},c.value=P(S.ForwardTypes),m.value=Xn(S.TargetAddressList),ne(),ee(),Ae.value="\u7F16\u8F91\u8F6C\u53D1\u89C4\u5219",$e.value=!0,ke.value="\u786E\u8BA4\u4FEE\u6539"},j=S=>{var V="";if(S.LastLogs==null||S.LastLogs.length==0)return V="\u6682\u65E0\u65E5\u5FD7",V;for(var O in S.LastLogs){let te=S.LastLogs[O].LogTime,_e=S.LastLogs[O].LogContent;V+=te+"   "+_e+"
"}return V==""&&(V="\u6682\u65E0\u65E5\u5FD7"),V},Z=S=>{r.value=!0,a.value=1,n.value=0,t.value=25,l.value=S,As(S,t.value,a.value).then(V=>{if(V.ret==0){t.value=V.pageSize,n.value=V.total,o.value=V.logs,fe();return}ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(V=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+V),ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},G=S=>{a.value=S-1},N=S=>{a.value=S+1},Y=S=>{t.value=S,a.value=1,As(l.value,t.value,a.value).then(V=>{if(V.ret==0){t.value=V.pageSize,n.value=V.total,o.value=V.logs,fe();return}ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(V=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+V),ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},ge=S=>{a.value=S,As(l.value,t.value,a.value).then(V=>{if(V.ret==0){t.value=V.pageSize,n.value=V.total,o.value=V.logs,fe();return}ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(V=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+V),ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},fe=()=>{u.value="";for(let S in o.value){let V=o.value[S];u.value+=V.LogTime+" "+V.LogContent+` `}},Ee=S=>{var V=[""];V.splice(0,1);let O=!1,te=!1,_e=!1,pe=!1,Ce=!1,be=!1;for(let re of S)switch(re){case"tcp4":O=!0;break;case"tcp6":te=!0;break;case"udp4":_e=!0;break;case"udp6":pe=!0;break}return O&&te&&(be=!0),_e&&pe&&(Ce=!0),be?V.push("tcp"):O?V.push("tcp4"):te&&V.push("tcp6"),Ce?V.push("udp"):_e?V.push("udp4"):pe&&V.push("udp6"),V};var ne=()=>{for(let S of W.value.ForwardTypes)if(S=="udp4"||S=="udp6"||S=="udp"){h.value=!0;return}h.value=!1},ee=()=>{for(let S of W.value.ForwardTypes)if(S=="tcp4"||S=="tcp6"||S=="tcp"){v.value=!0;return}v.value=!1},xe=z([{Name:"",Key:"",ForwardTypes:[""],ListenAddress:"",ListenPorts:"",TargetAddressList:[""],TargetPorts:"",Enable:!1,LogLevel:1,LogOutputToConsole:!1,AccessLogMaxNum:1024,WebListShowLastLogMaxCount:20,Options:{UDPPackageSize:1500,SingleProxyMaxUDPReadTargetDatagoroutineCount:64,SingleProxyMaxTCPConnections:128,UDPProxyPerformanceMode:!0,UDPShortMode:!0,SafeMode:"blacklist"}}]);xe.value.splice(0,1);const $e=z(!1),x="160px",W=z({Name:"",Key:"",ListenAddress:"",ListenPorts:"",TargetAddressList:[""],TargetPorts:"",ForwardTypes:[""],Enable:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:20,Options:{SingleProxyMaxTCPConnections:128,SingleProxyMaxUDPReadTargetDatagoroutineCount:32,UDPPackageSize:1500,UDPShortMode:!0,UDPProxyPerformanceMode:!0,SafeMode:"blacklist"}}),we=z(""),Ae=z(""),ke=z(""),ve=()=>{we.value="add",W.value={Name:"",Key:"",ListenAddress:"",ListenPorts:"",TargetAddressList:[""],TargetPorts:"",ForwardTypes:["tcp6"],Enable:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1024,WebListShowLastLogMaxCount:20,Options:{SingleProxyMaxTCPConnections:256,SingleProxyMaxUDPReadTargetDatagoroutineCount:32,UDPPackageSize:1500,UDPShortMode:!1,UDPProxyPerformanceMode:!1,SafeMode:"blacklist"}},Ae.value="\u6DFB\u52A0\u8F6C\u53D1\u89C4\u5219",$e.value=!0,ke.value="\u6DFB\u52A0",c.value=["tcp6"],ne(),ee()},ze=()=>{if(W.value.TargetAddressList=St(m.value),!!le())switch(we.value){case"add":console.log(JSON.stringify(W.value)),pie(W.value).then(S=>{if(S.ret==0){$e.value=!1,ie("success","\u89C4\u5219\u6DFB\u52A0\u6210\u529F"),console.log("\u5237\u65B0\u89C4\u5219\u5217\u8868"),L(),S.syncres!=null&&S.syncres!=""&&to("warn",S.syncres,0);return}ie("error",S.msg)}).catch(S=>{console.log("\u6DFB\u52A0\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+S),ie("error","\u6DFB\u52A0\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break;case"alter":hie(W.value).then(S=>{if(S.ret==0){$e.value=!1,ie("success","\u89C4\u5219\u4FEE\u6539\u6210\u529F"),L(),S.syncres!=null&&S.syncres!=""&&to("warn",S.syncres,0);return}ie("error",S.msg)}).catch(S=>{console.log("\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+S),ie("error","\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break}},Ke=(S,V)=>{const O=S==!1?"\u542F\u7528":"\u7981\u7528",te="["+V.Name+"]",_e="["+V.Mainconfigure+"]";return new Promise((pe,Ce)=>{zt.confirm("\u786E\u8BA4\u8981"+O+"\u89C4\u5219 "+te+" "+_e+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{_ie(V.Key,!S).then(be=>{if(be.ret==0){pe(!0),ie("success","\u89C4\u5219 "+te+" "+_e+O+"\u6210\u529F");return}pe(!1),ie("error","\u89C4\u5219 "+te+" "+_e+O+"\u5931\u8D25"),be.syncres!=null&&be.syncres!=""&&to("warn",be.syncres,0)}).catch(be=>{pe(!1),console.log("\u89C4\u5219 "+te+" "+_e+O+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+be),ie("error","\u89C4\u5219 "+te+" "+_e+O+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{pe(!1)})})},se=S=>{const O="["+S.Name+"]";zt.confirm("\u786E\u8BA4\u8981\u5220\u9664\u8F6C\u53D1\u89C4\u5219 "+O+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{console.log("\u786E\u8BA4\u5220\u9664 "+O),vie(S.Key).then(te=>{te.ret==0?(L(),ie("success","\u5220\u9664\u6210\u529F"),te.syncres!=null&&te.syncres!=""&&to("warn",te.syncres,0)):ie("error",te.msg)}).catch(te=>{console.log("\u5220\u9664\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+te),ie("error","\u5220\u9664\u89C4\u5219\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{})},le=()=>W.value.ForwardTypes.length<=0?(qo("\u8F6C\u53D1\u7C7B\u578B\u81F3\u5C11\u9009\u62E9\u4E00\u7C7B"),!1):W.value.ListenAddress.length!=0&&!$ie(W.value.ListenAddress)?(qo("\u76D1\u542C\u5730\u5740IP["+W.value.ListenAddress+"]\u683C\u5F0F\u6709\u8BEF"),!1):W.value.ListenPorts.length==0?(qo(`\u76D1\u542C\u7AEF\u53E3\u4E0D\u80FD\u4E3A\u7A7A,\u7AEF\u53E3\u548C\u7AEF\u53E3\u6216\u8005\u7AEF\u53E3\u548C\u7AEF\u53E3\u8303\u56F4\u4E4B\u95F4\u7528\u82F1\u6587\u72B6\u6001\u9017\u53F7,\u5206\u5F00 \u4F8B\u5982 [22,80,443,2000-2010]`),!1):W.value.TargetAddressList.length==0?(qo("\u76EE\u6807\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A"),!1):W.value.TargetPorts.length==0?(qo("\u76EE\u6807\u7AEF\u53E3\u4E0D\u80FD\u4E3A\u7A7A"),!1):W.value.WebListShowLastLogMaxCount>64||W.value.WebListShowLastLogMaxCount<=0?(qo("\u524D\u7AEF\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570 \u8303\u56F41-64"),!1):!0,L=()=>{fie().then(S=>{xe.value=S.list}).catch(S=>{console.log("\u83B7\u53D6\u8F6C\u53D1\u89C4\u5219\u5217\u8868\u51FA\u9519:"+S),ie("error","\u83B7\u53D6\u8F6C\u53D1\u89C4\u5219\u5217\u8868\u51FA\u9519")})};return at(()=>{L(),setInterval(()=>{L()},2e3)}),(S,V)=>{const O=kn,te=Uu,_e=ga,pe=Sn,Ce=Qe("Download"),be=ut,re=Qe("Upload"),me=Qe("Connection"),Re=Ou,Q=un,Pe=Qe("Plus"),Ge=ha,Xe=yn,he=jn,Ie=$o,K=D4,ue=b2,q=y2,k=To,Me=ju,X=qu,de=qn,Fe=ma,At=Z4;return b(),C("div",Bie,[d(Q,{height:"100%"},{default:p(()=>[(b(!0),C(We,null,pt(_(xe),De=>(b(),C("div",Sie,[d(Re,{column:4,border:""},{default:p(()=>[d(te,{label:"\u89C4\u5219\u540D\u79F0"},{default:p(()=>[ye(d(O,{size:"default"},{default:p(()=>[D(ce(De.Name==""?"\u672A\u547D\u540D\u89C4\u5219":De.Name),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(te,{label:"\u8F6C\u53D1\u7C7B\u578B"},{default:p(()=>[(b(!0),C(We,null,pt(De.ForwardTypes,Dt=>ye((b(),ae(O,{color:"#0059b3",size:"small"},{default:p(()=>[D(ce(Dt),1)]),_:2},1536)),[[Be,!0]])),256))]),_:2},1024),d(te,{label:"\u64CD\u4F5C",span:2},{default:p(()=>[d(pe,{content:De.Enable==!0?"\u89C4\u5219\u5DF2\u542F\u7528":"\u89C4\u5219\u5DF2\u7981\u7528",placement:"top"},{default:p(()=>[d(_e,{modelValue:De.Enable,"onUpdate:modelValue":Dt=>De.Enable=Dt,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":Ke.bind(this,De.Enable,De),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),D(" \xA0\xA0 "),d(pe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:j(De)},null,8,kie)]),default:p(()=>[ye(d(O,{type:"info",plain:"",size:"small",onClick:Dt=>Z(De.Key)},{default:p(()=>[D(" \u65E5\u5FD7 ")]),_:2},1032,["onClick"]),[[Be,!0]])]),_:2},1024),d(O,{type:"primary",onClick:Dt=>I(De)},{default:p(()=>[D("\u7F16\u8F91")]),_:2},1032,["onClick"]),d(O,{type:"danger",onClick:Dt=>se(De)},{default:p(()=>[D("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024),d(te,{label:"\u76D1\u542CIP"},{default:p(()=>[ye(d(O,{color:"#D4D7DE",size:"small"},{default:p(()=>[D(ce(De.ListenAddress==""?"\u6240\u6709IP":De.ListenAddress),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(te,{label:"\u76D1\u542C\u7AEF\u53E3"},{default:p(()=>[ye(d(O,{color:"#D4D7DE",size:"small"},{default:p(()=>[D(ce(De.ListenPorts),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(te,{label:"\u5176\u5B83\u53C2\u6570",span:2},{default:p(()=>[d(pe,{class:"box-item",effect:"dark",content:"\u5B89\u5168\u6A21\u5F0F",placement:"bottom"},{default:p(()=>[ye(d(O,{color:"#6666ff",size:"small"},{default:p(()=>[D(ce(De.Options.SafeMode=="whitelist"?"\u767D\u540D\u5355":"\u9ED1\u540D\u5355"),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(pe,{class:"box-item",effect:"dark",content:"\u5355\u7AEF\u53E3TCP\u6700\u5927\u8FDE\u63A5\u6570",placement:"bottom"},{default:p(()=>[ye(d(O,{color:"#6666ff",size:"small"},{default:p(()=>[D(ce(De.Options.SingleProxyMaxTCPConnections),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(pe,{class:"box-item",effect:"dark",content:"UDP\u5305\u6700\u5927\u957F\u5EA6",placement:"bottom"},{default:p(()=>[ye(d(O,{color:"#626aef",size:"small"},{default:p(()=>[D(ce(De.Options.UDPPackageSize),1)]),_:2},1536),[[Be,H(De)]])]),_:2},1024),d(pe,{class:"box-item",effect:"dark",content:De.Options.UDPProxyPerformanceMode==!0?"UDP\u6027\u80FD\u6A21\u5F0F\u5F00\u542F":"\u6027\u80FD\u6A21\u5F0F\u5173\u95ED",placement:"bottom"},{default:p(()=>[ye(d(O,{color:"#626aef",size:"small",disabled:De.Options.UDPProxyPerformanceMode!=!0},{default:p(()=>[D(" \u6027\u80FD\u6A21\u5F0F ")]),_:2},1032,["disabled"]),[[Be,H(De)]])]),_:2},1032,["content"]),d(pe,{class:"box-item",effect:"dark",content:De.Options.UDPShortMode==!0?"UDP\u8F6C\u53D1 shortMode\u542F\u7528":"UDP\u8F6C\u53D1 shortMode\u7981\u7528",placement:"bottom"},{default:p(()=>[ye(d(O,{color:"#626aef",size:"small",disabled:De.Options.UDPShortMode!=!0},{default:p(()=>[D(" ShortMode ")]),_:2},1032,["disabled"]),[[Be,H(De)]])]),_:2},1032,["content"])]),_:2},1024),d(te,{label:"\u76EE\u6807\u5730\u5740"},{default:p(()=>[d(pe,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:_(Ra)(De.TargetAddressList)},null,8,Pie)]),default:p(()=>[ye(d(O,{color:"#409eff",size:"small"},{default:p(()=>[D(ce(De.TargetAddressList==null||De.TargetAddressList==null||De.TargetAddressList.length<=0?"\u672A\u8BBE\u7F6E":De.TargetAddressList.length==1?De.TargetAddressList[0]:De.TargetAddressList[0]+"..."),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]),_:2},1024),d(te,{label:"\u76EE\u6807\u7AEF\u53E3"},{default:p(()=>[d(pe,{class:"box-item oneLine",effect:"dark",placement:"bottom",content:De.TargetPorts},{default:p(()=>[d(O,{color:"#D4D7DE",size:"small"},{default:p(()=>[D(ce(De.TargetPorts),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),d(te,{label:"\u7EDF\u8BA1",span:2},{default:p(()=>[d(pe,{class:"box-item",effect:"dark",content:"\u5DF2\u63A5\u6536 "+w(De),placement:"bottom"},{default:p(()=>[d(O,{color:"#F2F6FC",size:"small"},{default:p(()=>[d(be,null,{default:p(()=>[d(Ce)]),_:1}),D(" "+ce(w(De)),1)]),_:2},1024)]),_:2},1032,["content"]),d(pe,{class:"box-item",effect:"dark",content:"\u5DF2\u53D1\u9001 "+F(De),placement:"bottom"},{default:p(()=>[d(O,{color:"#F2F6FC",size:"small"},{default:p(()=>[d(be,null,{default:p(()=>[d(re)]),_:1}),D(" "+ce(F(De)),1)]),_:2},1024)]),_:2},1032,["content"]),d(pe,{class:"box-item",effect:"dark",content:"\u5F53\u524DTCP\u8FDE\u63A5\u6570 "+T(De),placement:"bottom"},{default:p(()=>[E(De)?(b(),ae(O,{key:0,color:"#F2F6FC",size:"small"},{default:p(()=>[D(" TCP\xA0 \xA0 "),d(be,null,{default:p(()=>[d(me)]),_:1}),D(" "+ce(T(De)),1)]),_:2},1024)):oe("",!0)]),_:2},1032,["content"]),d(pe,{class:"box-item",effect:"dark",content:"UDP\u8F6C\u53D1\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570 "+B(De),placement:"bottom"},{default:p(()=>[$(De)?(b(),ae(O,{key:0,color:"#F2F6FC",size:"small"},{default:p(()=>[D(" UDP\xA0 \xA0 "),d(be,null,{default:p(()=>[d(me)]),_:1}),D(" "+ce(B(De)),1)]),_:2},1024)):oe("",!0)]),_:2},1032,["content"])]),_:2},1024)]),_:2},1024)]))),256))]),_:1}),d(Ge,{position:"bottom",offset:30,class:"affix-container"},{default:p(()=>[d(O,{type:"primary",onClick:ve},{default:p(()=>[D("\u6DFB\u52A0\u8F6C\u53D1\u89C4\u5219 "),d(be,null,{default:p(()=>[d(Pe)]),_:1})]),_:1})]),_:1}),d(Fe,{modelValue:$e.value,"onUpdate:modelValue":V[18]||(V[18]=De=>$e.value=De),title:Ae.value,draggable:"","show-close":!1,"close-on-click-modal":!1,width:"650px"},{footer:p(()=>[f("span",Kie,[d(O,{onClick:V[17]||(V[17]=De=>$e.value=!1)},{default:p(()=>[D("\u53D6\u6D88")]),_:1}),d(O,{type:"primary",onClick:ze},{default:p(()=>[D(ce(ke.value),1)]),_:1})])]),default:p(()=>[d(de,{model:W.value},{default:p(()=>[d(he,{label:"\u540D\u79F0","label-width":x},{default:p(()=>[d(Xe,{modelValue:W.value.Name,"onUpdate:modelValue":V[0]||(V[0]=De=>W.value.Name=De),placeholder:"\u8F6C\u53D1\u89C4\u5219\u540D\u79F0\uFF0C\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(he,{label:"\u8F6C\u53D1\u7C7B\u578B","label-width":x},{default:p(()=>[d(Ie,{modelValue:s.value,"onUpdate:modelValue":V[1]||(V[1]=De=>s.value=De),indeterminate:i.value,onChange:y},{default:p(()=>[D("\u5168\u9009 \xA0\xA0\xA0\xA0\xA0\xA0")]),_:1},8,["modelValue","indeterminate"]),Lie,d(K,{modelValue:c.value,"onUpdate:modelValue":V[2]||(V[2]=De=>c.value=De),onChange:A},{default:p(()=>[(b(),C(We,null,pt(g,De=>d(Ie,{key:De,label:De},{default:p(()=>[D(ce(De),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1}),d(he,{label:"\u5B89\u5168\u6A21\u5F0F","label-width":x},{default:p(()=>[d(q,{modelValue:W.value.Options.SafeMode,"onUpdate:modelValue":V[3]||(V[3]=De=>W.value.Options.SafeMode=De),class:"ml-4"},{default:p(()=>[d(ue,{label:"blacklist"},{default:p(()=>[D("\u9ED1\u540D\u5355\u6A21\u5F0F")]),_:1}),d(ue,{label:"whitelist"},{default:p(()=>[D("\u767D\u540D\u5355\u6A21\u5F0F")]),_:1})]),_:1},8,["modelValue"])]),_:1}),d(he,{label:"\u76D1\u542C\u5730\u5740","label-width":x},{default:p(()=>[d(Xe,{modelValue:W.value.ListenAddress,"onUpdate:modelValue":V[4]||(V[4]=De=>W.value.ListenAddress=De),autocomplete:"off",placeholder:"\u7559\u7A7A\u8868\u793A\u76D1\u542C\u4EFB\u610F\u5730\u5740,\u6CA1\u7279\u6B8A\u9700\u6C42\u591A\u6570\u60C5\u51B5\u4E0B\u7559\u7A7A\u5373\u53EF"},null,8,["modelValue"])]),_:1}),d(he,{label:"\u76D1\u542C\u7AEF\u53E3","label-width":x},{default:p(()=>[d(pe,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u591A\u4E2A\u7AEF\u53E3\u7528,\u53F7\u5206\u5272,\u7AEF\u53E3\u8303\u56F4\u7528-\u8868\u793A,\u6BD4\u5982 80,22,2000-20010"),zie,D(" \u8868\u793A\u76D1\u542C80\u7AEF\u53E3,22\u7AEF\u53E3,20000-20010\u8303\u56F4\u5185\u768411\u4E2A\u7AEF\u53E3"),Tie]),default:p(()=>[d(Xe,{modelValue:W.value.ListenPorts,"onUpdate:modelValue":V[5]||(V[5]=De=>W.value.ListenPorts=De),autocomplete:"off",placeholder:"\u591A\u4E2A\u7AEF\u53E3\u7528,\u53F7\u5206\u5272,\u7AEF\u53E3\u8303\u56F4\u7528-\u8868\u793A,\u6BD4\u5982 80,22,20000-20010"},null,8,["modelValue"])]),_:1})]),_:1}),d(he,{label:"\u76EE\u6807\u5730\u5740","label-width":x},{default:p(()=>[d(pe,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u6CA1\u7279\u6B8A\u9700\u8981\u586B\u4E00\u884C\u5373\u53EF"),Mie,D(" \u591A\u884C\u8868\u793A\u542F\u7528\u5747\u8861\u8D1F\u8F7D,\u6BCF\u6B21\u9009\u62E9\u4E0D\u540C\u7684\u76EE\u6807\u5730\u5740"),Vie,D(" \u53EF\u586B\u5199IP\u6216\u8005\u57DF\u540D"),Hie]),default:p(()=>[d(Xe,{modelValue:m.value,"onUpdate:modelValue":V[6]||(V[6]=De=>m.value=De),autosize:"",placeholder:"\u4E00\u884C\u586B\u4E00\u4E2A\u5730\u5740IP",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),d(he,{label:"\u76EE\u6807\u7AEF\u53E3","label-width":x},{default:p(()=>[d(pe,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u591A\u4E2A\u7AEF\u53E3\u7528,\u53F7\u5206\u5272,\u7AEF\u53E3\u8303\u56F4\u7528-\u8868\u793A,\u6BD4\u5982 80,22,2000-20010"),Iie,D(" \u8868\u793A\u76D1\u542C80\u7AEF\u53E3,22\u7AEF\u53E3,20000-20010\u8303\u56F4\u5185\u768411\u4E2A\u7AEF\u53E3"),Rie]),default:p(()=>[d(Xe,{modelValue:W.value.TargetPorts,"onUpdate:modelValue":V[7]||(V[7]=De=>W.value.TargetPorts=De),autocomplete:"off",placeholder:"\u76D1\u542C\u7AEF\u53E3\u7684\u6570\u91CF\u548C\u76EE\u6807\u7AEF\u53E3\u7684\u6570\u91CF\u8981\u4E00\u81F4"},null,8,["modelValue"])]),_:1})]),_:1}),ye(f("div",Nie,[d(he,{label:"\u5355\u7AEF\u53E3TCP\u6700\u5927\u8FDE\u63A5\u6570","label-width":x},{default:p(()=>[d(k,{modelValue:W.value.Options.SingleProxyMaxTCPConnections,"onUpdate:modelValue":V[8]||(V[8]=De=>W.value.Options.SingleProxyMaxTCPConnections=De),min:1,max:65535},null,8,["modelValue"])]),_:1})],512),[[Be,v.value]]),ye(f("div",Oie,[ye(d(he,{label:"\u5355\u7AEF\u53E3UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570\u9650\u5236","label-width":"auto"},{default:p(()=>[d(k,{modelValue:W.value.Options.SingleProxyMaxUDPReadTargetDatagoroutineCount,"onUpdate:modelValue":V[9]||(V[9]=De=>W.value.Options.SingleProxyMaxUDPReadTargetDatagoroutineCount=De),min:0,max:4096},null,8,["modelValue"]),D(" \xA0\xA0\xA0 ")]),_:1},512),[[Be,h.value]]),ye(d(he,{label:"UDP\u6700\u5927\u5305\u957F\u5EA6","label-width":x},{default:p(()=>[d(k,{modelValue:W.value.Options.UDPPackageSize,"onUpdate:modelValue":V[10]||(V[10]=De=>W.value.Options.UDPPackageSize=De),min:1,max:99999},null,8,["modelValue"]),D(" \xA0\xA0\xA0 ")]),_:1},512),[[Be,h.value]]),d(he,{label:"\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0"},{default:p(()=>[d(pe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u901A\u8FC7\u589E\u52A0\u534F\u7A0B\u6570\u81F3\u4E0ECPU\u6838\u6570\u4E00\u81F4\u63D0\u9AD8udp\u5C0F\u5305\u8F6C\u53D1\u6027\u80FD"),Uie,D(" \u4E00\u822C\u60C5\u51B5\u4E0D\u8981\u5F00\u542F"),Wie]),default:p(()=>[d(Ie,{label:"UDP\u8F6C\u53D1\u6027\u80FD\u6A21\u5F0F",modelValue:W.value.Options.UDPProxyPerformanceMode,"onUpdate:modelValue":V[11]||(V[11]=De=>W.value.Options.UDPProxyPerformanceMode=De)},null,8,["modelValue"])]),_:1})]),_:1}),d(he,{label:"\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0\xA0"},{default:p(()=>[d(pe,{class:"box-item",effect:"dark",content:"DNS\u8F6C\u53D1\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173\u4EE5\u8282\u7EA6\u8D44\u6E90,\u5176\u5B83\u573A\u666F\u81EA\u884C\u6D4B\u8BD5"},{default:p(()=>[d(Ie,{label:"UDP short mode",modelValue:W.value.Options.UDPShortMode,"onUpdate:modelValue":V[12]||(V[12]=De=>W.value.Options.UDPShortMode=De)},null,8,["modelValue"])]),_:1})]),_:1})],512),[[Be,h.value]]),d(he,{label:"\u65E5\u5FD7\u8F93\u51FA\u7EA7\u522B","label-width":x},{default:p(()=>[d(X,{modelValue:W.value.LogLevel,"onUpdate:modelValue":V[13]||(V[13]=De=>W.value.LogLevel=De),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(!0),C(We,null,pt(_(mi),De=>(b(),ae(Me,{key:De.value,label:De.label,value:De.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),d(he,{label:"\u65E5\u5FD7\u8F93\u51FA\u5230\u7EC8\u7AEF","label-width":x},{default:p(()=>[d(_e,{modelValue:W.value.LogOutputToConsole,"onUpdate:modelValue":V[14]||(V[14]=De=>W.value.LogOutputToConsole=De),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1}),d(pe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u8303\u56F4(0-102400),0\u8868\u793A\u4E0D\u4FDD\u5B58\u65E5\u5FD7"),qie]),default:p(()=>[d(he,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570","label-width":x,min:0,max:102400},{default:p(()=>[d(k,{modelValue:W.value.AccessLogMaxNum,"onUpdate:modelValue":V[15]||(V[15]=De=>W.value.AccessLogMaxNum=De),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(pe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u8303\u56F4(1-64)"),jie]),default:p(()=>[d(he,{label:"\u524D\u7AEF\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570","label-width":x,min:1,max:64},{default:p(()=>[d(k,{modelValue:W.value.WebListShowLastLogMaxCount,"onUpdate:modelValue":V[16]||(V[16]=De=>W.value.WebListShowLastLogMaxCount=De),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"]),r.value?(b(),ae(Fe,{key:0,modelValue:r.value,"onUpdate:modelValue":V[19]||(V[19]=De=>r.value=De),"close-on-click-modal":!1,width:"1100px"},{default:p(()=>[f("div",null,[d(Q,{"max-height":"95vh",class:"portforwardLogs","element-loading-background":"transparent"},{default:p(()=>[D(ce(u.value),1)]),_:1}),d(At,{"page-size":t.value,"page-sizes":[10,25,50,100,200,300,400,500],small:!1,disabled:!1,background:!1,layout:"total, sizes, prev, pager, next, jumper","current-page":a.value,total:n.value,onSizeChange:Y,onCurrentChange:ge,onPrevClick:G,onNextClick:N},null,8,["page-size","current-page","total"])])]),_:1},8,["modelValue"])):oe("",!0)])}}});var Yie=wn(Gie,[["__scopeId","data-v-44f77ba6"]]);const V2=e=>(ar("data-v-ff97a846"),e=e(),rr(),e),Xie={class:"PageRadius",style:{borderRadius:"base"}},Jie={class:"InfoDivRadius"},Qie={class:"line"},Zie=V2(()=>f("div",{class:"line"},null,-1)),e2e={class:"line"},t2e={class:"line"},n2e=V2(()=>f("div",{class:"line"}," Lukcy\u4EA4\u6D41 QQ\u7FA4:\xA0\xA0602427029 ",-1)),o2e={class:"line"},l2e={class:"line"},a2e=V2(()=>f("div",{class:"line"},null,-1)),r2e=Le({__name:"About",setup(e){var t=z({AppName:"Lucky",Version:"1.0.0",OS:"unknow",ARCH:"unknow",Date:"2022-07-25",GoVersion:""});const n=()=>{nie().then(o=>{if(o.ret==0){t.value=o.info;return}ie("error","\u83B7\u53D6App\u4FE1\u606F\u51FA\u9519")}).catch(o=>{console.log("\u83B7\u83B7\u53D6App\u4FE1\u606F\u51FA\u9519:"+o),ie("error","\u83B7\u53D6App\u4FE1\u606F\u51FA\u9519")})};return at(()=>{n()}),(o,l)=>{const a=j4;return b(),C("div",Xie,[f("div",Jie,[f("div",Qie,ce(_(t).AppName)+"\xA0\xA0\xA0version:"+ce(_(t).Version)+"\xA0 "+ce(_(t).OS)+"("+ce(_(t).ARCH)+") ",1),Zie,f("div",e2e," \u4F5C\u8005:\u53E4\u5927\u7F8A \xA0"+ce(_(t).GoVersion)+"\xA0\u7F16\u8BD1\u65F6\u95F4:"+ce(_(t).Date),1),f("div",t2e,[d(a,{type:"primary",href:"tencent://message/?uin=272288813&Site=&Menu=yes",target:"_blank"},{default:p(()=>[D("QQ\u8054\u7CFB\u4F5C\u8005")]),_:1}),D(" \xA0\xA0\xA0\u90AE\u7BB1: 272288813@qq.com ")]),n2e,f("div",o2e,[D(" Github\xA0\xA0"),d(a,{type:"primary",href:"https://github.com/gdy666/lucky",target:"_blank"},{default:p(()=>[D("https://github.com/gdy666/lucky")]),_:1})]),f("div",l2e,[D(" Gitee\xA0\xA0"),d(a,{type:"primary",href:"https://gitee.com/gdy666/lucky",target:"_blank"},{default:p(()=>[D("https://gitee.com/gdy666/lucky")]),_:1})]),f("div",null,[D(" \u672C\u9879\u76EE\u501F\u9274\u5F15\u7528\u6216\u53C2\u8003\u7684\u7B2C\u4E09\u65B9\u5F00\u6E90\u9879\u76EE: "),d(a,{type:"primary",href:"https://github.com/fatedier/frp",target:"_blank"},{default:p(()=>[D("frp")]),_:1}),D(),d(a,{type:"primary",href:"https://github.com/jeessy2/ddns-go",target:"_blank"},{default:p(()=>[D("ddns-go")]),_:1})]),a2e])])}}});var u2e=wn(r2e,[["__scopeId","data-v-ff97a846"]]);const s2e={id:"status","element-loading-background":"transparent"},i2e={class:"status"},c2e={class:"status"},d2e={class:"status"},f2e={class:"status"},p2e={class:"status"},v2e={class:"status"},h2e={class:"status"},_2e={class:"status"},m2e=Le({__name:"status",setup(e){const t=Ze("global");var n=z(!0),o=z({totleMem:"0m",usedMem:"0m",unusedMem:"0m",usedCPU:"0%",currentProcessUsedCPU:"0%",goroutine:"0",processUsedMem:"0m",currentTCPConnections:0,currentUDPConnections:0,maxTCPConnections:0,proxysStatus:"",runTime:""}),l;function a(){t.currentPage.value=="#status"&&Pse().then(r=>{n.value=!1,o.value=r.data})}return at(()=>{a(),l=setInterval(()=>{a()},3e3)}),Bo(()=>{clearInterval(l)}),(r,u)=>{const s=Ku;return ye((b(),C("div",s2e,[f("p",i2e,"\u603B\u5185\u5B58:"+ce(_(o).totleMem)+" \u5DF2\u7528:"+ce(_(o).usedMem)+" \u672A\u7528:"+ce(_(o).unusedMem),1),f("p",c2e,"CPU\u5168\u5C40\u4F7F\u7528\u7387:"+ce(_(o).usedCPU),1),f("p",d2e,"\u5F53\u524D\u8FDB\u7A0BCPU\u4F7F\u7528\u7387:"+ce(_(o).currentProcessUsedCPU),1),f("p",f2e,"\u8FDB\u7A0B\u534F\u7A0B\u6570:"+ce(_(o).goroutine)+" \u5360\u7528\u5185\u5B58:"+ce(_(o).processUsedMem),1),f("p",p2e,"\u7AEF\u53E3\u8F6C\u53D1TCP\u603B\u8FDE\u63A5\u6570:"+ce(_(o).currentTCPConnections),1),f("p",v2e,"\u7AEF\u53E3\u8F6C\u53D1\u5168\u5C40UDP\u8BFB\u53D6\u76EE\u6807\u5730\u5740\u6570\u636E\u534F\u7A0B\u6570:"+ce(_(o).currentUDPConnections),1),f("p",h2e,"\u7AEF\u53E3\u8F6C\u53D1TCP\u5168\u5C40\u9650\u5236\u8FDE\u63A5\u6570:"+ce(_(o).maxTCPConnections),1),f("p",_2e,"Lucky \u542F\u52A8\u65F6\u95F4:"+ce(_(o).runTime),1)])),[[s,_(n)]])}}}),g2e=f("br",null,null,-1),b2e=f("br",null,null,-1),y2e=f("br",null,null,-1),w2e=f("br",null,null,-1),C2e=f("br",null,null,-1),E2e=f("br",null,null,-1),A2e=Le({__name:"log",setup(e){Ze("global");var t="",n="";const o=z("");var l=z(!0);function a(){Lse(t).then(u=>{if(l.value=!1,n!=u.starttime&&(o.value="",n=u.starttime),u.logs!=null&&u.logs.length>0){t=u.logs[u.logs.length-1].timestamp,console.log("fff "+u.logs[u.logs.length-1].log),console.log("\u8FFD\u52A0\u65E5\u5FD7 "+t);for(var s=0;s{a(),r=setInterval(()=>{a()},1e3)}),Bo(()=>{clearInterval(r)}),(u,s)=>{const i=un,c=Ku;return ye((b(),ae(i,{"max-height":"95vh",class:"logtermv2","element-loading-background":"transparent"},{default:p(()=>[D(ce(o.value)+" ",1),g2e,b2e,y2e,w2e,C2e,E2e]),_:1})),[[c,_(l)]])}}}),F2e=f("span",null,"\u83DC\u5355",-1),x2e=f("span",null,"\u7AEF\u53E3\u8F6C\u53D1",-1),$2e=f("span",null,"\u53CD\u5411\u4EE3\u7406",-1),D2e=f("span",null,"\u52A8\u6001\u57DF\u540D",-1),B2e=f("span",null,"IP\u8FC7\u6EE4\u8BBE\u7F6E",-1),S2e=f("div",{class:"flex-grow"},null,-1),k2e=Le({__name:"pmenu",setup(e){const t=Ze("global"),n=z("#set"),o=z("");console.log("currentPage[menu]:"+t.currentPage.value);const l=()=>{Jse().then(r=>{if(r.ret==0){o.value=r.version;return}}).catch(r=>{})};function a(r,u,s,i){switch(r){case"#logout":zt.confirm("\u786E\u5B9A\u8981\u6CE8\u9500\u767B\u5F55?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u70B9\u9519\u4E86",type:"warning"}).then(()=>{yd(r)}).catch(()=>{});break;case"#logo":location.hash="#about";break;default:yd(r);break}}return at(()=>{l()}),(r,u)=>{const s=Qe("Menu"),i=ut,c=Qe("DataAnalysis"),m=moe,h=Qe("document"),v=Kte,g=Qe("Position"),y=Qe("List"),A=goe,w=Qe("Connection"),F=Qe("Promotion"),E=Qe("Setting"),$=Qe("Guide"),T=Qe("Lock"),B=Qe("setting"),P=Qe("Pointer"),H=Qe("Close"),I=_oe;return b(),ae(I,{"default-active":n.value,class:"el-menu-demo menu",mode:"horizontal",ellipsis:!1,onSelect:a},{default:p(()=>[_(t).currentPage.value!="#login"?(b(),ae(A,{key:0,index:"#menu"},{title:p(()=>[d(i,null,{default:p(()=>[d(s)]),_:1}),F2e]),default:p(()=>[d(m,{index:"#status"},{title:p(()=>[D("\u603B\u89C8")]),default:p(()=>[d(i,null,{default:p(()=>[d(c)]),_:1})]),_:1}),d(m,{index:"#log"},{title:p(()=>[D("\u7A0B\u5E8F\u65E5\u5FD7")]),default:p(()=>[d(i,null,{default:p(()=>[d(h)]),_:1})]),_:1}),d(v,{style:{"margin-top":"0px","margin-bottom":"0px"}}),d(A,{index:"#relay"},{title:p(()=>[d(i,null,{default:p(()=>[d(g)]),_:1}),x2e]),default:p(()=>[d(m,{index:"#portforward"},{title:p(()=>[D("\u8F6C\u53D1\u89C4\u5219\u5217\u8868")]),default:p(()=>[d(i,null,{default:p(()=>[d(y)]),_:1})]),_:1}),d(m,{index:"#portforwardset"},{title:p(()=>[D("\u8BBE\u7F6E")]),default:p(()=>[d(i,null,{default:p(()=>[d(y)]),_:1})]),_:1})]),_:1}),d(A,{index:"#reverseproxy"},{title:p(()=>[d(i,null,{default:p(()=>[d(w)]),_:1}),$2e]),default:p(()=>[d(m,{index:"#reverseproxylist"},{title:p(()=>[D("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5217\u8868")]),default:p(()=>[d(i,null,{default:p(()=>[d(y)]),_:1})]),_:1})]),_:1}),d(A,{index:"#ddns"},{title:p(()=>[d(i,null,{default:p(()=>[d(F)]),_:1}),D2e]),default:p(()=>[d(m,{index:"#ddnstasklist"},{title:p(()=>[D("\u52A8\u6001\u57DF\u540D\u4EFB\u52A1\u5217\u8868")]),default:p(()=>[d(i,null,{default:p(()=>[d(y)]),_:1})]),_:1}),d(m,{index:"#ddnsset"},{title:p(()=>[D("\u52A8\u6001\u57DF\u540D\u8BBE\u7F6E")]),default:p(()=>[d(i,null,{default:p(()=>[d(E)]),_:1})]),_:1})]),_:1}),d(v,{style:{"margin-top":"0px","margin-bottom":"0px"}}),d(A,{index:"#safe"},{title:p(()=>[d(i,null,{default:p(()=>[d($)]),_:1}),B2e]),default:p(()=>[d(m,{index:"#whitelistset"},{title:p(()=>[D("\u767D\u540D\u5355\u8BBE\u7F6E")]),default:p(()=>[d(i,null,{default:p(()=>[d(E)]),_:1})]),_:1}),d(m,{index:"#whitelists"},{title:p(()=>[D("\u767D\u540D\u5355\u5217\u8868")]),default:p(()=>[d(i,null,{default:p(()=>[d(y)]),_:1})]),_:1}),d(m,{index:"#blacklists"},{title:p(()=>[D("\u9ED1\u540D\u5355\u5217\u8868")]),default:p(()=>[d(i,null,{default:p(()=>[d(y)]),_:1})]),_:1})]),_:1}),d(m,{index:"#ssl"},{title:p(()=>[D("SSL\u8BC1\u4E66")]),default:p(()=>[d(i,null,{default:p(()=>[d(T)]),_:1})]),_:1}),d(m,{index:"#set"},{title:p(()=>[D("\u8BBE\u7F6E")]),default:p(()=>[d(i,null,{default:p(()=>[d(B)]),_:1})]),_:1}),d(m,{index:"#about"},{title:p(()=>[D("\u5173\u4E8E")]),default:p(()=>[d(i,null,{default:p(()=>[d(P)]),_:1})]),_:1}),d(v,{style:{"margin-top":"0px","margin-bottom":"0px"}}),d(m,{index:"#logout"},{title:p(()=>[D("\u9000\u51FA\u767B\u5F55")]),default:p(()=>[d(i,null,{default:p(()=>[d(H)]),_:1})]),_:1})]),_:1})):oe("",!0),S2e,d(m,{index:"#logo"},{default:p(()=>[D("Lucky "+ce(o.value),1)]),_:1})]),_:1},8,["default-active"])}}});var H6={exports:{}};(function(e,t){(function(n,o){o()})(Hl,function(){function n(i,c){return typeof c=="undefined"?c={autoBom:!1}:typeof c!="object"&&(console.warn("Deprecated: Expected third argument to be a object"),c={autoBom:!c}),c.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(i.type)?new Blob(["\uFEFF",i],{type:i.type}):i}function o(i,c,m){var h=new XMLHttpRequest;h.open("GET",i),h.responseType="blob",h.onload=function(){s(h.response,c,m)},h.onerror=function(){console.error("could not download file")},h.send()}function l(i){var c=new XMLHttpRequest;c.open("HEAD",i,!1);try{c.send()}catch{}return 200<=c.status&&299>=c.status}function a(i){try{i.dispatchEvent(new MouseEvent("click"))}catch{var c=document.createEvent("MouseEvents");c.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),i.dispatchEvent(c)}}var r=typeof window=="object"&&window.window===window?window:typeof self=="object"&&self.self===self?self:typeof Hl=="object"&&Hl.global===Hl?Hl:void 0,u=r.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),s=r.saveAs||(typeof window!="object"||window!==r?function(){}:"download"in HTMLAnchorElement.prototype&&!u?function(i,c,m){var h=r.URL||r.webkitURL,v=document.createElement("a");c=c||i.name||"download",v.download=c,v.rel="noopener",typeof i=="string"?(v.href=i,v.origin===location.origin?a(v):l(v.href)?o(i,c,m):a(v,v.target="_blank")):(v.href=h.createObjectURL(i),setTimeout(function(){h.revokeObjectURL(v.href)},4e4),setTimeout(function(){a(v)},0))}:"msSaveOrOpenBlob"in navigator?function(i,c,m){if(c=c||i.name||"download",typeof i!="string")navigator.msSaveOrOpenBlob(n(i,m),c);else if(l(i))o(i,c,m);else{var h=document.createElement("a");h.href=i,h.target="_blank",setTimeout(function(){a(h)})}}:function(i,c,m,h){if(h=h||open("","_blank"),h&&(h.document.title=h.document.body.innerText="downloading..."),typeof i=="string")return o(i,c,m);var v=i.type==="application/octet-stream",g=/constructor/i.test(r.HTMLElement)||r.safari,y=/CriOS\/[\d]+/.test(navigator.userAgent);if((y||v&&g||u)&&typeof FileReader!="undefined"){var A=new FileReader;A.onloadend=function(){var E=A.result;E=y?E:E.replace(/^data:[^;]*;/,"data:attachment/file;"),h?h.location.href=E:location=E,h=null},A.readAsDataURL(i)}else{var w=r.URL||r.webkitURL,F=w.createObjectURL(i);h?h.location=F:location.href=F,h=null,setTimeout(function(){w.revokeObjectURL(F)},4e4)}});r.saveAs=s.saveAs=s,e.exports=s})})(H6);var P2e=H6.exports;const Qu=e=>(ar("data-v-3da206be"),e=e(),rr(),e),L2e={class:"PageRadius",style:{borderRadius:"base"}},z2e={class:"formradius",style:{borderRadius:"base"}},T2e={class:"AdminListenDivRadius"},M2e=Qu(()=>f("p",null,"\u540E\u53F0\u7BA1\u7406\u5165\u53E3\u8BBE\u7F6E",-1)),V2e=Qu(()=>f("br",null,null,-1)),H2e=Qu(()=>f("br",null,null,-1)),I2e=Qu(()=>f("br",null,null,-1)),R2e={class:"AdminListenDivRadius"},N2e={class:"AdminListenDivRadius"},O2e=Le({__name:"pset",setup(e){console.log("window.location.href "+window.location.href),console.log("window.location.port "+window.location.port),console.log("window.location.host "+window.location.host),console.log("window.location "+JSON.stringify(window.location));const t=z(!1),n=()=>window.location.protocol+"//"+window.location.hostname+":"+u.value.AdminWebListenPort,o=()=>{var g="/";return g+"api/configure"},l=(g,y,A)=>{if(g.ret!=0){ie("error",g.msg);return}console.log("restoreKey: "+g.restoreConfigureKey);let w=g.file;zt.confirm("\u786E\u8BA4\u8981\u5C06["+w+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E?\u66FF\u6362\u5B8C\u6210\u540ELucky\u4F1A\u81EA\u52A8\u91CD\u542F","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{oie(g.restoreConfigureKey).then(F=>{if(F.ret!=0){ie("error","\u5C06["+w+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E\u51FA\u9519:"+F.msg);return}ie("success","\u5C06["+w+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E\u6210\u529F"),setTimeout(()=>{window.location.href=window.location.protocol+"//"+window.location.hostname+":"+F.port},2e3)}).catch(F=>{console.log("\u7F51\u7EDC\u51FA\u9519:"+F),ie("error","\u5C06["+g.file+"]\u66FF\u6362\u4E3ALucky\u73B0\u6709\u914D\u7F6E\u51FA\u9519:"+F)})}).catch(()=>{})},a={AdminWebListenPort:1,AdminWebListenTLS:!1,AdminWebListenHttpsPort:16626,AdminAccount:"",AdminPassword:"",AllowInternetaccess:!1,LogMaxSize:1024},r=z(a),u=z(a),s=()=>{lie().then(g=>{if(g.ret!=0){ie("error","\u83B7\u53D6\u914D\u7F6E\u51FA\u9519");return}let y=new Blob([g.configure],{type:"application/json"});P2e.saveAs(y,"lucky_"+g.time+".conf")}).catch(g=>{console.log("\u83B7\u53D6\u914D\u7F6E\u51FA\u9519:"+g),ie("error","\u83B7\u53D6\u914D\u7F6E\u51FA\u9519")})},i=()=>{r.value.AdminWebListenPort=u.value.AdminWebListenPort,r.value.AdminAccount=u.value.AdminAccount,r.value.AdminPassword=u.value.AdminPassword,r.value.AllowInternetaccess=u.value.AllowInternetaccess},c=g=>{u.value.AdminWebListenPort=g.value.AdminWebListenPort,u.value.AdminAccount=g.value.AdminAccount,u.value.AdminPassword=g.value.AdminPassword,u.value.AllowInternetaccess=g.value.AllowInternetaccess},m=()=>{t.value=!0,zt.confirm("\u786E\u5B9A\u8981\u91CD\u542Flucky?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u70B9\u9519\u4E86",type:"warning"}).then(()=>{Wse().then(g=>{ie("success","\u91CD\u542F\u6210\u529F,3\u79D2\u540E\u81EA\u52A8\u8DF3\u8F6C\u5230\u65B0\u767B\u5F55\u8FDE\u63A5"),setTimeout(()=>{window.location.href=n()},3e3)}).catch(g=>{t.value=!1,console.log("\u91CD\u542F\u64CD\u4F5C\u51FA\u9519:"+g),ie("error","\u91CD\u542F\u64CD\u4F5C\u51FA\u9519")})}).catch(()=>{t.value=!1})},h=()=>{Ise().then(g=>{if(g.ret==0){r.value=g.baseconfigure,c(r);return}ie("error","\u83B7\u53D6\u57FA\u672C\u914D\u7F6E\u51FA\u9519")}).catch(g=>{console.log("\u83B7\u53D6\u8F6C\u53D1\u89C4\u5219\u5217\u8868\u51FA\u9519:"+g),ie("error","\u83B7\u53D6\u57FA\u672C\u914D\u7F6E\u51FA\u9519")})},v=()=>{Nse(r.value).then(g=>{if(g.ret==0){ie("success","\u914D\u7F6E\u4FEE\u6539\u6210\u529F"),c(r);return}ie("error",g.msg)}).catch(g=>{console.log("\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+g),ie("error","\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})};return at(()=>{h()}),(g,y)=>{const A=ga,w=jn,F=To,E=Sn,$=yn,T=qn,B=kn,P=v6,H=un;return b(),C("div",L2e,[d(H,{height:"100%"},{default:p(()=>[f("div",z2e,[d(T,{model:r.value,class:"SetForm","label-width":"auto"},{default:p(()=>[f("div",T2e,[M2e,d(w,{label:"\u5916\u7F51\u8BBF\u95EE",id:"adminListen"},{default:p(()=>[d(A,{modelValue:r.value.AllowInternetaccess,"onUpdate:modelValue":y[0]||(y[0]=I=>r.value.AllowInternetaccess=I),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u5141\u8BB8","inactive-text":"\u7981\u6B62"},null,8,["modelValue"])]),_:1}),d(w,{label:"\u7AEF\u53E3(http)",id:"adminListen"},{default:p(()=>[d(F,{modelValue:r.value.AdminWebListenPort,"onUpdate:modelValue":y[1]||(y[1]=I=>r.value.AdminWebListenPort=I),autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(w,{label:"TLS\u7AEF\u53E3(https)",id:"adminListen"},{default:p(()=>[d(E,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u5916\u7F51\u8BBF\u95EE\u65F6\u5EFA\u8BAE\u4F7F\u7528https\u7AEF\u53E3\u8BBF\u95EE"),V2e,D(" \u81EA\u884C\u786E\u8BA4\u542F\u7528\u524D\u5148\u6DFB\u52A0\u5BF9\u5E94\u57DF\u540D\u7684SSL\u8BC1\u4E66"),H2e,D(" \u4FDD\u5B58\u4FEE\u6539\u6216\u589E\u5220SSL\u8BC1\u4E66\u540E\u8BF7\u624B\u52A8\u91CD\u542F\u7A0B\u5E8F\u4F7F\u5F97\u8BBE\u7F6E\u6216\u8BC1\u4E66\u751F\u6548"),I2e]),default:p(()=>[d(A,{modelValue:r.value.AdminWebListenTLS,"onUpdate:modelValue":y[2]||(y[2]=I=>r.value.AdminWebListenTLS=I),class:"mb-1","inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),ye(d(w,{label:"\u7AEF\u53E3(https)",id:"adminListen"},{default:p(()=>[d(F,{modelValue:r.value.AdminWebListenHttpsPort,"onUpdate:modelValue":y[3]||(y[3]=I=>r.value.AdminWebListenHttpsPort=I),autocomplete:"off"},null,8,["modelValue"])]),_:1},512),[[Be,r.value.AdminWebListenTLS]])]),f("div",R2e,[d(w,{label:"\u7BA1\u7406\u767B\u5F55\u8D26\u53F7",id:"adminAccount"},{default:p(()=>[d($,{modelValue:r.value.AdminAccount,"onUpdate:modelValue":y[4]||(y[4]=I=>r.value.AdminAccount=I),placeholder:"\u7BA1\u7406\u767B\u5F55\u8D26\u53F7",autocomplete:"off",style:{witdh:"390px"}},null,8,["modelValue"])]),_:1}),d(w,{label:"\u7BA1\u7406\u767B\u5F55\u5BC6\u7801",id:"adminPassword"},{default:p(()=>[d($,{modelValue:r.value.AdminPassword,"onUpdate:modelValue":y[5]||(y[5]=I=>r.value.AdminPassword=I),placeholder:"\u7BA1\u7406\u767B\u5F55\u5BC6\u7801",autocomplete:"off"},null,8,["modelValue"])]),_:1})]),f("div",N2e,[d(w,{label:"\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570",id:"logMaxSize"},{default:p(()=>[d(F,{modelValue:r.value.LogMaxSize,"onUpdate:modelValue":y[6]||(y[6]=I=>r.value.LogMaxSize=I),autocomplete:"off",min:1024,max:40960},null,8,["modelValue"])]),_:1})])]),_:1},8,["model"]),d(B,{type:"primary",round:"",onClick:v},{default:p(()=>[D("\u4FDD\u5B58\u4FEE\u6539")]),_:1}),d(B,{type:"info",round:"",onClick:i},{default:p(()=>[D("\u64A4\u9500\u6539\u52A8")]),_:1}),d(B,{type:"danger",round:"",onClick:m,disabled:t.value},{default:p(()=>[D("\u91CD\u542F\u7A0B\u5E8F")]),_:1},8,["disabled"]),d(B,{type:"success",round:"",onClick:s},{default:p(()=>[D("\u5907\u4EFD\u914D\u7F6E")]),_:1}),d(P,{class:"inline-block",action:o(),"show-file-list":!1,headers:{Authorization:_(lt)()},limit:1,"on-success":l},{default:p(()=>[d(B,{round:"",class:"margin-change"},{default:p(()=>[D("\u6062\u590D\u914D\u7F6E")]),_:1})]),_:1},8,["action","headers"])])]),_:1})])}}});var U2e=wn(O2e,[["__scopeId","data-v-3da206be"]]);const W2e={class:"PageRadius",style:{borderRadius:"base"}},q2e={class:"formradius",style:{borderRadius:"base"}},j2e=Le({__name:"login",setup(e){const t=z(!0),n=Ze("global"),o=z({Account:"",Password:""}),l=i=>{a(i)},a=i=>{if(n.storage.setItem("rememberPassword",i),i){n.storage.setItem("loginAccount",o.value.Account),n.storage.setItem("loginPassword",o.value.Password);return}n.storage.setItem("loginAccount",""),n.storage.setItem("loginPassword","")},r=()=>{let i=n.storage.getItem("rememberPassword");t.value=!(i==null||i==!1),i&&(o.value.Account=n.storage.getItem("loginAccount")==null?"":n.storage.getItem("loginAccount"),o.value.Password=n.storage.getItem("loginPassword")==null?"":n.storage.getItem("loginPassword"))},u=()=>{if(o.value.Account==""||o.value.Password==""){ie("error","\u8D26\u53F7\u6216\u5BC6\u7801\u4E0D\u80FD\u4E3A\u7A7A");return}a(t.value),Use(o.value).then(i=>{if(i.ret==0){ie("success","\u767B\u5F55\u6210\u529F"),n.storage.setItem("token",i.token),location.hash="#set";return}ie("error",i.msg)}).catch(i=>{console.log("\u767B\u5F55\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+i),ie("error","\u767B\u5F55\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})},s=i=>{if(i.keyCode==13&&n.currentPage.value=="#login"){u();return}};return at(()=>{window.addEventListener("keydown",s),r()}),(i,c)=>{const m=yn,h=jn,v=$o,g=qn,y=kn;return b(),C("div",W2e,[f("div",q2e,[d(g,{model:o.value,class:"SetForm","label-width":"auto"},{default:p(()=>[d(h,{label:"\u7BA1\u7406\u8D26\u53F7",id:"account"},{default:p(()=>[d(m,{modelValue:o.value.Account,"onUpdate:modelValue":c[0]||(c[0]=A=>o.value.Account=A),placeholder:"\u7BA1\u7406\u8D26\u53F7",autocomplete:"off",style:{witdh:"390px"}},null,8,["modelValue"])]),_:1}),d(h,{label:"\u7BA1\u7406\u5BC6\u7801",id:"account"},{default:p(()=>[d(m,{"show-password":"",modelValue:o.value.Password,"onUpdate:modelValue":c[1]||(c[1]=A=>o.value.Password=A),placeholder:"\u7BA1\u7406\u5BC6\u7801",autocomplete:"off",style:{witdh:"390px"}},null,8,["modelValue"])]),_:1}),d(h,null,{default:p(()=>[d(v,{modelValue:t.value,"onUpdate:modelValue":c[2]||(c[2]=A=>t.value=A),label:"\u8BB0\u4F4F\u5BC6\u7801",size:"large",onChange:l},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),d(y,{type:"primary",round:"",onClick:u},{default:p(()=>[D("\u767B\u5F55")]),_:1})])])}}});var K2e=wn(j2e,[["__scopeId","data-v-ee7bc046"]]);const G2e={class:"PageRadius",style:{borderRadius:"base"}},Y2e={class:"formradius",style:{borderRadius:"base"}},X2e={class:"whitelistConfigure"},J2e=Le({__name:"WhiteListSet",setup(e){const t=z({URL:"",ActivelifeDuration:36,BasicAccount:"",BasicPassword:""}),n=z({URL:"",ActivelifeDuration:36,BasicAccount:"",BasicPassword:""}),o=R(()=>n.value.URL==null||n.value.URL==""?window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl":window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl/"+n.value.URL),l=R(()=>t.value.URL==null||t.value.URL==""?window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl":window.location.protocol+"//"+window.location.hostname+":"+window.location.port+"/wl/"+t.value.URL),a=s=>{_i(s),ie("success","\u767D\u540D\u5355\u8BA4\u8BC1\u5730\u5740 "+s+" \u5DF2\u590D\u5236\u5230\u526A\u5207\u677F")},r=()=>{qse(t.value).then(s=>{if(s.ret==0){ie("success","\u4FDD\u5B58\u6210\u529F"),n.value=t.value;return}ie("error",s.msg)}).catch(s=>{ie("error","\u67E5\u8BE2\u767D\u540D\u5355\u8BBE\u7F6E\u51FA\u9519")})},u=()=>{jse().then(s=>{if(s.ret==0){t.value=z(s.data).value,n.value.URL=t.value.URL,n.value.ActivelifeDuration=t.value.ActivelifeDuration,n.value.BasicAccount=t.value.BasicAccount,n.value.BasicPassword=t.value.BasicPassword;return}ie("error",s.msg)}).catch(s=>{ie("error","\u67E5\u8BE2\u767D\u540D\u5355\u8BBE\u7F6E\u51FA\u9519")})};return at(()=>{u()}),(s,i)=>{const c=yn,m=kn,h=Sn,v=jn,g=To,y=qn,A=un;return b(),C("div",G2e,[d(A,{height:"100%"},{default:p(()=>[f("div",Y2e,[f("div",X2e,[d(y,{model:t.value,class:"SetForm","label-width":"auto"},{default:p(()=>[d(v,{label:"\u81EA\u5B9A\u4E49URL",id:"whitelisturl"},{default:p(()=>[d(c,{modelValue:t.value.URL,"onUpdate:modelValue":i[0]||(i[0]=w=>t.value.URL=w),placeholder:"\u81EA\u5B9A\u4E49URL",autocomplete:"off",style:{witdh:"250px","margin-bottom":"4px"}},null,8,["modelValue"]),d(h,{class:"box-item oneLine",effect:"dark",placement:"bottom",content:_(o)},{default:p(()=>[d(m,{type:"info",round:"",onClick:i[1]||(i[1]=w=>a(_(o))),style:{"margin-right":"10px"}},{default:p(()=>[D("\u590D\u5236")]),_:1})]),_:1},8,["content"]),f("a",null,ce(_(l)),1)]),_:1}),d(v,{label:"\u6709\u6548\u65F6\u957F(\u5C0F\u65F6)",id:"whitelistActivelifeDuration"},{default:p(()=>[d(g,{modelValue:t.value.ActivelifeDuration,"onUpdate:modelValue":i[2]||(i[2]=w=>t.value.ActivelifeDuration=w),autocomplete:"off",min:1,max:99999},null,8,["modelValue"])]),_:1}),d(v,{label:"\u8BA4\u8BC1\u8D26\u53F7",id:"basicAccount"},{default:p(()=>[d(c,{modelValue:t.value.BasicAccount,"onUpdate:modelValue":i[3]||(i[3]=w=>t.value.BasicAccount=w),placeholder:"\u8BA4\u8BC1\u8D26\u53F7",autocomplete:"off",style:{witdh:"250px"}},null,8,["modelValue"])]),_:1}),d(v,{label:"\u8BA4\u8BC1\u5BC6\u7801",id:"basicPassword"},{default:p(()=>[d(c,{modelValue:t.value.BasicPassword,"onUpdate:modelValue":i[4]||(i[4]=w=>t.value.BasicPassword=w),placeholder:"\u8BA4\u8BC1\u5BC6\u7801",autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"]),d(m,{type:"primary",round:"",onClick:r},{default:p(()=>[D("\u4FDD\u5B58\u914D\u7F6E")]),_:1})])])]),_:1})])}}});var Q2e=wn(J2e,[["__scopeId","data-v-52b01d33"]]);const Z2e={class:"PageRadius",style:{borderRadius:"base"}},ece={class:"formradius",style:{borderRadius:"base"}},tce={class:"dialog-footer"},nce=Le({__name:"WhiteLists",setup(e){var t=z([{IP:"",Effectivetime:""}]);t.value.splice(0,1);const n=z(!1),o=z({IP:"",Life:0}),l=()=>{n.value=!0,o.value.IP="",o.value.Life=24},a=(m,h,v,g)=>{zt.confirm(g,"Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{r(m,h.IP,v)}).catch(()=>{})},r=(m,h,v)=>{wd(h,v).then(g=>{if(g.ret==0){t.value[m].Effectivetime=g.data;return}ie("error",g.msg)}).catch(g=>{console.log("\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519 "+g),ie("error","\u5237\u65B0IP["+h+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},u=()=>{wd(o.value.IP,o.value.Life).then(m=>{if(m.ret==0){let h={IP:o.value.IP,Effectivetime:m.data};t.value.push(h),n.value=!1;return}ie("error",m.msg)}).catch(m=>{console.log("\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519 "+m),ie("error","\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},s=(m,h)=>{zt.confirm("\u786E\u8BA4\u8981\u5220\u9664IP ["+h.IP+"]\u7684\u767D\u540D\u5355\u8BB0\u5F55?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Gse(h.IP).then(v=>{if(v.ret==0){t.value.splice(m,1);return}ie("error",v.msg)}).catch(v=>{ie("error","\u5220\u9664["+h.IP+"]\u7684\u767D\u540D\u5355\u8BB0\u5F55\u51FA\u9519")})}).catch(()=>{})},i=()=>{Kse().then(m=>{if(m.ret==0){m.data!=null?t.value=m.data:t.value=[];return}ie("error",m.msg)}).catch(m=>{ie("error","\u67E5\u8BE2\u767D\u540D\u5355\u5217\u8868\u51FA\u9519")})},c=m=>{m.keyCode==13&&(!n.value||u())};return at(()=>{i(),window.addEventListener("keydown",c)}),(m,h)=>{const v=Qe("Plus"),g=ut,y=kn,A=ha,w=c6,F=i6,E=un,$=yn,T=jn,B=To,P=qn,H=ma;return b(),C("div",Z2e,[d(A,{position:"bottom",offset:0,class:"affix-container"},{default:p(()=>[d(y,{type:"primary",onClick:l},{default:p(()=>[D("\u767D\u540D\u5355\u6DFB\u52A0 "),d(g,null,{default:p(()=>[d(v)]),_:1})]),_:1})]),_:1}),d(E,{height:"100%"},{default:p(()=>[f("div",ece,[d(F,{data:_(t),style:{width:"700px"},height:"85vh"},{default:p(()=>[d(w,{prop:"IP",label:"IP",width:"200"}),d(w,{prop:"Effectivetime",label:"\u6709\u6548\u65F6\u95F4",width:"200"}),d(w,{fixed:"right",label:"\u64CD\u4F5C",width:"300"},{default:p(I=>[d(y,{link:"",type:"primary",size:"small",onClick:j=>a(I.$index,_(t)[I.$index],0,"\u786E\u8BA4\u8981\u5237\u65B0IP["+_(t)[I.$index].IP+"]\u7684\u6709\u6548\u65F6\u95F4?")},{default:p(()=>[D(" \u5237\u65B0\u6709\u6548\u65F6\u95F4")]),_:2},1032,["onClick"]),d(y,{link:"",type:"primary",size:"small",onClick:j=>a(I.$index,_(t)[I.$index],666666,"\u786E\u8BA4\u8981\u8BBE\u7F6EIP["+_(t)[I.$index].IP+"]\u4E3A\u957F\u671F\u6709\u6548?")},{default:p(()=>[D(" \u8BBE\u7F6E\u6C38\u4E45\u6709\u6548")]),_:2},1032,["onClick"]),d(y,{link:"",type:"primary",size:"small",onClick:j=>s(I.$index,_(t)[I.$index])},{default:p(()=>[D("\u5220\u9664")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),d(H,{modelValue:n.value,"onUpdate:modelValue":h[3]||(h[3]=I=>n.value=I),title:"\u6DFB\u52A0\u767D\u540D\u5355IP",draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:p(()=>[f("span",tce,[d(y,{onClick:h[2]||(h[2]=I=>n.value=!1)},{default:p(()=>[D("\u53D6\u6D88")]),_:1}),d(y,{type:"primary",onClick:u},{default:p(()=>[D("\u6DFB\u52A0")]),_:1})])]),default:p(()=>[d(P,{model:o.value},{default:p(()=>[d(T,{label:"IP","label-width":"auto"},{default:p(()=>[d($,{modelValue:o.value.IP,"onUpdate:modelValue":h[0]||(h[0]=I=>o.value.IP=I),autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(T,{label:"\u6709\u6548\u65F6\u95F4(\u5C0F\u65F6)","label-width":"auto"},{default:p(()=>[d(B,{modelValue:o.value.Life,"onUpdate:modelValue":h[1]||(h[1]=I=>o.value.Life=I),min:1,max:999999},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});var oce=wn(nce,[["__scopeId","data-v-d9c87ebe"]]);const lce={class:"PageRadius",style:{borderRadius:"base"}},ace={class:"formradius",style:{borderRadius:"base"}},rce={class:"dialog-footer"},uce=Le({__name:"BlackLists",setup(e){var t=z([{IP:"",Effectivetime:""}]);t.value.splice(0,1);const n=z(!1),o=z({IP:"",Life:0}),l=()=>{n.value=!0,o.value.IP="",o.value.Life=666666},a=(m,h,v,g)=>{zt.confirm(g,"Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{r(m,h.IP,v)}).catch(()=>{})},r=(m,h,v)=>{Cd(h,v).then(g=>{if(g.ret==0){t.value[m].Effectivetime=g.data;return}ie("error",g.msg)}).catch(g=>{ie("error","\u5237\u65B0IP["+h+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},u=()=>{Cd(o.value.IP,o.value.Life).then(m=>{if(m.ret==0){let h={IP:o.value.IP,Effectivetime:m.data};t.value.push(h),n.value=!1;return}ie("error",m.msg)}).catch(m=>{ie("error","\u5237\u65B0IP["+o.value.IP+"]\u6709\u6548\u65F6\u95F4\u51FA\u9519")})},s=(m,h)=>{zt.confirm("\u786E\u8BA4\u8981\u5220\u9664IP ["+h.IP+"]\u7684\u9ED1\u540D\u5355\u8BB0\u5F55?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Xse(h.IP).then(v=>{if(v.ret==0){t.value.splice(m,1);return}ie("error",v.msg)}).catch(v=>{ie("error","\u5220\u9664["+h.IP+"]\u7684\u9ED1\u540D\u5355\u8BB0\u5F55\u51FA\u9519")})}).catch(()=>{})},i=()=>{Yse().then(m=>{if(m.ret==0){m.data!=null?t.value=m.data:t.value=[];return}ie("error",m.msg)}).catch(m=>{ie("error","\u67E5\u8BE2\u9ED1\u540D\u5355\u5217\u8868\u51FA\u9519")})},c=m=>{m.keyCode==13&&(!n.value||u())};return at(()=>{i(),window.addEventListener("keydown",c)}),(m,h)=>{const v=Qe("Plus"),g=ut,y=kn,A=ha,w=c6,F=i6,E=un,$=yn,T=jn,B=To,P=qn,H=ma;return b(),C("div",lce,[d(A,{position:"top",offset:0,class:"affix-container"},{default:p(()=>[d(y,{type:"primary",onClick:l},{default:p(()=>[D("\u9ED1\u540D\u5355\u6DFB\u52A0 "),d(g,null,{default:p(()=>[d(v)]),_:1})]),_:1})]),_:1}),d(E,{height:"100%"},{default:p(()=>[f("div",ace,[d(F,{data:_(t),style:{width:"700px"},height:"85vh"},{default:p(()=>[d(w,{prop:"IP",label:"IP",width:"200"}),d(w,{prop:"Effectivetime",label:"\u6709\u6548\u65F6\u95F4",width:"200"}),d(w,{fixed:"right",label:"\u64CD\u4F5C",width:"300"},{default:p(I=>[d(y,{link:"",type:"primary",size:"small",onClick:j=>a(I.$index,_(t)[I.$index],0,"\u786E\u8BA4\u8981\u5237\u65B0IP["+_(t)[I.$index].IP+"]\u7684\u6709\u6548\u65F6\u95F4?")},{default:p(()=>[D(" \u5237\u65B0\u6709\u6548\u65F6\u95F4")]),_:2},1032,["onClick"]),d(y,{link:"",type:"primary",size:"small",onClick:j=>a(I.$index,_(t)[I.$index],666666,"\u786E\u8BA4\u8981\u8BBE\u7F6EIP["+_(t)[I.$index].IP+"]\u4E3A\u957F\u671F\u6709\u6548?")},{default:p(()=>[D(" \u8BBE\u7F6E\u6C38\u4E45\u6709\u6548")]),_:2},1032,["onClick"]),d(y,{link:"",type:"primary",size:"small",onClick:j=>s(I.$index,_(t)[I.$index])},{default:p(()=>[D("\u5220\u9664")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),d(H,{modelValue:n.value,"onUpdate:modelValue":h[3]||(h[3]=I=>n.value=I),title:"\u6DFB\u52A0\u9ED1\u540D\u5355IP",draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:p(()=>[f("span",rce,[d(y,{onClick:h[2]||(h[2]=I=>n.value=!1)},{default:p(()=>[D("\u53D6\u6D88")]),_:1}),d(y,{type:"primary",onClick:u},{default:p(()=>[D("\u6DFB\u52A0")]),_:1})])]),default:p(()=>[d(P,{model:o.value},{default:p(()=>[d(T,{label:"IP","label-width":"auto"},{default:p(()=>[d($,{modelValue:o.value.IP,"onUpdate:modelValue":h[0]||(h[0]=I=>o.value.IP=I),autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(T,{label:"\u6709\u6548\u65F6\u95F4(\u5C0F\u65F6)","label-width":"auto"},{default:p(()=>[d(B,{modelValue:o.value.Life,"onUpdate:modelValue":h[1]||(h[1]=I=>o.value.Life=I),min:1,max:999999},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}});var sce=wn(uce,[["__scopeId","data-v-4c99c1a8"]]);const Oe=e=>(ar("data-v-0efebb96"),e=e(),rr(),e),ice={class:"PageRadius",style:{borderRadius:"base"}},cce={class:"itemradius",style:{borderRadius:"base"}},dce=["innerHTML"],fce={key:0},pce=["innerHTML"],vce=["innerHTML"],hce=["innerHTML"],_ce=["innerHTML"],mce={class:"fromitemDivRadius"},gce=Oe(()=>f("p",null,"DNS\u670D\u52A1\u5546\u8BBE\u7F6E",-1)),bce={class:"fromitemChildDivRadius"},yce={key:0},wce={key:1},Cce={key:2},Ece={key:3},Ace={key:4},Fce={key:5},xce={key:6},$ce=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u652F\u6301\u7684\u53D8\u91CF #{ip}, #{domain}, #{recordType}, #{ttl}",-1)),Dce=Oe(()=>f("br",null,null,-1)),Bce={class:"fromitemChildDivRadius"},Sce={key:0,style:{"font-size":"small"}},kce={key:1,style:{"font-size":"small"}},Pce={key:2,style:{"font-size":"small"}},Lce={key:3,style:{"font-size":"small"}},zce=Oe(()=>f("br",null,null,-1)),Tce=Oe(()=>f("br",null,null,-1)),Mce=Oe(()=>f("br",null,null,-1)),Vce=Oe(()=>f("br",null,null,-1)),Hce=Oe(()=>f("br",null,null,-1)),Ice=Oe(()=>f("br",null,null,-1)),Rce=Oe(()=>f("br",null,null,-1)),Nce=Oe(()=>f("br",null,null,-1)),Oce=Oe(()=>f("br",null,null,-1)),Uce=Oe(()=>f("br",null,null,-1)),Wce=Oe(()=>f("br",null,null,-1)),qce=Oe(()=>f("br",null,null,-1)),jce=Oe(()=>f("br",null,null,-1)),Kce=Oe(()=>f("br",null,null,-1)),Gce=Oe(()=>f("br",null,null,-1)),Yce=Oe(()=>f("br",null,null,-1)),Xce=Oe(()=>f("br",null,null,-1)),Jce=Oe(()=>f("br",null,null,-1)),Qce=Oe(()=>f("br",null,null,-1)),Zce=Oe(()=>f("br",null,null,-1)),e0e=Oe(()=>f("br",null,null,-1)),t0e=Oe(()=>f("br",null,null,-1)),n0e=Oe(()=>f("br",null,null,-1)),o0e={class:"fromitemChildDivRadius"},l0e=Oe(()=>f("p",null,"DNS\u63A5\u53E3\u8C03\u7528\u989D\u5916\u8BBE\u7F6E",-1)),a0e={class:"fromitemChildDivRadius"},r0e=Oe(()=>f("p",null,"DNS\u63A5\u53E3\u8C03\u7528\u4EE3\u7406\u8BBE\u7F6E",-1)),u0e={class:"fromitemChildDivRadius"},s0e={class:"fromitemDivRadius"},i0e={key:0},c0e={key:1},d0e={class:"fromitemDivRadius"},f0e={class:"fromitemChildDivRadius"},p0e={style:{color:"blue"}},v0e=Oe(()=>f("p",{style:{"font-size":"1px"}}," \u652F\u6301\u81EA\u5B9A\u4E49webhook ",-1)),h0e={style:{color:"blue"}},_0e=Oe(()=>f("p",{style:{"font-size":"1px"}}," https://sctapi.ftqq.com/[SendKey].send?title=\u4E3B\u4EBAIP\u53D8\u4E86#{ipAddr},\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86#{ipAddr},\u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{successDomains},\u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomains} ",-1)),m0e={style:{color:"blue"}},g0e=Oe(()=>f("p",{style:{"font-size":"1px"}}," https://api.day.app/[YOUR_KEY]/\u4E3B\u4EBAIP\u53D8\u4E86#{ipAddr},\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86#{ipAddr},\u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{successDomains},\u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomains} ",-1)),b0e={style:{color:"blue"}},y0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u9489\u9489\u7535\u8111\u7AEF -> \u7FA4\u8BBE\u7F6E -> \u667A\u80FD\u7FA4\u52A9\u624B -> \u6DFB\u52A0\u673A\u5668\u4EBA -> \u81EA\u5B9A\u4E49",-1)),w0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u53EA\u52FE\u9009\u81EA\u5B9A\u4E49\u5173\u952E\u8BCD,\u8F93\u5165\u7684\u5173\u952E\u5B57\u5FC5\u987B\u5305\u542B\u5728RequestBody\u7684content\u4E2D,\u5982:\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86 ",-1)),C0e=Oe(()=>f("p",{style:{"font-size":"1px"}},'\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"errcode":0,"errmsg":"ok"}',-1)),E0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u65B9\u6CD5\u8BF7\u6C42\u9009\u62E9POST,RequestBody \u793A\u4F8B\u5982\u4E0B",-1)),A0e=Oe(()=>f("p",{style:{"font-size":"1px"}},'\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"errcode":0,"errmsg":"ok"}',-1)),F0e={style:{color:"blue"}},x0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u98DE\u4E66\u7535\u8111\u7AEF -> \u7FA4\u8BBE\u7F6E -> \u6DFB\u52A0\u673A\u5668\u4EBA -> \u81EA\u5B9A\u4E49\u673A\u5668\u4EBA",-1)),$0e=Oe(()=>f("p",{style:{"font-size":"1px"}}," \u5B89\u5168\u8BBE\u7F6E\u53EA\u52FE\u9009\u81EA\u5B9A\u4E49\u5173\u952E\u8BCD,\u8F93\u5165\u7684\u5173\u952E\u5B57\u5FC5\u987B\u5305\u542B\u5728RequestBody\u7684content\u4E2D,\u5982\uFF1A\u4F60\u7684\u516C\u7F51IP\u53D8\u4E86",-1)),D0e=Oe(()=>f("p",{style:{"font-size":"1px"}},'\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"StatusCode":0,"StatusMessage":"success"}',-1)),B0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u65B9\u6CD5\u8BF7\u6C42\u9009\u62E9POST,RequestBody \u793A\u4F8B\u5982\u4E0B",-1)),S0e=Oe(()=>f("p",{style:{"font-size":"1px"}},'\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"StatusCode":0,"StatusMessage":"success"} ',-1)),k0e={style:{color:"blue"}},P0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u4E0B\u8F7D\u4F01\u4E1A\u5FAE\u4FE1\u2192\u5DE6\u4E0A\u89D2\u4E09\u6A2A\u6760\u2192\u5168\u65B0\u521B\u5EFA\u4F01\u4E1A\u2192\u4E2A\u4EBA\u7EC4\u4EF6\u56E2\u961F(\u521B\u5EFA\u4E2A\u4EBA\u7684\u4F01\u4E1A\u7FA4\u804A)",-1)),L0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u8FDB\u5165\u7FA4\u804A\u6DFB\u52A0 [\u7FA4\u673A\u5668\u4EBA] \u590D\u5236\u673A\u5668\u4EBAWebhook\u5730\u5740",-1)),z0e=Oe(()=>f("p",{style:{"font-size":"1px"}},"\u65B9\u6CD5\u8BF7\u6C42\u9009\u62E9POST,RequestBody \u793A\u4F8B\u5982\u4E0B",-1)),T0e=Oe(()=>f("p",{style:{"font-size":"1px"}},'\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u586B\u5165 {"errcode":0,"errmsg":"ok"}',-1)),M0e={class:"fromitemChildDivRadius"},V0e=Oe(()=>f("br",null,null,-1)),H0e=Oe(()=>f("br",null,null,-1)),I0e=Oe(()=>f("br",null,null,-1)),R0e=Oe(()=>f("br",null,null,-1)),N0e=Oe(()=>f("br",null,null,-1)),O0e=Oe(()=>f("br",null,null,-1)),U0e=Oe(()=>f("br",null,null,-1)),W0e=Oe(()=>f("br",null,null,-1)),q0e=Oe(()=>f("br",null,null,-1)),j0e=Oe(()=>f("br",null,null,-1)),K0e=Oe(()=>f("br",null,null,-1)),G0e=Oe(()=>f("br",null,null,-1)),Y0e=Oe(()=>f("br",null,null,-1)),X0e=Oe(()=>f("br",null,null,-1)),J0e=Oe(()=>f("br",null,null,-1)),Q0e=Oe(()=>f("br",null,null,-1)),Z0e=Oe(()=>f("br",null,null,-1)),ede=Oe(()=>f("br",null,null,-1)),tde=Oe(()=>f("br",null,null,-1)),nde=Oe(()=>f("br",null,null,-1)),ode=Oe(()=>f("br",null,null,-1)),lde=Oe(()=>f("br",null,null,-1)),ade=Oe(()=>f("br",null,null,-1)),rde=Oe(()=>f("br",null,null,-1)),ude=Oe(()=>f("br",null,null,-1)),sde=Oe(()=>f("br",null,null,-1)),ide=Oe(()=>f("br",null,null,-1)),cde=Oe(()=>f("br",null,null,-1)),dde=Oe(()=>f("br",null,null,-1)),fde={class:"fromitemChildDivRadius"},pde={class:"fromitemDivRadius",style:{"padding-top":"10px"}},vde={class:"dialog-footer"},hde=Le({__name:"DDNS",setup(e){const t=z(!1),n=z(""),o=q=>{t.value=!0,n.value=q};var l=z({IPv6NewInterfaces:[{NetInterfaceName:"",AddressList:[""]}],IPv4NewInterfaces:[{NetInterfaceName:"",AddressList:[""]}]}),a=z([{NetInterfaceName:"",AddressList:[""]}]),r=z([{TaskName:"",TaskKey:"",TaskType:"IPv6",Enable:!0,GetType:"url",URL:[""],NetInterface:"",IPReg:"",Domains:[""],HttpClientTimeout:20,DNS:{Name:"alidns",ID:"",Secret:"",ForceInterval:600,ResolverDoaminCheck:!1,DNSServerList:[""],HttpClientProxyType:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"",Headers:[""],RequestBody:"",Server:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[""]}},WebhookEnable:!1,WebhookURL:"",WebhookMethod:"",WebhookHeaders:[""],WebhookRequestBody:"",WebhookDisableCallbackSuccessContentCheck:!1,WebhookSuccessContent:[""],WebhookProxy:"",WebhookProxyAddr:"",WebhookProxyUser:"",WebhookProxyPassword:"",TTL:"",TaskState:{WebhookCallTime:"",WebhookCallResult:!1,WebhookCallErrorMsg:"",IPAddrHistory:[{IPaddr:"",RecordTime:""}],WebhookCallHistroy:[{CallTime:"",CallResult:""}],IpAddr:"",Domains:[{DomainName:"",SubDomain:"",UpdateStatus:"",LastUpdateStatusTime:"",Message:"",UpdateHistroy:[{UpdateStatus:"",UpdateTime:""}]}]}}]);r.value.splice(0,1);const u=z(""),s=z(""),i=z("");u.value=' info';const c=[{value:"",label:"\u7981\u7528"},{value:"http",label:"HTTP"},{value:"https",label:"HTTPS"},{value:"socks5",label:"SOCKS5"}],m=[{value:"",label:"\u7981\u7528"},{value:"dns",label:"\u4F7F\u7528DNS\u670D\u52A1\u5546\u540C\u6837\u8BBE\u7F6E"},{value:"http",label:"HTTP"},{value:"https",label:"HTTPS"},{value:"socks5",label:"SOCKS5"}],h=[{value:"",label:"\u81EA\u52A8"},{value:"1",label:"1\u79D2"},{value:"5",label:"5\u79D2"},{value:"10",label:"10\u79D2"},{value:"60",label:"1\u5206\u949F"},{value:"120",label:"2\u5206\u949F"},{value:"600",label:"10\u5206\u949F"},{value:"1800",label:"30\u5206\u949F"},{value:"3600",label:"1\u5C0F\u65F6"}],v=q=>{for(let k in h)if(h[k].value==q)return h[k].label;return q+"\u79D2"},g=[{value:"meibu",label:"\u6BCF\u6B65"},{value:"noip",label:"No-IP"},{value:"dynv6",label:"Dynv6"},{value:"dynu",label:"Dynu"},{value:"other",label:"\u5176\u5B83"}],y=[{value:"",label:"tcp"},{value:"tcp4",label:"tcp4"},{value:"tcp6",label:"tcp6"}],A=()=>{console.log("WebHookTest");let q={WebhookURL:x.value.WebhookURL,WebhookMethod:x.value.WebhookMethod,WebhookRequestBody:x.value.WebhookRequestBody,WebhookProxy:x.value.WebhookProxy,WebhookProxyAddr:x.value.WebhookProxyAddr,WebhookProxyUser:x.value.WebhookProxyUser,WebhookProxyPassword:x.value.WebhookProxyPassword,WebhookHeaders:St(ke.value),WebhookSuccessContent:St(ve.value)};tie($e.value,q).then(k=>{if(k.ret==0){console.log("apiWebhookTest: "+JSON.stringify(k));let Me=`Webhook\u63A5\u53E3\u8C03\u7528\u7ED3\u679C: `+k.msg;Me+=` `,Me+=`Web\u63A5\u53E3\u53CD\u9988\u7684\u5B8C\u6574\u5185\u5BB9: `+k.Response,o(Me);return}ie("error",k.msg)}).catch(k=>{console.log("webhook\u63A5\u53E3\u8C03\u7528\u51FA\u9519,error:"+k),ie("error","webhook\u63A5\u53E3\u8C03\u7528\u51FA\u9519")})},w=q=>{for(let k in g)if(g[k].value==q)return g[k].label;return"\u672A\u652F\u6301\u7684DNSCallbackServerLaber"},F=["[2001:4860:4860::8888]:53","[2001:4860:4860::8844]:53","[2606:4700:4700::64]:53","[2606:4700:4700::6400]:53","[240C::6666]:53","[240C::6644]:53","[2402:4e00::]:53","[240e:4c:4008::1]:53","[240e:4c:4808::1]:53","[2408:8899::8]:53","[2408:8888::8]:53","[2409:8088::a]:53","[2409:8088::b]:53","[2001:dc7:1000::1]:53","[2400:da00::6666]:53"],E=["1.1.1.1:53","1.2.4.8:53","8.8.8.8:53","9.9.9.9:53","8.8.4.4:53","114.114.114.114:53","223.5.5.5:53","223.6.6.6:53","101.226.4.6:53","218.30.118.6:53","119.28.28.28:53"],$=[{value:"serverjiang",label:"Server\u9171"},{value:"bark",label:"Bark"},{value:"dingding",label:"\u9489\u9489"},{value:"feishu",label:"\u98DE\u4E66"},{value:"weixinpro",label:"\u4F01\u4E1A\u5FAE\u4FE1"},{value:"custom",label:"\u81EA\u5B9A\u4E49"}],T=[{value:"alidns",label:"Alidns(\u963F\u91CC\u4E91)"},{value:"baiducloud",label:"\u767E\u5EA6\u4E91"},{value:"cloudflare",label:"Cloudflare"},{value:"dnspod",label:"Dnspod(\u817E\u8BAF\u4E91)"},{value:"huaweicloud",label:"\u534E\u4E3A\u4E91"},{value:"porkbun",label:"Porkbun"},{value:"callback",label:"\u81EA\u5B9A\u4E49(Callback)"}],B=[{value:"get",label:"GET"},{value:"post",label:"POST"},{value:"put",label:"PUT"}],P=q=>{let k="";for(let Me in q){let X=q[Me].IPaddr;X==""&&(X="\u83B7\u53D6IP\u5931\u8D25"),k+=q[Me].RecordTime+"     "+X+"
"}return k},H=q=>{let k="";for(let Me in q){let X=q[Me].UpdateStatus;k+=q[Me].UpdateTime+"     "+X+"
"}return k},I=q=>{let k="\u4EC5\u8BB0\u5F55\u7A0B\u5E8F\u672C\u6B21\u542F\u52A8\u4EE5\u6765\u7684Webhook\u8C03\u7528\u8BB0\u5F55
";for(let Me in q){let X=q[Me].CallResult;k+=q[Me].CallTime+"     "+X+"
"}return k},j=q=>{switch(q){case"dingding":let k={msgtype:"markdown",markdown:{title:"DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988",text:`#### DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988 - IP\u5730\u5740\uFF1A#{ipAddr} - \u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{successDomainsLine} - \u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomainsLine} - Webhook\u89E6\u53D1\u65F6\u95F4: #{time}`}};i.value=JSON.stringify(k,null,2);break;case"feishu":let Me={msg_type:"post",content:{post:{zh_cn:{title:"DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988",content:[[{tag:"text",text:"IP\u5730\u5740\uFF1A#{ipAddr}"}],[{tag:"text",text:"\u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A#{su.ccessDomainsLine}"}],[{tag:"text",text:"\u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A#{failedDomainsLine}"}],[{tag:"text",text:`Webhook\u89E6\u53D1\u65F6\u95F4: #{time}`}]]}}}};i.value=JSON.stringify(Me,null,2);break;case"weixinpro":let X={msgtype:"markdown",markdown:{content:`#### DDNS\u57DF\u540D\u540C\u6B65\u53CD\u9988 ##### IP\u5730\u5740\uFF1A #{ipAddr} ##### \u57DF\u540D\u66F4\u65B0\u6210\u529F\u5217\u8868\uFF1A #{successDomainsLine} ##### \u57DF\u540D\u66F4\u65B0\u5931\u8D25\u5217\u8868\uFF1A #{failedDomainsLine} ##### Webhook\u89E6\u53D1\u65F6\u95F4: #{time}`}};i.value=JSON.stringify(X,null,2);break}},Z=(q,k)=>{let Me=q==""?k:q+"."+k;_i(Me),ie("success","\u57DF\u540D "+Me+" \u5DF2\u590D\u5236\u5230\u526A\u5207\u677F")},G=q=>{q!=""&&(_i(q),ie("success","IP "+q+" \u5DF2\u590D\u5236\u5230\u526A\u5207\u677F"))},N=()=>{eie(x.value.TaskType,x.value.NetInterface,x.value.IPReg).then(q=>{if(q.ret==0){console.log("IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u7ED3\u679C:"+q.ip);let k="";q.ip==""?k="IP\u9009\u62E9\u5339\u914D\u4E0D\u5230\u4EFB\u4F55IP":k="IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u7ED3\u679C: "+q.ip,qo(k);return}ie("error","IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u51FA\u9519")}).catch(q=>{console.log("IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u51FA\u9519:"+q),ie("error","IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5\u51FA\u9519")})},Y=q=>{for(let k in T)if(T[k].value==q.Name)return q.Name!="callback"?T[k].label:w(q.Callback.Server)+" (\u81EA\u5B9A\u4E49)";return"\u672A\u77E5DNS\u670D\u52A1\u5546"},ge=()=>{switch(x.value.DNS.Name){case"alidns":return"AccessKey ID";case"dnspod":return"ID";case"cloudflare":return"";case"huaweicloud":return"Access Key Id";case"baiducloud":return"AccessKey ID";case"porkbun":return"API Key";case"callback":return"URL";default:return"\u672A\u652F\u6301\u670D\u52A1\u5546\u7C7B\u578B"}},fe=()=>{switch(x.value.DNS.Name){case"alidns":return"AccessKey Secret";case"dnspod":return"Token";case"cloudflare":return"Token";case"huaweicloud":return"Secret Access Key";case"baiducloud":return"AccessKey Secret";case"porkbun":return"Secret Key";case"callback":return"RequestBody";default:return"\u672A\u652F\u6301\u670D\u52A1\u5546\u7C7B\u578B"}},Ee=()=>{switch(x.value.DNS.Name){case"alidns":return!0;case"dnspod":return!0;case"cloudflare":return!1;case"huaweicloud":return!0;case"baiducloud":return!0;case"porkbun":return!0;case"callback":return!1;default:return!1}},ne=()=>{switch(x.value.DNS.Name){case"alidns":return!0;case"dnspod":return!0;case"cloudflare":return!0;case"huaweicloud":return!0;case"baiducloud":return!0;case"porkbun":return!0;case"callback":return!1;default:return!1}},ee=q=>{console.log("ddnsTaskTypeChange label:"+q),x.value.TaskType!=W.value.TaskType?(x.value.URL=[],x.value.DNS.DNSServerList=[]):(x.value.URL=W.value.URL,x.value.DNS.DNSServerList=W.value.DNS.DNSServerList),Ae.value=Q(),ze.value=Pe(),be()},xe=z(!1),$e=z(""),x=z({TaskName:"",TaskType:"IPv6",Enable:!0,GetType:"url",URL:[""],NetInterface:"",IPReg:"",Domains:[""],HttpClientTimeout:60,DNS:{Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!1,CallAPINetwork:"",DNSServerList:[""],HttpClientProxyType:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"",Headers:[""],RequestBody:"",Server:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[""]}},WebhookEnable:!1,WebhookCallOnGetIPfail:!1,WebhookURL:"",WebhookMethod:"",WebhookHeaders:[""],WebhookRequestBody:"",WebhookDisableCallbackSuccessContentCheck:!1,WebhookSuccessContent:[""],WebhookProxy:"",WebhookProxyAddr:"",WebhookProxyUser:"",WebhookProxyPassword:"",TTL:""}),W=z({TaskName:"",TaskType:"IPv6",Enable:!0,GetType:"url",URL:[""],NetInterface:"",IPReg:"",Domains:[""],HttpClientTimeout:20,DNS:{Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!1,DNSServerList:[""],HttpClientProxyType:"",CallAPINetwork:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"",Headers:[""],RequestBody:"",Server:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[""]}},WebhookEnable:!1,WebhookCallOnGetIPfail:!1,WebhookURL:"",WebhookMethod:"",WebhookHeaders:[""],WebhookRequestBody:"",WebhookDisableCallbackSuccessContentCheck:!1,WebhookSuccessContent:[""],WebhookProxy:"",WebhookProxyAddr:"",WebhookProxyUser:"",WebhookProxyPassword:"",TTL:""}),we=z(""),Ae=z(""),ke=z(""),ve=z(""),ze=z(""),Ke=z(""),se=z(""),le=z(""),L=["https://4.ipw.cn","http://v4.ip.zxinc.org/getip","https://myip4.ipip.net","https://www.taobao.com/help/getip.php","https://ddns.oray.com/checkip","https://ip.3322.net","https://v4.myip.la"],S=["https://6.ipw.cn","https://ipv6.ddnspod.com","http://v6.ip.zxinc.org/getip","https://speed.neu6.edu.cn/getIP.php","https://v6.ident.me","https://v6.myip.la"],V=(q,k)=>{s.value="",be(),le.value=q,q=="add"?(x.value.TaskName="",x.value.TaskType="IPv6",x.value.Enable=!0,x.value.GetType="url",x.value.URL=S,x.value.NetInterface="",x.value.IPReg="",x.value.Domains=[""],x.value.HttpClientTimeout=20,x.value.DNS={Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!0,DNSServerList:[],HttpClientProxyType:"",CallAPINetwork:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"get",Headers:[""],RequestBody:"",Server:"other",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[]}},x.value.WebhookEnable=!1,x.value.WebhookCallOnGetIPfail=!1,x.value.WebhookURL="",x.value.WebhookMethod="get",x.value.WebhookHeaders=[],x.value.WebhookRequestBody="",x.value.WebhookDisableCallbackSuccessContentCheck=!1,x.value.WebhookSuccessContent=[],x.value.WebhookProxy="",x.value.WebhookProxyAddr="",x.value.WebhookProxyUser="",x.value.WebhookProxyPassword="",x.value.TTL="",Ae.value=Q(),ze.value=Pe(),ke.value=he(),ke.value="",ve.value="",se.value="",Ke.value="",W.value.TaskName="",W.value.TaskType="IPv6",W.value.Enable=!0,W.value.GetType="url",W.value.URL=St(Ae.value),W.value.NetInterface="",W.value.IPReg="",W.value.Domains=[""],W.value.HttpClientTimeout=20,W.value.DNS={Name:"alidns",ID:"",Secret:"",ForceInterval:3600,ResolverDoaminCheck:!0,DNSServerList:[],HttpClientProxyType:"",CallAPINetwork:"",HttpClientProxyAddr:"",HttpClientProxyUser:"",HttpClientProxyPassword:"",Callback:{URL:"",Method:"get",Headers:[""],RequestBody:"",DisableCallbackSuccessContentCheck:!1,CallbackSuccessContent:[],Server:"other"}},W.value.WebhookEnable=!1,W.value.WebhookCallOnGetIPfail=!1,W.value.WebhookURL="",W.value.WebhookMethod="get",W.value.WebhookHeaders=[],W.value.WebhookRequestBody="",W.value.WebhookDisableCallbackSuccessContentCheck=!1,W.value.WebhookSuccessContent=[],W.value.WebhookProxy="",W.value.WebhookProxyAddr="",W.value.WebhookProxyUser="",W.value.WebhookProxyPassword="",W.value.TTL=""):(x.value.TaskName=k.TaskName,x.value.TaskType=k.TaskType,x.value.Enable=k.Enable,x.value.GetType=k.GetType,x.value.URL=k.URL,x.value.NetInterface=k.NetInterface,x.value.IPReg=k.IPReg,x.value.Domains=k.Domains,x.value.HttpClientTimeout=k.HttpClientTimeout,x.value.DNS={Name:k.DNS.Name,ID:k.DNS.ID,Secret:k.DNS.Secret,ForceInterval:k.DNS.ForceInterval,ResolverDoaminCheck:k.DNS.ResolverDoaminCheck,DNSServerList:k.DNS.DNSServerList,HttpClientProxyType:k.DNS.HttpClientProxyType,CallAPINetwork:k.DNS.CallAPINetwork,HttpClientProxyAddr:k.DNS.HttpClientProxyAddr,HttpClientProxyUser:k.DNS.HttpClientProxyUser,HttpClientProxyPassword:k.DNS.HttpClientProxyPassword,Callback:{URL:k.DNS.Callback.URL,Method:k.DNS.Callback.Method,Headers:k.DNS.Callback.Headers,RequestBody:k.DNS.Callback.RequestBody,Server:k.DNS.Callback.Server,DisableCallbackSuccessContentCheck:k.DNS.Callback.DisableCallbackSuccessContentCheck,CallbackSuccessContent:k.DNS.Callback.CallbackSuccessContent}},x.value.WebhookEnable=k.WebhookEnable,x.value.WebhookCallOnGetIPfail=k.WebhookCallOnGetIPfail,x.value.WebhookURL=k.WebhookURL,x.value.WebhookRequestBody=k.WebhookRequestBody,x.value.WebhookMethod=k.WebhookMethod,x.value.WebhookHeaders=k.WebhookHeaders,x.value.WebhookDisableCallbackSuccessContentCheck=k.WebhookDisableCallbackSuccessContentCheck,x.value.WebhookSuccessContent=k.WebhookSuccessContent,x.value.WebhookProxy=k.WebhookProxy,x.value.WebhookProxyAddr=k.WebhookProxyAddr,x.value.WebhookProxyUser=k.WebhookProxyUser,x.value.WebhookProxyPassword=k.WebhookProxyPassword,x.value.TTL=k.TTL,Ae.value=Q(),se.value=Ge(),we.value=Xe(),Ke.value=Ie(),ze.value=Pe(),ke.value=he(),ve.value=K(),W.value.TaskName=k.TaskName,W.value.TaskType=k.TaskType,W.value.Enable=k.Enable,W.value.GetType=k.GetType,W.value.URL=St(Ae.value),W.value.NetInterface=k.NetInterface,W.value.IPReg=k.IPReg,W.value.Domains=k.Domains,W.value.HttpClientTimeout=k.HttpClientTimeout,W.value.DNS={Name:k.DNS.Name,ID:k.DNS.ID,Secret:k.DNS.Secret,ForceInterval:k.DNS.ForceInterval,ResolverDoaminCheck:k.DNS.ResolverDoaminCheck,DNSServerList:k.DNS.DNSServerList,HttpClientProxyType:k.DNS.HttpClientProxyType,CallAPINetwork:k.DNS.CallAPINetwork,HttpClientProxyAddr:k.DNS.HttpClientProxyAddr,HttpClientProxyUser:k.DNS.HttpClientProxyUser,HttpClientProxyPassword:k.DNS.HttpClientProxyPassword,Callback:{URL:k.DNS.Callback.URL,Method:k.DNS.Callback.Method,Headers:k.DNS.Callback.Headers,RequestBody:k.DNS.Callback.RequestBody,CallbackSuccessContent:k.DNS.Callback.CallbackSuccessContent,DisableCallbackSuccessContentCheck:k.DNS.Callback.DisableCallbackSuccessContentCheck,Server:k.DNS.Callback.Server}},W.value.WebhookEnable=k.WebhookEnable,W.value.WebhookMethod=k.WebhookMethod,W.value.WebhookHeaders=k.WebhookHeaders,W.value.WebhookCallOnGetIPfail=k.WebhookCallOnGetIPfail,W.value.WebhookURL=k.WebhookURL,W.value.WebhookDisableCallbackSuccessContentCheck=k.WebhookDisableCallbackSuccessContentCheck,W.value.WebhookSuccessContent=k.WebhookSuccessContent,W.value.WebhookRequestBody=k.WebhookRequestBody,W.value.WebhookProxy=k.WebhookProxy,W.value.WebhookProxyAddr=k.WebhookProxyAddr,W.value.WebhookProxyUser=k.WebhookProxyUser,W.value.WebhookProxyPassword=k.WebhookProxyPassword,W.value.TTL=k.TTL,$e.value=k.TaskKey),xe.value=!0},O=q=>{console.log("ResolverDoaminCheckChange: "+q)},te=(q,k)=>{const Me=q==!1?"\u542F\u7528":"\u7981\u7528",X="["+k.TaskName+"]";return new Promise((de,Fe)=>{zt.confirm("\u786E\u8BA4\u8981"+Me+"DDNS\u4EFB\u52A1 "+X+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Hse(k.TaskKey,!q).then(At=>{if(At.ret==0){de(!0),ie("success","DDNS\u4EFB\u52A1 "+X+Me+"\u6210\u529F");return}de(!1),ie("error","DDNS\u4EFB\u52A1 "+X+Me+"\u5931\u8D25"),At.syncres!=null&&At.syncres!=""&&to("warn",At.syncres,0)}).catch(At=>{de(!1),console.log("DDNS\u4EFB\u52A1 "+X+Me+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+At),ie("error","DDNS\u4EFB\u52A1 "+X+Me+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{de(!1)})})},_e=q=>{const Me="["+q.TaskName+"]";zt.confirm("\u786E\u8BA4\u8981\u5220\u9664DDNS\u4EFB\u52A1 "+Me+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{console.log("\u786E\u8BA4\u5220\u9664DDNS\u4EFB\u52A1 "+Me),Mse(q.TaskKey).then(X=>{X.ret==0?(Ce(),ie("success","\u5220\u9664\u6210\u529F"),X.syncres!=null&&X.syncres!=""&&to("warn",X.syncres,0)):ie("error",X.msg)}).catch(X=>{console.log("\u5220\u9664DDNS\u4EFB\u52A1\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+X),ie("error","\u5220\u9664DDNS\u4EFB\u52A1\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{})},pe=()=>{x.value.URL=St(Ae.value),x.value.Domains=St(se.value),x.value.DNS.Callback.Headers=St(we.value),x.value.DNS.Callback.CallbackSuccessContent=St(Ke.value),x.value.DNS.DNSServerList=St(ze.value),x.value.WebhookHeaders=St(ke.value),x.value.WebhookSuccessContent=St(ve.value),x.value.URL.length==0&&(x.value.TaskType=="IPv6"?x.value.URL=S:x.value.URL=L,Ae.value=Q());let q=re();if(q.length>0){qo(q);return}le.value=="add"?(console.log("add DDNS\u4EFB\u52A1"),zse(x.value).then(k=>{if(k.ret==0){xe.value=!1,ie("success","DDNS\u4EFB\u52A1\u6DFB\u52A0\u6210\u529F"),console.log("\u5237\u65B0DDNS\u4EFB\u52A1\u5217\u8868"),Ce(),k.syncres!=null&&k.syncres!=""&&to("warn",k.syncres,0);return}ie("error",k.msg)}).catch(k=>{console.log("DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+k),ie("error","DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})):Tse($e.value,x.value).then(k=>{if(k.ret==0){xe.value=!1,ie("success","DDNS\u4EFB\u52A1\u4FEE\u6539\u6210\u529F"),console.log("\u5237\u65B0DDNS\u4EFB\u52A1\u5217\u8868"),Ce(),k.syncres!=null&&k.syncres!=""&&to("warn",k.syncres,0);return}ie("error",k.msg)}).catch(k=>{console.log("DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+k),ie("error","DDNS\u4EFB\u52A1\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})},Ce=()=>{Vse().then(q=>{if(q.ret==0){r.value=q.data;return}if(q.ret==6){ie("warning","\u8BF7\u5148\u5728\u52A8\u6001\u57DF\u540D\u8BBE\u7F6E\u4E2D\u542F\u7528DDNS\u52A8\u6001\u57DF\u540D\u670D\u52A1"),location.hash="#ddnsset";return}}).catch(q=>{console.log("\u83B7\u53D6DDNS\u4EFB\u52A1\u5217\u8868\u51FA\u9519:"+q),ie("error","\u83B7\u53D6DDNS\u4EFB\u52A1\u5217\u8868\u51FA\u9519")})},be=()=>{Zse().then(q=>{q.ret==0&&(l.value=q.data,x.value.TaskType=="IPv6"?a.value=l.value.IPv6NewInterfaces:a.value=l.value.IPv4NewInterfaces,x.value.NetInterface==""&&a.value.length>0&&(x.value.NetInterface=a.value[0].NetInterfaceName))}).catch(q=>{console.log("\u83B7\u53D6\u7F51\u5361\u5217\u8868\u51FA\u9519:"+q),ie("error","\u83B7\u53D6\u7F51\u5361\u5217\u8868\u51FA\u9519")})},re=()=>{let q=x.value,k=me(q.DNS);if(k.length>0)return k;if(q.Domains.length==0)return"\u57DF\u540D\u5217\u8868\u4E0D\u80FD\u4E3A\u7A7A";if(q.GetType=="url"&&q.URL.length<=0)return"\u63A5\u53E3\u5217\u8868\u4E0D\u80FD\u4E3A\u7A7A";if(q.GetType=="netInterface"&&q.NetInterface=="")return"\u8BF7\u9009\u62E9\u83B7\u53D6IP\u7684\u7F51\u5361";if(q.DNS.HttpClientProxyType!=""&&q.DNS.HttpClientProxyAddr=="")return"DNS \u4EE3\u7406\u8BBE\u7F6E\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A";if(q.WebhookEnable){if(q.WebhookURL=="")return"\u8BF7\u586B\u5199Webhook \u63A5\u53E3\u5730\u5740";if(q.WebhookMethod=="")return"\u8BF7\u9009\u62E9Webhook \u8BF7\u6C42\u65B9\u6CD5";if(q.WebhookProxy!=""&&q.WebhookProxy!="dns"&&q.WebhookProxyAddr=="")return"Webhook \u4EE3\u7406\u8BBE\u7F6E\u670D\u52A1\u5668\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A";if(!q.WebhookDisableCallbackSuccessContentCheck&&q.WebhookSuccessContent.length==0)return"Webhook\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u4E0D\u80FD\u4E3A\u7A7A,\u5982\u679C\u8981\u6307\u5B9A\u4E3A\u7A7A\u8BF7\u7981\u7528\u68C0\u6D4B"}return q.DNS.Name=="callback"?(q.DNS.ID="",q.DNS.Secret="",q.DNS.Callback.Method=="get"&&(q.DNS.Callback.RequestBody="")):q.DNS.Callback={URL:"",Method:"",Headers:[],RequestBody:"",Server:"",CallbackSuccessContent:[],DisableCallbackSuccessContentCheck:!1},q.WebhookEnable&&q.WebhookMethod=="get"&&(q.WebhookRequestBody=""),""},me=q=>{switch(q.Name){case"cloudflare":if(q.Secret=="")return"Cloudflare Token\u4E0D\u80FD\u4E3A\u7A7A";break;case"callback":if(q.Callback.Method=="")return"\u8BF7\u9009\u62E9Callback\u7684\u8BF7\u6C42\u65B9\u6CD5";if(q.Callback.URL=="")return"Callback \u63A5\u53E3\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A";if(!q.Callback.DisableCallbackSuccessContentCheck&&q.Callback.CallbackSuccessContent.length==0)return"\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32\u4E0D\u80FD\u4E3A\u7A7A,\u5982\u679C\u8981\u6307\u5B9A\u4E3A\u7A7A\u8BF7\u7981\u7528\u68C0\u6D4B";break;default:if(q.Secret==""||q.ID=="")return"DNS\u670D\u52A1\u5546\u76F8\u5173\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A"}return""},Re=()=>{zt.confirm("\u786E\u8BA4\u8981\u6839\u636ECallback DNS\u670D\u52A1\u5546["+w(x.value.DNS.Callback.Server)+"]\u548C\u516C\u7F51IP\u7C7B\u578B:["+x.value.TaskType+"]\u81EA\u52A8\u586B\u5145\u53C2\u6570\u6A21\u7248?","Warning",{confirmButtonText:"\u81EA\u52A8\u586B\u5145",cancelButtonText:"\u4E0D\u9700\u8981",type:"warning"}).then(()=>{switch(x.value.DNS.Callback.Server){case"meibu":x.value.TaskType=="IPv6"?x.value.DNS.Callback.URL="http://v6.meibu.com/v6.asp?name=#{domain}&pwd=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684\u5BC6\u7801":x.value.DNS.Callback.URL="http://ipv4.meibu.com/ipv4.asp?ID=lucky&name=#{domain}&pwd=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684\u5BC6\u7801",we.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["chenggong","chongfu","ok"],Ke.value=`chenggong chongfu ok`;break;case"noip":x.value.DNS.Callback.URL="http://\u4F60\u7684\u8D26\u53F7:\u4F60\u7684\u5BC6\u7801@dynupdate.no-ip.com/nic/update?hostname=#{domain}&myip=#{ip}",we.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["nochg #{ip}","good #{ip}"],Ke.value=`nochg #{ip} good #{ip}`;break;case"dynv6":x.value.TaskType=="IPv6"?x.value.DNS.Callback.URL="https://dynv6.com/api/update?hostname=#{domain}&token=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684Token&ipv6=#{ip}":x.value.DNS.Callback.URL="https://dynv6.com/api/update?hostname=#{domain}&token=\u8FD9\u91CC\u66FF\u6362\u4E3A\u4F60\u7684Token&ipv4=#{ip}",we.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["addresses updated"],Ke.value=`addresses updated `;break;case"dynu":x.value.TaskType=="IPv6"?x.value.DNS.Callback.URL="https://api.dynu.com/nic/update?hostname=#{domain}&myip=no&myipv6=#{ip}&username=\u7528\u6237\u540D&password=\u767B\u5F55\u5BC6\u7801\u6216IP\u66F4\u65B0\u5BC6\u7801":x.value.DNS.Callback.URL="https://api.dynu.com/nic/update?hostname=#{domain}&myip=#{ip}&myipv6=no}&username=\u7528\u6237\u540D&password=\u767B\u5F55\u5BC6\u7801\u6216IP\u66F4\u65B0\u5BC6\u7801",we.value="",x.value.DNS.Callback.Headers=[],x.value.DNS.Callback.Method="get",x.value.DNS.Callback.RequestBody="",x.value.DNS.Callback.DisableCallbackSuccessContentCheck=!1,x.value.DNS.Callback.CallbackSuccessContent=["nochg","good #{ip}"],Ke.value=`nochg good #{ip}`;break}}).catch(()=>{})},Q=()=>{(x.value.URL==null||x.value.URL.length<=0||x.value.URL.length==1&&x.value.URL[0]=="")&&(x.value.TaskType=="IPv6"?x.value.URL=S:x.value.URL=L);var q="";for(let k in x.value.URL)k=="0"?q=x.value.URL[k]:q+=` `+x.value.URL[k];return q},Pe=()=>{(x.value.DNS.DNSServerList==null||x.value.DNS.DNSServerList.length<=0||x.value.DNS.DNSServerList.length==1&&x.value.DNS.DNSServerList[0]=="")&&(x.value.TaskType=="IPv6"?x.value.DNS.DNSServerList=F:x.value.DNS.DNSServerList=E);var q="";for(let k in x.value.DNS.DNSServerList)k=="0"?q=x.value.DNS.DNSServerList[k]:q+=` `+x.value.DNS.DNSServerList[k];return q},Ge=()=>{if(x.value.Domains==null||x.value.Domains.length==0)return"";var q="";for(let k in x.value.Domains)k=="0"?q=x.value.Domains[k]:q+=` `+x.value.Domains[k];return q},Xe=()=>{if(x.value.DNS.Callback.Headers==null||x.value.DNS.Callback.Headers.length==0)return"";var q="";for(let k in x.value.DNS.Callback.Headers)k=="0"?q=x.value.DNS.Callback.Headers[k]:q+=` `+x.value.DNS.Callback.Headers[k];return q},he=()=>{if(x.value.WebhookHeaders==null||x.value.WebhookHeaders.length==0)return"";var q="";for(let k in x.value.WebhookHeaders)k=="0"?q=x.value.WebhookHeaders[k]:q+=` `+x.value.WebhookHeaders[k];return q},Ie=()=>{if(x.value.DNS.Callback.CallbackSuccessContent==null||x.value.DNS.Callback.CallbackSuccessContent.length==0)return"";var q="";for(let k in x.value.DNS.Callback.CallbackSuccessContent)k=="0"?q=x.value.DNS.Callback.CallbackSuccessContent[k]:q+=` `+x.value.DNS.Callback.CallbackSuccessContent[k];return q},K=()=>{if(x.value.WebhookSuccessContent==null||x.value.WebhookSuccessContent.length==0)return"";var q="";for(let k in x.value.WebhookSuccessContent)k=="0"?q=x.value.WebhookSuccessContent[k]:q+=` `+x.value.WebhookSuccessContent[k];return q};var ue;return at(()=>{Ce(),ue=setInterval(()=>{Ce()},500)}),Bo(()=>{clearInterval(ue)}),(q,k)=>{const Me=kn,X=Uu,de=ga,Fe=Sn,At=Ou,De=un,Dt=Qe("Plus"),Ln=ut,R6=ha,Ft=yn,H2=ma,qe=jn,Kn=ju,Gn=qu,sn=j4,I2=To,_r=b2,R2=y2,N6=qn;return b(),C("div",ice,[d(De,{height:"100%"},{default:p(()=>[(b(!0),C(We,null,pt(_(r),(J,wa)=>(b(),C("div",cce,[d(At,{column:4,border:""},{default:p(()=>[d(X,{label:"DDNS\u4EFB\u52A1\u540D\u79F0"},{default:p(()=>[ye(d(Me,{type:"",size:"default"},{default:p(()=>[D(ce(J.TaskName==""?"\u672A\u547D\u540D\u4EFB\u52A1":J.TaskName),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(X,{label:"DDNS\u7C7B\u578B"},{default:p(()=>[ye(d(Me,{color:"#409eff",size:"default"},{default:p(()=>[D(ce(J.TaskType),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(X,{label:"\u4EFB\u52A1\u64CD\u4F5C",span:2},{default:p(()=>[d(Fe,{content:J.Enable==!0?"\u4EFB\u52A1\u5DF2\u542F\u7528":"\u4EFB\u52A1\u5DF2\u7981\u7528",placement:"top"},{default:p(()=>[d(de,{modelValue:J.Enable,"onUpdate:modelValue":kt=>J.Enable=kt,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":te.bind(this,J.Enable,J),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),D(" \xA0\xA0 "),d(Me,{type:"primary",onClick:kt=>V("alter",J)},{default:p(()=>[D("\u7F16\u8F91")]),_:2},1032,["onClick"]),d(Me,{type:"danger",onClick:kt=>_e(J)},{default:p(()=>[D("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024),d(X,{label:"DNS\u670D\u52A1\u5546"},{default:p(()=>[ye(d(Me,{color:"#409eff",size:"small"},{default:p(()=>[D(ce(Y(J.DNS)),1)]),_:2},1536),[[Be,!0]]),d(Fe,{"v-if":J.DNS.HttpClientProxyType!="",content:J.DNS.HttpClientProxyType==""?"\u672A\u8BBE\u7F6E\u4EE3\u7406":"\u7C7B\u578B:["+J.DNS.HttpClientProxyType+"] \u4EE3\u7406\u670D\u52A1\u5668\u5730\u5740:["+J.DNS.HttpClientProxyAddr+"]",placement:"top"},{default:p(()=>[d(Me,{type:J.DNS.HttpClientProxyType==""?"":"success",size:"small"},{default:p(()=>[D(ce(J.DNS.HttpClientProxyType==""?"\u672A\u8BBE\u7F6E\u4EE3\u7406":"\u5DF2\u8BBE\u7F6E\u4EE3\u7406"),1)]),_:2},1032,["type"])]),_:2},1032,["v-if","content"])]),_:2},1024),d(X,{label:"\u83B7\u53D6\u516C\u7F51IP\u65B9\u5F0F"},{default:p(()=>[ye(d(Me,{color:"#409eff",size:"default"},{default:p(()=>[D(ce(J.GetType=="url"?"URL":"\u7F51\u5361"),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(X,{label:"\u516C\u7F51IP"},{default:p(()=>[d(Fe,{placement:wa==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:P(J.TaskState.IPAddrHistory)},null,8,dce)]),default:p(()=>[ye(d(Me,{color:"#409eff",size:"default",onClick:kt=>G(J.TaskState.IpAddr)},{default:p(()=>[D(ce(J.TaskState.IpAddr==""?"\u5C1A\u672A\u83B7\u53D6\u5230\u516C\u7F51IP":J.TaskState.IpAddr),1)]),_:2},1032,["onClick"]),[[Be,!0]])]),_:2},1032,["placement"])]),_:2},1024),d(X,{label:"TTL"},{default:p(()=>[ye(d(Me,{size:"small",type:""},{default:p(()=>[D(ce(v(J.TTL)),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),J.WebhookEnable?(b(),C("div",fce,[d(X,{label:"WebHook",span:1},{default:p(()=>[d(Me,{type:"success",size:"small"},{default:p(()=>[D(" \u5DF2\u542F\u7528 ")]),_:1}),d(Me,{type:J.WebhookProxy==""?"":"success",size:"small"},{default:p(()=>[D(ce(J.WebhookProxy==""?"\u672A\u8BBE\u7F6E\u4EE3\u7406":"\u5DF2\u8BBE\u7F6E\u4EE3\u7406"),1)]),_:2},1032,["type"])]),_:2},1024),d(X,{label:"WebHook \u89E6\u53D1\u65F6\u95F4",span:J.TaskState.WebhookCallTime==""?3:1},{default:p(()=>[d(Fe,{placement:wa==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:I(J.TaskState.WebhookCallHistroy)},null,8,pce)]),default:p(()=>[d(Me,{color:"#409eff",size:"default"},{default:p(()=>[D(ce(J.TaskState.WebhookCallTime==""?"\u4ECE\u672A\u89E6\u53D1":J.TaskState.WebhookCallTime),1)]),_:2},1024)]),_:2},1032,["placement"])]),_:2},1032,["span"]),J.TaskState.WebhookCallTime!=""?(b(),ae(X,{key:0,label:"WebHook \u89E6\u53D1\u7ED3\u679C",span:J.TaskState.WebhookCallErrorMsg==""?2:1},{default:p(()=>[d(Fe,{placement:wa==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:I(J.TaskState.WebhookCallHistroy)},null,8,vce)]),default:p(()=>[d(Me,{color:"#409eff",size:"default"},{default:p(()=>[D(ce(J.TaskState.WebhookCallResult==!0?"\u6210\u529F":"\u5931\u8D25"),1)]),_:2},1024)]),_:2},1032,["placement"])]),_:2},1032,["span"])):oe("",!0),J.TaskState.WebhookCallErrorMsg!=""?(b(),ae(X,{key:1,label:"WebHook \u89E6\u53D1\u9519\u8BEF\u539F\u56E0",span:1},{default:p(()=>[d(Me,{color:"#409eff",size:"default",onClick:kt=>o(J.TaskState.WebhookCallErrorMsg)},{default:p(()=>[D(" \u70B9\u51FB\u67E5\u770B ")]),_:2},1032,["onClick"])]),_:2},1024)):oe("",!0)])):oe("",!0),(b(!0),C(We,null,pt(J.TaskState.Domains,kt=>(b(),C("div",null,[d(X,{label:"\u57DF\u540D"},{default:p(()=>[d(Me,{color:"#409eff",size:"default",onClick:O6=>Z(kt.SubDomain,kt.DomainName)},{default:p(()=>[D(ce(kt.SubDomain==""?kt.DomainName:kt.SubDomain+"."+kt.DomainName),1)]),_:2},1032,["onClick"])]),_:2},1024),d(X,{label:"\u540C\u6B65\u7ED3\u679C"},{default:p(()=>[d(Fe,{placement:wa==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:H(kt.UpdateHistroy)},null,8,hce)]),default:p(()=>[d(Me,{type:kt.UpdateStatus=="\u5931\u8D25"?"danger":J.Enable?"success":"info",size:"small"},{default:p(()=>[D(ce(J.Enable?kt.UpdateStatus:"\u505C\u6B62\u540C\u6B65"),1)]),_:2},1032,["type"])]),_:2},1032,["placement"])]),_:2},1024),d(X,{label:"\u6700\u540E\u68C0\u6D4B\u65F6\u95F4",span:kt.Message==""?2:1},{default:p(()=>[d(Fe,{placement:wa==0?"bottom":"top",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:H(kt.UpdateHistroy)},null,8,_ce)]),default:p(()=>[d(Me,{color:"#409eff",size:"default"},{default:p(()=>[D(ce(kt.LastUpdateStatusTime),1)]),_:2},1024)]),_:2},1032,["placement"])]),_:2},1032,["span"]),kt.Message!=""?(b(),ae(X,{key:0,label:"\u9519\u8BEF\u4FE1\u606F"},{default:p(()=>[d(Me,{color:"#409eff",size:"default",onClick:O6=>o(kt.Message)},{default:p(()=>[D(" \u70B9\u51FB\u67E5\u770B ")]),_:2},1032,["onClick"])]),_:2},1024)):oe("",!0)]))),256))]),_:2},1024)]))),256))]),_:1}),d(R6,{position:"bottom",offset:30,class:"affix-container"},{default:p(()=>[d(Me,{type:"primary",onClick:k[0]||(k[0]=J=>V("add",null))},{default:p(()=>[D("\u6DFB\u52A0DDNS\u4EFB\u52A1 "),d(Ln,null,{default:p(()=>[d(Dt)]),_:1})]),_:1})]),_:1}),d(H2,{modelValue:t.value,"onUpdate:modelValue":k[2]||(k[2]=J=>t.value=J),title:"\u8BE6\u7EC6\u4FE1\u606F",draggable:"","show-close":!0,"close-on-click-modal":!1,width:"600px"},{default:p(()=>[d(Ft,{modelValue:n.value,"onUpdate:modelValue":k[1]||(k[1]=J=>n.value=J),autosize:{minRows:3,maxRows:10},type:"textarea"},null,8,["modelValue"])]),_:1},8,["modelValue"]),d(H2,{modelValue:xe.value,"onUpdate:modelValue":k[48]||(k[48]=J=>xe.value=J),title:le.value=="add"?"DDNS\u4EFB\u52A1\u6DFB\u52A0":"DDNS\u4EFB\u52A1\u4FEE\u6539",draggable:"","show-close":!0,"close-on-click-modal":!1,width:"600px"},{footer:p(()=>[f("span",vde,[d(Me,{onClick:k[47]||(k[47]=J=>xe.value=!1)},{default:p(()=>[D("\u53D6\u6D88")]),_:1}),d(Me,{type:"primary",onClick:pe},{default:p(()=>[D(ce(le.value=="add"?"\u6DFB\u52A0":"\u4FEE\u6539"),1)]),_:1})])]),default:p(()=>[d(N6,{model:x.value},{default:p(()=>[d(qe,{label:"DDNS\u4EFB\u52A1\u540D\u79F0","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.TaskName,"onUpdate:modelValue":k[3]||(k[3]=J=>x.value.TaskName=J),placeholder:"\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(qe,{label:"\u4EFB\u52A1\u5F00\u5173","label-width":"auto"},{default:p(()=>[d(de,{modelValue:x.value.Enable,"onUpdate:modelValue":k[4]||(k[4]=J=>x.value.Enable=J),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u505C\u7528"},null,8,["modelValue"])]),_:1}),ye(f("div",null,[f("div",mce,[gce,f("div",bce,[d(qe,{label:"DNS\u670D\u52A1\u5546","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:x.value.DNS.Name,"onUpdate:modelValue":k[5]||(k[5]=J=>x.value.DNS.Name=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(),C(We,null,pt(T,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),x.value.DNS.Name=="alidns"?(b(),C("div",yce,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://ram.console.aliyun.com/manage/ak?spm=5176.12818093.nav-right.dak.488716d0mHaMgg",target:"_blank"},{default:p(()=>[D(" \u521B\u5EFA AccessKey ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="baiducloud"?(b(),C("div",wce,[d(Fe,{class:"box-item",effect:"dark",content:"\u9700\u8C03\u7528 API,\u800C\u767E\u5EA6\u4E91\u76F8\u5173API\u4EC5\u5BF9\u7533\u8BF7\u7528\u6237\u5F00\u653E\uFF0C\u4F7F\u7528\u524D\u8BF7\u5148\u63D0\u4EA4\u5DE5\u5355\u7533\u8BF7\u3002"},{default:p(()=>[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://console.bce.baidu.com/iam/?_=1651763238057#/iam/accesslist",target:"_blank"},{default:p(()=>[D(" \u521B\u5EFA AccessKey ")]),_:1}),D(" \xA0 \xA0 \xA0 "),d(sn,{type:"primary",style:{"font-size":"small"},href:"https://ticket.bce.baidu.com/#/ticket/create~productId=60&questionId=393&channel=2",target:"_blank"},{default:p(()=>[D(" \u7533\u8BF7\u5DE5\u5355 ")]),_:1})]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="cloudflare"?(b(),C("div",Cce,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://dash.cloudflare.com/profile/api-tokens",target:"_blank"},{default:p(()=>[D(" \u521B\u5EFA\u4EE4\u724C->\u7F16\u8F91\u533A\u57DF DNS (\u4F7F\u7528\u6A21\u677F) ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="dnspod"?(b(),C("div",Ece,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://console.dnspod.cn/account/token",target:"_blank"},{default:p(()=>[D(" \u521B\u5EFA\u5BC6\u94A5 ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="huaweicloud"?(b(),C("div",Ace,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://console.huaweicloud.com/iam/?locale=zh-cn#/mine/accessKey",target:"_blank"},{default:p(()=>[D(" \u65B0\u589E\u8BBF\u95EE\u5BC6\u94A5 ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="porkbun"?(b(),C("div",Fce,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://porkbun.com/account/api",target:"_blank"},{default:p(()=>[D(" \u521B\u5EFA Access ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Name=="callback"?(b(),C("div",xce,[d(qe,{"label-width":"auto"},{default:p(()=>[$ce]),_:1})])):oe("",!0),ye(d(qe,{label:ge(),"label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.DNS.ID,"onUpdate:modelValue":k[6]||(k[6]=J=>x.value.DNS.ID=J),autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label"]),[[Be,Ee()]]),ye(d(qe,{label:fe(),"label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.DNS.Secret,"onUpdate:modelValue":k[7]||(k[7]=J=>x.value.DNS.Secret=J),autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label"]),[[Be,ne()]]),d(Fe,{placement:"top"},{content:p(()=>[D(" \u5F3A\u5236\u540C\u6B65,\u5F53DNS\u89E3\u6790\u57DF\u540D\u5F00\u5173\u6253\u5F00\u65F6\u4F1A\u5148\u901A\u8FC7DNS\u89E3\u6790\u8FDB\u884CIP\u6BD4\u5BF9,\u6BD4\u5BF9\u4E00\u81F4\u4F9D\u7136\u4E0D\u4F1A\u5F3A\u5236\u540C\u6B65,\u53EA\u8981\u4E0D\u624B\u52A8\u4FEE\u6539\u57DF\u540DIP\u8FD9\u4E2A\u503C\u8BBE\u7F6E\u5927\u4E00\u4E9B\u5B8C\u5168\u6CA1\u95EE\u9898,\u53EF\u8BBE\u8303\u56F4(60-360000)"),Dce,D(" \u5F3A\u5236\u540C\u6B65\u68C0\u67E5\u4F1A\u5728\u6BCF\u4E00\u8F6E\u5B9A\u65F6\u6279\u91CF\u6267\u884CDDNS\u4EFB\u52A1\u4E2D\u8FDB\u884C,\u6240\u4EE5\u5B9E\u9645\u5F3A\u5236\u540C\u6B65\u65F6\u95F4\u4E0D\u4F1A\u5F88\u7CBE\u786E ")]),default:p(()=>[d(qe,{label:"\u5F3A\u5236\u540C\u6B65(\u79D2)","label-width":"auto",min:60,max:36e4},{default:p(()=>[d(I2,{modelValue:x.value.DNS.ForceInterval,"onUpdate:modelValue":k[8]||(k[8]=J=>x.value.DNS.ForceInterval=J),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),ye(f("p",null,"\u81EA\u5B9A\u4E49(Callback)\u670D\u52A1\u5546\u8BBE\u7F6E",512),[[Be,x.value.DNS.Name=="callback"]]),ye(f("div",Bce,[d(qe,{label:"Callback DNS\u670D\u52A1\u5546","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:x.value.DNS.Callback.Server,"onUpdate:modelValue":k[9]||(k[9]=J=>x.value.DNS.Callback.Server=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(),C(We,null,pt(g,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),ye(f("div",null,[x.value.DNS.Callback.Server=="meibu"?(b(),C("div",Sce,[d(Fe,{content:"\u6CE8\u610F:\u6BCF\u6B65 IPv4\u548CIPv6\u7684\u63A5\u53E3\u4E0D\u76F8\u540C,\u514D\u8D39\u4E8C\u7EA7\u57DF\u540D\u4E0D\u80FD\u540C\u65F6\u652F\u6301IPv4\u548CIPv6",placement:"top"},{default:p(()=>[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"http://www.meibu.com/regedit.shtml",target:"_blank"},{default:p(()=>[D(" \u6BCF\u6B65-\u514D\u8D39\u4E8C\u7EA7\u57DF\u540D\u6CE8\u518C ")]),_:1})]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Callback.Server=="noip"?(b(),C("div",kce,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://www.noip.com",target:"_blank"},{default:p(()=>[D(" No-IP\u5B98\u7F51 ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Callback.Server=="dynv6"?(b(),C("div",Pce,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://dynv6.com/",target:"_blank"},{default:p(()=>[D(" Dynv6\u5B98\u7F51 ")]),_:1}),D(" \xA0 \xA0 \xA0 "),d(sn,{type:"primary",style:{"font-size":"small"},href:"https://dynv6.com/keys",target:"_blank"},{default:p(()=>[D(" Token\u521B\u5EFA ")]),_:1})]),_:1})])):oe("",!0),x.value.DNS.Callback.Server=="dynu"?(b(),C("div",Lce,[d(qe,{"label-width":"auto"},{default:p(()=>[d(sn,{type:"primary",style:{"font-size":"small"},href:"https://www.dynu.com/",target:"_blank"},{default:p(()=>[D(" Dynu\u5B98\u7F51 ")]),_:1}),D(" \xA0 \xA0 \xA0 "),d(sn,{type:"primary",style:{"font-size":"small"},href:"https://www.dynu.com/zh-CN/ControlPanel/ManageCredentials",target:"_blank"},{default:p(()=>[D(" IP\u66F4\u65B0\u5BC6\u7801\u8BBE\u7F6E ")]),_:1})]),_:1})])):oe("",!0),d(qe,{"label-width":"auto"},{default:p(()=>[d(Me,{color:"#409eff",size:"default",onClick:Re},{default:p(()=>[D(" \u6839\u636EDNS\u670D\u52A1\u5546\u81EA\u52A8\u586B\u5145\u53C2\u6570\u6A21\u7248 ")]),_:1})]),_:1})],512),[[Be,x.value.DNS.Callback.Server!="other"]]),d(Fe,{class:"box-item",effect:"dark",content:""},{content:p(()=>[D("\u63A5\u53E3\u5730\u5740"),zce,D(" \u652F\u6301\u7684\u53D8\u91CF"),Tce,D(" #{ip} : \u5916\u7F51IP"),Mce,D(" #{domain} : \u57DF\u540D"),Vce,D(" #{recordType} : A \u6216\u8005 AAAA "),Hce,D(" #{ttl} : TTL\u503C")]),default:p(()=>[d(qe,{label:"\u63A5\u53E3\u5730\u5740","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.DNS.Callback.URL,"onUpdate:modelValue":k[10]||(k[10]=J=>x.value.DNS.Callback.URL=J),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(qe,{label:"\u8BF7\u6C42\u65B9\u6CD5","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:x.value.DNS.Callback.Method,"onUpdate:modelValue":k[11]||(k[11]=J=>x.value.DNS.Callback.Method=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(),C(We,null,pt(B,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4E00\u884C\u4E00\u6761Header(key:value)"),Ice,D(" \u652F\u6301\u7684\u53D8\u91CF"),Rce,D(" #{ip} : \u5916\u7F51IP"),Nce,D(" #{domain} : \u57DF\u540D"),Oce,D(" #{recordType} : A \u6216\u8005 AAAA "),Uce,D(" #{ttl} : TTL\u503C"),Wce,D(" \u5982\u679C\u9700\u8981\u4F7F\u7528BasicAuth,\u8BF7\u4F7F\u7528\u4E0B\u9762\u4E24\u884CHeader\u8BBE\u7F6EBasicAuth\u7684\u8D26\u53F7\u548C\u5BC6\u7801"),qce,D(" BasicAuthUserName:\u4F60\u7684\u8D26\u53F7"),jce,D(" BasicAuthPassword:\u4F60\u7684\u5BC6\u7801")]),default:p(()=>[d(qe,{"label-width":"auto",label:"\u8BF7\u6C42Headers"},{default:p(()=>[d(Ft,{modelValue:we.value,"onUpdate:modelValue":k[12]||(k[12]=J=>we.value=J),autosize:{minRows:3,maxRows:5},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D("\u8BF7\u6C42\u4E3B\u4F53 requestBody"),Kce,D(" \u652F\u6301\u7684\u53D8\u91CF"),Gce,D(" #{ip} : \u5916\u7F51IP"),Yce,D(" #{domain} : \u57DF\u540D"),Xce,D(" #{recordType} : A \u6216\u8005 AAAA "),Jce,D(" #{ttl} : TTL\u503C")]),default:p(()=>[ye(d(qe,{"label-width":"auto",label:"\u8BF7\u6C42\u4E3B\u4F53"},{default:p(()=>[d(Ft,{modelValue:x.value.DNS.Callback.RequestBody,"onUpdate:modelValue":k[13]||(k[13]=J=>x.value.DNS.Callback.RequestBody=J),autosize:{minRows:3,maxRows:5},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1},512),[[Be,x.value.DNS.Callback.Method!="get"]])]),_:1}),d(Fe,{content:"\u7981\u7528\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B,\u5F00\u542F\u540E\u4EC5\u4EE5http StatusCode==200\u5224\u65AD\u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528.",placement:"top"},{default:p(()=>[d(qe,{label:"\u7981\u7528\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B","label-width":"auto"},{default:p(()=>[d(de,{modelValue:x.value.DNS.Callback.DisableCallbackSuccessContentCheck,"onUpdate:modelValue":k[14]||(k[14]=J=>x.value.DNS.Callback.DisableCallbackSuccessContentCheck=J),"inline-prompt":"",width:"50px","active-text":"\u662F","inactive-text":"\u5426"},null,8,["modelValue"])]),_:1})]),_:1}),ye(f("div",null,[d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D("\u7528\u4E8E\u5224\u65AD\u8BB0\u5F55\u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528,\u591A\u79CD\u8868\u793A\u6210\u529F\u7684\u4E0D\u540C\u5B57\u7B26\u4E32\u8BF7\u5206\u591A\u884C\u5199"),Qce,D(" \u652F\u6301\u7684\u53D8\u91CF"),Zce,D(" #{ip} : \u5916\u7F51IP"),e0e,D(" #{domain} : \u57DF\u540D"),t0e,D(" #{recordType} : A \u6216\u8005 AAAA "),n0e,D(" #{ttl} : TTL\u503C")]),default:p(()=>[d(qe,{label:"\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:Ke.value,"onUpdate:modelValue":k[15]||(k[15]=J=>Ke.value=J),autosize:{minRows:3,maxRows:5},type:"textarea",autocomplete:"off",placeholder:""},null,8,["modelValue"])]),_:1})]),_:1})],512),[[Be,!x.value.DNS.Callback.DisableCallbackSuccessContentCheck]])],512),[[Be,x.value.DNS.Name=="callback"]]),f("div",o0e,[d(Fe,{content:"\u8C03\u7528DNS\u670D\u52A1\u5546\u63A5\u53E3\u66F4\u65B0\u6216\u589E\u52A0\u57DF\u540D\u4E4B\u524D\u5148\u901A\u8FC7DNS\u67E5\u8BE2\u57DF\u540D\u5BF9\u5E94IP,\u964D\u4F4E\u5BF9DNS\u670D\u52A1\u5546\u63A5\u53E3\u7684\u8BBF\u95EE\u9891\u7387,\u5EFA\u8BAE\u542F\u7528",placement:"top"},{default:p(()=>[d(qe,{label:"DNS\u89E3\u6790\u68C0\u6D4B\u57DF\u540D","label-width":"auto"},{default:p(()=>[d(de,{modelValue:x.value.DNS.ResolverDoaminCheck,"onUpdate:modelValue":k[16]||(k[16]=J=>x.value.DNS.ResolverDoaminCheck=J),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u7981\u7528",onChange:O},null,8,["modelValue"])]),_:1})]),_:1}),ye(f("div",null,[d(Fe,{class:"box-item","trigger-keys":[],effect:"dark",content:"\u4E00\u884C\u4E00\u4E2ADNS\u670D\u52A1\u5668\u5730\u5740(\u5E26\u7AEF\u53E3)"},{default:p(()=>[d(qe,{"label-width":"auto",label:"DNS\u670D\u52A1\u5668\u5217\u8868"},{default:p(()=>[d(Ft,{modelValue:ze.value,"onUpdate:modelValue":k[17]||(k[17]=J=>ze.value=J),autosize:{minRows:3,maxRows:5},placeholder:"\u4E00\u884C\u4E00\u4E2ADNS\u670D\u52A1\u5668\u5730\u5740(\u5E26\u7AEF\u53E3)",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[Be,x.value.DNS.ResolverDoaminCheck]])]),l0e,f("div",a0e,[d(qe,{label:"DNS\u63A5\u53E3\u8C03\u7528\u4F7F\u7528\u7684\u7F51\u7EDC\u7C7B\u578B","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:x.value.DNS.CallAPINetwork,"onUpdate:modelValue":k[18]||(k[18]=J=>x.value.DNS.CallAPINetwork=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(),C(We,null,pt(y,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),r0e,f("div",u0e,[d(qe,{label:"DNS\u63A5\u53E3\u8C03\u7528 \u4EE3\u7406\u8BBE\u7F6E","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:x.value.DNS.HttpClientProxyType,"onUpdate:modelValue":k[19]||(k[19]=J=>x.value.DNS.HttpClientProxyType=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(),C(We,null,pt(c,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),ye(f("div",null,[d(qe,{label:"\u4EE3\u7406\u670D\u52A1\u5668IP","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.DNS.HttpClientProxyAddr,"onUpdate:modelValue":k[20]||(k[20]=J=>x.value.DNS.HttpClientProxyAddr=J),autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(qe,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u7528\u6237","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.DNS.HttpClientProxyUser,"onUpdate:modelValue":k[21]||(k[21]=J=>x.value.DNS.HttpClientProxyUser=J),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1}),d(qe,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u5BC6\u7801","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.DNS.HttpClientProxyPassword,"onUpdate:modelValue":k[22]||(k[22]=J=>x.value.DNS.HttpClientProxyPassword=J),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1})],512),[[Be,x.value.DNS.HttpClientProxyType!=""]])])]),f("div",s0e,[d(qe,{label:"\u516C\u7F51IP\u7C7B\u578B","label-width":"auto"},{default:p(()=>[d(R2,{modelValue:x.value.TaskType,"onUpdate:modelValue":k[23]||(k[23]=J=>x.value.TaskType=J),class:"ml-4",onChange:ee},{default:p(()=>[d(_r,{label:"IPv4"},{default:p(()=>[D("IPv4")]),_:1}),d(_r,{label:"IPv6"},{default:p(()=>[D("IPv6")]),_:1})]),_:1},8,["modelValue"])]),_:1}),d(qe,{label:"\u83B7\u53D6\u516C\u7F51IP\u65B9\u5F0F","label-width":"auto"},{default:p(()=>[d(R2,{modelValue:x.value.GetType,"onUpdate:modelValue":k[24]||(k[24]=J=>x.value.GetType=J),class:"ml-4"},{default:p(()=>[d(_r,{label:"url"},{default:p(()=>[D("\u901A\u8FC7\u63A5\u53E3\u83B7\u53D6")]),_:1}),d(_r,{label:"netInterface"},{default:p(()=>[D("\u901A\u8FC7\u7F51\u5361\u83B7\u53D6")]),_:1})]),_:1},8,["modelValue"])]),_:1}),x.value.GetType=="url"?(b(),C("div",i0e,[d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:"\u4E00\u884C\u4E00\u4E2A\u63A5\u53E3"},{default:p(()=>[d(qe,{"label-width":"auto",label:"\u63A5\u53E3\u5217\u8868"},{default:p(()=>[d(Ft,{modelValue:Ae.value,"onUpdate:modelValue":k[25]||(k[25]=J=>Ae.value=J),autosize:{minRows:5,maxRows:20},placeholder:"\u4E00\u884C\u4E00\u4E2A\u63A5\u53E3",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})])):oe("",!0),x.value.GetType=="netInterface"?(b(),C("div",c0e,[d(qe,{"label-width":"auto",label:"\u7F51\u5361\u5217\u8868"},{default:p(()=>[d(Gn,{modelValue:x.value.NetInterface,"onUpdate:modelValue":k[26]||(k[26]=J=>x.value.NetInterface=J),class:"m-2"},{default:p(()=>[(b(!0),C(We,null,pt(_(a),J=>(b(),ae(Fe,{class:"box-item",effect:"dark",key:J.NetInterfaceName,content:JSON.stringify(J.AddressList)},{default:p(()=>[d(Kn,{label:J.NetInterfaceName,value:J.NetInterfaceName},null,8,["label","value"])]),_:2},1032,["content"]))),128))]),_:1},8,["modelValue"])]),_:1}),d(Fe,{class:"box-item",effect:"dark",content:"\u7559\u7A7A\u8868\u793A\u5339\u914D\u9009\u4E2D\u7F51\u5361\u7B2C1\u4E2AIP, \u7EAF\u6570\u5B57n\u8868\u793A\u5339\u914D\u7B2Cn\u4E2AIP, 24*\u8868\u793A\u5339\u914D\u4EE524\u5F00\u5934\u7684\u7B2C\u4E00\u4E2AIP, *24\u8868\u793A\u5339\u914D\u4EE524\u7ED3\u5C3E\u7684\u7B2C\u4E00\u4E2AIP, \u8FD8\u53EF\u4EE5\u586B\u5199\u6B63\u5219\u8868\u8FBE\u5F0F"},{default:p(()=>[d(qe,{"label-width":"auto",label:"IP\u9009\u62E9\u5339\u914D\u89C4\u5219"},{default:p(()=>[d(Ft,{modelValue:x.value.IPReg,"onUpdate:modelValue":k[27]||(k[27]=J=>x.value.IPReg=J),autosize:{minRows:5,maxRows:20},placeholder:"\u7559\u7A7A\u8868\u793A\u9009\u62E9\u5F53\u524D\u7F51\u5361\u7B2C\u4E00\u4E2AIP"},null,8,["modelValue"]),d(Me,{color:"#409eff",size:"small",onClick:N},{default:p(()=>[D(" IP\u9009\u62E9\u5339\u914D\u6D4B\u8BD5 ")]),_:1})]),_:1})]),_:1})])):oe("",!0),d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:"\u4E00\u884C\u4E00\u6761\u57DF\u540D"},{default:p(()=>[d(qe,{"label-width":"auto",label:"\u57DF\u540D\u5217\u8868"},{default:p(()=>[d(Ft,{modelValue:se.value,"onUpdate:modelValue":k[28]||(k[28]=J=>se.value=J),autosize:{minRows:3,maxRows:9},placeholder:"\u4E00\u884C\u4E00\u6761\u57DF\u540D",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),d(Fe,{class:"box-item",effect:"dark",content:"\u5982\u8D26\u53F7\u652F\u6301\u66F4\u5C0F\u7684 TTL , \u53EF\u4FEE\u6539\u3002 IP \u6709\u53D8\u5316\u65F6\u624D\u4F1A\u66F4\u65B0 TTL"},{default:p(()=>[d(qe,{"label-width":"auto",label:"TTL"},{default:p(()=>[d(Gn,{modelValue:x.value.TTL,"onUpdate:modelValue":k[29]||(k[29]=J=>x.value.TTL=J),class:"m-2"},{default:p(()=>[(b(),C(We,null,pt(h,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),f("div",d0e,[d(qe,{label:"Webhook","label-width":"auto"},{default:p(()=>[d(Fe,{class:"box-item",effect:"dark",content:"Webhook \u4EC5\u5F53IP\u6539\u53D8,\u57DF\u540D\u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u6216\u5931\u8D25\u65F6\u624D\u4F1A\u89E6\u53D1Webhook"},{default:p(()=>[d(de,{modelValue:x.value.WebhookEnable,"onUpdate:modelValue":k[30]||(k[30]=J=>x.value.WebhookEnable=J),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}),d(Fe,{class:"box-item",effect:"dark",content:"\u5982\u679C\u9009\u62E9\u4E86DNS\u4EE3\u7406\u8BBE\u7F6E\u5148\u8BF7\u4FDD\u5B58\u4EFB\u52A1\u518D\u624B\u52A8\u89E6\u53D1\u6D4B\u8BD5,\u5426\u5219\u5728\u6D4B\u8BD5\u4E2D\u53EF\u80FD\u4EE3\u7406\u8BBE\u7F6E\u4E0D\u751F\u6548"},{default:p(()=>[ye(d(Me,{color:"#409eff",size:"small",onClick:A,style:{"margin-left":"30px"}},{default:p(()=>[D(" Webhook\u624B\u52A8\u89E6\u53D1\u6D4B\u8BD5 ")]),_:1},512),[[Be,x.value.WebhookEnable]])]),_:1})]),_:1}),ye(f("div",null,[d(Fe,{class:"box-item",effect:"dark",content:"\u83B7\u53D6IP\u5931\u8D25\u65F6\u540C\u6837\u89E6\u53D1Webhook,\u9ED8\u8BA4\u4E0D\u5F00\u542F"},{default:p(()=>[d(qe,{label:"\u83B7\u53D6IP\u5931\u8D25\u65F6\u89E6\u53D1Webhook","label-width":"auto"},{default:p(()=>[d(de,{modelValue:x.value.WebhookCallOnGetIPfail,"onUpdate:modelValue":k[31]||(k[31]=J=>x.value.WebhookCallOnGetIPfail=J),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),f("div",f0e,[d(qe,{label:"\u5E38\u89C1Webhook(\u6D88\u606F\u63A8\u9001)\u670D\u52A1\u5546","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:s.value,"onUpdate:modelValue":k[32]||(k[32]=J=>s.value=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9",onChange:j},{default:p(()=>[(b(),C(We,null,pt($,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),D("\u8BF4\u660E ")]),_:1}),ye(f("div",p0e,[d(qe,{"label-width":"auto"},{default:p(()=>[v0e]),_:1})],512),[[Be,s.value=="custom"]]),ye(f("div",h0e,[d(qe,{"label-width":"auto"},{default:p(()=>[_0e]),_:1})],512),[[Be,s.value=="serverjiang"]]),ye(f("div",m0e,[d(qe,{"label-width":"auto"},{default:p(()=>[g0e]),_:1})],512),[[Be,s.value=="bark"]]),ye(f("div",b0e,[d(qe,{"label-width":"auto"},{default:p(()=>[y0e,w0e,C0e,E0e]),_:1}),d(qe,{"label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:i.value,"onUpdate:modelValue":k[33]||(k[33]=J=>i.value=J),type:"textarea",rows:"5"},null,8,["modelValue"])]),_:1}),d(qe,{"label-width":"auto"},{default:p(()=>[A0e]),_:1})],512),[[Be,s.value=="dingding"]]),ye(f("div",F0e,[d(qe,{"label-width":"auto"},{default:p(()=>[x0e,$0e,D0e,B0e]),_:1}),d(qe,{"label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:i.value,"onUpdate:modelValue":k[34]||(k[34]=J=>i.value=J),type:"textarea",rows:"5"},null,8,["modelValue"])]),_:1}),d(qe,{"label-width":"auto"},{default:p(()=>[S0e]),_:1})],512),[[Be,s.value=="feishu"]]),ye(f("div",k0e,[d(qe,{"label-width":"auto"},{default:p(()=>[P0e,L0e,z0e]),_:1}),d(qe,{"label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:i.value,"onUpdate:modelValue":k[35]||(k[35]=J=>i.value=J),type:"textarea",rows:"5"},null,8,["modelValue"])]),_:1}),d(qe,{"label-width":"auto"},{default:p(()=>[T0e]),_:1})],512),[[Be,s.value=="weixinpro"]])]),f("div",M0e,[d(Fe,{class:"box-item",effect:"dark",content:""},{content:p(()=>[D("\u652F\u6301\u7684\u53D8\u91CF "),V0e,D(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP"),H0e,D(" #{time} : \u89E6\u53D1Webhook\u7684\u65F6\u95F4 "),I0e,D(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),R0e,D(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),N0e,D(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),O0e,D(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694")]),default:p(()=>[d(qe,{label:"\u63A5\u53E3\u5730\u5740","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.WebhookURL,"onUpdate:modelValue":k[36]||(k[36]=J=>x.value.WebhookURL=J),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(qe,{label:"\u8BF7\u6C42\u65B9\u6CD5","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:x.value.WebhookMethod,"onUpdate:modelValue":k[37]||(k[37]=J=>x.value.WebhookMethod=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(),C(We,null,pt(B,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4E00\u884C\u4E00\u6761Header(key:value) "),U0e,D(" \u652F\u6301\u7684\u53D8\u91CF :"),W0e,D(" #{time} : \u89E6\u53D1Webhook\u7684\u65F6\u95F4 "),q0e,D(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP "),j0e,D(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),K0e,D(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),G0e,D(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),Y0e,D(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),X0e,D(" \u5982\u679C\u9700\u8981\u4F7F\u7528BasicAuth,\u8BF7\u4F7F\u7528\u4E0B\u9762\u4E24\u884CHeader\u8BBE\u7F6EBasicAuth\u7684\u8D26\u53F7\u548C\u5BC6\u7801"),J0e,D(" BasicAuthUserName:\u4F60\u7684\u8D26\u53F7"),Q0e,D(" BasicAuthPassword:\u4F60\u7684\u5BC6\u7801")]),default:p(()=>[d(qe,{"label-width":"auto",label:"Headers"},{default:p(()=>[d(Ft,{modelValue:ke.value,"onUpdate:modelValue":k[38]||(k[38]=J=>ke.value=J),autosize:{minRows:3,maxRows:5},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D("\u652F\u6301\u7684\u53D8\u91CF"),Z0e,D(" #{time} : \u89E6\u53D1Webhook\u7684\u65F6\u95F4 "),ede,D(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP"),tde,D(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),nde,D(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),ode,D(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),lde,D(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694")]),default:p(()=>[ye(d(qe,{label:"RequestBody","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.WebhookRequestBody,"onUpdate:modelValue":k[39]||(k[39]=J=>x.value.WebhookRequestBody=J),type:"textarea",rows:"5",placeholder:""},null,8,["modelValue"])]),_:1},512),[[Be,x.value.WebhookMethod!="get"]])]),_:1}),d(Fe,{content:"\u7981\u7528Webhook\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B,\u5F00\u542F\u540E\u4EC5\u4EE5http StatusCode==200\u5224\u65AD\u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528.",placement:"top"},{default:p(()=>[d(qe,{label:"\u7981\u7528Webhook\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5B57\u7B26\u4E32\u68C0\u6D4B","label-width":"auto"},{default:p(()=>[d(de,{modelValue:x.value.WebhookDisableCallbackSuccessContentCheck,"onUpdate:modelValue":k[40]||(k[40]=J=>x.value.WebhookDisableCallbackSuccessContentCheck=J),"inline-prompt":"",width:"50px","active-text":"\u662F","inactive-text":"\u5426"},null,8,["modelValue"])]),_:1})]),_:1}),ye(f("div",null,[d(Fe,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D("\u7528\u4E8E\u5224\u65AD\u8BB0\u5F55Webhook \u63A5\u53E3\u662F\u5426\u6210\u529F\u8C03\u7528"),ade,D(" \u591A\u79CD\u8868\u793A\u6210\u529F\u7684\u4E0D\u540C\u5B57\u7B26\u4E32\u8BF7\u5206\u591A\u884C\u5199"),rde,D(" \u652F\u6301\u7684\u53D8\u91CF "),ude,D(" #{ipAddr} : \u5F53\u524D\u516C\u7F51IP"),sde,D(" #{successDomains} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),ide,D(" #{successDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u6210\u529F\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694"),cde,D(" #{failedDomains} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528,\u53F7\u5206\u9694"),dde,D(" #{failedDomainsLine} : \u66F4\u65B0/\u6DFB\u52A0\u5931\u8D25\u7684\u57DF\u540D\u5217\u8868,\u57DF\u540D\u4E4B\u95F4\u7528'\\n'\u5206\u9694")]),default:p(()=>[d(qe,{label:"\u63A5\u53E3\u8C03\u7528\u6210\u529F\u5305\u542B\u7684\u5B57\u7B26\u4E32","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:ve.value,"onUpdate:modelValue":k[41]||(k[41]=J=>ve.value=J),autosize:{minRows:3,maxRows:5},type:"textarea",autocomplete:"off",placeholder:""},null,8,["modelValue"])]),_:1})]),_:1})],512),[[Be,!x.value.WebhookDisableCallbackSuccessContentCheck]])]),f("div",fde,[d(qe,{label:"\u4EE3\u7406\u8BBE\u7F6E","label-width":"auto"},{default:p(()=>[d(Gn,{modelValue:x.value.WebhookProxy,"onUpdate:modelValue":k[42]||(k[42]=J=>x.value.WebhookProxy=J),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(),C(We,null,pt(m,J=>d(Kn,{key:J.value,label:J.label,value:J.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"])]),_:1}),ye(f("div",null,[d(qe,{label:"\u4EE3\u7406\u670D\u52A1\u5668IP","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.WebhookProxyAddr,"onUpdate:modelValue":k[43]||(k[43]=J=>x.value.WebhookProxyAddr=J),autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(qe,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u7528\u6237","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.WebhookProxyUser,"onUpdate:modelValue":k[44]||(k[44]=J=>x.value.WebhookProxyUser=J),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1}),d(qe,{label:"\u4EE3\u7406\u670D\u52A1\u5668\u8BA4\u8BC1\u5BC6\u7801","label-width":"auto"},{default:p(()=>[d(Ft,{modelValue:x.value.WebhookProxyPassword,"onUpdate:modelValue":k[45]||(k[45]=J=>x.value.WebhookProxyPassword=J),autocomplete:"off",placeholder:"\u6CA1\u6709\u53EF\u7559\u7A7A"},null,8,["modelValue"])]),_:1})],512),[[Be,!(x.value.WebhookProxy==""||x.value.WebhookProxy=="dns")]])])],512),[[Be,x.value.WebhookEnable]])]),f("div",pde,[d(Fe,{content:"Http Client \u8D85\u65F6\u65F6\u95F4,\u6CA1\u5FC5\u8981\u4E0D\u8981\u6539,\u53EF\u8BBE\u7F6E\u8303\u56F4 (3-60)",placement:"top"},{default:p(()=>[d(qe,{label:"HttpClient timeout(\u79D2)","label-width":"auto",min:3,max:60},{default:p(()=>[d(I2,{modelValue:x.value.HttpClientTimeout,"onUpdate:modelValue":k[46]||(k[46]=J=>x.value.HttpClientTimeout=J),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})])],512),[[Be,x.value.Enable]])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}});var _de=wn(hde,[["__scopeId","data-v-0efebb96"]]);const Se=e=>(ar("data-v-79bf589c"),e=e(),rr(),e),mde={class:"ReverseProxyPageRadius",style:{borderRadius:"base"}},gde={class:"itemradius",style:{borderRadius:"base"}},bde=Se(()=>f("br",null,null,-1)),yde=["innerHTML"],wde=["innerHTML"],Cde=Se(()=>f("br",null,null,-1)),Ede=Se(()=>f("br",null,null,-1)),Ade=Se(()=>f("br",null,null,-1)),Fde=Se(()=>f("br",null,null,-1)),xde=Se(()=>f("br",null,null,-1)),$de=["innerHTML"],Dde=["innerHTML"],Bde=["innerHTML"],Sde=Se(()=>f("br",null,null,-1)),kde=Se(()=>f("br",null,null,-1)),Pde=Se(()=>f("br",null,null,-1)),Lde=Se(()=>f("br",null,null,-1)),zde=Se(()=>f("br",null,null,-1)),Tde={class:"fromitemDivRadius"},Mde=Se(()=>f("br",null,null,-1)),Vde=Se(()=>f("br",null,null,-1)),Hde=Se(()=>f("br",null,null,-1)),Ide={class:"fromitemDivRadius"},Rde={class:"fromitemChildDivRadius"},Nde=Se(()=>f("br",null,null,-1)),Ode=Se(()=>f("br",null,null,-1)),Ude=Se(()=>f("br",null,null,-1)),Wde=Se(()=>f("br",null,null,-1)),qde=Se(()=>f("br",null,null,-1)),jde=Se(()=>f("br",null,null,-1)),Kde=Se(()=>f("br",null,null,-1)),Gde=Se(()=>f("br",null,null,-1)),Yde=Se(()=>f("br",null,null,-1)),Xde=Se(()=>f("br",null,null,-1)),Jde=Se(()=>f("br",null,null,-1)),Qde=Se(()=>f("br",null,null,-1)),Zde=Se(()=>f("br",null,null,-1)),e1e=Se(()=>f("br",null,null,-1)),t1e=Se(()=>f("br",null,null,-1)),n1e={class:"fromitemChildSafeDivRadius"},o1e=Se(()=>f("p",null,"\u5BA2\u6237\u7AEFIP\u83B7\u53D6\u8BBE\u7F6E",-1)),l1e=Se(()=>f("br",null,null,-1)),a1e=Se(()=>f("br",null,null,-1)),r1e=Se(()=>f("br",null,null,-1)),u1e=Se(()=>f("br",null,null,-1)),s1e=Se(()=>f("br",null,null,-1)),i1e=Se(()=>f("br",null,null,-1)),c1e=Se(()=>f("br",null,null,-1)),d1e=Se(()=>f("br",null,null,-1)),f1e=Se(()=>f("br",null,null,-1)),p1e={class:"fromitemChildSafeDivRadius"},v1e=Se(()=>f("p",null,"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader",-1)),h1e=Se(()=>f("br",null,null,-1)),_1e=Se(()=>f("br",null,null,-1)),m1e=Se(()=>f("br",null,null,-1)),g1e=Se(()=>f("br",null,null,-1)),b1e={class:"fromitemChildSafeDivRadius"},y1e=Se(()=>f("p",null,"\u5B89\u5168\u8BBE\u7F6E",-1)),w1e=Se(()=>f("br",null,null,-1)),C1e=Se(()=>f("br",null,null,-1)),E1e=Se(()=>f("br",null,null,-1)),A1e=Se(()=>f("br",null,null,-1)),F1e=Se(()=>f("br",null,null,-1)),x1e=Se(()=>f("br",null,null,-1)),$1e=Se(()=>f("br",null,null,-1)),D1e={class:"fromitemChildSafeDivRadius"},B1e=Se(()=>f("p",null,"\u9690\u79C1\u8BBE\u7F6E",-1)),S1e=Se(()=>f("br",null,null,-1)),k1e={class:"fromitemDivRadius"},P1e=Se(()=>f("p",null,"\u53CD\u5411\u4EE3\u7406\u5B50\u89C4\u5219\u5217\u8868",-1)),L1e={class:"fromitemChildDivRadius"},z1e=Se(()=>f("br",null,null,-1)),T1e=Se(()=>f("br",null,null,-1)),M1e=Se(()=>f("br",null,null,-1)),V1e=Se(()=>f("br",null,null,-1)),H1e=Se(()=>f("br",null,null,-1)),I1e=Se(()=>f("br",null,null,-1)),R1e=Se(()=>f("br",null,null,-1)),N1e=Se(()=>f("br",null,null,-1)),O1e=Se(()=>f("br",null,null,-1)),U1e=Se(()=>f("br",null,null,-1)),W1e=Se(()=>f("br",null,null,-1)),q1e=Se(()=>f("br",null,null,-1)),j1e=Se(()=>f("br",null,null,-1)),K1e=Se(()=>f("br",null,null,-1)),G1e=Se(()=>f("br",null,null,-1)),Y1e=Se(()=>f("br",null,null,-1)),X1e=Se(()=>f("br",null,null,-1)),J1e={class:"fromitemChildSafeDivRadius"},Q1e=Se(()=>f("p",null,"\u5BA2\u6237\u7AEFIP\u83B7\u53D6\u8BBE\u7F6E",-1)),Z1e=Se(()=>f("br",null,null,-1)),efe=Se(()=>f("br",null,null,-1)),tfe=Se(()=>f("br",null,null,-1)),nfe=Se(()=>f("br",null,null,-1)),ofe=Se(()=>f("br",null,null,-1)),lfe=Se(()=>f("br",null,null,-1)),afe=Se(()=>f("br",null,null,-1)),rfe=Se(()=>f("br",null,null,-1)),ufe=Se(()=>f("br",null,null,-1)),sfe={class:"fromitemChildSafeDivRadius"},ife=Se(()=>f("p",null,"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader",-1)),cfe=Se(()=>f("br",null,null,-1)),dfe=Se(()=>f("br",null,null,-1)),ffe=Se(()=>f("br",null,null,-1)),pfe=Se(()=>f("br",null,null,-1)),vfe={class:"fromitemChildSafeDivRadius"},hfe=Se(()=>f("p",null,"\u5B89\u5168\u8BBE\u7F6E",-1)),_fe=Se(()=>f("br",null,null,-1)),mfe=Se(()=>f("br",null,null,-1)),gfe=Se(()=>f("br",null,null,-1)),bfe=Se(()=>f("br",null,null,-1)),yfe=Se(()=>f("br",null,null,-1)),wfe=Se(()=>f("br",null,null,-1)),Cfe=Se(()=>f("br",null,null,-1)),Efe={class:"fromitemChildSafeDivRadius"},Afe=Se(()=>f("p",null,"\u9690\u79C1\u8BBE\u7F6E",-1)),Ffe=Se(()=>f("br",null,null,-1)),xfe={class:"dialog-footer"},$fe=Le({__name:"reverseproxy",setup(e){const t=z(!1),n=z(!1),o=z(""),l=z(0),a=z(50),r=z(0),u=z([{ProxyKey:"",ClientIP:"",LogContent:"",LogTime:""}]),s=z(""),i=z(""),c=z(1),m=z(""),h=z([{RuleName:"",RuleKey:"",Enable:!1,Network:"",ListenIP:"",ListenPort:666,EnableTLS:!1,DefaultProxy:{Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:100,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!0,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""},ProxyList:[{Enable:!0,Key:"",Remark:"",Domains:[""],Locations:[""],LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""}]}]),v=z({RuleName:"",RuleKey:"",Enable:!1,Network:"",ListenIP:"",ListenPort:666,EnableTLS:!1,DefaultProxy:{Key:"",Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:100,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!0,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""},ProxyList:[{Enable:!0,Key:"",Remark:"",Domains:[""],Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:30,RequestInfoLogFormat:"",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"",SafeUserAgentMode:"",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:""}]}),g=z(""),y=z(""),A=z(""),w=z(""),F=z([""]),E=z([""]),$=z([""]),T=z([""]),B=z([""]),P=z([""]),H=(se,le)=>{n.value=!0,c.value=1,r.value=0,a.value=10,s.value=se,i.value=le,Es(se,le,a.value,c.value).then(L=>{if(L.ret==0){a.value=L.pageSize,r.value=L.total,u.value=L.logs,N();return}ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(L=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+L),ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},I=se=>{c.value=se-1},j=se=>{c.value=se+1},Z=se=>{a.value=se,c.value=1,Es(s.value,i.value,a.value,c.value).then(le=>{if(le.ret==0){a.value=le.pageSize,r.value=le.total,u.value=le.logs,N();return}ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(le=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+le),ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},G=se=>{c.value=se,Es(s.value,i.value,a.value,c.value).then(le=>{if(le.ret==0){a.value=le.pageSize,r.value=le.total,u.value=le.logs,N();return}ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")}).catch(le=>{console.log("\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519:"+le),ie("error","\u83B7\u53D6\u65E5\u5FD7\u51FA\u9519")})},N=()=>{m.value="";for(let se in u.value){let le=u.value[se];se!="0"&&(m.value+=` `),m.value+=le.LogTime+" "+le.LogContent+` `}},Y=(se,le)=>{switch(t.value=!0,o.value=se,l.value=-1,se){case"add":v.value={RuleName:"",RuleKey:"",Enable:!0,Network:"tcp6",ListenIP:"",ListenPort:16666,EnableTLS:!1,DefaultProxy:{Key:"default",Locations:[],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:10,RequestInfoLogFormat:"[#{clientIP}][#{remoteIP}]#{tab}[#{method}][#{host}#{url}]",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"blacklist",SafeUserAgentMode:"blacklist",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:`User-agent: * Disallow: /`},ProxyList:[]},E.value=[],$.value=[],T.value=[],B.value=[],P.value=[],g.value=`0.0.0.0/0 ::/0`,y.value=`X-Forwarded-For X-Real-IP`,A.value="",w.value="";break;case"alter":{v.value=le,E.value=[],$.value=[],T.value=[],B.value=[],P.value=[],g.value=Xn(v.value.DefaultProxy.TrustedCIDRsStrList),y.value=Xn(v.value.DefaultProxy.RemoteIPHeaders),w.value=Xn(v.value.DefaultProxy.Locations),A.value=Xn(v.value.DefaultProxy.UserAgentfilter);for(let L in v.value.ProxyList)E.value.push(Xn(v.value.ProxyList[L].Domains)),$.value.push(Xn(v.value.ProxyList[L].Locations)),T.value.push(Xn(v.value.ProxyList[L].UserAgentfilter)),B.value.push(Xn(v.value.ProxyList[L].TrustedCIDRsStrList)),P.value.push(Xn(v.value.ProxyList[L].RemoteIPHeaders))}break}v.value.Network=="tcp4"?F.value=["tcp4"]:v.value.Network=="tcp6"?F.value=["tcp6"]:v.value.Network=="tcp"&&(F.value=["tcp4","tcp6"])},ge=()=>{E.value.push(""),$.value.push(""),T.value.push(""),B.value.push(`0.0.0.0/0 ::/0`),P.value.push(`X-Forwarded-For X-Real-IP`),v.value.ProxyList.push({Enable:!0,Key:"",Remark:"",Domains:[""],Locations:[""],EnableAccessLog:!0,LogLevel:4,LogOutputToConsole:!1,AccessLogMaxNum:1e3,WebListShowLastLogMaxCount:10,RequestInfoLogFormat:"[#{clientIP}][#{remoteIP}]#{tab}[#{method}][#{host}#{url}]",ForwardedByClientIP:!1,TrustedCIDRsStrList:[""],RemoteIPHeaders:[""],AddRemoteIPToHeader:!1,AddRemoteIPHeaderKey:"",EnableBasicAuth:!1,BasicAuthUser:"",BasicAuthPasswd:"",SafeIPMode:"blacklist",SafeUserAgentMode:"blacklist",UserAgentfilter:[""],CustomRobotTxt:!1,RobotTxt:`User-agent: * Disallow: /`});var se=v.value.ProxyList.length;l.value=se-1},fe=se=>{zt.confirm("\u786E\u8BA4\u8981\u5220\u9664\u7B2C "+(se+1)+" \u6761\u53CD\u5411\u4EE3\u7406\u8BBE\u7F6E?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{v.value.ProxyList.splice(se,1),E.value.splice(se,1),$.value.splice(se,1),T.value.splice(se,1),B.value.splice(se,1),P.value.splice(se,1)})},Ee=se=>{var le=se.RuleName==""?"\u672A\u547D\u540D":se.RuleName;zt.confirm("\u786E\u8BA4\u8981\u5220\u9664 "+le+" \u53CD\u5411\u4EE3\u7406\u89C4\u5219?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{die(se.RuleKey).then(L=>{if(L.ret==0){ie("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5220\u9664\u6210\u529F"),$e();return}ie("error",L.msg)}).catch(L=>{console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+L),ie("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})})},ne=(se,le)=>{const L=se==!1?"\u542F\u7528":"\u7981\u7528",S="["+(le.RuleName==""?"\u672A\u547D\u540D":le.RuleName)+"]";return new Promise((V,O)=>{zt.confirm("\u786E\u8BA4\u8981"+L+"\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+S+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Ad(le.RuleKey,"",!se).then(te=>{if(te.ret==0){V(!0),ie("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+S+L+"\u6210\u529F");return}V(!1),ie("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+S+L+"\u5931\u8D25: "+te.msg),te.syncres!=null&&te.syncres!=""&&to("warn",te.syncres,0)}).catch(te=>{V(!1),console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+S+L+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+te),ie("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+S+L+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{V(!1)})})},ee=(se,le,L)=>{const S=se==!1?"\u542F\u7528":"\u7981\u7528",V="["+(le.RuleName==""?"\u672A\u547D\u540D":le.RuleName)+"]",O="["+(L.Remark==""?"\u672A\u547D\u540D":L.Remark)+"]";return new Promise((te,_e)=>{zt.confirm("\u786E\u8BA4\u8981"+S+"\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+V+"\u7684\u5B50\u89C4\u5219 "+O+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Ad(le.RuleKey,L.Key,!se).then(pe=>{if(pe.ret==0){te(!0),ie("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+V+"\u7684\u5B50\u89C4\u5219 "+O+S+"\u6210\u529F");return}te(!1),ie("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+V+"\u7684\u5B50\u89C4\u5219 "+O+S+"\u5931\u8D25: "+pe.msg),pe.syncres!=null&&pe.syncres!=""&&to("warn",pe.syncres,0)}).catch(pe=>{te(!1),console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+V+"\u7684\u5B50\u89C4\u5219 "+O+S+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+pe),ie("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "+V+"\u7684\u5B50\u89C4\u5219 "+O+S+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{te(!1)})})},xe=()=>{v.value.DefaultProxy.TrustedCIDRsStrList=St(g.value),v.value.DefaultProxy.RemoteIPHeaders=St(y.value),v.value.DefaultProxy.UserAgentfilter=St(A.value),v.value.DefaultProxy.Locations=St(w.value);for(let se in v.value.ProxyList)v.value.ProxyList[se].Domains=St(E.value[se]),v.value.ProxyList[se].Locations=St($.value[se]),v.value.ProxyList[se].UserAgentfilter=St(T.value[se]),v.value.ProxyList[se].TrustedCIDRsStrList=St(B.value[se]),v.value.ProxyList[se].RemoteIPHeaders=St(P.value[se]);for(let se in v.value.ProxyList){let le=parseInt(se)+1,L=v.value.ProxyList[se];if(console.log("proxy domains length: "+L.Domains.length),L.Domains.length<=0){ie("error","\u7B2C "+le+" \u6761\u53CD\u5411\u4EE3\u7406\u8F6C\u53D1\u89C4\u5219\u4E2D\u57DF\u540D\u4E0D\u80FD\u4E3A\u7A7A");return}if(L.Locations.length<=0){ie("error","\u7B2C "+le+" \u6761\u53CD\u5411\u4EE3\u7406\u8F6C\u53D1\u89C4\u5219\u4E2D\u540E\u7AEF\u5730\u5740\u4E0D\u80FD\u4E3A\u7A7A");return}}switch(o.value){case"add":sie(v.value).then(se=>{if(se.ret==0){t.value=!1,ie("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0\u6210\u529F"),$e();return}ie("error",se.msg)}).catch(se=>{console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+se),ie("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break;case"alter":cie(v.value).then(se=>{if(se.ret==0){t.value=!1,ie("success","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539\u6210\u529F"),$e();return}ie("error",se.msg)}).catch(se=>{console.log("\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+se),ie("error","\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")});break;default:console.log("\u9519\u8BEF\u7684ruleFormOptionType "+o.value)}},$e=()=>{iie().then(se=>{if(se.ret==0){se.list==null||se.list==null?h.value=[]:h.value=se.list;return}}).catch(se=>{console.log("\u83B7\u53D6\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5217\u8868\u51FA\u9519:"+se),ie("error","\u83B7\u53D6\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u5217\u8868\u51FA\u9519")})},x=(se,le)=>{var L="";if(se.AccessLogs==null||se.AccessLogs==null)return L="\u6682\u65E0\u65E5\u5FD7",L;console.log();for(var S of Object.keys(se.AccessLogs))if(console.log("key:"+S+" proxyKey:"+le),S==le){if(se.AccessLogs[S]==null||se.AccessLogs[S]==null||se.AccessLogs[S].lengh==0)break;for(let V in se.AccessLogs[S]){let O=se.AccessLogs[S][V];V!="0"&&(L+="
"),L+=O.LogTime+"   "+O.LogContent+"
"}}return L==""&&(L="\u6682\u65E0\u65E5\u5FD7"),L},W=z(!1),we=z(!0),Ae=["tcp4","tcp6"],ke=se=>{v.value.Network=se?"tcp":"",F.value=se?["tcp4","tcp6"]:[],we.value=!1},ve=se=>{const le=se.length;W.value=le===Ae.length,we.value=le>0&&le{switch(se.length){case 0:return"";case 1:return se[0]+"";case 2:return"tcp";default:return""}};var Ke;return at(()=>{$e(),Ke=setInterval(()=>{$e()},1500)}),Bo(()=>{clearInterval(Ke)}),(se,le)=>{const L=kn,S=Uu,V=ga,O=Sn,te=Ou,_e=un,pe=Qe("Plus"),Ce=ut,be=ha,re=yn,me=jn,Re=$o,Q=D4,Pe=To,Ge=ju,Xe=qu,he=b2,Ie=y2,K=nte,ue=tte,q=qn,k=ma,Me=Z4;return b(),C(We,null,[f("div",mde,[d(_e,{height:"100%"},{default:p(()=>[(b(!0),C(We,null,pt(h.value,X=>(b(),C("div",gde,[d(te,{column:8,border:""},{default:p(()=>[d(S,{label:"\u89C4\u5219\u540D\u79F0",span:1},{default:p(()=>[ye(d(L,{size:"small"},{default:p(()=>[D(ce(X.RuleName==""?"\u672A\u547D\u540D\u89C4\u5219":X.RuleName),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(S,{label:"\u76D1\u542C\u7C7B\u578B",span:2},{default:p(()=>[ye(d(L,{color:"#0059b3",size:"small"},{default:p(()=>[D(ce(X.Network),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(S,{label:"\u76D1\u542C\u5730\u5740",span:2},{default:p(()=>[ye(d(L,{type:"success",size:"small"},{default:p(()=>[D(ce(X.ListenIP==""?"\u6240\u6709\u5730\u5740":X.ListenIP),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(S,{label:"\u76D1\u542C\u7AEF\u53E3",span:1},{default:p(()=>[ye(d(L,{color:"#409eff",size:"small"},{default:p(()=>[D(ce(X.ListenPort),1)]),_:2},1536),[[Be,!0]]),ye(d(L,{type:X.EnableTLS!=!0?"info":"primary",size:"small"},{default:p(()=>[D(ce(X.EnableTLS==!0?"TLS\u5DF2\u542F\u7528":"TLS\u672A\u542F\u7528"),1)]),_:2},1032,["type"]),[[Be,!0]])]),_:2},1024),d(S,{label:"\u89C4\u5219\u64CD\u4F5C",span:2},{default:p(()=>[d(O,{content:X.Enable==!0?"\u89C4\u5219\u5DF2\u542F\u7528":"\u89C4\u5219\u5DF2\u7981\u7528",placement:"top"},{default:p(()=>[d(V,{modelValue:X.Enable,"onUpdate:modelValue":de=>X.Enable=de,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":ne.bind(this,X.Enable,X),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),D(" \xA0\xA0 "),d(L,{size:"default",type:"primary",onClick:de=>Y("alter",X)},{default:p(()=>[D("\u7F16\u8F91")]),_:2},1032,["onClick"]),d(L,{size:"default",type:"danger",onClick:de=>Ee(X)},{default:p(()=>[D("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024),d(te,{column:8,border:""},{default:p(()=>[d(S,{label:"\u9ED8\u8BA4\u5B50\u89C4\u5219",span:1},{default:p(()=>[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u9ED8\u8BA4\u89C4\u5219"),bde]),default:p(()=>[ye(d(L,{type:"info",size:"small"},{default:p(()=>[D(" \u9ED8\u8BA4\u89C4\u5219 ")]),_:1},512),[[Be,!0]])]),_:1})]),_:1}),d(S,{label:"\u524D\u7AEF\u57DF\u540D",span:1},{default:p(()=>[d(O,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u672A\u5339\u914D\u5B50\u89C4\u5219\u7684\u4EFB\u610F\u57DF\u540D ")]),default:p(()=>[ye(d(L,{color:"#409eff",size:"small"},{default:p(()=>[D(" \u672A\u5339\u914D\u7684\u57DF\u540D ")]),_:1},512),[[Be,!0]])]),_:1})]),_:1}),d(S,{label:"\u540E\u7AEF\u5730\u5740",span:2},{default:p(()=>[d(O,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:_(Ra)(X.DefaultProxy.Locations)},null,8,yde)]),default:p(()=>[ye(d(L,{color:"#409eff",size:"small"},{default:p(()=>[D(ce(X.DefaultProxy.Locations==null||X.DefaultProxy.Locations==null||X.DefaultProxy.Locations.length<=0?"\u672A\u8BBE\u7F6E":X.DefaultProxy.Locations.length==1?X.DefaultProxy.Locations[0]:X.DefaultProxy.Locations[0]+"..."),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]),_:2},1024),d(S,{label:"\u65E5\u5FD7",span:2},{default:p(()=>[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:x(X,"default")},null,8,wde)]),default:p(()=>[ye(d(L,{type:"info",size:"small",onClick:de=>H(X.RuleKey,"default")},{default:p(()=>[D(" \u67E5\u770B ")]),_:2},1032,["onClick"]),[[Be,!0]])]),_:2},1024)]),_:2},1024),d(S,{label:"\u5B89\u5168\u8BBE\u7F6E",span:2},{default:p(()=>[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},jl({default:p(()=>[ye(d(L,{color:"#6666ff",size:"small",disabled:X.DefaultProxy.EnableBasicAuth!=!0},{default:p(()=>[D(ce(X.DefaultProxy.EnableBasicAuth==!1?"Basic\u8BA4\u8BC1\u672A\u542F\u7528":"Basic\u8BA4\u8BC1\u5DF2\u542F\u7528"),1)]),_:2},1032,["disabled"]),[[Be,!0]])]),_:2},[X.DefaultProxy.EnableBasicAuth?{name:"content",fn:p(()=>[D(" \u7528\u6237\u540D:"+ce(X.DefaultProxy.BasicAuthUser),1),Cde,D(" \u5BC6\u7801:"+ce(X.DefaultProxy.BasicAuthPasswd),1),Ede]),key:"0"}:void 0,X.DefaultProxy.EnableBasicAuth?void 0:{name:"content",fn:p(()=>[D(" Basic\u8BA4\u8BC1\u672A\u542F\u7528"),Ade]),key:"1"}]),1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" IP\u8FC7\u6EE4\u6A21\u5F0F"),Fde]),default:p(()=>[ye(d(L,{color:"#6666ff",size:"small"},{default:p(()=>[D(ce(X.DefaultProxy.SafeIPMode=="blacklist"?"IP\u9ED1\u540D\u5355":"IP\u767D\u540D\u5355"),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" UserAgent\u8FC7\u6EE4\u6A21\u5F0F"),xde]),default:p(()=>[ye(d(L,{color:"#6666ff",size:"small"},{default:p(()=>[D(ce(X.DefaultProxy.SafeUserAgentMode=="blacklist"?"UA\u9ED1\u540D\u5355":"UA\u767D\u540D\u5355"),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]),_:2},1024),(b(!0),C(We,null,pt(X.ProxyList,de=>(b(),C("div",null,[d(S,{label:"\u81EA\u5B9A\u4E49\u5B50\u89C4\u5219",span:1},{default:p(()=>[ye(d(L,{size:"small"},{default:p(()=>[D(ce(de.Remark==""?"\u672A\u547D\u540D\u5B50\u89C4\u5219":de.Remark),1)]),_:2},1536),[[Be,!0]]),D(" \xA0 "),d(O,{content:de.Enable==!0?"\u5B50\u89C4\u5219\u5DF2\u542F\u7528":"\u5B50\u89C4\u5219\u5DF2\u7981\u7528",placement:"top"},{default:p(()=>[d(V,{modelValue:de.Enable,"onUpdate:modelValue":Fe=>de.Enable=Fe,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":ee.bind(this,de.Enable,X,de),size:"small"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"])]),_:2},1024),d(S,{label:"\u524D\u7AEF\u57DF\u540D",span:1},{default:p(()=>[d(O,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:_(Ra)(de.Domains)},null,8,$de)]),default:p(()=>[ye(d(L,{color:"#409eff",size:"small"},{default:p(()=>[D(ce(de.Domains.length==1?de.Domains[0]:de.Domains[0]+" ..."),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]),_:2},1024),d(S,{label:"\u540E\u7AEF\u5730\u5740",span:2},{default:p(()=>[d(O,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:_(Ra)(de.Locations)},null,8,Dde)]),default:p(()=>[ye(d(L,{color:"#409eff",size:"small"},{default:p(()=>[D(ce(de.Locations.length==1?de.Locations[0]:de.Locations[0]+" ..."),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]),_:2},1024),d(S,{label:"\u65E5\u5FD7",span:2},{default:p(()=>[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:x(X,de.Key)},null,8,Bde)]),default:p(()=>[ye(d(L,{type:"info",size:"small",onClick:Fe=>H(X.RuleKey,de.Key)},{default:p(()=>[D(" \u67E5\u770B ")]),_:2},1032,["onClick"]),[[Be,!0]])]),_:2},1024)]),_:2},1024),d(S,{label:"\u5B89\u5168\u8BBE\u7F6E",span:2},{default:p(()=>[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},jl({default:p(()=>[ye(d(L,{color:"#6666ff",size:"small",disabled:de.EnableBasicAuth!=!0},{default:p(()=>[D(ce(de.EnableBasicAuth==!1?"Basic\u8BA4\u8BC1\u672A\u542F\u7528":"Basic\u8BA4\u8BC1\u5DF2\u542F\u7528"),1)]),_:2},1032,["disabled"]),[[Be,!0]])]),_:2},[de.EnableBasicAuth?{name:"content",fn:p(()=>[D(" \u7528\u6237\u540D:"+ce(de.BasicAuthUser),1),Sde,D(" \u5BC6\u7801:"+ce(de.BasicAuthPasswd),1),kde]),key:"0"}:void 0,de.EnableBasicAuth?void 0:{name:"content",fn:p(()=>[D(" Basic\u8BA4\u8BC1\u672A\u542F\u7528"),Pde]),key:"1"}]),1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" IP\u8FC7\u6EE4\u6A21\u5F0F"),Lde]),default:p(()=>[ye(d(L,{color:"#6666ff",size:"small"},{default:p(()=>[D(ce(de.SafeIPMode=="blacklist"?"IP\u9ED1\u540D\u5355":"IP\u767D\u540D\u5355"),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" UserAgent\u8FC7\u6EE4\u6A21\u5F0F"),zde]),default:p(()=>[ye(d(L,{color:"#6666ff",size:"small"},{default:p(()=>[D(ce(de.SafeUserAgentMode=="blacklist"?"UA\u9ED1\u540D\u5355":"UA\u767D\u540D\u5355"),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]),_:2},1024)]))),256))]),_:2},1024)]))),256))]),_:1}),d(be,{position:"bottom",offset:30,class:"affix-container"},{default:p(()=>[d(L,{type:"primary",round:!0,onClick:le[0]||(le[0]=X=>Y("add",null))},{default:p(()=>[D("\u6DFB\u52A0\u53CD\u5411\u4EE3\u7406\u89C4\u5219 "),d(Ce,{class:"el-icon--right"},{default:p(()=>[d(pe)]),_:1})]),_:1})]),_:1})]),t.value?(b(),ae(k,{key:0,modelValue:t.value,"onUpdate:modelValue":le[30]||(le[30]=X=>t.value=X),title:o.value=="add"?"\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u6DFB\u52A0":"\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u4FEE\u6539",draggable:"","show-close":!0,"close-on-click-modal":!1,width:"600px"},{footer:p(()=>[f("span",xfe,[d(L,{onClick:le[29]||(le[29]=X=>t.value=!1)},{default:p(()=>[D("\u53D6\u6D88")]),_:1}),d(L,{type:"primary",onClick:xe},{default:p(()=>[D(ce(o.value=="add"?"\u6DFB\u52A0":"\u4FEE\u6539"),1)]),_:1})])]),default:p(()=>[d(q,{model:v.value},{default:p(()=>[d(me,{label:"\u53CD\u5411\u4EE3\u7406\u89C4\u5219\u540D\u79F0","label-width":"auto"},{default:p(()=>[d(re,{modelValue:v.value.RuleName,"onUpdate:modelValue":le[1]||(le[1]=X=>v.value.RuleName=X),placeholder:"\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(me,{label:"\u89C4\u5219\u5F00\u5173","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.Enable,"onUpdate:modelValue":le[2]||(le[2]=X=>v.value.Enable=X),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u505C\u7528"},null,8,["modelValue"])]),_:1}),ye(f("div",null,[f("div",Tde,[d(me,{label:"\u76D1\u542C\u7C7B\u578B","label-width":"auto"},{default:p(()=>[d(Re,{modelValue:W.value,"onUpdate:modelValue":le[3]||(le[3]=X=>W.value=X),indeterminate:we.value,onChange:ke},{default:p(()=>[D("\u5168\u9009 \xA0\xA0\xA0\xA0\xA0\xA0")]),_:1},8,["modelValue","indeterminate"]),Mde,d(Q,{modelValue:F.value,"onUpdate:modelValue":le[4]||(le[4]=X=>F.value=X),onChange:ve},{default:p(()=>[(b(),C(We,null,pt(Ae,X=>d(Re,{key:X,label:X},{default:p(()=>[D(ce(X),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1}),d(me,{label:"\u76D1\u542C\u5730\u5740","label-width":"auto"},{default:p(()=>[d(re,{modelValue:v.value.ListenIP,"onUpdate:modelValue":le[5]||(le[5]=X=>v.value.ListenIP=X),placeholder:"\u6CA1\u7279\u6B8A\u9700\u6C42\u7559\u7A7A\u5373\u53EF",autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(me,{label:"\u76D1\u542C\u7AEF\u53E3","label-width":"auto",min:1,max:65535},{default:p(()=>[d(Pe,{modelValue:v.value.ListenPort,"onUpdate:modelValue":le[6]||(le[6]=X=>v.value.ListenPort=X),autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u542F\u7528\u524D\u8BF7\u5148\u6DFB\u52A0SSL\u8BC1\u4E66"),Vde,D(" \u589E\u52A0\u5220\u9664\u8BC1\u4E66\u540E\u9700\u8981\u91CD\u542F\u89C4\u5219\u65B0\u8BC1\u4E66\u624D\u751F\u6548"),Hde]),default:p(()=>[(b(),ae(me,{key:0,label:"TLS","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.EnableTLS,"onUpdate:modelValue":le[7]||(le[7]=X=>v.value.EnableTLS=X),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}))]),_:1})]),d(ue,{modelValue:l.value,"onUpdate:modelValue":le[28]||(le[28]=X=>l.value=X),accordion:!0},{default:p(()=>[f("div",Ide,[d(K,{title:"\u9ED8\u8BA4\u5B50\u89C4\u5219",name:"default"},{default:p(()=>[f("div",Rde,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u53EF\u7559\u7A7A"),Nde,D(" \u4E0D\u4E3A\u7A7A\u65F6\u8868\u793A\u57DF\u540D\u4E0D\u5339\u914D\u4EFB\u4F55\u5B50\u89C4\u5219\u65F6\u9ED8\u8BA4\u7684\u8DF3\u8F6C\u5730\u5740"),Ode,D(" \u8BBE\u7F6E\u591A\u6761\u540E\u7AEF\u5730\u5740\u65F6\u8868\u793A\u542F\u7528\u5747\u8861\u8D1F\u8F7D,\u4F9D\u6B21\u5FAA\u73AF\u8BBF\u95EE"),Ude,D(" \u65E0\u7279\u6B8A\u9700\u6C42\u7559\u7A7A\u5373\u53EF"),Wde]),default:p(()=>[d(me,{"label-width":"auto",label:"\u9ED8\u8BA4\u76EE\u6807\u5730\u5740"},{default:p(()=>[d(re,{modelValue:w.value,"onUpdate:modelValue":le[8]||(le[8]=X=>w.value=X),placeholder:"\u6CA1\u7279\u6B8A\u9700\u6C42\u7559\u7A7A\u5373\u53EF",autosize:{minRows:1,maxRows:3},type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),d(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.DefaultProxy.EnableAccessLog,"onUpdate:modelValue":le[9]||(le[9]=X=>v.value.DefaultProxy.EnableAccessLog=X),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1}),ye(f("div",null,[d(me,{label:"\u65E5\u5FD7\u8F93\u51FA\u7EA7\u522B","label-width":"auto"},{default:p(()=>[d(Xe,{modelValue:v.value.DefaultProxy.LogLevel,"onUpdate:modelValue":le[10]||(le[10]=X=>v.value.DefaultProxy.LogLevel=X),class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(!0),C(We,null,pt(_(mi),X=>(b(),ae(Ge,{key:X.value,label:X.label,value:X.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),d(me,{label:"\u65E5\u5FD7\u8F93\u51FA\u5230\u7EC8\u7AEF","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.DefaultProxy.LogOutputToConsole,"onUpdate:modelValue":le[11]||(le[11]=X=>v.value.DefaultProxy.LogOutputToConsole=X),"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue"])]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u8303\u56F4(0-102400),0\u8868\u793A\u4E0D\u4FDD\u5B58\u65E5\u5FD7"),qde]),default:p(()=>[d(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570","label-width":"auto",min:0,max:102400},{default:p(()=>[d(Pe,{modelValue:v.value.DefaultProxy.AccessLogMaxNum,"onUpdate:modelValue":le[12]||(le[12]=X=>v.value.DefaultProxy.AccessLogMaxNum=X),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u8303\u56F4(1-256)"),jde]),default:p(()=>[d(me,{label:"\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570","label-width":"auto",min:1,max:256},{default:p(()=>[d(Pe,{modelValue:v.value.DefaultProxy.WebListShowLastLogMaxCount,"onUpdate:modelValue":le[13]||(le[13]=X=>v.value.DefaultProxy.WebListShowLastLogMaxCount=X),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4E0D\u5EFA\u8BAE\u7559\u7A7A\uFF0C\u7559\u7A7A\u7684\u8BDD\u65E5\u5FD7\u4E2D\u4E0D\u663E\u793A\u76F8\u5173\u4FE1\u606F "),Kde,D(" \u683C\u5F0F\u4E2D\u53EF\u7528\u53D8\u91CF"),Gde,D(" #{clientIP} : \u5BA2\u6237\u7AEFIP "),Yde,D(" #{remoteIP} : \u5BA2\u6237\u7AEF\u76F4\u63A5\u8FDE\u63A5\u672C\u670D\u52A1\u7684IP(\u5982\u679C\u524D\u7AEF\u6709\u53CD\u5411\u4EE3\u7406\uFF0C\u4E0D\u4E00\u5B9A\u662F\u5BA2\u6237\u7AEF\u771F\u5B9EIP)"),Xde,D(" #{tab} : \u5236\u8868\u7B26"),Jde,D(" #{method} : \u8BF7\u6C42\u65B9\u6CD5"),Qde,D(" #{host} : \u8BF7\u6C42host"),Zde,D(" #{path} : \u8BF7\u6C42path(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),e1e,D(" #{url} : \u8BF7\u6C42url(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),t1e]),default:p(()=>[oe("",!0)]),_:1})],512),[[Be,v.value.DefaultProxy.EnableAccessLog]]),f("div",n1e,[o1e,d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),l1e]),default:p(()=>[d(me,{label:"\u4F18\u5148\u4ECEHeader\u5934\u90E8\u83B7\u53D6","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.DefaultProxy.ForwardedByClientIP,"onUpdate:modelValue":le[15]||(le[15]=X=>v.value.DefaultProxy.ForwardedByClientIP=X),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),ye(f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5,\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u7F51\u6BB5"),a1e,D(" Lucky\u53EA\u4F1A\u4ECE\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u4E2D\u7684header\u83B7\u53D6\u5BA2\u6237\u7AEFIP"),r1e,D(" 0.0.0.0/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv4\u4EE3\u7406\u5730\u5740"),u1e,D(" ::/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv6\u4EE3\u7406\u5730\u5740"),s1e]),default:p(()=>[d(me,{"label-width":"auto",label:"\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5"},{default:p(()=>[d(re,{modelValue:g.value,"onUpdate:modelValue":le[16]||(le[16]=X=>g.value=X),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5\uFF0C\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u5B57\u6BB5"),i1e,D(" \u5E38\u89C1\u7684\u5B57\u6BB5\u6709\uFF1A"),c1e,D(" X-Forwarded-For "),d1e,D(" X-Real-IP "),f1e]),default:p(()=>[d(me,{"label-width":"auto",label:"\u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5"},{default:p(()=>[d(re,{modelValue:y.value,"onUpdate:modelValue":le[17]||(le[17]=X=>y.value=X),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[Be,v.value.DefaultProxy.ForwardedByClientIP]])]),f("div",p1e,[v1e,d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),h1e]),default:p(()=>[d(me,{label:"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.DefaultProxy.AddRemoteIPToHeader,"onUpdate:modelValue":le[18]||(le[18]=X=>v.value.DefaultProxy.AddRemoteIPToHeader=X),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),ye(f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u5E38\u7528\u7684Key\u6709"),_1e,D(" X-Forwarded-For"),m1e,D(" X-Real-IP"),g1e]),default:p(()=>[d(me,{"label-width":"auto",label:"\u81EA\u5B9A\u4E49Header Key"},{default:p(()=>[d(re,{modelValue:v.value.DefaultProxy.AddRemoteIPHeaderKey,"onUpdate:modelValue":le[19]||(le[19]=X=>v.value.DefaultProxy.AddRemoteIPHeaderKey=X),placeholder:""},null,8,["modelValue"])]),_:1})]),_:1})],512),[[Be,v.value.DefaultProxy.AddRemoteIPToHeader]])]),f("div",b1e,[y1e,d(me,{label:"BasicAuth\u8BA4\u8BC1","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.DefaultProxy.EnableBasicAuth,"onUpdate:modelValue":le[20]||(le[20]=X=>v.value.DefaultProxy.EnableBasicAuth=X),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1}),ye(f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" HTTP BasicAuth \u7528\u6237\u540D"),w1e]),default:p(()=>[d(me,{"label-width":"auto",label:"HTTP BasicAuth \u7528\u6237\u540D"},{default:p(()=>[d(re,{modelValue:v.value.DefaultProxy.BasicAuthUser,"onUpdate:modelValue":le[21]||(le[21]=X=>v.value.DefaultProxy.BasicAuthUser=X),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" HTTP BasicAuth \u5BC6\u7801"),C1e]),default:p(()=>[d(me,{"label-width":"auto",label:"HTTP BasicAuth \u5BC6\u7801"},{default:p(()=>[d(re,{modelValue:v.value.DefaultProxy.BasicAuthPasswd,"onUpdate:modelValue":le[22]||(le[22]=X=>v.value.DefaultProxy.BasicAuthPasswd=X),autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})]),_:1})],512),[[Be,v.value.DefaultProxy.EnableBasicAuth]]),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),E1e]),default:p(()=>[d(me,{"label-width":"auto",label:"IP\u8FC7\u6EE4\u6A21\u5F0F"},{default:p(()=>[d(Ie,{modelValue:v.value.DefaultProxy.SafeIPMode,"onUpdate:modelValue":le[23]||(le[23]=X=>v.value.DefaultProxy.SafeIPMode=X),class:"ml-4"},{default:p(()=>[d(he,{label:"blacklist"},{default:p(()=>[D("\u9ED1\u540D\u5355")]),_:1}),d(he,{label:"whitelist"},{default:p(()=>[D("\u767D\u540D\u5355")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),A1e]),default:p(()=>[d(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u6A21\u5F0F"},{default:p(()=>[d(Ie,{modelValue:v.value.DefaultProxy.SafeUserAgentMode,"onUpdate:modelValue":le[24]||(le[24]=X=>v.value.DefaultProxy.SafeUserAgentMode=X),class:"ml-4"},{default:p(()=>[d(he,{label:"blacklist"},{default:p(()=>[D("\u9ED1\u540D\u5355")]),_:1}),d(he,{label:"whitelist"},{default:p(()=>[D("\u767D\u540D\u5355")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1}),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u81EA\u5B9A\u4E49\u7684UserAgent \u9ED1/\u767D\u540D\u5355\u5185\u5BB9,\u591A\u7EC4Agent\u5206\u591A\u884C\u586B\u5165,\u5B9E\u9645\u7684UserAgent\u90E8\u5206\u5339\u914D\u4EFB\u610F\u4E00\u884C\u5373\u662F\u6210\u529F\u5339\u914D"),F1e,D(" \u9ED1\u540D\u5355\u6A21\u5F0F\u65F6,\u5339\u914D\u6210\u529F\u4EFB\u4E00\u6761\u5373\u62D2\u7EDD\u670D\u52A1"),x1e,D(" \u767D\u540D\u5355\u6A21\u5F0F\u65F6,\u4EC5\u5339\u914D\u6210\u529F\u624D\u7EE7\u7EED\u670D\u52A1"),$1e]),default:p(()=>[d(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u5185\u5BB9"},{default:p(()=>[d(re,{modelValue:A.value,"onUpdate:modelValue":le[25]||(le[25]=X=>A.value=X),autosize:{minRows:3,maxRows:6},placeholder:"",type:"textarea",wrap:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),f("div",D1e,[B1e,d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u53EF\u4EE5\u901A\u8FC7\u81EA\u5B9A\u4E49robots.txt\u9632\u6B62\u722C\u866B\u5BF9\u5185\u5BB9\u7684\u6293\u53D6"),S1e]),default:p(()=>[d(me,{label:"\u81EA\u5B9A\u4E49robot.txt","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.DefaultProxy.CustomRobotTxt,"onUpdate:modelValue":le[26]||(le[26]=X=>v.value.DefaultProxy.CustomRobotTxt=X),"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),ye(f("div",null,[d(me,{"label-width":"auto",label:"robot.txt"},{default:p(()=>[d(re,{modelValue:v.value.DefaultProxy.RobotTxt,"onUpdate:modelValue":le[27]||(le[27]=X=>v.value.DefaultProxy.RobotTxt=X),autosize:{minRows:5,maxRows:9},placeholder:"",type:"textarea"},null,8,["modelValue"])]),_:1})],512),[[Be,v.value.DefaultProxy.CustomRobotTxt]])])])]),_:1})]),f("div",k1e,[P1e,(b(!0),C(We,null,pt(v.value.ProxyList,(X,de)=>(b(),C("div",L1e,[d(K,{title:"\u7B2C"+(de+1)+"\u6761 [ "+v.value.ProxyList[de].Remark+" ]",name:de},{default:p(()=>[f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u5B50\u89C4\u5219\u540D\u79F0,\u53EF\u7559\u7A7A"),z1e]),default:p(()=>[d(me,{label:"\u53CD\u5411\u4EE3\u7406\u5B50\u89C4\u5219\u540D\u79F0","label-width":"auto"},{default:p(()=>[d(re,{modelValue:v.value.ProxyList[de].Remark,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].Remark=Fe,placeholder:"\u53EF\u7559\u7A7A",autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(me,{label:"\u5B50\u89C4\u5219\u5F00\u5173","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.ProxyList[de].Enable,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].Enable=Fe,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),ye(f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4E00\u884C\u4E00\u6761\u57DF\u540D"),T1e,D(" \u8BBE\u7F6E\u591A\u6761\u57DF\u540D\u65F6\u8868\u793A\u591A\u6761\u57DF\u540D\u6307\u5411\u76F8\u540C\u7684\u540E\u7AEF\u5730\u5740"),M1e]),default:p(()=>[d(me,{"label-width":"auto",label:"\u524D\u7AEF\u57DF\u540D"},{default:p(()=>[d(re,{modelValue:E.value[de],"onUpdate:modelValue":Fe=>E.value[de]=Fe,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4E00\u884C\u4E00\u6761\u540E\u7AEF\u5730\u5740"),V1e,D(" \u8BBE\u7F6E\u591A\u6761\u540E\u7AEF\u5730\u5740\u65F6\u8868\u793A\u542F\u7528\u5747\u8861\u8D1F\u8F7D,\u4F9D\u6B21\u5FAA\u73AF\u8BBF\u95EE"),H1e,D(" \u65E0\u7279\u6B8A\u8981\u6C42\u8BBE\u7F6E\u4E00\u6761\u5373\u53EF"),I1e]),default:p(()=>[d(me,{"label-width":"auto",label:"\u540E\u7AEF\u5730\u5740"},{default:p(()=>[d(re,{modelValue:$.value[de],"onUpdate:modelValue":Fe=>$.value[de]=Fe,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.ProxyList[de].EnableAccessLog,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].EnableAccessLog=Fe,"inline-prompt":"",width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u5173\u95ED"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),ye(f("div",null,[d(me,{label:"\u65E5\u5FD7\u8F93\u51FA\u7EA7\u522B","label-width":"auto"},{default:p(()=>[d(Xe,{modelValue:v.value.ProxyList[de].LogLevel,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].LogLevel=Fe,class:"m-2",placeholder:"\u8BF7\u9009\u62E9"},{default:p(()=>[(b(!0),C(We,null,pt(_(mi),Fe=>(b(),ae(Ge,{key:Fe.value,label:Fe.label,value:Fe.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),d(me,{label:"\u5B50\u89C4\u5219\u65E5\u5FD7\u8F93\u51FA\u5230\u7EC8\u7AEF","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.ProxyList[de].LogOutputToConsole,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].LogOutputToConsole=Fe,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u8303\u56F4(0-102400),0\u8868\u793A\u4E0D\u4FDD\u5B58\u65E5\u5FD7"),R1e]),default:p(()=>[d(me,{label:"\u8BBF\u95EE\u65E5\u5FD7\u8BB0\u5F55\u6700\u5927\u6761\u6570","label-width":"auto",min:0,max:102400},{default:p(()=>[d(Pe,{modelValue:v.value.ProxyList[de].AccessLogMaxNum,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].AccessLogMaxNum=Fe,autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u8303\u56F4(1-256)"),N1e]),default:p(()=>[d(me,{label:"\u524D\u7AEF\u5217\u8868\u663E\u793A\u6700\u65B0\u65E5\u5FD7\u6700\u5927\u6761\u6570","label-width":"auto",min:1,max:256},{default:p(()=>[d(Pe,{modelValue:v.value.ProxyList[de].WebListShowLastLogMaxCount,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].WebListShowLastLogMaxCount=Fe,autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4E0D\u5EFA\u8BAE\u7559\u7A7A\uFF0C\u7559\u7A7A\u7684\u8BDD\u65E5\u5FD7\u4E2D\u4E0D\u663E\u793A\u76F8\u5173\u4FE1\u606F "),O1e,D(" \u65E5\u5FD7\u683C\u5F0F\u4E2D\u53EF\u7528\u53D8\u91CF"),U1e,D(" #{clientIP} : \u5BA2\u6237\u7AEFIP "),W1e,D(" #{remoteIP} : \u5BA2\u6237\u7AEF\u76F4\u63A5\u8FDE\u63A5\u672C\u670D\u52A1\u7684IP(\u5982\u679C\u524D\u7AEF\u6709\u53CD\u5411\u4EE3\u7406\uFF0C\u4E0D\u4E00\u5B9A\u662F\u5BA2\u6237\u7AEF\u771F\u5B9EIP)"),q1e,D(" #{tab} : \u5236\u8868\u7B26"),j1e,D(" #{method} : \u8BF7\u6C42\u65B9\u6CD5"),K1e,D(" #{host} : \u8BF7\u6C42host"),G1e,D(" #{path} : \u8BF7\u6C42path(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),Y1e,D(" #{url} : \u8BF7\u6C42url(\u4E0D\u5305\u542Bhost)\u90E8\u5206"),X1e]),default:p(()=>[oe("",!0)]),_:2},1024)],512),[[Be,v.value.ProxyList[de].EnableAccessLog]]),f("div",J1e,[Q1e,d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),Z1e]),default:p(()=>[d(me,{label:"\u4F18\u5148\u4ECEHeader\u5934\u90E8\u83B7\u53D6","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.ProxyList[de].ForwardedByClientIP,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].ForwardedByClientIP=Fe,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),ye(f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5,\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u7F51\u6BB5"),efe,D(" Lucky\u53EA\u4F1A\u4ECE\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u4E2D\u7684header\u83B7\u53D6\u5BA2\u6237\u7AEFIP"),tfe,D(" 0.0.0.0/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv4\u4EE3\u7406\u5730\u5740"),nfe,D(" ::/0 \u8868\u793A\u4FE1\u4EFB\u4EFB\u610FHeader\u5305\u542BIP\u4FE1\u606F\u7684IPv6\u4EE3\u7406\u5730\u5740"),ofe]),default:p(()=>[d(me,{"label-width":"auto",label:"\u4FE1\u4EFB\u7684\u4EE3\u7406IP\u7F51\u6BB5"},{default:p(()=>[d(re,{modelValue:B.value[de],"onUpdate:modelValue":Fe=>B.value[de]=Fe,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5\uFF0C\u6BCF\u884C\u586B\u5199\u4E00\u4E2A\u5B57\u6BB5"),lfe,D(" \u5E38\u89C1\u7684\u5B57\u6BB5\u6709\uFF1A"),afe,D(" X-Forwarded-For "),rfe,D(" X-Real-IP "),ufe]),default:p(()=>[d(me,{"label-width":"auto",label:"\u5305\u542B\u5BA2\u6237\u7AEFIP\u7684\u5934\u90E8\u5B57\u6BB5"},{default:p(()=>[d(re,{modelValue:P.value[de],"onUpdate:modelValue":Fe=>P.value[de]=Fe,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)],512),[[Be,v.value.ProxyList[de].ForwardedByClientIP]])]),f("div",sfe,[ife,d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u65E0\u7279\u6B8A\u9700\u6C42\uFF0C\u4E00\u822C\u60C5\u51B5\u4E0B\u4E0D\u9700\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173"),cfe,D(" \u7528\u4E8E\u540E\u7AEF\u7A0B\u5E8F\u8BC6\u522B\u5BA2\u6237\u7AEF\u771F\u5B9EIP ")]),default:p(()=>[d(me,{label:"\u8FFD\u52A0\u5BA2\u6237\u7AEFIP\u5230\u6307\u5B9AHeader","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.ProxyList[de].AddRemoteIPToHeader,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].AddRemoteIPToHeader=Fe,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),ye(f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u5E38\u7528\u7684Key\u6709"),dfe,D(" X-Forwarded-For"),ffe,D(" X-Real-IP"),pfe]),default:p(()=>[d(me,{"label-width":"auto",label:"\u81EA\u5B9A\u4E49Header Key"},{default:p(()=>[d(re,{modelValue:v.value.ProxyList[de].AddRemoteIPHeaderKey,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].AddRemoteIPHeaderKey=Fe,placeholder:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)],512),[[Be,v.value.ProxyList[de].AddRemoteIPToHeader]])]),f("div",vfe,[hfe,d(me,{label:"BasicAuth\u8BA4\u8BC1","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.ProxyList[de].EnableBasicAuth,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].EnableBasicAuth=Fe,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),ye(f("div",null,[d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" HTTP BasicAuth \u7528\u6237\u540D"),_fe]),default:p(()=>[d(me,{"label-width":"auto",label:"HTTP BasicAuth \u7528\u6237\u540D"},{default:p(()=>[d(re,{modelValue:v.value.ProxyList[de].BasicAuthUser,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].BasicAuthUser=Fe,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" HTTP BasicAuth \u5BC6\u7801"),mfe]),default:p(()=>[d(me,{"label-width":"auto",label:"HTTP BasicAuth \u5BC6\u7801"},{default:p(()=>[d(re,{modelValue:v.value.ProxyList[de].BasicAuthPasswd,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].BasicAuthPasswd=Fe,autosize:{minRows:1,maxRows:3},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)],512),[[Be,v.value.ProxyList[de].EnableBasicAuth]]),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),gfe]),default:p(()=>[d(me,{"label-width":"auto",label:"IP\u8FC7\u6EE4\u6A21\u5F0F"},{default:p(()=>[d(Ie,{modelValue:v.value.ProxyList[de].SafeIPMode,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].SafeIPMode=Fe,class:"ml-4"},{default:p(()=>[d(he,{label:"blacklist"},{default:p(()=>[D("\u9ED1\u540D\u5355")]),_:1}),d(he,{label:"whitelist"},{default:p(()=>[D("\u767D\u540D\u5355")]),_:1})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u6CA1\u7279\u6B8A\u4F7F\u7528\u9ED1\u540D\u5355\u6A21\u5F0F\u5373\u53EF"),bfe]),default:p(()=>[d(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u6A21\u5F0F"},{default:p(()=>[d(Ie,{modelValue:v.value.ProxyList[de].SafeUserAgentMode,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].SafeUserAgentMode=Fe,class:"ml-4"},{default:p(()=>[d(he,{label:"blacklist"},{default:p(()=>[D("\u9ED1\u540D\u5355")]),_:1}),d(he,{label:"whitelist"},{default:p(()=>[D("\u767D\u540D\u5355")]),_:1})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u81EA\u5B9A\u4E49\u7684UserAgent \u9ED1/\u767D\u540D\u5355\u5185\u5BB9,\u591A\u7EC4Agent\u5206\u591A\u884C\u586B\u5165,\u5B9E\u9645\u7684UserAgent\u90E8\u5206\u5339\u914D\u4EFB\u610F\u4E00\u884C\u5373\u662F\u6210\u529F\u5339\u914D"),yfe,D(" \u9ED1\u540D\u5355\u6A21\u5F0F\u65F6,\u5339\u914D\u6210\u529F\u4EFB\u4E00\u6761\u5373\u62D2\u7EDD\u670D\u52A1"),wfe,D(" \u767D\u540D\u5355\u6A21\u5F0F\u65F6,\u4EC5\u5339\u914D\u6210\u529F\u624D\u7EE7\u7EED\u670D\u52A1"),Cfe]),default:p(()=>[d(me,{"label-width":"auto",label:"UserAgent\u8FC7\u6EE4\u5185\u5BB9"},{default:p(()=>[d(re,{modelValue:T.value[de],"onUpdate:modelValue":Fe=>T.value[de]=Fe,autosize:{minRows:3,maxRows:6},placeholder:"",type:"textarea",wrap:"off"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),f("div",Efe,[Afe,d(O,{class:"box-item",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[D(" \u53EF\u4EE5\u901A\u8FC7\u81EA\u5B9A\u4E49robots.txt\u9632\u6B62\u722C\u866B\u5BF9\u5185\u5BB9\u7684\u6293\u53D6"),Ffe]),default:p(()=>[d(me,{label:"\u81EA\u5B9A\u4E49robot.txt","label-width":"auto"},{default:p(()=>[d(V,{modelValue:v.value.ProxyList[de].CustomRobotTxt,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].CustomRobotTxt=Fe,"inline-prompt":"",width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024),ye(f("div",null,[d(me,{"label-width":"auto",label:"robot.txt"},{default:p(()=>[d(re,{modelValue:v.value.ProxyList[de].RobotTxt,"onUpdate:modelValue":Fe=>v.value.ProxyList[de].RobotTxt=Fe,autosize:{minRows:5,maxRows:9},placeholder:"",type:"textarea"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)],512),[[Be,v.value.ProxyList[de].CustomRobotTxt]])])],512),[[Be,v.value.ProxyList[de].Enable]]),d(me,null,{default:p(()=>[d(L,{type:"danger",round:!0,onClick:Fe=>fe(de)},{default:p(()=>[D(" \u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024)])]),_:2},1032,["title","name"])]))),256)),d(L,{type:"primary",round:!0,onClick:ge},{default:p(()=>[D("\u6DFB\u52A0\u53CD\u5411\u4EE3\u7406\u8F6C\u53D1\u5B50\u89C4\u5219 ")]),_:1})])]),_:1},8,["modelValue"])],512),[[Be,v.value.Enable]])]),_:1},8,["model"])]),_:1},8,["modelValue","title"])):oe("",!0),n.value?(b(),ae(k,{key:1,modelValue:n.value,"onUpdate:modelValue":le[31]||(le[31]=X=>n.value=X),"close-on-click-modal":!1,width:"900px"},{default:p(()=>[f("div",null,[d(_e,{"max-height":"95vh",class:"reverseProxyLogs","element-loading-background":"transparent"},{default:p(()=>[D(ce(m.value),1)]),_:1}),d(Me,{"page-size":a.value,"page-sizes":[10,20,50,100,200,300,400,500],small:!1,disabled:!1,background:!1,layout:"total, sizes, prev, pager, next, jumper","current-page":c.value,total:r.value,onSizeChange:Z,onCurrentChange:G,onPrevClick:I,onNextClick:j},null,8,["page-size","current-page","total"])])]),_:1},8,["modelValue"])):oe("",!0)],64)}}});var Dfe=wn($fe,[["__scopeId","data-v-79bf589c"]]);const Bfe={class:"PageRadius",style:{borderRadius:"base"},"element-loading-background":"transparent"},Sfe={class:"formradius",style:{borderRadius:"base"}},kfe=Le({__name:"DDNSSet",setup(e){const t=z(!0),n={Enable:!1,HttpClientSecureVerify:!1,Intervals:0,FirstCheckDelay:0},o=z(n),l=z(n),a=()=>{o.value.Enable=l.value.Enable,o.value.HttpClientSecureVerify=l.value.HttpClientSecureVerify},r=i=>{l.value.Enable=i.value.Enable,l.value.HttpClientSecureVerify=i.value.HttpClientSecureVerify},u=()=>{Rse().then(i=>{if(i.ret==0){t.value=!1,o.value=i.ddnsconfigure,r(o);return}ie("error","\u83B7\u53D6DDNS\u914D\u7F6E\u51FA\u9519")}).catch(i=>{ie("error","\u83B7\u53D6DDNS\u914D\u7F6E\u51FA\u9519")})},s=()=>{Ose(o.value).then(i=>{if(i.ret==0){ie("success","\u914D\u7F6E\u4FEE\u6539\u6210\u529F");return}a(),ie("error",i.msg)}).catch(i=>{console.log("\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+i),ie("error","\u914D\u7F6E\u4FEE\u6539\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519"),a()})};return at(()=>{u()}),(i,c)=>{const m=ga,h=jn,v=Sn,g=To,y=qn,A=kn,w=un,F=Ku;return ye((b(),C("div",Bfe,[d(w,{height:"100%"},{default:p(()=>[f("div",Sfe,[d(y,{model:o.value,class:"SetForm","label-width":"auto"},{default:p(()=>[d(v,{content:"\u5982\u679C\u4E0D\u9700\u8981DDNS\u52A8\u6001\u57DF\u540D\u670D\u52A1\u8BF7\u4E0D\u8981\u6253\u5F00\u8FD9\u4E2A\u5F00\u5173",placement:"top"},{default:p(()=>[d(h,{label:"\u52A8\u6001\u57DF\u540D\u670D\u52A1\u5F00\u5173",id:"adminListen"},{default:p(()=>[d(m,{modelValue:o.value.Enable,"onUpdate:modelValue":c[0]||(c[0]=E=>o.value.Enable=E),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u5F00\u542F","inactive-text":"\u505C\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),d(v,{content:"\u591A\u6570\u5D4C\u5165\u5F0F\u8BBE\u5907\u542F\u7528\u8FD9\u4E2A\u5F00\u5173\u4F1A\u5BFC\u81F4https\u8BBF\u95EE\u5931\u8D25",placement:"top"},{default:p(()=>[d(h,{label:"Http(s) \u5BA2\u6237\u7AEF \u5B89\u5168\u8BC1\u4E66\u9A8C\u8BC1",id:"adminListen"},{default:p(()=>[d(m,{modelValue:o.value.HttpClientSecureVerify,"onUpdate:modelValue":c[1]||(c[1]=E=>o.value.HttpClientSecureVerify=E),class:"mb-1","inline-prompt":"",style:{"--el-switch-on-color":"#13ce66","--el-switch-off-color":"#ff4949"},width:"50px","active-text":"\u542F\u7528","inactive-text":"\u7981\u7528"},null,8,["modelValue"])]),_:1})]),_:1}),d(v,{content:"\u9996\u6B21\u6267\u884C\u4EFB\u52A1\u5EF6\u8FDF\u65F6\u95F4,\u6700\u5C0F0\u79D2,\u6700\u957F3600\u79D2",placement:"top"},{default:p(()=>[d(h,{label:"\u9996\u6B21\u6267\u884C\u4EFB\u52A1\u5EF6\u8FDF(\u79D2)","label-width":"auto",min:"0",max:"3600"},{default:p(()=>[d(g,{modelValue:o.value.FirstCheckDelay,"onUpdate:modelValue":c[2]||(c[2]=E=>o.value.FirstCheckDelay=E),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1}),d(v,{content:"DDNS\u4EFB\u52A1\u6BCF\u6B21\u6267\u884C\u7684\u65F6\u95F4\u95F4\u9694,\u6700\u5C0F30\u79D2,\u6700\u957F3600\u79D2",placement:"top"},{default:p(()=>[d(h,{label:"\u65F6\u95F4\u95F4\u9694(\u79D2)","label-width":"auto",min:30,max:3600},{default:p(()=>[d(g,{modelValue:o.value.Intervals,"onUpdate:modelValue":c[3]||(c[3]=E=>o.value.Intervals=E),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["model"]),d(A,{type:"primary",round:"",onClick:s},{default:p(()=>[D("\u4FDD\u5B58\u4FEE\u6539")]),_:1})])]),_:1})])),[[F,t.value]])}}});var Pfe=wn(kfe,[["__scopeId","data-v-53d1c3c2"]]);const Lfe={class:"PageRadius",style:{borderRadius:"base"}},zfe={class:"itemradius",style:{borderRadius:"base"}},Tfe=["innerHTML"],Mfe={class:"dialog-footer"},Vfe={class:"dialog-footer"},Hfe=Le({__name:"SSL",setup(e){var t=z([{Key:"",Remark:"",Enable:!0,AddTime:"",CertsInfo:[{Domains:[""],NotBeforeTime:"",NotAfterTime:""}]}]);const n=z(!1),o=z({Remark:"",CertBase64:"",KeyBase64:""}),l=z(""),a=z(""),r=()=>{var B="/";return B+"api/getfilebase64"},u=z(!1),s=z(""),i=z(""),c=z(""),m=B=>{u.value=!0,c.value=B.Key,s.value=B.Remark,i.value=B.CertsInfo[0].Domains[0]},h=(B,P,H)=>{if(B.ret!=0){ie("error",B.msg);return}console.log("file:"+B.file),l.value=B.file,o.value.CertBase64=B.base64},v=B=>B.size/1024/1024>1?(m6.error("\u6587\u4EF6\u4E0D\u80FD\u5927\u4E8E1M"),!1):!0,g=(B,P,H)=>{if(B.ret!=0){ie("error",B.msg);return}console.log("file:"+B.file),a.value=B.file,o.value.KeyBase64=B.base64},y=()=>{n.value=!0,o.value.CertBase64="",o.value.KeyBase64="",l.value="\u9009\u62E9\u8981\u4E0A\u4F20\u7684\u8BC1\u4E66\u6587\u4EF6",a.value="\u9009\u62E9\u8981\u4E0A\u4F20\u7684Key\u6587\u4EF6"},A=(B,P)=>{const H=B==!1?"\u542F\u7528":"\u7981\u7528",I=P.Remark!=""?P.Remark:P.CertsInfo[0].Domains[0],j="["+I+"]";return new Promise((Z,G)=>{zt.confirm("\u786E\u8BA4\u8981"+H+" \u8BC1\u4E66 "+j+"?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{Ed(P.Key,"enable",!B).then(N=>{if(N.ret==0){Z(!0),ie("success","\u8BC1\u4E66 "+j+H+"\u6210\u529F");return}Z(!1),ie("error","\u8BC1\u4E66 "+j+H+"\u5931\u8D25: "+N.msg)}).catch(N=>{Z(!1),console.log("\u8BC1\u4E66 "+j+H+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+N),ie("error","\u8BC1\u4E66 "+j+H+"\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})}).catch(()=>{Z(!1)})})},w=()=>{Ed(c.value,"remark",s.value).then(B=>{if(B.ret==0){u.value=!1,ie("success","\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u6210\u529F"),$();return}ie("error","\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u5931\u8D25: "+B.msg)}).catch(B=>{console.log("\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519"+B),ie("error","\u8BC1\u4E66 "+i.value+" \u5907\u6CE8\u4FEE\u6539\u5931\u8D25:\u8BF7\u6C42\u51FA\u9519")})},F=()=>{if(o.value.CertBase64==""){ie("error","\u8BF7\u9009\u62E9\u8981\u4FDD\u5B58\u7684\u8BC1\u4E66\u6587\u4EF6");return}if(o.value.KeyBase64==""){ie("error","\u8BF7\u9009\u62E9\u8981\u4FDD\u5B58\u7684Key\u6587\u4EF6");return}rie(o.value).then(B=>{if(B.ret==0){n.value=!1,ie("success","\u6DFB\u52A0\u8BC1\u4E66\u6210\u529F"),$();return}ie("error",B.msg)}).catch(B=>{console.log("\u6DFB\u52A0SSL\u8BC1\u4E66\u51FA\u9519 "+B),ie("error","\u6DFB\u52A0SSL\u8BC1\u4E66\u51FA\u9519 "+B)})},E=B=>{const P=B.Remark!=""?B.Remark:B.CertsInfo[0].Domains[0];zt.confirm("\u786E\u8BA4\u8981\u5220\u9664 "+P+" \u7684\u8BC1\u4E66?","Warning",{confirmButtonText:"\u786E\u8BA4",cancelButtonText:"\u53D6\u6D88",type:"warning"}).then(()=>{aie(B.Key).then(H=>{if(H.ret==0){ie("success","\u8BC1\u4E66\u5220\u9664\u6210\u529F"),$();return}ie("error",H.msg)}).catch(H=>{console.log("\u8BC1\u4E66\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519:"+H),ie("error","\u8BC1\u4E66\u5220\u9664\u5931\u8D25,\u7F51\u7EDC\u8BF7\u6C42\u51FA\u9519")})})},$=()=>{uie().then(B=>{if(B.ret==0){console.log(B.list),B.list!=null?t.value=B.list:t.value=[];return}ie("error",B.msg)}).catch(B=>{ie("error","\u67E5\u8BE2\u8BC1\u4E66\u5217\u8868\u5217\u8868\u51FA\u9519")})},T=B=>{B.keyCode==13&&(!n.value||F())};return at(()=>{$(),window.addEventListener("keydown",T)}),(B,P)=>{const H=kn,I=Uu,j=ga,Z=Sn,G=Ou,N=un,Y=Qe("Plus"),ge=ut,fe=ha,Ee=yn,ne=jn,ee=v6,xe=qn,$e=ma;return b(),C("div",Lfe,[d(N,{height:"100%"},{default:p(()=>[(b(!0),C(We,null,pt(_(t),x=>(b(),C("div",zfe,[d(G,{column:6,border:""},{default:p(()=>[d(I,{label:"\u8BC1\u4E66\u5907\u6CE8",span:2},{default:p(()=>[ye(d(H,{size:"small"},{default:p(()=>[D(ce(x.Remark==""?"\u672A\u5907\u6CE8":x.Remark),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(I,{label:"\u6DFB\u52A0\u65F6\u95F4",span:2},{default:p(()=>[ye(d(H,{size:"small"},{default:p(()=>[D(ce(x.AddTime),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(I,{label:"\u64CD\u4F5C",span:2},{default:p(()=>[d(Z,{content:x.Enable==!0?"\u8BC1\u4E66\u5DF2\u542F\u7528":"\u8BC1\u4E66\u5DF2\u7981\u7528",placement:"top"},{default:p(()=>[d(j,{modelValue:x.Enable,"onUpdate:modelValue":W=>x.Enable=W,"inline-prompt":"","active-text":"\u5F00","inactive-text":"\u5173","before-change":A.bind(this,x.Enable,x),size:"large"},null,8,["modelValue","onUpdate:modelValue","before-change"])]),_:2},1032,["content"]),D(" \xA0\xA0 "),d(H,{size:"small",type:"primary",onClick:W=>m(x)},{default:p(()=>[D("\u4FEE\u6539\u5907\u6CE8")]),_:2},1032,["onClick"]),d(H,{size:"small",type:"danger",onClick:W=>E(x)},{default:p(()=>[D("\u5220\u9664")]),_:2},1032,["onClick"])]),_:2},1024),(b(!0),C(We,null,pt(x.CertsInfo,W=>(b(),C("div",null,[d(I,{label:"\u7ED1\u5B9A\u57DF\u540D",span:2},{default:p(()=>[d(Z,{placement:"bottom",effect:"dark","trigger-keys":[],content:""},{content:p(()=>[f("span",{innerHTML:_(Ra)(W.Domains)},null,8,Tfe)]),default:p(()=>[ye(d(H,{size:"small",type:"primary"},{default:p(()=>[D(ce(W.Domains.length==1?W.Domains[0]:W.Domains[0]+"..."),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]),_:2},1024),d(I,{label:"\u9881\u53D1\u65F6\u95F4",span:2},{default:p(()=>[ye(d(H,{size:"small",type:"info"},{default:p(()=>[D(ce(W.NotBeforeTime),1)]),_:2},1536),[[Be,!0]])]),_:2},1024),d(I,{label:"\u5230\u671F\u65F6\u95F4",span:2},{default:p(()=>[ye(d(H,{size:"small",type:"warning"},{default:p(()=>[D(ce(W.NotAfterTime),1)]),_:2},1536),[[Be,!0]])]),_:2},1024)]))),256))]),_:2},1024)]))),256))]),_:1}),d(fe,{position:"bottom",offset:30,class:"affix-container"},{default:p(()=>[d(H,{type:"primary",round:!0,onClick:y},{default:p(()=>[D("SSL\u8BC1\u4E66\u6DFB\u52A0 "),d(ge,{class:"el-icon--right"},{default:p(()=>[d(Y)]),_:1})]),_:1})]),_:1}),n.value?(b(),ae($e,{key:0,modelValue:n.value,"onUpdate:modelValue":P[2]||(P[2]=x=>n.value=x),title:"\u6DFB\u52A0SSL\u8BC1\u4E66",draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:p(()=>[f("span",Mfe,[d(H,{onClick:P[1]||(P[1]=x=>n.value=!1)},{default:p(()=>[D("\u53D6\u6D88")]),_:1}),d(H,{type:"primary",onClick:F},{default:p(()=>[D("\u6DFB\u52A0")]),_:1})])]),default:p(()=>[d(xe,{model:o.value},{default:p(()=>[d(ne,{label:"\u5907\u6CE8","label-width":"auto"},{default:p(()=>[d(Ee,{modelValue:o.value.Remark,"onUpdate:modelValue":P[0]||(P[0]=x=>o.value.Remark=x),autocomplete:"off"},null,8,["modelValue"])]),_:1}),d(ne,{label:"\u8BC1\u4E66","label-width":"auto"},{default:p(()=>[d(ee,{class:"inline-block",multiple:!0,action:r(),"before-upload":v,"show-file-list":!1,headers:{Authorization:_(lt)()},"on-success":h},{default:p(()=>[d(H,{round:"",class:"margin-change"},{default:p(()=>[D(ce(l.value),1)]),_:1})]),_:1},8,["action","headers"])]),_:1}),d(ne,{label:"Key","label-width":"auto"},{default:p(()=>[d(ee,{class:"inline-block",multiple:!0,action:r(),"before-upload":v,"show-file-list":!1,headers:{Authorization:_(lt)()},"on-success":g},{default:p(()=>[d(H,{round:"",class:"margin-change"},{default:p(()=>[D(ce(a.value),1)]),_:1})]),_:1},8,["action","headers"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])):oe("",!0),u.value?(b(),ae($e,{key:1,modelValue:u.value,"onUpdate:modelValue":P[5]||(P[5]=x=>u.value=x),title:i.value,draggable:"","show-close":!1,"close-on-click-modal":!1,width:"400px"},{footer:p(()=>[f("span",Vfe,[d(H,{onClick:P[4]||(P[4]=x=>u.value=!1)},{default:p(()=>[D("\u53D6\u6D88")]),_:1}),d(H,{type:"primary",onClick:w},{default:p(()=>[D("\u4FEE\u6539")]),_:1})])]),default:p(()=>[d(ne,{label:"\u5907\u6CE8","label-width":"auto"},{default:p(()=>[d(Ee,{modelValue:s.value,"onUpdate:modelValue":P[3]||(P[3]=x=>s.value=x),autocomplete:"off"},null,8,["modelValue"])]),_:1})]),_:1},8,["modelValue","title"])):oe("",!0)])}}});var Ife=wn(Hfe,[["__scopeId","data-v-29c64958"]]);const Rfe={class:"common-layout"},Nfe=Le({__name:"App",setup(e){const t=Ze("global");return z("0.0.0"),at(()=>{}),(n,o)=>{const l=_te,a=u2e,r=Yie,u=Eie,s=mte,i=hte;return b(),C("div",Rfe,[d(i,null,{default:p(()=>[d(l,{class:"header",id:"header"},{default:p(()=>[d(k2e,{class:"menu"})]),_:1}),d(i,null,{default:p(()=>[d(i,{class:"body"},{default:p(()=>[d(s,{id:"pageContent"},{default:p(()=>[_(t).currentPage.value=="#log"?(b(),ae(A2e,{key:0})):oe("",!0),_(t).currentPage.value=="#status"?(b(),ae(m2e,{key:1})):oe("",!0),_(t).currentPage.value=="#set"?(b(),ae(U2e,{key:2})):oe("",!0),_(t).currentPage.value=="#login"?(b(),ae(K2e,{key:3})):oe("",!0),_(t).currentPage.value=="#whitelistset"?(b(),ae(Q2e,{key:4})):oe("",!0),_(t).currentPage.value=="#whitelists"?(b(),ae(oce,{key:5})):oe("",!0),_(t).currentPage.value=="#blacklists"?(b(),ae(sce,{key:6})):oe("",!0),_(t).currentPage.value=="#ddnstasklist"?(b(),ae(_de,{key:7})):oe("",!0),_(t).currentPage.value=="#ddnsset"?(b(),ae(Pfe,{key:8})):oe("",!0),_(t).currentPage.value=="#reverseproxylist"?(b(),ae(Dfe,{key:9})):oe("",!0),_(t).currentPage.value=="#ssl"?(b(),ae(Ife,{key:10})):oe("",!0),_(t).currentPage.value=="#about"?(b(),ae(a,{key:11})):oe("",!0),_(t).currentPage.value=="#portforward"?(b(),ae(r,{key:12})):oe("",!0),_(t).currentPage.value=="#portforwardset"?(b(),ae(u,{key:13})):oe("",!0)]),_:1})]),_:1})]),_:1})]),_:1})])}}});var Ofe=wn(Nfe,[["__scopeId","data-v-608a44dc"]]);const Zu=H1(Ofe);for(let e in i0)Zu.component(e,i0[e]);Zu.config.globalProperties.$storage=lr;V6(location.hash)||(location.hash="#status");var I6=z(location.hash);Zu.provide("global",{currentPage:I6,storage:lr});window.onpopstate=function(e){if(I6.value=location.hash,Die.value=location.hash,location.hash=="#logout"){Qse().then(t=>{}).catch(t=>{}),lr.setItem("token",""),location.hash="#login";return}if(!V6(location.hash)){console.log("location.hash["+location.hash+"]no exist"),location.hash="#login";return}};Zu.mount("#app")});export default Ufe(); ================================================ FILE: web/adminviews/dist/assets/index.f23c7bd8.css ================================================ @charset "UTF-8";:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","\5fae\8f6f\96c5\9ed1",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px}:root{color-scheme:light;--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, .04),0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light:0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, .08),0px 12px 32px rgba(0, 0, 0, .12),0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0, 0, 0, .8);--el-overlay-color-light:rgba(0, 0, 0, .7);--el-overlay-color-lighter:rgba(0, 0, 0, .5);--el-mask-color:rgba(255, 255, 255, .9);--el-mask-color-extra-light:rgba(255, 255, 255, .3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-container{display:flex;flex-direction:row;flex:1;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical{flex-direction:column}.el-aside{overflow:auto;box-sizing:border-box;flex-shrink:0;width:var(--el-aside-width,300px)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;padding:var(--el-footer-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height)}.el-header{--el-header-padding:0 20px;--el-header-height:60px;padding:var(--el-header-padding);box-sizing:border-box;flex-shrink:0;height:var(--el-header-height)}.el-main{--el-main-padding:20px;display:block;flex:1;flex-basis:auto;overflow:auto;box-sizing:border-box;padding:var(--el-main-padding)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:var(--el-mask-color);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity var(--el-transition-duration)}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/ 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{top:50%;margin-top:calc((0px - var(--el-loading-spinner-size))/ 2);width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@-webkit-keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-rotate{to{transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary)}.el-scrollbar{overflow:hidden;position:relative;height:100%}.el-scrollbar__wrap{overflow:auto;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3)}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255, 255, 255, .5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-color-info);--el-button-active-color:var(--el-text-color-primary)}.el-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;outline:0;transition:.1s;font-weight:var(--el-button-font-weight);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);padding:8px 15px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button:focus,.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:0}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button>span{display:inline-flex;align-items:center}.el-button+.el-button{margin-left:12px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:var(--el-mask-color-extra-light)}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px}.el-button.is-text{color:var(--el-button-text-color);border:0 solid transparent;background-color:transparent}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important}.el-button.is-text:not(.is-disabled):focus,.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:focus,.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{border-color:transparent;color:var(--el-button-text-color);background:0 0;padding:2px;height:auto}.el-button.is-link:focus,.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button.is-link:not(.is-disabled):focus,.el-button.is-link:not(.is-disabled):hover{border-color:transparent;background-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);border-color:transparent;background-color:transparent}.el-button--text{border-color:transparent;background:0 0;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button--text:not(.is-disabled):focus,.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);border-color:transparent;background-color:transparent}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);border-color:transparent;background-color:transparent}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size);padding:12px 19px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size);padding:5px 11px;font-size:12px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.el-form{--el-form-label-font-size:var(--el-font-size-base)}.el-form--label-left .el-form-item__label{justify-content:flex-start}.el-form--label-top .el-form-item{display:block}.el-form--label-top .el-form-item .el-form-item__label{display:block;height:auto;text-align:left;margin-bottom:8px;line-height:22px}.el-form--inline .el-form-item{display:inline-flex;vertical-align:middle;margin-right:32px}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form--large.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:12px;line-height:22px}.el-form--default.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:8px;line-height:22px}.el-form--small.el-form--label-top .el-form-item .el-form-item__label{margin-bottom:4px;line-height:20px}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item__label-wrap{display:flex}.el-form-item__label{display:inline-flex;justify-content:flex-end;align-items:flex-start;flex:0 0 auto;font-size:var(--el-form-label-font-size);color:var(--el-text-color-regular);height:32px;line-height:32px;padding:0 12px 0 0;box-sizing:border-box}.el-form-item__content{display:flex;flex-wrap:wrap;align-items:center;flex:1;line-height:32px;position:relative;font-size:var(--font-size);min-width:0}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;line-height:1;padding-top:2px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{content:"*";color:var(--el-color-danger);margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{content:"*";color:var(--el-color-danger);margin-left:4px}.el-form-item.is-error .el-select-v2__wrapper,.el-form-item.is-error .el-select-v2__wrapper:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:0 0 0 1px transparent inset}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius, 4px)}.el-popper{position:absolute;border-radius:var(--el-popper-border-radius);padding:5px 11px;z-index:2000;font-size:12px;line-height:20px;min-width:10px;word-wrap:break-word;visibility:visible}.el-popper.is-dark{color:var(--el-bg-color);background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark .el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-text-color-primary);right:0}.el-popper.is-light{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light .el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-bg-color-overlay);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{position:absolute;width:10px;height:10px;z-index:-1}.el-popper__arrow:before{position:absolute;width:10px;height:10px;z-index:-1;content:" ";transform:rotate(45deg);background:var(--el-text-color-primary);box-sizing:border-box}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent!important;border-bottom-color:transparent!important}.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-input-number{position:relative;display:inline-block;width:150px;line-height:30px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.el-input-number__decrease,.el-input-number__increase{display:flex;justify-content:center;align-items:center;height:auto;position:absolute;z-index:1;top:1px;bottom:1px;width:32px;background:var(--el-fill-color-light);color:var(--el-text-color-regular);cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input_wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input_wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border)}.el-input-number__decrease{left:1px;border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border)}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{width:40px;font-size:14px}.el-input-number--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:24px;font-size:12px}.el-input-number--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{bottom:auto;left:auto;border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border)}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;top:auto;left:auto;border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary)}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--el-font-size-base)}.el-textarea__inner{position:relative;display:block;resize:vertical;padding:5px 11px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;font-family:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);border:none}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{outline:0;box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);position:absolute;font-size:12px;line-height:14px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{border-color:var(--el-color-danger)}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary)}.el-input{--el-input-height:var(--el-component-size);position:relative;font-size:var(--el-font-size-base);display:inline-flex;width:100%;line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:var(--el-text-color-disabled)}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);font-size:14px;cursor:pointer}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;display:inline-flex;align-items:center;color:var(--el-color-info);font-size:12px}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;display:inline-block;padding-left:8px}.el-input__wrapper{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;padding:1px 11px;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px);width:100%;flex-grow:1;-webkit-appearance:none;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);padding:0;outline:0;border:none;background:0 0;box-sizing:border-box}.el-input__inner:focus{outline:0}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__prefix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__prefix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__suffix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;display:flex;justify-content:center;align-items:center;transition:all var(--el-transition-duration);margin-left:8px}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color,) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{display:inline-flex;width:100%;align-items:stretch}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;border-radius:var(--el-input-border-radius);padding:0 20px;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-input__wrapper,.el-input-group__append div.el-select:hover .el-input__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-input__wrapper,.el-input-group__prepend div.el-select:hover .el-input__wrapper{border-color:transparent;background-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper{box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important;z-index:2}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper:focus{outline:0;z-index:2;box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__wrapper{z-index:1;box-shadow:1px 0 0 0 var(--el-input-hover-border-color) inset,1px 0 0 0 var(--el-input-hover-border-color),0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__wrapper{z-index:2;box-shadow:-1px 0 0 0 var(--el-input-focus-border-color),-1px 0 0 0 var(--el-input-focus-border-color) inset,0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__wrapper{z-index:1;box-shadow:-1px 0 0 0 var(--el-input-hover-border-color),-1px 0 0 0 var(--el-input-hover-border-color) inset,0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.AdminListenDivRadius[data-v-5c315195]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:456;padding-top:9px;padding-left:9px;padding-right:9px}.SetForm[data-v-5c315195]{margin-top:15px;margin-left:20px}.formradius[data-v-5c315195]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}#adminListen[data-v-5c315195]{width:360px}#adminAccount[data-v-5c315195],#adminPassword[data-v-5c315195]{width:30vw;max-width:360px;min-width:300px}#proxyCountLimit[data-v-5c315195],#globalMaxConnections[data-v-5c315195]{width:360px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:3px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-height-extra-small:24px;--el-pagination-line-height-extra-small:var(--el-pagination-height-extra-small);white-space:nowrap;padding:2px 5px;color:var(--el-pagination-text-color);font-weight:400;display:flex;align-items:center}.el-pagination:after,.el-pagination:before{display:table;content:""}.el-pagination:after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-select .el-input{width:128px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button:disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat;background-size:16px;background-color:var(--el-pagination-bg-color);cursor:pointer;margin:0;color:var(--el-pagination-button-color)}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700;width:inherit}.el-pagination .btn-next:focus-visible,.el-pagination .btn-prev:focus-visible{outline:1px solid var(--el-pagination-hover-color);color:var(--el-pagination-hover-color)}.el-pagination .el-pager li.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:var(--el-font-size-extra-small);line-height:var(--el-pagination-line-height-extra-small);height:var(--el-pagination-height-extra-small);min-width:24px}.el-pagination--small .arrow.is-disabled{visibility:hidden}.el-pagination--small .more:before,.el-pagination--small li.more:before{line-height:var(--el-pagination-line-height-extra-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:var(--el-pagination-height-extra-small);line-height:var(--el-pagination-line-height-extra-small);font-size:var(--el-font-size-extra-small)}.el-pagination--small .el-pagination__editor{height:var(--el-pagination-line-height-extra-small)}.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:var(--el-pagination-height-extra-small)}.el-pagination--small .el-input--small,.el-pagination--small .el-input__inner{height:var(--el-pagination-height-extra-small)!important;line-height:var(--el-pagination-line-height-extra-small)}.el-pagination--small .el-input__suffix,.el-pagination--small .el-input__suffix .el-input__suffix-inner,.el-pagination--small .el-input__suffix .el-input__suffix-inner i.el-select__caret{line-height:var(--el-pagination-line-height-extra-small)}.el-pagination--small .el-select .el-input{width:100px}.el-pagination__sizes{margin:0 16px 0 0;font-weight:400;color:var(--el-text-color-regular)}.el-pagination__sizes+button.btn-prev[type=button]{margin-left:0}.el-pagination__sizes+.el-pager .number:first-child{margin-left:0}.el-pagination__sizes+.el-pager .number:last-child{margin-right:0}.el-pagination__total{margin-right:16px;font-weight:400;color:var(--el-text-color-regular)}.el-pagination__total+button.btn-prev[type=button]{margin-left:0}.el-pagination__total+.el-pager .number:first-child{margin-left:0}.el-pagination__total+.el-pager .number:last-child{margin-right:0}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{margin-left:16px;font-weight:400;color:var(--el-text-color-regular)}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__rightwrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.el-pagination__editor{line-height:18px;margin:0 8px;height:var(--el-pagination-button-height);min-width:56px;text-align:center;box-sizing:border-box;border-radius:var(--el-pagination-border-radius)}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:var(--el-pagination-button-height)}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 4px;background-color:var(--el-pagination-button-bg-color);color:var(--el-text-color-regular);min-width:32px;border-radius:2px}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .el-pager li.is-disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-next.is-first,.el-pagination.is-background .btn-prev.is-first,.el-pagination.is-background .el-pager li.is-first{margin-left:0}.el-pagination.is-background .btn-next.is-last,.el-pagination.is-background .btn-prev.is-last,.el-pagination.is-background .el-pager li.is-last{margin-right:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev:disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-next:hover:not([disabled]),.el-pagination.is-background .btn-prev:hover:not([disabled]){color:var(--el-pagination-hover-color)}.el-pagination.is-background .el-pager li:not(.is-disabled):hover{color:var(--el-pagination-hover-color)}.el-pagination.is-background .el-pager li:not(.is-disabled).is-active{background-color:var(--el-color-primary);color:var(--el-color-white);font-weight:700}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{min-width:24px}.el-pagination.is-background .el-pagination__sizes.is-last{margin-left:16px}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0;padding:0;margin:0;display:flex;align-items:center}.el-pager li{padding:0 4px;background:var(--el-pagination-bg-color);display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);box-sizing:border-box;cursor:pointer;text-align:center;margin:0 1px}.el-pager li.btn-quickprev:hover,.el-pager li.btn-quicknext:hover{cursor:pointer}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:32px;color:var(--el-pagination-button-color)}.el-pager li.btn-quicknext.is-disabled,.el-pager li.btn-quickprev.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-pager li.btn-quicknext svg,.el-pager li.btn-quickprev svg{pointer-events:none}.el-pager li.btn-quicknext:focus-visible,.el-pager li.btn-quickprev:focus-visible{outline:1px solid var(--el-pagination-hover-color);color:var(--el-pagination-hover-color)}.el-pager li.is-active+li{border-left:0}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color)}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default}.el-pager li.is-active.is-disabled{font-weight:700;color:var(--el-text-color-secondary)}.el-pager+button.btn-next[type=button]{margin-right:0}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px}.el-tag{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);--el-tag-text-color:var(--el-color-primary);background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);display:inline-flex;justify-content:center;align-items:center;height:24px;padding:0 9px;font-size:var(--el-tag-font-size);line-height:1;border-width:1px;border-style:solid;border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color)}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3);--el-tag-text-color:var(--el-color-white)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain{--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary);--el-tag-bg-color:var(--el-fill-color-blank)}.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{padding:0 11px;height:32px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{padding:0 7px;height:20px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-select-dropdown__item{font-size:var(--el-font-size-base);padding:0 32px 0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--el-text-color-regular);height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.selected{color:var(--el-color-primary);font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:var(--el-border-color-light)}.el-select-group__split-dash{position:absolute;left:20px;right:20px;height:1px;background:var(--el-border-color-light)}.el-select-group__title{padding-left:20px;font-size:12px;color:var(--el-color-info);line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:var(--el-fill-color-light)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.is-disabled:after{background-color:var(--el-text-color-disabled)}.el-select-dropdown .el-select-dropdown__option-item.is-selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown .el-select-dropdown__item.is-disabled:hover{background-color:unset}.el-select-dropdown .el-select-dropdown__item.is-disabled.selected{color:var(--el-text-color-disabled)}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size)}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select .el-select-tags-wrapper.has-prefix{margin-left:6px}.el-select--large{line-height:40px}.el-select--large .el-select-tags-wrapper.has-prefix{margin-left:8px}.el-select--small{line-height:24px}.el-select--small .el-select-tags-wrapper.has-prefix{margin-left:4px}.el-select .el-select__tags>span{display:inline-block}.el-select:hover:not(.el-select--disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-border-color-hover) inset}.el-select .el-select__tags-text{display:inline-block;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select .el-input__wrapper{cursor:pointer}.el-select .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select .el-input__inner{cursor:pointer}.el-select .el-input{display:flex}.el-select .el-input .el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:transform var(--el-transition-duration);transform:rotate(0);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{transform:rotate(-180deg)}.el-select .el-input .el-select__caret.is-show-close{font-size:var(--el-select-font-size);text-align:center;transform:rotate(0);border-radius:var(--el-border-radius-circle);color:var(--el-select-input-color);transition:var(--el-transition-color)}.el-select .el-input .el-select__caret.is-show-close:hover{color:var(--el-select-close-hover-color)}.el-select .el-input .el-select__caret.el-icon{position:relative;height:inherit;z-index:2}.el-select .el-input.is-disabled .el-input__wrapper{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select .el-input.is-disabled .el-input__inner,.el-select .el-input.is-disabled .el-select__caret{cursor:not-allowed}.el-select .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:var(--el-select-multiple-input-color);font-size:var(--el-select-font-size);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-small{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:var(--el-index-top);right:25px;color:var(--el-select-input-color);line-height:18px;font-size:var(--el-select-input-font-size)}.el-select__close:hover{color:var(--el-select-close-hover-color)}.el-select__tags{position:absolute;line-height:normal;top:50%;transform:translateY(-50%);white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap}.el-select__collapse-tags{white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap}.el-select__collapse-tag{line-height:inherit;height:inherit;display:flex}.el-select .el-select__tags .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.el-select .el-select__tags .el-tag:last-child{margin-right:0}.el-select .el-select__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);right:-7px;top:0;color:#fff}.el-select .el-select__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-select .el-select__tags .el-tag .el-icon-close:before{display:block;transform:translateY(.5px)}.el-select .el-select__tags .el-tag--info{background-color:var(--el-fill-color)}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:20px;--el-dialog-border-radius:var(--el-border-radius-small);position:relative;margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:0!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-dialog__header{padding:var(--el-dialog-padding-primary);padding-bottom:10px;margin-right:16px;word-break:break-all}.el-dialog__headerbtn{position:absolute;top:6px;right:0;padding:0;width:54px;height:54px;background:0 0;border:none;outline:0;cursor:pointer;font-size:var(--el-message-close-size,16px)}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{padding:calc(var(--el-dialog-padding-primary) + 10px) var(--el-dialog-padding-primary);color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size);word-break:break-all}.el-dialog__footer{padding:var(--el-dialog-padding-primary);padding-top:10px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px calc(var(--el-dialog-padding-primary) + 5px) 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.dialog-fade-enter-active{-webkit-animation:modal-fade-in var(--el-transition-duration);animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{-webkit-animation:dialog-fade-in var(--el-transition-duration);animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{-webkit-animation:modal-fade-out var(--el-transition-duration);animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{-webkit-animation:dialog-fade-out var(--el-transition-duration);animation:dialog-fade-out var(--el-transition-duration)}@-webkit-keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@-webkit-keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:100%;background-color:var(--el-overlay-color-lighter);overflow:auto}.el-overlay .el-overlay-root{height:0}.el-radio-group{display:inline-flex;align-items:center;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary)}.el-radio{color:var(--el-radio-text-color);font-weight:var(--el-radio-font-weight);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;outline:0;font-size:var(--el-font-size-base);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:32px;height:32px}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:var(--el-border-color-lighter)}.el-radio.is-bordered.el-radio--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{padding:0 11px 0 7px;border-radius:var(--el-border-radius-base)}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner:after{cursor:not-allowed;background-color:var(--el-disabled-bg-color)}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:var(--el-color-primary);background:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);width:var(--el-radio-input-width);height:var(--el-radio-input-height);background-color:var(--el-radio-input-bg-color);position:relative;cursor:pointer;display:inline-block;box-sizing:border-box}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{width:4px;height:4px;border-radius:var(--el-radio-input-border-radius);background-color:var(--el-color-white);content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio__original:focus-visible+.el-radio__inner{outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px;border-radius:var(--el-radio-input-border-radius)}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{width:14px;height:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{width:12px;height:12px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary)}.el-checkbox{color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px;height:32px}.el-checkbox.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:0 11px 0 7px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color)}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:var(--el-checkbox-checked-icon-color);height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid var(--el-checkbox-checked-icon-color);border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in 50ms;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:8px;line-height:1;font-size:var(--el-checkbox-font-size)}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}.el-affix--fixed{position:fixed}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;font-size:var(--el-font-size-base);color:var(--el-text-color-primary)}.el-descriptions__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:700}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;text-align:left;font-weight:400;line-height:23px;font-size:14px}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{font-weight:700;color:var(--el-text-color-regular);background:var(--el-descriptions-item-bordered-label-background)}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color)}.el-switch{display:inline-flex;align-items:center;position:relative;font-size:14px;line-height:20px;height:32px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:var(--el-text-color-primary)}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{margin:0;display:inline-block;position:relative;width:40px;height:20px;border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));outline:0;border-radius:10px;box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration);vertical-align:middle}.el-switch__core .el-switch__inner{position:absolute;top:1px;left:1px;transition:all var(--el-transition-duration);width:16px;height:16px;display:flex;justify-content:center;align-items:center;left:50%;white-space:nowrap}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);transition:opacity var(--el-transition-duration);position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-switch__core .el-switch__action{position:absolute;top:1px;left:1px;border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);width:16px;height:16px;background-color:var(--el-color-white);display:flex;justify-content:center;align-items:center;color:var(--el-switch-off-color)}.el-switch__core .el-switch__action .is-icon,.el-switch__core .el-switch__action .is-text{transition:opacity var(--el-transition-duration);position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-switch__core .is-text{font-size:12px}.el-switch__core .is-show{opacity:1}.el-switch__core .is-hide{opacity:0}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{left:100%;margin-left:-17px;color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__inner{left:50%;white-space:nowrap;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;line-height:24px;height:40px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{width:50px;height:24px;border-radius:12px}.el-switch--large .el-switch__core .el-switch__inner,.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action,.el-switch--large.is-checked .el-switch__core .el-switch__inner{margin-left:-21px}.el-switch--small{font-size:12px;line-height:16px;height:24px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{width:30px;height:16px;border-radius:8px}.el-switch--small .el-switch__core .el-switch__inner,.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action,.el-switch--small.is-checked .el-switch__core .el-switch__inner{margin-left:-13px}.itemradius[data-v-44f77ba6]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 25px;min-width:1200px}.portforwardLogs[data-v-44f77ba6]{background-color:#000;height:fit-content;width:100%;color:#fff;text-align:left;padding-left:3px;border:10px;overflow-y:auto;overflow-x:auto;white-space:pre-wrap}.dialogRadius[data-v-44f77ba6]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:456;padding-top:9px;padding-left:9px;padding-right:9px}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder)}.el-link{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;cursor:pointer;padding:0;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);color:var(--el-link-text-color)}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link.is-underline:hover:after{content:"";position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid var(--el-link-hover-text-color)}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default:after{border-color:var(--el-link-hover-text-color)}.el-link__inner{display:inline-flex;justify-content:center;align-items:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--primary:after{border-color:var(--el-link-text-color)}.el-link.el-link--primary.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--success:after{border-color:var(--el-link-text-color)}.el-link.el-link--success.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--warning:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--danger:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--error:after{border-color:var(--el-link-text-color)}.el-link.el-link--error.is-underline:hover:after{border-color:var(--el-link-text-color)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.el-link--info:after{border-color:var(--el-link-text-color)}.el-link.el-link--info.is-underline:hover:after{border-color:var(--el-link-text-color)}.InfoDivRadius[data-v-ff97a846]{border:2px solid var(--el-border-color);border-radius:10px;margin:50px auto auto;width:495px;height:fit-content;padding:auto;padding-top:20px;padding-bottom:30px}.line[data-v-ff97a846]{margin-bottom:5px}#status{height:95vh}.status{font-size:15px}#proxys_status{font-size:10px;list-style:none;padding:0;text-align:left;margin:0}.logtermv2{background-color:#000;height:95vh;width:100%;color:#fff;text-align:left;padding-left:3px;border:10px;overflow-y:auto;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word}.logterm::-webkit-scrollbar{width:5px}.logterm::-webkit-scrollbar-thumb{background-color:silver;border-radius:10%}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{border-right:solid 1px var(--el-menu-border-color);list-style:none;position:relative;margin:0;padding-left:0;background-color:var(--el-menu-bg-color);box-sizing:border-box}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{white-space:nowrap;padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level) * var(--el-menu-level-padding))}.el-menu--horizontal{display:flex;flex-wrap:nowrap;border-bottom:solid 1px var(--el-menu-border-color);border-right:none}.el-menu--horizontal>.el-menu-item{display:inline-flex;justify-content:center;align-items:center;height:100%;margin:0;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover{background-color:#fff}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:0}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{height:100%;border-bottom:2px solid transparent;color:var(--el-menu-text-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-bg-color-overlay)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{background-color:var(--el-menu-bg-color);display:flex;align-items:center;height:var(--el-menu-horizontal-sub-item-height);padding:0 10px;color:var(--el-menu-text-color)}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:var(--el-menu-hover-text-color);background-color:var(--el-menu-hover-bg-color)}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding) * 2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;vertical-align:middle;width:var(--el-menu-icon-width);text-align:center}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu{position:relative}.el-menu--collapse .el-sub-menu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light)}.el-menu .el-icon{flex-shrink:0}.el-menu-item{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:0}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon]{margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{position:absolute;left:0;top:0;height:100%;width:100%;display:inline-flex;align-items:center;box-sizing:border-box;padding:0 var(--el-menu-base-level-padding)}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{display:flex;align-items:center;height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);font-size:var(--el-menu-item-font-size);color:var(--el-menu-text-color);padding:0 var(--el-menu-base-level-padding);list-style:none;cursor:pointer;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);box-sizing:border-box;white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:0}.el-sub-menu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height);min-width:200px}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-sub-menu .el-icon{vertical-align:middle;margin-right:5px;width:var(--el-menu-icon-width);text-align:center;font-size:18px}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{position:absolute;top:50%;right:var(--el-menu-base-level-padding);margin-top:-7px;transition:transform var(--el-transition-duration);font-size:12px;margin-right:0;width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px var(--el-menu-base-level-padding);line-height:normal;font-size:12px;color:var(--el-text-color-secondary)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{transition:var(--el-transition-duration-fast);opacity:0}.el-divider{position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0;border-top:1px var(--el-border-color) var(--el-border-style)}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative;border-left:1px var(--el-border-color) var(--el-border-style)}.el-divider__text{position:absolute;background-color:var(--el-bg-color);padding:0 20px;font-weight:500;color:var(--el-text-color-primary);font-size:14px}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translate(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.menu{background-color:#d9ecff}.flex-grow{flex-grow:1}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px}.el-upload{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:var(--el-text-color-regular);margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0}.el-upload--picture-card{--el-upload-picture-card-size:148px;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;display:inline-flex;justify-content:center;align-items:center}.el-upload--picture-card i{font-size:28px;color:var(--el-text-color-secondary)}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{font-size:67px;color:var(--el-text-color-placeholder);margin-bottom:16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:var(--el-text-color-regular);margin-bottom:5px;position:relative;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{display:none;position:absolute;right:5px;top:50%;cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{display:none;position:absolute;top:1px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:var(--el-color-primary);font-style:normal}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;justify-content:center;flex-direction:column;width:calc(100% - 30px);margin-left:4px}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list.is-disabled .el-upload-list__item-status-label,.el-upload-list.is-disabled .el-upload-list__item:hover{display:block}.el-upload-list__item-name{color:var(--el-text-color-regular);display:inline-flex;text-align:center;align-items:center;padding:0 4px;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base)}.el-upload-list__item-name .el-icon{margin-right:6px;color:var(--el-text-color-secondary)}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none;height:100%;justify-content:center;align-items:center;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:var(--el-text-color-regular);display:none}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;padding:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.el-upload-list--picture-card .el-upload-list__item-status-label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;display:inline-flex;justify-content:center;align-items:center;color:#fff;opacity:0;font-size:20px;background-color:var(--el-overlay-color-lighter);transition:opacity var(--el-transition-duration)}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:1rem}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;margin-top:10px;padding:10px;display:flex;align-items:center}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{display:inline-flex;justify-content:center;align-items:center;width:70px;height:70px;-o-object-fit:contain;object-fit:contain;position:relative;z-index:1;background-color:var(--el-color-white)}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-cover__label i{font-size:12px;margin-top:11px;transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:var(--el-overlay-color-light);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:var(--el-text-color-primary)}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1;display:flex;align-items:center}.el-progress__text{font-size:14px;color:var(--el-text-color-regular);margin-left:5px;min-width:50px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{flex-grow:1;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:var(--el-border-color-lighter);overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:var(--el-color-primary);text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{transform:translateZ(0);-webkit-animation:indeterminate 3s infinite;animation:indeterminate 3s infinite}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@-webkit-keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}.AdminListenDivRadius[data-v-3da206be]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:456;padding-top:9px;padding-left:9px;padding-right:9px}.SetForm[data-v-3da206be]{margin-top:15px;margin-left:20px}.formradius[data-v-3da206be]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}#adminListen[data-v-3da206be]{width:360px}#adminAccount[data-v-3da206be],#adminPassword[data-v-3da206be]{width:30vw;max-width:360px;min-width:300px}#proxyCountLimit[data-v-3da206be],#globalMaxConnections[data-v-3da206be]{width:360px}.inline-block[data-v-3da206be]{display:inline-block;margin-right:10px}.margin-change[data-v-3da206be]{display:inline-block;margin-left:10px}.formradius[data-v-ee7bc046],.formradius[data-v-52b01d33]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-fill-color-blank);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0, 0, 0, .15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0, 0, 0, .15)}.el-table{position:relative;overflow:hidden;box-sizing:border-box;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:100%;max-width:100%;background-color:var(--el-table-bg-color);font-size:14px;color:var(--el-table-text-color)}.el-table__inner-wrapper{position:relative;display:flex;flex-direction:column;height:100%}.el-table__inner-wrapper:before{left:0;bottom:0;width:100%;height:1px;z-index:3}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{position:-webkit-sticky;position:sticky;left:0;min-height:60px;text-align:center;width:100%;display:flex;justify-content:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:var(--el-text-color-secondary)}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-table__expand-icon{position:relative;cursor:pointer;color:var(--el-text-color-regular);font-size:12px;transition:transform var(--el-transition-duration-fast) ease-in-out;height:20px}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table thead{color:var(--el-table-header-text-color);font-weight:500}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{padding:8px 0;min-width:0;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left;z-index:1}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding:0 12px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table__footer-wrapper{border-top:var(--el-table-border)}.el-table--border .el-table__footer-wrapper tr:first-child td:first-child,.el-table--border .el-table__footer-wrapper tr:first-child th:first-child,.el-table--border .el-table__inner-wrapper tr:first-child td:first-child,.el-table--border .el-table__inner-wrapper tr:first-child th:first-child,.el-table--group .el-table__footer-wrapper tr:first-child td:first-child,.el-table--group .el-table__footer-wrapper tr:first-child th:first-child,.el-table--group .el-table__inner-wrapper tr:first-child td:first-child,.el-table--group .el-table__inner-wrapper tr:first-child th:first-child{border-left:var(--el-table-border)}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{content:"";position:absolute;background-color:var(--el-table-border-color);z-index:3}.el-table--border .el-table__inner-wrapper:after{left:0;top:0;width:100%;height:1px;z-index:3}.el-table--border:before{top:-1px;left:0;width:1px;height:100%;z-index:3}.el-table--border:after{top:-1px;right:0;width:1px;height:100%;z-index:3}.el-table--border .el-table__inner-wrapper{border-right:none;border-bottom:none}.el-table--border .el-table__footer-wrapper{position:relative;flex-shrink:0}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:var(--el-bg-color)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{content:"";position:absolute;top:0;width:10px;bottom:-1px;overflow-x:hidden;overflow-y:hidden;box-shadow:none;touch-action:none;pointer-events:none}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{right:-10px;box-shadow:none}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{position:-webkit-sticky!important;position:sticky!important;z-index:2;background:#fff;right:0}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{display:inline-flex;align-items:center;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{overflow:hidden;position:relative;flex:1}.el-table__body-wrapper .el-scrollbar__bar{z-index:2}.el-table .caret-wrapper{display:inline-flex;flex-direction:column;align-items:center;height:14px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:solid 5px transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:var(--el-table-border);z-index:10}.el-table__column-filter-trigger{display:inline-block;cursor:pointer}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{top:0;left:0;width:1px;height:100%;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table__border-bottom-patch{left:0;height:1px;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table__border-right-patch{top:0;height:100%;width:1px;z-index:3;position:absolute;background-color:var(--el-table-border-color)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:12px;line-height:12px;height:12px;text-align:center;margin-right:8px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table:not(.el-table--border) .el-table__footer-wrapper tr:first-child td:first-child,.el-table:not(.el-table--border) .el-table__footer-wrapper tr:first-child th:first-child,.el-table:not(.el-table--border) .el-table__inner-wrapper tr:first-child td:first-child,.el-table:not(.el-table--border) .el-table__inner-wrapper tr:first-child th:first-child{border-left:none}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:solid 1px var(--el-border-color-lighter);border-radius:2px;background-color:#fff;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:var(--el-font-size-base)}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#fff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:flex;align-items:center;margin-right:5px;margin-bottom:12px;margin-left:5px;height:unset}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.formradius[data-v-d9c87ebe],.formradius[data-v-4c99c1a8]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.itemradius[data-v-0efebb96]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 25px;min-width:1200px}.fromitemDivRadius[data-v-0efebb96]{border:5px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:530px;padding-left:9px;padding-right:9px}.fromitemChildDivRadius[data-v-0efebb96]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:495px;padding-top:9px;padding-left:9px;padding-right:9px}.affix-container[data-v-0efebb96]{text-align:center;border-radius:4px;width:3vw;background:var(--el-color-primary-light-9)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-top:1px solid var(--el-collapse-border-color);border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{display:flex;align-items:center;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);background-color:var(--el-collapse-header-bg-color);color:var(--el-collapse-header-text-color);cursor:pointer;border-bottom:1px solid var(--el-collapse-border-color);font-size:var(--el-collapse-header-font-size);font-weight:500;transition:border-bottom-color var(--el-transition-duration);outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;transition:transform var(--el-transition-duration);font-weight:300}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:var(--el-collapse-content-bg-color);overflow:hidden;box-sizing:border-box;border-bottom:1px solid var(--el-collapse-border-color)}.el-collapse-item__content{padding-bottom:25px;font-size:var(--el-collapse-content-font-size);color:var(--el-collapse-content-text-color);line-height:1.7692307692}.el-collapse-item:last-child{margin-bottom:-1px}.ReverseProxyPageRadius[data-v-79bf589c]{height:90vh;width:100%;max-width:1600px;border:1px solid var(--el-border-color);border-radius:0;margin:20px}.affix-container[data-v-79bf589c]{text-align:center;border-radius:4px;width:3vw;background:var(--el-color-primary-light-9)}.fromitemDivRadius[data-v-79bf589c]{border:5px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:530px;padding-left:9px;padding-right:9px}.fromitemChildDivRadius[data-v-79bf589c]{border:4px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:495px;padding-top:9px;padding-left:9px;padding-right:9px}.fromitemChildSafeDivRadius[data-v-79bf589c]{border:2px solid var(--el-border-color);border-radius:10px;margin:15px 3px;width:465px;padding-top:9px;padding-left:9px;padding-right:9px}.formradius[data-v-79bf589c]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.itemradius[data-v-79bf589c]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 25px;min-width:1350px}.reverseProxyLogs[data-v-79bf589c]{background-color:#000;height:fit-content;width:100%;color:#fff;text-align:left;padding-left:3px;border:10px;overflow-y:auto;overflow-x:auto;white-space:pre-wrap}.SetForm[data-v-53d1c3c2]{margin-top:15px;margin-left:20px}.formradius[data-v-53d1c3c2]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}#adminListen[data-v-53d1c3c2]{width:360px}#adminAccount[data-v-53d1c3c2],#adminPassword[data-v-53d1c3c2]{width:30vw;max-width:360px;min-width:300px}#proxyCountLimit[data-v-53d1c3c2],#globalMaxConnections[data-v-53d1c3c2]{width:360px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;position:relative;vertical-align:middle;display:inline-block}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;justify-content:center;align-items:center;font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color)}.el-badge__content.is-fixed{position:absolute;top:0;right:calc(1px + var(--el-badge-size)/ 2);transform:translateY(-50%) translate(100%)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:15px 19px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary)}.el-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);position:fixed;left:50%;top:20px;transform:translate(-50%);background-color:var(--el-message-bg-color);transition:opacity var(--el-transition-duration),transform .4s,top .4s;padding:var(--el-message-padding);display:flex;align-items:center}.el-message.is-center{justify-content:center}.el-message.is-closable .el-message__content{padding-right:31px}.el-message p{margin:0}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message__icon{margin-right:10px}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{position:absolute;top:50%;right:19px;transform:translateY(-50%);cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)}.formradius[data-v-29c64958]{border:0px solid var(--el-border-color);border-radius:0;margin:0 auto;width:fit-content;padding:15px}.itemradius[data-v-29c64958]{border:1px solid var(--el-border-color);border-radius:0;margin:3px 3px 25px;min-width:1350px}.affix-container[data-v-29c64958]{text-align:center;border-radius:4px;width:3vw;background:var(--el-color-primary-light-9)}#pageContent[data-v-608a44dc]{margin:0;height:95vh;overflow:hidden;padding-left:1px;padding-right:0;width:100%}body[data-v-608a44dc]{margin:0;width:100%}#header[data-v-608a44dc]{background-color:#0d8bbb;height:fit-content;width:100%;padding:0}.title[data-v-608a44dc]{float:left;text-align:left;margin-left:10%;font-size:25px}.menu[data-v-608a44dc]{float:left;height:30px;width:100vw}.version[data-v-608a44dc]{float:right}.title[data-v-608a44dc],.version[data-v-608a44dc]{width:100%;color:#f0f8ff;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,\5fae\8f6f\96c5\9ed1,Arial,sans-serif}.common-layout .el-header,.common-layout .el-footer,.common-layout .el-main,.common-layout .el-aside{display:flex;justify-content:center;align-items:center}.common-layout .el-header,.common-layout .el-footer{background-color:var(--el-color-primary-light-7);color:var(--el-text-color-primary);text-align:center}.common-layout .el-aside{background-color:var(--el-color-primary-light-8);color:var(--el-text-color-primary);text-align:center}.common-layout .el-main{background-color:var(--el-color-primary-light-9);color:var(--el-text-color-primary);text-align:center;height:150px}.PageRadius{height:90vh;width:100%;max-width:1300px;border:1px solid var(--el-border-color);border-radius:0;margin:20px}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size, 16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular)}.el-notification{display:flex;width:var(--el-notification-width);padding:var(--el-notification-padding);border-radius:var(--el-notification-radius);box-sizing:border-box;border:1px solid var(--el-notification-border-color);position:fixed;background-color:var(--el-bg-color-overlay);box-shadow:var(--el-notification-shadow);transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);overflow-wrap:anywhere;overflow:hidden;z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right)}.el-notification__title{font-weight:700;font-size:var(--el-notification-title-font-size);line-height:var(--el-notification-icon-size);color:var(--el-notification-title-color);margin:0}.el-notification__content{font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0;color:var(--el-notification-content-color);text-align:justify}.el-notification__content p{margin:0}.el-notification .el-notification__icon{height:var(--el-notification-icon-size);width:var(--el-notification-icon-size);font-size:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:var(--el-notification-close-color);font-size:var(--el-notification-close-font-size)}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translate(100%)}.el-notification-fade-enter-from.left{left:0;transform:translate(-100%)}.el-notification-fade-leave-to{opacity:0}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{-webkit-animation:v-modal-in var(--el-transition-duration-fast) ease;animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{-webkit-animation:v-modal-out var(--el-transition-duration-fast) ease forwards;animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:15px}.el-message-box{display:inline-block;max-width:var(--el-messagebox-width);width:100%;padding-bottom:10px;vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);border:1px solid var(--el-border-color-lighter);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-box-shadow-light);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box:focus{outline:0!important}.el-overlay.is-message-box .el-overlay-message-box{text-align:center;position:fixed;top:0;right:0;bottom:0;left:0;padding:16px;overflow:auto}.el-overlay.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-message-box__header{position:relative;padding:var(--el-messagebox-padding-primary);padding-bottom:10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:var(--el-messagebox-font-size);line-height:1;color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{position:absolute;top:var(--el-messagebox-padding-primary);right:var(--el-messagebox-padding-primary);padding:0;border:none;outline:0;background:0 0;font-size:var(--el-message-close-size,16px);cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{padding:10px var(--el-messagebox-padding-primary);color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__input div.invalid>input{border-color:var(--el-color-error)}.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{position:absolute;top:50%;transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status.el-icon{position:absolute}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px;word-break:break-word}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{flex-direction:row-reverse}.el-message-box--center .el-message-box__title{position:relative;display:flex;align-items:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns{justify-content:center}.el-message-box--center .el-message-box__content{padding-left:calc(var(--el-messagebox-padding-primary) + 12px);padding-right:calc(var(--el-messagebox-padding-primary) + 12px);text-align:center}.fade-in-linear-enter-active .el-overlay-message-box{-webkit-animation:msgbox-fade-in var(--el-transition-duration);animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@-webkit-keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}} ================================================ FILE: web/adminviews/dist/index.html ================================================ Lucky
================================================ FILE: web/adminviews/index.html ================================================ Lucky
================================================ FILE: web/adminviews/package.json ================================================ { "name": "lucky-adminviews", "version": "0.1.0", "scripts": { "dev": "vite", "build": "vite build", "preview": "vite preview --port 4173" }, "dependencies": { "@element-plus/icons-vue": "^2.0.4", "axios": "^0.27.2", "element-plus": "^2.2.2", "file-saver": "^2.0.5", "vue": "^3.2.36", "vue-clipboard3": "^2.0.0" }, "devDependencies": { "@vitejs/plugin-vue": "^2.3.3", "@vue/cli-plugin-typescript": "~5.0.0", "babel-plugin-import": "^1.13.5", "sass": "^1.52.1", "unplugin-auto-import": "^0.8.6", "unplugin-vue-components": "^0.19.6", "vite": "^2.9.9" } } ================================================ FILE: web/adminviews/src/App.vue ================================================ ================================================ FILE: web/adminviews/src/apis/storage.js ================================================ /** * 使用方式 * * * main.js挂载全局 * import storage from './utils/storage'; const app = createApp(App); app.config.globalProperties.$storage = storage; * * * vue3.0 全局使用 vue实例上的数据 * import { defineComponent, reactive, getCurrentInstance } from "vue"; * let { appContext } = getCurrentInstance(); appContext.config.globalProperties.$storage.setItem("username","aaa"); appContext.config.globalProperties.$storage.setItem("age",20); appContext.config.globalProperties.$storage.clearItem("age"); appContext.config.globalProperties.$storage.clearAll(); */ export default { getStorage () { // 先获取该项目的 命名存储空间 下的storage数据 maneger return JSON.parse(window.localStorage.getItem("lucky") || "{}"); }, setItem (key, val) { let storage = this.getStorage() // console.log("setItem", storage); storage[key] = val; // 为当前对象添加 需要存储的值 window.localStorage.setItem("lucky", JSON.stringify(storage)) // 保存到本地 }, getItem (key) { return this.getStorage()[key] }, // 清空 当前的项目下命名存储的空间 该key项的 Storage 数据 clearItem (key) { let storage = this.getStorage() delete storage[key] window.localStorage.setItem(config.namespace, JSON.stringify(storage)) // 保存到本地 }, // 清空所有的 当前的项目下命名存储的空间 Storage 数据 clearAll () { window.localStorage.clear(); } } ================================================ FILE: web/adminviews/src/apis/utils.js ================================================ // 导入axios实例 import httpRequest from '@/request/index' import storage from './storage.js' // 获取锚点 export function GetHash() { return location.hash } // 设置锚点 export function SetHash(hash) { location.hash = hash } export function GetToken(){ //console.log("getTokenkkk: "+storage.getItem("token")) return storage.getItem("token")==undefined?"":storage.getItem("token"); } // 获取状态信息 export function apiGetStatus() { return httpRequest({ url: '/api/status', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()}, }) } export function apiGetLogs(pretimestamp) { return httpRequest({ url: "/api/logs", method: 'get', headers:{'Authorization':GetToken()}, params:{pre:pretimestamp,_:new Date().valueOf()} }) } export function apiGetRuleList() { return httpRequest({ url: '/api/rulelist', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAddRule(data) { return httpRequest({ url: '/api/rule', method: 'post', headers:{'Authorization':GetToken()}, data:data }) } export function apiAddDDNSTask(data) { return httpRequest({ url: '/api/ddns', method: 'post', headers:{'Authorization':GetToken()}, data:data }) } export function apiAlterDDNSTask(taskKey,data) { return httpRequest({ url: '/api/ddns', method: 'put', headers:{'Authorization':GetToken()}, data:data, params:{key:taskKey} }) } export function apiDeleteDDNSTask(taskKey) { return httpRequest({ url: '/api/ddns', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),key:taskKey} }) } export function apiGetDDNSTaskList() { return httpRequest({ url: '/api/ddnstasklist', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiDeleteRule(configure) { return httpRequest({ url: '/api/rule', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),rule:configure} }) } export function apiAlterRule(data) { return httpRequest({ url: '/api/rule', method: 'put', headers:{'Authorization':GetToken()}, data:data }) } export function apiRuleEnable(key,enable) { return httpRequest({ url: '/api/rule/enable', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),enable:enable,key:key} }) } export function apiDDNSTaskEnable(key,enable) { return httpRequest({ url: '/api/ddns/enable', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),enable:enable,key:key} }) } export function apiQueryBaseConfigure() { return httpRequest({ url: '/api/baseconfigure', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiQueryDDNSConfigure() { return httpRequest({ url: '/api/ddns/configure', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAlterBaseConfigure(data) { return httpRequest({ url: '/api/baseconfigure', method: 'put', headers:{'Authorization':GetToken()}, data:data }) } export function apiAlterDDNSConfigure(data) { return httpRequest({ url: '/api/ddns/configure', method: 'put', headers:{'Authorization':GetToken()}, data:data }) } export function apiLogin(data) { return httpRequest({ url: '/api/login', method: 'post', data:data }) } export function apiRebootProgram() { return httpRequest({ url: '/api/reboot_program', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAlterWhiteListConfigure(data) { return httpRequest({ url: '/api/whitelist/configure', method: 'put', headers:{'Authorization':GetToken()}, data:data }) } export function apiGetWhiteListConfigure(data) { return httpRequest({ url: '/api/whitelist/configure', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiGetWhiteList(data) { return httpRequest({ url: '/api/whitelist', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()}, }) } export function apiFlushWhiteList(ip,life) { return httpRequest({ url: '/api/whitelist/flush', method: 'put', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),ip:ip,life:life} }) } export function apiDeleteWhiteList(ip,life) { return httpRequest({ url: '/api/whitelist', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),ip:ip}, }) } export function apiGetBlackList(data) { return httpRequest({ url: '/api/blacklist', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiFlushBlackList(ip,life) { return httpRequest({ url: '/api/blacklist/flush', method: 'put', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),ip:ip,life:life} }) } export function apiDeleteBlackList(ip,life) { return httpRequest({ url: '/api/blacklist', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),ip:ip} }) } export function apiGetVersion() { return httpRequest({ url: '/version', method: 'get', params:{_:new Date().valueOf()} }) } export function apiLogout() { return httpRequest({ url: '/api/logout', method: 'put', headers:{'Authorization':GetToken()}, }) } export function apiGetNetinterfaces() { return httpRequest({ url: '/api/netinterfaces', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiGetIPRegTest(iptype,netinterface,ipreg) { return httpRequest({ url: '/api/ipregtest', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),iptype:iptype,netinterface:netinterface,ipreg:ipreg} }) } ///api/webhooktest export function apiWebhookTest(taskKey,data) { return httpRequest({ url: 'api/webhooktest', headers:{'Authorization':GetToken()}, method: 'post', data:data, params:{key:taskKey} }) } export function apiGetAPPInfo() { return httpRequest({ url: '/api/info', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiGetRestoreConfigureConfirm(key) { return httpRequest({ url: '/api/restoreconfigureconfirm', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),key:key} }) } export function apiGetConfigure() { return httpRequest({ url: '/api/configure', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiDeleteSSL(key) { return httpRequest({ url: '/api/ssl', method: 'delete', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),key:key} }) } export function apiAddSSL(data) { return httpRequest({ url: '/api/ssl', method: 'post', headers:{'Authorization':GetToken()}, data:data }) } export function apiAlterSSL(key,field,value) { return httpRequest({ url: '/api/ssl', method: 'put', headers:{'Authorization':GetToken()}, params:{key:key,field:field,value:value}, }) } export function apiGetSSLList(data) { return httpRequest({ url: '/api/ssl', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAddReverseProxyRule(data) { return httpRequest({ url: '/api/reverseproxyrule', method: 'post', headers:{'Authorization':GetToken()}, data:data }) } export function apiGeReverseProxyRuleList() { return httpRequest({ url: '/api/reverseproxyrules', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAlterReverseProxyRule(data) { return httpRequest({ url: '/api/reverseproxyrule', method: 'put', headers:{'Authorization':GetToken()}, data:data, params:{_:new Date().valueOf()} }) } export function apiDeleteReverseProxyRule(ruleKey) { return httpRequest({ url: '/api/reverseproxyrule', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),key:ruleKey} }) } export function apiReverseProxyRuleEnable(ruleKey,proxyKey,enable) { return httpRequest({ url: '/api/reverseproxyrule/enable', method: 'get', headers:{'Authorization':GetToken()}, params:{ _:new Date().valueOf(), enable:enable, ruleKey:ruleKey, proxyKey:proxyKey} }) } export function apiReverseProxyRuleLogs(ruleKey,proxyKey,pageSize,page) { return httpRequest({ url: '/api/reverseproxyrule/logs', method: 'get', headers:{'Authorization':GetToken()}, params:{ _:new Date().valueOf(), ruleKey:ruleKey, proxyKey:proxyKey, pageSize:pageSize, page:page} }) } //------------------------------------------------- export function apiGetPortForwardRuleList() { return httpRequest({ url: '/api/portforwards', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAddPortForwardRule(data) { return httpRequest({ url: '/api/portforward', method: 'post', headers:{'Authorization':GetToken()}, data:data }) } export function apiDeletePortForwardRule(key) { return httpRequest({ url: '/api/portforward', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),key:key} }) } export function apiAlterPortForwardRule(data) { return httpRequest({ url: '/api/portforward', method: 'put', headers:{'Authorization':GetToken()}, data:data }) } export function apiPortForwardRuleEnable(key,enable) { return httpRequest({ url: '/api/portforward/enable', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),enable:enable,key:key} }) } export function apiQueryPortForwardConfigure() { return httpRequest({ url: '/api/portforward/configure', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAlterPortForwardConfigure(data) { return httpRequest({ url: '/api/portforward/configure', method: 'put', headers:{'Authorization':GetToken()}, data:data }) } export function apiPortforwardRuleLogs(key,pageSize,page) { return httpRequest({ url: '/api/portforward/logs', method: 'get', headers:{'Authorization':GetToken()}, params:{ _:new Date().valueOf(), key:key, pageSize:pageSize, page:page} }) } //----------------- export function apiGetWOLDeviceList() { return httpRequest({ url: '/api/wol/devices', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf()} }) } export function apiAddWOLDevice(data) { return httpRequest({ url: '/api/wol/device', method: 'post', headers:{'Authorization':GetToken()}, data:data }) } export function apiDeleteWOLDevice(key) { return httpRequest({ url: '/api/wol/device', method: 'delete', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),key:key} }) } export function apiWOLDeviceWakeUp(key) { return httpRequest({ url: '/api/wol/device/wakeup', method: 'get', headers:{'Authorization':GetToken()}, params:{_:new Date().valueOf(),key:key} }) } export function apiAlterWOLDevice(data) { return httpRequest({ url: '/api/wol/device', method: 'put', headers:{'Authorization':GetToken()}, data:data }) } ================================================ FILE: web/adminviews/src/assets/appbase.css ================================================ .PageRadius { height: 90vh; width: 100%; max-width: 1300px; border: 1px solid var(--el-border-color); border-radius: 0; margin: 20px } ================================================ FILE: web/adminviews/src/assets/base.css ================================================ /* color palette from */ :root { --vt-c-white: #ffffff; --vt-c-white-soft: #f8f8f8; --vt-c-white-mute: #f2f2f2; --vt-c-black: #181818; --vt-c-black-soft: #222222; --vt-c-black-mute: #282828; --vt-c-indigo: #2c3e50; --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); --vt-c-text-light-1: var(--vt-c-indigo); --vt-c-text-light-2: rgba(60, 60, 60, 0.66); --vt-c-text-dark-1: var(--vt-c-white); --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); } /* semantic color variables for this project */ :root { --color-background: var(--vt-c-white); --color-background-soft: var(--vt-c-white-soft); --color-background-mute: var(--vt-c-white-mute); --color-border: var(--vt-c-divider-light-2); --color-border-hover: var(--vt-c-divider-light-1); --color-heading: var(--vt-c-text-light-1); --color-text: var(--vt-c-text-light-1); --section-gap: 160px; } @media (prefers-color-scheme: dark) { :root { --color-background: var(--vt-c-black); --color-background-soft: var(--vt-c-black-soft); --color-background-mute: var(--vt-c-black-mute); --color-border: var(--vt-c-divider-dark-2); --color-border-hover: var(--vt-c-divider-dark-1); --color-heading: var(--vt-c-text-dark-1); --color-text: var(--vt-c-text-dark-2); } } *, *::before, *::after { box-sizing: border-box; margin: 0; position: relative; font-weight: normal; } body { min-height: 100vh; color: var(--color-text); background: var(--color-background); transition: color 0.5s, background-color 0.5s; line-height: 1.6; font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 15px; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } ================================================ FILE: web/adminviews/src/assets/common-layout.scss ================================================ .common-layout { .el-header, .el-footer, .el-main, .el-aside { display: flex; justify-content: center; align-items: center; } .el-header, .el-footer { background-color: var(--el-color-primary-light-7); color: var(--el-text-color-primary); text-align: center; } .el-aside { background-color: var(--el-color-primary-light-8); color: var(--el-text-color-primary); text-align: center; } .el-main { background-color: var(--el-color-primary-light-9); color: var(--el-text-color-primary); text-align: center; height: 150px; } } ================================================ FILE: web/adminviews/src/components/About.vue ================================================ ================================================ FILE: web/adminviews/src/components/BlackLists.vue ================================================ ================================================ FILE: web/adminviews/src/components/DDNS.vue ================================================ ================================================ FILE: web/adminviews/src/components/DDNSSet.vue ================================================ ================================================ FILE: web/adminviews/src/components/Log.vue ================================================ ================================================ FILE: web/adminviews/src/components/Login.vue ================================================ ================================================ FILE: web/adminviews/src/components/PSet.vue ================================================ ================================================ FILE: web/adminviews/src/components/Pmenu.vue ================================================ ================================================ FILE: web/adminviews/src/components/PortForward.vue ================================================ ================================================ FILE: web/adminviews/src/components/PortForwardSet.vue ================================================ ================================================ FILE: web/adminviews/src/components/ReverseProxy.vue ================================================ ================================================ FILE: web/adminviews/src/components/SSL.vue ================================================ ================================================ FILE: web/adminviews/src/components/Status.vue ================================================ ================================================ FILE: web/adminviews/src/components/WhiteListSet.vue ================================================ ================================================ FILE: web/adminviews/src/components/WhiteLists.vue ================================================ ================================================ FILE: web/adminviews/src/components/tools/WOL.vue ================================================ ================================================ FILE: web/adminviews/src/components/tools/WOLServiceSet.vue ================================================ ================================================ FILE: web/adminviews/src/main.js ================================================ import { createApp,ref } from 'vue' import App from './App.vue' import './assets/common-layout.scss' import './assets/appbase.css' import * as ElIcon from '@element-plus/icons-vue' import 'element-plus/theme-chalk/el-notification.css' import 'element-plus/theme-chalk/el-menu.css' import 'element-plus/theme-chalk/el-loading.css' import 'element-plus/theme-chalk/el-message.css' import 'element-plus/theme-chalk/el-message-box.css' import 'element-plus/theme-chalk/el-button.css' import storage from './apis/storage.js' import {apiLogout} from './apis/utils.js' import {PageExist,CurrentPage} from './utils/utils' const app = createApp(App) for (let iconName in ElIcon){ app.component(iconName, ElIcon[iconName]) } app.config.globalProperties.$storage = storage; if(!PageExist(location.hash)){ location.hash="#status" } //配置全局变量 //默认页面 var currentPage = ref(location.hash) // if (process.env.NODE_ENV=="development"){ // currentPage.value="#relayset" // location.hash="#relayset" // } app.provide('global',{ currentPage, storage, }) window.onpopstate = function (event){ currentPage.value=location.hash CurrentPage.value = location.hash if(location.hash == "#logout"){//注销登录 apiLogout().then((res) => { }).catch((error) => { }) storage.setItem("token","") location.hash ="#login" return } if(!PageExist(location.hash)){ console.log("location.hash["+location.hash +"]no exist") location.hash ="#login" return } } app.mount('#app') ================================================ FILE: web/adminviews/src/request/index.js ================================================ import axios from 'axios' console.log("vue run mode "+process.env.NODE_ENV) var baseURL = "/" // if (process.env.NODE_ENV=="development"){ //开发环境下这个改为自己的接口地址 baseURL = 'http://192.168.31.70:16601' } //var fuck = storage.getItem("cookies") //console.log("fuck:"+fuck) //console.log("baseURL: "+ baseURL) // 创建一个 axios 实例 const service = axios.create({ baseURL: baseURL, // 所有的请求地址前缀部分 timeout: 5000, // 请求超时时间毫秒 withCredentials: false, // 异步请求携带cookie headers: { // 设置后端需要的传参类型 'Content-Type': 'application/json', //'X-Requested-With': 'XMLHttpRequest', }, }) // 添加请求拦截器 service.interceptors.request.use( function (config) { // 在发送请求之前做些什么 return config }, function (error) { // 对请求错误做些什么 console.log(error) return Promise.reject(error) } ) // 添加响应拦截器 service.interceptors.response.use( function (response) { //console.log(response) // 2xx 范围内的状态码都会触发该函数。 // 对响应数据做点什么 // dataAxios 是 axios 返回数据中的 data const dataAxios = response.data // 这个状态码是和后端约定的 const code = dataAxios.reset //console.log("dataAxios data: "+JSON.stringify(dataAxios)) //console.log("ret: "+dataAxios.ret) if (dataAxios.ret!=undefined&& dataAxios.ret==-1){ //global.currentPage.value="set" console.log("登录失效") //window.location.href="/" location.hash ="#login" //var currentPage = ref("#login") } return dataAxios }, function (error) { // 超出 2xx 范围的状态码都会触发该函数。 // 对响应错误做点什么 console.log(error) return Promise.reject(error) } ) export default service ================================================ FILE: web/adminviews/src/utils/ui.ts ================================================ import { ElMessage, ElMessageBox, ElNotification } from 'element-plus' // ElMessageBox.alert(message, { // confirmButtonText: '好的', // callback: () => { // }, // }) export function ShowMessageBox(message: string) { ElMessageBox.alert(message, { confirmButtonText: '好的', callback: () => { }, }) } export function MessageShow(type:any,message: string) { ElMessage({ message: message, type: type, }) } export function Notification (type, message, duration) { ElNotification({ title: type.substring(0, 1).toUpperCase() + type.substring(1), message: message, type: type, duration: duration, }) } ================================================ FILE: web/adminviews/src/utils/utils.ts ================================================ import useClipboard from 'vue-clipboard3' import { ref } from 'vue' export function CopyTotoClipboard(data: string) { useClipboard().toClipboard(data) } const ipReg = /^((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){6}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^::([\da-fA-F]{1,4}:){0,4}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:):([\da-fA-F]{1,4}:){0,3}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){2}:([\da-fA-F]{1,4}:){0,2}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){3}:([\da-fA-F]{1,4}:){0,1}((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){4}:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)$|^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$|^:((:[\da-fA-F]{1,4}){1,6}|:)$|^[\da-fA-F]{1,4}:((:[\da-fA-F]{1,4}){1,5}|:)$|^([\da-fA-F]{1,4}:){2}((:[\da-fA-F]{1,4}){1,4}|:)$|^([\da-fA-F]{1,4}:){3}((:[\da-fA-F]{1,4}){1,3}|:)$|^([\da-fA-F]{1,4}:){4}((:[\da-fA-F]{1,4}){1,2}|:)$|^([\da-fA-F]{1,4}:){5}:([\da-fA-F]{1,4})?$|^([\da-fA-F]{1,4}:){6}:$/ export function isIP(ip :string){ return ipReg.test(ip) } const MenuIndexList = ["#status", "#log","#whitelistset", "#whitelists","#blacklists","#set", "#login","#ddns","#ddnstasklist","#ddnsset", "#about","#reverseproxylist","#ssl","#portforward","#portforwardset","#wol"] export function PageExist(page:string) { for(let i in MenuIndexList){ if (MenuIndexList[i]==page){ return true } } return false } export const CurrentPage = ref("") export function StringToArrayList(str : string){ let rawlist = str.split("\n") let resList = new Array() for (let i in rawlist) { let item = rawlist[i].replace(/^\s+|\s+$/g, '').replace(/<\/?.+?>/g, "").replace(/[\r\n]/g, "") if (item==""){ continue } resList.push(item) } return resList } export function StrArrayListToBrHtml( strList : string[]){ var resHtml = "" for ( let i in strList){ resHtml += strList[i] + '
' } return resHtml } export function StrArrayListToArea(strList : string[]){ var res = "" for ( let i in strList){ if(i!="0"){ res +='\n' } res += strList[i] // res += strList[i] + '\n' } return res } export const LogLevelList = [ { value: 2, label: 'Error', }, { value: 3, label: 'Warn', }, { value: 4, label: 'Info', }, { value: 5, label: 'Debug', }, { value: 6, label: 'Trace', }, ] export const bytesToSize = (bytes) => { if (bytes === 0) return '0 B'; var k = 1000, // or 1024 sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'], i = Math.floor(Math.log(bytes) / Math.log(k)); return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i]; } ================================================ FILE: web/adminviews/vite.config.js ================================================ import { fileURLToPath, URL } from 'url' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import AutoImport from 'unplugin-auto-import/vite' import Components from 'unplugin-vue-components/vite' import { ElementPlusResolver } from 'unplugin-vue-components/resolvers' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], })], resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)) } } }) ================================================ FILE: web/blackwhitelist.go ================================================ package web import ( "fmt" "net/http" "strconv" "strings" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/thirdlib/gdylib/ginutils" "github.com/gin-gonic/gin" ) func whitelistConfigure(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"ret": 0, "data": config.GetWhiteListBaseConfigure()}) } func alterWhitelistConfigure(c *gin.Context) { var requestObj config.WhiteListBaseConfigure err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "修改请求解析出错"}) return } requestObj.BasicAccount = strings.TrimSpace(requestObj.BasicAccount) if len(requestObj.BasicAccount) == 0 || len(requestObj.BasicPassword) == 0 { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "账号或密码不能为空"}) return } err = config.SetWhiteListBaseConfigure(requestObj.ActivelifeDuration, requestObj.URL, requestObj.BasicAccount, requestObj.BasicPassword) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "保存白名单配置出错"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func querywhitelist(c *gin.Context) { resList := config.GetWhiteList() c.JSON(http.StatusOK, gin.H{"ret": 0, "data": resList}) } func deleteblacklist(c *gin.Context) { ip := c.Query("ip") err := config.BlackListDelete(ip) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "删除黑名单指定IP出错"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func deletewhitelist(c *gin.Context) { ip := c.Query("ip") err := config.WhiteListDelete(ip) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "删除白名单指定IP出错"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func flushblacklist(c *gin.Context) { ip := c.Query("ip") activelifeDurationStr := c.Query("life") life, _ := strconv.Atoi(activelifeDurationStr) newTime, err := config.BlackListAdd(ip, int32(life)) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("刷新IP有效期出错:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "data": newTime}) } func flushwhitelist(c *gin.Context) { ip := c.Query("ip") activelifeDurationStr := c.Query("life") life, _ := strconv.Atoi(activelifeDurationStr) newTime, err := config.WhiteListAdd(ip, int32(life)) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("刷新IP有效期出错:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "data": newTime}) } func queryblacklist(c *gin.Context) { resList := config.GetBlackList() c.JSON(http.StatusOK, gin.H{"ret": 0, "data": resList}) } func whitelistBasicAuth(c *gin.Context) { bc := config.GetWhiteListBaseConfigure() whilelistURL := c.Param("url") if (c.Request.RequestURI == "/wl" && bc.URL != "") || whilelistURL != bc.URL { c.AbortWithStatus(http.StatusNotFound) return } realm := "Basic realm=" + strconv.Quote("Authorization Required") pairs := ginutils.ProcessAccounts(gin.Accounts{bc.BasicAccount: bc.BasicPassword}) user, found := pairs.SearchCredential(c.GetHeader("Authorization")) if !found { // Credentials doesn't match, we return 401 and abort handlers chain. c.Header("WWW-Authenticate", realm) c.AbortWithStatus(http.StatusUnauthorized) return } c.Set("user", user) } func whilelistAdd(c *gin.Context) { lifeTime, err := config.WhiteListAdd(c.ClientIP(), 0) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "记录白名单IP出错"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": "IP已记录进白名单", "ip": c.ClientIP(), " effective_time": lifeTime}) } ================================================ FILE: web/common.go ================================================ package web import ( "encoding/base64" "fmt" "io" "net/http" "github.com/gin-gonic/gin" ) func getFileBase64(c *gin.Context) { file, err := c.FormFile("file") if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("c.FormFile err:%s", err.Error())}) return } src, err := file.Open() if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("file.Open err:%s", err.Error())}) return } defer src.Close() fileBytes, err := io.ReadAll(src) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("ioutil.ReadAll err:%s", err.Error())}) return } fileBytesBase64Str := base64.StdEncoding.EncodeToString(fileBytes) c.JSON(http.StatusOK, gin.H{"ret": 0, "file": file.Filename, "base64": fileBytesBase64Str}) } ================================================ FILE: web/configure.go ================================================ package web import ( "encoding/json" "fmt" "io" "net/http" "os" "sync" "time" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/thirdlib/gdylib/fileutils" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" "github.com/gin-gonic/gin" ) func configure(c *gin.Context) { //c config.GetConfig() configureBytes := config.GetConfigureBytes() //c.Header("Content-Type", "application/json") //c.Data(http.StatusOK, "application/json", configureBytes) c.JSON(http.StatusOK, gin.H{ "ret": 0, "time": time.Now().Format("060102150405"), "configure": string(configureBytes)}, ) } var restoreConfigureVar *config.ProgramConfigure var restoreConfigureKey string var restoreConfigureMutex sync.Mutex func restoreConfigureConfirm(c *gin.Context) { restoreConfigureMutex.Lock() defer restoreConfigureMutex.Unlock() key := c.Query("key") if key != restoreConfigureKey { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "key不一致"}) return } err := config.SetConfig(restoreConfigureVar) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "还原配置出错"}) return } rebootOnce.Do(func() { go func() { fileutils.OpenProgramOrFile(os.Args) os.Exit(0) }() }) c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": "还原配置成功", "port": restoreConfigureVar.BaseConfigure.AdminWebListenPort}) } func restoreConfigure(c *gin.Context) { file, err := c.FormFile("file") if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("c.FormFile err:%s", err.Error())}) return } src, err := file.Open() if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("file.Open err:%s", err.Error())}) return } defer src.Close() fileBytes, err := io.ReadAll(src) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("ioutil.ReadAll err:%s", err.Error())}) return } //log.Printf("file:%s\n", string(fileBytes)) var conf config.ProgramConfigure err = json.Unmarshal(fileBytes, &conf) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("配置文件[%s]有误", file.Filename)}) return } if conf.BaseConfigure.AdminAccount == "" || conf.BaseConfigure.AdminPassword == "" || conf.BaseConfigure.AdminWebListenPort <= 0 || conf.BaseConfigure.AdminWebListenPort >= 65536 { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("配置文件[%s]参数有误", file.Filename)}) return } restoreConfigureMutex.Lock() defer restoreConfigureMutex.Unlock() restoreConfigureVar = &conf restoreConfigureKey = stringsp.GetRandomStringNum(16) c.JSON(http.StatusOK, gin.H{"ret": 0, "file": file.Filename, "restoreConfigureKey": restoreConfigureKey}) } ================================================ FILE: web/ddns.go ================================================ package web import ( "fmt" "net/http" "strings" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/ddnscore.go" "github.com/gdy666/lucky/thirdlib/gdylib/service" "github.com/gin-gonic/gin" ) func addDDNS(c *gin.Context) { var requestObj config.DDNSTask err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } //fmt.Printf("addDDNS requestObj:%v\n", requestObj) err = config.CheckDDNSTaskAvalid(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": err.Error()}) return } dealRequestDDNSTask(&requestObj) err = config.DDNSTaskListAdd(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "DDNS任务添加出错"}) return } if requestObj.Enable { service.Message("ddns", "syncDDNSTask", requestObj.TaskKey) } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func deleteDDNSTask(c *gin.Context) { taskKey := c.Query("key") err := config.DDNSTaskListDelete(taskKey) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Errorf("删除DDNS任务出错:%s", err.Error())}) return } ddnscore.DDNSTaskInfoMapDelete(taskKey) c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func enableddns(c *gin.Context) { enable := c.Query("enable") key := c.Query("key") var err error if enable == "true" { err = ddnscore.EnableDDNSTaskByKey(key, true) if err == nil { service.Message("ddns", "syncDDNSTask", key) } } else { err = ddnscore.EnableDDNSTaskByKey(key, false) } if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("开关DDNS任务出错:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func ddnsconfigure(c *gin.Context) { conf := config.GetDDNSConfigure() c.JSON(http.StatusOK, gin.H{"ret": 0, "ddnsconfigure": conf}) } func alterDDNSTask(c *gin.Context) { taskKey := c.Query("key") var requestObj config.DDNSTask err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = config.CheckDDNSTaskAvalid(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": err.Error()}) return } dealRequestDDNSTask(&requestObj) err = config.UpdateTaskToDDNSTaskList(taskKey, requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("更新DDNS任务出错:%s", err.Error())}) return } ddnscore.DDNSTaskInfoMapDelete(taskKey) if requestObj.Enable { service.Message("ddns", "syncDDNSTask", taskKey) } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func ddnsTaskList(c *gin.Context) { conf := config.GetDDNSConfigure() if !conf.Enable { c.JSON(http.StatusOK, gin.H{"ret": 6, "msg": "请先在设置页面启用DDNS动态域名服务"}) return } taskList := ddnscore.GetDDNSTaskInfoList() ddnscore.FLushWebLastAccessDDNSTaskListLastTime() c.JSON(http.StatusOK, gin.H{"ret": 0, "data": taskList}) } func dealRequestDDNSTask(t *config.DDNSTask) { if t.DNS.Name == "callback" { t.DNS.ID = "" t.DNS.Secret = "" t.DNS.Callback.URL = strings.TrimSpace(t.DNS.Callback.URL) //requestObj.DNS.Callback.CallbackSuccessContent = strings.TrimSpace(requestObj.DNS.Callback.CallbackSuccessContent) t.DNS.Callback.RequestBody = strings.TrimSpace(t.DNS.Callback.RequestBody) } else { t.DNS.Callback = config.DNSCallback{} } if !t.DNS.ResolverDoaminCheck && len(t.DNS.DNSServerList) > 0 { t.DNS.DNSServerList = []string{} } if t.DNS.ResolverDoaminCheck && (len(t.DNS.DNSServerList) == 0 || (len(t.DNS.DNSServerList) == 1 && t.DNS.DNSServerList[0] == "")) { if t.TaskType == "IPv6" { t.DNS.DNSServerList = config.DefaultIPv6DNSServerList } else { t.DNS.DNSServerList = config.DefaultIPv4DNSServerList } } if t.DNS.HttpClientProxyType != "" && t.DNS.HttpClientProxyAddr == "" { t.DNS.HttpClientProxyType = "" } if t.DNS.HttpClientProxyType == "" { t.DNS.HttpClientProxyAddr = "" t.DNS.HttpClientProxyUser = "" t.DNS.HttpClientProxyPassword = "" } if t.GetType == "url" { t.NetInterface = "" t.IPReg = "" } if t.GetType == "netInterface" { t.URL = []string{} } if t.DNS.Name == "callback" { if t.DNS.Callback.DisableCallbackSuccessContentCheck { t.DNS.Callback.CallbackSuccessContent = []string{} } } if !t.WebhookEnable { t.WebhookHeaders = []string{} t.WebhookMethod = "" t.WebhookRequestBody = "" t.WebhookURL = "" t.WebhookSuccessContent = []string{} t.WebhookProxy = "" t.WebhookProxyAddr = "" t.WebhookProxyUser = "" t.WebhookProxyPassword = "" } if t.WebhookEnable { if t.WebhookMethod == "get" { t.WebhookRequestBody = "" } if t.WebhookProxy == "" { t.WebhookProxyAddr = "" t.WebhookProxyUser = "" t.WebhookProxyPassword = "" } } if t.DNS.ForceInterval < 60 { t.DNS.ForceInterval = 60 } else if t.DNS.ForceInterval > 360000 { t.DNS.ForceInterval = 360000 } if t.HttpClientTimeout < 3 { t.HttpClientTimeout = 3 } else if t.HttpClientTimeout > 60 { t.HttpClientTimeout = 60 } } func alterDDNSConfigure(c *gin.Context) { var requestObj config.DDNSConfigure err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } preConfigure := config.GetDDNSConfigure() if preConfigure.Enable != requestObj.Enable { //log.Printf("动态服务服务状态改变:%v", requestObj.Enable) if requestObj.Enable { service.Start("ddns") } else { service.Stop("ddns") } } err = config.SetDDNSConfigure(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": "保存配置过程发生错误,请检测相关启动配置"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func webhookTest(c *gin.Context) { key := c.Query("key") ddnsTask := ddnscore.GetDDNSTaskInfoByKey(key) if ddnsTask == nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("找不到key对应的DDNS任务:%s", key)}) return } var request struct { WebhookURL string `json:"WebhookURL"` WebhookMethod string `json:"WebhookMethod"` WebhookHeaders []string `json:"WebhookHeaders"` WebhookRequestBody string `json:"WebhookRequestBody"` WebhookSuccessContent []string `json:"WebhookSuccessContent"` //接口调用成功包含的内容 WebhookProxy string `json:"WebhookProxy"` //使用DNS代理设置 ""表示禁用,"dns"表示使用dns的代理设置 WebhookProxyAddr string `json:"WebhookProxyAddr"` //代理服务器IP WebhookProxyUser string `json:"WebhookProxyUser"` //代理用户 WebhookProxyPassword string `json:"WebhookProxyPassword"` //代理密码 } err := c.Bind(&request) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("请求解析出错:%s", err.Error())}) return } responseStr, err := ddnscore.WebhookTest(ddnsTask, request.WebhookURL, request.WebhookMethod, request.WebhookRequestBody, request.WebhookProxy, request.WebhookProxyAddr, request.WebhookProxyUser, request.WebhookProxyPassword, request.WebhookHeaders, request.WebhookSuccessContent) msg := "Webhook接口调用成功" if err != nil { msg = err.Error() } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": msg, "Response": responseStr}) } ================================================ FILE: web/portforward.go ================================================ package web import ( "fmt" "log" "net/http" "strconv" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/socketproxy" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" "github.com/gin-gonic/gin" ) type ruleInfo struct { config.PortForwardsRule ProxyList []proxyInfo LastLogs []any } type proxyInfo struct { Proxy string TrafficIn int64 TrafficOut int64 CurrentConnections int64 } func PortForwardsRuleList(c *gin.Context) { ruleRawList := config.GetPortForwardsRuleList() var ruleList []ruleInfo for i := range ruleRawList { var proxyInfoList []proxyInfo for j := range *ruleRawList[i].ReverseProxyList { p := proxyInfo{ Proxy: (*ruleRawList[i].ReverseProxyList)[j].String(), TrafficIn: (*ruleRawList[i].ReverseProxyList)[j].GetTrafficIn(), TrafficOut: (*ruleRawList[i].ReverseProxyList)[j].GetTrafficOut(), CurrentConnections: (*ruleRawList[i].ReverseProxyList)[j].GetCurrentConnections()} proxyInfoList = append(proxyInfoList, p) } r := ruleInfo{ PortForwardsRule: ruleRawList[i], ProxyList: proxyInfoList, LastLogs: ruleRawList[i].GetLastLogs(ruleRawList[i].WebListShowLastLogMaxCount)} ruleList = append(ruleList, r) } c.JSON(http.StatusOK, gin.H{"ret": 0, "list": ruleList}) } func PortForwardsRuleAdd(c *gin.Context) { var newRule config.PortForwardsRule err := c.Bind(&newRule) if err != nil { log.Printf("请求解析出错:%s", err.Error()) c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("请求解析出错:%s", err.Error())}) return } newRule.Key = stringsp.GetRandomString(16) err = newRule.InitProxyList() if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("添加转发规则过程初始化ProxyList出错:%s", err.Error())}) return } if int64(config.GetPortForwardsGlobalProxyCount()+newRule.ProxyCount()) > socketproxy.GetGlobalMaxPortForwardsCountLimit() { c.JSON(http.StatusOK, gin.H{"ret": 3, "msg": "超出全局端口转发最大数量限制"}) return } err = config.PortForwardsRuleListAdd(&newRule) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 4, "msg": fmt.Sprintf("添加转发规则出错:%s", err.Error())}) return } config.StartAllSocketProxysByRuleKey(newRule.Key) c.JSON(http.StatusOK, gin.H{"ret": 0}) } func PortForwardsRuleAlter(c *gin.Context) { var alterRule config.PortForwardsRule err := c.Bind(&alterRule) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("请求解析出错:%s", err.Error())}) return } err = alterRule.InitProxyList() if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("修改转发规则时初始化代理列表出错:%s", err.Error())}) return } if int64(config.GetPortForwardsGlobalProxyCountExcept(alterRule.Key)+alterRule.ProxyCount()) > socketproxy.GetGlobalMaxPortForwardsCountLimit() { c.JSON(http.StatusOK, gin.H{"ret": 3, "msg": "超出全局端口转发最大数量限制"}) return } config.StopAllSocketProxysByRuleKey(alterRule.Key) err = config.UpdatePortForwardsRuleToPortForwardsRuleList(alterRule.Key, &alterRule) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 4, "msg": fmt.Sprintf("修改转发规则出错:%s", err.Error())}) return } if alterRule.Enable { config.StartAllSocketProxysByRuleKey(alterRule.Key) } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func PortForwardsRuleEnable(c *gin.Context) { enableStr := c.Query("enable") key := c.Query("key") var enable bool = false if enableStr == "true" { enable = true } err := config.EnablePortForwardsRuleByKey(key, enable) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("开关转发规则出错:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func PortForwardsRuleDelete(c *gin.Context) { key := c.Query("key") err := config.PortForwardsRuleListDelete(key) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("删除转发规则出错:%s", err.Error())}) return } config.TidyPortforwardLogsCache() c.JSON(http.StatusOK, gin.H{"ret": 0}) } func portforwardConfigure(c *gin.Context) { conf := config.GetPortForwardsConfigure() c.JSON(http.StatusOK, gin.H{"ret": 0, "configure": conf}) } func alterPortForwardConfigure(c *gin.Context) { var requestObj config.PortForwardsConfigure err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = config.SetPortForwardsConfigure(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": "保存配置过程发生错误,请检测相关启动配置"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func getPortwardRuleLogs(c *gin.Context) { key := c.Query("key") pageSize, _ := strconv.Atoi(c.Query("pageSize")) if pageSize <= 0 { pageSize = 10 } page, _ := strconv.Atoi(c.Query("page")) if page <= 0 { page = 1 } rule := config.GetPortForwardsRuleByKey(key) if rule == nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("找不到key:%s对应的规则", key)}) return } total, logList := rule.GetLogsBuffer().GetLogsByLimit(config.WebLogConvert, pageSize, page) c.JSON(http.StatusOK, gin.H{"ret": 0, "total": total, "page": page, "pageSize": pageSize, "logs": logList}) } ================================================ FILE: web/reverseproxy.go ================================================ package web import ( "fmt" "net" "net/http" "strconv" "strings" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/reverseproxy" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" "github.com/gin-gonic/gin" ) func reverseProxys(c *gin.Context) { proxyRuleList := reverseproxy.GetProxyRuleListInfo() c.JSON(http.StatusOK, gin.H{"ret": 0, "list": proxyRuleList}) } func addReverseProxyRule(c *gin.Context) { var requestObj config.ReverseProxyRule err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = checkReverseProxyRuleRequest(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": err.Error()}) return } err = config.ReverseProxyRuleListAdd(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("添加反向代理规则失败:%s", err.Error())}) return } if requestObj.Enable { reverseproxy.EnableRuleByKey(requestObj.RuleKey, true) } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func alterReverseProxyRule(c *gin.Context) { var requestObj config.ReverseProxyRule err := c.BindJSON(&requestObj) if err != nil { fmt.Printf("fff:%s\n", err.Error()) c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = checkReverseProxyRuleRequest(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": err.Error()}) return } err = config.UpdateReverseProxyRulet(requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("修改反向代理规则失败:%s", err.Error())}) return } reverseproxy.EnableRuleByKey(requestObj.RuleKey, false) //reverseproxy.FlushCache(requestObj.RuleKey) if requestObj.Enable { reverseproxy.EnableRuleByKey(requestObj.RuleKey, true) } config.TidyReverseProxyCache() c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func deleteReverseProxyRule(c *gin.Context) { ruleKey := c.Query("key") err := reverseproxy.EnableRuleByKey(ruleKey, false) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("删除反向代理规则出错:%s", err.Error())}) return } err = config.ReverseProxyRuleListDelete(ruleKey) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 3, "msg": fmt.Sprintf("删除反向代理规则出错:%s", err.Error())}) return } config.TidyReverseProxyCache() c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func enableReverseProxyRule(c *gin.Context) { enableStr := c.Query("enable") ruleKey := c.Query("ruleKey") proxyKey := c.Query("proxyKey") enable := false if enableStr == "true" { enable = true } if proxyKey == "" { //开关规则 err := reverseproxy.EnableRuleByKey(ruleKey, enable) if err != nil { errMsg := err.Error() if strings.Contains(errMsg, "Only one usage of each socket address") { errMsg = "端口已被占用" } c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": errMsg}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) return } err := config.EnableReverseProxySubRule(ruleKey, proxyKey, enable) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": err.Error()}) return } //reverseproxy.FlushCache(ruleKey) c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func checkReverseProxyRuleRequest(rule *config.ReverseProxyRule) error { // if len(rule.ProxyList) <= 0 { // return fmt.Errorf("至少添加一条反向代理转发规则") // } var err error if rule.RuleKey == "" { rule.RuleKey = stringsp.GetRandomString(16) } rule.DefaultProxy.Key = rule.RuleKey if len(rule.DefaultProxy.Locations) > 0 { defaultLocations := []string{} for i := range rule.DefaultProxy.Locations { scheme, hostname, port, _, e := stringsp.GetHostAndPathFromURL(rule.DefaultProxy.Locations[i]) if e != nil { return fmt.Errorf("默认目标地址[%s]格式有误", rule.DefaultProxy.Locations[i]) } if port != "" { port = ":" + port } defaultLocations = append(defaultLocations, fmt.Sprintf("%s://%s%s", scheme, hostname, port)) } rule.DefaultProxy.Locations = defaultLocations } if rule.DefaultProxy.AddRemoteIPToHeader && rule.DefaultProxy.AddRemoteIPHeaderKey == "" { return fmt.Errorf("追加客户端连接IP到指定Header 启用时,自定义HeaderKey不能为空") } for i := range rule.ProxyList { domainsLength := len(rule.ProxyList[i].Domains) if domainsLength <= 0 { return fmt.Errorf("第 %d 条反向代理转发规则中域名不能为空", i+1) } locationsLength := len(rule.ProxyList[i].Locations) if locationsLength <= 0 { return fmt.Errorf("第 %d 条反向代理转发规则中后端目标地址不能为空", i+1) } for j := range rule.ProxyList[i].Domains { _, hostname, _, _, e := stringsp.GetHostAndPathFromURL(rule.ProxyList[i].Domains[j]) if e != nil { return fmt.Errorf("第 %d 条反向代理转发规则中第 %d 条前端地址/域名[%s]格式有误", i+1, j+1, rule.ProxyList[i].Domains[j]) } rule.ProxyList[i].Domains[j] = hostname } for j := range rule.ProxyList[i].Locations { scheme, hostname, port, _, e := stringsp.GetHostAndPathFromURL(rule.ProxyList[i].Locations[j]) if e != nil { return fmt.Errorf("第 %d 条反向代理转发规则中第 %d 条后端目标地址[%s]格式有误", i+1, j+1, rule.ProxyList[i].Locations[j]) } if port != "" { port = ":" + port } rule.ProxyList[i].Locations[j] = fmt.Sprintf("%s://%s%s", scheme, hostname, port) } if rule.ProxyList[i].AddRemoteIPToHeader && rule.ProxyList[i].AddRemoteIPHeaderKey == "" { return fmt.Errorf("第 %d 条子规则中 追加客户端连接IP到指定Header 启用时,自定义HeaderKey不能为空", i+1) } if rule.ProxyList[i].Key == "" { rule.ProxyList[i].Key = stringsp.GetRandomString(16) } for j := range rule.ProxyList[i].TrustedCIDRsStrList { _, _, err = net.ParseCIDR(rule.ProxyList[i].TrustedCIDRsStrList[j]) if err != nil { return fmt.Errorf("第 %d 条子规则中 TrustedCIDRsStrList[%s]格式有误", i+1, rule.ProxyList[i].TrustedCIDRsStrList[j]) } } } for i := range rule.DefaultProxy.TrustedCIDRsStrList { _, _, err = net.ParseCIDR(rule.DefaultProxy.TrustedCIDRsStrList[i]) if err != nil { return fmt.Errorf("默认子规则中的 TrustedCIDRsStrList[%s]格式有误", rule.DefaultProxy.TrustedCIDRsStrList[i]) } } rule.Init() return nil } func getReverseProxyLog(c *gin.Context) { ruleKey := c.Query("ruleKey") proxyKey := c.Query("proxyKey") pageSize, _ := strconv.Atoi(c.Query("pageSize")) if pageSize <= 0 { pageSize = 10 } page, _ := strconv.Atoi(c.Query("page")) if page <= 0 { page = 1 } //last := c.Query("last") total, logList := reverseproxy.GetAccessLogs(ruleKey, proxyKey, pageSize, page) c.JSON(http.StatusOK, gin.H{"ret": 0, "total": total, "page": page, "pageSize": pageSize, "logs": logList}) } ================================================ FILE: web/ssl.go ================================================ package web import ( "fmt" "log" "net/http" "github.com/gdy666/lucky/config" "github.com/gin-gonic/gin" ) func addSSL(c *gin.Context) { var requestObj config.SSLCertficate err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = requestObj.Init() if err != nil { log.Printf("addSSL requestObj.Init() error:%s", err.Error()) c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": "证书和Key有误!"}) return } //fmt.Printf("CertsInfo:%v\n", *requestObj.CertsInfo) err = config.SSLCertficateListAdd(&requestObj) if err != nil { log.Printf("config.SSLCertficateListAdd error:%s", err.Error()) c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("添加SSL证书出错!:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } type sslResInfo struct { Key string `json:"Key"` Remark string `json:"Remark"` Enable bool `json:"Enable"` AddTime string `json:"AddTime"` CertsInfo *[]config.CertInfo `json:"CertsInfo"` } func getSSLCertficateList(c *gin.Context) { rawList := config.GetSSLCertficateList() var res []sslResInfo for i := range rawList { info := sslResInfo{ Key: rawList[i].Key, Remark: rawList[i].Remark, Enable: rawList[i].Enable, AddTime: rawList[i].AddTime, CertsInfo: rawList[i].CertsInfo, } res = append(res, info) } c.JSON(http.StatusOK, gin.H{"ret": 0, "list": res}) } func alterSSLCertficate(c *gin.Context) { key := c.Query("key") field := c.Query("field") value := c.Query("value") var err error switch field { case "enable": { enable := false if value == "true" { enable = true } err = config.SSLCertficateEnable(key, enable) } case "remark": { err = config.SSLCertficateAlterRemark(key, value) } default: err = fmt.Errorf("不支持修改的字段:%s", field) } if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": err.Error()}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func deleteSSLCertficate(c *gin.Context) { key := c.Query("key") err := config.SSLCertficateListDelete(key) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": err.Error()}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } ================================================ FILE: web/web.go ================================================ package web import ( "crypto/tls" "embed" "fmt" "io" "io/fs" "log" "net" "net/http" "os" "runtime" "strconv" "strings" "sync" "sync/atomic" "time" "github.com/gin-contrib/gzip" "github.com/gin-gonic/gin" "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/socketproxy" "github.com/gdy666/lucky/thirdlib/gdylib/fileutils" "github.com/gdy666/lucky/thirdlib/gdylib/ginutils" "github.com/gdy666/lucky/thirdlib/gdylib/logsbuffer" "github.com/gdy666/lucky/thirdlib/gdylib/netinterfaces" "github.com/gdy666/lucky/thirdlib/gdylib/stringsp" "github.com/golang-jwt/jwt" "github.com/shirou/gopsutil/v3/cpu" "github.com/shirou/gopsutil/v3/mem" "github.com/shirou/gopsutil/v3/process" ) //go:embed adminviews/dist var staticFs embed.FS var stafs fs.FS var loginErrorCount = int32(0) var rebootOnce sync.Once var logBuffer *logsbuffer.LogsBuffer type LogItem struct { Timestamp string `json:"timestamp"` Content string `json:"log"` } func logConvert(lg *logsbuffer.LogItem) any { l := LogItem{Content: lg.Content, Timestamp: fmt.Sprintf("%d", lg.Timestamp)} return l } func init() { stafs, _ = fs.Sub(staticFs, "adminviews/dist") logBuffer = logsbuffer.Create(1024) //logBuffer.SetLogItemConverFunc(logConvert) log.SetOutput(io.MultiWriter(logBuffer, os.Stdout)) } func RunAdminWeb(conf *config.BaseConfigure) { //gin.Default() logBuffer.SetBufferSize(conf.LogMaxSize) gin.SetMode(gin.ReleaseMode) r := gin.New() if gin.Mode() != gin.ReleaseMode { r.Use(gin.Logger(), gin.Recovery()) } else { r.Use(gin.Recovery()) } r.Use(checkLocalIP) r.Use(gzip.Gzip(gzip.DefaultCompression)) r.Use(ginutils.Cors()) r.Use(ginutils.HandlerStaticFiles(stafs)) //r.Use(sessionCheck()) //r.StaticFS("/", http.FS(stafs)) authorized := r.Group("/") authorized.Use(tokenCheck()) { authorized.GET("/api/logs", Logs) authorized.GET("/api/status", status) authorized.GET("/api/test", test) authorized.GET("/api/portforwards", PortForwardsRuleList) authorized.POST("/api/portforward", PortForwardsRuleAdd) authorized.DELETE("/api/portforward", PortForwardsRuleDelete) authorized.PUT("/api/portforward", PortForwardsRuleAlter) authorized.GET("/api/portforward/enable", PortForwardsRuleEnable) authorized.GET("/api/portforward/configure", portforwardConfigure) authorized.PUT("/api/portforward/configure", alterPortForwardConfigure) authorized.GET("/api/portforward/logs", getPortwardRuleLogs) authorized.GET("/api/baseconfigure", baseconfigure) authorized.PUT("/api/baseconfigure", alterBaseConfigure) authorized.GET("/api/reboot_program", rebootProgram) authorized.GET("/api/whitelist/configure", whitelistConfigure) authorized.PUT("/api/whitelist/configure", alterWhitelistConfigure) authorized.GET("/api/whitelist", querywhitelist) authorized.PUT("/api/whitelist/flush", flushwhitelist) authorized.DELETE("/api/whitelist", deletewhitelist) authorized.GET("/api/blacklist", queryblacklist) authorized.PUT("/api/blacklist/flush", flushblacklist) authorized.DELETE("/api/blacklist", deleteblacklist) authorized.POST("/api/ddns", addDDNS) authorized.PUT("/api/ddns", alterDDNSTask) authorized.GET("/api/ddnstasklist", ddnsTaskList) authorized.DELETE("/api/ddns", deleteDDNSTask) authorized.GET("/api/ddns/enable", enableddns) authorized.GET("/api/ddns/configure", ddnsconfigure) authorized.PUT("/api/ddns/configure", alterDDNSConfigure) authorized.GET("/api/netinterfaces", getNetinterfaces) authorized.GET("/api/ipregtest", IPRegTest) authorized.POST("/api/webhooktest", webhookTest) authorized.GET("/api/reverseproxyrules", reverseProxys) authorized.POST("/api/reverseproxyrule", addReverseProxyRule) authorized.PUT("/api/reverseproxyrule", alterReverseProxyRule) authorized.DELETE("/api/reverseproxyrule", deleteReverseProxyRule) authorized.GET("/api/reverseproxyrule/enable", enableReverseProxyRule) authorized.GET("/api/reverseproxyrule/logs", getReverseProxyLog) authorized.POST("/api/ssl", addSSL) authorized.GET("/api/ssl", getSSLCertficateList) authorized.PUT("/api/ssl", alterSSLCertficate) authorized.DELETE("/api/ssl", deleteSSLCertficate) authorized.POST("/api/wol/device", addWOLDevice) authorized.GET("/api/wol/device/wakeup", WOLDeviceWakeUp) authorized.GET("/api/wol/devices", getWOLDeviceList) authorized.PUT("/api/wol/device", alterWOLDevice) authorized.DELETE("/api/wol/device", deleteWOLDevice) authorized.GET("/api/info", info) authorized.GET("/api/configure", configure) authorized.POST("/api/configure", restoreConfigure) authorized.POST("/api/getfilebase64", getFileBase64) authorized.GET("/api/restoreconfigureconfirm", restoreConfigureConfirm) r.PUT("/api/logout", logout) } r.POST("/api/login", login) //r.GET("/FreeOSMemory", FreeOSMemory) r.GET("/wl", whitelistBasicAuth, whilelistAdd) r.GET("/wl/:url", whitelistBasicAuth, whilelistAdd) r.GET("/version", queryVersion) //r.Use(func() *gin.Context {}) go func() { httpListen := fmt.Sprintf(":%d", conf.AdminWebListenPort) log.Printf("AdminWeb(Http) listen on %s", httpListen) err := r.Run(httpListen) if err != nil { log.Printf("Admin Http Listen error:%s", err.Error()) os.Exit(1) } }() if conf.AdminWebListenTLS { certlist := config.GetValidSSLCertficateList() if len(certlist) <= 0 { log.Printf("可用SSL证书列表为空,AdminWeb(Https) 监听服务中止运行") return } httpsListen := fmt.Sprintf(":%d", conf.AdminWebListenHttpsPort) server := &http.Server{ Addr: httpsListen, Handler: r, } server.TLSConfig = &tls.Config{} server.TLSConfig.Certificates = certlist ln, err := net.Listen("tcp", httpsListen) if err != nil { log.Fatalf("Admin Https Listen error:%s", err.Error()) } log.Printf("AdminWeb(Https) listen on %s", httpsListen) err = server.ServeTLS(ln, "", "") if err != nil { log.Printf("AdminWeb(Https) Server error:%s", err.Error()) } } } // func FreeOSMemory(c *gin.Context) { // debug.FreeOSMemory() // c.JSON(http.StatusOK, gin.H{"ret": 0}) // } // Logs web func Logs(c *gin.Context) { preTimeStampStr := c.Query("pre") preTimeStamp, _ := strconv.ParseInt(preTimeStampStr, 10, 64) logs := logBuffer.GetLogs(logConvert, preTimeStamp) logCount := logBuffer.GetLogCount() c.JSON(http.StatusOK, gin.H{ "ret": 0, "logs": logs, "logsCount": logCount, }) } func info(c *gin.Context) { info := config.GetAppInfo() c.JSON(http.StatusOK, gin.H{"ret": 0, "info": *info}) } func logout(c *gin.Context) { config.FlushLoginRandomKey() c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": "已注销登录"}) } func queryVersion(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"ret": 0, "version": config.GetVersion()}) } func checkLocalIP(c *gin.Context) { clientIP := c.ClientIP() //fmt.Printf("clientIP:%s\n", clientIP) bc := config.GetBaseConfigure() if !isLocalIP(clientIP) && !bc.AllowInternetaccess { c.JSON(http.StatusForbidden, gin.H{ "ret": 1, "msg": "外网禁止访问,如果需要允许外网访问请在后台设置中打开相应开关.", "ip": clientIP}) c.Abort() return } } func tokenCheck() gin.HandlerFunc { return func(c *gin.Context) { // if config.GetRunMode() == "dev" { // c.Next() // return // } tokenString, _ := c.GetQuery("Authorization") if tokenString == "" { tokenString = c.GetHeader("Authorization") } token, err := ginutils.GetJWTToken(tokenString, "strings") if err != nil { c.AbortWithStatusJSON(http.StatusOK, gin.H{"ret": -1, "msg": "登录失效"}) return } claims, ok := token.Claims.(jwt.MapClaims) if !ok { c.AbortWithStatusJSON(http.StatusOK, gin.H{"ret": -1, "msg": "登录失效"}) return } account := claims["account"].(string) password := claims["password"].(string) loginKey := claims["loginkey"].(string) if account == "" || password == "" { c.AbortWithStatusJSON(http.StatusOK, gin.H{"ret": -1, "msg": "登录失效"}) return } bc := config.GetBaseConfigure() // //fmt.Printf("session中的account:%s password:%s\n", account, password) if bc.AdminAccount != account || bc.AdminPassword != password || loginKey != config.GetLoginRandomKey() { c.AbortWithStatusJSON(http.StatusOK, gin.H{"ret": -1, "msg": "登录失效"}) return } c.Next() } } func rebootProgram(c *gin.Context) { rebootOnce.Do(func() { go func() { fileutils.OpenProgramOrFile(os.Args) os.Exit(0) }() }) c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": ""}) } func login(c *gin.Context) { var requestObj struct { Account string `json:"Account"` Password string `json:"Password"` } err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "登录失败,登录请求解析出错"}) return } if atomic.LoadInt32(&loginErrorCount) >= 99 { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "登录错误次数太多,后台登录功能已禁用,请重启程序."}) return } bc := config.GetBaseConfigure() if bc.AdminAccount != requestObj.Account || bc.AdminPassword != requestObj.Password { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "登录失败,账号或密码有误"}) atomic.AddInt32(&loginErrorCount, 1) return } config.FlushLoginRandomKey() tokenInfo := make(map[string]interface{}) tokenInfo["account"] = requestObj.Account //用户名 tokenInfo["password"] = requestObj.Password tokenInfo["loginkey"] = config.GetLoginRandomKey() tokenString, err := ginutils.GetJWTTokenString(tokenInfo, "strings", time.Hour*24) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "登录失败,token生成出错"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "msg": "登录成功", "token": tokenString}) } func alterBaseConfigure(c *gin.Context) { var requestObj config.BaseConfigure err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } requestObj.AdminAccount = strings.TrimSpace(requestObj.AdminAccount) if len(requestObj.AdminAccount) == 0 || len(requestObj.AdminPassword) == 0 { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "账号或密码不能为空"}) return } preBaseConfigure := config.GetBaseConfigure() if preBaseConfigure.AdminWebListenPort != requestObj.AdminWebListenPort && !config.CheckTCPPortAvalid(requestObj.AdminWebListenPort) { //检测新端口 c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("新的后端管理监听端口[%d]已被占用,修改设置失败", requestObj.AdminWebListenPort)}) return } err = config.SetBaseConfigure(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": "保存配置过程发生错误,请检测相关启动配置"}) return } if preBaseConfigure.LogMaxSize != requestObj.LogMaxSize { logBuffer.SetBufferSize(requestObj.LogMaxSize) } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func baseconfigure(c *gin.Context) { conf := config.GetBaseConfigure() c.JSON(http.StatusOK, gin.H{"ret": 0, "baseconfigure": conf}) } func getNetinterfaces(c *gin.Context) { ipv4NetInterfaces, ipv6Netinterfaces, err := netinterfaces.GetNetInterface() if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("获取网卡列表出错:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0, "data": gin.H{"IPv6NewInterfaces": ipv6Netinterfaces, "IPv4NewInterfaces": ipv4NetInterfaces}}) } func IPRegTest(c *gin.Context) { iptype := c.Query("iptype") netinterface := c.Query("netinterface") ipreg := c.Query("ipreg") ip := netinterfaces.GetIPFromNetInterface(iptype, netinterface, ipreg) c.JSON(http.StatusOK, gin.H{"ret": 0, "ip": ip}) } func test(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"ret": 0}) } func status(c *gin.Context) { v, _ := mem.VirtualMemory() currentProcessMem := GetCurrentProcessMem() //fmt.Fprintf(w, "当前进程 CPU使用率:%.2f%% 协程数:%d 进程内存使用:%s 系统内存总量:%s 已用:%s 可用:%s \n", GetCurrentProcessCPUPrecent(), runtime.NumGoroutine(), formatFileSize(currentProcessMem), formatFileSize(v.Total), formatFileSize(v.Used), formatFileSize(v.Free)) //fmt.Fprintf(w, "当前全局TCP 连接数:%d 全局TCP连接数最大限制:%d\n", core.GetGlobalTCPConns(), core.GetGlobalMaxConnections()) //var proxyStatusList []string // for _, p := range *config.GlobalProxy { // //fmt.Fprintf(w, "%s\n", p.GetStatus()) // proxyStatusList = append(proxyStatusList, p.GetStatus()) // } appInfo := config.GetAppInfo() respMap := make(map[string]interface{}) respMap["totleMem"] = stringsp.BinaryUnitToStr(v.Total) respMap["usedMem"] = stringsp.BinaryUnitToStr(v.Used) respMap["unusedMem"] = stringsp.BinaryUnitToStr(v.Free) respMap["currentProcessUsedCPU"] = fmt.Sprintf("%.2f%%", GetCurrentProcessCPUPrecent()) respMap["goroutine"] = fmt.Sprintf("%d", runtime.NumGoroutine()) respMap["processUsedMem"] = stringsp.BinaryUnitToStr(currentProcessMem) respMap["currentTCPConnections"] = fmt.Sprintf("%d", socketproxy.GetGlobalTCPPortForwardConnections()) respMap["currentUDPConnections"] = fmt.Sprintf("%d", socketproxy.GetGlobalUDPPortForwardGroutineCount()) respMap["maxTCPConnections"] = fmt.Sprintf("%d", socketproxy.GetGlobalTCPPortforwardMaxConnections()) respMap["usedCPU"] = fmt.Sprintf("%.2f%%", GetCpuPercent()) respMap["runTime"] = appInfo.RunTime //respMap["proxysStatus"] = proxyStatusList c.JSON(http.StatusOK, gin.H{ "ret": 0, "data": respMap, }) } func GetCurrentProcessMem() uint64 { plist, e := process.Processes() if e == nil { for _, p := range plist { if int(p.Pid) == os.Getpid() { mem, err := p.MemoryInfo() if err != nil { return 0 } return mem.RSS } } } return 0 } func GetCurrentProcessCPUPrecent() float64 { plist, e := process.Processes() if e == nil { for _, p := range plist { if int(p.Pid) == os.Getpid() { cpuprecent, err := p.CPUPercent() if err != nil { return 0 } return cpuprecent } } } return 0 } func GetCpuPercent() float64 { percent, _ := cpu.Percent(time.Second, false) return percent[0] } //------------------------------------------------------------------------------------------------------------------ func isLocalIP(ipstr string) bool { ip := net.ParseIP(ipstr) if ip.IsLoopback() { return true } ip4 := ip.To4() if ip4 == nil { return false } return ip4[0] == 10 || // 10.0.0.0/8 (ip4[0] == 172 && ip4[1] >= 16 && ip4[1] <= 31) || // 172.16.0.0/12 (ip4[0] == 169 && ip4[1] == 254) || // 169.254.0.0/16 (ip4[0] == 192 && ip4[1] == 168) // 192.168.0.0/16 } ================================================ FILE: web/wol.go ================================================ package web import ( "fmt" "log" "net/http" "github.com/gdy666/lucky/config" "github.com/gin-gonic/gin" ) func addWOLDevice(c *gin.Context) { var requestObj config.WOLDevice err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = checkWolDevice(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("添加网络唤醒设备出错:%s", err.Error())}) return } err = config.WOLDeviceListAdd(&requestObj) if err != nil { log.Printf("config.WOLDeviceListAdd error:%s", err.Error()) c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("添加网络唤醒设备出错!:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func getWOLDeviceList(c *gin.Context) { list := config.GetWOLDeviceList() c.JSON(http.StatusOK, gin.H{"ret": 0, "list": list}) } func alterWOLDevice(c *gin.Context) { var requestObj config.WOLDevice err := c.BindJSON(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": "请求解析出错"}) return } err = checkWolDevice(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": fmt.Sprintf("修改网络唤醒设备出错:%s", err.Error())}) return } err = config.WOLDeviceListAlter(&requestObj) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("修改网络唤醒设备配置失败:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func deleteWOLDevice(c *gin.Context) { key := c.Query("key") err := config.WOLDeviceListDelete(key) if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("删除网络唤醒设备失败:%s", err.Error())}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func WOLDeviceWakeUp(c *gin.Context) { key := c.Query("key") device := config.GetWOLDeviceByKey(key) if device == nil { c.JSON(http.StatusOK, gin.H{"ret": 1, "msg": fmt.Sprintf("找不到Key对应的设备,唤醒失败")}) return } err := device.WakeUp() if err != nil { c.JSON(http.StatusOK, gin.H{"ret": 2, "msg": "唤醒失败"}) return } c.JSON(http.StatusOK, gin.H{"ret": 0}) } func checkWolDevice(d *config.WOLDevice) error { // if strings.TrimSpace(d.DeviceName) == "" { // return fmt.Errorf("设备名称不能为空") // } if d.Port <= 0 || d.Port > 065535 { d.Port = 9 } if d.Repeat <= 0 || d.Repeat > 10 { d.Repeat = 5 } return nil } ================================================ FILE: web.go ================================================ package main import ( "github.com/gdy666/lucky/config" "github.com/gdy666/lucky/web" ) func RunAdminWeb(conf *config.BaseConfigure) { //listen := fmt.Sprintf(":%d", listenPort) go web.RunAdminWeb(conf) }