diff --git a/%E5%85%B3%E4%BA%8E%E6%88%91.html b/%E5%85%B3%E4%BA%8E%E6%88%91.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/%E5%85%B3%E4%BA%8E%E6%88%91.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

Redirecting...

+ + diff --git a/404.html b/404.html new file mode 100644 index 0000000..f795fea --- /dev/null +++ b/404.html @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + +
Skip to main content

404

Page not found

That’s a Four-Oh-Four.

+ + + diff --git a/Badge/chrome.png b/Badge/chrome.png new file mode 100644 index 0000000..d27509b Binary files /dev/null and b/Badge/chrome.png differ diff --git a/Badge/chrome2.png b/Badge/chrome2.png new file mode 100644 index 0000000..db6badc Binary files /dev/null and b/Badge/chrome2.png differ diff --git a/Badge/edge.png b/Badge/edge.png new file mode 100644 index 0000000..458dc07 Binary files /dev/null and b/Badge/edge.png differ diff --git a/Badge/firefox.png b/Badge/firefox.png new file mode 100644 index 0000000..e517411 Binary files /dev/null and b/Badge/firefox.png differ diff --git a/Badge/opera.png b/Badge/opera.png new file mode 100644 index 0000000..efcd347 Binary files /dev/null and b/Badge/opera.png differ diff --git a/Brands/android.svg b/Brands/android.svg new file mode 100644 index 0000000..2bde3e7 --- /dev/null +++ b/Brands/android.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Brands/apple.svg b/Brands/apple.svg new file mode 100644 index 0000000..335236d --- /dev/null +++ b/Brands/apple.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Brands/linux.svg b/Brands/linux.svg new file mode 100644 index 0000000..06497b7 --- /dev/null +++ b/Brands/linux.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Brands/windows.svg b/Brands/windows.svg new file mode 100644 index 0000000..1b7c156 --- /dev/null +++ b/Brands/windows.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git "a/Change-name/QQ\345\233\276\347\211\20720220512025429.png" "b/Change-name/QQ\345\233\276\347\211\20720220512025429.png" new file mode 100644 index 0000000..360bad1 Binary files /dev/null and "b/Change-name/QQ\345\233\276\347\211\20720220512025429.png" differ diff --git "a/Change-name/QQ\345\233\276\347\211\20720220512025924.png" "b/Change-name/QQ\345\233\276\347\211\20720220512025924.png" new file mode 100644 index 0000000..82b7246 Binary files /dev/null and "b/Change-name/QQ\345\233\276\347\211\20720220512025924.png" differ diff --git a/Change-name/Snipaste_2022-05-12_02-54-07.png b/Change-name/Snipaste_2022-05-12_02-54-07.png new file mode 100644 index 0000000..a1db07c Binary files /dev/null and b/Change-name/Snipaste_2022-05-12_02-54-07.png differ diff --git a/assets/2FA to import Guard.html-52a373fb.js b/assets/2FA to import Guard.html-52a373fb.js new file mode 100644 index 0000000..bfe3d11 --- /dev/null +++ b/assets/2FA to import Guard.html-52a373fb.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-b290ac38","path":"/en/document/Steam%20Guard/2FA%20to%20import%20Guard.html","title":"2FA application import Guard","lang":"en","frontmatter":{"description":"WinAuth Exported .txt file, usually named \\"winauth-date.txt\\" by default steam++令牌导入教程-从WinAuth导入 (https://www.bilibili.com/read/cv10145591) (BiliBili)@牛奶君 (https://space.bilibil...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Steam%20Guard/2FA%20to%20import%20Guard.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"2FA application import Guard"}],["meta",{"property":"og:description","content":"WinAuth Exported .txt file, usually named \\"winauth-date.txt\\" by default steam++令牌导入教程-从WinAuth导入 (https://www.bilibili.com/read/cv10145591) (BiliBili)@牛奶君 (https://space.bilibil..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2022-05-19T14:06:13.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-19T14:06:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"2FA application import Guard\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-19T14:06:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"WinAuth","slug":"winauth","link":"#winauth","children":[]},{"level":2,"title":"Steam Desktop Auth(SDA)","slug":"steam-desktop-auth-sda","link":"#steam-desktop-auth-sda","children":[]},{"level":2,"title":"Other 2FA applications","slug":"other-2fa-applications","link":"#other-2fa-applications","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1652969173000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":3}]},"readingTime":{"minutes":0.46,"words":138},"filePathRelative":"en/document/Steam Guard/2FA to import Guard.md","localizedDate":"May 14, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/2FA to import Guard.html-644deed2.js b/assets/2FA to import Guard.html-644deed2.js new file mode 100644 index 0000000..c80da7c --- /dev/null +++ b/assets/2FA to import Guard.html-644deed2.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as i,o as n,c as s,a as e,b as t,d as o,e as l}from"./app-d53ff271.js";const c="/SteamTools-Guide/assets/import-other-Guard-86de6fd7.png",d="/SteamTools-Guide/assets/import-phone-Guard-0fa73e84.png",h={},p=e("h1",{id:"_2fa-application-import-guard",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2fa-application-import-guard","aria-hidden":"true"},"#"),t(" 2FA application import Guard")],-1),_=e("h2",{id:"winauth",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#winauth","aria-hidden":"true"},"#"),t(" WinAuth")],-1),u=e("p",null,'Exported .txt file, usually named "winauth-date.txt" by default',-1),m={href:"https://www.bilibili.com/read/cv10145591",target:"_blank",rel:"noopener noreferrer"},f={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},b=l('

Steam Desktop Auth(SDA)

The exported .maFile file is usually named "a string of numbers .maFile" by default

Steam++ Click Steam Authenticator-New- choose Import from other apps.

Software Import

',5),g={href:"https://www.bilibili.com/read/cv10145788",target:"_blank",rel:"noopener noreferrer"},x={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},w=e("h2",{id:"other-2fa-applications",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#other-2fa-applications","aria-hidden":"true"},"#"),t(" Other 2FA applications")],-1),k=e("p",null,"According to the software instructions, copy/export the Guard and find the following required content and enter it according to the image",-1),A=e("p",null,[e("img",{src:d,alt:"Other import"})],-1);function S(F,G){const a=i("ExternalLinkIcon");return n(),s("div",null,[p,_,u,e("p",null,[e("a",m,[t("steam++令牌导入教程-从WinAuth导入"),o(a)]),t(),e("a",f,[t("(BiliBili)@牛奶君"),o(a)])]),b,e("p",null,[e("a",g,[t("steam++令牌导入教程-从Steam Desktop Authenticator导入"),o(a)]),t(),e("a",x,[t("(BiliBili)@牛奶君"),o(a)])]),w,k,A])}const v=r(h,[["render",S],["__file","2FA to import Guard.html.vue"]]);export{v as default}; diff --git a/assets/2FA.html-0e94dcb4.js b/assets/2FA.html-0e94dcb4.js new file mode 100644 index 0000000..ee320f7 --- /dev/null +++ b/assets/2FA.html-0e94dcb4.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-3bcf8d47","path":"/zh/document/Functions/ASF/2FA.html","title":"在 ASF 中使用 2FA","lang":"zh","frontmatter":{"description":"将 2FA 导入 ASF 中可以在运行 ASF 的时候自动验证令牌以及确认能市场交易 注意,导入 ASF 中的 2FA 文件无法直接导出,请不要只保留 ASF 的 2FA 验证 导入 2FA 选择一个机器人 -> 点击锁图标的 两步验证 -> 点击 导入验证器 -> 选择后缀为 .mafile 的令牌文件 如何获取 .mafile Android/iO...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/ASF/2FA.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"在 ASF 中使用 2FA"}],["meta",{"property":"og:description","content":"将 2FA 导入 ASF 中可以在运行 ASF 的时候自动验证令牌以及确认能市场交易 注意,导入 ASF 中的 2FA 文件无法直接导出,请不要只保留 ASF 的 2FA 验证 导入 2FA 选择一个机器人 -> 点击锁图标的 两步验证 -> 点击 导入验证器 -> 选择后缀为 .mafile 的令牌文件 如何获取 .mafile Android/iO..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"在 ASF 中使用 2FA\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"导入 2FA","slug":"导入-2fa","link":"#导入-2fa","children":[]},{"level":2,"title":"如何获取 .mafile","slug":"如何获取-mafile","link":"#如何获取-mafile","children":[{"level":3,"title":"Android/iOS","slug":"android-ios","link":"#android-ios","children":[]},{"level":3,"title":"SteamDesktopAuthenticator","slug":"steamdesktopauthenticator","link":"#steamdesktopauthenticator","children":[]},{"level":3,"title":"Steam++","slug":"steam","link":"#steam","children":[]},{"level":3,"title":"WinAuth","slug":"winauth","link":"#winauth","children":[]},{"level":3,"title":"其他二步验证应用","slug":"其他二步验证应用","link":"#其他二步验证应用","children":[]}]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.42,"words":425},"filePathRelative":"zh/document/Functions/ASF/2FA.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/2FA.html-79ef0fcc.js b/assets/2FA.html-79ef0fcc.js new file mode 100644 index 0000000..05b9fa0 --- /dev/null +++ b/assets/2FA.html-79ef0fcc.js @@ -0,0 +1,5 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as a,c as d,e as n}from"./app-d53ff271.js";const t={},o=n(`

在 ASF 中使用 2FA

将 2FA 导入 ASF 中可以在运行 ASF 的时候自动验证令牌以及确认能市场交易

提示

注意,导入 ASF 中的 2FA 文件无法直接导出,请不要只保留 ASF 的 2FA 验证

导入 2FA

选择一个机器人 -> 点击锁图标的 两步验证 -> 点击 导入验证器 -> 选择后缀为 .mafile 的令牌文件

如何获取 .mafile

Android/iOS

参考 [steam++令牌导入教程](/document/Steam Guard/import/android令牌) 获取到 steamguard-xxxxx 文件,将文件后缀改为 .mafile

SteamDesktopAuthenticator

打开SDA文件夹中的 maFile 文件夹,找到其中的 SteamID.mafile 文件

请在复制前确保你没有设置加密,即使用记事本打开后第一个字符为 { ,如果不是,请在SDA中点击 Setup Encryption ,输入密码后连续点击三次 Accept ,将加密清空后再操作

Steam++

首先在令牌处点击查看令牌详细数据按钮(如图第三个按钮)

复制 SteamGuard 栏中的所有内容,创建一个新的文本文件,将复制的文本原样粘贴进去,将文件后缀改为 .mafile

WinAuth

首先右击条目,选择 Show SteamGuard and Recovery Code

勾选 Allow copy 以允许复制,然后选择最后一个大框中的所有内容,创建一个新的文本文件,将复制的文本原样粘贴进去,将文件后缀改为 .mafile

其他二步验证应用

由于各个 2FA 应用获取信息方法各不相同,此处无法给出详细步骤,请根据各软件教程获取数据后,按如下格式保存后缀为 .mafile 的文件

{
+  "shared_secret": "字符串",
+  "identity_secret": "字符串"
+}
+
`,20),s=[o];function i(c,r){return a(),d("div",null,s)}const l=e(t,[["render",i],["__file","2FA.html.vue"]]);export{l as default}; diff --git "a/assets/2FA\344\273\244\347\211\214.html-2b9fa80e.js" "b/assets/2FA\344\273\244\347\211\214.html-2b9fa80e.js" new file mode 100644 index 0000000..fd28195 --- /dev/null +++ "b/assets/2FA\344\273\244\347\211\214.html-2b9fa80e.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-dd27c282","path":"/zh/document/Functions/Steam%20Guard/import/2FA%E4%BB%A4%E7%89%8C.html","title":"2FA应用","lang":"zh","frontmatter":{"description":"WinAuth 导出的.txt文件,通常默认命名为“winauth-日期.txt” steam++令牌导入教程-从WinAuth导入 (https://www.bilibili.com/read/cv10145591) (BiliBili)@牛奶君 (https://space.bilibili.com/484296) Steam Desktop Au...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/2FA%E4%BB%A4%E7%89%8C.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"2FA应用"}],["meta",{"property":"og:description","content":"WinAuth 导出的.txt文件,通常默认命名为“winauth-日期.txt” steam++令牌导入教程-从WinAuth导入 (https://www.bilibili.com/read/cv10145591) (BiliBili)@牛奶君 (https://space.bilibili.com/484296) Steam Desktop Au..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"2FA应用\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"WinAuth","slug":"winauth","link":"#winauth","children":[]},{"level":2,"title":"Steam Desktop Auth(SDA)","slug":"steam-desktop-auth-sda","link":"#steam-desktop-auth-sda","children":[]},{"level":2,"title":"其他2FA应用","slug":"其他2fa应用","link":"#其他2fa应用","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.57,"words":172},"filePathRelative":"zh/document/Functions/Steam Guard/import/2FA令牌.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/2FA\344\273\244\347\211\214.html-423db924.js" "b/assets/2FA\344\273\244\347\211\214.html-423db924.js" new file mode 100644 index 0000000..1fc97b2 --- /dev/null +++ "b/assets/2FA\344\273\244\347\211\214.html-423db924.js" @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as i,o as n,c as s,a as e,b as t,d as o,e as c}from"./app-d53ff271.js";const d="/SteamTools-Guide/assets/import-other-Guard-86de6fd7.png",l="/SteamTools-Guide/assets/import-phone-Guard-0fa73e84.png",h={},_=e("h1",{id:"_2fa应用",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2fa应用","aria-hidden":"true"},"#"),t(" 2FA应用")],-1),p=e("h2",{id:"winauth",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#winauth","aria-hidden":"true"},"#"),t(" WinAuth")],-1),m=e("p",null,"导出的.txt文件,通常默认命名为“winauth-日期.txt”",-1),u={href:"https://www.bilibili.com/read/cv10145591",target:"_blank",rel:"noopener noreferrer"},f={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},b=c('

Steam Desktop Auth(SDA)

导出的.maFile文件,通常默认命名为“一串数字.maFile”

Steam++ 点击令牌管理-新增-选择Steam++ 导入

软件导入

',5),k={href:"https://www.bilibili.com/read/cv10145788",target:"_blank",rel:"noopener noreferrer"},x={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},A=e("h2",{id:"其他2fa应用",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#其他2fa应用","aria-hidden":"true"},"#"),t(" 其他2FA应用")],-1),w=e("p",null,"根据软件说明,复制/导出令牌,并找到以下所需内容并依照图片输入",-1),S=e("p",null,[e("img",{src:l,alt:"其他导入"})],-1);function g(F,B){const a=i("ExternalLinkIcon");return n(),s("div",null,[_,p,m,e("p",null,[e("a",u,[t("steam++令牌导入教程-从WinAuth导入"),o(a)]),t(),e("a",f,[t("(BiliBili)@牛奶君"),o(a)])]),b,e("p",null,[e("a",k,[t("steam++令牌导入教程-从Steam Desktop Authenticator导入"),o(a)]),t(),e("a",x,[t("(BiliBili)@牛奶君"),o(a)])]),A,w,S])}const G=r(h,[["render",g],["__file","2FA令牌.html.vue"]]);export{G as default}; diff --git a/assets/404.html-716e8c43.js b/assets/404.html-716e8c43.js new file mode 100644 index 0000000..351435f --- /dev/null +++ b/assets/404.html-716e8c43.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c}from"./app-d53ff271.js";const o={};function r(_,n){return t(),c("div")}const f=e(o,[["render",r],["__file","404.html.vue"]]);export{f as default}; diff --git a/assets/404.html-bab6ae37.js b/assets/404.html-bab6ae37.js new file mode 100644 index 0000000..1fde739 --- /dev/null +++ b/assets/404.html-bab6ae37.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-3706649a","path":"/404.html","title":"","lang":"en-US","frontmatter":{"layout":"NotFound","description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/404.html"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":0},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/APEX-SUBID-bcde1217.png b/assets/APEX-SUBID-bcde1217.png new file mode 100644 index 0000000..c8f0053 Binary files /dev/null and b/assets/APEX-SUBID-bcde1217.png differ diff --git "a/assets/ASF-bot\347\225\214\351\235\242-1011262b.png" "b/assets/ASF-bot\347\225\214\351\235\242-1011262b.png" new file mode 100644 index 0000000..9a65ef6 Binary files /dev/null and "b/assets/ASF-bot\347\225\214\351\235\242-1011262b.png" differ diff --git a/assets/ASF.html-3c9aab52.js b/assets/ASF.html-3c9aab52.js new file mode 100644 index 0000000..0beb358 --- /dev/null +++ b/assets/ASF.html-3c9aab52.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-0a3a6bc0","path":"/zh/document/Functions/ASF/ASF.html","title":"什么是ASF","lang":"zh","frontmatter":{"description":"ASF (ArchiSteamFarm) 主要目的是同时从多个账户中自动获取 Steam 集换式卡牌的软件,不过除了本功能还有自动进行交易报价等操作 官方WIKI:中文 (https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Home-zh-CN) , English (https://github.c...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/ASF/ASF.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"什么是ASF"}],["meta",{"property":"og:description","content":"ASF (ArchiSteamFarm) 主要目的是同时从多个账户中自动获取 Steam 集换式卡牌的软件,不过除了本功能还有自动进行交易报价等操作 官方WIKI:中文 (https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Home-zh-CN) , English (https://github.c..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-05T10:13:31.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-05T10:13:31.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"什么是ASF\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-05T10:13:31.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"ASF-ui","slug":"asf-ui","link":"#asf-ui","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699179211000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":1.82,"words":545},"filePathRelative":"zh/document/Functions/ASF/ASF.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/ASF.html-7a09ac0b.js b/assets/ASF.html-7a09ac0b.js new file mode 100644 index 0000000..3e746b1 --- /dev/null +++ b/assets/ASF.html-7a09ac0b.js @@ -0,0 +1,6 @@ +import{_ as i}from"./plugin-vue_export-helper-c27b6911.js";import{r,o as s,c as a,a as e,b as t,d as o,f as c}from"./app-d53ff271.js";const h={},_=e("h1",{id:"什么是asf",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#什么是asf","aria-hidden":"true"},"#"),t(" 什么是ASF")],-1),l=e("p",null,"ASF (ArchiSteamFarm) 主要目的是同时从多个账户中自动获取 Steam 集换式卡牌的软件,不过除了本功能还有自动进行交易报价等操作",-1),A={class:"hint-container tip"},d=e("p",{class:"hint-container-title"},"提示",-1),u={href:"https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Home-zh-CN",target:"_blank",rel:"noopener noreferrer"},S={href:"https://github.com/JustArchiNET/ArchiSteamFarm/wiki",target:"_blank",rel:"noopener noreferrer"},F=e("p",null,"ASF 是一个控制台应用程序,这意味着,至少在一开始,它没有提供一个您熟悉的友好 GUI 界面。",-1),p=e("p",null,"ASF 主要应该在服务器上运行,所以它更像是一个服务(守护进程)而不是一个桌面应用。",-1),m=e("p",null,"ASF 的功能特别多,不过因为本指南是使用的 Watt Toolkit 内置的 ASF ,并非挂载在服务器上",-1),f=e("p",null,"不过社区开发了一个 WebUi 的 GUI 界面,现在下载 ASF 的发行版都内置了 WebUi 的 GUI 控制台 位于 ASF-win-x64/UI",-1),I=e("h2",{id:"asf-ui",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#asf-ui","aria-hidden":"true"},"#"),t(" ASF-ui")],-1),b=e("p",null,"ASF-ui 是一个社区项目,主要为最终用户提供了一个用户友好的图形界面 Web 接口。 为了达成这一目的,它被设计为 ASF API 的前端,使您可以轻松操作 ASF。 这是 ASF 自带的默认 UI。",-1),k={href:"https://github.com/JustArchiNET/ASF-ui",target:"_blank",rel:"noopener noreferrer"},x=e("p",null,"您可以使用 ASF-ui 对 ASF 进行常规管理。 例如管理机器人、修改设置、发送命令,以及 ASF 提供的各种其他功能。",-1);function N(g,C){const n=r("ExternalLinkIcon");return s(),a("div",null,[_,l,e("div",A,[d,e("p",null,[t("官方WIKI:"),e("a",u,[t("中文"),o(n)]),t(" , "),e("a",S,[t("English"),o(n)])])]),F,p,m,f,c(` ASF-ui 配置 +我们的 ASF-ui IPC 接口同样支持配置 ASF,并且特别适合在第一次配置之后修改配置内容,因为与在线配置文件生成器总是生成新文件不同,ASF-ui 可以在原地直接编辑配置文件。 + +要使用 ASF-ui,首先您需要启用 IPC 接口本身。 自 ASF V5.1.0.0 版本开始,IPC 已默认启用,因此只要您没有手动禁用它,就可以直接开始访问。 + +程序启动后,直接访问 ASF 的 IPC 地址。 如果一切都正常工作,您也可以在这里更改 ASF 配置。 `),I,b,e("p",null,[t("如上所述,ASF-ui 是一个社区项目,并非由 ASF 核心开发者维护。 它遵循自己的开发流程,所有相关的问题、讨论、漏洞报告和建议都应该发表于 "),e("a",k,[t("ASF-ui 仓库"),o(n)]),t("。")]),x])}const P=i(h,[["render",N],["__file","ASF.html.vue"]]);export{P as default}; diff --git a/assets/Account-switching-ce8ecd9e.png b/assets/Account-switching-ce8ecd9e.png new file mode 100644 index 0000000..1ed8c36 Binary files /dev/null and b/assets/Account-switching-ce8ecd9e.png differ diff --git a/assets/Android to import Guard.html-26948d33.js b/assets/Android to import Guard.html-26948d33.js new file mode 100644 index 0000000..bc47c6c --- /dev/null +++ b/assets/Android to import Guard.html-26948d33.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as a,o as i,c as l,a as e,b as o,d as n}from"./app-d53ff271.js";const s={},d=e("h1",{id:"android-phone-import-token",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#android-phone-import-token","aria-hidden":"true"},"#"),o(" Android phone import token")],-1),h=e("p",null,"Android phones can be divided into three cases depending on the situation different manufacturers. Any Android phone with root Some Android phone manufacturers, have their own backup software, and the backup file is not encrypted / encryption can be cracked The phone is not rooted, and can not backup the corresponding data / can not decrypt the backup data, this method is re-binding, so there may be temporary hanging",-1),c=e("h2",{id:"have-root",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#have-root","aria-hidden":"true"},"#"),o(" have root")],-1),p={href:"https://www.bilibili.com/read/cv10142098?from=articleDetail",target:"_blank",rel:"noopener noreferrer"},_={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},u=e("ul",null,[e("li",null,"A phone with the target account token tied to it and rooted")],-1),f=e("h2",{id:"no-root",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#no-root","aria-hidden":"true"},"#"),o(" no root")],-1),m=e("blockquote",null,[e("p",null,"A phone with a target account token is required, and depending on the phone brand, different software is also required, this solution is not available for all brands")],-1),b={href:"https://www.bilibili.com/read/cv10052462",target:"_blank",rel:"noopener noreferrer"},k={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},g=e("p",null,"This solution involves a large number of cell phone brands and is summarized as follows",-1),v=e("ol",null,[e("li",null,[e("p",null,"backup SteamApp through the phone manufacturer's own backup software with high privileges")]),e("li",null,[e("p",null,"extract the backup file and import the token")])],-1),w=e("p",null,"Known links to related tutorials.",-1),y={href:"https://keylol.com/t684133-1-1",target:"_blank",rel:"noopener noreferrer"},A=e("s",null,"vivo",-1),x={href:"https://keylol.com/t524510-1-1",target:"_blank",rel:"noopener noreferrer"},B={href:"https://keylol.com/t582900-1-1",target:"_blank",rel:"noopener noreferrer"},T={href:"https://keylol.com/t666792-1-1",target:"_blank",rel:"noopener noreferrer"},q=e("s",null,"HuaWei",-1),N=e("p",null,"More brands of cell phones can refer to the above tutorials for their own research",-1),z=e("h2",{id:"no-root-may-have-trading-pending",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#no-root-may-have-trading-pending","aria-hidden":"true"},"#"),o(" No root, may have Trading Pending")],-1),D={href:"https://keylol.com/t757408-1-1",target:"_blank",rel:"noopener noreferrer"},E={href:"https://keylol.com/suid-218128",target:"_blank",rel:"noopener noreferrer"};function G(L,V){const t=a("ExternalLinkIcon");return i(),l("div",null,[d,h,c,e("p",null,[e("a",p,[o("steam++令牌导入教程-从Android App导入-须root的方式"),n(t)]),o(),e("a",_,[o("(BiliBili)@牛奶君"),n(t)])]),u,f,m,e("p",null,[e("a",b,[o("steam++令牌导入教程-从Android App导入-无须root的方式"),n(t)]),o(),e("a",k,[o("(BiliBili)@牛奶君"),n(t)])]),g,v,w,e("blockquote",null,[e("p",null,[e("a",y,[A,n(t)]),o("The new version is encrypted")]),e("p",null,[e("a",x,[o("Xiaomi"),n(t)])]),e("p",null,[e("a",B,[o("LG"),n(t)]),o("Decryption")]),e("p",null,[e("a",T,[q,n(t)]),o("The new version has modified encryption")])]),N,z,e("p",null,[e("a",D,[o("安卓手机利用 ADB 免 root 导出令牌(避免暂挂)"),n(t)]),o(),e("a",E,[o("(其乐 Keylol)@sffxzzp"),n(t)])])])}const S=r(s,[["render",G],["__file","Android to import Guard.html.vue"]]);export{S as default}; diff --git a/assets/Android to import Guard.html-77bc4199.js b/assets/Android to import Guard.html-77bc4199.js new file mode 100644 index 0000000..0b1937b --- /dev/null +++ b/assets/Android to import Guard.html-77bc4199.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-0b4afe7c","path":"/en/document/Steam%20Guard/Android%20to%20import%20Guard.html","title":"Android phone import token","lang":"en","frontmatter":{"description":"Android phones can be divided into three cases depending on the situation different manufacturers. Any Android phone with root Some Android phone manufacturers, have their own b...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Steam%20Guard/Android%20to%20import%20Guard.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"Android phone import token"}],["meta",{"property":"og:description","content":"Android phones can be divided into three cases depending on the situation different manufacturers. Any Android phone with root Some Android phone manufacturers, have their own b..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2022-05-14T21:22:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-14T21:22:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Android phone import token\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-14T21:22:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"have root","slug":"have-root","link":"#have-root","children":[]},{"level":2,"title":"no root","slug":"no-root","link":"#no-root","children":[]},{"level":2,"title":"No root, may have Trading Pending","slug":"no-root-may-have-trading-pending","link":"#no-root-may-have-trading-pending","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1652563337000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":2}]},"readingTime":{"minutes":0.99,"words":297},"filePathRelative":"en/document/Steam Guard/Android to import Guard.md","localizedDate":"May 14, 2022","autoDesc":true}');export{e as data}; diff --git a/assets/Apple to import Guard.html-2cd84a35.js b/assets/Apple to import Guard.html-2cd84a35.js new file mode 100644 index 0000000..aa6aa9e --- /dev/null +++ b/assets/Apple to import Guard.html-2cd84a35.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as i,o as l,c as d,a as e,b as t,d as a,e as n}from"./app-d53ff271.js";const s={},c=e("h1",{id:"apple-phone-import-token",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#apple-phone-import-token","aria-hidden":"true"},"#"),t(" Apple phone import token")],-1),p=e("h2",{id:"jailbroken",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#jailbroken","aria-hidden":"true"},"#"),t(" Jailbroken")],-1),X={href:"https://github.com/SteamTools-Team/SteamTools/issues/95",target:"_blank",rel:"noopener noreferrer"},h=n('

Open /var/mobile/Containers/Data/Application/{String} with Filza, the number string location is Steam data folder, it may be different, Filza will show it as "Steam" Open /Documents/Steamguard-xxxxxxxxxxxxxxxx with text, go to the bottom and find the otpauth column and paste it into Steam++ Open /Library/Preferences/com.valvesoftware.Steam with text and find <string>/var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX- XXXXXXXXXXXXXX/Library/Caches</string>, copy XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX and add android: at the top and paste it into Watt Toolkit

Not jailbroken, may have temporary hang

The token export for iOS can be found at

',3),m={href:"https://keylol.com/t728973-1-1",target:"_blank",rel:"noopener noreferrer"},_={href:"https://keylol.com/t696543-1-1",target:"_blank",rel:"noopener noreferrer"},f={href:"https://keylol.com/t703874-1-1",target:"_blank",rel:"noopener noreferrer"},u={href:"https://keylol.com/t245711-1-1",target:"_blank",rel:"noopener noreferrer"},x=n("

Simple steps.

  1. Uninstall the Steam token
  2. Uninstall and install iTunes Old Version.
  3. Use iOS old app download to download old version of Steam.
  4. Extract ipa and install it with 爱思助手 and other tools
  5. Bind the token and backup the data
",2);function k(b,S){const o=i("ExternalLinkIcon");return l(),d("div",null,[c,p,e("p",null,[t("This program is quoted and modified from"),e("a",X,[t("Steam++ issues #95"),a(o)])]),h,e("blockquote",null,[e("p",null,[e("a",m,[t("越狱IOS设备无损导入Steam令牌至Steam++"),a(o)])]),e("p",null,[e("a",_,[t("高版本的iOS导出Steam手机令牌教程"),a(o)])]),e("p",null,[e("a",f,[t("2021未越狱iOS设备提取Steam令牌导入ASF的方法"),a(o)])]),e("p",null,[e("a",u,[t("[云挂卡]未越狱iOS设备也可以使用ASF 2FA功能了"),a(o)])])]),x])}const v=r(s,[["render",k],["__file","Apple to import Guard.html.vue"]]);export{v as default}; diff --git a/assets/Apple to import Guard.html-c7d922a2.js b/assets/Apple to import Guard.html-c7d922a2.js new file mode 100644 index 0000000..e146f85 --- /dev/null +++ b/assets/Apple to import Guard.html-c7d922a2.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-3f883c12","path":"/en/document/Steam%20Guard/Apple%20to%20import%20Guard.html","title":"Apple phone import token","lang":"en","frontmatter":{"description":"Jailbroken This program is quoted and modified fromSteam++ issues #95 (https://github.com/SteamTools-Team/SteamTools/issues/95) Open /var/mobile/Containers/Data/Application/{Str...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Steam%20Guard/Apple%20to%20import%20Guard.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"Apple phone import token"}],["meta",{"property":"og:description","content":"Jailbroken This program is quoted and modified fromSteam++ issues #95 (https://github.com/SteamTools-Team/SteamTools/issues/95) Open /var/mobile/Containers/Data/Application/{Str..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2022-05-14T21:22:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-14T21:22:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Apple phone import token\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-14T21:22:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"Jailbroken","slug":"jailbroken","link":"#jailbroken","children":[]},{"level":2,"title":"Not jailbroken, may have temporary hang","slug":"not-jailbroken-may-have-temporary-hang","link":"#not-jailbroken-may-have-temporary-hang","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1652563337000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":2}]},"readingTime":{"minutes":0.79,"words":237},"filePathRelative":"en/document/Steam Guard/Apple to import Guard.md","localizedDate":"May 14, 2022","autoDesc":true}');export{e as data}; diff --git a/assets/Auto-Gametime-087e1710.png b/assets/Auto-Gametime-087e1710.png new file mode 100644 index 0000000..de68c1e Binary files /dev/null and b/assets/Auto-Gametime-087e1710.png differ diff --git a/assets/Auto-shutdown-6027d505.png b/assets/Auto-shutdown-6027d505.png new file mode 100644 index 0000000..c623651 Binary files /dev/null and b/assets/Auto-shutdown-6027d505.png differ diff --git a/assets/Communication.html-021b79bd.js b/assets/Communication.html-021b79bd.js new file mode 100644 index 0000000..13a81b9 --- /dev/null +++ b/assets/Communication.html-021b79bd.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as r,c as o,e as t}from"./app-d53ff271.js";const a={},n=t('

相关链接

  1. Watt Toolkit 官网steampp.net
  2. Watt Toolkit GitHubBeyondDimension/SteamTools
  3. Watt Toolkit GiteeSteamTools/releases
  4. Watt Toolkit GitHub 反馈GitHub Issues

作者

  1. 软妹币玩家BiliBili
  2. 赞助链接爱发电

QQ 群

  1. Steam ++ 用户交流反馈 一群53617681
  2. Steam ++ 用户交流反馈 二群479036439
  3. Steam ++ 用户交流反馈 三群101075312
  4. Steam ++ 用户交流反馈 四群960746023
  5. Steam ++ QQ频道8u62fhcb7f
',6),i=[n];function l(s,m){return r(),o("div",null,i)}const g=e(a,[["render",l],["__file","Communication.html.vue"]]);export{g as default}; diff --git a/assets/Communication.html-8bbdc601.js b/assets/Communication.html-8bbdc601.js new file mode 100644 index 0000000..34ce69c --- /dev/null +++ b/assets/Communication.html-8bbdc601.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-4963a7c8","path":"/zh/document/Start/Communication.html","title":"联系作者","lang":"zh","frontmatter":{"title":"联系作者","description":"联系作者","pageClass":"link-box","externalLinkIcon":false,"sidebar":false,"head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Communication.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"联系作者"}],["meta",{"property":"og:description","content":"联系作者"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"联系作者\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"相关链接","slug":"相关链接","link":"#相关链接","children":[]},{"level":2,"title":"作者","slug":"作者","link":"#作者","children":[]},{"level":2,"title":"QQ 群","slug":"qq-群","link":"#qq-群","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.66,"words":199},"filePathRelative":"zh/document/Start/Communication.md","localizedDate":"2023年11月4日"}');export{t as data}; diff --git a/assets/Download Guide.html-cfbce58b.js b/assets/Download Guide.html-cfbce58b.js new file mode 100644 index 0000000..e8531f2 --- /dev/null +++ b/assets/Download Guide.html-cfbce58b.js @@ -0,0 +1,14 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as r,c as a,a as n,b as l,d as i,f as o,e as c}from"./app-d53ff271.js";const u={},d=n("h1",{id:"下载指南",tabindex:"-1"},[n("a",{class:"header-anchor",href:"#下载指南","aria-hidden":"true"},"#"),l(" 下载指南")],-1),_=n("p",null,"Desktop(桌面端)",-1),p=n("li",null,[l("如果你使用 "),n("span",{style:{color:"orange"}},"Intel、AMD 的 x64(x86-64/AMD64)"),l(" 芯片的 PC,则下载文件名中带有 "),n("span",{style:{color:"red"}},[n("strong",null,"win_x64")]),l(" 的文件")],-1),x=n("strong",null,"框架依赖版(framework-dependent executable / fde)",-1),m=n("li",null,[l("需要 "),n("strong",null,"《ASP.NET Core 运行时 6.0.x》"),l(" 与 "),n("strong",null,"《.NET 运行时 6.0.x》"),l(",如果你 "),n("strong",null,"已安装"),l(" 了相关运行时,则下载文件名中带有 "),n("strong",null,"fde"),l(" 的文件,可减少本应用占用的磁盘空间")],-1),g=n("strong",null,"未安装相关运行时则应下载文件名中不包含 fde 的文件",-1),h={href:"https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0",target:"_blank",rel:"noopener noreferrer"},f=n("li",null,[l("在网页上点击 安装程序 x64 的链接即可下载,通常下载的文件名如下,将其安装后即可,无安装顺序要求 "),n("ul",null,[n("li",null,"dotnet-runtime-6.0.x-win-x64.exe (.NET 运行时 6.0.x)"),n("li",null,"aspnetcore-runtime-6.0.x-win-x64.exe (ASP.NET Core 运行时 6.0.x)")])],-1),M=n("li",null,[l("其他也包含了所需的运行时的下载项,但不推荐仅为运行本应用而安装 "),n("ul",null,[n("li",null,"Hosting Bundle 还包含了本应用不需要的 IIS 运行时支持 (ASP.NET Core Module v2) 与 x86 的多个运行库"),n("li",null,"SDK 包含了较多不需要的内容")])],-1),A=c('
  • macOS
  • Linux
  • ',2),y=n("li",null,[n("p",null,"Mobile(移动端)"),n("ul",null,[n("li",null,[l("Android "),n("ul",null,[n("li",null,[l("如果你使用 "),n("span",{style:{color:"orange"}},"ARM64"),l(" 芯片的设备(较为"),n("strong",null,"普遍"),l(")则下载文件名中带有 "),n("span",{style:{color:"red"}},[n("strong",null,"android")]),l(" 的文件")])])])])],-1);function N(P,S){const t=s("ExternalLinkIcon");return r(),a("div",null,[d,n("ul",null,[n("li",null,[_,n("ul",null,[n("li",null,[l("Windows "),n("ul",null,[p,n("li",null,[x,n("ul",null,[m,n("li",null,[l("如果你 "),g,l(",或在 "),n("a",h,[l("此下载"),i(t)]),l(" 最新的 6.0.x 运行时")]),f,M])])])]),A])]),y]),o(` +- Mobile(移动端) + - Android + - 如果你使用 ARM64 芯片的设备(较为**普遍**)则下载文件名中带有 **android_arm64_v8a** 的文件 + - 如果你使用 ARM32 芯片的设备(较为**稀有**)通常为 **14** 年下半年之前生产的设备,则下载文件名中带有 **android_armeabi_v7a** 的文件 + - 如果你使用 Intel、AMD 的 x64 芯片的设备(较为**稀有**)则下载文件名中带有 **android_x64** 的文件 +`),o(` +- 如果你使用 ARM64 芯片的 PC(极为**稀有**),例如 **Surface Pro X**,则下载文件名中带有 **win_x64** 的文件可通过 Win11 x86 模拟运行 +- **[暂未支持]** ~~如果你使用 ARM64 芯片的 PC(极为**稀有**),例如 **Surface Pro X**,则下载文件名中带有 **win_arm64** 的文件~~ +- **[暂未支持]** ~~如果你使用 ARM64 芯片的 Mac(较为**稀有**),例如 **M1**,则下载文件名中带有 **macos_arm64** 的文件~~ + - [在 Linux 上安装 .NET](https://docs.microsoft.com/en-us/dotnet/core/install/linux) + - 推荐 [通过 Snap 安装 .NET Runtime](https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-snap) + - \`\`\`sudo snap install dotnet-runtime-60 --classic\`\`\` +`)])}const E=e(u,[["render",N],["__file","Download Guide.html.vue"]]);export{E as default}; diff --git a/assets/Download Guide.html-e08904f1.js b/assets/Download Guide.html-e08904f1.js new file mode 100644 index 0000000..14246d9 --- /dev/null +++ b/assets/Download Guide.html-e08904f1.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-c0bef542","path":"/zh/document/Start/Download%20Guide.html","title":"下载指南","lang":"zh","frontmatter":{"description":"Desktop(桌面端); Windows; 如果你使用 Intel、AMD 的 x64(x86-64/AMD64) 芯片的 PC,则下载文件名中带有 win_x64 的文件; 框架依赖版(framework-dependent executable / fde); 需要 《ASP.NET Core 运行时 6.0.x》 与 《.NET 运行时 6.0...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Download%20Guide.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"下载指南"}],["meta",{"property":"og:description","content":"Desktop(桌面端); Windows; 如果你使用 Intel、AMD 的 x64(x86-64/AMD64) 芯片的 PC,则下载文件名中带有 win_x64 的文件; 框架依赖版(framework-dependent executable / fde); 需要 《ASP.NET Core 运行时 6.0.x》 与 《.NET 运行时 6.0..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"下载指南\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.44,"words":731},"filePathRelative":"zh/document/Start/Download Guide.md","localizedDate":"2023年11月4日","autoDesc":true}');export{e as data}; diff --git a/assets/Download channel.html-70ac2415.js b/assets/Download channel.html-70ac2415.js new file mode 100644 index 0000000..8b0f31c --- /dev/null +++ b/assets/Download channel.html-70ac2415.js @@ -0,0 +1 @@ +const e=JSON.parse(`{"key":"v-32aec13d","path":"/en/document/Start/Download%20channel.html","title":"🚀 Download Channel","lang":"en","frontmatter":{"description":"![GitHub Releases (https://img.shields.io/badge/Github-Releases-fff)](https://github.com/BeyondDimension/SteamTools/releases) ![Gitte Releases (https://img.shields.io/badge/Gite...","head":[["link",{"rel":"alternate","hreflang":"zh","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Download%20channel.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Start/Download%20channel.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"🚀 Download Channel"}],["meta",{"property":"og:description","content":"![GitHub Releases (https://img.shields.io/badge/Github-Releases-fff)](https://github.com/BeyondDimension/SteamTools/releases) ![Gitte Releases (https://img.shields.io/badge/Gite..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:locale:alternate","content":"zh"}],["meta",{"property":"og:updated_time","content":"2022-05-14T21:27:12.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-14T21:27:12.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"🚀 Download Channel\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-14T21:27:12.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"Don't know which file to download?","slug":"don-t-know-which-file-to-download","link":"#don-t-know-which-file-to-download","children":[]},{"level":2,"title":"Multi-platform download links","slug":"multi-platform-download-links","link":"#multi-platform-download-links","children":[]},{"level":2,"title":"Single-platform download link","slug":"single-platform-download-link","link":"#single-platform-download-link","children":[{"level":3,"title":"Desktop","slug":"desktop","link":"#desktop","children":[]},{"level":3,"title":"Mobile","slug":"mobile","link":"#mobile","children":[]}]}],"git":{"createdTime":1652559986000,"updatedTime":1652563632000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":3}]},"readingTime":{"minutes":2.27,"words":680},"filePathRelative":"en/document/Start/Download channel.md","localizedDate":"May 14, 2022","autoDesc":true}`);export{e as data}; diff --git a/assets/Download channel.html-7d58ceea.js b/assets/Download channel.html-7d58ceea.js new file mode 100644 index 0000000..859cbca --- /dev/null +++ b/assets/Download channel.html-7d58ceea.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-9dc2b9d0","path":"/zh/document/Start/Download%20channel.html","title":"🚀 下载渠道","lang":"zh","frontmatter":{"pageClass":"link-box","description":"![GitHub Releases (https://img.shields.io/badge/Github-%E5%8F%91%E8%A1%8C%E7%89%88-fff)](https://github.com/BeyondDimension/SteamTools/releases) ![Gitte Releases (https://img.sh...","head":[["link",{"rel":"alternate","hreflang":"en","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Start/Download%20channel.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Download%20channel.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"🚀 下载渠道"}],["meta",{"property":"og:description","content":"![GitHub Releases (https://img.shields.io/badge/Github-%E5%8F%91%E8%A1%8C%E7%89%88-fff)](https://github.com/BeyondDimension/SteamTools/releases) ![Gitte Releases (https://img.sh..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:locale:alternate","content":"en"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"🚀 下载渠道\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"下载 Watt Toolkit","slug":"下载-watt-toolkit","link":"#下载-watt-toolkit","children":[{"level":3,"title":"多平台下载链接","slug":"多平台下载链接","link":"#多平台下载链接","children":[]},{"level":3,"title":"单平台下载链接","slug":"单平台下载链接","link":"#单平台下载链接","children":[]}]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.01,"words":602},"filePathRelative":"zh/document/Start/Download channel.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/Download channel.html-bc795e59.js b/assets/Download channel.html-bc795e59.js new file mode 100644 index 0000000..ccc3712 --- /dev/null +++ b/assets/Download channel.html-bc795e59.js @@ -0,0 +1,14 @@ +import{_ as i}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as a,c as r,a as e,d as o,b as t,f as l,e as d}from"./app-d53ff271.js";const h={},c=e("h1",{id:"🚀-download-channel",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🚀-download-channel","aria-hidden":"true"},"#"),t(" 🚀 Download Channel")],-1),u={href:"https://github.com/BeyondDimension/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},_=e("img",{src:"https://img.shields.io/badge/Github-Releases-fff",alt:"GitHub Releases"},null,-1),f={href:"https://gitee.com/rmbgame/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},m=e("img",{src:"https://img.shields.io/badge/Gitee-Releases-c71d23",alt:"Gitte Releases"},null,-1),p={href:"https://steampp.net",target:"_blank",rel:"noopener noreferrer"},g=e("img",{src:"https://img.shields.io/badge/Official-WebSite-1890ff",alt:"Official WebSite"},null,-1),w={href:"https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG",target:"_blank",rel:"noopener noreferrer"},x=e("img",{src:"https://img.shields.io/badge/Micrsoft-store-0d63a6",alt:"Microsoft Store"},null,-1),b={href:"https://aur.archlinux.org/packages/steam%2B%2B-bin",target:"_blank",rel:"noopener noreferrer"},y=e("img",{src:"https://img.shields.io/badge/Arch Linux Package-zhanghua000-1793d1",alt:"Arch Linux Package"},null,-1),k=e("h2",{id:"don-t-know-which-file-to-download",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#don-t-know-which-file-to-download","aria-hidden":"true"},"#"),t(" Don't know which file to download?")],-1),T=e("p",null,"Windows",-1),S=e("li",null,[t("If you are using a PC with an x64 (x86-64/AMD64) chip from Intel or AMD, download the file with "),e("strong",null,"win_x64"),t(" in the file name")],-1),M=e("strong",null,"framework-dependent executable (fde)",-1),D=e("li",null,[t("NET Core Runtime 6.0.x"),e("strong",null,"and"),t(".NET Runtime 6.0.x**, if you"),e("strong",null,"have"),t("the runtime installed, download the file with"),e("strong",null,"fde"),t(" in the file name to reduce the disk space occupied by this application")],-1),N=e("strong",null,"have not installed the runtime, download the file without",-1),v={href:"https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0",target:"_blank",rel:"noopener noreferrer"},C=e("li",null,[t("Click on the Installer x64 link on the web page to download it. Usually the downloaded file name is as follows, install it, no installation order is required "),e("ul",null,[e("li",null,"dotnet-runtime-6.0.x-win-x64.exe (.NET runtime 6.0.x)"),e("li",null,"aspnetcore-runtime-6.0.x-win-x64.exe (ASP.NET Core Runtime 6.0.x)")])],-1),I=e("li",null,[t("Other downloads of the required runtime are included, but it is not recommended to install them just to run this application "),e("ul",null,[e("li",null,"The Hosting Bundle also contains the IIS runtime support (ASP.NET Core Module v2) and several runtime libraries for x86 that are not required for this application"),e("li",null,"The SDK contains a lot of content that is not required")])],-1),z=d("
  • macOS

  • Linux

  • ",2),A={href:"https://github.com/BeyondDimension/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},R={href:"https://gitee.com/rmbgame/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},B=e("h2",{id:"multi-platform-download-links",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#multi-platform-download-links","aria-hidden":"true"},"#"),t(" Multi-platform download links")],-1),L=e("thead",null,[e("tr",null,[e("th",{style:{"text-align":"center"}},"Download Channel"),e("th",{style:{"text-align":"left"}},"Download Links")])],-1),F=e("td",{style:{"text-align":"center"}},"Gitee Download",-1),E={style:{"text-align":"left"}},G={href:"https://gitee.com/rmbgame/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},P=e("td",{style:{"text-align":"center"}},"Github Download",-1),Q={style:{"text-align":"left"}},O={href:"https://github.com/BeyondDimension/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},H=e("td",{style:{"text-align":"center"}},"aliyundrive",-1),W={style:{"text-align":"left"}},V={href:"https://www.aliyundrive.com/s/KDCFrongF7F",target:"_blank",rel:"noopener noreferrer"},q=e("td",{style:{"text-align":"center"}},"Nas Shunt",-1),U={style:{"text-align":"left"}},K={href:"https://pan.mossimo.net:5212/s/4yiQ",target:"_blank",rel:"noopener noreferrer"},J=e("td",{style:{"text-align":"center"}},[e("s",null,"cowtransfer")],-1),X={style:{"text-align":"left"}},Z={href:"https://cowtransfer.com/s/94ce5dfa928f45",target:"_blank",rel:"noopener noreferrer"},j=e("s",null,"The transfer error",-1),Y=e("h2",{id:"single-platform-download-link",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#single-platform-download-link","aria-hidden":"true"},"#"),t(" Single-platform download link")],-1),$=e("h3",{id:"desktop",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#desktop","aria-hidden":"true"},"#"),t(" Desktop")],-1),ee=e("thead",null,[e("tr",null,[e("th",{style:{"text-align":"center"}},"Windows"),e("th",{style:{"text-align":"left"}},"Download Links")])],-1),te=e("td",{style:{"text-align":"center"}},"lanzou",-1),ne={style:{"text-align":"left"}},oe={href:"https://cliencer.lanzoux.com/b01v4iz1g",target:"_blank",rel:"noopener noreferrer"},le=e("td",{style:{"text-align":"center"}},"Baidu Netdisk",-1),ie={style:{"text-align":"left"}},se={href:"https://pan.baidu.com/s/1xQ-RJEwd3y1nwUX7YZQ5nQ?pwd=ce4h",target:"_blank",rel:"noopener noreferrer"},ae=e("thead",null,[e("tr",null,[e("th",{style:{"text-align":"center"}},"UWP"),e("th",{style:{"text-align":"left"}},"Download Links")])],-1),re=e("tr",null,[e("td",{style:{"text-align":"center"}},"Quick Installation"),e("td",{style:{"text-align":"left"}},[e("a",{href:"ms-windows-store://pdp/?ProductId=9MTCFHS560NG"},"ms-windows-store://pdp/?ProductId=9MTCFHS560NG")])],-1),de=e("td",{style:{"text-align":"center"}},"microsoft store",-1),he={style:{"text-align":"left"}},ce={href:"https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG",target:"_blank",rel:"noopener noreferrer"},ue=e("thead",null,[e("tr",null,[e("th",{style:{"text-align":"center"}},"macOS"),e("th",{style:{"text-align":"left"}},"Download Links")])],-1),_e=e("td",{style:{"text-align":"center"}},"lanzou",-1),fe={style:{"text-align":"left"}},me={href:"https://wwe.lanzouy.com/b01v4izaf",target:"_blank",rel:"noopener noreferrer"},pe=e("td",{style:{"text-align":"center"}},"Baidu Netdisk",-1),ge={style:{"text-align":"left"}},we={href:"https://pan.baidu.com/s/1UaVrxC1F1GtkLTdC25yK-w?pwd=wg4x",target:"_blank",rel:"noopener noreferrer"},xe=e("thead",null,[e("tr",null,[e("th",{style:{"text-align":"center"}},"Linux"),e("th",{style:{"text-align":"left"}},"Download Links")])],-1),be=e("td",{style:{"text-align":"center"}},"lanzou",-1),ye={style:{"text-align":"left"}},ke={href:"https://wwe.lanzouy.com/b01v4iz7c",target:"_blank",rel:"noopener noreferrer"},Te=e("td",{style:{"text-align":"center"}},"Baidu Netdisk",-1),Se={style:{"text-align":"left"}},Me={href:"https://pan.baidu.com/s/1WOQBEg7hl92Lq7mjONlFJg?pwd=7tbn",target:"_blank",rel:"noopener noreferrer"},De=e("h3",{id:"mobile",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#mobile","aria-hidden":"true"},"#"),t(" Mobile")],-1),Ne=e("thead",null,[e("tr",null,[e("th",{style:{"text-align":"center"}},"Android"),e("th",{style:{"text-align":"left"}},"Download Links")])],-1),ve=e("td",{style:{"text-align":"center"}},"lanzou",-1),Ce={style:{"text-align":"left"}},Ie={href:"https://wwe.lanzouy.com/b01v4izfa",target:"_blank",rel:"noopener noreferrer"},ze=e("td",{style:{"text-align":"center"}},"Baidu Netdisk",-1),Ae={style:{"text-align":"left"}},Re={href:"https://pan.baidu.com/s/1Tnu9s10n57i8Fd9EmgTZBw?pwd=hk5f",target:"_blank",rel:"noopener noreferrer"},Be=e("table",null,[e("thead",null,[e("tr",null,[e("th",{style:{"text-align":"center"}},"iOS"),e("th",{style:{"text-align":"left"}},"Download Links")])]),e("tbody",null,[e("tr",null,[e("td",{style:{"text-align":"center"}},"Coming soon"),e("td",{style:{"text-align":"left"}})])])],-1);function Le(Fe,Ee){const n=s("ExternalLinkIcon");return a(),r("div",null,[c,e("p",null,[e("a",u,[_,o(n)]),e("a",f,[m,o(n)]),e("a",p,[g,o(n)]),e("a",w,[x,o(n)]),e("a",b,[y,o(n)])]),k,e("ul",null,[e("li",null,[t("Desktop(Desktop side) "),e("ul",null,[e("li",null,[T,e("ul",null,[S,e("li",null,[M,e("ul",null,[D,e("li",null,[t("If you "),N,t("fde** in the file name, or download the latest 6.0.x runtime from "),e("a",v,[t("download here"),o(n)])]),C,I])])])]),z])])]),l(` +- Mobile(Mobile) + - Android + - If you are using a device with an ARM64 chip (more common**) download the file with**android_arm64_v8a** in the file name + - If you are using a device with an ARM32 chip (more **rare**), usually produced before the second half of **14**, download the file with **android_armeabi_v7a** in the filename + - If you are using a device with an Intel, AMD x64 chip (more **rare**) download the file with **android_x64** in the file name +`),l(` +- If you are using a PC with an ARM64 chip (extremely **rare**), e.g. **Surface Pro X**, then download the file with **win_x64** in the filename to run through Win11 x86 emulation +- **[Not yet supported]** ~~ If you are using a PC with an ARM64 chip (extremely **rare**), such as **Surface Pro X**, download the file with **win_arm64** in the file name~~ +- **[Not supported yet]** ~~ If you are using a Mac with an ARM64 chip (rare**), such as**M1**, download the file with**macos_arm64** in the file name~~ + - NET on Linux]() + - Recommended [Installing .NET Runtime via Snap](https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-snap) + - \`\`\`sudo snap install dotnet-runtime-60 --classic\`\` +`),e("ul",null,[e("li",null,[t("Note: The following web streaming download may not be updated in a timely manner, if you want to view the latest version please go to "),e("a",A,[t("GitHub"),o(n)]),t(" and "),e("a",R,[t("Gitte"),o(n)]),t(" for the release")])]),B,e("table",null,[L,e("tbody",null,[e("tr",null,[F,e("td",E,[e("a",G,[t("https://gitee.com/rmbgame/SteamTools/releases"),o(n)])])]),e("tr",null,[P,e("td",Q,[e("a",O,[t("https://github.com/BeyondDimension/SteamTools/releases"),o(n)])])]),e("tr",null,[H,e("td",W,[e("a",V,[t("https://www.aliyundrive.com/s/KDCFrongF7F"),o(n)])])]),e("tr",null,[q,e("td",U,[e("a",K,[t("https://pan.mossimo.net:5212/s/4yiQ"),o(n)])])]),e("tr",null,[J,e("td",X,[e("a",Z,[j,o(n)])])])])]),Y,$,e("table",null,[ee,e("tbody",null,[e("tr",null,[te,e("td",ne,[e("a",oe,[t("https://cliencer.lanzoux.com/b01v4iz1g"),o(n)]),t(" password:1234")])]),e("tr",null,[le,e("td",ie,[e("a",se,[t("https://pan.baidu.com/s/1xQ-RJEwd3y1nwUX7YZQ5nQ?pwd=ce4h"),o(n)])])])])]),e("table",null,[ae,e("tbody",null,[re,e("tr",null,[de,e("td",he,[e("a",ce,[t("https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG"),o(n)])])])])]),e("table",null,[ue,e("tbody",null,[e("tr",null,[_e,e("td",fe,[e("a",me,[t("https://wwe.lanzouy.com/b01v4izaf"),o(n)]),t(" password:1234")])]),e("tr",null,[pe,e("td",ge,[e("a",we,[t("https://pan.baidu.com/s/1UaVrxC1F1GtkLTdC25yK-w?pwd=wg4x"),o(n)])])])])]),e("table",null,[xe,e("tbody",null,[e("tr",null,[be,e("td",ye,[e("a",ke,[t("https://wwe.lanzouy.com/b01v4iz7c"),o(n)]),t(" password:1234")])]),e("tr",null,[Te,e("td",Se,[e("a",Me,[t("https://pan.baidu.com/s/1WOQBEg7hl92Lq7mjONlFJg?pwd=7tbn"),o(n)])])])])]),De,e("table",null,[Ne,e("tbody",null,[e("tr",null,[ve,e("td",Ce,[e("a",Ie,[t("https://wwe.lanzouy.com/b01v4izfa"),o(n)]),t(" password:1234")])]),e("tr",null,[ze,e("td",Ae,[e("a",Re,[t("https://pan.baidu.com/s/1Tnu9s10n57i8Fd9EmgTZBw?pwd=hk5f"),o(n)])])])])]),Be])}const Qe=i(h,[["render",Le],["__file","Download channel.html.vue"]]);export{Qe as default}; diff --git a/assets/Download channel.html-f3573cdd.js b/assets/Download channel.html-f3573cdd.js new file mode 100644 index 0000000..da5fc0f --- /dev/null +++ b/assets/Download channel.html-f3573cdd.js @@ -0,0 +1,37 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{r,o as i,c as h,a as t,d as o,b as e,w as d,f as s}from"./app-d53ff271.js";const c={},_=t("h1",{id:"🚀-下载渠道",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#🚀-下载渠道","aria-hidden":"true"},"#"),e(" 🚀 下载渠道")],-1),u={href:"https://github.com/BeyondDimension/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},p=t("img",{src:"https://img.shields.io/badge/Github-发行版-fff",alt:"GitHub Releases"},null,-1),m={href:"https://gitee.com/rmbgame/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},f=t("img",{src:"https://img.shields.io/badge/Gitee-发行版-c71d23",alt:"Gitte Releases"},null,-1),g={href:"https://steampp.net",target:"_blank",rel:"noopener noreferrer"},b=t("img",{src:"https://img.shields.io/badge/Official-官方网站-1890ff",alt:"Official WebSite"},null,-1),w={href:"https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG",target:"_blank",rel:"noopener noreferrer"},k=t("img",{src:"https://img.shields.io/badge/Micrsoft-store-0d63a6",alt:"Microsoft Store"},null,-1),T=t("h2",{id:"下载-watt-toolkit",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#下载-watt-toolkit","aria-hidden":"true"},"#"),e(" 下载 Watt Toolkit")],-1),W={href:"https://github.com/BeyondDimension/SteamTools",target:"_blank",rel:"noopener noreferrer"},x=t("ul",null,[t("li",null,[e("推荐无法正常连接 GitHub 网络连接问题的用户使用 "),t("strong",null,"国内网盘"),e(" 下载,以获得最好的下载速度,不过第三方网盘内容更新可能较慢,如版本过旧推荐更换其他下载渠道。")])],-1),y=t("span",{style:{color:"red"}},"不知道该下载哪个文件?",-1),S=t("h3",{id:"多平台下载链接",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#多平台下载链接","aria-hidden":"true"},"#"),e(" 多平台下载链接")],-1),G={href:"https://gitee.com/rmbgame/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},z=t("strong",null,"Watt Toolkit 软件本体",-1),F={href:"https://github.com/BeyondDimension/SteamTools/releases",target:"_blank",rel:"noopener noreferrer"},C=t("strong",null,"Watt Toolkit 软件本体",-1),v={href:"https://www.aliyundrive.com/s/KDCFrongF7F",target:"_blank",rel:"noopener noreferrer"},N=t("strong",null,"Watt Toolkit 软件本体",-1),B={href:"https://pt.mossimo.net:5212/s/DMSO",target:"_blank",rel:"noopener noreferrer"},D=t("strong",null,"Watt Toolkit 软件本体",-1),L=t("h3",{id:"单平台下载链接",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#单平台下载链接","aria-hidden":"true"},"#"),e(" 单平台下载链接")],-1),M=t("h4",{id:"desktop-桌面端",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#desktop-桌面端","aria-hidden":"true"},"#"),e(" Desktop(桌面端)")],-1),O=t("li",null,[t("a",{href:"ms-windows-store://pdp/?ProductId=9MTCFHS560NG"},[t("strong",null,"Watt Toolkit UWP 软件"),e("从 微软商店 一键安装")])],-1),E={href:"https://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NG",target:"_blank",rel:"noopener noreferrer"},Q=t("strong",null,"Watt Toolkit UWP 软件",-1),H={href:"https://wwn.lanzouy.com/b01v4iz1g",target:"_blank",rel:"noopener noreferrer"},U=t("strong",null,"Watt Toolkit Windows 软件 提取码:1234",-1),R={href:"https://pan.baidu.com/s/1xQ-RJEwd3y1nwUX7YZQ5nQ?pwd=ce4h",target:"_blank",rel:"noopener noreferrer"},V=t("strong",null,"Watt Toolkit Windows 软件",-1),P=t("li",null,null,-1),I={href:"https://wwe.lanzouy.com/b01v4izaf",target:"_blank",rel:"noopener noreferrer"},J=t("strong",null,"Watt Toolkit MacOS 软件 提取码:1234",-1),K={href:"https://pan.baidu.com/s/1UaVrxC1F1GtkLTdC25yK-w?pwd=wg4x",target:"_blank",rel:"noopener noreferrer"},Z=t("strong",null,"Watt Toolkit MacOS 软件",-1),A=t("li",null,null,-1),j={href:"https://wwe.lanzouy.com/b01v4iz7c",target:"_blank",rel:"noopener noreferrer"},q=t("strong",null,"Watt Toolkit Linux 软件 提取码:1234",-1),X={href:"https://pan.baidu.com/s/1WOQBEg7hl92Lq7mjONlFJg?pwd=7tbn",target:"_blank",rel:"noopener noreferrer"},Y=t("strong",null,"Watt Toolkit Linux 软件",-1),$=t("h4",{id:"mobile-移动端",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#mobile-移动端","aria-hidden":"true"},"#"),e(" Mobile(移动端)")],-1),tt={href:"https://wwe.lanzouy.com/b01v4izfa",target:"_blank",rel:"noopener noreferrer"},et=t("strong",null,"Watt Toolkit Android 软件 提取码:1234",-1),ot={href:"https://pan.baidu.com/s/1Tnu9s10n57i8Fd9EmgTZBw?pwd=hk5f",target:"_blank",rel:"noopener noreferrer"},nt=t("strong",null,"Watt Toolkit Android 软件",-1);function st(rt,lt){const n=r("ExternalLinkIcon"),l=r("RouterLink");return i(),h("div",null,[_,t("p",null,[t("a",u,[p,o(n)]),t("a",m,[f,o(n)]),t("a",g,[b,o(n)]),t("a",w,[k,o(n)])]),T,t("ul",null,[t("li",null,[t("p",null,[e("Watt Toolkit 的软件开源并发布于 "),t("a",W,[e("GitHub"),o(n)])]),x]),t("li",null,[t("p",null,[o(l,{to:"/zh/document/Start/Download%20Guide.html"},{default:d(()=>[y]),_:1})])])]),S,t("ol",null,[t("li",null,[t("a",G,[z,e("从 Gitee 下载"),o(n)])]),t("li",null,[t("a",F,[C,e("从 Github 下载"),o(n)])]),t("li",null,[t("a",v,[N,e("从 阿里云盘 下载"),o(n)])]),t("li",null,[t("a",B,[D,e("从 Nas分流 下载"),o(n)])])]),s(` +下载渠道|下载链接 +:-:|:- +Gitee 下载| +Github 下载| +阿里云盘| +Nas 分流| +`),L,M,t("ol",null,[O,t("li",null,[t("a",E,[Q,e("从 微软商店 下载"),o(n)])]),t("li",null,[t("a",H,[U,e("从 蓝奏云网盘 下载"),o(n)])]),t("li",null,[t("a",R,[V,e("从 百度网盘 下载"),o(n)])]),P,t("li",null,[t("a",I,[J,e("从 蓝奏云网盘 下载"),o(n)])]),t("li",null,[t("a",K,[Z,e("从 百度网盘 下载"),o(n)])]),A,t("li",null,[t("a",j,[q,e("从 蓝奏云网盘 下载"),o(n)])]),t("li",null,[t("a",X,[Y,e("从 百度网盘 下载"),o(n)])])]),s(` +Windows 版|下载链接 +:-:|:- +蓝奏云网盘| 提取码:1234 +百度网盘| + +UWP 版|下载链接 +:-:|:- +快速安装| +微软商店| + +macOS 版|下载链接 +:-:|:- +蓝奏云网盘| 提取码:1234 +百度网盘| + +Linux 版|下载链接 +:-:|:- +蓝奏云网盘| 提取码:1234 +百度网盘| +`),$,t("ol",null,[t("li",null,[t("a",tt,[et,e("从 蓝奏云网盘 下载"),o(n)])]),t("li",null,[t("a",ot,[nt,e("从 百度网盘 下载"),o(n)])])]),s(` +Android 版|下载链接 +:-:|:- +蓝奏云网盘| 提取码:1234 +百度网盘| + +iOS 版|下载链接 +:-:|:- +敬请期待| +`)])}const ht=a(c,[["render",st],["__file","Download channel.html.vue"]]);export{ht as default}; diff --git a/assets/FAQ.html-063b1f5e.js b/assets/FAQ.html-063b1f5e.js new file mode 100644 index 0000000..1b4ebe1 --- /dev/null +++ b/assets/FAQ.html-063b1f5e.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-37067a23","path":"/en/document/FAQ/FAQ.html","title":"Universal solution","lang":"en","frontmatter":{"description":"If you encounter a problem, you can try to update to the latest version first, maybe the new version has fixed the problem Just click About `Check for updates` Check for updates","head":[["link",{"rel":"alternate","hreflang":"zh","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/FAQ/FAQ.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/FAQ/FAQ.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"Universal solution"}],["meta",{"property":"og:description","content":"If you encounter a problem, you can try to update to the latest version first, maybe the new version has fixed the problem Just click About `Check for updates` Check for updates"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:locale:alternate","content":"zh"}],["meta",{"property":"og:updated_time","content":"2022-05-19T14:06:13.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-19T14:06:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Universal solution\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-19T14:06:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1652559986000,"updatedTime":1652969173000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":3}]},"readingTime":{"minutes":0.12,"words":36},"filePathRelative":"en/document/FAQ/FAQ.md","localizedDate":"May 14, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/FAQ.html-437f4fbd.js b/assets/FAQ.html-437f4fbd.js new file mode 100644 index 0000000..8a92904 --- /dev/null +++ b/assets/FAQ.html-437f4fbd.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{o as s,c as n,a as e,b as t}from"./app-d53ff271.js";const c="/SteamTools-Guide/assets/Setting-Update-0e847796.png",a={},_=e("h1",{id:"通用解决办法",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#通用解决办法","aria-hidden":"true"},"#"),t(" 通用解决办法")],-1),l=e("p",null,"遇到问题可以先尝试更新到最新版本,可能新版本已经修复了问题",-1),r=e("p",null,[t("点 "),e("code",null,"关于"),t(" -> "),e("code",null,"检查更新"),t(" 即可")],-1),d=e("p",null,[e("img",{src:c,alt:"检查更新"})],-1),i=[_,l,r,d];function h(u,m){return s(),n("div",null,i)}const x=o(a,[["render",h],["__file","FAQ.html.vue"]]);export{x as default}; diff --git a/assets/FAQ.html-98f01a1f.js b/assets/FAQ.html-98f01a1f.js new file mode 100644 index 0000000..3b77a3a --- /dev/null +++ b/assets/FAQ.html-98f01a1f.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-25fd9ae8","path":"/zh/document/FAQ/FAQ.html","title":"通用解决办法","lang":"zh","frontmatter":{"description":"遇到问题可以先尝试更新到最新版本,可能新版本已经修复了问题 点 关于 -> 检查更新 即可 检查更新","head":[["link",{"rel":"alternate","hreflang":"en","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/FAQ/FAQ.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/FAQ/FAQ.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"通用解决办法"}],["meta",{"property":"og:description","content":"遇到问题可以先尝试更新到最新版本,可能新版本已经修复了问题 点 关于 -> 检查更新 即可 检查更新"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:locale:alternate","content":"en"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"通用解决办法\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.16,"words":49},"filePathRelative":"zh/document/FAQ/FAQ.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/FAQ.html-ef49305d.js b/assets/FAQ.html-ef49305d.js new file mode 100644 index 0000000..e7d9ec5 --- /dev/null +++ b/assets/FAQ.html-ef49305d.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{o as s,c as n,a as e,b as t}from"./app-d53ff271.js";const a="/SteamTools-Guide/assets/Setting-Update-0e847796.png",r={},c=e("h1",{id:"universal-solution",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#universal-solution","aria-hidden":"true"},"#"),t(" Universal solution")],-1),l=e("p",null,"If you encounter a problem, you can try to update to the latest version first, maybe the new version has fixed the problem",-1),i=e("p",null,[t("Just click "),e("code",null,"About"),t(),e("code",null,"Check for updates")],-1),u=e("p",null,[e("img",{src:a,alt:"Check for updates"})],-1),d=[c,l,i,u];function _(h,p){return s(),n("div",null,d)}const v=o(r,[["render",_],["__file","FAQ.html.vue"]]);export{v as default}; diff --git a/assets/Family-Library-Sharing-b6c79244.png b/assets/Family-Library-Sharing-b6c79244.png new file mode 100644 index 0000000..e25f6aa Binary files /dev/null and b/assets/Family-Library-Sharing-b6c79244.png differ diff --git a/assets/Functions.html-05993dbe.js b/assets/Functions.html-05993dbe.js new file mode 100644 index 0000000..87285a1 --- /dev/null +++ b/assets/Functions.html-05993dbe.js @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as r,c,a as e,b as t,d as a,e as n}from"./app-d53ff271.js";const l="/SteamTools-Guide/assets/Account-switching-ce8ecd9e.png",h="/SteamTools-Guide/assets/Family-Library-Sharing-b6c79244.png",d="/SteamTools-Guide/assets/Auto-shutdown-6027d505.png",u="/SteamTools-Guide/assets/Auto-Gametime-087e1710.png",m="/SteamTools-Guide/assets/Sam-6081be07.png",p="/SteamTools-Guide/assets/Sam2-cf8e381e.png",f="/SteamTools-Guide/assets/Game-Setting-ba6d150f.png",g={},b=e("h1",{id:"✨-functions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#✨-functions","aria-hidden":"true"},"#"),t(" ✨ Functions")],-1),y=e("h2",{id:"network-acceleration",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#network-acceleration","aria-hidden":"true"},"#"),t(" Network Acceleration")],-1),_=n("
  • Implement normal access to Steam Discord Twitch Origin Uplay GitHub Microsoft Store Google Captcha Pixiv and other hard-to-access web pages in China to prevent network interference

  • ",1),w={href:"https://www.dogfight360.com/blog/686/",target:"_blank",rel:"noopener noreferrer"},S=n("
  • There are two ways to choose Host proxy mode and system proxy mode, you need to confirm the installation of the certificate file before using it for the first time

  • You can also remove Steam Store access restrictions**, including but not limited to: This item is not currently available in your region This game is marked as "adults only". You are seeing this game because you have set your preferences to allow such content.

  • ",2),k=n('
    [Click to expand]-FAQ

    Q: hosts is being used by another process, so that process cannot access this file?

    A: If the hosts file is occupied by other programs and this program cannot read or write normally, use Resource Monitor to search for hosts in the Associated Handle to find the occupied process and end it.

    Q: Why the checkbox in front of the script is not saved when the script in Community Acceleration is enabled and invalid?

    A: The script requires the corresponding acceleration service to be enabled to take effect, and the script must also be enabled after the acceleration function is enabled to be effective, for example, the Steam Store History Low Search script must have the Steam Store Acceleration Service enabled to take effect.

    Q: Using acceleration prompts certificate installation failure?

    A: You can try to manually install the SteamTools.Certificate.pfx certificate file under the AppData folder in the program directory, install it to the trusted root certificate area, the area must be selected correctly, otherwise the installation will be invalid even if it succeeds.

    Script Configuration

    • Injects some JS scripts into web pages (Steam's built-in browser) through an acceleration service that intercepts network requests, providing web plug-in-like functionality. Enables Steam's built-in browser to use some of the scripts

    • For example Steam History Lowest Price Check Steam Economy Enhancer(Steam Market Enhancement)``CSGO Market Tool(CSGO Market Check Gun Wear Value)`

    Account Switch

    • Switch between Steam accounts that are already logged in on the current PC with one click via Steam save by default credential information** and the ability to log in offline with one click, as well as manage features such as home shared library sorting.

      Account Switching

    [Click to expand]-FAQ

    Q: I still need to enter my password and token after switching accounts? Why can I sometimes switch with one click and sometimes not?

    A: Watt Toolkit account switching feature doesn't record your password and token. The fast account switching is due to Steam's own remember password feature.

    ',6),v={href:"https://help.steampowered.com/zh-cn/faqs/view/57A7-503C-991F-E9A8",target:"_blank",rel:"noopener noreferrer"},A=n('

    Adjust the priority order of Steam accounts shared on the current device to solve the problem that you want to play with account B's shares but keep using account A's shares, sorted from top to bottom by the priority order of the shared library usage, or you can choose to temporarily disable or enable shares for a specific account. You can also choose to temporarily disable or enable shares for a specific account. Save and restart Steam after the adjustment takes effect!

    Family Library Sharing

    Inventory Management

    • Lets you manage your Steam game inventory directly, not only by downloading older Steam games, but also by managing Steam game achievements directly, supporting unlocked achievements and unlocked achievements.

    • You can use Steam download completion timer shutdown so that no one can reduce unnecessary power consumption after the completion of the download (for example, sleep at night automatically after the completion of the download automatically shutdown)

      Auto shutdown

    • It is also possible to customize the ability to increase the length of the game after starting Watt Toolkit

      Automatic game length

    ',4),x={class:"hint-container details"},T=e("summary",null,"[Click to expand]-Steam Game achievements unlocked:",-1),C={href:"https://github.com/gibbed/SteamAchievementManager",target:"_blank",rel:"noopener noreferrer"},G=n('

    Note

    This feature carries some risk, theoretically it will not be VAC, but if abused it may be pulled by the game manufacturer, it is recommended to use it without starting the game, so far it has no effect. The unlock achievements feature is not a plug-in, it only communicates with Steam in principle, and has nothing to do with the game itself, as anti-cheat systems like VAC work in multiplayer games. If the game is bound to another platform, unlocked achievements will not be synced to other platforms and may not be updated on other platforms if the achievements are re-completed, e.g. Sea of Thieves is bound to Xbox.

    Sam

    By checking the achievements and saving the achievement changes (Note: It is best not to change achievements for games with VAC to avoid unnecessary damage, the picture below is a game with VAC)

    Sam2

    ',3),F=e("h2",{id:"local-authentication",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#local-authentication","aria-hidden":"true"},"#"),t(" Local Authentication")],-1),I=e("li",null,[e("p",null,"Let your cell phone token unified save in the computer, currently only support Steam token, later will develop support more token types with cloud synchronization token.")],-1),W=e("code",null,"WinAuth",-1),L=e("code",null,"WinAuth 2-step verification",-1),q=e("code",null,"Watt Toolkit",-1),E={href:"https://github.com/winauth/winauth",target:"_blank",rel:"noopener noreferrer"},M=e("h2",{id:"archisteamfarm",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#archisteamfarm","aria-hidden":"true"},"#"),t(" ArchiSteamFarm")],-1),V={href:"https://github.com/JustArchiNET/ArchiSteamFarm",target:"_blank",rel:"noopener noreferrer"},j=e("code",null,"Steam Collectible Deck",-1),N={href:"https://keylol.com/t770760-1-1",target:"_blank",rel:"noopener noreferrer"},Q={href:"https://keylol.com/suid-988278",target:"_blank",rel:"noopener noreferrer"},Y=e("h2",{id:"game-tools",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#game-tools","aria-hidden":"true"},"#"),t(" Game Tools")],-1),B=e("ul",null,[e("li",null,[e("p",null,"You can force the game window to use borderless windowing or full screen, or you can put the game screen on the desktop wallpaper (conflict with dynamic wallpaper software)"),e("p",null,[e("img",{src:f,alt:"Game Tools"})])])],-1);function H(P,z){const o=s("ExternalLinkIcon");return r(),c("div",null,[b,y,e("ul",null,[_,e("li",null,[e("p",null,[t("Functions similar to "),e("a",w,[t("Steamcommunity 302"),a(o)]),t(", using [Titanium-Web-Proxy](https://github.com/justcoding121/Titanium- Web-Proxy) open source project for local anti-generation.")])]),S]),k,e("p",null,[e("a",v,[t("Family Library Sharing"),a(o)]),t("(Steam Support)")]),A,e("details",x,[T,e("p",null,[t("Steam game achievements unlocked using open source projects "),e("a",C,[t("SteamAchievementManager"),a(o)])]),G]),F,e("ul",null,[I,e("li",null,[e("p",null,[t("Similar to "),W,t(" (you can import "),L,t(" into "),q,t(" by exporting it, using "),e("a",E,[t("open source project Winauth"),a(o)]),t(")")])])]),M,e("ul",null,[e("li",null,[e("p",null,[t("Integrated with the open source project "),e("a",V,[t("ArchiSteamFarm"),a(o)]),t(" in the application to provide hanging drops "),j,t(" and other functions.")])]),e("li",null,[e("p",null,[e("a",N,[t("The easiest ASF User Manual"),a(o)]),t(),e("a",Q,[t("(Keylol)@cyb233"),a(o)])])])]),Y,B])}const U=i(g,[["render",H],["__file","Functions.html.vue"]]);export{U as default}; diff --git a/assets/Functions.html-4ab40c71.js b/assets/Functions.html-4ab40c71.js new file mode 100644 index 0000000..634b9ea --- /dev/null +++ b/assets/Functions.html-4ab40c71.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-165cc812","path":"/zh/document/Start/Functions.html","title":"✨ 功能一览","lang":"zh","frontmatter":{"description":"网络加速 (/zh/document/Functions/Network%20Acceleration/info) ; 使用 YARP.ReverseProxy (https://github.com/microsoft/reverse-proxy) 开源项目进行本地反代来支持更快的访问游戏网站。; 脚本配置 (/zh/document/Functio...","head":[["link",{"rel":"alternate","hreflang":"en","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Start/Functions.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Functions.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"✨ 功能一览"}],["meta",{"property":"og:description","content":"网络加速 (/zh/document/Functions/Network%20Acceleration/info) ; 使用 YARP.ReverseProxy (https://github.com/microsoft/reverse-proxy) 开源项目进行本地反代来支持更快的访问游戏网站。; 脚本配置 (/zh/document/Functio..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:locale:alternate","content":"en"}],["meta",{"property":"og:updated_time","content":"2023-11-05T10:13:31.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-05T10:13:31.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"✨ 功能一览\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-05T10:13:31.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"网络加速","slug":"网络加速","link":"#网络加速","children":[]},{"level":2,"title":"脚本配置","slug":"脚本配置","link":"#脚本配置","children":[]},{"level":2,"title":"账号切换","slug":"账号切换","link":"#账号切换","children":[]},{"level":2,"title":"库存管理","slug":"库存管理","link":"#库存管理","children":[]},{"level":2,"title":"本地令牌","slug":"本地令牌","link":"#本地令牌","children":[]},{"level":2,"title":"自动挂卡","slug":"自动挂卡","link":"#自动挂卡","children":[]},{"level":2,"title":"游戏工具","slug":"游戏工具","link":"#游戏工具","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699179211000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":2}]},"readingTime":{"minutes":1.28,"words":383},"filePathRelative":"zh/document/Start/Functions.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/Functions.html-a1d89ad1.js b/assets/Functions.html-a1d89ad1.js new file mode 100644 index 0000000..b3eee92 --- /dev/null +++ b/assets/Functions.html-a1d89ad1.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as a,o as s,c as i,a as e,b as t,d as o}from"./app-d53ff271.js";const h={},c=e("h1",{id:"✨-功能一览",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#✨-功能一览","aria-hidden":"true"},"#"),t(" ✨ 功能一览")],-1),l={id:"网络加速",tabindex:"-1"},d=e("a",{class:"header-anchor",href:"#网络加速","aria-hidden":"true"},"#",-1),_={href:"/zh/document/Functions/Network%20Acceleration/info",target:"_blank",rel:"noopener noreferrer"},u={href:"https://github.com/justcoding121/Titanium-Web-Proxy",target:"_blank",rel:"noopener noreferrer"},f={href:"https://github.com/microsoft/reverse-proxy",target:"_blank",rel:"noopener noreferrer"},m={id:"脚本配置",tabindex:"-1"},b=e("a",{class:"header-anchor",href:"#脚本配置","aria-hidden":"true"},"#",-1),p={href:"/zh/document/Functions/Userscript/info",target:"_blank",rel:"noopener noreferrer"},x=e("ul",null,[e("li",null,"通过加速服务拦截网络请求将一些 JS 脚本注入在网页中,提供类似网页插件的功能。")],-1),S={id:"账号切换",tabindex:"-1"},g=e("a",{class:"header-anchor",href:"#账号切换","aria-hidden":"true"},"#",-1),k={href:"/zh/document/Functions/Account%20Switch/info",target:"_blank",rel:"noopener noreferrer"},F=e("ul",null,[e("li",null,"一键切换已在当前 PC 上登录过的 Steam 账号,与管理家庭共享库排序及禁用等功能。")],-1),z={id:"库存管理",tabindex:"-1"},A=e("a",{class:"header-anchor",href:"#库存管理","aria-hidden":"true"},"#",-1),v={href:"/zh/document/Functions/Library/info",target:"_blank",rel:"noopener noreferrer"},w={href:"https://www.steamgriddb.com/",target:"_blank",rel:"noopener noreferrer"},y=e("li",null,"监控 Steam 游戏下载进度实现 Steam 游戏下载完成定时关机功能。",-1),N=e("li",null,"模拟运行 Steam 游戏,让您不用安装和下载对应的游戏也能挂游玩时间和 Steam 卡片",-1),P=e("li",null,"自助管理 Steam 游戏云存档,随时删除和上传自定义的存档文件至 Steam 云",-1),E={id:"本地令牌",tabindex:"-1"},T=e("a",{class:"header-anchor",href:"#本地令牌","aria-hidden":"true"},"#",-1),B={href:"/zh/document/Functions/Steam%20Guard/info",target:"_blank",rel:"noopener noreferrer"},L=e("ul",null,[e("li",null,"让您的手机令牌统一保存在电脑中,目前仅支持 Steam 令牌,后续会开发支持更多的令牌种类与云同步令牌。")],-1),V={id:"自动挂卡",tabindex:"-1"},C=e("a",{class:"header-anchor",href:"#自动挂卡","aria-hidden":"true"},"#",-1),G={href:"/zh/document/Functions/ASF/info",target:"_blank",rel:"noopener noreferrer"},I={href:"https://github.com/JustArchiNET/ArchiSteamFarm",target:"_blank",rel:"noopener noreferrer"},J={id:"游戏工具",tabindex:"-1"},R=e("a",{class:"header-anchor",href:"#游戏工具","aria-hidden":"true"},"#",-1),W={href:"/zh/document/Functions/Game%20tools/info",target:"_blank",rel:"noopener noreferrer"},j=e("ul",null,[e("li",null,"强制游戏窗口使用无边框窗口化、更多功能待开发。")],-1);function U(Y,q){const n=a("ExternalLinkIcon");return s(),i("div",null,[c,e("h2",l,[d,t(),e("a",_,[t("网络加速"),o(n)])]),e("ul",null,[e("li",null,[e("s",null,[t("使用 "),e("a",u,[t("Titanium-Web-Proxy"),o(n)]),t(" 开源项目进行本地反代来支持更快的访问游戏网站。")])]),e("li",null,[t("使用 "),e("a",f,[t("YARP.ReverseProxy"),o(n)]),t(" 开源项目进行本地反代来支持更快的访问游戏网站。")])]),e("h2",m,[b,t(),e("a",p,[t("脚本配置"),o(n)])]),x,e("h2",S,[g,t(),e("a",k,[t("账号切换"),o(n)])]),F,e("h2",z,[A,t(),e("a",v,[t("库存管理"),o(n)])]),e("ul",null,[e("li",null,[t("让您直接管理 Steam 游戏库存,可以编辑游戏名称和"),e("a",w,[t("自定义封面"),o(n)]),t(",也能解锁以及反解锁 Steam 游戏成就。")]),y,N,P]),e("h2",E,[T,t(),e("a",B,[t("本地令牌"),o(n)])]),L,e("h2",V,[C,t(),e("a",G,[t("自动挂卡"),o(n)])]),e("ul",null,[e("li",null,[t("集成 "),e("a",I,[t("ArchiSteamFarm"),o(n)]),t(" 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。")])]),e("h2",J,[R,t(),e("a",W,[t("游戏工具"),o(n)])]),j])}const K=r(h,[["render",U],["__file","Functions.html.vue"]]);export{K as default}; diff --git a/assets/Functions.html-b8a64bf1.js b/assets/Functions.html-b8a64bf1.js new file mode 100644 index 0000000..cbc629c --- /dev/null +++ b/assets/Functions.html-b8a64bf1.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-46511032","path":"/en/document/Start/Functions.html","title":"✨ Functions","lang":"en","frontmatter":{"description":"Network Acceleration Implement normal access to Steam `Discord Twitch Origin Uplay GitHub Microsoft Store Google Captcha Pixiv and other hard-to-access web pages in China to pre...","head":[["link",{"rel":"alternate","hreflang":"zh","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Functions.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Start/Functions.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"✨ Functions"}],["meta",{"property":"og:description","content":"Network Acceleration Implement normal access to Steam `Discord Twitch Origin Uplay GitHub Microsoft Store Google Captcha Pixiv and other hard-to-access web pages in China to pre..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:locale:alternate","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"✨ Functions\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"Network Acceleration","slug":"network-acceleration","link":"#network-acceleration","children":[]},{"level":2,"title":"Script Configuration","slug":"script-configuration","link":"#script-configuration","children":[]},{"level":2,"title":"Account Switch","slug":"account-switch","link":"#account-switch","children":[]},{"level":2,"title":"Inventory Management","slug":"inventory-management","link":"#inventory-management","children":[]},{"level":2,"title":"Local Authentication","slug":"local-authentication","link":"#local-authentication","children":[]},{"level":2,"title":"ArchiSteamFarm","slug":"archisteamfarm","link":"#archisteamfarm","children":[]},{"level":2,"title":"Game Tools","slug":"game-tools","link":"#game-tools","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":4}]},"readingTime":{"minutes":3.21,"words":963},"filePathRelative":"en/document/Start/Functions.md","localizedDate":"May 14, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/GPU-67258ff9.png b/assets/GPU-67258ff9.png new file mode 100644 index 0000000..740f265 Binary files /dev/null and b/assets/GPU-67258ff9.png differ diff --git a/assets/GPU.html-c2daab0f.js b/assets/GPU.html-c2daab0f.js new file mode 100644 index 0000000..07b053a --- /dev/null +++ b/assets/GPU.html-c2daab0f.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c as o,e as c}from"./app-d53ff271.js";const a="/SteamTools-Guide/assets/GPU-67258ff9.png",s={},r=c('

    软件使用GPU

    Watt Toolkit 使用显卡进行界面硬件渲染加速

    在打开主程序界面的时候会调用 GPU 渲染

    如果不想要占用 GPU 可以在设置中关闭

    设置 -> 通用设置 -> 关闭 使用GPU渲染界面(硬件加速)

    使用GPU渲染界面

    ',6),d=[r];function p(n,_){return t(),o("div",null,d)}const f=e(s,[["render",p],["__file","GPU.html.vue"]]);export{f as default}; diff --git a/assets/GPU.html-f9ea0993.js b/assets/GPU.html-f9ea0993.js new file mode 100644 index 0000000..93cdc22 --- /dev/null +++ b/assets/GPU.html-f9ea0993.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-a3a0b9dc","path":"/zh/document/FAQ/GPU.html","title":"软件使用GPU","lang":"zh","frontmatter":{"description":"Watt Toolkit 使用显卡进行界面硬件渲染加速 在打开主程序界面的时候会调用 GPU 渲染 如果不想要占用 GPU 可以在设置中关闭 设置 -> 通用设置 -> 关闭 使用GPU渲染界面(硬件加速) 使用GPU渲染界面","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/FAQ/GPU.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"软件使用GPU"}],["meta",{"property":"og:description","content":"Watt Toolkit 使用显卡进行界面硬件渲染加速 在打开主程序界面的时候会调用 GPU 渲染 如果不想要占用 GPU 可以在设置中关闭 设置 -> 通用设置 -> 关闭 使用GPU渲染界面(硬件加速) 使用GPU渲染界面"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"软件使用GPU\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.27,"words":81},"filePathRelative":"zh/document/FAQ/GPU.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/Game-Setting-ba6d150f.png b/assets/Game-Setting-ba6d150f.png new file mode 100644 index 0000000..560c058 Binary files /dev/null and b/assets/Game-Setting-ba6d150f.png differ diff --git a/assets/How to use ASF.html-6f20a60a.js b/assets/How to use ASF.html-6f20a60a.js new file mode 100644 index 0000000..d74a48d --- /dev/null +++ b/assets/How to use ASF.html-6f20a60a.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-5e3b9194","path":"/en/document/ASF/How%20to%20use%20ASF.html","title":"How to use ASF","lang":"en","frontmatter":{"description":"The main purpose of ASF (ArchiSteamFarm) is to automatically acquire Steam collectible cards from multiple accounts at the same time, but in addition to this function there is a...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/ASF/How%20to%20use%20ASF.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"How to use ASF"}],["meta",{"property":"og:description","content":"The main purpose of ASF (ArchiSteamFarm) is to automatically acquire Steam collectible cards from multiple accounts at the same time, but in addition to this function there is a..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2023-11-05T10:13:31.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-05T10:13:31.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"How to use ASF\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-05T10:13:31.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"ASF-ui","slug":"asf-ui","link":"#asf-ui","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1699179211000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":3}]},"readingTime":{"minutes":1.26,"words":377},"filePathRelative":"en/document/ASF/How to use ASF.md","localizedDate":"May 14, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/How to use ASF.html-caa0fd70.js b/assets/How to use ASF.html-caa0fd70.js new file mode 100644 index 0000000..fd4d3c9 --- /dev/null +++ b/assets/How to use ASF.html-caa0fd70.js @@ -0,0 +1,6 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{r as n,o as s,c as r,a as e,b as t,d as o,f as l}from"./app-d53ff271.js";const c={},u=e("h1",{id:"how-to-use-asf",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#how-to-use-asf","aria-hidden":"true"},"#"),t(" How to use ASF")],-1),d=e("p",null,"The main purpose of ASF (ArchiSteamFarm) is to automatically acquire Steam collectible cards from multiple accounts at the same time, but in addition to this function there is also automatic trading quotes and other operations",-1),h={href:"https://github.com/JustArchiNET/ArchiSteamFarm/wiki/Home-zh-CN",target:"_blank",rel:"noopener noreferrer"},f={href:"https://github.com/JustArchiNET/ArchiSteamFarm/wiki",target:"_blank",rel:"noopener noreferrer"},m=e("p",null,"ASF is a console application, which means that, at least at first, it does not provide a friendly GUI interface that you are familiar with.",-1),p=e("p",null,"ASF is primarily supposed to run on a server, so it is more like a service (daemon) than a desktop application.",-1),_=e("p",null,"The ASF is particularly versatile, but since this guide uses the ASF built into Watt Toolkit and is not mounted on the server",-1),A=e("p",null,"However, the community has developed a WebUi GUI interface, and all distributions that download ASF now have a built-in WebUi GUI console located at ASF-win-x64/UI",-1),g=e("h2",{id:"asf-ui",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#asf-ui","aria-hidden":"true"},"#"),t(" ASF-ui")],-1),S=e("p",null,"ASF-ui is a community project that provides a user-friendly GUI web interface mainly for end users. To accomplish this, it is designed as a front-end to the ASF API, allowing you to easily manipulate the ASF. This is the default UI that comes with the ASF.",-1),F={href:"https://github.com/JustArchiNET/ASF-ui",target:"_blank",rel:"noopener noreferrer"},b=e("p",null,"You can use ASF-ui for general administration of the ASF. For example, managing bots, modifying settings, sending commands, and various other functions provided by ASF.",-1);function y(w,v){const i=n("ExternalLinkIcon");return s(),r("div",null,[u,d,e("p",null,[t("Official tutorials: "),e("a",h,[t("Chinese"),o(i)]),t(" / "),e("a",f,[t("English"),o(i)])]),m,p,_,A,l(` ASF-ui Configuration +Our ASF-ui IPC interface also supports configuring ASF and is particularly suitable for modifying configuration content after the first configuration, because unlike the online configuration file generator that always generates new files, ASF-ui can edit configuration files directly in-place. + +To use ASF-ui, you first need to enable the IPC interface itself. Since ASF version V5.1.0.0, IPC is enabled by default, so you can start accessing it directly as long as you have not manually disabled it. + +After the program starts, the ASF's IPC address is accessed directly. If everything is working properly, you can also change the ASF configuration here. `),g,S,e("p",null,[t("As mentioned above, ASF-ui is a community project and is not maintained by the core ASF developers. It follows its own development process, and all related questions, discussions, bug reports, and suggestions should be published in the "),e("a",F,[t("ASF-ui repository"),o(i)]),t(".")]),b])}const x=a(c,[["render",y],["__file","How to use ASF.html.vue"]]);export{x as default}; diff --git a/assets/Login to import Guard.html-e2bef409.js b/assets/Login to import Guard.html-e2bef409.js new file mode 100644 index 0000000..5374f00 --- /dev/null +++ b/assets/Login to import Guard.html-e2bef409.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-ca8536f0","path":"/en/document/Steam%20Guard/Login%20to%20import%20Guard.html","title":"Login to Steam directly and import the Guard","lang":"en","frontmatter":{"description":"This is the easiest solution, just log in directly through your Steam account as shown below This solution will unlock the mobile Guard and cause a 15-day temporary suspension o...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Steam%20Guard/Login%20to%20import%20Guard.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"Login to Steam directly and import the Guard"}],["meta",{"property":"og:description","content":"This is the easiest solution, just log in directly through your Steam account as shown below This solution will unlock the mobile Guard and cause a 15-day temporary suspension o..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2022-05-19T14:06:13.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-19T14:06:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Login to Steam directly and import the Guard\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-19T14:06:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1652559986000,"updatedTime":1652969173000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":3}]},"readingTime":{"minutes":0.26,"words":78},"filePathRelative":"en/document/Steam Guard/Login to import Guard.md","localizedDate":"May 14, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/Login to import Guard.html-ed4c0f40.js b/assets/Login to import Guard.html-ed4c0f40.js new file mode 100644 index 0000000..d9c18fb --- /dev/null +++ b/assets/Login to import Guard.html-ed4c0f40.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as a,c as o,e}from"./app-d53ff271.js";const i="/SteamTools-Guide/assets/Sign-Guard-750438a0.png",n={},r=e('

    Login to Steam directly and import the Guard

    This is the easiest solution, just log in directly through your Steam account as shown below

    Warning

    This solution will unlock the mobile Guard and cause a 15-day temporary suspension of marketplace transactions

    Steam account login

    • Login to your Steam account and password, this action will release the original Guard and cause the account to go into a suspended state (no marketplace trading for 15 days)
    ',5),s=[r];function c(d,l){return a(),o("div",null,s)}const m=t(n,[["render",c],["__file","Login to import Guard.html.vue"]]);export{m as default}; diff --git a/assets/Network problems.html-539b2c31.js b/assets/Network problems.html-539b2c31.js new file mode 100644 index 0000000..d3c8041 --- /dev/null +++ b/assets/Network problems.html-539b2c31.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-162fb220","path":"/en/document/FAQ/Network%20problems.html","title":"Network issues","lang":"en","frontmatter":{"description":"Host file related (read-only, access denied, no privileges) Please go to C:\\\\Windows\\\\System32\\\\drivers\\\\etc, right-click on the host file, open Properties and uncheck the Read-only...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/FAQ/Network%20problems.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"Network issues"}],["meta",{"property":"og:description","content":"Host file related (read-only, access denied, no privileges) Please go to C:\\\\Windows\\\\System32\\\\drivers\\\\etc, right-click on the host file, open Properties and uncheck the Read-only..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2022-05-19T14:06:13.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-19T14:06:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Network issues\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-19T14:06:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"Host file related (read-only, access denied, no privileges)","slug":"host-file-related-read-only-access-denied-no-privileges","link":"#host-file-related-read-only-access-denied-no-privileges","children":[]},{"level":2,"title":"Unable to connect to the network after a program crash","slug":"unable-to-connect-to-the-network-after-a-program-crash","link":"#unable-to-connect-to-the-network-after-a-program-crash","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1652969173000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":4}]},"readingTime":{"minutes":0.85,"words":256},"filePathRelative":"en/document/FAQ/Network problems.md","localizedDate":"May 14, 2022","autoDesc":true}');export{e as data}; diff --git a/assets/Network problems.html-7b44e4f1.js b/assets/Network problems.html-7b44e4f1.js new file mode 100644 index 0000000..c0c2422 --- /dev/null +++ b/assets/Network problems.html-7b44e4f1.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o,c as t,e as c}from"./app-d53ff271.js";const r="/SteamTools-Guide/assets/reset-host-c6e13d8f.png",a={},s=c('

    Network issues

    • Please go to C:\\Windows\\System32\\drivers\\etc, right-click on the host file, open Properties and uncheck the Read-only option below.

    • Read-only may also be occupied by other software or blocked by anti-virus software. If the hosts file has no custom content, you can delete the file before starting it, or use the system agent mode with the file located at C:\\Windows\\System32\\drivers\\etc\\hosts

    • Or automatically reset the host problem with a disconnected one-click repair program, such as 360 Disconnect First Aid FireWire Disconnect Repair

    Unable to connect to the network after a program crash

    • After the program crashes during acceleration, the community/game server cannot be connected because the 127.0.0.1 written to the host after the crash has not been eliminated properly, you can cancel the acceleration and reopen it, or you can clean up the host file manually

    • Or you can automatically reset the host problem with a one-click repair program, such as 360 Disconnect First Aid, FireWire Disconnect Repair.

    The problem of no network after a crash is due to the normal logic of accelerating and stopping acceleration, because the program was forced to quit in acceleration, so the logic of stopping acceleration was not executed, and the configuration modified by acceleration was not restored.

    If you encounter this problem, you can try to restore the hosts file, close the windows system agent, and reset the network service.

    Reset host file

    ',7),i=[s];function n(d,l){return o(),t("div",null,i)}const u=e(a,[["render",n],["__file","Network problems.html.vue"]]);export{u as default}; diff --git a/assets/QR-Code-df8b5e0d.png b/assets/QR-Code-df8b5e0d.png new file mode 100644 index 0000000..a9c6add Binary files /dev/null and b/assets/QR-Code-df8b5e0d.png differ diff --git a/assets/Reference documents.html-09f0cb3c.js b/assets/Reference documents.html-09f0cb3c.js new file mode 100644 index 0000000..8803081 --- /dev/null +++ b/assets/Reference documents.html-09f0cb3c.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-5116c806","path":"/en/document/Steam%20Guard/Reference%20documents.html","title":"Reference Documents","lang":"en","frontmatter":{"description":"steam++令牌导入教程 (https://keylol.com/t710508-1-1) (Keylol)@cyb233 (https://keylol.com/suid-988278)This post currently corresponds to Steam ++ version: 2.4.11 has been reprinted and...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Steam%20Guard/Reference%20documents.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"Reference Documents"}],["meta",{"property":"og:description","content":"steam++令牌导入教程 (https://keylol.com/t710508-1-1) (Keylol)@cyb233 (https://keylol.com/suid-988278)This post currently corresponds to Steam ++ version: 2.4.11 has been reprinted and..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2022-05-14T21:22:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-14T21:22:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Reference Documents\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-14T21:22:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1652559986000,"updatedTime":1652563337000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":2}]},"readingTime":{"minutes":0.19,"words":57},"filePathRelative":"en/document/Steam Guard/Reference documents.md","localizedDate":"May 14, 2022","autoDesc":true}');export{e as data}; diff --git a/assets/Reference documents.html-4b405db3.js b/assets/Reference documents.html-4b405db3.js new file mode 100644 index 0000000..e3ef8b7 --- /dev/null +++ b/assets/Reference documents.html-4b405db3.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as l,c,a as e,b as r,d as o}from"./app-d53ff271.js";const a={},i=e("h1",{id:"reference-documents",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#reference-documents","aria-hidden":"true"},"#"),r(" Reference Documents")],-1),d={href:"https://keylol.com/t710508-1-1",target:"_blank",rel:"noopener noreferrer"},_={href:"https://keylol.com/suid-988278",target:"_blank",rel:"noopener noreferrer"},h=e("code",null,"This post currently corresponds to Steam ++ version: 2.4.11",-1),m={href:"https://www.bilibili.com/read/cv10145839",target:"_blank",rel:"noopener noreferrer"},f={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"};function p(u,b){const n=s("ExternalLinkIcon");return l(),c("div",null,[i,e("ul",null,[e("li",null,[e("p",null,[e("a",d,[r("steam++令牌导入教程"),o(n)]),r(),e("a",_,[r("(Keylol)@cyb233"),o(n)]),h,r(" has been reprinted and modified with permission, this article is optimized based on the original")])]),e("li",null,[e("p",null,[e("a",m,[r("steam++令牌导入教程"),o(n)]),r(),e("a",f,[r("(BiliBili)@牛奶君"),o(n)])])])])])}const g=t(a,[["render",p],["__file","Reference documents.html.vue"]]);export{g as default}; diff --git a/assets/Sam-6081be07.png b/assets/Sam-6081be07.png new file mode 100644 index 0000000..ffa84f8 Binary files /dev/null and b/assets/Sam-6081be07.png differ diff --git a/assets/Sam2-cf8e381e.png b/assets/Sam2-cf8e381e.png new file mode 100644 index 0000000..19abdb9 Binary files /dev/null and b/assets/Sam2-cf8e381e.png differ diff --git a/assets/Setting-Update-0e847796.png b/assets/Setting-Update-0e847796.png new file mode 100644 index 0000000..b92e135 Binary files /dev/null and b/assets/Setting-Update-0e847796.png differ diff --git a/assets/Sign-Guard-750438a0.png b/assets/Sign-Guard-750438a0.png new file mode 100644 index 0000000..528fc12 Binary files /dev/null and b/assets/Sign-Guard-750438a0.png differ diff --git a/assets/Steam__ to import Guard.html-3dcfe0d0.js b/assets/Steam__ to import Guard.html-3dcfe0d0.js new file mode 100644 index 0000000..37885c6 --- /dev/null +++ b/assets/Steam__ to import Guard.html-3dcfe0d0.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-0bd23d61","path":"/en/document/Steam%20Guard/Steam__%20to%20import%20Guard.html","title":"Older/newer Steam++ import","lang":"en","frontmatter":{"description":".dat files exported from Steam++V1, usually named \\"Steam++ Authenticator date.dat\\" by default; .mpo files exported from Steam++V2, usually named \\"Steam++ Authenticators date.mpo...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Steam%20Guard/Steam__%20to%20import%20Guard.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"Older/newer Steam++ import"}],["meta",{"property":"og:description","content":".dat files exported from Steam++V1, usually named \\"Steam++ Authenticator date.dat\\" by default; .mpo files exported from Steam++V2, usually named \\"Steam++ Authenticators date.mpo..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:updated_time","content":"2022-05-19T14:06:13.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-19T14:06:13.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Older/newer Steam++ import\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-19T14:06:13.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"Mobile Steam++ import","slug":"mobile-steam-import","link":"#mobile-steam-import","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1652969173000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":3}]},"readingTime":{"minutes":0.46,"words":138},"filePathRelative":"en/document/Steam Guard/Steam++ to import Guard.md","localizedDate":"May 14, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/Steam__ to import Guard.html-83cf4352.js b/assets/Steam__ to import Guard.html-83cf4352.js new file mode 100644 index 0000000..c7f5e35 --- /dev/null +++ b/assets/Steam__ to import Guard.html-83cf4352.js @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c as o,e as a}from"./app-d53ff271.js";const d="/SteamTools-Guide/assets/import-steam__-Guard-64926010.png",i="/SteamTools-Guide/assets/QR-Code-df8b5e0d.png",r="/SteamTools-Guide/assets/export-7abc6e0e.png",c={},s=a('

    Older/newer Steam++ import

    • .dat files exported from Steam++V1, usually named "Steam++ Authenticator date.dat" by default

    • .mpo files exported from Steam++V2, usually named "Steam++ Authenticators date.mpo" by default

    Steam++ Click Steam Authenticator-New- choose and select Import from Steam++.

    Steam++ Import

    Mobile Steam++ import

    PC side Steam++ v2.4.9 or higher

    1. Import by code scanning

      Click the Export as QR Code button on the PC side as shown in the picture, and click the Top Right Plus -> Add on the mobile side to scan the code

      Scan Code

    2. Import via file

      Click the Export button and Confirm Export on the PC side, send the exported file to your cell phone, and click the Top right plus sign --> Add on the cell phone side to import

      Export

    ',7),p=[s];function l(m,n){return t(),o("div",null,p)}const _=e(c,[["render",l],["__file","Steam__ to import Guard.html.vue"]]);export{_ as default}; diff --git "a/assets/Steam__\344\273\244\347\211\214.html-686e8ab1.js" "b/assets/Steam__\344\273\244\347\211\214.html-686e8ab1.js" new file mode 100644 index 0000000..fe6d63c --- /dev/null +++ "b/assets/Steam__\344\273\244\347\211\214.html-686e8ab1.js" @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c as o,e as a}from"./app-d53ff271.js";const c="/SteamTools-Guide/assets/import-steam__-Guard-64926010.png",d="/SteamTools-Guide/assets/QR-Code-df8b5e0d.png",s="/SteamTools-Guide/assets/export-7abc6e0e.png",i={},p=a('

    Steam++

    • 由Steam++V1版本导出的 .dat 文件,通常默认命名为“Steam++ Authenticator 日期.dat”

    • 由Steam++V2版本导出的 .mpo 文件,通常默认命名为“Steam++ Authenticators 日期.mpo”

    Watt Toolkit 点击令牌管理-新增选择Steam++ 导入

    Steam++ 导入

    手机Steam++导入

    PC 端 Steam++ v2.4.9 或更高版本

    1. 通过 扫码 导入

      在PC端点击如图所示导出为二维码按钮,在手机端点击 右上角加号-->新增 进行扫码

      扫码

    2. 通过 文件 导入

      在PC端点击如图所示导出按钮并确认导出,将导出的文件发送至手机,在手机端点击 右上角加号-->新增 进行导入

      导出

    ',7),m=[p];function r(l,_){return t(),o("div",null,m)}const u=e(i,[["render",r],["__file","Steam__令牌.html.vue"]]);export{u as default}; diff --git "a/assets/Steam__\344\273\244\347\211\214.html-a5629919.js" "b/assets/Steam__\344\273\244\347\211\214.html-a5629919.js" new file mode 100644 index 0000000..27b5fd9 --- /dev/null +++ "b/assets/Steam__\344\273\244\347\211\214.html-a5629919.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-0eb1bc3c","path":"/zh/document/Functions/Steam%20Guard/import/Steam__%E4%BB%A4%E7%89%8C.html","title":"Steam++","lang":"zh","frontmatter":{"description":"由Steam++V1版本导出的 .dat 文件,通常默认命名为“Steam++ Authenticator 日期.dat”; 由Steam++V2版本导出的 .mpo 文件,通常默认命名为“Steam++ Authenticators 日期.mpo”; Watt Toolkit 点击令牌管理-`新增选择Steam++ 导入 Steam++ 导入 手机S...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/Steam__%E4%BB%A4%E7%89%8C.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"Steam++"}],["meta",{"property":"og:description","content":"由Steam++V1版本导出的 .dat 文件,通常默认命名为“Steam++ Authenticator 日期.dat”; 由Steam++V2版本导出的 .mpo 文件,通常默认命名为“Steam++ Authenticators 日期.mpo”; Watt Toolkit 点击令牌管理-`新增选择Steam++ 导入 Steam++ 导入 手机S..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Steam++\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"手机Steam++导入","slug":"手机steam-导入","link":"#手机steam-导入","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.62,"words":186},"filePathRelative":"zh/document/Functions/Steam Guard/import/Steam++令牌.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/Supported Operating Systems.html-573dd272.js b/assets/Supported Operating Systems.html-573dd272.js new file mode 100644 index 0000000..a999f22 --- /dev/null +++ b/assets/Supported Operating Systems.html-573dd272.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as l,o as s,c as d,a as e,b as t,d as o}from"./app-d53ff271.js";const i={},a=e("h1",{id:"🖥️-supported-operating-systems",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🖥️-supported-operating-systems","aria-hidden":"true"},"#"),t(" 🖥️ Supported Operating Systems")],-1),h=e("h2",{id:"windows",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#windows","aria-hidden":"true"},"#"),t(" Windows")],-1),_=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures"),e("th",null,"Lifecycle")])],-1),u={href:"https://www.microsoft.com/windows/",target:"_blank",rel:"noopener noreferrer"},c=e("td",null,[t("7 SP1("),e("strong",null,"*"),t("), 8.1("),e("strong",null,"*"),t(")")],-1),p=e("td",null,"x64",-1),f={href:"https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet",target:"_blank",rel:"noopener noreferrer"},w={href:"https://www.microsoft.com/windows/",target:"_blank",rel:"noopener noreferrer"},g=e("td",null,[t("Version 1607+("),e("strong",null,"*"),t(")")],-1),b=e("td",null,"x64",-1),m={href:"https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet",target:"_blank",rel:"noopener noreferrer"},k={href:"https://www.microsoft.com/windows/",target:"_blank",rel:"noopener noreferrer"},x=e("td",null,"Version 22000+",-1),S=e("td",null,"x64,",-1),y={href:"https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet",target:"_blank",rel:"noopener noreferrer"},v={href:"https://docs.microsoft.com/windows-server/",target:"_blank",rel:"noopener noreferrer"},A=e("td",null,[t("2008 R2 SP1("),e("strong",null,"*"),t("), 2012+")],-1),O=e("td",null,"x64",-1),W={href:"https://docs.microsoft.com/windows-server/get-started/windows-server-release-info",target:"_blank",rel:"noopener noreferrer"},E=e("strong",null,"*",-1),L={href:"https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq",target:"_blank",rel:"noopener noreferrer"},U=e("br",null,null,-1),V=e("strong",null,"*",-1),P=e("br",null,null,-1),D=e("strong",null,"*",-1),R={href:"https://docs.microsoft.com/en-us/lifecycle/faq/extended-security-updates",target:"_blank",rel:"noopener noreferrer"},N=e("br",null,null,-1),C=e("strong",null,"*",-1),I=e("h2",{id:"linux",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#linux","aria-hidden":"true"},"#"),t(" Linux")],-1),B=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures"),e("th",null,"Lifecycle")])],-1),q={href:"https://alpinelinux.org/",target:"_blank",rel:"noopener noreferrer"},z=e("td",null,"3.13+",-1),F=e("td",null,"x64, Arm64",-1),M={href:"https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases",target:"_blank",rel:"noopener noreferrer"},G={href:"https://www.centos.org/",target:"_blank",rel:"noopener noreferrer"},H=e("td",null,"7+",-1),j=e("td",null,"x64",-1),Q={href:"https://wiki.centos.org/FAQ/General",target:"_blank",rel:"noopener noreferrer"},T={href:"https://www.debian.org/",target:"_blank",rel:"noopener noreferrer"},X=e("td",null,"10+",-1),J=e("td",null,"x64, Arm64",-1),K={href:"https://wiki.debian.org/DebianReleases",target:"_blank",rel:"noopener noreferrer"},Y={href:"https://getfedora.org/",target:"_blank",rel:"noopener noreferrer"},Z=e("td",null,"33+",-1),$=e("td",null,"x64",-1),ee={href:"https://fedoraproject.org/wiki/End_of_life",target:"_blank",rel:"noopener noreferrer"},te={href:"https://opensuse.org/",target:"_blank",rel:"noopener noreferrer"},ne=e("td",null,"15+",-1),oe=e("td",null,"x64",-1),re={href:"https://en.opensuse.org/Lifetime",target:"_blank",rel:"noopener noreferrer"},le={href:"https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux",target:"_blank",rel:"noopener noreferrer"},se=e("td",null,"7+",-1),de=e("td",null,"x64, Arm64",-1),ie={href:"https://access.redhat.com/support/policy/updates/errata/",target:"_blank",rel:"noopener noreferrer"},ae={href:"https://www.suse.com/products/server/",target:"_blank",rel:"noopener noreferrer"},he=e("td",null,"12 SP2+",-1),_e=e("td",null,"x64",-1),ue={href:"https://www.suse.com/lifecycle/",target:"_blank",rel:"noopener noreferrer"},ce={href:"https://ubuntu.com/",target:"_blank",rel:"noopener noreferrer"},pe=e("td",null,"16.04, 18.04, 20.04+",-1),fe=e("td",null,"x64, Arm64",-1),we={href:"https://wiki.ubuntu.com/Releases",target:"_blank",rel:"noopener noreferrer"},ge={href:"https://www.deepin.org/",target:"_blank",rel:"noopener noreferrer"},be=e("td",null,"20+",-1),me=e("td",null,"x64",-1),ke={href:"https://www.deepin.org/release-notes",target:"_blank",rel:"noopener noreferrer"},xe={href:"https://archlinux.org/",target:"_blank",rel:"noopener noreferrer"},Se=e("td",null,null,-1),ye=e("td",null,"x64",-1),ve=e("td",null,null,-1),Ae=e("h2",{id:"macos",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#macos","aria-hidden":"true"},"#"),t(" macOS")],-1),Oe=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures")])],-1),We={href:"https://support.apple.com/macos",target:"_blank",rel:"noopener noreferrer"},Ee=e("td",null,"10.15+",-1),Le=e("td",null,"x64, Arm64",-1),Ue=e("h2",{id:"android",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#android","aria-hidden":"true"},"#"),t(" Android")],-1),Ve=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures")])],-1),Pe={href:"https://support.google.com/android",target:"_blank",rel:"noopener noreferrer"},De=e("td",null,"5.0(API 21)+",-1),Re={href:"https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#86-64",target:"_blank",rel:"noopener noreferrer"},Ne={href:"https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a",target:"_blank",rel:"noopener noreferrer"},Ce={href:"https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a",target:"_blank",rel:"noopener noreferrer"},Ie=e("h2",{id:"ios-ipados",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ios-ipados","aria-hidden":"true"},"#"),t(),e("s",null,"iOS / iPadOS")],-1),Be=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures")])],-1),qe={href:"https://support.apple.com/ios",target:"_blank",rel:"noopener noreferrer"},ze=e("td",null,"10.0+",-1),Fe=e("td",null,"x64, Arm32, Arm64",-1),Me=e("h2",{id:"⛔-unsupported-operating-system",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#⛔-unsupported-operating-system","aria-hidden":"true"},"#"),t(" ⛔ Unsupported Operating System")],-1),Ge={href:"https://docs.microsoft.com/lifecycle/products/windows-8",target:"_blank",rel:"noopener noreferrer"},He={href:"https://support.microsoft.com/windows/update-to-windows-8-1-from-windows-8-17fc54a7-a465-6b5a-c1a0-34140afd0669",target:"_blank",rel:"noopener noreferrer"},je=e("li",null,"Windows Server / Linux version without desktop GUI",-1),Qe=e("li",null,"Xbox or Windows Mobile / Phone",-1);function Te(Xe,Je){const n=l("ExternalLinkIcon");return s(),d("div",null,[a,h,e("table",null,[_,e("tbody",null,[e("tr",null,[e("td",null,[e("a",u,[t("Windows Client"),o(n)])]),c,p,e("td",null,[e("a",f,[t("Windows"),o(n)])])]),e("tr",null,[e("td",null,[e("a",w,[t("Windows 10 Client"),o(n)])]),g,b,e("td",null,[e("a",m,[t("Windows"),o(n)])])]),e("tr",null,[e("td",null,[e("a",k,[t("Windows 11"),o(n)])]),x,S,e("td",null,[e("a",y,[t("Windows"),o(n)])])]),e("tr",null,[e("td",null,[e("a",v,[t("Windows Server"),o(n)])]),A,O,e("td",null,[e("a",W,[t("Windows Server"),o(n)])])])])]),e("p",null,[E,t(" Windows 7 SP1 must have "),e("a",L,[t("Extended Security Update"),o(n)]),t(" installed and will be released after November 2022 is no longer supported."),U,V,t(" Windows 8.1 will no longer be supported in versions released after November 2022."),P,D,t(" Windows Server 2008 R2 SP1 must have "),e("a",R,[t("Extended Security Update"),o(n)]),t(" installed and will be released after November 2022 is no longer supported."),N,C,t(" Microsoft Store(Desktop Bridge) Version 1809+")]),I,e("table",null,[B,e("tbody",null,[e("tr",null,[e("td",null,[e("a",q,[t("Alpine Linux"),o(n)])]),z,F,e("td",null,[e("a",M,[t("Alpine"),o(n)])])]),e("tr",null,[e("td",null,[e("a",G,[t("CentOS"),o(n)])]),H,j,e("td",null,[e("a",Q,[t("CentOS"),o(n)])])]),e("tr",null,[e("td",null,[e("a",T,[t("Debian"),o(n)])]),X,J,e("td",null,[e("a",K,[t("Debian"),o(n)])])]),e("tr",null,[e("td",null,[e("a",Y,[t("Fedora"),o(n)])]),Z,$,e("td",null,[e("a",ee,[t("Fedora"),o(n)])])]),e("tr",null,[e("td",null,[e("a",te,[t("openSUSE"),o(n)])]),ne,oe,e("td",null,[e("a",re,[t("OpenSUSE"),o(n)])])]),e("tr",null,[e("td",null,[e("a",le,[t("Red Hat Enterprise Linux"),o(n)])]),se,de,e("td",null,[e("a",ie,[t("Red Hat"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ae,[t("SUSE Enterprise Linux (SLES)"),o(n)])]),he,_e,e("td",null,[e("a",ue,[t("SUSE"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ce,[t("Ubuntu"),o(n)])]),pe,fe,e("td",null,[e("a",we,[t("Ubuntu"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ge,[t("Deepin / UOS"),o(n)])]),be,me,e("td",null,[e("a",ke,[t("Deepin"),o(n)])])]),e("tr",null,[e("td",null,[e("a",xe,[t("Arch Linux"),o(n)])]),Se,ye,ve])])]),Ae,e("table",null,[Oe,e("tbody",null,[e("tr",null,[e("td",null,[e("a",We,[t("macOS"),o(n)])]),Ee,Le])])]),Ue,e("table",null,[Ve,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Pe,[t("Android"),o(n)])]),De,e("td",null,[e("a",Re,[t("x64"),o(n)]),t(", "),e("a",Ne,[t("Arm64"),o(n)]),t(", "),e("a",Ce,[t("Arm32"),o(n)])])])])]),Ie,e("table",null,[Be,e("tbody",null,[e("tr",null,[e("td",null,[e("a",qe,[t("iOS"),o(n)])]),ze,Fe])])]),Me,e("ul",null,[e("li",null,[t("Windows 8 "),e("ul",null,[e("li",null,[e("a",Ge,[t("Due to Microsoft's official support for the product has ended"),o(n)]),t(", so this program cannot run on this operating system, "),e("a",He,[t("It is recommended to upgrade to Windows 8.1"),o(n)])])])]),je,Qe])])}const Ze=r(i,[["render",Te],["__file","Supported Operating Systems.html.vue"]]);export{Ze as default}; diff --git a/assets/Supported Operating Systems.html-5d4432ca.js b/assets/Supported Operating Systems.html-5d4432ca.js new file mode 100644 index 0000000..0ea294a --- /dev/null +++ b/assets/Supported Operating Systems.html-5d4432ca.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as l,o as s,c as d,a as e,b as t,d as o}from"./app-d53ff271.js";const i={},h=e("h1",{id:"🖥️-系统要求",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#🖥️-系统要求","aria-hidden":"true"},"#"),t(" 🖥️ 系统要求")],-1),a=e("h2",{id:"windows",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#windows","aria-hidden":"true"},"#"),t(" Windows")],-1),_=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures"),e("th",null,"Lifecycle")])],-1),c={href:"https://www.microsoft.com/windows/",target:"_blank",rel:"noopener noreferrer"},u=e("td",null,[t("7 SP1("),e("strong",null,"*"),t("), 8.1("),e("strong",null,"*"),t(")")],-1),p=e("td",null,"x64",-1),f={href:"https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet",target:"_blank",rel:"noopener noreferrer"},w={href:"https://www.microsoft.com/windows/",target:"_blank",rel:"noopener noreferrer"},g=e("td",null,[t("Version 1607+("),e("strong",null,"*"),t(")")],-1),b=e("td",null,"x64",-1),m={href:"https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet",target:"_blank",rel:"noopener noreferrer"},k={href:"https://www.microsoft.com/windows/",target:"_blank",rel:"noopener noreferrer"},x=e("td",null,"Version 22000+",-1),S=e("td",null,"x64,",-1),A={href:"https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet",target:"_blank",rel:"noopener noreferrer"},y={href:"https://docs.microsoft.com/windows-server/",target:"_blank",rel:"noopener noreferrer"},E=e("td",null,[t("2008 R2 SP1("),e("strong",null,"*"),t("), 2012+")],-1),v=e("td",null,"x64",-1),O={href:"https://docs.microsoft.com/windows-server/get-started/windows-server-release-info",target:"_blank",rel:"noopener noreferrer"},W=e("strong",null,"*",-1),L={href:"https://docs.microsoft.com/troubleshoot/windows-client/windows-7-eos-faq/windows-7-extended-security-updates-faq",target:"_blank",rel:"noopener noreferrer"},V=e("strong",null,"2022/11",-1),B=e("br",null,null,-1),U=e("strong",null,"*",-1),P=e("strong",null,"2022/11",-1),R=e("br",null,null,-1),z=e("strong",null,"*",-1),D={href:"https://docs.microsoft.com/zh-cn/lifecycle/faq/extended-security-updates",target:"_blank",rel:"noopener noreferrer"},C=e("strong",null,"2022/11",-1),I=e("br",null,null,-1),q=e("strong",null,"*",-1),F=e("h2",{id:"linux",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#linux","aria-hidden":"true"},"#"),t(" Linux")],-1),N=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures"),e("th",null,"Lifecycle")])],-1),G={href:"https://alpinelinux.org/",target:"_blank",rel:"noopener noreferrer"},H=e("td",null,"3.13+",-1),M=e("td",null,"x64, Arm64",-1),j={href:"https://wiki.alpinelinux.org/wiki/Alpine_Linux:Releases",target:"_blank",rel:"noopener noreferrer"},Q={href:"https://www.centos.org/",target:"_blank",rel:"noopener noreferrer"},T=e("td",null,"7+",-1),X=e("td",null,"x64",-1),J={href:"https://wiki.centos.org/FAQ/General",target:"_blank",rel:"noopener noreferrer"},K={href:"https://www.debian.org/",target:"_blank",rel:"noopener noreferrer"},Y=e("td",null,"10+",-1),Z=e("td",null,"x64, Arm64",-1),$={href:"https://wiki.debian.org/DebianReleases",target:"_blank",rel:"noopener noreferrer"},ee={href:"https://getfedora.org/",target:"_blank",rel:"noopener noreferrer"},te=e("td",null,"33+",-1),ne=e("td",null,"x64",-1),oe={href:"https://fedoraproject.org/wiki/End_of_life",target:"_blank",rel:"noopener noreferrer"},re={href:"https://opensuse.org/",target:"_blank",rel:"noopener noreferrer"},le=e("td",null,"15+",-1),se=e("td",null,"x64",-1),de={href:"https://en.opensuse.org/Lifetime",target:"_blank",rel:"noopener noreferrer"},ie={href:"https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux",target:"_blank",rel:"noopener noreferrer"},he=e("td",null,"7+",-1),ae=e("td",null,"x64, Arm64",-1),_e={href:"https://access.redhat.com/support/policy/updates/errata/",target:"_blank",rel:"noopener noreferrer"},ce={href:"https://www.suse.com/products/server/",target:"_blank",rel:"noopener noreferrer"},ue=e("td",null,"12 SP2+",-1),pe=e("td",null,"x64",-1),fe={href:"https://www.suse.com/lifecycle/",target:"_blank",rel:"noopener noreferrer"},we={href:"https://ubuntu.com/",target:"_blank",rel:"noopener noreferrer"},ge=e("td",null,"16.04, 18.04, 20.04+",-1),be=e("td",null,"x64, Arm64",-1),me={href:"https://wiki.ubuntu.com/Releases",target:"_blank",rel:"noopener noreferrer"},ke={href:"https://www.deepin.org/",target:"_blank",rel:"noopener noreferrer"},xe=e("td",null,"20+",-1),Se=e("td",null,"x64",-1),Ae={href:"https://www.deepin.org/release-notes",target:"_blank",rel:"noopener noreferrer"},ye={href:"https://archlinux.org/",target:"_blank",rel:"noopener noreferrer"},Ee=e("td",null,null,-1),ve=e("td",null,"x64",-1),Oe=e("td",null,null,-1),We=e("h2",{id:"macos",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#macos","aria-hidden":"true"},"#"),t(" macOS")],-1),Le=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures")])],-1),Ve={href:"https://support.apple.com/macos",target:"_blank",rel:"noopener noreferrer"},Be=e("td",null,"10.15+",-1),Ue=e("td",null,"x64, Arm64",-1),Pe=e("h2",{id:"android",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#android","aria-hidden":"true"},"#"),t(" Android")],-1),Re=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures")])],-1),ze={href:"https://support.google.com/android",target:"_blank",rel:"noopener noreferrer"},De=e("td",null,"5.0(API 21)+",-1),Ce={href:"https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#86-64",target:"_blank",rel:"noopener noreferrer"},Ie={href:"https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#arm64-v8a",target:"_blank",rel:"noopener noreferrer"},qe={href:"https://developer.android.google.cn/ndk/guides/abis?hl=zh_cn#v7a",target:"_blank",rel:"noopener noreferrer"},Fe=e("h2",{id:"ios-ipados",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#ios-ipados","aria-hidden":"true"},"#"),t(),e("s",null,"iOS / iPadOS")],-1),Ne=e("thead",null,[e("tr",null,[e("th",null,"OS"),e("th",null,"Version"),e("th",null,"Architectures")])],-1),Ge={href:"https://support.apple.com/ios",target:"_blank",rel:"noopener noreferrer"},He=e("td",null,"10.0+",-1),Me=e("td",null,"x64, Arm32, Arm64",-1),je=e("h2",{id:"⛔-不受支持的操作系统",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#⛔-不受支持的操作系统","aria-hidden":"true"},"#"),t(" ⛔ 不受支持的操作系统")],-1),Qe={href:"https://docs.microsoft.com/zh-cn/lifecycle/products/windows-8",target:"_blank",rel:"noopener noreferrer"},Te={href:"https://support.microsoft.com/zh-cn/windows/%E4%BB%8E-windows-8-%E6%9B%B4%E6%96%B0%E5%88%B0-windows-8-1-17fc54a7-a465-6b5a-c1a0-34140afd0669",target:"_blank",rel:"noopener noreferrer"},Xe=e("li",null,"无桌面 GUI 的 Windows Server / Linux 版本",-1),Je=e("li",null,"Xbox or Windows Mobile / Phone",-1);function Ke(Ye,Ze){const n=l("ExternalLinkIcon");return s(),d("div",null,[h,a,e("table",null,[_,e("tbody",null,[e("tr",null,[e("td",null,[e("a",c,[t("Windows Client"),o(n)])]),u,p,e("td",null,[e("a",f,[t("Windows"),o(n)])])]),e("tr",null,[e("td",null,[e("a",w,[t("Windows 10 Client"),o(n)])]),g,b,e("td",null,[e("a",m,[t("Windows"),o(n)])])]),e("tr",null,[e("td",null,[e("a",k,[t("Windows 11"),o(n)])]),x,S,e("td",null,[e("a",A,[t("Windows"),o(n)])])]),e("tr",null,[e("td",null,[e("a",y,[t("Windows Server"),o(n)])]),E,v,e("td",null,[e("a",O,[t("Windows Server"),o(n)])])])])]),e("p",null,[W,t(" Windows 7 SP1 必须安装 "),e("a",L,[t("扩展安全更新 (ESU)"),o(n)]),t(" 且将在不再支持 "),V,t(" 后发布的版本。"),B,U,t(" Windows 8.1 将在不再支持 "),P,t(" 后发布的版本。"),R,z,t(" Windows Server 2008 R2 SP1 必须安装 "),e("a",D,[t("扩展安全更新 (ESU)"),o(n)]),t(" 且将在不再支持 "),C,t(" 后发布的版本。"),I,q,t(" Microsoft Store(Desktop Bridge) Version 1809+")]),F,e("table",null,[N,e("tbody",null,[e("tr",null,[e("td",null,[e("a",G,[t("Alpine Linux"),o(n)])]),H,M,e("td",null,[e("a",j,[t("Alpine"),o(n)])])]),e("tr",null,[e("td",null,[e("a",Q,[t("CentOS"),o(n)])]),T,X,e("td",null,[e("a",J,[t("CentOS"),o(n)])])]),e("tr",null,[e("td",null,[e("a",K,[t("Debian"),o(n)])]),Y,Z,e("td",null,[e("a",$,[t("Debian"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ee,[t("Fedora"),o(n)])]),te,ne,e("td",null,[e("a",oe,[t("Fedora"),o(n)])])]),e("tr",null,[e("td",null,[e("a",re,[t("openSUSE"),o(n)])]),le,se,e("td",null,[e("a",de,[t("OpenSUSE"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ie,[t("Red Hat Enterprise Linux"),o(n)])]),he,ae,e("td",null,[e("a",_e,[t("Red Hat"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ce,[t("SUSE Enterprise Linux (SLES)"),o(n)])]),ue,pe,e("td",null,[e("a",fe,[t("SUSE"),o(n)])])]),e("tr",null,[e("td",null,[e("a",we,[t("Ubuntu"),o(n)])]),ge,be,e("td",null,[e("a",me,[t("Ubuntu"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ke,[t("Deepin / UOS"),o(n)])]),xe,Se,e("td",null,[e("a",Ae,[t("Deepin"),o(n)])])]),e("tr",null,[e("td",null,[e("a",ye,[t("Arch Linux"),o(n)])]),Ee,ve,Oe])])]),We,e("table",null,[Le,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Ve,[t("macOS"),o(n)])]),Be,Ue])])]),Pe,e("table",null,[Re,e("tbody",null,[e("tr",null,[e("td",null,[e("a",ze,[t("Android"),o(n)])]),De,e("td",null,[e("a",Ce,[t("x64"),o(n)]),t(", "),e("a",Ie,[t("Arm64"),o(n)]),t(", "),e("a",qe,[t("Arm32"),o(n)])])])])]),Fe,e("table",null,[Ne,e("tbody",null,[e("tr",null,[e("td",null,[e("a",Ge,[t("iOS"),o(n)])]),He,Me])])]),je,e("ul",null,[e("li",null,[t("Windows 8 "),e("ul",null,[e("li",null,[e("a",Qe,[t("由于微软官方对该产品的支持已结束"),o(n)]),t(",故本程序无法在此操作系统上运行,"),e("a",Te,[t("建议升级到 Windows 8.1"),o(n)])])])]),Xe,Je])])}const tt=r(i,[["render",Ke],["__file","Supported Operating Systems.html.vue"]]);export{tt as default}; diff --git a/assets/Supported Operating Systems.html-76138118.js b/assets/Supported Operating Systems.html-76138118.js new file mode 100644 index 0000000..c672cb8 --- /dev/null +++ b/assets/Supported Operating Systems.html-76138118.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-a66d0ef6","path":"/zh/document/Start/Supported%20Operating%20Systems.html","title":"🖥️ 系统要求","lang":"zh","frontmatter":{"description":"Windows OS Version Architectures | Lifecycle -----------------------------------------------------------------------------------|---------- [Windows Client][Windows-client] 7 SP...","head":[["link",{"rel":"alternate","hreflang":"en","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Start/Supported%20Operating%20Systems.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Supported%20Operating%20Systems.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"🖥️ 系统要求"}],["meta",{"property":"og:description","content":"Windows OS Version Architectures | Lifecycle -----------------------------------------------------------------------------------|---------- [Windows Client][Windows-client] 7 SP..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:locale:alternate","content":"en"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"🖥️ 系统要求\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"Windows","slug":"windows","link":"#windows","children":[]},{"level":2,"title":"Linux","slug":"linux","link":"#linux","children":[]},{"level":2,"title":"macOS","slug":"macos","link":"#macos","children":[]},{"level":2,"title":"Android","slug":"android","link":"#android","children":[]},{"level":2,"title":"iOS / iPadOS","slug":"ios-ipados","link":"#ios-ipados","children":[]},{"level":2,"title":"⛔ 不受支持的操作系统","slug":"⛔-不受支持的操作系统","link":"#⛔-不受支持的操作系统","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.99,"words":597},"filePathRelative":"zh/document/Start/Supported Operating Systems.md","localizedDate":"2023年11月4日","autoDesc":true}');export{e as data}; diff --git a/assets/Supported Operating Systems.html-ff93a1fb.js b/assets/Supported Operating Systems.html-ff93a1fb.js new file mode 100644 index 0000000..2969cdf --- /dev/null +++ b/assets/Supported Operating Systems.html-ff93a1fb.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-502f8300","path":"/en/document/Start/Supported%20Operating%20Systems.html","title":"🖥️ Supported Operating Systems","lang":"en","frontmatter":{"description":"Windows OS Version Architectures | Lifecycle -----------------------------------------------------------------------------------|---------- [Windows Client][Windows-client] 7 SP...","head":[["link",{"rel":"alternate","hreflang":"zh","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/Supported%20Operating%20Systems.html"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Start/Supported%20Operating%20Systems.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"🖥️ Supported Operating Systems"}],["meta",{"property":"og:description","content":"Windows OS Version Architectures | Lifecycle -----------------------------------------------------------------------------------|---------- [Windows Client][Windows-client] 7 SP..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:locale:alternate","content":"zh"}],["meta",{"property":"og:updated_time","content":"2022-07-12T08:05:54.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-07-12T08:05:54.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"🖥️ Supported Operating Systems\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-07-12T08:05:54.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"Windows","slug":"windows","link":"#windows","children":[]},{"level":2,"title":"Linux","slug":"linux","link":"#linux","children":[]},{"level":2,"title":"macOS","slug":"macos","link":"#macos","children":[]},{"level":2,"title":"Android","slug":"android","link":"#android","children":[]},{"level":2,"title":"iOS / iPadOS","slug":"ios-ipados","link":"#ios-ipados","children":[]},{"level":2,"title":"⛔ Unsupported Operating System","slug":"⛔-unsupported-operating-system","link":"#⛔-unsupported-operating-system","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1657613154000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":3}]},"readingTime":{"minutes":1.82,"words":547},"filePathRelative":"en/document/Start/Supported Operating Systems.md","localizedDate":"May 14, 2022","autoDesc":true}');export{e as data}; diff --git "a/assets/android\344\273\244\347\211\214.html-33f09491.js" "b/assets/android\344\273\244\347\211\214.html-33f09491.js" new file mode 100644 index 0000000..0c77007 --- /dev/null +++ "b/assets/android\344\273\244\347\211\214.html-33f09491.js" @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-c27b6911.js";import{r as n,o as a,c as i,a as e,b as o,d as t,e as s}from"./app-d53ff271.js";const h={},c=e("h1",{id:"安卓手机",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#安卓手机","aria-hidden":"true"},"#"),o(" 安卓手机")],-1),d=e("p",null,"安卓手机根据不同情况不同厂商可分为三种情况: 任意安卓手机,有root 部分安卓手机厂商,有自家备份软件,且备份文件无加密/加密可破解 手机无root,且无法备份对应数据/无法解密备份数据的,此方法由于是重新绑定,所以可能有暂挂",-1),_=e("h2",{id:"有root",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#有root","aria-hidden":"true"},"#"),o(" 有root")],-1),p={href:"https://www.bilibili.com/read/cv10142098?from=articleDetail",target:"_blank",rel:"noopener noreferrer"},u={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},f=e("ul",null,[e("li",null,"一台绑定了目标账号令牌,并且已经被root的手机")],-1),b=e("h2",{id:"无root",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#无root","aria-hidden":"true"},"#"),o(" 无root")],-1),k=e("blockquote",null,[e("p",null,"需要一台绑定了目标账号令牌的手机,根据手机品牌不同,还需要不同的软件,这一方案并非全品牌适用")],-1),m={href:"https://www.bilibili.com/read/cv10052462",target:"_blank",rel:"noopener noreferrer"},g={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"},x=e("p",null,"本方案涉及手机品牌较多,总结概述为:",-1),A=e("ol",null,[e("li",null,[e("p",null,"通过具备高权限的手机厂商自家备份软件对 SteamApp 进行备份")]),e("li",null,[e("p",null,"提取备份文件导入令牌")])],-1),B=e("p",null,"已知的相关教程链接:",-1),v={href:"https://keylol.com/t684133-1-1",target:"_blank",rel:"noopener noreferrer"},y=e("s",null,"vivo",-1),w={href:"https://keylol.com/t524510-1-1",target:"_blank",rel:"noopener noreferrer"},D={href:"https://keylol.com/t582900-1-1",target:"_blank",rel:"noopener noreferrer"},E={href:"https://keylol.com/t666792-1-1",target:"_blank",rel:"noopener noreferrer"},K=e("s",null,"华为",-1),S=s('

    更多品牌手机可参考以上教程自行研究

    ADB

    注意

    保留数据卸载 app 也是有风险的,请做好要用备用码解绑的心理准备!

    不过好处就是如果成功了,可以合理避免暂挂问题。

    准备工具

    1. 电脑、数据线和一台安卓 10 以上的手机。(这里没查到从哪一个版本开始支持 adb uninstall -k 指令的,但我搜新闻都说是 10 以上)
    2. Java SE 8,JRE 就行了,无需 JDK,安装版或压缩包皆可。(压缩包需自行配置环境变量
    3. Steam 的 APK 文件,官方的即可。(因为要改,当然准备旧版的话就不用改了)
    4. APK 修改工具,这里用的是 ApkTool 和 signapk。(用旧版的话无需下载)
    5. ADB 工具包,没什么好说的
    6. Android Backup Extractor,用于解包备份文件。

    参考

    ',6),N={href:"https://keylol.com/t670455-1-1",target:"_blank",rel:"noopener noreferrer"},V={href:"https://keylol.com/suid-193463",target:"_blank",rel:"noopener noreferrer"},J={href:"https://keylol.com/t757408-1-1",target:"_blank",rel:"noopener noreferrer"},L={href:"https://keylol.com/suid-218128",target:"_blank",rel:"noopener noreferrer"};function q(z,I){const r=n("ExternalLinkIcon");return a(),i("div",null,[c,d,_,e("p",null,[e("a",p,[o("steam++令牌导入教程-从Android App导入-须root的方式"),t(r)]),o(),e("a",u,[o("(BiliBili)@牛奶君"),t(r)])]),f,b,k,e("p",null,[e("a",m,[o("steam++令牌导入教程-从Android App导入-无须root的方式"),t(r)]),o(),e("a",g,[o("(BiliBili)@牛奶君"),t(r)])]),x,A,B,e("blockquote",null,[e("p",null,[e("a",v,[y,t(r)]),o("新版已加密")]),e("p",null,[e("a",w,[o("小米"),t(r)])]),e("p",null,[e("a",D,[o("LG"),t(r)]),o("解密")]),e("p",null,[e("a",E,[K,t(r)]),o("新版已修改加密")])]),S,e("ul",null,[e("li",null,[o("ADB "),e("ul",null,[e("li",null,[e("a",N,[o("利用adb可免root导出steam令牌"),t(r)]),o(),e("a",V,[o("(其乐 Keylol)@AK_Scrin"),t(r)])]),e("li",null,[e("a",J,[o("安卓手机利用 ADB 免 root 导出令牌(避免暂挂)"),t(r)]),o(),e("a",L,[o("(其乐 Keylol)@sffxzzp"),t(r)])])])])])])}const C=l(h,[["render",q],["__file","android令牌.html.vue"]]);export{C as default}; diff --git "a/assets/android\344\273\244\347\211\214.html-6963db12.js" "b/assets/android\344\273\244\347\211\214.html-6963db12.js" new file mode 100644 index 0000000..2b8e22b --- /dev/null +++ "b/assets/android\344\273\244\347\211\214.html-6963db12.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-17724bfd","path":"/zh/document/Functions/Steam%20Guard/import/android%E4%BB%A4%E7%89%8C.html","title":"安卓手机","lang":"zh","frontmatter":{"description":"安卓手机根据不同情况不同厂商可分为三种情况: 任意安卓手机,有root 部分安卓手机厂商,有自家备份软件,且备份文件无加密/加密可破解 手机无root,且无法备份对应数据/无法解密备份数据的,此方法由于是重新绑定,所以可能有暂挂 有root steam++令牌导入教程-从Android App导入-须root的方式 (https://www.bilib...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/android%E4%BB%A4%E7%89%8C.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"安卓手机"}],["meta",{"property":"og:description","content":"安卓手机根据不同情况不同厂商可分为三种情况: 任意安卓手机,有root 部分安卓手机厂商,有自家备份软件,且备份文件无加密/加密可破解 手机无root,且无法备份对应数据/无法解密备份数据的,此方法由于是重新绑定,所以可能有暂挂 有root steam++令牌导入教程-从Android App导入-须root的方式 (https://www.bilib..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"安卓手机\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"有root","slug":"有root","link":"#有root","children":[]},{"level":2,"title":"无root","slug":"无root","link":"#无root","children":[]},{"level":2,"title":"ADB","slug":"adb","link":"#adb","children":[{"level":3,"title":"准备工具","slug":"准备工具","link":"#准备工具","children":[]}]},{"level":2,"title":"参考","slug":"参考","link":"#参考","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2,"words":601},"filePathRelative":"zh/document/Functions/Steam Guard/import/android令牌.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/app-d53ff271.js b/assets/app-d53ff271.js new file mode 100644 index 0000000..74f65cb --- /dev/null +++ b/assets/app-d53ff271.js @@ -0,0 +1,9 @@ +const cu="modulepreload",uu=function(e){return"/SteamTools-Guide/"+e},Bl={},A=function(t,n,o){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(l=>{if(l=uu(l),l in Bl)return;Bl[l]=!0;const s=l.endsWith(".css"),a=s?'[rel="stylesheet"]':"";if(!!o)for(let u=r.length-1;u>=0;u--){const f=r[u];if(f.href===l&&(!s||f.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${a}`))return;const c=document.createElement("link");if(c.rel=s?"stylesheet":cu,s||(c.as="script",c.crossOrigin=""),c.href=l,document.head.appendChild(c),s)return new Promise((u,f)=>{c.addEventListener("load",u),c.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t()).catch(l=>{const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=l,window.dispatchEvent(s),!s.defaultPrevented)throw l})};function Qr(e,t){const n=Object.create(null),o=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const _e={},mn=[],st=()=>{},du=()=>!1,fu=/^on[^a-z]/,co=e=>fu.test(e),Yr=e=>e.startsWith("onUpdate:"),Ce=Object.assign,Jr=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},pu=Object.prototype.hasOwnProperty,ie=(e,t)=>pu.call(e,t),q=Array.isArray,vn=e=>uo(e)==="[object Map]",On=e=>uo(e)==="[object Set]",Hl=e=>uo(e)==="[object Date]",ne=e=>typeof e=="function",ce=e=>typeof e=="string",wn=e=>typeof e=="symbol",me=e=>e!==null&&typeof e=="object",_a=e=>(me(e)||ne(e))&&ne(e.then)&&ne(e.catch),ba=Object.prototype.toString,uo=e=>ba.call(e),hu=e=>uo(e).slice(8,-1),ya=e=>uo(e)==="[object Object]",Xr=e=>ce(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Kn=Qr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ko=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},mu=/-(\w)/g,Je=Ko(e=>e.replace(mu,(t,n)=>n?n.toUpperCase():"")),vu=/\B([A-Z])/g,In=Ko(e=>e.replace(vu,"-$1").toLowerCase()),fo=Ko(e=>e.charAt(0).toUpperCase()+e.slice(1)),ur=Ko(e=>e?`on${fo(e)}`:""),en=(e,t)=>!Object.is(e,t),Io=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},$o=e=>{const t=parseFloat(e);return isNaN(t)?e:t},gu=e=>{const t=ce(e)?Number(e):NaN;return isNaN(t)?e:t};let jl;const Cr=()=>jl||(jl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zr(e){if(q(e)){const t={};for(let n=0;n{if(n){const o=n.split(bu);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function el(e){let t="";if(ce(e))t=e;else if(q(e))for(let n=0;ntn(n,t))}const G1=e=>ce(e)?e:e==null?"":q(e)||me(e)&&(e.toString===ba||!ne(e.toString))?JSON.stringify(e,wa,2):String(e),wa=(e,t)=>t&&t.__v_isRef?wa(e,t.value):vn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,r])=>(n[`${o} =>`]=r,n),{})}:On(t)?{[`Set(${t.size})`]:[...t.values()]}:me(t)&&!q(t)&&!ya(t)?String(t):t;let je;class Tu{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=je,!t&&je&&(this.index=(je.scopes||(je.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=je;try{return je=this,t()}finally{je=n}}}on(){je=this}off(){je=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},Aa=e=>(e.w&Vt)>0,Ta=e=>(e.n&Vt)>0,Cu=({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{(u==="length"||!wn(u)&&u>=i)&&a.push(c)})}else switch(n!==void 0&&a.push(s.get(n)),t){case"add":q(e)?Xr(n)&&a.push(s.get("length")):(a.push(s.get(Jt)),vn(e)&&a.push(s.get(xr)));break;case"delete":q(e)||(a.push(s.get(Jt)),vn(e)&&a.push(s.get(xr)));break;case"set":vn(e)&&a.push(s.get(Jt));break}if(a.length===1)a[0]&&Rr(a[0]);else{const i=[];for(const c of a)c&&i.push(...c);Rr(nl(i))}}function Rr(e,t){const n=q(e)?e:[...e];for(const o of n)o.computed&&Ul(o);for(const o of n)o.computed||Ul(o)}function Ul(e,t){(e!==rt||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function xu(e,t){var n;return(n=zo.get(e))==null?void 0:n.get(t)}const Ru=Qr("__proto__,__v_isRef,__isVue"),Ca=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(wn)),Wl=Ou();function Ou(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const o=se(this);for(let l=0,s=this.length;l{e[t]=function(...n){Fn();const o=se(this)[t].apply(this,n);return Dn(),o}}),e}function Iu(e){const t=se(this);return Ne(t,"has",e),t.hasOwnProperty(e)}class Pa{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,o){const r=this._isReadonly,l=this._shallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return l;if(n==="__v_raw"&&o===(r?l?Wu:Ia:l?Oa:Ra).get(t))return t;const s=q(t);if(!r){if(s&&ie(Wl,n))return Reflect.get(Wl,n,o);if(n==="hasOwnProperty")return Iu}const a=Reflect.get(t,n,o);return(wn(n)?Ca.has(n):Ru(n))||(r||Ne(t,"get",n),l)?a:ke(a)?s&&Xr(n)?a:a.value:me(a)?r?Lt(a):po(a):a}}class xa extends Pa{constructor(t=!1){super(!1,t)}set(t,n,o,r){let l=t[n];if(Sn(l)&&ke(l)&&!ke(o))return!1;if(!this._shallow&&(!Mo(o)&&!Sn(o)&&(l=se(l),o=se(o)),!q(t)&&ke(l)&&!ke(o)))return l.value=o,!0;const s=q(t)&&Xr(n)?Number(n)e,Qo=e=>Reflect.getPrototypeOf(e);function bo(e,t,n=!1,o=!1){e=e.__v_raw;const r=se(e),l=se(t);n||(en(t,l)&&Ne(r,"get",t),Ne(r,"get",l));const{has:s}=Qo(r),a=o?rl:n?al:to;if(s.call(r,t))return a(e.get(t));if(s.call(r,l))return a(e.get(l));e!==r&&e.get(t)}function yo(e,t=!1){const n=this.__v_raw,o=se(n),r=se(e);return t||(en(e,r)&&Ne(o,"has",e),Ne(o,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Eo(e,t=!1){return e=e.__v_raw,!t&&Ne(se(e),"iterate",Jt),Reflect.get(e,"size",e)}function ql(e){e=se(e);const t=se(this);return Qo(t).has.call(t,e)||(t.add(e),wt(t,"add",e,e)),this}function Kl(e,t){t=se(t);const n=se(this),{has:o,get:r}=Qo(n);let l=o.call(n,e);l||(e=se(e),l=o.call(n,e));const s=r.call(n,e);return n.set(e,t),l?en(t,s)&&wt(n,"set",e,t):wt(n,"add",e,t),this}function Ql(e){const t=se(this),{has:n,get:o}=Qo(t);let r=n.call(t,e);r||(e=se(e),r=n.call(t,e)),o&&o.call(t,e);const l=t.delete(e);return r&&wt(t,"delete",e,void 0),l}function Yl(){const e=se(this),t=e.size!==0,n=e.clear();return t&&wt(e,"clear",void 0,void 0),n}function wo(e,t){return function(o,r){const l=this,s=l.__v_raw,a=se(s),i=t?rl:e?al:to;return!e&&Ne(a,"iterate",Jt),s.forEach((c,u)=>o.call(r,i(c),i(u),l))}}function So(e,t,n){return function(...o){const r=this.__v_raw,l=se(r),s=vn(l),a=e==="entries"||e===Symbol.iterator&&s,i=e==="keys"&&s,c=r[e](...o),u=n?rl:t?al:to;return!t&&Ne(l,"iterate",i?xr:Jt),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:a?[u(f[0]),u(f[1])]:u(f),done:p}},[Symbol.iterator](){return this}}}}function Rt(e){return function(...t){return e==="delete"?!1:this}}function Mu(){const e={get(l){return bo(this,l)},get size(){return Eo(this)},has:yo,add:ql,set:Kl,delete:Ql,clear:Yl,forEach:wo(!1,!1)},t={get(l){return bo(this,l,!1,!0)},get size(){return Eo(this)},has:yo,add:ql,set:Kl,delete:Ql,clear:Yl,forEach:wo(!1,!0)},n={get(l){return bo(this,l,!0)},get size(){return Eo(this,!0)},has(l){return yo.call(this,l,!0)},add:Rt("add"),set:Rt("set"),delete:Rt("delete"),clear:Rt("clear"),forEach:wo(!0,!1)},o={get(l){return bo(this,l,!0,!0)},get size(){return Eo(this,!0)},has(l){return yo.call(this,l,!0)},add:Rt("add"),set:Rt("set"),delete:Rt("delete"),clear:Rt("clear"),forEach:wo(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=So(l,!1,!1),n[l]=So(l,!0,!1),t[l]=So(l,!1,!0),o[l]=So(l,!0,!0)}),[e,n,t,o]}const[Nu,Vu,Bu,Hu]=Mu();function ll(e,t){const n=t?e?Hu:Bu:e?Vu:Nu;return(o,r,l)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?o:Reflect.get(ie(n,r)&&r in o?n:o,r,l)}const ju={get:ll(!1,!1)},Gu={get:ll(!1,!0)},Uu={get:ll(!0,!1)},Ra=new WeakMap,Oa=new WeakMap,Ia=new WeakMap,Wu=new WeakMap;function qu(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ku(e){return e.__v_skip||!Object.isExtensible(e)?0:qu(hu(e))}function po(e){return Sn(e)?e:sl(e,!1,Du,ju,Ra)}function Fa(e){return sl(e,!1,zu,Gu,Oa)}function Lt(e){return sl(e,!0,$u,Uu,Ia)}function sl(e,t,n,o,r){if(!me(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=r.get(e);if(l)return l;const s=Ku(e);if(s===0)return e;const a=new Proxy(e,s===2?o:n);return r.set(e,a),a}function gn(e){return Sn(e)?gn(e.__v_raw):!!(e&&e.__v_isReactive)}function Sn(e){return!!(e&&e.__v_isReadonly)}function Mo(e){return!!(e&&e.__v_isShallow)}function Da(e){return gn(e)||Sn(e)}function se(e){const t=e&&e.__v_raw;return t?se(t):e}function $a(e){return Do(e,"__v_skip",!0),e}const to=e=>me(e)?po(e):e,al=e=>me(e)?Lt(e):e;function il(e){Mt&&rt&&(e=se(e),ka(e.dep||(e.dep=nl())))}function cl(e,t){e=se(e);const n=e.dep;n&&Rr(n)}function ke(e){return!!(e&&e.__v_isRef===!0)}function Z(e){return za(e,!1)}function ht(e){return za(e,!0)}function za(e,t){return ke(e)?e:new Qu(e,t)}class Qu{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:se(t),this._value=n?t:to(t)}get value(){return il(this),this._value}set value(t){const n=this.__v_isShallow||Mo(t)||Sn(t);t=n?t:se(t),en(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:to(t),cl(this))}}function Xt(e){return ke(e)?e.value:e}const Yu={get:(e,t,n)=>Xt(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const r=e[t];return ke(r)&&!ke(n)?(r.value=n,!0):Reflect.set(e,t,n,o)}};function Ma(e){return gn(e)?e:new Proxy(e,Yu)}class Ju{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:o}=t(()=>il(this),()=>cl(this));this._get=n,this._set=o}get value(){return this._get()}set value(t){this._set(t)}}function Na(e){return new Ju(e)}class Xu{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}get dep(){return xu(se(this._object),this._key)}}class Zu{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Yo(e,t,n){return ke(e)?e:ne(e)?new Zu(e):me(e)&&arguments.length>1?ed(e,t,n):Z(e)}function ed(e,t,n){const o=e[t];return ke(o)?o:new Xu(e,t,n)}class td{constructor(t,n,o,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new ol(t,()=>{this._dirty||(this._dirty=!0,cl(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=o}get value(){const t=se(this);return il(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function nd(e,t,n=!1){let o,r;const l=ne(e);return l?(o=e,r=st):(o=e.get,r=e.set),new td(o,r,l||!r,n)}function Nt(e,t,n,o){let r;try{r=o?e(...o):e()}catch(l){ho(l,t,n)}return r}function Ke(e,t,n,o){if(ne(e)){const l=Nt(e,t,n,o);return l&&_a(l)&&l.catch(s=>{ho(s,t,n)}),l}const r=[];for(let l=0;l>>1,r=Oe[o],l=oo(r);lpt&&Oe.splice(t,1)}function sd(e){q(e)?_n.push(...e):(!bt||!bt.includes(e,e.allowRecurse?qt+1:qt))&&_n.push(e),Ba()}function Jl(e,t=no?pt+1:0){for(;too(n)-oo(o)),qt=0;qte.id==null?1/0:e.id,ad=(e,t)=>{const n=oo(e)-oo(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Ha(e){Or=!1,no=!0,Oe.sort(ad);const t=st;try{for(pt=0;ptce(v)?v.trim():v)),f&&(r=n.map($o))}let a,i=o[a=ur(t)]||o[a=ur(Je(t))];!i&&l&&(i=o[a=ur(In(t))]),i&&Ke(i,e,6,r);const c=o[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Ke(c,e,6,r)}}function ja(e,t,n=!1){const o=t.emitsCache,r=o.get(e);if(r!==void 0)return r;const l=e.emits;let s={},a=!1;if(!ne(e)){const i=c=>{const u=ja(c,t,!0);u&&(a=!0,Ce(s,u))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!l&&!a?(me(e)&&o.set(e,null),null):(q(l)?l.forEach(i=>s[i]=null):Ce(s,l),me(e)&&o.set(e,s),s)}function Xo(e,t){return!e||!co(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,In(t))||ie(e,t))}let Ue=null,Ga=null;function Vo(e){const t=Ue;return Ue=e,Ga=e&&e.type.__scopeId||null,t}function cd(e,t=Ue,n){if(!t||e._n)return e;const o=(...r)=>{o._d&&cs(-1);const l=Vo(t);let s;try{s=e(...r)}finally{Vo(l),o._d&&cs(1)}return s};return o._n=!0,o._c=!0,o._d=!0,o}function dr(e){const{type:t,vnode:n,proxy:o,withProxy:r,props:l,propsOptions:[s],slots:a,attrs:i,emit:c,render:u,renderCache:f,data:p,setupState:v,ctx:g,inheritAttrs:E}=e;let S,y;const T=Vo(e);try{if(n.shapeFlag&4){const w=r||o;S=ot(u.call(w,w,f,l,v,p,g)),y=i}else{const w=t;S=ot(w.length>1?w(l,{attrs:i,slots:a,emit:c}):w(l,null)),y=t.props?i:ud(i)}}catch(w){Xn.length=0,ho(w,e,1),S=Ae(Qe)}let _=S;if(y&&E!==!1){const w=Object.keys(y),{shapeFlag:F}=_;w.length&&F&7&&(s&&w.some(Yr)&&(y=dd(y,s)),_=Bt(_,y))}return n.dirs&&(_=Bt(_),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&(_.transition=n.transition),S=_,Vo(T),S}const ud=e=>{let t;for(const n in e)(n==="class"||n==="style"||co(n))&&((t||(t={}))[n]=e[n]);return t},dd=(e,t)=>{const n={};for(const o in e)(!Yr(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function fd(e,t,n){const{props:o,children:r,component:l}=e,{props:s,children:a,patchFlag:i}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return o?Xl(o,s,c):!!s;if(i&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense;function Ua(e,t){t&&t.pendingBranch?q(e)?t.effects.push(...e):t.effects.push(e):sd(e)}function Wa(e,t){return dl(e,null,t)}const Ao={};function ue(e,t,n){return dl(e,t,n)}function dl(e,t,{immediate:n,deep:o,flush:r,onTrack:l,onTrigger:s}=_e){var a;const i=Sa()===((a=Pe)==null?void 0:a.scope)?Pe:null;let c,u=!1,f=!1;if(ke(e)?(c=()=>e.value,u=Mo(e)):gn(e)?(c=()=>e,o=!0):q(e)?(f=!0,u=e.some(w=>gn(w)||Mo(w)),c=()=>e.map(w=>{if(ke(w))return w.value;if(gn(w))return Yt(w);if(ne(w))return Nt(w,i,2)})):ne(e)?t?c=()=>Nt(e,i,2):c=()=>{if(!(i&&i.isUnmounted))return p&&p(),Ke(e,i,3,[v])}:c=st,t&&o){const w=c;c=()=>Yt(w())}let p,v=w=>{p=T.onStop=()=>{Nt(w,i,4)}},g;if(Ln)if(v=st,t?n&&Ke(t,i,3,[c(),f?[]:void 0,v]):c(),r==="sync"){const w=uf();g=w.__watcherHandles||(w.__watcherHandles=[])}else return st;let E=f?new Array(e.length).fill(Ao):Ao;const S=()=>{if(T.active)if(t){const w=T.run();(o||u||(f?w.some((F,R)=>en(F,E[R])):en(w,E)))&&(p&&p(),Ke(t,i,3,[w,E===Ao?void 0:f&&E[0]===Ao?[]:E,v]),E=w)}else T.run()};S.allowRecurse=!!t;let y;r==="sync"?y=S:r==="post"?y=()=>$e(S,i&&i.suspense):(S.pre=!0,i&&(S.id=i.uid),y=()=>Jo(S));const T=new ol(c,y);t?n?S():E=T.run():r==="post"?$e(T.run.bind(T),i&&i.suspense):T.run();const _=()=>{T.stop(),i&&i.scope&&Jr(i.scope.effects,T)};return g&&g.push(_),_}function md(e,t,n){const o=this.proxy,r=ce(e)?e.includes(".")?qa(o,e):()=>o[e]:e.bind(o,o);let l;ne(t)?l=t:(l=t.handler,n=t);const s=Pe;Tn(this);const a=dl(r,l.bind(o),n);return s?Tn(s):Zt(),a}function qa(e,t){const n=t.split(".");return()=>{let o=e;for(let r=0;r{Yt(n,t)});else if(ya(e))for(const n in e)Yt(e[n],t);return e}function U1(e,t){const n=Ue;if(n===null)return e;const o=tr(n)||n.proxy,r=e.dirs||(e.dirs=[]);for(let l=0;l{e.isMounted=!0}),pl(()=>{e.isUnmounting=!0}),e}const We=[Function,Array],Qa={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:We,onEnter:We,onAfterEnter:We,onEnterCancelled:We,onBeforeLeave:We,onLeave:We,onAfterLeave:We,onLeaveCancelled:We,onBeforeAppear:We,onAppear:We,onAfterAppear:We,onAppearCancelled:We},vd={name:"BaseTransition",props:Qa,setup(e,{slots:t}){const n=ln(),o=Ka();let r;return()=>{const l=t.default&&fl(t.default(),!0);if(!l||!l.length)return;let s=l[0];if(l.length>1){for(const E of l)if(E.type!==Qe){s=E;break}}const a=se(e),{mode:i}=a;if(o.isLeaving)return fr(s);const c=Zl(s);if(!c)return fr(s);const u=ro(c,a,o,n);lo(c,u);const f=n.subTree,p=f&&Zl(f);let v=!1;const{getTransitionKey:g}=c.type;if(g){const E=g();r===void 0?r=E:E!==r&&(r=E,v=!0)}if(p&&p.type!==Qe&&(!Kt(c,p)||v)){const E=ro(p,a,o,n);if(lo(p,E),i==="out-in")return o.isLeaving=!0,E.afterLeave=()=>{o.isLeaving=!1,n.update.active!==!1&&n.update()},fr(s);i==="in-out"&&c.type!==Qe&&(E.delayLeave=(S,y,T)=>{const _=Ya(o,p);_[String(p.key)]=p,S[Dt]=()=>{y(),S[Dt]=void 0,delete u.delayedLeave},u.delayedLeave=T})}return s}}},gd=vd;function Ya(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 ro(e,t,n,o){const{appear:r,mode:l,persisted:s=!1,onBeforeEnter:a,onEnter:i,onAfterEnter:c,onEnterCancelled:u,onBeforeLeave:f,onLeave:p,onAfterLeave:v,onLeaveCancelled:g,onBeforeAppear:E,onAppear:S,onAfterAppear:y,onAppearCancelled:T}=t,_=String(e.key),w=Ya(n,e),F=(P,V)=>{P&&Ke(P,o,9,V)},R=(P,V)=>{const H=V[1];F(P,V),q(P)?P.every(le=>le.length<=1)&&H():P.length<=1&&H()},$={mode:l,persisted:s,beforeEnter(P){let V=a;if(!n.isMounted)if(r)V=E||a;else return;P[Dt]&&P[Dt](!0);const H=w[_];H&&Kt(e,H)&&H.el[Dt]&&H.el[Dt](),F(V,[P])},enter(P){let V=i,H=c,le=u;if(!n.isMounted)if(r)V=S||i,H=y||c,le=T||u;else return;let N=!1;const ee=P[To]=we=>{N||(N=!0,we?F(le,[P]):F(H,[P]),$.delayedLeave&&$.delayedLeave(),P[To]=void 0)};V?R(V,[P,ee]):ee()},leave(P,V){const H=String(e.key);if(P[To]&&P[To](!0),n.isUnmounting)return V();F(f,[P]);let le=!1;const N=P[Dt]=ee=>{le||(le=!0,V(),ee?F(g,[P]):F(v,[P]),P[Dt]=void 0,w[H]===e&&delete w[H])};w[H]=e,p?R(p,[P,N]):N()},clone(P){return ro(P,t,n,o)}};return $}function fr(e){if(mo(e))return e=Bt(e),e.children=null,e}function Zl(e){return mo(e)?e.children?e.children[0]:void 0:e}function lo(e,t){e.shapeFlag&6&&e.component?lo(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 fl(e,t=!1,n){let o=[],r=0;for(let l=0;l1)for(let l=0;lCe({name:e.name},t,{setup:e}))():e}const Qn=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function j(e){ne(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:r=200,timeout:l,suspensible:s=!0,onError:a}=e;let i=null,c,u=0;const f=()=>(u++,i=null,p()),p=()=>{let v;return i||(v=i=t().catch(g=>{if(g=g instanceof Error?g:new Error(String(g)),a)return new Promise((E,S)=>{a(g,()=>E(f()),()=>S(g),u+1)});throw g}).then(g=>v!==i&&i?i:(g&&(g.__esModule||g[Symbol.toStringTag]==="Module")&&(g=g.default),c=g,g)))};return U({name:"AsyncComponentWrapper",__asyncLoader:p,get __asyncResolved(){return c},setup(){const v=Pe;if(c)return()=>pr(c,v);const g=T=>{i=null,ho(T,v,13,!o)};if(s&&v.suspense||Ln)return p().then(T=>()=>pr(T,v)).catch(T=>(g(T),()=>o?Ae(o,{error:T}):null));const E=Z(!1),S=Z(),y=Z(!!r);return r&&setTimeout(()=>{y.value=!1},r),l!=null&&setTimeout(()=>{if(!E.value&&!S.value){const T=new Error(`Async component timed out after ${l}ms.`);g(T),S.value=T}},l),p().then(()=>{E.value=!0,v.parent&&mo(v.parent.vnode)&&Jo(v.parent.update)}).catch(T=>{g(T),S.value=T}),()=>{if(E.value&&c)return pr(c,v);if(S.value&&o)return Ae(o,{error:S.value});if(n&&!y.value)return Ae(n)}}})}function pr(e,t){const{ref:n,props:o,children:r,ce:l}=t.vnode,s=Ae(e,o,r);return s.ref=n,s.ce=l,delete t.vnode.ce,s}const mo=e=>e.type.__isKeepAlive;function _d(e,t){Ja(e,"a",t)}function bd(e,t){Ja(e,"da",t)}function Ja(e,t,n=Pe){const o=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Zo(t,o,n),n){let r=n.parent;for(;r&&r.parent;)mo(r.parent.vnode)&&yd(o,t,n,r),r=r.parent}}function yd(e,t,n,o){const r=Zo(t,e,o,!0);$n(()=>{Jr(o[t],r)},n)}function Zo(e,t,n=Pe,o=!1){if(n){const r=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;Fn(),Tn(n);const a=Ke(t,n,e,s);return Zt(),Dn(),a});return o?r.unshift(l):r.push(l),l}}const kt=e=>(t,n=Pe)=>(!Ln||e==="sp")&&Zo(e,(...o)=>t(...o),n),Ed=kt("bm"),Ee=kt("m"),wd=kt("bu"),Xa=kt("u"),pl=kt("bum"),$n=kt("um"),Sd=kt("sp"),Ad=kt("rtg"),Td=kt("rtc");function Ld(e,t=Pe){Zo("ec",e,t)}const Za="components";function at(e,t){return Cd(Za,e,!0,t)||e}const kd=Symbol.for("v-ndc");function Cd(e,t,n=!0,o=!1){const r=Ue||Pe;if(r){const l=r.type;if(e===Za){const a=sf(l,!1);if(a&&(a===t||a===Je(t)||a===fo(Je(t))))return l}const s=es(r[e]||l[e],t)||es(r.appContext[e],t);return!s&&o?l:s}}function es(e,t){return e&&(e[t]||e[Je(t)]||e[fo(Je(t))])}function W1(e,t,n,o){let r;const l=n&&n[o];if(q(e)||ce(e)){r=new Array(e.length);for(let s=0,a=e.length;st(s,a,void 0,l&&l[a]));else{const s=Object.keys(e);r=new Array(s.length);for(let a=0,i=s.length;ae?pi(e)?tr(e)||e.proxy:Ir(e.parent):null,Yn=Ce(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=>Ir(e.parent),$root:e=>Ir(e.root),$emit:e=>e.emit,$options:e=>hl(e),$forceUpdate:e=>e.f||(e.f=()=>Jo(e.update)),$nextTick:e=>e.n||(e.n=rn.bind(e.proxy)),$watch:e=>md.bind(e)}),hr=(e,t)=>e!==_e&&!e.__isScriptSetup&&ie(e,t),Pd={get({_:e},t){const{ctx:n,setupState:o,data:r,props:l,accessCache:s,type:a,appContext:i}=e;let c;if(t[0]!=="$"){const v=s[t];if(v!==void 0)switch(v){case 1:return o[t];case 2:return r[t];case 4:return n[t];case 3:return l[t]}else{if(hr(o,t))return s[t]=1,o[t];if(r!==_e&&ie(r,t))return s[t]=2,r[t];if((c=e.propsOptions[0])&&ie(c,t))return s[t]=3,l[t];if(n!==_e&&ie(n,t))return s[t]=4,n[t];Fr&&(s[t]=0)}}const u=Yn[t];let f,p;if(u)return t==="$attrs"&&Ne(e,"get",t),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==_e&&ie(n,t))return s[t]=4,n[t];if(p=i.config.globalProperties,ie(p,t))return p[t]},set({_:e},t,n){const{data:o,setupState:r,ctx:l}=e;return hr(r,t)?(r[t]=n,!0):o!==_e&&ie(o,t)?(o[t]=n,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:r,propsOptions:l}},s){let a;return!!n[s]||e!==_e&&ie(e,s)||hr(t,s)||(a=l[0])&&ie(a,s)||ie(o,s)||ie(Yn,s)||ie(r.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ie(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function ts(e){return q(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Fr=!0;function xd(e){const t=hl(e),n=e.proxy,o=e.ctx;Fr=!1,t.beforeCreate&&ns(t.beforeCreate,e,"bc");const{data:r,computed:l,methods:s,watch:a,provide:i,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:v,updated:g,activated:E,deactivated:S,beforeDestroy:y,beforeUnmount:T,destroyed:_,unmounted:w,render:F,renderTracked:R,renderTriggered:$,errorCaptured:P,serverPrefetch:V,expose:H,inheritAttrs:le,components:N,directives:ee,filters:we}=t;if(c&&Rd(c,o,null),s)for(const oe in s){const Q=s[oe];ne(Q)&&(o[oe]=Q.bind(n))}if(r){const oe=r.call(n,n);me(oe)&&(e.data=po(oe))}if(Fr=!0,l)for(const oe in l){const Q=l[oe],tt=ne(Q)?Q.bind(n,n):ne(Q.get)?Q.get.bind(n,n):st,xt=!ne(Q)&&ne(Q.set)?Q.set.bind(n):st,ut=k({get:tt,set:xt});Object.defineProperty(o,oe,{enumerable:!0,configurable:!0,get:()=>ut.value,set:De=>ut.value=De})}if(a)for(const oe in a)ei(a[oe],o,n,oe);if(i){const oe=ne(i)?i.call(n):i;Reflect.ownKeys(oe).forEach(Q=>{bn(Q,oe[Q])})}u&&ns(u,e,"c");function K(oe,Q){q(Q)?Q.forEach(tt=>oe(tt.bind(n))):Q&&oe(Q.bind(n))}if(K(Ed,f),K(Ee,p),K(wd,v),K(Xa,g),K(_d,E),K(bd,S),K(Ld,P),K(Td,R),K(Ad,$),K(pl,T),K($n,w),K(Sd,V),q(H))if(H.length){const oe=e.exposed||(e.exposed={});H.forEach(Q=>{Object.defineProperty(oe,Q,{get:()=>n[Q],set:tt=>n[Q]=tt})})}else e.exposed||(e.exposed={});F&&e.render===st&&(e.render=F),le!=null&&(e.inheritAttrs=le),N&&(e.components=N),ee&&(e.directives=ee)}function Rd(e,t,n=st){q(e)&&(e=Dr(e));for(const o in e){const r=e[o];let l;me(r)?"default"in r?l=be(r.from||o,r.default,!0):l=be(r.from||o):l=be(r),ke(l)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>l.value,set:s=>l.value=s}):t[o]=l}}function ns(e,t,n){Ke(q(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function ei(e,t,n,o){const r=o.includes(".")?qa(n,o):()=>n[o];if(ce(e)){const l=t[e];ne(l)&&ue(r,l)}else if(ne(e))ue(r,e.bind(n));else if(me(e))if(q(e))e.forEach(l=>ei(l,t,n,o));else{const l=ne(e.handler)?e.handler.bind(n):t[e.handler];ne(l)&&ue(r,l,e)}}function hl(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:r,optionsCache:l,config:{optionMergeStrategies:s}}=e.appContext,a=l.get(t);let i;return a?i=a:!r.length&&!n&&!o?i=t:(i={},r.length&&r.forEach(c=>Bo(i,c,s,!0)),Bo(i,t,s)),me(t)&&l.set(t,i),i}function Bo(e,t,n,o=!1){const{mixins:r,extends:l}=t;l&&Bo(e,l,n,!0),r&&r.forEach(s=>Bo(e,s,n,!0));for(const s in t)if(!(o&&s==="expose")){const a=Od[s]||n&&n[s];e[s]=a?a(e[s],t[s]):t[s]}return e}const Od={data:os,props:rs,emits:rs,methods:qn,computed:qn,beforeCreate:Ie,created:Ie,beforeMount:Ie,mounted:Ie,beforeUpdate:Ie,updated:Ie,beforeDestroy:Ie,beforeUnmount:Ie,destroyed:Ie,unmounted:Ie,activated:Ie,deactivated:Ie,errorCaptured:Ie,serverPrefetch:Ie,components:qn,directives:qn,watch:Fd,provide:os,inject:Id};function os(e,t){return t?e?function(){return Ce(ne(e)?e.call(this,this):e,ne(t)?t.call(this,this):t)}:t:e}function Id(e,t){return qn(Dr(e),Dr(t))}function Dr(e){if(q(e)){const t={};for(let n=0;n1)return n&&ne(t)?t.call(o&&o.proxy):t}}function zd(e,t,n,o=!1){const r={},l={};Do(l,er,1),e.propsDefaults=Object.create(null),ni(e,t,r,l);for(const s in e.propsOptions[0])s in r||(r[s]=void 0);n?e.props=o?r:Fa(r):e.type.props?e.props=r:e.props=l,e.attrs=l}function Md(e,t,n,o){const{props:r,attrs:l,vnode:{patchFlag:s}}=e,a=se(r),[i]=e.propsOptions;let c=!1;if((o||s>0)&&!(s&16)){if(s&8){const u=e.vnode.dynamicProps;for(let f=0;f{i=!0;const[p,v]=oi(f,t,!0);Ce(s,p),v&&a.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!l&&!i)return me(e)&&o.set(e,mn),mn;if(q(l))for(let u=0;u-1,v[1]=E<0||g-1||ie(v,"default"))&&a.push(f)}}}const c=[s,a];return me(e)&&o.set(e,c),c}function ls(e){return e[0]!=="$"}function ss(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function as(e,t){return ss(e)===ss(t)}function is(e,t){return q(t)?t.findIndex(n=>as(n,e)):ne(t)&&as(t,e)?0:-1}const ri=e=>e[0]==="_"||e==="$stable",ml=e=>q(e)?e.map(ot):[ot(e)],Nd=(e,t,n)=>{if(t._n)return t;const o=cd((...r)=>ml(t(...r)),n);return o._c=!1,o},li=(e,t,n)=>{const o=e._ctx;for(const r in e){if(ri(r))continue;const l=e[r];if(ne(l))t[r]=Nd(r,l,o);else if(l!=null){const s=ml(l);t[r]=()=>s}}},si=(e,t)=>{const n=ml(t);e.slots.default=()=>n},Vd=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=se(t),Do(t,"_",n)):li(t,e.slots={})}else e.slots={},t&&si(e,t);Do(e.slots,er,1)},Bd=(e,t,n)=>{const{vnode:o,slots:r}=e;let l=!0,s=_e;if(o.shapeFlag&32){const a=t._;a?n&&a===1?l=!1:(Ce(r,t),!n&&a===1&&delete r._):(l=!t.$stable,li(t,r)),s=t}else t&&(si(e,t),s={default:1});if(l)for(const a in r)!ri(a)&&s[a]==null&&delete r[a]};function jo(e,t,n,o,r=!1){if(q(e)){e.forEach((p,v)=>jo(p,t&&(q(t)?t[v]:t),n,o,r));return}if(Qn(o)&&!r)return;const l=o.shapeFlag&4?tr(o.component)||o.component.proxy:o.el,s=r?null:l,{i:a,r:i}=e,c=t&&t.r,u=a.refs===_e?a.refs={}:a.refs,f=a.setupState;if(c!=null&&c!==i&&(ce(c)?(u[c]=null,ie(f,c)&&(f[c]=null)):ke(c)&&(c.value=null)),ne(i))Nt(i,a,12,[s,u]);else{const p=ce(i),v=ke(i);if(p||v){const g=()=>{if(e.f){const E=p?ie(f,i)?f[i]:u[i]:i.value;r?q(E)&&Jr(E,l):q(E)?E.includes(l)||E.push(l):p?(u[i]=[l],ie(f,i)&&(f[i]=u[i])):(i.value=[l],e.k&&(u[e.k]=i.value))}else p?(u[i]=s,ie(f,i)&&(f[i]=s)):v&&(i.value=s,e.k&&(u[e.k]=s))};s?(g.id=-1,$e(g,n)):g()}}}let Ot=!1;const Lo=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",ko=e=>e.nodeType===8;function Hd(e){const{mt:t,p:n,o:{patchProp:o,createText:r,nextSibling:l,parentNode:s,remove:a,insert:i,createComment:c}}=e,u=(_,w)=>{if(!w.hasChildNodes()){n(null,_,w),No(),w._vnode=_;return}Ot=!1,f(w.firstChild,_,null,null,null),No(),w._vnode=_,Ot&&console.error("Hydration completed but contains mismatches.")},f=(_,w,F,R,$,P=!1)=>{const V=ko(_)&&_.data==="[",H=()=>E(_,w,F,R,$,V),{type:le,ref:N,shapeFlag:ee,patchFlag:we}=w;let Se=_.nodeType;w.el=_,we===-2&&(P=!1,w.dynamicChildren=null);let K=null;switch(le){case An:Se!==3?w.children===""?(i(w.el=r(""),s(_),_),K=_):K=H():(_.data!==w.children&&(Ot=!0,_.data=w.children),K=l(_));break;case Qe:if(Se!==8||V)if(_.tagName.toLowerCase()==="template"){const oe=w.el.content.firstChild;y(oe,_,F),w.el=_=oe,K=l(_)}else K=H();else K=l(_);break;case Jn:if(V&&(_=l(_),Se=_.nodeType),Se===1||Se===3){K=_;const oe=!w.children.length;for(let Q=0;Q{P=P||!!w.dynamicChildren;const{type:V,props:H,patchFlag:le,shapeFlag:N,dirs:ee,transition:we}=w,Se=V==="input"&&ee||V==="option";if(Se||le!==-1){if(ee&&ft(w,null,F,"created"),H)if(Se||!P||le&48)for(const Q in H)(Se&&Q.endsWith("value")||co(Q)&&!Kn(Q))&&o(_,Q,null,H[Q],!1,void 0,F);else H.onClick&&o(_,"onClick",null,H.onClick,!1,void 0,F);let K;(K=H&&H.onVnodeBeforeMount)&&qe(K,F,w);let oe=!1;if(T(_)){oe=ai(R,we)&&F&&F.vnode.props&&F.vnode.props.appear;const Q=_.content.firstChild;oe&&we.beforeEnter(Q),y(Q,_,F),w.el=_=Q}if(ee&&ft(w,null,F,"beforeMount"),((K=H&&H.onVnodeMounted)||ee||oe)&&Ua(()=>{K&&qe(K,F,w),oe&&we.enter(_),ee&&ft(w,null,F,"mounted")},R),N&16&&!(H&&(H.innerHTML||H.textContent))){let Q=v(_.firstChild,w,_,F,R,$,P);for(;Q;){Ot=!0;const tt=Q;Q=Q.nextSibling,a(tt)}}else N&8&&_.textContent!==w.children&&(Ot=!0,_.textContent=w.children)}return _.nextSibling},v=(_,w,F,R,$,P,V)=>{V=V||!!w.dynamicChildren;const H=w.children,le=H.length;for(let N=0;N{const{slotScopeIds:V}=w;V&&($=$?$.concat(V):V);const H=s(_),le=v(l(_),w,H,F,R,$,P);return le&&ko(le)&&le.data==="]"?l(w.anchor=le):(Ot=!0,i(w.anchor=c("]"),H,le),le)},E=(_,w,F,R,$,P)=>{if(Ot=!0,w.el=null,P){const le=S(_);for(;;){const N=l(_);if(N&&N!==le)a(N);else break}}const V=l(_),H=s(_);return a(_),n(null,w,H,V,F,R,Lo(H),$),V},S=(_,w="[",F="]")=>{let R=0;for(;_;)if(_=l(_),_&&ko(_)&&(_.data===w&&R++,_.data===F)){if(R===0)return l(_);R--}return _},y=(_,w,F)=>{const R=w.parentNode;R&&R.replaceChild(_,w);let $=F;for(;$;)$.vnode.el===w&&($.vnode.el=_,$.subTree.el=_),$=$.parent},T=_=>_.nodeType===1&&_.tagName.toLowerCase()==="template";return[u,f]}const $e=Ua;function jd(e){return Gd(e,Hd)}function Gd(e,t){const n=Cr();n.__VUE__=!0;const{insert:o,remove:r,patchProp:l,createElement:s,createText:a,createComment:i,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:v=st,insertStaticContent:g}=e,E=(h,m,b,L=null,x=null,O=null,B=!1,D=null,z=!!m.dynamicChildren)=>{if(h===m)return;h&&!Kt(h,m)&&(L=C(h),De(h,x,O,!0),h=null),m.patchFlag===-2&&(z=!1,m.dynamicChildren=null);const{type:I,ref:J,shapeFlag:W}=m;switch(I){case An:S(h,m,b,L);break;case Qe:y(h,m,b,L);break;case Jn:h==null&&T(m,b,L,B);break;case Ge:N(h,m,b,L,x,O,B,D,z);break;default:W&1?F(h,m,b,L,x,O,B,D,z):W&6?ee(h,m,b,L,x,O,B,D,z):(W&64||W&128)&&I.process(h,m,b,L,x,O,B,D,z,M)}J!=null&&x&&jo(J,h&&h.ref,O,m||h,!m)},S=(h,m,b,L)=>{if(h==null)o(m.el=a(m.children),b,L);else{const x=m.el=h.el;m.children!==h.children&&c(x,m.children)}},y=(h,m,b,L)=>{h==null?o(m.el=i(m.children||""),b,L):m.el=h.el},T=(h,m,b,L)=>{[h.el,h.anchor]=g(h.children,m,b,L,h.el,h.anchor)},_=({el:h,anchor:m},b,L)=>{let x;for(;h&&h!==m;)x=p(h),o(h,b,L),h=x;o(m,b,L)},w=({el:h,anchor:m})=>{let b;for(;h&&h!==m;)b=p(h),r(h),h=b;r(m)},F=(h,m,b,L,x,O,B,D,z)=>{B=B||m.type==="svg",h==null?R(m,b,L,x,O,B,D,z):V(h,m,x,O,B,D,z)},R=(h,m,b,L,x,O,B,D)=>{let z,I;const{type:J,props:W,shapeFlag:X,transition:te,dirs:re}=h;if(z=h.el=s(h.type,O,W&&W.is,W),X&8?u(z,h.children):X&16&&P(h.children,z,null,L,x,O&&J!=="foreignObject",B,D),re&&ft(h,null,L,"created"),$(z,h,h.scopeId,B,L),W){for(const he in W)he!=="value"&&!Kn(he)&&l(z,he,null,W[he],O,h.children,L,x,Re);"value"in W&&l(z,"value",null,W.value),(I=W.onVnodeBeforeMount)&&qe(I,L,h)}re&&ft(h,null,L,"beforeMount");const ge=ai(x,te);ge&&te.beforeEnter(z),o(z,m,b),((I=W&&W.onVnodeMounted)||ge||re)&&$e(()=>{I&&qe(I,L,h),ge&&te.enter(z),re&&ft(h,null,L,"mounted")},x)},$=(h,m,b,L,x)=>{if(b&&v(h,b),L)for(let O=0;O{for(let I=z;I{const D=m.el=h.el;let{patchFlag:z,dynamicChildren:I,dirs:J}=m;z|=h.patchFlag&16;const W=h.props||_e,X=m.props||_e;let te;b&&Ut(b,!1),(te=X.onVnodeBeforeUpdate)&&qe(te,b,m,h),J&&ft(m,h,b,"beforeUpdate"),b&&Ut(b,!0);const re=x&&m.type!=="foreignObject";if(I?H(h.dynamicChildren,I,D,b,L,re,O):B||Q(h,m,D,null,b,L,re,O,!1),z>0){if(z&16)le(D,m,W,X,b,L,x);else if(z&2&&W.class!==X.class&&l(D,"class",null,X.class,x),z&4&&l(D,"style",W.style,X.style,x),z&8){const ge=m.dynamicProps;for(let he=0;he{te&&qe(te,b,m,h),J&&ft(m,h,b,"updated")},L)},H=(h,m,b,L,x,O,B)=>{for(let D=0;D{if(b!==L){if(b!==_e)for(const D in b)!Kn(D)&&!(D in L)&&l(h,D,b[D],null,B,m.children,x,O,Re);for(const D in L){if(Kn(D))continue;const z=L[D],I=b[D];z!==I&&D!=="value"&&l(h,D,I,z,B,m.children,x,O,Re)}"value"in L&&l(h,"value",b.value,L.value)}},N=(h,m,b,L,x,O,B,D,z)=>{const I=m.el=h?h.el:a(""),J=m.anchor=h?h.anchor:a("");let{patchFlag:W,dynamicChildren:X,slotScopeIds:te}=m;te&&(D=D?D.concat(te):te),h==null?(o(I,b,L),o(J,b,L),P(m.children,b,J,x,O,B,D,z)):W>0&&W&64&&X&&h.dynamicChildren?(H(h.dynamicChildren,X,b,x,O,B,D),(m.key!=null||x&&m===x.subTree)&&ii(h,m,!0)):Q(h,m,b,J,x,O,B,D,z)},ee=(h,m,b,L,x,O,B,D,z)=>{m.slotScopeIds=D,h==null?m.shapeFlag&512?x.ctx.activate(m,b,L,B,z):we(m,b,L,x,O,B,z):Se(h,m,z)},we=(h,m,b,L,x,O,B)=>{const D=h.component=tf(h,L,x);if(mo(h)&&(D.ctx.renderer=M),nf(D),D.asyncDep){if(x&&x.registerDep(D,K),!h.el){const z=D.subTree=Ae(Qe);y(null,z,m,b)}return}K(D,h,m,b,x,O,B)},Se=(h,m,b)=>{const L=m.component=h.component;if(fd(h,m,b))if(L.asyncDep&&!L.asyncResolved){oe(L,m,b);return}else L.next=m,ld(L.update),L.update();else m.el=h.el,L.vnode=m},K=(h,m,b,L,x,O,B)=>{const D=()=>{if(h.isMounted){let{next:J,bu:W,u:X,parent:te,vnode:re}=h,ge=J,he;Ut(h,!1),J?(J.el=re.el,oe(h,J,B)):J=re,W&&Io(W),(he=J.props&&J.props.onVnodeBeforeUpdate)&&qe(he,te,J,re),Ut(h,!0);const Le=dr(h),nt=h.subTree;h.subTree=Le,E(nt,Le,f(nt.el),C(nt),h,x,O),J.el=Le.el,ge===null&&pd(h,Le.el),X&&$e(X,x),(he=J.props&&J.props.onVnodeUpdated)&&$e(()=>qe(he,te,J,re),x)}else{let J;const{el:W,props:X}=m,{bm:te,m:re,parent:ge}=h,he=Qn(m);if(Ut(h,!1),te&&Io(te),!he&&(J=X&&X.onVnodeBeforeMount)&&qe(J,ge,m),Ut(h,!0),W&&de){const Le=()=>{h.subTree=dr(h),de(W,h.subTree,h,x,null)};he?m.type.__asyncLoader().then(()=>!h.isUnmounted&&Le()):Le()}else{const Le=h.subTree=dr(h);E(null,Le,b,L,h,x,O),m.el=Le.el}if(re&&$e(re,x),!he&&(J=X&&X.onVnodeMounted)){const Le=m;$e(()=>qe(J,ge,Le),x)}(m.shapeFlag&256||ge&&Qn(ge.vnode)&&ge.vnode.shapeFlag&256)&&h.a&&$e(h.a,x),h.isMounted=!0,m=b=L=null}},z=h.effect=new ol(D,()=>Jo(I),h.scope),I=h.update=()=>z.run();I.id=h.uid,Ut(h,!0),I()},oe=(h,m,b)=>{m.component=h;const L=h.vnode.props;h.vnode=m,h.next=null,Md(h,m.props,L,b),Bd(h,m.children,b),Fn(),Jl(),Dn()},Q=(h,m,b,L,x,O,B,D,z=!1)=>{const I=h&&h.children,J=h?h.shapeFlag:0,W=m.children,{patchFlag:X,shapeFlag:te}=m;if(X>0){if(X&128){xt(I,W,b,L,x,O,B,D,z);return}else if(X&256){tt(I,W,b,L,x,O,B,D,z);return}}te&8?(J&16&&Re(I,x,O),W!==I&&u(b,W)):J&16?te&16?xt(I,W,b,L,x,O,B,D,z):Re(I,x,O,!0):(J&8&&u(b,""),te&16&&P(W,b,L,x,O,B,D,z))},tt=(h,m,b,L,x,O,B,D,z)=>{h=h||mn,m=m||mn;const I=h.length,J=m.length,W=Math.min(I,J);let X;for(X=0;XJ?Re(h,x,O,!0,!1,W):P(m,b,L,x,O,B,D,z,W)},xt=(h,m,b,L,x,O,B,D,z)=>{let I=0;const J=m.length;let W=h.length-1,X=J-1;for(;I<=W&&I<=X;){const te=h[I],re=m[I]=z?$t(m[I]):ot(m[I]);if(Kt(te,re))E(te,re,b,null,x,O,B,D,z);else break;I++}for(;I<=W&&I<=X;){const te=h[W],re=m[X]=z?$t(m[X]):ot(m[X]);if(Kt(te,re))E(te,re,b,null,x,O,B,D,z);else break;W--,X--}if(I>W){if(I<=X){const te=X+1,re=teX)for(;I<=W;)De(h[I],x,O,!0),I++;else{const te=I,re=I,ge=new Map;for(I=re;I<=X;I++){const He=m[I]=z?$t(m[I]):ot(m[I]);He.key!=null&&ge.set(He.key,I)}let he,Le=0;const nt=X-re+1;let cn=!1,Ml=0;const Bn=new Array(nt);for(I=0;I=nt){De(He,x,O,!0);continue}let dt;if(He.key!=null)dt=ge.get(He.key);else for(he=re;he<=X;he++)if(Bn[he-re]===0&&Kt(He,m[he])){dt=he;break}dt===void 0?De(He,x,O,!0):(Bn[dt-re]=I+1,dt>=Ml?Ml=dt:cn=!0,E(He,m[dt],b,null,x,O,B,D,z),Le++)}const Nl=cn?Ud(Bn):mn;for(he=Nl.length-1,I=nt-1;I>=0;I--){const He=re+I,dt=m[He],Vl=He+1{const{el:O,type:B,transition:D,children:z,shapeFlag:I}=h;if(I&6){ut(h.component.subTree,m,b,L);return}if(I&128){h.suspense.move(m,b,L);return}if(I&64){B.move(h,m,b,M);return}if(B===Ge){o(O,m,b);for(let W=0;WD.enter(O),x);else{const{leave:W,delayLeave:X,afterLeave:te}=D,re=()=>o(O,m,b),ge=()=>{W(O,()=>{re(),te&&te()})};X?X(O,re,ge):ge()}else o(O,m,b)},De=(h,m,b,L=!1,x=!1)=>{const{type:O,props:B,ref:D,children:z,dynamicChildren:I,shapeFlag:J,patchFlag:W,dirs:X}=h;if(D!=null&&jo(D,null,b,h,!0),J&256){m.ctx.deactivate(h);return}const te=J&1&&X,re=!Qn(h);let ge;if(re&&(ge=B&&B.onVnodeBeforeUnmount)&&qe(ge,m,h),J&6)_o(h.component,b,L);else{if(J&128){h.suspense.unmount(b,L);return}te&&ft(h,null,m,"beforeUnmount"),J&64?h.type.remove(h,m,b,x,M,L):I&&(O!==Ge||W>0&&W&64)?Re(I,m,b,!1,!0):(O===Ge&&W&384||!x&&J&16)&&Re(z,m,b),L&&sn(h)}(re&&(ge=B&&B.onVnodeUnmounted)||te)&&$e(()=>{ge&&qe(ge,m,h),te&&ft(h,null,m,"unmounted")},b)},sn=h=>{const{type:m,el:b,anchor:L,transition:x}=h;if(m===Ge){an(b,L);return}if(m===Jn){w(h);return}const O=()=>{r(b),x&&!x.persisted&&x.afterLeave&&x.afterLeave()};if(h.shapeFlag&1&&x&&!x.persisted){const{leave:B,delayLeave:D}=x,z=()=>B(b,O);D?D(h.el,O,z):z()}else O()},an=(h,m)=>{let b;for(;h!==m;)b=p(h),r(h),h=b;r(m)},_o=(h,m,b)=>{const{bum:L,scope:x,update:O,subTree:B,um:D}=h;L&&Io(L),x.stop(),O&&(O.active=!1,De(B,h,m,b)),D&&$e(D,m),$e(()=>{h.isUnmounted=!0},m),m&&m.pendingBranch&&!m.isUnmounted&&h.asyncDep&&!h.asyncResolved&&h.suspenseId===m.pendingId&&(m.deps--,m.deps===0&&m.resolve())},Re=(h,m,b,L=!1,x=!1,O=0)=>{for(let B=O;Bh.shapeFlag&6?C(h.component.subTree):h.shapeFlag&128?h.suspense.next():p(h.anchor||h.el),G=(h,m,b)=>{h==null?m._vnode&&De(m._vnode,null,null,!0):E(m._vnode||null,h,m,null,null,null,b),Jl(),No(),m._vnode=h},M={p:E,um:De,m:ut,r:sn,mt:we,mc:P,pc:Q,pbc:H,n:C,o:e};let Y,de;return t&&([Y,de]=t(M)),{render:G,hydrate:Y,createApp:$d(G,Y)}}function Ut({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ai(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ii(e,t,n=!1){const o=e.children,r=t.children;if(q(o)&&q(r))for(let l=0;l>1,e[n[a]]0&&(t[o]=n[l-1]),n[l]=o)}}for(l=n.length,s=n[l-1];l-- >0;)n[l]=s,s=t[s];return n}const Wd=e=>e.__isTeleport,Ge=Symbol.for("v-fgt"),An=Symbol.for("v-txt"),Qe=Symbol.for("v-cmt"),Jn=Symbol.for("v-stc"),Xn=[];let lt=null;function qd(e=!1){Xn.push(lt=e?null:[])}function Kd(){Xn.pop(),lt=Xn[Xn.length-1]||null}let so=1;function cs(e){so+=e}function ci(e){return e.dynamicChildren=so>0?lt||mn:null,Kd(),so>0&<&<.push(e),e}function q1(e,t,n,o,r,l){return ci(di(e,t,n,o,r,l,!0))}function Qd(e,t,n,o,r){return ci(Ae(e,t,n,o,r,!0))}function zr(e){return e?e.__v_isVNode===!0:!1}function Kt(e,t){return e.type===t.type&&e.key===t.key}const er="__vInternal",ui=({key:e})=>e??null,Fo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ce(e)||ke(e)||ne(e)?{i:Ue,r:e,k:t,f:!!n}:e:null);function di(e,t=null,n=null,o=0,r=null,l=e===Ge?0:1,s=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ui(t),ref:t&&Fo(t),scopeId:Ga,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:l,patchFlag:o,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ue};return a?(vl(i,n),l&128&&e.normalize(i)):n&&(i.shapeFlag|=ce(n)?8:16),so>0&&!s&<&&(i.patchFlag>0||l&6)&&i.patchFlag!==32&<.push(i),i}const Ae=Yd;function Yd(e,t=null,n=null,o=0,r=null,l=!1){if((!e||e===kd)&&(e=Qe),zr(e)){const a=Bt(e,t,!0);return n&&vl(a,n),so>0&&!l&<&&(a.shapeFlag&6?lt[lt.indexOf(e)]=a:lt.push(a)),a.patchFlag|=-2,a}if(af(e)&&(e=e.__vccOpts),t){t=Jd(t);let{class:a,style:i}=t;a&&!ce(a)&&(t.class=el(a)),me(i)&&(Da(i)&&!q(i)&&(i=Ce({},i)),t.style=Zr(i))}const s=ce(e)?1:hd(e)?128:Wd(e)?64:me(e)?4:ne(e)?2:0;return di(e,t,n,o,r,s,l,!0)}function Jd(e){return e?Da(e)||er in e?Ce({},e):e:null}function Bt(e,t,n=!1){const{props:o,ref:r,patchFlag:l,children:s}=e,a=t?Xd(o||{},t):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&ui(a),ref:t&&t.ref?n&&r?q(r)?r.concat(Fo(t)):[r,Fo(t)]:Fo(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ge?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Bt(e.ssContent),ssFallback:e.ssFallback&&Bt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function fi(e=" ",t=0){return Ae(An,null,e,t)}function K1(e,t){const n=Ae(Jn,null,e);return n.staticCount=t,n}function Q1(e="",t=!1){return t?(qd(),Qd(Qe,null,e)):Ae(Qe,null,e)}function ot(e){return e==null||typeof e=="boolean"?Ae(Qe):q(e)?Ae(Ge,null,e.slice()):typeof e=="object"?$t(e):Ae(An,null,String(e))}function $t(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Bt(e)}function vl(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(q(t))n=16;else if(typeof t=="object")if(o&65){const r=t.default;r&&(r._c&&(r._d=!1),vl(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(er in t)?t._ctx=Ue:r===3&&Ue&&(Ue.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ne(t)?(t={default:t,_ctx:Ue},n=32):(t=String(t),o&64?(n=16,t=[fi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Xd(...e){const t={};for(let n=0;nPe||Ue;let gl,un,us="__VUE_INSTANCE_SETTERS__";(un=Cr()[us])||(un=Cr()[us]=[]),un.push(e=>Pe=e),gl=e=>{un.length>1?un.forEach(t=>t(e)):un[0](e)};const Tn=e=>{gl(e),e.scope.on()},Zt=()=>{Pe&&Pe.scope.off(),gl(null)};function pi(e){return e.vnode.shapeFlag&4}let Ln=!1;function nf(e,t=!1){Ln=t;const{props:n,children:o}=e.vnode,r=pi(e);zd(e,n,r,t),Vd(e,o);const l=r?of(e,t):void 0;return Ln=!1,l}function of(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=$a(new Proxy(e.ctx,Pd));const{setup:o}=n;if(o){const r=e.setupContext=o.length>1?lf(e):null;Tn(e),Fn();const l=Nt(o,e,0,[e.props,r]);if(Dn(),Zt(),_a(l)){if(l.then(Zt,Zt),t)return l.then(s=>{ds(e,s,t)}).catch(s=>{ho(s,e,0)});e.asyncDep=l}else ds(e,l,t)}else hi(e,t)}function ds(e,t,n){ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:me(t)&&(e.setupState=Ma(t)),hi(e,n)}let fs;function hi(e,t,n){const o=e.type;if(!e.render){if(!t&&fs&&!o.render){const r=o.template||hl(e).template;if(r){const{isCustomElement:l,compilerOptions:s}=e.appContext.config,{delimiters:a,compilerOptions:i}=o,c=Ce(Ce({isCustomElement:l,delimiters:a},s),i);o.render=fs(r,c)}}e.render=o.render||st}{Tn(e),Fn();try{xd(e)}finally{Dn(),Zt()}}}function rf(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return Ne(e,"get","$attrs"),t[n]}}))}function lf(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return rf(e)},slots:e.slots,emit:e.emit,expose:t}}function tr(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Ma($a(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Yn)return Yn[n](e)},has(t,n){return n in t||n in Yn}}))}function sf(e,t=!0){return ne(e)?e.displayName||e.name:e.name||t&&e.__name}function af(e){return ne(e)&&"__vccOpts"in e}const k=(e,t)=>nd(e,t,Ln);function d(e,t,n){const o=arguments.length;return o===2?me(t)&&!q(t)?zr(t)?Ae(e,null,[t]):Ae(e,t):Ae(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&zr(n)&&(n=[n]),Ae(e,t,n))}const cf=Symbol.for("v-scx"),uf=()=>be(cf),df="3.3.7",ff="http://www.w3.org/2000/svg",Qt=typeof document<"u"?document:null,ps=Qt&&Qt.createElement("template"),pf={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 r=t?Qt.createElementNS(ff,e):Qt.createElement(e,n?{is:n}:void 0);return e==="select"&&o&&o.multiple!=null&&r.setAttribute("multiple",o.multiple),r},createText:e=>Qt.createTextNode(e),createComment:e=>Qt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Qt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,r,l){const s=n?n.previousSibling:t.lastChild;if(r&&(r===l||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===l||!(r=r.nextSibling)););else{ps.innerHTML=o?`${e}`:e;const a=ps.content;if(o){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},It="transition",Hn="animation",kn=Symbol("_vtc"),Ht=(e,{slots:t})=>d(gd,vi(e),t);Ht.displayName="Transition";const mi={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},hf=Ht.props=Ce({},Qa,mi),Wt=(e,t=[])=>{q(e)?e.forEach(n=>n(...t)):e&&e(...t)},hs=e=>e?q(e)?e.some(t=>t.length>1):e.length>1:!1;function vi(e){const t={};for(const N in e)N in mi||(t[N]=e[N]);if(e.css===!1)return t;const{name:n="v",type:o,duration:r,enterFromClass:l=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=l,appearActiveClass:c=s,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,g=mf(r),E=g&&g[0],S=g&&g[1],{onBeforeEnter:y,onEnter:T,onEnterCancelled:_,onLeave:w,onLeaveCancelled:F,onBeforeAppear:R=y,onAppear:$=T,onAppearCancelled:P=_}=t,V=(N,ee,we)=>{Ft(N,ee?u:a),Ft(N,ee?c:s),we&&we()},H=(N,ee)=>{N._isLeaving=!1,Ft(N,f),Ft(N,v),Ft(N,p),ee&&ee()},le=N=>(ee,we)=>{const Se=N?$:T,K=()=>V(ee,N,we);Wt(Se,[ee,K]),ms(()=>{Ft(ee,N?i:l),vt(ee,N?u:a),hs(Se)||vs(ee,o,E,K)})};return Ce(t,{onBeforeEnter(N){Wt(y,[N]),vt(N,l),vt(N,s)},onBeforeAppear(N){Wt(R,[N]),vt(N,i),vt(N,c)},onEnter:le(!1),onAppear:le(!0),onLeave(N,ee){N._isLeaving=!0;const we=()=>H(N,ee);vt(N,f),_i(),vt(N,p),ms(()=>{N._isLeaving&&(Ft(N,f),vt(N,v),hs(w)||vs(N,o,S,we))}),Wt(w,[N,we])},onEnterCancelled(N){V(N,!1),Wt(_,[N])},onAppearCancelled(N){V(N,!0),Wt(P,[N])},onLeaveCancelled(N){H(N),Wt(F,[N])}})}function mf(e){if(e==null)return null;if(me(e))return[mr(e.enter),mr(e.leave)];{const t=mr(e);return[t,t]}}function mr(e){return gu(e)}function vt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[kn]||(e[kn]=new Set)).add(t)}function Ft(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[kn];n&&(n.delete(t),n.size||(e[kn]=void 0))}function ms(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let vf=0;function vs(e,t,n,o){const r=e._endId=++vf,l=()=>{r===e._endId&&o()};if(n)return setTimeout(l,n);const{type:s,timeout:a,propCount:i}=gi(e,t);if(!s)return o();const c=s+"end";let u=0;const f=()=>{e.removeEventListener(c,p),l()},p=v=>{v.target===e&&++u>=i&&f()};setTimeout(()=>{u(n[g]||"").split(", "),r=o(`${It}Delay`),l=o(`${It}Duration`),s=gs(r,l),a=o(`${Hn}Delay`),i=o(`${Hn}Duration`),c=gs(a,i);let u=null,f=0,p=0;t===It?s>0&&(u=It,f=s,p=l.length):t===Hn?c>0&&(u=Hn,f=c,p=i.length):(f=Math.max(s,c),u=f>0?s>c?It:Hn:null,p=u?u===It?l.length:i.length:0);const v=u===It&&/\b(transform|all)(,|$)/.test(o(`${It}Property`).toString());return{type:u,timeout:f,propCount:p,hasTransform:v}}function gs(e,t){for(;e.length_s(n)+_s(e[o])))}function _s(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _i(){return document.body.offsetHeight}function gf(e,t,n){const o=e[kn];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const _l=Symbol("_vod"),Y1={beforeMount(e,{value:t},{transition:n}){e[_l]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):jn(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),jn(e,!0),o.enter(e)):o.leave(e,()=>{jn(e,!1)}):jn(e,t))},beforeUnmount(e,{value:t}){jn(e,t)}};function jn(e,t){e.style.display=t?e[_l]:"none"}function _f(e,t,n){const o=e.style,r=ce(n);if(n&&!r){if(t&&!ce(t))for(const l in t)n[l]==null&&Mr(o,l,"");for(const l in n)Mr(o,l,n[l])}else{const l=o.display;r?t!==n&&(o.cssText=n):t&&e.removeAttribute("style"),_l in e&&(o.display=l)}}const bs=/\s*!important$/;function Mr(e,t,n){if(q(n))n.forEach(o=>Mr(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=bf(e,t);bs.test(n)?e.setProperty(In(o),n.replace(bs,""),"important"):e[o]=n}}const ys=["Webkit","Moz","ms"],vr={};function bf(e,t){const n=vr[t];if(n)return n;let o=Je(t);if(o!=="filter"&&o in e)return vr[t]=o;o=fo(o);for(let r=0;rgr||(Tf.then(()=>gr=0),gr=Date.now());function kf(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;Ke(Cf(o,n.value),t,5,[o])};return n.value=e,n.attached=Lf(),n}function Cf(e,t){if(q(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>r=>!r._stopped&&o&&o(r))}else return t}const As=/^on[a-z]/,Pf=(e,t,n,o,r=!1,l,s,a,i)=>{t==="class"?gf(e,o,r):t==="style"?_f(e,n,o):co(t)?Yr(t)||Sf(e,t,n,o,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):xf(e,t,o,r))?Ef(e,t,o,l,s,a,i):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),yf(e,t,o,r))};function xf(e,t,n,o){return o?!!(t==="innerHTML"||t==="textContent"||t in e&&As.test(t)&&ne(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||As.test(t)&&ce(n)?!1:t in e}const bi=new WeakMap,yi=new WeakMap,Go=Symbol("_moveCb"),Ts=Symbol("_enterCb"),Ei={name:"TransitionGroup",props:Ce({},hf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=ln(),o=Ka();let r,l;return Xa(()=>{if(!r.length)return;const s=e.moveClass||`${e.name||"v"}-move`;if(!Df(r[0].el,n.vnode.el,s))return;r.forEach(Of),r.forEach(If);const a=r.filter(Ff);_i(),a.forEach(i=>{const c=i.el,u=c.style;vt(c,s),u.transform=u.webkitTransform=u.transitionDuration="";const f=c[Go]=p=>{p&&p.target!==c||(!p||/transform$/.test(p.propertyName))&&(c.removeEventListener("transitionend",f),c[Go]=null,Ft(c,s))};c.addEventListener("transitionend",f)})}),()=>{const s=se(e),a=vi(s);let i=s.tag||Ge;r=l,l=t.default?fl(t.default()):[];for(let c=0;cdelete e.mode;Ei.props;const wi=Ei;function Of(e){const t=e.el;t[Go]&&t[Go](),t[Ts]&&t[Ts]()}function If(e){yi.set(e,e.el.getBoundingClientRect())}function Ff(e){const t=bi.get(e),n=yi.get(e),o=t.left-n.left,r=t.top-n.top;if(o||r){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${o}px,${r}px)`,l.transitionDuration="0s",e}}function Df(e,t,n){const o=e.cloneNode(),r=e[kn];r&&r.forEach(a=>{a.split(/\s+/).forEach(i=>i&&o.classList.remove(i))}),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:s}=gi(o);return l.removeChild(o),s}const jt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return q(t)?n=>Io(t,n):t};function $f(e){e.target.composing=!0}function Ls(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ye=Symbol("_assign"),ks={created(e,{modifiers:{lazy:t,trim:n,number:o}},r){e[Ye]=jt(r);const l=o||r.props&&r.props.type==="number";yt(e,t?"change":"input",s=>{if(s.target.composing)return;let a=e.value;n&&(a=a.trim()),l&&(a=$o(a)),e[Ye](a)}),n&&yt(e,"change",()=>{e.value=e.value.trim()}),t||(yt(e,"compositionstart",$f),yt(e,"compositionend",Ls),yt(e,"change",Ls))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:o,number:r}},l){if(e[Ye]=jt(l),e.composing||document.activeElement===e&&e.type!=="range"&&(n||o&&e.value.trim()===t||(r||e.type==="number")&&$o(e.value)===t))return;const s=t??"";e.value!==s&&(e.value=s)}},zf={deep:!0,created(e,t,n){e[Ye]=jt(n),yt(e,"change",()=>{const o=e._modelValue,r=Cn(e),l=e.checked,s=e[Ye];if(q(o)){const a=tl(o,r),i=a!==-1;if(l&&!i)s(o.concat(r));else if(!l&&i){const c=[...o];c.splice(a,1),s(c)}}else if(On(o)){const a=new Set(o);l?a.add(r):a.delete(r),s(a)}else s(Si(e,l))})},mounted:Cs,beforeUpdate(e,t,n){e[Ye]=jt(n),Cs(e,t,n)}};function Cs(e,{value:t,oldValue:n},o){e._modelValue=t,q(t)?e.checked=tl(t,o.props.value)>-1:On(t)?e.checked=t.has(o.props.value):t!==n&&(e.checked=tn(t,Si(e,!0)))}const Mf={created(e,{value:t},n){e.checked=tn(t,n.props.value),e[Ye]=jt(n),yt(e,"change",()=>{e[Ye](Cn(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e[Ye]=jt(o),t!==n&&(e.checked=tn(t,o.props.value))}},Nf={deep:!0,created(e,{value:t,modifiers:{number:n}},o){const r=On(t);yt(e,"change",()=>{const l=Array.prototype.filter.call(e.options,s=>s.selected).map(s=>n?$o(Cn(s)):Cn(s));e[Ye](e.multiple?r?new Set(l):l:l[0])}),e[Ye]=jt(o)},mounted(e,{value:t}){Ps(e,t)},beforeUpdate(e,t,n){e[Ye]=jt(n)},updated(e,{value:t}){Ps(e,t)}};function Ps(e,t){const n=e.multiple;if(!(n&&!q(t)&&!On(t))){for(let o=0,r=e.options.length;o-1:l.selected=t.has(s);else if(tn(Cn(l),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Cn(e){return"_value"in e?e._value:e.value}function Si(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const J1={created(e,t,n){Co(e,t,n,null,"created")},mounted(e,t,n){Co(e,t,n,null,"mounted")},beforeUpdate(e,t,n,o){Co(e,t,n,o,"beforeUpdate")},updated(e,t,n,o){Co(e,t,n,o,"updated")}};function Vf(e,t){switch(e){case"SELECT":return Nf;case"TEXTAREA":return ks;default:switch(t){case"checkbox":return zf;case"radio":return Mf;default:return ks}}}function Co(e,t,n,o,r){const s=Vf(e.tagName,n.props&&n.props.type)[r];s&&s(e,t,n,o)}const Bf=Ce({patchProp:Pf},pf);let _r,xs=!1;function Hf(){return _r=xs?_r:jd(Bf),xs=!0,_r}const jf=(...e)=>{const t=Hf().createApp(...e),{mount:n}=t;return t.mount=o=>{const r=Gf(o);if(r)return n(r,!0,r instanceof SVGElement)},t};function Gf(e){return ce(e)?document.querySelector(e):e}const Uf={"v-2d0a870d":()=>A(()=>import("./index.html-9ad5fb9f.js"),[]).then(({data:e})=>e),"v-2d0ad528":()=>A(()=>import("./index.html-f497db25.js"),[]).then(({data:e})=>e),"v-742e974c":()=>A(()=>import("./关于我.html-b4acb4a8.js"),[]).then(({data:e})=>e),"v-38d56a07":()=>A(()=>import("./index.html-6d3a685f.js"),[]).then(({data:e})=>e),"v-08b13b31":()=>A(()=>import("./公告.html-74743045.js"),[]).then(({data:e})=>e),"v-1edaffcc":()=>A(()=>import("./开发环境.html-b264d043.js"),[]).then(({data:e})=>e),"v-3fd50060":()=>A(()=>import("./文件校验.html-660ad364.js"),[]).then(({data:e})=>e),"v-5fd8d2ca":()=>A(()=>import("./文档开发.html-c3830e4c.js"),[]).then(({data:e})=>e),"v-77ee1e1c":()=>A(()=>import("./更新日志.html-4bfda043.js"),[]).then(({data:e})=>e),"v-23bdde94":()=>A(()=>import("./项目结构.html-589d4c8f.js"),[]).then(({data:e})=>e),"v-5d0bca4c":()=>A(()=>import("./index.html-b91fca8b.js"),[]).then(({data:e})=>e),"v-5e3b9194":()=>A(()=>import("./How to use ASF.html-6f20a60a.js"),[]).then(({data:e})=>e),"v-37067a23":()=>A(()=>import("./FAQ.html-063b1f5e.js"),[]).then(({data:e})=>e),"v-162fb220":()=>A(()=>import("./Network problems.html-539b2c31.js"),[]).then(({data:e})=>e),"v-32aec13d":()=>A(()=>import("./Download channel.html-70ac2415.js"),[]).then(({data:e})=>e),"v-46511032":()=>A(()=>import("./Functions.html-b8a64bf1.js"),[]).then(({data:e})=>e),"v-502f8300":()=>A(()=>import("./Supported Operating Systems.html-ff93a1fb.js"),[]).then(({data:e})=>e),"v-b290ac38":()=>A(()=>import("./2FA to import Guard.html-52a373fb.js"),[]).then(({data:e})=>e),"v-0b4afe7c":()=>A(()=>import("./Android to import Guard.html-77bc4199.js"),[]).then(({data:e})=>e),"v-3f883c12":()=>A(()=>import("./Apple to import Guard.html-c7d922a2.js"),[]).then(({data:e})=>e),"v-ca8536f0":()=>A(()=>import("./Login to import Guard.html-e2bef409.js"),[]).then(({data:e})=>e),"v-5116c806":()=>A(()=>import("./Reference documents.html-09f0cb3c.js"),[]).then(({data:e})=>e),"v-0bd23d61":()=>A(()=>import("./Steam__ to import Guard.html-3dcfe0d0.js"),[]).then(({data:e})=>e),"v-25fd9ae8":()=>A(()=>import("./FAQ.html-98f01a1f.js"),[]).then(({data:e})=>e),"v-a3a0b9dc":()=>A(()=>import("./GPU.html-f9ea0993.js"),[]).then(({data:e})=>e),"v-eddd4500":()=>A(()=>import("./网络.html-96aa35e7.js"),[]).then(({data:e})=>e),"v-4963a7c8":()=>A(()=>import("./Communication.html-8bbdc601.js"),[]).then(({data:e})=>e),"v-c0bef542":()=>A(()=>import("./Download Guide.html-e08904f1.js"),[]).then(({data:e})=>e),"v-9dc2b9d0":()=>A(()=>import("./Download channel.html-7d58ceea.js"),[]).then(({data:e})=>e),"v-165cc812":()=>A(()=>import("./Functions.html-4ab40c71.js"),[]).then(({data:e})=>e),"v-a66d0ef6":()=>A(()=>import("./Supported Operating Systems.html-76138118.js"),[]).then(({data:e})=>e),"v-3bcf8d47":()=>A(()=>import("./2FA.html-0e94dcb4.js"),[]).then(({data:e})=>e),"v-0a3a6bc0":()=>A(()=>import("./ASF.html-3c9aab52.js"),[]).then(({data:e})=>e),"v-64ffdb90":()=>A(()=>import("./info.html-0ce41c52.js"),[]).then(({data:e})=>e),"v-0a0a5246":()=>A(()=>import("./使用ASF.html-bc6a653a.js"),[]).then(({data:e})=>e),"v-6854833a":()=>A(()=>import("./常用指令.html-cca6c533.js"),[]).then(({data:e})=>e),"v-7b85ff46":()=>A(()=>import("./info.html-9a93f340.js"),[]).then(({data:e})=>e),"v-e709adf4":()=>A(()=>import("./info.html-30f86a4d.js"),[]).then(({data:e})=>e),"v-0a5a5d17":()=>A(()=>import("./info.html-86e7be93.js"),[]).then(({data:e})=>e),"v-26450031":()=>A(()=>import("./info.html-ab7cad16.js"),[]).then(({data:e})=>e),"v-ce6ad7a4":()=>A(()=>import("./info.html-afcebc52.js"),[]).then(({data:e})=>e),"v-0bc26c1c":()=>A(()=>import("./info.html-83af0431.js"),[]).then(({data:e})=>e),"v-dd27c282":()=>A(()=>import("./2FA令牌.html-2b9fa80e.js"),[]).then(({data:e})=>e),"v-0eb1bc3c":()=>A(()=>import("./Steam__令牌.html-a5629919.js"),[]).then(({data:e})=>e),"v-17724bfd":()=>A(()=>import("./android令牌.html-6963db12.js"),[]).then(({data:e})=>e),"v-5b27371f":()=>A(()=>import("./ios令牌.html-460d5100.js"),[]).then(({data:e})=>e),"v-7adb3692":()=>A(()=>import("./参考.html-e202998a.js"),[]).then(({data:e})=>e),"v-c4bad90c":()=>A(()=>import("./登录令牌.html-59e3f319.js"),[]).then(({data:e})=>e),"v-3706649a":()=>A(()=>import("./404.html-bab6ae37.js"),[]).then(({data:e})=>e),"v-d0f33908":()=>A(()=>import("./index.html-b2064f7a.js"),[]).then(({data:e})=>e),"v-c6dc4a3c":()=>A(()=>import("./index.html-9b538a70.js"),[]).then(({data:e})=>e),"v-c6d84300":()=>A(()=>import("./index.html-eee71cc2.js"),[]).then(({data:e})=>e),"v-3fc78618":()=>A(()=>import("./index.html-ae667fda.js"),[]).then(({data:e})=>e),"v-51a25878":()=>A(()=>import("./index.html-48915e1b.js"),[]).then(({data:e})=>e),"v-02669445":()=>A(()=>import("./index.html-0f83e75c.js"),[]).then(({data:e})=>e),"v-1c189579":()=>A(()=>import("./index.html-e2716666.js"),[]).then(({data:e})=>e),"v-9c23808a":()=>A(()=>import("./index.html-8a77f3de.js"),[]).then(({data:e})=>e),"v-315fb940":()=>A(()=>import("./index.html-2d7f1218.js"),[]).then(({data:e})=>e),"v-2e9cf745":()=>A(()=>import("./index.html-69da6685.js"),[]).then(({data:e})=>e),"v-dfc454f6":()=>A(()=>import("./index.html-ef3c9811.js"),[]).then(({data:e})=>e),"v-79c4cb58":()=>A(()=>import("./index.html-662c4e84.js"),[]).then(({data:e})=>e),"v-57679c0c":()=>A(()=>import("./index.html-47489daa.js"),[]).then(({data:e})=>e),"v-7539bd5d":()=>A(()=>import("./index.html-a9e55959.js"),[]).then(({data:e})=>e),"v-181d89ce":()=>A(()=>import("./index.html-f67a1322.js"),[]).then(({data:e})=>e),"v-5661f12d":()=>A(()=>import("./index.html-d98980a3.js"),[]).then(({data:e})=>e),"v-8daa1a0e":()=>A(()=>import("./index.html-1d34fdd8.js"),[]).then(({data:e})=>e)},Wf=JSON.parse('{"base":"/SteamTools-Guide/","lang":"en-US","title":"","description":"","head":[["link",{"rel":"icon","type":"image/png","sizes":"32x32","href":"/SteamTools-Guide/logo/favicon.ico"}]],"locales":{"/zh/":{"lang":"zh","title":"Watt Toolkit 指南","description":"「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。"},"/en/":{"lang":"en","title":"Watt Toolkit Guide","description":"Watt Toolkit\\" is an open source cross-platform multi-purpose game toolkit"}}}');var qf=([e,t,n])=>e==="meta"&&t.name?`${e}.${t.name}`:["title","base"].includes(e)?e:e==="template"&&t.id?`${e}.${t.id}`:JSON.stringify([e,t,n]),Kf=e=>{const t=new Set,n=[];return e.forEach(o=>{const r=qf(o);t.has(r)||(t.add(r),n.push(o))}),n},Qf=e=>e[e.length-1]==="/"||e.endsWith(".html")?e:`${e}/`,Yf=e=>e.startsWith("ftp://"),zn=e=>/^(https?:)?\/\//.test(e),Jf=/.md((\?|#).*)?$/,Uo=(e,t="/")=>!!(zn(e)||Yf(e)||e.startsWith("/")&&!e.startsWith(t)&&!Jf.test(e)),Ai=e=>/^mailto:/.test(e),Xf=e=>/^tel:/.test(e),bl=e=>Object.prototype.toString.call(e)==="[object Object]",yl=e=>e[e.length-1]==="/"?e.slice(0,-1):e,Ti=e=>e[0]==="/"?e.slice(1):e,Zf=(e,t)=>{const n=Object.keys(e).sort((o,r)=>{const l=r.split("/").length-o.split("/").length;return l!==0?l:r.length-o.length});for(const o of n)if(t.startsWith(o))return o;return"/"};const Li={"v-2d0a870d":j(()=>A(()=>import("./index.html-190e1e79.js"),["assets/index.html-190e1e79.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2d0ad528":j(()=>A(()=>import("./index.html-f50b6d68.js"),["assets/index.html-f50b6d68.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-742e974c":j(()=>A(()=>import("./关于我.html-36a44c50.js"),["assets/关于我.html-36a44c50.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-38d56a07":j(()=>A(()=>import("./index.html-91c4cfb6.js"),["assets/index.html-91c4cfb6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-08b13b31":j(()=>A(()=>import("./公告.html-d65001de.js"),["assets/公告.html-d65001de.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1edaffcc":j(()=>A(()=>import("./开发环境.html-186f98f7.js"),["assets/开发环境.html-186f98f7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3fd50060":j(()=>A(()=>import("./文件校验.html-b2ef3518.js"),["assets/文件校验.html-b2ef3518.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5fd8d2ca":j(()=>A(()=>import("./文档开发.html-2ea1640e.js"),["assets/文档开发.html-2ea1640e.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-77ee1e1c":j(()=>A(()=>import("./更新日志.html-fd7876ae.js"),["assets/更新日志.html-fd7876ae.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-23bdde94":j(()=>A(()=>import("./项目结构.html-58caf53b.js"),["assets/项目结构.html-58caf53b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5d0bca4c":j(()=>A(()=>import("./index.html-34bac0ba.js"),["assets/index.html-34bac0ba.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5e3b9194":j(()=>A(()=>import("./How to use ASF.html-caa0fd70.js"),["assets/How to use ASF.html-caa0fd70.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-37067a23":j(()=>A(()=>import("./FAQ.html-ef49305d.js"),["assets/FAQ.html-ef49305d.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-162fb220":j(()=>A(()=>import("./Network problems.html-7b44e4f1.js"),["assets/Network problems.html-7b44e4f1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-32aec13d":j(()=>A(()=>import("./Download channel.html-bc795e59.js"),["assets/Download channel.html-bc795e59.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-46511032":j(()=>A(()=>import("./Functions.html-05993dbe.js"),["assets/Functions.html-05993dbe.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-502f8300":j(()=>A(()=>import("./Supported Operating Systems.html-573dd272.js"),["assets/Supported Operating Systems.html-573dd272.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-b290ac38":j(()=>A(()=>import("./2FA to import Guard.html-644deed2.js"),["assets/2FA to import Guard.html-644deed2.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0b4afe7c":j(()=>A(()=>import("./Android to import Guard.html-26948d33.js"),["assets/Android to import Guard.html-26948d33.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3f883c12":j(()=>A(()=>import("./Apple to import Guard.html-2cd84a35.js"),["assets/Apple to import Guard.html-2cd84a35.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-ca8536f0":j(()=>A(()=>import("./Login to import Guard.html-ed4c0f40.js"),["assets/Login to import Guard.html-ed4c0f40.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5116c806":j(()=>A(()=>import("./Reference documents.html-4b405db3.js"),["assets/Reference documents.html-4b405db3.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0bd23d61":j(()=>A(()=>import("./Steam__ to import Guard.html-83cf4352.js"),["assets/Steam__ to import Guard.html-83cf4352.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-25fd9ae8":j(()=>A(()=>import("./FAQ.html-437f4fbd.js"),["assets/FAQ.html-437f4fbd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a3a0b9dc":j(()=>A(()=>import("./GPU.html-c2daab0f.js"),["assets/GPU.html-c2daab0f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-eddd4500":j(()=>A(()=>import("./网络.html-49df2bf4.js"),["assets/网络.html-49df2bf4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-4963a7c8":j(()=>A(()=>import("./Communication.html-021b79bd.js"),["assets/Communication.html-021b79bd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c0bef542":j(()=>A(()=>import("./Download Guide.html-cfbce58b.js"),["assets/Download Guide.html-cfbce58b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9dc2b9d0":j(()=>A(()=>import("./Download channel.html-f3573cdd.js"),["assets/Download channel.html-f3573cdd.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-165cc812":j(()=>A(()=>import("./Functions.html-a1d89ad1.js"),["assets/Functions.html-a1d89ad1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-a66d0ef6":j(()=>A(()=>import("./Supported Operating Systems.html-5d4432ca.js"),["assets/Supported Operating Systems.html-5d4432ca.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3bcf8d47":j(()=>A(()=>import("./2FA.html-79ef0fcc.js"),["assets/2FA.html-79ef0fcc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0a3a6bc0":j(()=>A(()=>import("./ASF.html-7a09ac0b.js"),["assets/ASF.html-7a09ac0b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-64ffdb90":j(()=>A(()=>import("./info.html-8be05f75.js"),["assets/info.html-8be05f75.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0a0a5246":j(()=>A(()=>import("./使用ASF.html-33bd8edb.js"),["assets/使用ASF.html-33bd8edb.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-6854833a":j(()=>A(()=>import("./常用指令.html-aadc65b7.js"),["assets/常用指令.html-aadc65b7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7b85ff46":j(()=>A(()=>import("./info.html-4492917f.js"),["assets/info.html-4492917f.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-e709adf4":j(()=>A(()=>import("./info.html-15446d01.js"),["assets/info.html-15446d01.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0a5a5d17":j(()=>A(()=>import("./info.html-d9278337.js"),["assets/info.html-d9278337.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-26450031":j(()=>A(()=>import("./info.html-0149709b.js"),["assets/info.html-0149709b.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-ce6ad7a4":j(()=>A(()=>import("./info.html-c24217a4.js"),["assets/info.html-c24217a4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0bc26c1c":j(()=>A(()=>import("./info.html-85600139.js"),["assets/info.html-85600139.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-dd27c282":j(()=>A(()=>import("./2FA令牌.html-423db924.js"),["assets/2FA令牌.html-423db924.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-0eb1bc3c":j(()=>A(()=>import("./Steam__令牌.html-686e8ab1.js"),["assets/Steam__令牌.html-686e8ab1.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-17724bfd":j(()=>A(()=>import("./android令牌.html-33f09491.js"),["assets/android令牌.html-33f09491.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5b27371f":j(()=>A(()=>import("./ios令牌.html-e896b279.js"),["assets/ios令牌.html-e896b279.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7adb3692":j(()=>A(()=>import("./参考.html-0048752a.js"),["assets/参考.html-0048752a.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c4bad90c":j(()=>A(()=>import("./登录令牌.html-568aadab.js"),["assets/登录令牌.html-568aadab.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3706649a":j(()=>A(()=>import("./404.html-716e8c43.js"),["assets/404.html-716e8c43.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-d0f33908":j(()=>A(()=>import("./index.html-cc103ed0.js"),["assets/index.html-cc103ed0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c6dc4a3c":j(()=>A(()=>import("./index.html-b0305eb5.js"),["assets/index.html-b0305eb5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-c6d84300":j(()=>A(()=>import("./index.html-5caa2cc4.js"),["assets/index.html-5caa2cc4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-3fc78618":j(()=>A(()=>import("./index.html-f7a5d191.js"),["assets/index.html-f7a5d191.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-51a25878":j(()=>A(()=>import("./index.html-e1b499b0.js"),["assets/index.html-e1b499b0.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-02669445":j(()=>A(()=>import("./index.html-42e5d233.js"),["assets/index.html-42e5d233.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-1c189579":j(()=>A(()=>import("./index.html-fe8d2572.js"),["assets/index.html-fe8d2572.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-9c23808a":j(()=>A(()=>import("./index.html-d0c7accc.js"),["assets/index.html-d0c7accc.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-315fb940":j(()=>A(()=>import("./index.html-c6c3d0a7.js"),["assets/index.html-c6c3d0a7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-2e9cf745":j(()=>A(()=>import("./index.html-84f7a6b5.js"),["assets/index.html-84f7a6b5.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-dfc454f6":j(()=>A(()=>import("./index.html-8d3362ce.js"),["assets/index.html-8d3362ce.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-79c4cb58":j(()=>A(()=>import("./index.html-dca847b6.js"),["assets/index.html-dca847b6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-57679c0c":j(()=>A(()=>import("./index.html-d18536e6.js"),["assets/index.html-d18536e6.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-7539bd5d":j(()=>A(()=>import("./index.html-b54bbad4.js"),["assets/index.html-b54bbad4.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-181d89ce":j(()=>A(()=>import("./index.html-a35d2d57.js"),["assets/index.html-a35d2d57.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-5661f12d":j(()=>A(()=>import("./index.html-2abf70b7.js"),["assets/index.html-2abf70b7.js","assets/plugin-vue_export-helper-c27b6911.js"])),"v-8daa1a0e":j(()=>A(()=>import("./index.html-bc4c39bf.js"),["assets/index.html-bc4c39bf.js","assets/plugin-vue_export-helper-c27b6911.js"]))};var ep=Symbol(""),ki=Symbol(""),tp=Lt({key:"",path:"",title:"",lang:"",frontmatter:{},headers:[]}),fe=()=>{const e=be(ki);if(!e)throw new Error("pageData() is called without provider.");return e},Ci=Symbol(""),Te=()=>{const e=be(Ci);if(!e)throw new Error("usePageFrontmatter() is called without provider.");return e},Pi=Symbol(""),np=()=>{const e=be(Pi);if(!e)throw new Error("usePageHead() is called without provider.");return e},op=Symbol(""),xi=Symbol(""),El=()=>{const e=be(xi);if(!e)throw new Error("usePageLang() is called without provider.");return e},Ri=Symbol(""),rp=()=>{const e=be(Ri);if(!e)throw new Error("usePageLayout() is called without provider.");return e},lp=Z(Uf),wl=Symbol(""),Gt=()=>{const e=be(wl);if(!e)throw new Error("useRouteLocale() is called without provider.");return e},pn=Z(Wf),Oi=()=>pn,Ii=Symbol(""),nr=()=>{const e=be(Ii);if(!e)throw new Error("useSiteLocaleData() is called without provider.");return e},sp=Symbol(""),ap="Layout",ip="NotFound",gt=po({resolveLayouts:e=>e.reduce((t,n)=>({...t,...n.layouts}),{}),resolvePageData:async e=>{const t=lp.value[e];return await(t==null?void 0:t())??tp},resolvePageFrontmatter:e=>e.frontmatter,resolvePageHead:(e,t,n)=>{const o=ce(t.description)?t.description:n.description,r=[...q(t.head)?t.head:[],...n.head,["title",{},e],["meta",{name:"description",content:o}]];return Kf(r)},resolvePageHeadTitle:(e,t)=>[e.title,t.title].filter(n=>!!n).join(" | "),resolvePageLang:(e,t)=>e.lang||t.lang||"en-US",resolvePageLayout:(e,t)=>{let n;if(e.path){const o=e.frontmatter.layout;ce(o)?n=o:n=ap}else n=ip;return t[n]},resolveRouteLocale:(e,t)=>Zf(e,t),resolveSiteLocaleData:(e,t)=>({...e,...e.locales[t]})}),or=U({name:"ClientOnly",setup(e,t){const n=Z(!1);return Ee(()=>{n.value=!0}),()=>{var o,r;return n.value?(r=(o=t.slots).default)==null?void 0:r.call(o):null}}}),Fi=U({name:"Content",props:{pageKey:{type:String,required:!1,default:""}},setup(e){const t=fe(),n=k(()=>Li[e.pageKey||t.value.key]);return()=>n.value?d(n.value):d("div","404 Not Found")}}),Ze=(e={})=>e,ze=e=>zn(e)?e:`/SteamTools-Guide/${Ti(e)}`;const cp={};/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const fn=typeof window<"u";function up(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const pe=Object.assign;function br(e,t){const n={};for(const o in t){const r=t[o];n[o]=it(r)?r.map(e):e(r)}return n}const Zn=()=>{},it=Array.isArray,dp=/\/$/,fp=e=>e.replace(dp,"");function yr(e,t,n="/"){let o,r={},l="",s="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(o=t.slice(0,i),l=t.slice(i+1,a>-1?a:t.length),r=e(l)),a>-1&&(o=o||t.slice(0,a),s=t.slice(a,t.length)),o=vp(o??t,n),{fullPath:o+(l&&"?")+l+s,path:o,query:r,hash:s}}function pp(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Rs(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function hp(e,t,n){const o=t.matched.length-1,r=n.matched.length-1;return o>-1&&o===r&&Pn(t.matched[o],n.matched[r])&&Di(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Pn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Di(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!mp(e[n],t[n]))return!1;return!0}function mp(e,t){return it(e)?Os(e,t):it(t)?Os(t,e):e===t}function Os(e,t){return it(t)?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function vp(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),r=o[o.length-1];(r===".."||r===".")&&o.push("");let l=n.length-1,s,a;for(s=0;s1&&l--;else break;return n.slice(0,l).join("/")+"/"+o.slice(s-(s===o.length?1:0)).join("/")}var ao;(function(e){e.pop="pop",e.push="push"})(ao||(ao={}));var eo;(function(e){e.back="back",e.forward="forward",e.unknown=""})(eo||(eo={}));function gp(e){if(!e)if(fn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),fp(e)}const _p=/^[^#]+#/;function bp(e,t){return e.replace(_p,"#")+t}function yp(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}const rr=()=>({left:window.pageXOffset,top:window.pageYOffset});function Ep(e){let t;if("el"in e){const n=e.el,o=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=yp(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function Is(e,t){return(history.state?history.state.position-t:-1)+e}const Nr=new Map;function wp(e,t){Nr.set(e,t)}function Sp(e){const t=Nr.get(e);return Nr.delete(e),t}let Ap=()=>location.protocol+"//"+location.host;function $i(e,t){const{pathname:n,search:o,hash:r}=t,l=e.indexOf("#");if(l>-1){let a=r.includes(e.slice(l))?e.slice(l).length:1,i=r.slice(a);return i[0]!=="/"&&(i="/"+i),Rs(i,"")}return Rs(n,e)+o+r}function Tp(e,t,n,o){let r=[],l=[],s=null;const a=({state:p})=>{const v=$i(e,location),g=n.value,E=t.value;let S=0;if(p){if(n.value=v,t.value=p,s&&s===g){s=null;return}S=E?p.position-E.position:0}else o(v);r.forEach(y=>{y(n.value,g,{delta:S,type:ao.pop,direction:S?S>0?eo.forward:eo.back:eo.unknown})})};function i(){s=n.value}function c(p){r.push(p);const v=()=>{const g=r.indexOf(p);g>-1&&r.splice(g,1)};return l.push(v),v}function u(){const{history:p}=window;p.state&&p.replaceState(pe({},p.state,{scroll:rr()}),"")}function f(){for(const p of l)p();l=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:i,listen:c,destroy:f}}function Fs(e,t,n,o=!1,r=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:r?rr():null}}function Lp(e){const{history:t,location:n}=window,o={value:$i(e,n)},r={value:t.state};r.value||l(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(i,c,u){const f=e.indexOf("#"),p=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+i:Ap()+e+i;try{t[u?"replaceState":"pushState"](c,"",p),r.value=c}catch(v){console.error(v),n[u?"replace":"assign"](p)}}function s(i,c){const u=pe({},t.state,Fs(r.value.back,i,r.value.forward,!0),c,{position:r.value.position});l(i,u,!0),o.value=i}function a(i,c){const u=pe({},r.value,t.state,{forward:i,scroll:rr()});l(u.current,u,!0);const f=pe({},Fs(o.value,i,null),{position:u.position+1},c);l(i,f,!1),o.value=i}return{location:o,state:r,push:a,replace:s}}function kp(e){e=gp(e);const t=Lp(e),n=Tp(e,t.state,t.location,t.replace);function o(l,s=!0){s||n.pauseListeners(),history.go(l)}const r=pe({location:"",base:e,go:o,createHref:bp.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}function Cp(e){return typeof e=="string"||e&&typeof e=="object"}function zi(e){return typeof e=="string"||typeof e=="symbol"}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Mi=Symbol("");var Ds;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Ds||(Ds={}));function xn(e,t){return pe(new Error,{type:e,[Mi]:!0},t)}function mt(e,t){return e instanceof Error&&Mi in e&&(t==null||!!(e.type&t))}const $s="[^/]+?",Pp={sensitive:!1,strict:!1,start:!0,end:!0},xp=/[.+*?^${}()[\]/\\]/g;function Rp(e,t){const n=pe({},Pp,t),o=[];let r=n.start?"^":"";const l=[];for(const c of e){const u=c.length?[]:[90];n.strict&&!c.length&&(r+="/");for(let f=0;ft.length?t.length===1&&t[0]===40+40?1:-1:0}function Ip(e,t){let n=0;const o=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Fp={type:0,value:""},Dp=/[a-zA-Z0-9_]/;function $p(e){if(!e)return[[]];if(e==="/")return[[Fp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(v){throw new Error(`ERR (${n})/"${c}": ${v}`)}let n=0,o=n;const r=[];let l;function s(){l&&r.push(l),l=[]}let a=0,i,c="",u="";function f(){c&&(n===0?l.push({type:0,value:c}):n===1||n===2||n===3?(l.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:c,regexp:u,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=i}for(;a{s(T)}:Zn}function s(u){if(zi(u)){const f=o.get(u);f&&(o.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(s),f.alias.forEach(s))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&o.delete(u.record.name),u.children.forEach(s),u.alias.forEach(s))}}function a(){return n}function i(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Ni(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!Ns(u)&&o.set(u.record.name,u)}function c(u,f){let p,v={},g,E;if("name"in u&&u.name){if(p=o.get(u.name),!p)throw xn(1,{location:u});E=p.record.name,v=pe(Ms(f.params,p.keys.filter(T=>!T.optional).map(T=>T.name)),u.params&&Ms(u.params,p.keys.map(T=>T.name))),g=p.stringify(v)}else if("path"in u)g=u.path,p=n.find(T=>T.re.test(g)),p&&(v=p.parse(g),E=p.record.name);else{if(p=f.name?o.get(f.name):n.find(T=>T.re.test(f.path)),!p)throw xn(1,{location:u,currentLocation:f});E=p.record.name,v=pe({},f.params,u.params),g=p.stringify(v)}const S=[];let y=p;for(;y;)S.unshift(y.record),y=y.parent;return{name:E,path:g,params:v,matched:S,meta:Bp(S)}}return e.forEach(u=>l(u)),{addRoute:l,resolve:c,removeRoute:s,getRoutes:a,getRecordMatcher:r}}function Ms(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function Np(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Vp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Vp(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]=typeof n=="object"?n[o]:n;return t}function Ns(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Bp(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function Vs(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}function Ni(e,t){return t.children.some(n=>n===e||Ni(e,n))}const Vi=/#/g,Hp=/&/g,jp=/\//g,Gp=/=/g,Up=/\?/g,Bi=/\+/g,Wp=/%5B/g,qp=/%5D/g,Hi=/%5E/g,Kp=/%60/g,ji=/%7B/g,Qp=/%7C/g,Gi=/%7D/g,Yp=/%20/g;function Sl(e){return encodeURI(""+e).replace(Qp,"|").replace(Wp,"[").replace(qp,"]")}function Jp(e){return Sl(e).replace(ji,"{").replace(Gi,"}").replace(Hi,"^")}function Vr(e){return Sl(e).replace(Bi,"%2B").replace(Yp,"+").replace(Vi,"%23").replace(Hp,"%26").replace(Kp,"`").replace(ji,"{").replace(Gi,"}").replace(Hi,"^")}function Xp(e){return Vr(e).replace(Gp,"%3D")}function Zp(e){return Sl(e).replace(Vi,"%23").replace(Up,"%3F")}function eh(e){return e==null?"":Zp(e).replace(jp,"%2F")}function Wo(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function th(e){const t={};if(e===""||e==="?")return t;const o=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rl&&Vr(l)):[o&&Vr(o)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+n,l!=null&&(t+="="+l))})}return t}function nh(e){const t={};for(const n in e){const o=e[n];o!==void 0&&(t[n]=it(o)?o.map(r=>r==null?null:""+r):o==null?o:""+o)}return t}const oh=Symbol(""),Hs=Symbol(""),lr=Symbol(""),Al=Symbol(""),Br=Symbol("");function Gn(){let e=[];function t(o){return e.push(o),()=>{const r=e.indexOf(o);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function zt(e,t,n,o,r){const l=o&&(o.enterCallbacks[r]=o.enterCallbacks[r]||[]);return()=>new Promise((s,a)=>{const i=f=>{f===!1?a(xn(4,{from:n,to:t})):f instanceof Error?a(f):Cp(f)?a(xn(2,{from:t,to:f})):(l&&o.enterCallbacks[r]===l&&typeof f=="function"&&l.push(f),s())},c=e.call(o&&o.instances[r],t,n,i);let u=Promise.resolve(c);e.length<3&&(u=u.then(i)),u.catch(f=>a(f))})}function Er(e,t,n,o){const r=[];for(const l of e)for(const s in l.components){let a=l.components[s];if(!(t!=="beforeRouteEnter"&&!l.instances[s]))if(rh(a)){const c=(a.__vccOpts||a)[t];c&&r.push(zt(c,n,o,l,s))}else{let i=a();r.push(()=>i.then(c=>{if(!c)return Promise.reject(new Error(`Couldn't resolve component "${s}" at "${l.path}"`));const u=up(c)?c.default:c;l.components[s]=u;const p=(u.__vccOpts||u)[t];return p&&zt(p,n,o,l,s)()}))}}return r}function rh(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Hr(e){const t=be(lr),n=be(Al),o=k(()=>t.resolve(Xt(e.to))),r=k(()=>{const{matched:i}=o.value,{length:c}=i,u=i[c-1],f=n.matched;if(!u||!f.length)return-1;const p=f.findIndex(Pn.bind(null,u));if(p>-1)return p;const v=js(i[c-2]);return c>1&&js(u)===v&&f[f.length-1].path!==v?f.findIndex(Pn.bind(null,i[c-2])):p}),l=k(()=>r.value>-1&&ih(n.params,o.value.params)),s=k(()=>r.value>-1&&r.value===n.matched.length-1&&Di(n.params,o.value.params));function a(i={}){return ah(i)?t[Xt(e.replace)?"replace":"push"](Xt(e.to)).catch(Zn):Promise.resolve()}return{route:o,href:k(()=>o.value.href),isActive:l,isExactActive:s,navigate:a}}const lh=U({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Hr,setup(e,{slots:t}){const n=po(Hr(e)),{options:o}=be(lr),r=k(()=>({[Gs(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[Gs(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&t.default(n);return e.custom?l:d("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},l)}}}),sh=lh;function ah(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ih(e,t){for(const n in t){const o=t[n],r=e[n];if(typeof o=="string"){if(o!==r)return!1}else if(!it(r)||r.length!==o.length||o.some((l,s)=>l!==r[s]))return!1}return!0}function js(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Gs=(e,t,n)=>e??t??n,ch=U({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=be(Br),r=k(()=>e.route||o.value),l=be(Hs,0),s=k(()=>{let c=Xt(l);const{matched:u}=r.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),a=k(()=>r.value.matched[s.value]);bn(Hs,k(()=>s.value+1)),bn(oh,a),bn(Br,r);const i=Z();return ue(()=>[i.value,a.value,e.name],([c,u,f],[p,v,g])=>{u&&(u.instances[f]=c,v&&v!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=v.leaveGuards),u.updateGuards.size||(u.updateGuards=v.updateGuards))),c&&u&&(!v||!Pn(u,v)||!p)&&(u.enterCallbacks[f]||[]).forEach(E=>E(c))},{flush:"post"}),()=>{const c=r.value,u=e.name,f=a.value,p=f&&f.components[u];if(!p)return Us(n.default,{Component:p,route:c});const v=f.props[u],g=v?v===!0?c.params:typeof v=="function"?v(c):v:null,S=d(p,pe({},g,t,{onVnodeUnmounted:y=>{y.component.isUnmounted&&(f.instances[u]=null)},ref:i}));return Us(n.default,{Component:S,route:c})||S}}});function Us(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Ui=ch;function uh(e){const t=Mp(e.routes,e),n=e.parseQuery||th,o=e.stringifyQuery||Bs,r=e.history,l=Gn(),s=Gn(),a=Gn(),i=ht(_t);let c=_t;fn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=br.bind(null,C=>""+C),f=br.bind(null,eh),p=br.bind(null,Wo);function v(C,G){let M,Y;return zi(C)?(M=t.getRecordMatcher(C),Y=G):Y=C,t.addRoute(Y,M)}function g(C){const G=t.getRecordMatcher(C);G&&t.removeRoute(G)}function E(){return t.getRoutes().map(C=>C.record)}function S(C){return!!t.getRecordMatcher(C)}function y(C,G){if(G=pe({},G||i.value),typeof C=="string"){const b=yr(n,C,G.path),L=t.resolve({path:b.path},G),x=r.createHref(b.fullPath);return pe(b,L,{params:p(L.params),hash:Wo(b.hash),redirectedFrom:void 0,href:x})}let M;if("path"in C)M=pe({},C,{path:yr(n,C.path,G.path).path});else{const b=pe({},C.params);for(const L in b)b[L]==null&&delete b[L];M=pe({},C,{params:f(b)}),G.params=f(G.params)}const Y=t.resolve(M,G),de=C.hash||"";Y.params=u(p(Y.params));const h=pp(o,pe({},C,{hash:Jp(de),path:Y.path})),m=r.createHref(h);return pe({fullPath:h,hash:de,query:o===Bs?nh(C.query):C.query||{}},Y,{redirectedFrom:void 0,href:m})}function T(C){return typeof C=="string"?yr(n,C,i.value.path):pe({},C)}function _(C,G){if(c!==C)return xn(8,{from:G,to:C})}function w(C){return $(C)}function F(C){return w(pe(T(C),{replace:!0}))}function R(C){const G=C.matched[C.matched.length-1];if(G&&G.redirect){const{redirect:M}=G;let Y=typeof M=="function"?M(C):M;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=T(Y):{path:Y},Y.params={}),pe({query:C.query,hash:C.hash,params:"path"in Y?{}:C.params},Y)}}function $(C,G){const M=c=y(C),Y=i.value,de=C.state,h=C.force,m=C.replace===!0,b=R(M);if(b)return $(pe(T(b),{state:typeof b=="object"?pe({},de,b.state):de,force:h,replace:m}),G||M);const L=M;L.redirectedFrom=G;let x;return!h&&hp(o,Y,M)&&(x=xn(16,{to:L,from:Y}),ut(Y,Y,!0,!1)),(x?Promise.resolve(x):H(L,Y)).catch(O=>mt(O)?mt(O,2)?O:xt(O):Q(O,L,Y)).then(O=>{if(O){if(mt(O,2))return $(pe({replace:m},T(O.to),{state:typeof O.to=="object"?pe({},de,O.to.state):de,force:h}),G||L)}else O=N(L,Y,!0,m,de);return le(L,Y,O),O})}function P(C,G){const M=_(C,G);return M?Promise.reject(M):Promise.resolve()}function V(C){const G=an.values().next().value;return G&&typeof G.runWithContext=="function"?G.runWithContext(C):C()}function H(C,G){let M;const[Y,de,h]=dh(C,G);M=Er(Y.reverse(),"beforeRouteLeave",C,G);for(const b of Y)b.leaveGuards.forEach(L=>{M.push(zt(L,C,G))});const m=P.bind(null,C,G);return M.push(m),Re(M).then(()=>{M=[];for(const b of l.list())M.push(zt(b,C,G));return M.push(m),Re(M)}).then(()=>{M=Er(de,"beforeRouteUpdate",C,G);for(const b of de)b.updateGuards.forEach(L=>{M.push(zt(L,C,G))});return M.push(m),Re(M)}).then(()=>{M=[];for(const b of h)if(b.beforeEnter)if(it(b.beforeEnter))for(const L of b.beforeEnter)M.push(zt(L,C,G));else M.push(zt(b.beforeEnter,C,G));return M.push(m),Re(M)}).then(()=>(C.matched.forEach(b=>b.enterCallbacks={}),M=Er(h,"beforeRouteEnter",C,G),M.push(m),Re(M))).then(()=>{M=[];for(const b of s.list())M.push(zt(b,C,G));return M.push(m),Re(M)}).catch(b=>mt(b,8)?b:Promise.reject(b))}function le(C,G,M){a.list().forEach(Y=>V(()=>Y(C,G,M)))}function N(C,G,M,Y,de){const h=_(C,G);if(h)return h;const m=G===_t,b=fn?history.state:{};M&&(Y||m?r.replace(C.fullPath,pe({scroll:m&&b&&b.scroll},de)):r.push(C.fullPath,de)),i.value=C,ut(C,G,M,m),xt()}let ee;function we(){ee||(ee=r.listen((C,G,M)=>{if(!_o.listening)return;const Y=y(C),de=R(Y);if(de){$(pe(de,{replace:!0}),Y).catch(Zn);return}c=Y;const h=i.value;fn&&wp(Is(h.fullPath,M.delta),rr()),H(Y,h).catch(m=>mt(m,12)?m:mt(m,2)?($(m.to,Y).then(b=>{mt(b,20)&&!M.delta&&M.type===ao.pop&&r.go(-1,!1)}).catch(Zn),Promise.reject()):(M.delta&&r.go(-M.delta,!1),Q(m,Y,h))).then(m=>{m=m||N(Y,h,!1),m&&(M.delta&&!mt(m,8)?r.go(-M.delta,!1):M.type===ao.pop&&mt(m,20)&&r.go(-1,!1)),le(Y,h,m)}).catch(Zn)}))}let Se=Gn(),K=Gn(),oe;function Q(C,G,M){xt(C);const Y=K.list();return Y.length?Y.forEach(de=>de(C,G,M)):console.error(C),Promise.reject(C)}function tt(){return oe&&i.value!==_t?Promise.resolve():new Promise((C,G)=>{Se.add([C,G])})}function xt(C){return oe||(oe=!C,we(),Se.list().forEach(([G,M])=>C?M(C):G()),Se.reset()),C}function ut(C,G,M,Y){const{scrollBehavior:de}=e;if(!fn||!de)return Promise.resolve();const h=!M&&Sp(Is(C.fullPath,0))||(Y||!M)&&history.state&&history.state.scroll||null;return rn().then(()=>de(C,G,h)).then(m=>m&&Ep(m)).catch(m=>Q(m,C,G))}const De=C=>r.go(C);let sn;const an=new Set,_o={currentRoute:i,listening:!0,addRoute:v,removeRoute:g,hasRoute:S,getRoutes:E,resolve:y,options:e,push:w,replace:F,go:De,back:()=>De(-1),forward:()=>De(1),beforeEach:l.add,beforeResolve:s.add,afterEach:a.add,onError:K.add,isReady:tt,install(C){const G=this;C.component("RouterLink",sh),C.component("RouterView",Ui),C.config.globalProperties.$router=G,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>Xt(i)}),fn&&!sn&&i.value===_t&&(sn=!0,w(r.location).catch(de=>{}));const M={};for(const de in _t)Object.defineProperty(M,de,{get:()=>i.value[de],enumerable:!0});C.provide(lr,G),C.provide(Al,Fa(M)),C.provide(Br,i);const Y=C.unmount;an.add(C),C.unmount=function(){an.delete(C),an.size<1&&(c=_t,ee&&ee(),ee=null,i.value=_t,sn=!1,oe=!1),Y()}}};function Re(C){return C.reduce((G,M)=>G.then(()=>V(M)),Promise.resolve())}return _o}function dh(e,t){const n=[],o=[],r=[],l=Math.max(t.matched.length,e.matched.length);for(let s=0;sPn(c,a))?o.push(a):n.push(a));const i=e.matched[s];i&&(t.matched.find(c=>Pn(c,i))||r.push(i))}return[n,o,r]}function Be(){return be(lr)}function et(){return be(Al)}const ye=({name:e="",color:t="currentColor"},{slots:n})=>{var o;return d("svg",{xmlns:"http://www.w3.org/2000/svg",class:["icon",`${e}-icon`],viewBox:"0 0 1024 1024",fill:t,"aria-label":`${e} icon`},(o=n.default)==null?void 0:o.call(n))};ye.displayName="IconBase";const Wi=({size:e=48,stroke:t=4,wrapper:n=!0,height:o=2*e})=>{const r=d("svg",{xmlns:"http://www.w3.org/2000/svg",width:e,height:e,preserveAspectRatio:"xMidYMid",viewBox:"25 25 50 50"},[d("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",keyTimes:"0;1",repeatCount:"indefinite",values:"0;360"}),d("circle",{cx:"50",cy:"50",r:"20",fill:"none",stroke:"currentColor","stroke-width":t,"stroke-linecap":"round"},[d("animate",{attributeName:"stroke-dasharray",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"1,200;90,200;1,200"}),d("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",keyTimes:"0;0.5;1",repeatCount:"indefinite",values:"0;-35px;-125px"})])]);return n?d("div",{class:"loading-icon-wrapper",style:`display:flex;align-items:center;justify-content:center;height:${o}px`},r):r};Wi.displayName="LoadingIcon";const qi=(e,{slots:t})=>{var n;return(n=t.default)==null?void 0:n.call(t)},fh=(e="")=>{if(e){if(typeof e=="number")return new Date(e);const t=Date.parse(e.toString());if(!Number.isNaN(t))return new Date(t)}return null},Ki=(e,t)=>{let n=1;for(let o=0;o>6;return n+=n<<3,n^=n>>11,n%t},Qi=Array.isArray,ph=e=>typeof e=="function",hh=e=>typeof e=="string";var mh=e=>e.startsWith("ftp://"),Tl=e=>/^(https?:)?\/\//.test(e),vh=/.md((\?|#).*)?$/,gh=(e,t="/")=>!!(Tl(e)||mh(e)||e.startsWith("/")&&!e.startsWith(t)&&!vh.test(e)),Yi=e=>Object.prototype.toString.call(e)==="[object Object]";function _h(){const e=Z(!1);return ln()&&Ee(()=>{e.value=!0}),e}function bh(e){return _h(),k(()=>!!e())}const Tt=e=>typeof e=="string",io=(e,t)=>Tt(e)&&e.startsWith(t),dn=(e,t)=>Tt(e)&&e.endsWith(t),sr=Object.entries,yh=Object.fromEntries,Mn=Object.keys,Eh=e=>(e.endsWith(".md")&&(e=`${e.slice(0,-3)}.html`),!e.endsWith("/")&&!e.endsWith(".html")&&(e=`${e}.html`),e=e.replace(/(^|\/)(?:README|index).html$/i,"$1"),e),Ji=e=>{const[t,n=""]=e.split("#");return t?`${Eh(t)}${n?`#${n}`:""}`:e},Ws=e=>Yi(e)&&Tt(e.name),qs=(e,t=!1)=>e?Qi(e)?e.map(n=>Tt(n)?{name:n}:Ws(n)?n:null).filter(n=>n!==null):Tt(e)?[{name:e}]:Ws(e)?[e]:(console.error(`Expect "author" to be \`AuthorInfo[] | AuthorInfo | string[] | string ${t?"":"| false"} | undefined\`, but got`,e),[]):[],Xi=(e,t)=>{if(e){if(Qi(e)&&e.every(Tt))return e;if(Tt(e))return[e];console.error(`Expect ${t||"value"} to be \`string[] | string | undefined\`, but got`,e)}return[]},wh=e=>Xi(e,"category"),Sh=e=>Xi(e,"tag"),Ll=e=>io(e,"/"),Zi=/#.*$/u,Ah=e=>{const t=Zi.exec(e);return t?t[0]:""},Ks=e=>decodeURI(e).replace(Zi,"").replace(/(index)?\.(md|html)$/,""),kl=(e,t)=>{if(t===void 0)return!1;const n=Ks(e.path),o=Ks(t),r=Ah(t);return r?r===e.hash&&(!o||n===o):n===o},Th=e=>Tl(e)?e:`https://github.com/${e}`,ec=e=>!Tl(e)||/github\.com/.test(e)?"GitHub":/bitbucket\.org/.test(e)?"Bitbucket":/gitlab\.com/.test(e)?"GitLab":/gitee\.com/.test(e)?"Gitee":null,qo=(e,...t)=>{const n=e.resolve(...t),o=n.matched[n.matched.length-1];if(!(o!=null&&o.redirect))return n;const{redirect:r}=o,l=ph(r)?r(n):r,s=hh(l)?{path:l}:l;return qo(e,{hash:n.hash,query:n.query,params:n.params,...s})},Lh=e=>{var t;if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)&&!(e.currentTarget&&((t=e.currentTarget.getAttribute("target"))!=null&&t.match(/\b_blank\b/i))))return e.preventDefault(),!0},Ct=({to:e="",class:t="",...n},{slots:o})=>{var s;const r=Be(),l=(a={})=>Lh(a)?r.push(e).catch():Promise.resolve();return d("a",{...n,class:["vp-link",t],href:ze(Ji(e)),onClick:l},(s=o.default)==null?void 0:s.call(o))};Ct.displayName="VPLink";const tc=()=>d(ye,{name:"github"},()=>d("path",{d:"M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"}));tc.displayName="GitHubIcon";const nc=()=>d(ye,{name:"gitlab"},()=>d("path",{d:"M229.333 78.688C223.52 62 199.895 62 193.895 78.688L87.958 406.438h247.5c-.188 0-106.125-327.75-106.125-327.75zM33.77 571.438c-4.875 15 .563 31.687 13.313 41.25l464.812 345L87.77 406.438zm301.5-165 176.813 551.25 176.812-551.25zm655.125 165-54-165-424.312 551.25 464.812-345c12.938-9.563 18.188-26.25 13.5-41.25zM830.27 78.688c-5.812-16.688-29.437-16.688-35.437 0l-106.125 327.75h247.5z"}));nc.displayName="GitLabIcon";const oc=()=>d(ye,{name:"gitee"},()=>d("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm242.97-533.34H482.39a23.7 23.7 0 0 0-23.7 23.7l-.03 59.28c0 13.08 10.59 23.7 23.7 23.7h165.96a23.7 23.7 0 0 1 23.7 23.7v11.85a71.1 71.1 0 0 1-71.1 71.1H375.71a23.7 23.7 0 0 1-23.7-23.7V423.11a71.1 71.1 0 0 1 71.1-71.1h331.8a23.7 23.7 0 0 0 23.7-23.7l.06-59.25a23.73 23.73 0 0 0-23.7-23.73H423.11a177.78 177.78 0 0 0-177.78 177.75v331.83c0 13.08 10.62 23.7 23.7 23.7h349.62a159.99 159.99 0 0 0 159.99-159.99V482.33a23.7 23.7 0 0 0-23.7-23.7z"}));oc.displayName="GiteeIcon";const rc=()=>d(ye,{name:"bitbucket"},()=>d("path",{d:"M575.256 490.862c6.29 47.981-52.005 85.723-92.563 61.147-45.714-20.004-45.714-92.562-1.133-113.152 38.29-23.442 93.696 7.424 93.696 52.005zm63.451-11.996c-10.276-81.152-102.29-134.839-177.152-101.156-47.433 21.138-79.433 71.424-77.129 124.562 2.853 69.705 69.157 126.866 138.862 120.576S647.3 548.571 638.708 478.83zm136.558-309.723c-25.161-33.134-67.986-38.839-105.728-45.13-106.862-17.151-216.576-17.7-323.438 1.134-35.438 5.706-75.447 11.996-97.719 43.996 36.572 34.304 88.576 39.424 135.424 45.129 84.553 10.862 171.447 11.447 256 .585 47.433-5.705 99.987-10.276 135.424-45.714zm32.585 591.433c-16.018 55.99-6.839 131.438-66.304 163.986-102.29 56.576-226.304 62.867-338.87 42.862-59.43-10.862-129.135-29.696-161.72-85.723-14.3-54.858-23.442-110.848-32.585-166.84l3.438-9.142 10.276-5.157c170.277 112.567 408.576 112.567 579.438 0 26.844 8.01 6.84 40.558 6.29 60.014zm103.424-549.157c-19.42 125.148-41.728 249.71-63.415 374.272-6.29 36.572-41.728 57.162-71.424 72.558-106.862 53.724-231.424 62.866-348.562 50.286-79.433-8.558-160.585-29.696-225.134-79.433-30.28-23.443-30.28-63.415-35.986-97.134-20.005-117.138-42.862-234.277-57.161-352.585 6.839-51.42 64.585-73.728 107.447-89.71 57.16-21.138 118.272-30.866 178.87-36.571 129.134-12.58 261.157-8.01 386.304 28.562 44.581 13.13 92.563 31.415 122.844 69.705 13.714 17.7 9.143 40.01 6.29 60.014z"}));rc.displayName="BitbucketIcon";const lc=()=>d(ye,{name:"source"},()=>d("path",{d:"M601.92 475.2c0 76.428-8.91 83.754-28.512 99.594-14.652 11.88-43.956 14.058-78.012 16.434-18.81 1.386-40.392 2.97-62.172 6.534-18.612 2.97-36.432 9.306-53.064 17.424V299.772c37.818-21.978 63.36-62.766 63.36-109.692 0-69.894-56.826-126.72-126.72-126.72S190.08 120.186 190.08 190.08c0 46.926 25.542 87.714 63.36 109.692v414.216c-37.818 21.978-63.36 62.766-63.36 109.692 0 69.894 56.826 126.72 126.72 126.72s126.72-56.826 126.72-126.72c0-31.086-11.286-59.598-29.7-81.576 13.266-9.504 27.522-17.226 39.996-19.206 16.038-2.574 32.868-3.762 50.688-5.148 48.312-3.366 103.158-7.326 148.896-44.55 61.182-49.698 74.25-103.158 75.24-187.902V475.2h-126.72zM316.8 126.72c34.848 0 63.36 28.512 63.36 63.36s-28.512 63.36-63.36 63.36-63.36-28.512-63.36-63.36 28.512-63.36 63.36-63.36zm0 760.32c-34.848 0-63.36-28.512-63.36-63.36s28.512-63.36 63.36-63.36 63.36 28.512 63.36 63.36-28.512 63.36-63.36 63.36zM823.68 158.4h-95.04V63.36h-126.72v95.04h-95.04v126.72h95.04v95.04h126.72v-95.04h95.04z"}));lc.displayName="SourceIcon";const St=(e,t)=>{const n=t?t._instance:ln();return Yi(n==null?void 0:n.appContext.components)&&(e in n.appContext.components||Je(e)in n.appContext.components||fo(Je(e))in n.appContext.components)},kh=()=>bh(()=>typeof window<"u"&&window.navigator&&"userAgent"in window.navigator),Ch=()=>{const e=kh();return k(()=>e.value&&/\b(?:Android|iPhone)/i.test(navigator.userAgent))},Nn=e=>{const t=Gt();return k(()=>e[t.value])};function Qs(e,t){var n;const o=ht();return Wa(()=>{o.value=e()},{...t,flush:(n=t==null?void 0:t.flush)!=null?n:"sync"}),Lt(o)}function ar(e,t){let n,o,r;const l=Z(!0),s=()=>{l.value=!0,r()};ue(e,s,{flush:"sync"});const a=typeof t=="function"?t:t.get,i=typeof t=="function"?void 0:t.set,c=Na((u,f)=>(o=u,r=f,{get(){return l.value&&(n=a(),l.value=!1),o(),n},set(p){i==null||i(p)}}));return Object.isExtensible(c)&&(c.trigger=s),c}function ct(e){return Sa()?(ku(e),!0):!1}function xe(e){return typeof e=="function"?e():Xt(e)}const nn=typeof window<"u"&&typeof document<"u",Ph=Object.prototype.toString,xh=e=>Ph.call(e)==="[object Object]",on=()=>{},Ys=Rh();function Rh(){var e;return nn&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function Cl(e,t){function n(...o){return new Promise((r,l)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(r).catch(l)})}return n}const sc=e=>e();function Oh(e,t={}){let n,o,r=on;const l=a=>{clearTimeout(a),r(),r=on};return a=>{const i=xe(e),c=xe(t.maxWait);return n&&l(n),i<=0||c!==void 0&&c<=0?(o&&(l(o),o=null),Promise.resolve(a())):new Promise((u,f)=>{r=t.rejectOnCancel?f:u,c&&!o&&(o=setTimeout(()=>{n&&l(n),o=null,u(a())},c)),n=setTimeout(()=>{o&&l(o),o=null,u(a())},i)})}}function Ih(e,t=!0,n=!0,o=!1){let r=0,l,s=!0,a=on,i;const c=()=>{l&&(clearTimeout(l),l=void 0,a(),a=on)};return f=>{const p=xe(e),v=Date.now()-r,g=()=>i=f();return c(),p<=0?(r=Date.now(),g()):(v>p&&(n||!s)?(r=Date.now(),g()):t&&(i=new Promise((E,S)=>{a=o?S:E,l=setTimeout(()=>{r=Date.now(),s=!0,E(g()),c()},Math.max(0,p-v))})),!n&&!l&&(l=setTimeout(()=>s=!0,p)),s=!1,i)}}function Fh(e=sc){const t=Z(!0);function n(){t.value=!1}function o(){t.value=!0}const r=(...l)=>{t.value&&e(...l)};return{isActive:Lt(t),pause:n,resume:o,eventFilter:r}}function Dh(...e){if(e.length!==1)return Yo(...e);const t=e[0];return typeof t=="function"?Lt(Na(()=>({get:t,set:on}))):Z(t)}function X1(e,t=200,n={}){return Cl(Oh(t,n),e)}function $h(e,t=200,n=!1,o=!0,r=!1){return Cl(Ih(t,n,o,r),e)}function zh(e,t,n={}){const{eventFilter:o=sc,...r}=n;return ue(e,Cl(o,t),r)}function Mh(e,t,n={}){const{eventFilter:o,...r}=n,{eventFilter:l,pause:s,resume:a,isActive:i}=Fh(o);return{stop:zh(e,t,{...r,eventFilter:l}),pause:s,resume:a,isActive:i}}function Pl(e,t=!0){ln()?Ee(e):t?e():rn(e)}function Nh(e){ln()&&$n(e)}function Vh(e,t=1e3,n={}){const{immediate:o=!0,immediateCallback:r=!1}=n;let l=null;const s=Z(!1);function a(){l&&(clearInterval(l),l=null)}function i(){s.value=!1,a()}function c(){const u=xe(t);u<=0||(s.value=!0,r&&e(),a(),l=setInterval(e,u))}if(o&&nn&&c(),ke(t)||typeof t=="function"){const u=ue(t,()=>{s.value&&nn&&c()});ct(u)}return ct(i),{isActive:s,pause:i,resume:c}}function Bh(e,t,n={}){const{immediate:o=!0}=n,r=Z(!1);let l=null;function s(){l&&(clearTimeout(l),l=null)}function a(){r.value=!1,s()}function i(...c){s(),r.value=!0,l=setTimeout(()=>{r.value=!1,l=null,e(...c)},xe(t))}return o&&(r.value=!0,nn&&i()),ct(a),{isPending:Lt(r),start:i,stop:a}}function Js(e=!1,t={}){const{truthyValue:n=!0,falsyValue:o=!1}=t,r=ke(e),l=Z(e);function s(a){if(arguments.length)return l.value=a,l.value;{const i=xe(n);return l.value=l.value===i?xe(o):i,l.value}}return r?s:[l,s]}function At(e){var t;const n=xe(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Xe=nn?window:void 0,xl=nn?window.document:void 0,Hh=nn?window.navigator:void 0;function Fe(...e){let t,n,o,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,o,r]=e,t=Xe):[t,n,o,r]=e,!t)return on;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const l=[],s=()=>{l.forEach(u=>u()),l.length=0},a=(u,f,p,v)=>(u.addEventListener(f,p,v),()=>u.removeEventListener(f,p,v)),i=ue(()=>[At(t),xe(r)],([u,f])=>{if(s(),!u)return;const p=xh(f)?{...f}:f;l.push(...n.flatMap(v=>o.map(g=>a(u,v,g,p))))},{immediate:!0,flush:"post"}),c=()=>{i(),s()};return ct(c),c}function jh(){const e=Z(!1);return ln()&&Ee(()=>{e.value=!0}),e}function vo(e){const t=jh();return k(()=>(t.value,!!e()))}function Gh(e,t={}){const{immediate:n=!0,fpsLimit:o=void 0,window:r=Xe}=t,l=Z(!1),s=o?1e3/o:null;let a=0,i=null;function c(p){if(!l.value||!r)return;const v=p-(a||p);if(s&&vn&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const l=Z(!1),s=c=>{l.value=c.matches},a=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",s):r.removeListener(s))},i=Wa(()=>{o.value&&(a(),r=n.matchMedia(xe(e)),"addEventListener"in r?r.addEventListener("change",s):r.addListener(s),l.value=r.matches)});return ct(()=>{i(),a(),r=void 0}),l}function Uh(e={}){const{navigator:t=Hh,read:n=!1,source:o,copiedDuring:r=1500,legacy:l=!1}=e,s=vo(()=>t&&"clipboard"in t),a=k(()=>s.value||l),i=Z(""),c=Z(!1),u=Bh(()=>c.value=!1,r);function f(){s.value?t.clipboard.readText().then(E=>{i.value=E}):i.value=g()}a.value&&n&&Fe(["copy","cut"],f);async function p(E=xe(o)){a.value&&E!=null&&(s.value?await t.clipboard.writeText(E):v(E),i.value=E,c.value=!0,u.start())}function v(E){const S=document.createElement("textarea");S.value=E??"",S.style.position="absolute",S.style.opacity="0",document.body.appendChild(S),S.select(),document.execCommand("copy"),S.remove()}function g(){var E,S,y;return(y=(S=(E=document==null?void 0:document.getSelection)==null?void 0:E.call(document))==null?void 0:S.toString())!=null?y:""}return{isSupported:a,text:i,copied:c,copy:p}}const Po=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},xo="__vueuse_ssr_handlers__",Wh=qh();function qh(){return xo in Po||(Po[xo]=Po[xo]||{}),Po[xo]}function Kh(e,t){return Wh[e]||t}function Qh(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Yh={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Xs="vueuse-storage";function ic(e,t,n,o={}){var r;const{flush:l="pre",deep:s=!0,listenToStorageChanges:a=!0,writeDefaults:i=!0,mergeDefaults:c=!1,shallow:u,window:f=Xe,eventFilter:p,onError:v=P=>{console.error(P)}}=o,g=(u?ht:Z)(t);if(!n)try{n=Kh("getDefaultStorage",()=>{var P;return(P=Xe)==null?void 0:P.localStorage})()}catch(P){v(P)}if(!n)return g;const E=xe(t),S=Qh(E),y=(r=o.serializer)!=null?r:Yh[S],{pause:T,resume:_}=Mh(g,()=>w(g.value),{flush:l,deep:s,eventFilter:p});return f&&a&&(Fe(f,"storage",$),Fe(f,Xs,R)),$(),g;function w(P){try{if(P==null)n.removeItem(e);else{const V=y.write(P),H=n.getItem(e);H!==V&&(n.setItem(e,V),f&&f.dispatchEvent(new CustomEvent(Xs,{detail:{key:e,oldValue:H,newValue:V,storageArea:n}})))}}catch(V){v(V)}}function F(P){const V=P?P.newValue:n.getItem(e);if(V==null)return i&&E!==null&&n.setItem(e,y.write(E)),E;if(!P&&c){const H=y.read(V);return typeof c=="function"?c(H,E):S==="object"&&!Array.isArray(H)?{...E,...H}:H}else return typeof V!="string"?V:y.read(V)}function R(P){$(P.detail)}function $(P){if(!(P&&P.storageArea!==n)){if(P&&P.key==null){g.value=E;return}if(!(P&&P.key!==e)){T();try{(P==null?void 0:P.newValue)!==y.write(g.value)&&(g.value=F(P))}catch(V){v(V)}finally{P?rn(_):_()}}}}}function Jh(e){return ac("(prefers-color-scheme: dark)",e)}function Xh(e,t,n={}){const{window:o=Xe,...r}=n;let l;const s=vo(()=>o&&"MutationObserver"in o),a=()=>{l&&(l.disconnect(),l=void 0)},i=ue(()=>At(e),u=>{a(),s.value&&o&&u&&(l=new MutationObserver(t),l.observe(u,r))},{immediate:!0}),c=()=>{a(),i()};return ct(c),{isSupported:s,stop:c}}function Zh(e,t,n={}){const{window:o=Xe,...r}=n;let l;const s=vo(()=>o&&"ResizeObserver"in o),a=()=>{l&&(l.disconnect(),l=void 0)},i=k(()=>Array.isArray(e)?e.map(f=>At(f)):[At(e)]),c=ue(i,f=>{if(a(),s.value&&o){l=new ResizeObserver(t);for(const p of f)p&&l.observe(p,r)}},{immediate:!0,flush:"post",deep:!0}),u=()=>{a(),c()};return ct(u),{isSupported:s,stop:u}}function em(e,t={width:0,height:0},n={}){const{window:o=Xe,box:r="content-box"}=n,l=k(()=>{var i,c;return(c=(i=At(e))==null?void 0:i.namespaceURI)==null?void 0:c.includes("svg")}),s=Z(t.width),a=Z(t.height);return Zh(e,([i])=>{const c=r==="border-box"?i.borderBoxSize:r==="content-box"?i.contentBoxSize:i.devicePixelContentBoxSize;if(o&&l.value){const u=At(e);if(u){const f=o.getComputedStyle(u);s.value=Number.parseFloat(f.width),a.value=Number.parseFloat(f.height)}}else if(c){const u=Array.isArray(c)?c:[c];s.value=u.reduce((f,{inlineSize:p})=>f+p,0),a.value=u.reduce((f,{blockSize:p})=>f+p,0)}else s.value=i.contentRect.width,a.value=i.contentRect.height},n),ue(()=>At(e),i=>{s.value=i?t.width:0,a.value=i?t.height:0}),{width:s,height:a}}const Zs=["fullscreenchange","webkitfullscreenchange","webkitendfullscreen","mozfullscreenchange","MSFullscreenChange"];function Rl(e,t={}){const{document:n=xl,autoExit:o=!1}=t,r=k(()=>{var y;return(y=At(e))!=null?y:n==null?void 0:n.querySelector("html")}),l=Z(!1),s=k(()=>["requestFullscreen","webkitRequestFullscreen","webkitEnterFullscreen","webkitEnterFullScreen","webkitRequestFullScreen","mozRequestFullScreen","msRequestFullscreen"].find(y=>n&&y in n||r.value&&y in r.value)),a=k(()=>["exitFullscreen","webkitExitFullscreen","webkitExitFullScreen","webkitCancelFullScreen","mozCancelFullScreen","msExitFullscreen"].find(y=>n&&y in n||r.value&&y in r.value)),i=k(()=>["fullScreen","webkitIsFullScreen","webkitDisplayingFullscreen","mozFullScreen","msFullscreenElement"].find(y=>n&&y in n||r.value&&y in r.value)),c=["fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement"].find(y=>n&&y in n),u=vo(()=>r.value&&n&&s.value!==void 0&&a.value!==void 0&&i.value!==void 0),f=()=>c?(n==null?void 0:n[c])===r.value:!1,p=()=>{if(i.value){if(n&&n[i.value]!=null)return n[i.value];{const y=r.value;if((y==null?void 0:y[i.value])!=null)return!!y[i.value]}}return!1};async function v(){if(!(!u.value||!l.value)){if(a.value)if((n==null?void 0:n[a.value])!=null)await n[a.value]();else{const y=r.value;(y==null?void 0:y[a.value])!=null&&await y[a.value]()}l.value=!1}}async function g(){if(!u.value||l.value)return;p()&&await v();const y=r.value;s.value&&(y==null?void 0:y[s.value])!=null&&(await y[s.value](),l.value=!0)}async function E(){await(l.value?v():g())}const S=()=>{const y=p();(!y||y&&f())&&(l.value=y)};return Fe(n,Zs,S,!1),Fe(()=>At(r),Zs,S,!1),o&&ct(v),{isSupported:u,isFullscreen:l,enter:g,exit:v,toggle:E}}function wr(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Z1(e={}){const{controls:t=!1,interval:n="requestAnimationFrame"}=e,o=Z(new Date),r=()=>o.value=new Date,l=n==="requestAnimationFrame"?Gh(r,{immediate:!0}):Vh(r,n,{immediate:!0});return t?{now:o,...l}:o}function tm(e={}){const{window:t=Xe}=e;if(!t)return Z(["en"]);const n=t.navigator,o=Z(n.languages);return Fe(t,"languagechange",()=>{o.value=n.languages}),o}function e0(e,t=on,n={}){const{immediate:o=!0,manual:r=!1,type:l="text/javascript",async:s=!0,crossOrigin:a,referrerPolicy:i,noModule:c,defer:u,document:f=xl,attrs:p={}}=n,v=Z(null);let g=null;const E=T=>new Promise((_,w)=>{const F=P=>(v.value=P,_(P),P);if(!f){_(!1);return}let R=!1,$=f.querySelector(`script[src="${xe(e)}"]`);$?$.hasAttribute("data-loaded")&&F($):($=f.createElement("script"),$.type=l,$.async=s,$.src=xe(e),u&&($.defer=u),a&&($.crossOrigin=a),c&&($.noModule=c),i&&($.referrerPolicy=i),Object.entries(p).forEach(([P,V])=>$==null?void 0:$.setAttribute(P,V)),R=!0),$.addEventListener("error",P=>w(P)),$.addEventListener("abort",P=>w(P)),$.addEventListener("load",()=>{$.setAttribute("data-loaded","true"),t($),F($)}),R&&($=f.head.appendChild($)),T||F($)}),S=(T=!0)=>(g||(g=E(T)),g),y=()=>{if(!f)return;g=null,v.value&&(v.value=null);const T=f.querySelector(`script[src="${xe(e)}"]`);T&&f.head.removeChild(T)};return o&&!r&&Pl(S),r||Nh(y),{scriptTag:v,load:S,unload:y}}function cc(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}function Ol(e,t=!1){const n=Z(t);let o=null,r;ue(Dh(e),a=>{const i=wr(xe(a));if(i){const c=i;r=c.style.overflow,n.value&&(c.style.overflow="hidden")}},{immediate:!0});const l=()=>{const a=wr(xe(e));!a||n.value||(Ys&&(o=Fe(a,"touchmove",i=>{nm(i)},{passive:!1})),a.style.overflow="hidden",n.value=!0)},s=()=>{const a=wr(xe(e));!a||!n.value||(Ys&&(o==null||o()),a.style.overflow=r,n.value=!1)};return ct(s),k({get(){return n.value},set(a){a?l():s()}})}function om(e,t,n={}){const{window:o=Xe}=n;return ic(e,t,o==null?void 0:o.sessionStorage,n)}let rm=0;function lm(e,t={}){const n=Z(!1),{document:o=xl,immediate:r=!0,manual:l=!1,id:s=`vueuse_styletag_${++rm}`}=t,a=Z(e);let i=()=>{};const c=()=>{if(!o)return;const f=o.getElementById(s)||o.createElement("style");f.isConnected||(f.id=s,t.media&&(f.media=t.media),o.head.appendChild(f)),!n.value&&(i=ue(a,p=>{f.textContent=p},{immediate:!0}),n.value=!0)},u=()=>{!o||!n.value||(i(),o.head.removeChild(o.getElementById(s)),n.value=!1)};return r&&!l&&Pl(c),l||ct(u),{id:s,css:a,unload:u,load:c,isLoaded:Lt(n)}}function sm(e={}){const{window:t=Xe}=e;if(!t)return{x:Z(0),y:Z(0)};const n=Z(t.scrollX),o=Z(t.scrollY);return Fe(t,"scroll",()=>{n.value=t.scrollX,o.value=t.scrollY},{capture:!1,passive:!0}),{x:n,y:o}}function am(e={}){const{window:t=Xe,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:o=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:l=!0}=e,s=Z(n),a=Z(o),i=()=>{t&&(l?(s.value=t.innerWidth,a.value=t.innerHeight):(s.value=t.document.documentElement.clientWidth,a.value=t.document.documentElement.clientHeight))};if(i(),Pl(i),Fe("resize",i,{passive:!0}),r){const c=ac("(orientation: portrait)");ue(c,()=>i())}return{width:s,height:a}}const uc=({type:e="info",text:t="",vertical:n,color:o},{slots:r})=>{var l;return d("span",{class:["vp-badge",e,{diy:o}],style:{verticalAlign:n??!1,backgroundColor:o??!1}},((l=r.default)==null?void 0:l.call(r))||t)};uc.displayName="Badge";var im=U({name:"FontIcon",props:{icon:{type:String,default:""},color:{type:String,default:""},size:{type:[String,Number],default:""}},setup(e){const t=k(()=>{const o=["font-icon icon"],r=`iconfont icon-${e.icon}`;return o.push(r),o}),n=k(()=>{const o={};return e.color&&(o.color=e.color),e.size&&(o["font-size"]=Number.isNaN(Number(e.size))?e.size:`${e.size}px`),Mn(o).length?o:null});return()=>e.icon?d("span",{key:e.icon,class:t.value,style:n.value}):null}});const dc=()=>d(ye,{name:"back-to-top"},()=>[d("path",{d:"M512 843.2c-36.2 0-66.4-13.6-85.8-21.8-10.8-4.6-22.6 3.6-21.8 15.2l7 102c.4 6.2 7.6 9.4 12.6 5.6l29-22c3.6-2.8 9-1.8 11.4 2l41 64.2c3 4.8 10.2 4.8 13.2 0l41-64.2c2.4-3.8 7.8-4.8 11.4-2l29 22c5 3.8 12.2.6 12.6-5.6l7-102c.8-11.6-11-20-21.8-15.2-19.6 8.2-49.6 21.8-85.8 21.8z"}),d("path",{d:"m795.4 586.2-96-98.2C699.4 172 513 32 513 32S324.8 172 324.8 488l-96 98.2c-3.6 3.6-5.2 9-4.4 14.2L261.2 824c1.8 11.4 14.2 17 23.6 10.8L419 744s41.4 40 94.2 40c52.8 0 92.2-40 92.2-40l134.2 90.8c9.2 6.2 21.6.6 23.6-10.8l37-223.8c.4-5.2-1.2-10.4-4.8-14zM513 384c-34 0-61.4-28.6-61.4-64s27.6-64 61.4-64c34 0 61.4 28.6 61.4 64S547 384 513 384z"})]);dc.displayName="BackToTopIcon";var cm=U({name:"BackToTop",props:{threshold:{type:Number,default:100},noProgress:Boolean},setup(e){const t=Te(),n=Nn({"/zh/":{backToTop:"返回顶部"},"/en/":{backToTop:"Back to top"},"/":{backToTop:"Back to top"}}),o=ht(),{height:r}=em(o),{height:l}=am(),{y:s}=sm(),a=k(()=>t.value.backToTop!==!1&&s.value>e.threshold),i=k(()=>s.value/(r.value-l.value));return Ee(()=>{o.value=document.body}),()=>d(Ht,{name:"fade"},()=>a.value?d("button",{type:"button",class:"vp-back-to-top-button","aria-label":n.value.backToTop,"data-balloon-pos":"left",onClick:()=>{window.scrollTo({top:0,behavior:"smooth"})}},[e.noProgress?null:d("svg",{class:"vp-scroll-progress"},d("circle",{cx:"50%",cy:"50%",style:{"stroke-dasharray":`calc(${Math.PI*i.value*100}% - ${4*Math.PI}px) calc(${Math.PI*100}% - ${4*Math.PI}px)`}})),d(dc)]):null)}});const um=Ze({enhance:({app:e})=>{St("Badge")||e.component("Badge",uc),St("FontIcon")||e.component("FontIcon",im)},setup:()=>{lm(` @import url("https://at.alicdn.com/t/c/font_2410206_5vb9zlyghj.css"); + `)},rootComponents:[()=>d(cm,{})]});function dm(e,t,n){var o,r,l;t===void 0&&(t=50),n===void 0&&(n={});var s=(o=n.isImmediate)!=null&&o,a=(r=n.callback)!=null&&r,i=n.maxWait,c=Date.now(),u=[];function f(){if(i!==void 0){var v=Date.now()-c;if(v+t>=i)return i-v}return t}var p=function(){var v=[].slice.call(arguments),g=this;return new Promise(function(E,S){var y=s&&l===void 0;if(l!==void 0&&clearTimeout(l),l=setTimeout(function(){if(l=void 0,c=Date.now(),!s){var _=e.apply(g,v);a&&a(_),u.forEach(function(w){return(0,w.resolve)(_)}),u=[]}},f()),y){var T=e.apply(g,v);return a&&a(T),E(T)}u.push({resolve:E,reject:S})})};return p.cancel=function(v){l!==void 0&&clearTimeout(l),u.forEach(function(g){return(0,g.reject)(v)}),u=[]},p}const fm=({headerLinkSelector:e,headerAnchorSelector:t,delay:n,offset:o=5})=>{const r=Be(),s=dm(()=>{var E,S;const a=Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);if(Math.abs(a-0)p.some(T=>T.hash===y.hash));for(let y=0;y=(((E=T.parentElement)==null?void 0:E.offsetTop)??0)-o,F=!_||a<(((S=_.parentElement)==null?void 0:S.offsetTop)??0)-o;if(!(w&&F))continue;const $=decodeURIComponent(r.currentRoute.value.hash),P=decodeURIComponent(T.hash);if($===P)return;if(f){for(let V=y+1;V{window.addEventListener("scroll",s)}),pl(()=>{window.removeEventListener("scroll",s)})},ea=async(e,t)=>{const{scrollBehavior:n}=e.options;e.options.scrollBehavior=void 0,await e.replace({query:e.currentRoute.value.query,hash:t}).finally(()=>e.options.scrollBehavior=n)},pm=".vp-sidebar-link, .toc-link",hm=".header-anchor",mm=200,vm=5,gm=Ze({setup(){fm({headerLinkSelector:pm,headerAnchorSelector:hm,delay:mm,offset:vm})}});let fc=()=>null;const pc=Symbol(""),_m=e=>{fc=e},bm=()=>be(pc),ym=e=>{e.provide(pc,fc)};var Em=U({name:"AutoCatalog",props:{base:{type:String,default:""},level:{type:Number,default:3},index:Boolean,hideHeading:Boolean},setup(e){const t=bm(),n=Nn({"/zh/":{title:"目录",empty:"暂无目录"},"/en/":{title:"Catalog",empty:"No catalog"},"/":{title:"Catalog",empty:"No catalog"}}),o=fe(),r=Be(),l=Oi(),s=f=>f?d(t,{icon:f}):null,a=({title:f,path:p,icon:v,class:g})=>d(Ct,{class:g,to:p},()=>[s(v),f||p]),i=f=>{const p=f.I;return typeof p>"u"||p},c=()=>{const f=e.base||o.value.path.replace(/\/[^/]+$/,"/"),p=r.getRoutes(),v=[];return p.filter(({meta:g,path:E})=>{if(!io(E,f)||E===f)return!1;if(f==="/"){const S=Mn(l.value.locales).filter(y=>y!=="/");if(E==="/404.html"||S.some(y=>io(E,y)))return!1}return(dn(E,".html")&&!dn(E,"/index.html")||dn(E,"/"))&&i(g)}).map(({path:g,meta:E})=>{const S=g.substring(f.length).split("/").length;return{title:E.t||"",icon:E.i||null,base:g.replace(/\/[^/]+\/?$/,"/"),order:E.O||null,level:dn(g,"/")?S-1:S,path:g}}).filter(({title:g,level:E})=>g&&E<=e.level).sort(({title:g,level:E,path:S,order:y},{title:T,level:_,path:w,order:F})=>E-_||(dn(S,"/index.html")?-1:dn(w,"/index.html")?1:y===null?F===null?g.localeCompare(T):F:F===null?y:y>0?F>0?y-F:-1:F<0?y-F:1)).forEach(g=>{var y;const{base:E,level:S}=g;switch(S){case 1:v.push(g);break;case 2:{const T=v.find(_=>_.path===E);T&&(T.children??(T.children=[])).push(g);break}default:{const T=v.find(_=>_.path===E.replace(/\/[^/]+\/$/,"/"));if(T){const _=(y=T.children)==null?void 0:y.find(w=>w.path===E);_&&(_.children??(_.children=[])).push(g)}}}}),v},u=k(()=>c());return()=>{const f=u.value.some(v=>v.children),p=u.value.map(({children:v=[],icon:g,path:E,title:S})=>{const y=a({title:S,path:E,icon:g,class:"vp-catalog-title"});return f?[d("h3",{id:S,class:["vp-catalog-child-title",{"has-children":v.length}]},[d("a",{href:`#${S}`,class:"header-anchor","aria-hidden":!0},"#"),y]),v.length?d(e.index?"ol":"ul",{class:"vp-child-catalogs"},v.map(({children:T=[],icon:_,path:w,title:F})=>d("li",{class:"vp-child-catalog"},[d("div",{class:["vp-catalog-sub-title",{"has-children":T.length}]},[d("a",{href:`#${F}`,class:"header-anchor"},"#"),d(a,{title:F,path:w,icon:_,class:"vp-catalog-title"})]),T.length?d(e.index?"ol":"div",{class:e.index?"vp-sub-catalogs":"vp-sub-catalogs-wrapper"},T.map(({icon:R,path:$,title:P})=>{const V=d(a,{title:P,path:$,icon:R,class:""});return e.index?d("li",{class:"vp-sub-catalog"},V):d(a,{title:P,path:$,icon:R,class:"vp-sub-catalog-link"})})):null]))):null]:d("div",{class:"vp-catalog-child-title"},y)});return d("div",{class:["vp-catalog-wrapper",{index:e.index}]},[e.hideHeading?null:d("h2",{class:"vp-catalog-main-title"},n.value.title),u.value.length?e.index?d("ol",{class:"vp-catalogs"},p.map(v=>d("li",{class:"vp-catalog"},v))):p:d("p",{class:"vp-empty-catalog"},n.value.empty)])}}}),wm=Ze({enhance:({app:e})=>{ym(e),St("AutoCatalog",e)||e.component("AutoCatalog",Em)}});const Sm=d("svg",{class:"external-link-icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},[d("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"}),d("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"})]),hc=U({name:"ExternalLinkIcon",props:{locales:{type:Object,required:!1,default:()=>({})}},setup(e){const t=Gt(),n=k(()=>e.locales[t.value]??{openInNewWindow:"open in new window"});return()=>d("span",[Sm,d("span",{class:"external-link-icon-sr-only"},n.value.openInNewWindow)])}}),Am={},Tm=Ze({enhance({app:e}){e.component("ExternalLinkIcon",d(hc,{locales:Am}))}});/** + * NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT + */const ae={settings:{minimum:.08,easing:"ease",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,barSelector:'[role="bar"]',parent:"body",template:'
    '},status:null,set:e=>{const t=ae.isStarted();e=Sr(e,ae.settings.minimum,1),ae.status=e===1?null:e;const n=ae.render(!t),o=n.querySelector(ae.settings.barSelector),r=ae.settings.speed,l=ae.settings.easing;return n.offsetWidth,Lm(s=>{Ro(o,{transform:"translate3d("+ta(e)+"%,0,0)",transition:"all "+r+"ms "+l}),e===1?(Ro(n,{transition:"none",opacity:"1"}),n.offsetWidth,setTimeout(function(){Ro(n,{transition:"all "+r+"ms linear",opacity:"0"}),setTimeout(function(){ae.remove(),s()},r)},r)):setTimeout(()=>s(),r)}),ae},isStarted:()=>typeof ae.status=="number",start:()=>{ae.status||ae.set(0);const e=()=>{setTimeout(()=>{ae.status&&(ae.trickle(),e())},ae.settings.trickleSpeed)};return ae.settings.trickle&&e(),ae},done:e=>!e&&!ae.status?ae:ae.inc(.3+.5*Math.random()).set(1),inc:e=>{let t=ae.status;return t?(typeof e!="number"&&(e=(1-t)*Sr(Math.random()*t,.1,.95)),t=Sr(t+e,0,.994),ae.set(t)):ae.start()},trickle:()=>ae.inc(Math.random()*ae.settings.trickleRate),render:e=>{if(ae.isRendered())return document.getElementById("nprogress");na(document.documentElement,"nprogress-busy");const t=document.createElement("div");t.id="nprogress",t.innerHTML=ae.settings.template;const n=t.querySelector(ae.settings.barSelector),o=e?"-100":ta(ae.status||0),r=document.querySelector(ae.settings.parent);return Ro(n,{transition:"all 0 linear",transform:"translate3d("+o+"%,0,0)"}),r!==document.body&&na(r,"nprogress-custom-parent"),r==null||r.appendChild(t),t},remove:()=>{oa(document.documentElement,"nprogress-busy"),oa(document.querySelector(ae.settings.parent),"nprogress-custom-parent");const e=document.getElementById("nprogress");e&&km(e)},isRendered:()=>!!document.getElementById("nprogress")},Sr=(e,t,n)=>en?n:e,ta=e=>(-1+e)*100,Lm=function(){const e=[];function t(){const n=e.shift();n&&n(t)}return function(n){e.push(n),e.length===1&&t()}}(),Ro=function(){const e=["Webkit","O","Moz","ms"],t={};function n(s){return s.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,i){return i.toUpperCase()})}function o(s){const a=document.body.style;if(s in a)return s;let i=e.length;const c=s.charAt(0).toUpperCase()+s.slice(1);let u;for(;i--;)if(u=e[i]+c,u in a)return u;return s}function r(s){return s=n(s),t[s]??(t[s]=o(s))}function l(s,a,i){a=r(a),s.style[a]=i}return function(s,a){for(const i in a){const c=a[i];c!==void 0&&Object.prototype.hasOwnProperty.call(a,i)&&l(s,i,c)}}}(),mc=(e,t)=>(typeof e=="string"?e:Il(e)).indexOf(" "+t+" ")>=0,na=(e,t)=>{const n=Il(e),o=n+t;mc(n,t)||(e.className=o.substring(1))},oa=(e,t)=>{const n=Il(e);if(!mc(e,t))return;const o=n.replace(" "+t+" "," ");e.className=o.substring(1,o.length-1)},Il=e=>(" "+(e.className||"")+" ").replace(/\s+/gi," "),km=e=>{e&&e.parentNode&&e.parentNode.removeChild(e)};const Cm=()=>{Ee(()=>{const e=Be(),t=new Set;t.add(e.currentRoute.value.path),e.beforeEach(n=>{t.has(n.path)||ae.start()}),e.afterEach(n=>{t.add(n.path),ae.done()})})},Pm=Ze({setup(){Cm()}}),xm=JSON.parse(`{"encrypt":{},"author":{"name":"SteamTools Guide","url":"https://github.com/SteamTools-Guide"},"logo":"/logo/Steam++ico.svg","repo":"XTsat/SteamTools-Guide","docsRepo":"XTsat/SteamTools-Guide","docsBranch":"vp-hope","docsDir":"docs","pageInfo":["Author","Original","Date","Category","Tag","ReadingTime"],"locales":{"/zh/":{"lang":"zh-CN","navbarLocales":{"langName":"简体中文","selectLangAriaLabel":"选择语言"},"metaLocales":{"author":"作者","date":"写作日期","origin":"原创","views":"访问量","category":"分类","tag":"标签","readingTime":"阅读时间","words":"字数","toc":"此页内容","prev":"上一页","next":"下一页","lastUpdated":"上次编辑于","contributors":"贡献者","editLink":"编辑此页","print":"打印"},"outlookLocales":{"themeColor":"主题色","darkmode":"外观","fullscreen":"全屏"},"routeLocales":{"skipToContent":"跳至主要內容","notFoundTitle":"页面不存在","notFoundMsg":["这里什么也没有","我们是怎么来到这儿的?","这 是 四 零 四 !","看起来你访问了一个失效的链接"],"back":"返回上一页","home":"带我回家","openInNewWindow":"Open in new window"},"navbar":["/zh/",{"text":"Watt Toolkit 指南","link":"/zh/document/"},{"text":"深入","link":"/zh/development/文档开发"},{"text":"下载","link":"/zh/document/Start/Download channel"},{"text":"联系作者","link":"/zh/document/Start/communication"},{"text":"关于我","link":"/zh/关于我"}],"sidebar":{"/zh/":[{"text":"开始使用 🛠️","collapsible":false,"children":["/zh/document/Start/Download channel","/zh/document/Start/Functions","/zh/document/Start/Supported Operating Systems"]},{"text":"功能指南 📝","link":"/zh/document/Functions/Network Acceleration/info.md"},{"text":"常见问题 ❓","collapsible":false,"children":["/zh/document/FAQ/FAQ","/zh/document/FAQ/网络","/zh/document/FAQ/GPU"]}],"/zh/document/Functions/":[{"text":"回到指南","link":"/zh/document/"},{"text":"网络加速","collapsible":false,"children":["/zh/document/Functions/Network Acceleration/info"]},{"text":"脚本配置","collapsible":false,"children":["/zh/document/Functions/Userscript/info"]},{"text":"账号切换","collapsible":false,"children":["/zh/document/Functions/Account Switch/info"]},{"text":"库存游戏","collapsible":false,"children":["/zh/document/Functions/Library/info"]},{"text":"本地令牌","collapsible":false,"children":["/zh/document/Functions/Steam Guard/info",{"text":"导入令牌","children":["/zh/document/Functions/Steam Guard/import/2FA令牌","/zh/document/Functions/Steam Guard/import/android令牌","/zh/document/Functions/Steam Guard/import/ios令牌","/zh/document/Functions/Steam Guard/import/登录令牌","/zh/document/Functions/Steam Guard/import/Steam++令牌","/zh/document/Functions/Steam Guard/import/参考"]}]},{"text":"自动挂卡","collapsible":false,"children":["/zh/document/Functions/ASF/ASF","/zh/document/Functions/ASF/使用ASF","/zh/document/Functions/ASF/2FA","/zh/document/Functions/ASF/常用指令"]},{"text":"游戏工具","collapsible":false,"children":["/zh/document/Functions/Game tools/info"]}],"/zh/development/":[{"text":"回到指南","link":"/zh/document/"},{"text":"参与开发","collapsible":false,"children":["/zh/development/文档开发","/zh/development/项目结构","/zh/development/开发环境"]},{"text":"开发日志","collapsible":false,"children":["/zh/development/更新日志","/zh/development/文件校验"]}]},"footer":"「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。","displayFooter":true},"/en/":{"lang":"en-US","navbarLocales":{"langName":"English","selectLangAriaLabel":"Select language"},"metaLocales":{"author":"Author","date":"Writing Date","origin":"Original","views":"Page views","category":"Category","tag":"Tag","readingTime":"Reading Time","words":"Words","toc":"On This Page","prev":"Prev","next":"Next","lastUpdated":"Last update","contributors":"Contributors","editLink":"Edit this page","print":"Print"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"},"navbar":["/en/",{"text":"Watt Toolkit Guide","link":"/en/document/"},{"text":"development","link":"/en/development/文档开发"},{"text":"Download","link":"/en/document/Start/Download channel"},{"text":"Contac Author","link":"/en/document/Start/communication"},{"text":"About me","link":"/en/关于我"}],"sidebar":{"/en/":[{"text":"Start","collapsible":true,"children":["/en/document/Start/Download channel","/en/document/Start/Functions","/en/document/Start/Supported Operating Systems"]},{"text":"Local Authentication","collapsible":true,"children":["/en/document/Steam Guard/2FA to import Guard","/en/document/Steam Guard/Android to import Guard","/en/document/Steam Guard/Apple to import Guard","/en/document/Steam Guard/Login to import Guard","/en/document/Steam Guard/Steam++ to import Guard","/en/document/Steam Guard/Reference documents"]},{"text":"ArchiSteamFarm","collapsible":true,"children":["/en/document/ASF/How to use ASF"]},{"text":"FAQ","collapsible":true,"children":["/en/document/FAQ/FAQ","/en/document/FAQ/Network problems"]}]},"footer":"\\"Watt Toolkit\\" is an open source cross-platform multi-purpose game toolkit","displayFooter":true},"/":{"lang":"en-US","navbarLocales":{"langName":"English","selectLangAriaLabel":"Select language"},"metaLocales":{"author":"Author","date":"Writing Date","origin":"Original","views":"Page views","category":"Category","tag":"Tag","readingTime":"Reading Time","words":"Words","toc":"On This Page","prev":"Prev","next":"Next","lastUpdated":"Last update","contributors":"Contributors","editLink":"Edit this page","print":"Print"},"outlookLocales":{"themeColor":"Theme Color","darkmode":"Theme Mode","fullscreen":"Full Screen"},"routeLocales":{"skipToContent":"Skip to main content","notFoundTitle":"Page not found","notFoundMsg":["There’s nothing here.","How did we get here?","That’s a Four-Oh-Four.","Looks like we've got some broken links."],"back":"Go back","home":"Take me home","openInNewWindow":"Open in new window"}}}}`),Rm=Z(xm),vc=()=>Rm,gc=Symbol(""),Om=()=>{const e=be(gc);if(!e)throw new Error("useThemeLocaleData() is called without provider.");return e},Im=(e,t)=>{const{locales:n,...o}=e;return{...o,...n==null?void 0:n[t]}},Fm=Ze({enhance({app:e}){const t=vc(),n=e._context.provides[wl],o=k(()=>Im(t.value,n.value));e.provide(gc,o),Object.defineProperties(e.config.globalProperties,{$theme:{get(){return t.value}},$themeLocale:{get(){return o.value}}})}}),Dm={"Content-Type":"application/json"},$m=({serverURL:e,lang:t,paths:n,signal:o})=>(({serverURL:r,lang:l,paths:s,type:a,signal:i})=>fetch(`${r}/article?path=${encodeURIComponent(s.join(","))}&type=${encodeURIComponent(a.join(","))}&lang=${l}`,{signal:i}).then(c=>c.json()))({serverURL:e,lang:t,paths:n,type:["time"],signal:o}).then(r=>Array.isArray(r)?r:[r]),zm=e=>(({serverURL:t,lang:n,path:o,type:r,action:l})=>fetch(`${t}/article?lang=${n}`,{method:"POST",headers:Dm,body:JSON.stringify({path:o,type:r,action:l})}).then(s=>s.json()))({...e,type:"time",action:"inc"}),ra=e=>{const t=((n="")=>n.replace(/\/$/u,""))(e);return/^(https?:)?\/\//.test(t)?t:`https://${t}`},Mm=e=>{e.name!=="AbortError"&&console.error(e.message)},la=e=>e.dataset.path||e.getAttribute("id"),sa=(e,t)=>{t.forEach((n,o)=>{n.innerText=e[o].toString()})},Nm=({serverURL:e,path:t=window.location.pathname,selector:n=".waline-pageview-count",update:o=!0,lang:r=navigator.language})=>{const l=new AbortController,s=Array.from(document.querySelectorAll(n)),a=c=>{const u=la(c);return u!==null&&t!==u},i=c=>$m({serverURL:ra(e),paths:c.map(u=>la(u)||t),lang:r,signal:l.signal}).then(u=>sa(u,c)).catch(Mm);if(o){const c=s.filter(f=>!a(f)),u=s.filter(a);zm({serverURL:ra(e),path:t,lang:r}).then(f=>sa(new Array(c.length).fill(f),c)),u.length&&i(u)}else i(s);return l.abort.bind(l)};const Vm={provider:"Waline",dark:'html[data-theme="dark"]',serverURL:"https://document-waline.vercel.app/",emoji:["//unpkg.com/@waline/emojis@1.1.0/weibo","//unpkg.com/@waline/emojis@1.1.0/bilibili","//unpkg.com/@waline/emojis@1.1.0/bmoji","//unpkg.com/@waline/emojis@1.1.0/qq","//unpkg.com/@waline/emojis@1.1.0/tieba"],requiredMeta:["mail"],reaction:!1};let Bm=Vm;const _c=Symbol(""),bc=()=>be(_c),Hm=bc,jm=e=>{e.provide(_c,Bm)},Gm={"/zh/":{placeholder:"请留言。(填写邮箱可在被回复时收到邮件提醒)"},"/en/":{placeholder:"Write a comment here (Fill in the email address to receive an email notification when being replied)"},"/":{placeholder:"Write a comment here (Fill in the email address to receive an email notification when being replied)"}};A(()=>import("./waline-meta-56fbc549.js"),[]);var Um=U({name:"WalineComment",props:{identifier:{type:String,required:!0}},setup(e){const t=Hm(),n=Te(),o=El(),r=Nn(Gm);let l;const s=!!t.serverURL,a=k(()=>{if(!s)return!1;const c=t.pageview!==!1,u=n.value.pageview;return!!u||c!==!1&&u!==!1}),i=k(()=>({lang:o.value==="zh-CN"?"zh-CN":"en",locale:r.value,dark:"html.dark",...t,path:e.identifier}));return Ee(()=>{ue(()=>e.identifier,()=>{l==null||l(),a.value&&rn().then(()=>{setTimeout(()=>{l=Nm({serverURL:t.serverURL,path:e.identifier})},t.delay||800)})},{immediate:!0})}),()=>s?d("div",{id:"comment",class:"waline-wrapper"},d(j({loader:async()=>(await A(()=>import("./component-e123f4b4.js"),[])).Waline,loadingComponent:Wi}),i.value)):null}}),Wm=U({name:"CommentService",props:{darkmode:Boolean},setup(e){const t=bc(),n=fe(),o=Te(),r=t.comment!==!1,l=k(()=>o.value.comment||r&&o.value.comment!==!1);return()=>d(Um,{identifier:o.value.commentID||n.value.path,darkmode:e.darkmode,style:{display:l.value?"block":"none"}})}}),qm=Ze({enhance:({app:e})=>{jm(e),e.component("CommentService",Wm)}});const Km=800,Qm=2e3,Ym={"/zh/":{copy:"复制代码",copied:"已复制",hint:"复制成功"},"/en/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"},"/":{copy:"Copy code",copied:"Copied",hint:"Copied successfully"}},Jm=!1,Xm=['.theme-hope-content div[class*="language-"] pre'],aa=!1,Ar=new Map,Zm=()=>{const{copy:e}=Uh({legacy:!0}),t=Nn(Ym),n=fe(),o=Ch(),r=a=>{if(!a.hasAttribute("copy-code-registered")){const i=document.createElement("button");i.type="button",i.classList.add("copy-code-button"),i.innerHTML='
    ',i.setAttribute("aria-label",t.value.copy),i.setAttribute("data-copied",t.value.copied),a.parentElement&&a.parentElement.insertBefore(i,a),a.setAttribute("copy-code-registered","")}},l=()=>rn().then(()=>new Promise(a=>{setTimeout(()=>{Xm.forEach(i=>{document.querySelectorAll(i).forEach(r)}),a()},Km)})),s=(a,i,c)=>{let{innerText:u=""}=i;/language-(shellscript|shell|bash|sh|zsh)/.test(a.classList.toString())&&(u=u.replace(/^ *(\$|>) /gm,"")),e(u).then(()=>{c.classList.add("copied"),clearTimeout(Ar.get(c));const f=setTimeout(()=>{c.classList.remove("copied"),c.blur(),Ar.delete(c)},Qm);Ar.set(c,f)})};Ee(()=>{(!o.value||aa)&&l(),Fe("click",a=>{const i=a.target;if(i.matches('div[class*="language-"] > button.copy')){const c=i.parentElement,u=i.nextElementSibling;u&&s(c,u,i)}else if(i.matches('div[class*="language-"] div.copy-icon')){const c=i.parentElement,u=c.parentElement,f=c.nextElementSibling;f&&s(u,f,c)}}),ue(()=>n.value.path,()=>{(!o.value||aa)&&l()})})};var ev=Ze({setup:()=>{Zm()}});const tv=Ze({enhance:({app:e})=>{},setup:()=>{}});let nv={};const yc=Symbol(""),ov=()=>be(yc),rv=e=>{e.provide(yc,nv)};const lv=".theme-hope-content :not(a) > img:not([no-view])",sv={"/zh/":{closeTitle:"关闭",downloadTitle:"下载图片",fullscreenTitle:"切换全屏",zoomTitle:"缩放",arrowPrevTitle:"上一个 (左箭头)",arrowNextTitle:"下一个 (右箭头)"},"/en/":{closeTitle:"Close",downloadTitle:"Download Image",fullscreenTitle:"Switch to full screen",zoomTitle:"Zoom in/out",arrowPrevTitle:"Prev (Arrow Left)",arrowNextTitle:"Next (Arrow Right)"},"/":{closeTitle:"Close",downloadTitle:"Download Image",fullscreenTitle:"Switch to full screen",zoomTitle:"Zoom in/out",arrowPrevTitle:"Prev (Arrow Left)",arrowNextTitle:"Next (Arrow Right)"}},av=800,iv='
    ',cv=e=>ce(e)?Array.from(document.querySelectorAll(e)):e.map(t=>Array.from(document.querySelectorAll(t))).flat(),Ec=e=>new Promise((t,n)=>{e.complete?t({type:"image",element:e,src:e.src,width:e.naturalWidth,height:e.naturalHeight,alt:e.alt,msrc:e.src}):(e.onload=()=>t(Ec(e)),e.onerror=o=>n(o))}),uv=()=>{const{isSupported:e,toggle:t}=Rl(),n=ov(),o=Nn(sv),r=fe();let l;const s=i=>{i.on("uiRegister",()=>{e&&i.ui.registerElement({name:"fullscreen",order:7,isButton:!0,html:'',onClick:()=>{t()}}),i.ui.registerElement({name:"download",order:8,isButton:!0,tagName:"a",html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-download"},onInit:(c,u)=>{c.setAttribute("download",""),c.setAttribute("target","_blank"),c.setAttribute("rel","noopener"),u.on("change",()=>{c.setAttribute("href",u.currSlide.data.src)})}}),i.ui.registerElement({name:"bulletsIndicator",className:"photo-swipe-bullets-indicator",appendTo:"wrapper",onInit:(c,u)=>{const f=[];let p=-1;for(let v=0;v{u.goTo(f.indexOf(E.target))},f.push(g),c.appendChild(g)}u.on("change",()=>{p>=0&&f[p].classList.remove("active"),f[u.currIndex].classList.add("active"),p=u.currIndex})}})})},a=()=>Promise.all([A(()=>import("./photoswipe.esm-1464cdb9.js"),[]),rn().then(()=>new Promise(i=>setTimeout(i,av)).then(()=>cv(lv)))]).then(([{default:i},c])=>{const u=c.map(f=>({html:iv,element:f,msrc:f.src}));c.forEach((f,p)=>{const v=()=>{l=new i({preloaderDelay:0,showHideAnimationType:"zoom",...o.value,...n,dataSource:u,index:p,closeOnVerticalDrag:!0,wheelToZoom:!1}),s(l),l.addFilter("thumbEl",()=>f),l.addFilter("placeholderSrc",()=>f.src),l.init()};f.style.cursor="zoom-in",f.addEventListener("click",()=>{v()}),f.addEventListener("keypress",({key:g})=>{g==="Enter"&&v()})}),c.forEach((f,p)=>{Ec(f).then(v=>{u.splice(p,1,v),l==null||l.refreshSlideContent(p)})})});Ee(()=>{Fe("wheel",()=>{l==null||l.close()}),ue(()=>r.value.path,a,{immediate:!0})})};var dv=Ze({enhance:({app:e})=>{rv(e)},setup:()=>{uv()}});const wc=()=>{const e=fe();return k(()=>e.value.readingTime??null)},jr=typeof{"/zh/":{word:"约 $word 字",less1Minute:"小于 1 分钟",time:"大约 $time 分钟"},"/en/":{word:"About $word words",less1Minute:"Less than 1 minute",time:"About $time min"},"/":{word:"About $word words",less1Minute:"Less than 1 minute",time:"About $time min"}}>"u"?null:{"/zh/":{word:"约 $word 字",less1Minute:"小于 1 分钟",time:"大约 $time 分钟"},"/en/":{word:"About $word words",less1Minute:"Less than 1 minute",time:"About $time min"},"/":{word:"About $word words",less1Minute:"Less than 1 minute",time:"About $time min"}},fv=(e,t)=>{const{minutes:n,words:o}=e,{less1Minute:r,word:l,time:s}=t;return{time:n<1?r:s.replace("$time",Math.round(n).toString()),words:l.replace("$word",o.toString())}},ia={words:"",time:""},pv=()=>jr?Nn(jr):k(()=>null),hv=()=>{if(typeof jr>"u")return k(()=>ia);const e=wc(),t=pv();return k(()=>e.value&&t.value?fv(e.value,t.value):ia)},Vn=()=>vc(),ve=()=>Om(),ir=()=>k(()=>!!Vn().value.pure);var ca=U({name:"EmptyComponent",setup:()=>()=>null});const mv="719px",vv="1440px",gv="false",Fl={mobileBreakPoint:mv,pcBreakPoint:vv,enableThemeColor:gv},Dl={"/":[]},Sc=e=>{const{icon:t="",color:n,size:o}=e,r={};return n&&(r.color=n),o&&(r.height=Number.isNaN(Number(o))?o:`${o}px`),zn(t)?d("img",{class:"icon",src:t,"no-view":"",style:r}):Ll(t)?d("img",{class:"icon",src:ze(t),"no-view":"",style:r}):d(at("FontIcon"),e)};Sc.displayName="HopeIcon";var Ve=Sc,Et=(e=>(e.type="y",e.title="t",e.shortTitle="s",e.icon="i",e.author="a",e.date="d",e.localizedDate="l",e.category="c",e.tag="g",e.isEncrypted="n",e.isOriginal="o",e.readingTime="r",e.excerpt="e",e.sticky="u",e.cover="v",e.index="I",e.order="O",e))(Et||{}),_v=(e=>(e.article="a",e.home="h",e.slide="s",e.page="p",e))(_v||{});const yn=(e,t,n=!1)=>{let o=qo(e,Ji(encodeURI(t)));o.name==="404"&&(o=qo(e,t));const{fullPath:r,meta:l,name:s}=o;return{text:!n&&l[Et.shortTitle]?l[Et.shortTitle]:l[Et.title]||t,link:s==="404"?t:r,...l[Et.icon]?{icon:l[Et.icon]}:{}}},bv=()=>{const e=Be(),t=et();return n=>{if(n)if(Ll(n))t.path!==n&&e.push(n);else if(zn(n)||Ai(n))window&&window.open(n);else{const o=t.path.slice(0,t.path.lastIndexOf("/"));e.push(`${o}/${encodeURI(n)}`)}}},Ac=()=>{const e=ve(),t=Te();return k(()=>{const{author:n}=t.value;return n?qs(n):n===!1?[]:qs(e.value.author,!1)})},yv=()=>{const e=Te();return k(()=>wh(e.value.category).map(t=>({name:t,path:""})))},Ev=()=>{const e=Te();return k(()=>Sh(e.value.tag).map(t=>({name:t,path:""})))},wv=()=>{const e=Te(),t=fe();return k(()=>{const n=fh(e.value.date);if(n)return n;const{createdTime:o}=t.value.git||{};return o?new Date(o):null})},Sv=()=>{const e=ve(),t=fe(),n=Te(),o=Ac(),r=yv(),l=Ev(),s=wv(),a=wc(),i=hv(),c=k(()=>({author:o.value,category:r.value,date:s.value,localizedDate:t.value.localizedDate,tag:l.value,isOriginal:n.value.isOriginal||!1,readingTime:a.value,readingTimeLocale:i.value,pageview:"pageview"in n.value?n.value.pageview:!0})),u=k(()=>"pageInfo"in n.value?n.value.pageInfo:"pageInfo"in e.value?e.value.pageInfo:null);return{info:c,items:u}},{mobileBreakPoint:Av,pcBreakPoint:Tv}=Fl,ua=e=>e.endsWith("px")?Number(e.slice(0,-2)):null,cr=()=>{const e=Z(!1),t=Z(!1),n=()=>{e.value=window.innerWidth<=(ua(Av)??719),t.value=window.innerWidth>=(ua(Tv)??1440)};return Ee(()=>{n(),Fe("resize",n,!1),Fe("orientationchange",n,!1)}),{isMobile:e,isPC:t}},Tc=Symbol(""),go=()=>{const e=be(Tc);if(!e)throw new Error("useDarkmode() is called without provider.");return e},Lv=e=>{const t=Vn(),n=Jh(),o=ic("vuepress-theme-hope-scheme","auto"),r=k(()=>t.value.darkmode||"switch"),l=k(()=>{const a=r.value;return a==="disable"?!1:a==="enable"?!0:a==="auto"?n.value:a==="toggle"?o.value==="dark":o.value==="dark"||o.value==="auto"&&n.value}),s=k(()=>{const a=r.value;return a==="switch"||a==="toggle"});e.provide(Tc,{canToggle:s,config:r,isDarkmode:l,status:o}),Object.defineProperties(e.config.globalProperties,{$isDarkmode:{get:()=>l.value}})},kv=()=>{const{isDarkmode:e}=go(),t=(n=e.value)=>document.documentElement.setAttribute("data-theme",n?"dark":"light");Ee(()=>{ue(e,t,{immediate:!0})})};var Me=U({name:"AutoLink",inheritAttrs:!1,props:{config:{type:Object,required:!0},exact:Boolean,noExternalLinkIcon:Boolean},emits:["focusout"],slots:Object,setup(e,{attrs:t,emit:n,slots:o}){const r=et(),l=Oi(),s=Yo(e,"config"),a=k(()=>zn(s.value.link)),i=k(()=>Ai(s.value.link)||Xf(s.value.link)),c=k(()=>i.value?void 0:s.value.target||(a.value?"_blank":void 0)),u=k(()=>c.value==="_blank"),f=k(()=>!a.value&&!i.value&&!u.value),p=k(()=>i.value?void 0:s.value.rel||(u.value?"noopener noreferrer":void 0)),v=k(()=>s.value.ariaLabel||s.value.text),g=k(()=>{if(e.exact)return!1;const S=Mn(l.value.locales);return S.length?S.every(y=>y!==s.value.link):s.value.link!=="/"}),E=k(()=>f.value?s.value.activeMatch?new RegExp(s.value.activeMatch).test(r.path):g.value?io(r.path,s.value.link):r.path===s.value.link:!1);return()=>{const{before:S,after:y,default:T}=o,{text:_,icon:w,link:F}=s.value;return f.value?d(Ct,{to:F,"aria-label":v.value,...t,class:["nav-link",{active:E.value},t.class],onFocusout:()=>n("focusout")},()=>T?T():[S?S():d(Ve,{icon:w}),_,y==null?void 0:y()]):d("a",{href:F,rel:p.value,target:c.value,"aria-label":v.value,...t,class:["nav-link",t.class],onFocusout:()=>n("focusout")},T?T():[S?S():d(Ve,{icon:w}),_,e.noExternalLinkIcon?null:d(hc),y==null?void 0:y()])}}});const Rn=(e,t,n=!1)=>"activeMatch"in t?new RegExp(t.activeMatch).test(e.path):kl(e,t.link)?!0:t.children&&!n?t.children.some(o=>Rn(e,o)):!1,Lc=(e,t)=>t.type==="group"?t.children.some(n=>n.type==="group"?Lc(e,n):n.type==="page"&&Rn(e,n,!0))||"prefix"in t&&kl(e,t.prefix):!1,kc=(e,t)=>ce(e.link)?d(Me,{...t,config:e}):d("p",t,[d(Ve,{icon:e.icon}),e.text]),Cc=e=>{const t=et();return e?d("ul",{class:"vp-sidebar-sub-headers"},e.map(n=>{const o=Rn(t,n,!0);return d("li",{class:"vp-sidebar-sub-header"},[kc(n,{class:["vp-sidebar-link","vp-heading",{active:o}]}),Cc(n.children)])})):null},Tr=(e="",t="")=>Ll(t)?t:`${Qf(e)}${t}`,Cv=(e,t)=>{const n=fe();return{type:"heading",text:e.title,link:`${n.value.path}#${e.slug}`,children:$l(e.children,t)}},$l=(e,t)=>t>0?e.map(n=>Cv(n,t-1)):[],Pc=e=>{const t=fe();return $l(t.value.headers,e)},Gr=(e,t,n="")=>{const o=Be(),r=fe(),l=(s,a=n)=>{var c;const i=ce(s)?yn(o,Tr(a,s)):s.link?{...s,...Uo(s.link)?{}:{link:yn(o,Tr(a,s.link)).link}}:s;if("children"in i){const u=Tr(a,i.prefix),f=i.children==="structure"?Dl[u]:i.children;return{type:"group",...i,prefix:u,children:f.map(p=>l(p,u))}}return{type:"page",...i,children:i.link===r.value.path?$l(((c=r.value.headers[0])==null?void 0:c.level)===1?r.value.headers[0].children:r.value.headers,t):[]}};return e.map(s=>l(s))},Pv=(e,t)=>{const n=fe(),o=Mn(e).sort((r,l)=>l.length-r.length);for(const r of o)if(io(decodeURI(n.value.path),r)){const l=e[r];return l?Gr(l==="structure"?Dl[r]:l==="heading"?Pc(t):l,t,r):[]}return console.warn(`${n.value.path} is missing sidebar config.`),[]},xv=(e,t)=>{const n=Gt();return e===!1?[]:e==="heading"?Pc(t):e==="structure"?Gr(Dl[n.value],t,n.value):q(e)?Gr(e,t):bl(e)?Pv(e,t):[]},xc=Symbol(""),Rv=()=>{const e=Te(),t=ve(),n=fe(),o=k(()=>e.value.home?!1:e.value.sidebar??t.value.sidebar??"structure"),r=k(()=>e.value.headerDepth??t.value.headerDepth??2),l=ar(()=>[o.value,r.value,n.value.path,null],()=>xv(o.value,r.value));bn(xc,l)},zl=()=>{const e=be(xc);if(!e)throw new Error("useSidebarItems() is called without provider.");return e};var Ov=U({name:"PageFooter",setup(){const e=Te(),t=ve(),n=Ac(),o=k(()=>{const{copyright:s,footer:a}=e.value;return a!==!1&&!!(s||a||t.value.displayFooter)}),r=k(()=>{const{footer:s}=e.value;return s===!1?!1:ce(s)?s:t.value.footer||""}),l=k(()=>"copyright"in e.value?e.value.copyright:"copyright"in t.value?t.value.copyright:n.value.length?`Copyright © ${new Date().getFullYear()} ${n.value[0].name}`:!1);return()=>o.value?d("footer",{class:"vp-footer-wrapper"},[r.value?d("div",{class:"vp-footer",innerHTML:r.value}):null,l.value?d("div",{class:"vp-copyright",innerHTML:l.value}):null]):null}}),Rc=U({name:"NavbarDropdownLink",props:{config:{type:Object,required:!0}},slots:Object,setup(e,{slots:t}){const n=fe(),o=Yo(e,"config"),r=k(()=>o.value.ariaLabel||o.value.text),l=Z(!1);ue(()=>n.value.path,()=>{l.value=!1});const s=a=>{a.detail===0&&(l.value=!l.value)};return()=>{var a;return d("div",{class:["dropdown-wrapper",{open:l.value}]},[d("button",{type:"button",class:"dropdown-title","aria-label":r.value,onClick:s},[((a=t.title)==null?void 0:a.call(t))||d("span",{class:"title"},[d(Ve,{icon:o.value.icon}),e.config.text]),d("span",{class:"arrow"}),d("ul",{class:"nav-dropdown"},o.value.children.map((i,c)=>{const u=c===o.value.children.length-1;return d("li",{class:"dropdown-item"},"children"in i?[d("h4",{class:"dropdown-subtitle"},i.link?d(Me,{config:i,onFocusout:()=>{i.children.length===0&&u&&(l.value=!1)}}):d("span",i.text)),d("ul",{class:"dropdown-subitem-wrapper"},i.children.map((f,p)=>d("li",{class:"dropdown-subitem"},d(Me,{config:f,onFocusout:()=>{p===i.children.length-1&&u&&(l.value=!1)}}))))]:d(Me,{config:i,onFocusout:()=>{u&&(l.value=!1)}}))}))])])}}});const Oc=()=>d(ye,{name:"i18n"},()=>[d("path",{d:"M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z"})]);Oc.displayName="I18nIcon";const Ic=(e,t,n="")=>ce(t)?yn(e,`${n}${t}`):"children"in t?{...t,...t.link&&!Uo(t.link)?yn(e,`${n}${t.link}`):{},children:t.children.map(o=>Ic(e,o,`${n}${t.prefix||""}`))}:{...t,link:Uo(t.link)?t.link:yn(e,`${n}${t.link}`).link},Fc=()=>{const e=ve(),t=Be(),n=()=>(e.value.navbar||[]).map(o=>Ic(t,o));return ar(()=>e.value.navbar,()=>n())},Iv=()=>{const e=Be(),t=et(),n=Gt(),o=nr(),r=Vn(),l=ve();return ar(()=>[t.path,o.value.locales,r.value.extraLocales,l.value.navbarLocales],()=>{const s=Mn(o.value.locales),a=sr(r.value.extraLocales??{});if(s.length<2&&!a.length)return null;const{path:i,fullPath:c}=t,{navbarLocales:u}=l.value;return{text:"",ariaLabel:u==null?void 0:u.selectLangAriaLabel,children:[...s.map(f=>{var y,T,_;const p=((y=o.value.locales)==null?void 0:y[f])??{},v=((T=r.value.locales)==null?void 0:T[f])??{},g=p.lang||"",E=((_=v.navbarLocales)==null?void 0:_.langName)??g;let S;if(g===o.value.lang)S=i;else{const w=i.replace(n.value,f);S=e.getRoutes().some(F=>F.path===w)?c.replace(i,w):v.home??f}return{text:E,link:S}}),...a.map(([f,p])=>({text:f,link:p.replace(":route",t.path.replace(n.value,""))}))]}})},Fv=()=>{const e=ve(),t=k(()=>e.value.repo||null),n=k(()=>t.value?Th(t.value):null),o=k(()=>t.value?ec(t.value):null),r=k(()=>n.value?e.value.repoLabel??(o.value===null?"Source":o.value):null);return k(()=>!n.value||!r.value||e.value.repoDisplay===!1?null:{type:o.value||"Source",label:r.value,link:n.value})};var Dv=U({name:"LanguageDropdown",setup(){const e=Iv();return()=>e.value?d("div",{class:"nav-item"},d(Rc,{class:"i18n-dropdown",config:e.value},{title:()=>{var t;return d(Oc,{"aria-label":(t=e.value)==null?void 0:t.ariaLabel,style:{width:"1rem",height:"1rem",verticalAlign:"middle"}})}})):null}}),$v=U({name:"NavScreenDropdown",props:{config:{type:Object,required:!0}},setup(e){const t=fe(),n=Yo(e,"config"),o=k(()=>n.value.ariaLabel||n.value.text),r=Z(!1);ue(()=>t.value.path,()=>{r.value=!1});const l=(s,a)=>a[a.length-1]===s;return()=>[d("button",{type:"button",class:["nav-screen-dropdown-title",{active:r.value}],"aria-label":o.value,onClick:()=>{r.value=!r.value}},[d("span",{class:"title"},[d(Ve,{icon:n.value.icon}),e.config.text]),d("span",{class:["arrow",r.value?"down":"end"]})]),d("ul",{class:["nav-screen-dropdown",{hide:!r.value}]},n.value.children.map(s=>d("li",{class:"dropdown-item"},"children"in s?[d("h4",{class:"dropdown-subtitle"},s.link?d(Me,{config:s,onFocusout:()=>{l(s,n.value.children)&&s.children.length===0&&(r.value=!1)}}):d("span",s.text)),d("ul",{class:"dropdown-subitem-wrapper"},s.children.map(a=>d("li",{class:"dropdown-subitem"},d(Me,{config:a,onFocusout:()=>{l(a,s.children)&&l(s,n.value.children)&&(r.value=!1)}}))))]:d(Me,{config:s,onFocusout:()=>{l(s,n.value.children)&&(r.value=!1)}}))))]}}),zv=U({name:"NavScreenLinks",setup(){const e=Fc();return()=>e.value.length?d("nav",{class:"nav-screen-links"},e.value.map(t=>d("div",{class:"navbar-links-item"},"children"in t?d($v,{config:t}):d(Me,{config:t})))):null}});const Dc=()=>d(ye,{name:"dark"},()=>d("path",{d:"M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"}));Dc.displayName="DarkIcon";const $c=()=>d(ye,{name:"light"},()=>d("path",{d:"M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"}));$c.displayName="LightIcon";const zc=()=>d(ye,{name:"auto"},()=>d("path",{d:"M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"}));zc.displayName="AutoIcon";const Mc=()=>d(ye,{name:"enter-fullscreen"},()=>d("path",{d:"M762.773 90.24h-497.28c-96.106 0-174.4 78.293-174.4 174.4v497.28c0 96.107 78.294 174.4 174.4 174.4h497.28c96.107 0 175.04-78.293 174.4-174.4V264.64c0-96.213-78.186-174.4-174.4-174.4zm-387.2 761.173H215.04c-21.867 0-40.427-17.92-41.067-41.066V649.92c0-22.507 17.92-40.427 40.427-40.427 11.307 0 21.227 4.694 28.48 11.947 7.253 7.253 11.947 17.92 11.947 28.48v62.293l145.28-145.28c15.893-15.893 41.813-15.893 57.706 0 15.894 15.894 15.894 41.814 0 57.707l-145.28 145.28h62.294c22.506 0 40.426 17.92 40.426 40.427s-17.173 41.066-39.68 41.066zM650.24 165.76h160.427c21.866 0 40.426 17.92 41.066 41.067v160.426c0 22.507-17.92 40.427-40.426 40.427-11.307 0-21.227-4.693-28.48-11.947-7.254-7.253-11.947-17.92-11.947-28.48v-62.186L625.6 450.347c-15.893 15.893-41.813 15.893-57.707 0-15.893-15.894-15.893-41.814 0-57.707l145.28-145.28H650.88c-22.507 0-40.427-17.92-40.427-40.427s17.174-41.173 39.787-41.173z"}));Mc.displayName="EnterFullScreenIcon";const Nc=()=>d(ye,{name:"cancel-fullscreen"},()=>d("path",{d:"M778.468 78.62H247.922c-102.514 0-186.027 83.513-186.027 186.027V795.08c0 102.514 83.513 186.027 186.027 186.027h530.432c102.514 0 186.71-83.513 186.026-186.027V264.647C964.494 162.02 880.981 78.62 778.468 78.62zM250.88 574.35h171.122c23.324 0 43.122 19.115 43.804 43.805v171.121c0 24.008-19.114 43.122-43.122 43.122-12.06 0-22.641-5.006-30.378-12.743s-12.743-19.115-12.743-30.379V722.83L224.597 877.91c-16.953 16.952-44.6 16.952-61.553 0-16.953-16.954-16.953-44.602 0-61.554L318.009 661.39h-66.446c-24.007 0-43.122-19.114-43.122-43.122 0-24.12 18.432-43.918 42.439-43.918zm521.899-98.873H601.657c-23.325 0-43.122-19.114-43.805-43.804V260.55c0-24.007 19.115-43.122 43.122-43.122 12.06 0 22.642 5.007 30.379 12.743s12.743 19.115 12.743 30.38v66.445l154.965-154.965c16.953-16.953 44.601-16.953 61.554 0 16.953 16.953 16.953 44.6 0 61.554L705.536 388.55h66.446c24.007 0 43.122 19.115 43.122 43.122.114 24.007-18.318 43.804-42.325 43.804z"}));Nc.displayName="CancelFullScreenIcon";const Vc=()=>d(ye,{name:"outlook"},()=>[d("path",{d:"M224 800c0 9.6 3.2 44.8 6.4 54.4 6.4 48-48 76.8-48 76.8s80 41.6 147.2 0 134.4-134.4 38.4-195.2c-22.4-12.8-41.6-19.2-57.6-19.2C259.2 716.8 227.2 761.6 224 800zM560 675.2l-32 51.2c-51.2 51.2-83.2 32-83.2 32 25.6 67.2 0 112-12.8 128 25.6 6.4 51.2 9.6 80 9.6 54.4 0 102.4-9.6 150.4-32l0 0c3.2 0 3.2-3.2 3.2-3.2 22.4-16 12.8-35.2 6.4-44.8-9.6-12.8-12.8-25.6-12.8-41.6 0-54.4 60.8-99.2 137.6-99.2 6.4 0 12.8 0 22.4 0 12.8 0 38.4 9.6 48-25.6 0-3.2 0-3.2 3.2-6.4 0-3.2 3.2-6.4 3.2-6.4 6.4-16 6.4-16 6.4-19.2 9.6-35.2 16-73.6 16-115.2 0-105.6-41.6-198.4-108.8-268.8C704 396.8 560 675.2 560 675.2zM224 419.2c0-28.8 22.4-51.2 51.2-51.2 28.8 0 51.2 22.4 51.2 51.2 0 28.8-22.4 51.2-51.2 51.2C246.4 470.4 224 448 224 419.2zM320 284.8c0-22.4 19.2-41.6 41.6-41.6 22.4 0 41.6 19.2 41.6 41.6 0 22.4-19.2 41.6-41.6 41.6C339.2 326.4 320 307.2 320 284.8zM457.6 208c0-12.8 12.8-25.6 25.6-25.6 12.8 0 25.6 12.8 25.6 25.6 0 12.8-12.8 25.6-25.6 25.6C470.4 233.6 457.6 220.8 457.6 208zM128 505.6C128 592 153.6 672 201.6 736c28.8-60.8 112-60.8 124.8-60.8-16-51.2 16-99.2 16-99.2l316.8-422.4c-48-19.2-99.2-32-150.4-32C297.6 118.4 128 291.2 128 505.6zM764.8 86.4c-22.4 19.2-390.4 518.4-390.4 518.4-22.4 28.8-12.8 76.8 22.4 99.2l9.6 6.4c35.2 22.4 80 12.8 99.2-25.6 0 0 6.4-12.8 9.6-19.2 54.4-105.6 275.2-524.8 288-553.6 6.4-19.2-3.2-32-19.2-32C777.6 76.8 771.2 80 764.8 86.4z"})]);Vc.displayName="OutlookIcon";var Bc=U({name:"AppearanceSwitch",setup(){const{config:e,status:t}=go(),n=()=>{e.value==="switch"?t.value={light:"dark",dark:"auto",auto:"light"}[t.value]:t.value=t.value==="light"?"dark":"light"};return()=>d("button",{type:"button",id:"appearance-switch",onClick:()=>n()},[d(zc,{style:{display:t.value==="auto"?"block":"none"}}),d(Dc,{style:{display:t.value==="dark"?"block":"none"}}),d($c,{style:{display:t.value==="light"?"block":"none"}})])}}),Mv=U({name:"AppearanceMode",setup(){const e=ve(),{canToggle:t}=go(),n=k(()=>e.value.outlookLocales.darkmode);return()=>t.value?d("div",{class:"appearance-wrapper"},[d("label",{class:"appearance-title",for:"appearance-switch"},n.value),d(Bc)]):null}});const Lr="VUEPRESS_THEME_COLOR";var Nv=U({name:"ThemeColorPicker",props:{themeColor:{type:Object,required:!0}},setup(e){const t=(n="")=>{const o=document.documentElement.classList,r=Mn(e.themeColor);if(!n){localStorage.removeItem(Lr),o.remove(...r);return}o.remove(...r.filter(l=>l!==n)),o.add(n),localStorage.setItem(Lr,n)};return Ee(()=>{const n=localStorage.getItem(Lr);n&&t(n)}),()=>d("ul",{id:"theme-color-picker"},[d("li",d("span",{class:"theme-color",onClick:()=>t()})),sr(e.themeColor).map(([n,o])=>d("li",d("span",{style:{background:o},onClick:()=>t(n)})))])}});const En=Fl.enableThemeColor==="true",Vv=En?yh(sr(Fl).filter(([e])=>e.startsWith("theme-"))):{};var Bv=U({name:"ThemeColor",setup(){const e=ve(),t=k(()=>e.value.outlookLocales.themeColor);return()=>En?d("div",{class:"theme-color-wrapper"},[d("label",{class:"theme-color-title",for:"theme-color-picker"},t.value),d(Nv,{themeColor:Vv})]):null}}),Hc=U({name:"ToggleFullScreenButton",setup(){const e=ve(),{isSupported:t,isFullscreen:n,toggle:o}=Rl(),r=k(()=>e.value.outlookLocales.fullscreen);return()=>t?d("div",{class:"full-screen-wrapper"},[d("label",{class:"full-screen-title",for:"full-screen-switch"},r.value),d("button",{type:"button",id:"full-screen-switch",class:"full-screen",ariaPressed:n.value,onClick:()=>o()},n.value?d(Nc):d(Mc))]):null}}),jc=U({name:"OutlookSettings",setup(){const e=Vn(),t=ir(),n=k(()=>!t.value&&e.value.fullscreen);return()=>d(or,()=>[En?d(Bv):null,d(Mv),n.value?d(Hc):null])}}),Hv=U({name:"NavScreen",props:{show:Boolean},emits:["close"],slots:Object,setup(e,{emit:t,slots:n}){const o=fe(),{isMobile:r}=cr(),l=ht(),s=Ol(l);return Ee(()=>{l.value=document.body,ue(r,a=>{!a&&e.show&&(s.value=!1,t("close"))}),ue(()=>o.value.path,()=>{s.value=!1,t("close")})}),$n(()=>{s.value=!1}),()=>d(Ht,{name:"fade",onEnter:()=>{s.value=!0},onAfterLeave:()=>{s.value=!1}},()=>{var a,i;return e.show?d("div",{id:"nav-screen"},d("div",{class:"vp-nav-screen-container"},[(a=n.before)==null?void 0:a.call(n),d(zv),d("div",{class:"vp-outlook-wrapper"},d(jc)),(i=n.after)==null?void 0:i.call(n)])):null})}}),jv=U({name:"NavbarBrand",setup(){const e=Gt(),t=nr(),n=ve(),o=k(()=>n.value.home||e.value),r=k(()=>t.value.title),l=k(()=>n.value.navTitle??r.value),s=k(()=>n.value.logo?ze(n.value.logo):null),a=k(()=>n.value.logoDark?ze(n.value.logoDark):null);return()=>d(Ct,{to:o.value,class:"vp-brand"},()=>[s.value?d("img",{class:["vp-nav-logo",{light:!!a.value}],src:s.value,alt:r.value}):null,a.value?d("img",{class:["vp-nav-logo dark"],src:a.value,alt:r.value}):null,l.value?d("span",{class:["vp-site-name",{"hide-in-pad":s.value&&n.value.hideSiteNameOnMobile!==!1}]},l.value):null])}}),Gv=U({name:"NavbarLinks",setup(){const e=Fc();return()=>e.value.length?d("nav",{class:"vp-nav-links"},e.value.map(t=>d("div",{class:"nav-item hide-in-mobile"},"children"in t?d(Rc,{config:t}):d(Me,{config:t})))):null}}),Uv=U({name:"RepoLink",components:{BitbucketIcon:rc,GiteeIcon:oc,GitHubIcon:tc,GitLabIcon:nc,SourceIcon:lc},setup(){const e=Fv();return()=>e.value?d("div",{class:"nav-item vp-repo"},d("a",{class:"vp-repo-link",href:e.value.link,target:"_blank",rel:"noopener noreferrer","aria-label":e.value.label},d(at(`${e.value.type}Icon`),{style:{width:"1.25rem",height:"1.25rem",verticalAlign:"middle"}}))):null}});const Gc=({active:e=!1},{emit:t})=>d("button",{type:"button",class:["vp-toggle-navbar-button",{"is-active":e}],"aria-label":"Toggle Navbar","aria-expanded":e,"aria-controls":"nav-screen",onClick:()=>t("toggle")},d("span",[d("span",{class:"vp-top"}),d("span",{class:"vp-middle"}),d("span",{class:"vp-bottom"})]));Gc.displayName="ToggleNavbarButton";var Wv=Gc;const Ur=(e,{emit:t})=>d("button",{type:"button",class:"vp-toggle-sidebar-button",title:"Toggle Sidebar",onClick:()=>t("toggle")},d("span",{class:"icon"}));Ur.displayName="ToggleSidebarButton",Ur.emits=["toggle"];var qv=Ur,Kv=U({name:"OutlookButton",setup(){const{isSupported:e}=Rl(),t=Vn(),n=ir(),o=fe(),{canToggle:r}=go(),l=Z(!1),s=k(()=>!n.value&&t.value.fullscreen&&e);return ue(()=>o.value.path,()=>{l.value=!1}),()=>r.value||s.value||En?d("div",{class:"nav-item hide-in-mobile"},r.value&&!s.value&&!En?d(Bc):s.value&&!r.value&&!En?d(Hc):d("button",{type:"button",class:["outlook-button",{open:l.value}],tabindex:"-1","aria-hidden":!0},[d(Vc),d("div",{class:"outlook-dropdown"},d(jc))])):null}}),Qv=U({name:"NavBar",emits:["toggleSidebar"],slots:Object,setup(e,{emit:t,slots:n}){const o=ve(),{isMobile:r}=cr(),l=Z(!1),s=k(()=>{const{navbarAutoHide:u="mobile"}=o.value;return u!=="none"&&(u==="always"||r.value)}),a=k(()=>o.value.navbarLayout||{start:["Brand"],center:["Links"],end:["Language","Repo","Outlook","Search"]}),i={Brand:jv,Language:Dv,Links:Gv,Repo:Uv,Outlook:Kv,Search:St("Docsearch")?at("Docsearch"):St("SearchBox")?at("SearchBox"):ca},c=u=>i[u]??(St(u)?at(u):ca);return()=>{var u,f,p,v,g,E;return[d("header",{id:"navbar",class:["vp-navbar",{"auto-hide":s.value,"hide-icon":o.value.navbarIcon===!1}]},[d("div",{class:"vp-navbar-start"},[d(qv,{onToggle:()=>{l.value&&(l.value=!1),t("toggleSidebar")}}),(u=n.startBefore)==null?void 0:u.call(n),(a.value.start||[]).map(S=>d(c(S))),(f=n.startAfter)==null?void 0:f.call(n)]),d("div",{class:"vp-navbar-center"},[(p=n.centerBefore)==null?void 0:p.call(n),(a.value.center||[]).map(S=>d(c(S))),(v=n.centerAfter)==null?void 0:v.call(n)]),d("div",{class:"vp-navbar-end"},[(g=n.endBefore)==null?void 0:g.call(n),(a.value.end||[]).map(S=>d(c(S))),(E=n.endAfter)==null?void 0:E.call(n),d(Wv,{active:l.value,onToggle:()=>{l.value=!l.value}})])]),d(Hv,{show:l.value,onClose:()=>{l.value=!1}},{before:()=>{var S;return(S=n.screenTop)==null?void 0:S.call(n)},after:()=>{var S;return(S=n.screenBottom)==null?void 0:S.call(n)}})]}}}),Yv=U({name:"SidebarChild",props:{config:{type:Object,required:!0}},setup(e){const t=et();return()=>[kc(e.config,{class:["vp-sidebar-link",`vp-sidebar-${e.config.type}`,{active:Rn(t,e.config,!0)}],exact:!0}),Cc(e.config.children)]}}),Jv=U({name:"SidebarGroup",props:{config:{type:Object,required:!0},open:{type:Boolean,required:!0}},emits:["toggle"],setup(e,{emit:t}){const n=et(),o=k(()=>Rn(n,e.config)),r=k(()=>Rn(n,e.config,!0));return()=>{const{collapsible:l,children:s=[],icon:a,prefix:i,link:c,text:u}=e.config;return d("section",{class:"vp-sidebar-group"},[d(l?"button":"p",{class:["vp-sidebar-heading",{clickable:l||c,exact:r.value,active:o.value}],...l?{type:"button",onClick:()=>t("toggle"),onKeydown:f=>{f.key==="Enter"&&t("toggle")}}:{}},[d(Ve,{icon:a}),c?d(Me,{class:"vp-sidebar-title",config:{text:u,link:c},noExternalLinkIcon:!0}):d("span",{class:"vp-sidebar-title"},u),l?d("span",{class:["vp-arrow",e.open?"down":"end"]}):null]),e.open||!l?d(Uc,{key:i,config:s}):null])}}}),Uc=U({name:"SidebarLinks",props:{config:{type:Array,required:!0}},setup(e){const t=et(),n=Z(-1),o=r=>{n.value=r===n.value?-1:r};return ue(()=>t.path,()=>{const r=e.config.findIndex(l=>Lc(t,l));n.value=r},{immediate:!0,flush:"post"}),()=>d("ul",{class:"vp-sidebar-links"},e.config.map((r,l)=>d("li",r.type==="group"?d(Jv,{config:r,open:l===n.value,onToggle:()=>o(l)}):d(Yv,{config:r}))))}}),Xv=U({name:"SideBar",slots:Object,setup(e,{slots:t}){const n=et(),o=ve(),r=zl(),l=ht();return Ee(()=>{ue(()=>n.hash,s=>{const a=document.querySelector(`.vp-sidebar a.vp-sidebar-link[href="${n.path}${s}"]`);if(!a)return;const{top:i,height:c}=l.value.getBoundingClientRect(),{top:u,height:f}=a.getBoundingClientRect();ui+c&&a.scrollIntoView(!1)},{immediate:!0})}),()=>{var s,a,i;return d("aside",{ref:l,id:"sidebar",class:["vp-sidebar",{"hide-icon":o.value.sidebarIcon===!1}]},[(s=t.top)==null?void 0:s.call(t),((a=t.default)==null?void 0:a.call(t))||d(Uc,{config:r.value}),(i=t.bottom)==null?void 0:i.call(t)])}}}),Wc=U({name:"CommonWrapper",props:{containerClass:{type:String,default:""},noNavbar:Boolean,noSidebar:Boolean,noToc:Boolean},slots:Object,setup(e,{slots:t}){const n=Be(),o=fe(),r=Te(),l=ve(),{isMobile:s,isPC:a}=cr(),[i,c]=Js(!1),[u,f]=Js(!1),p=zl(),v=Z(!1),g=k(()=>e.noNavbar||r.value.navbar===!1||l.value.navbar===!1?!1:!!(o.value.title||l.value.logo||l.value.repo||l.value.navbar)),E=k(()=>e.noSidebar?!1:r.value.sidebar!==!1&&p.value.length!==0&&!r.value.home),S=k(()=>e.noToc||r.value.home?!1:r.value.toc||l.value.toc!==!1&&r.value.toc!==!1),y={x:0,y:0},T=R=>{y.x=R.changedTouches[0].clientX,y.y=R.changedTouches[0].clientY},_=R=>{const $=R.changedTouches[0].clientX-y.x,P=R.changedTouches[0].clientY-y.y;Math.abs($)>Math.abs(P)*1.5&&Math.abs($)>40&&($>0&&y.x<=80?c(!0):c(!1))},w=()=>window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0;let F=0;return Fe("scroll",$h(()=>{const R=w();R<=58||R{R||c(!1)}),Ee(()=>{const R=Ol(document.body);ue(i,P=>{R.value=P});const $=n.afterEach(()=>{c(!1)});$n(()=>{R.value=!1,$()})}),()=>d(St("GlobalEncrypt")?at("GlobalEncrypt"):qi,()=>d("div",{class:["theme-container",{"no-navbar":!g.value,"no-sidebar":!E.value&&!(t.sidebar||t.sidebarTop||t.sidebarBottom),"has-toc":S.value,"hide-navbar":v.value,"sidebar-collapsed":!s.value&&!a.value&&u.value,"sidebar-open":s.value&&i.value},e.containerClass,r.value.containerClass||""],onTouchStart:T,onTouchEnd:_},[g.value?d(Qv,{onToggleSidebar:()=>c()},{startBefore:()=>{var R;return(R=t.navbarStartBefore)==null?void 0:R.call(t)},startAfter:()=>{var R;return(R=t.navbarStartAfter)==null?void 0:R.call(t)},centerBefore:()=>{var R;return(R=t.navbarCenterBefore)==null?void 0:R.call(t)},centerAfter:()=>{var R;return(R=t.navbarCenterAfter)==null?void 0:R.call(t)},endBefore:()=>{var R;return(R=t.navbarEndBefore)==null?void 0:R.call(t)},endAfter:()=>{var R;return(R=t.navbarEndAfter)==null?void 0:R.call(t)},screenTop:()=>{var R;return(R=t.navScreenTop)==null?void 0:R.call(t)},screenBottom:()=>{var R;return(R=t.navScreenBottom)==null?void 0:R.call(t)}}):null,d(Ht,{name:"fade"},()=>i.value?d("div",{class:"vp-sidebar-mask",onClick:()=>c(!1)}):null),d(Ht,{name:"fade"},()=>s.value?null:d("div",{class:"toggle-sidebar-wrapper",onClick:()=>f()},d("span",{class:["arrow",u.value?"end":"start"]}))),d(Xv,{},{...t.sidebar?{default:()=>t.sidebar()}:{},top:()=>{var R;return(R=t.sidebarTop)==null?void 0:R.call(t)},bottom:()=>{var R;return(R=t.sidebarBottom)==null?void 0:R.call(t)}}),t.default(),d(Ov)]))}}),hn=U({name:"DropTransition",props:{type:{type:String,default:"single"},delay:{type:Number,default:0},duration:{type:Number,default:.25},appear:Boolean},slots:Object,setup(e,{slots:t}){const n=r=>{r.style.transition=`transform ${e.duration}s ease-in-out ${e.delay}s, opacity ${e.duration}s ease-in-out ${e.delay}s`,r.style.transform="translateY(-20px)",r.style.opacity="0"},o=r=>{r.style.transform="translateY(0)",r.style.opacity="1"};return()=>d(e.type==="single"?Ht:wi,{name:"drop",appear:e.appear,onAppear:n,onAfterAppear:o,onEnter:n,onAfterEnter:o,onBeforeLeave:n},()=>t.default())}});const Wr=({custom:e})=>d(Fi,{class:["theme-hope-content",{custom:e}]});Wr.displayName="MarkdownContent",Wr.props={custom:Boolean};var qc=Wr;const Kc=()=>d(ye,{name:"author"},()=>d("path",{d:"M649.6 633.6c86.4-48 147.2-144 147.2-249.6 0-160-128-288-288-288s-288 128-288 288c0 108.8 57.6 201.6 147.2 249.6-121.6 48-214.4 153.6-240 288-3.2 9.6 0 19.2 6.4 25.6 3.2 9.6 12.8 12.8 22.4 12.8h704c9.6 0 19.2-3.2 25.6-12.8 6.4-6.4 9.6-16 6.4-25.6-25.6-134.4-121.6-240-243.2-288z"}));Kc.displayName="AuthorIcon";const Qc=()=>d(ye,{name:"calendar"},()=>d("path",{d:"M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"}));Qc.displayName="CalendarIcon";const Yc=()=>d(ye,{name:"category"},()=>d("path",{d:"M148.41 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H148.41c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.311-40.31zM147.556 553.478H429.73c22.263 0 40.311 18.048 40.311 40.31v282.176c0 22.263-18.048 40.312-40.31 40.312H147.555c-22.263 0-40.311-18.049-40.311-40.312V593.79c0-22.263 18.048-40.311 40.31-40.311zM593.927 106.992h282.176c22.263 0 40.31 18.048 40.31 40.31V429.48c0 22.263-18.047 40.31-40.31 40.31H593.927c-22.263 0-40.311-18.047-40.311-40.31V147.302c0-22.263 18.048-40.31 40.31-40.31zM730.22 920.502H623.926c-40.925 0-74.22-33.388-74.22-74.425V623.992c0-41.038 33.387-74.424 74.425-74.424h222.085c41.038 0 74.424 33.226 74.424 74.067v114.233c0 10.244-8.304 18.548-18.547 18.548s-18.548-8.304-18.548-18.548V623.635c0-20.388-16.746-36.974-37.33-36.974H624.13c-20.585 0-37.331 16.747-37.331 37.33v222.086c0 20.585 16.654 37.331 37.126 37.331H730.22c10.243 0 18.547 8.304 18.547 18.547 0 10.244-8.304 18.547-18.547 18.547z"}));Yc.displayName="CategoryIcon";const Jc=()=>d(ye,{name:"eye"},()=>d("path",{d:"M992 512.096c0-5.76-.992-10.592-1.28-11.136-.192-2.88-1.152-8.064-2.08-10.816-.256-.672-.544-1.376-.832-2.08-.48-1.568-1.024-3.104-1.6-4.32C897.664 290.112 707.104 160 512 160c-195.072 0-385.632 130.016-473.76 322.592-1.056 2.112-1.792 4.096-2.272 5.856a55.512 55.512 0 00-.64 1.6c-1.76 5.088-1.792 8.64-1.632 7.744-.832 3.744-1.568 11.168-1.568 11.168-.224 2.272-.224 4.032.032 6.304 0 0 .736 6.464 1.088 7.808.128 1.824.576 4.512 1.12 6.976h-.032c.448 2.08 1.12 4.096 1.984 6.08.48 1.536.992 2.976 1.472 4.032C126.432 733.856 316.992 864 512 864c195.136 0 385.696-130.048 473.216-321.696 1.376-2.496 2.24-4.832 2.848-6.912.256-.608.48-1.184.672-1.728 1.536-4.48 1.856-8.32 1.728-8.32l-.032.032c.608-3.104 1.568-7.744 1.568-13.28zM512 672c-88.224 0-160-71.776-160-160s71.776-160 160-160 160 71.776 160 160-71.776 160-160 160z"}));Jc.displayName="EyeIcon";const Xc=()=>d(ye,{name:"fire"},()=>d("path",{d:"M726.4 201.6c-12.8-9.6-28.8-6.4-38.4 0-9.6 9.6-16 25.6-9.6 38.4 6.4 12.8 9.6 28.8 12.8 44.8C604.8 83.2 460.8 38.4 454.4 35.2c-9.6-3.2-22.4 0-28.8 6.4-9.6 6.4-12.8 19.2-9.6 28.8 12.8 86.4-25.6 188.8-115.2 310.4-6.4-25.6-16-51.2-32-80-9.6-9.6-22.4-16-35.2-12.8-16 3.2-25.6 12.8-25.6 28.8-3.2 48-25.6 92.8-51.2 140.8C134.4 499.2 112 544 102.4 592c-32 150.4 99.2 329.6 233.6 380.8 9.6 3.2 19.2 6.4 32 9.6-25.6-19.2-41.6-51.2-48-96C294.4 691.2 505.6 640 515.2 460.8c153.6 105.6 224 336 137.6 505.6 3.2 0 6.4-3.2 9.6-3.2 0 0 3.2 0 3.2-3.2 163.2-89.6 252.8-208 259.2-345.6 16-211.2-163.2-390.4-198.4-412.8z"}));Xc.displayName="FireIcon";const Zc=()=>d(ye,{name:"print"},()=>d("path",{d:"M819.2 364.8h-44.8V128c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v236.8h-44.8C145.067 364.8 96 413.867 96 473.6v192c0 59.733 49.067 108.8 108.8 108.8h44.8V896c0 17.067 14.933 32 32 32h460.8c17.067 0 32-14.933 32-32V774.4h44.8c59.733 0 108.8-49.067 108.8-108.8v-192c0-59.733-49.067-108.8-108.8-108.8zM313.6 160h396.8v204.8H313.6V160zm396.8 704H313.6V620.8h396.8V864zM864 665.6c0 25.6-19.2 44.8-44.8 44.8h-44.8V588.8c0-17.067-14.933-32-32-32H281.6c-17.067 0-32 14.933-32 32v121.6h-44.8c-25.6 0-44.8-19.2-44.8-44.8v-192c0-25.6 19.2-44.8 44.8-44.8h614.4c25.6 0 44.8 19.2 44.8 44.8v192z"}));Zc.displayName="PrintIcon";const eu=()=>d(ye,{name:"tag"},()=>d("path",{d:"M939.902 458.563L910.17 144.567c-1.507-16.272-14.465-29.13-30.737-30.737L565.438 84.098h-.402c-3.215 0-5.726 1.005-7.634 2.913l-470.39 470.39a10.004 10.004 0 000 14.164l365.423 365.424c1.909 1.908 4.42 2.913 7.132 2.913s5.223-1.005 7.132-2.913l470.39-470.39c2.01-2.11 3.014-5.023 2.813-8.036zm-240.067-72.121c-35.458 0-64.286-28.828-64.286-64.286s28.828-64.285 64.286-64.285 64.286 28.828 64.286 64.285-28.829 64.286-64.286 64.286z"}));eu.displayName="TagIcon";const tu=()=>d(ye,{name:"timer"},()=>d("path",{d:"M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"}));tu.displayName="TimerIcon";const nu=()=>d(ye,{name:"word"},()=>[d("path",{d:"M518.217 432.64V73.143A73.143 73.143 0 01603.43 1.097a512 512 0 01419.474 419.474 73.143 73.143 0 01-72.046 85.212H591.36a73.143 73.143 0 01-73.143-73.143z"}),d("path",{d:"M493.714 566.857h340.297a73.143 73.143 0 0173.143 85.577A457.143 457.143 0 11371.566 117.76a73.143 73.143 0 0185.577 73.143v339.383a36.571 36.571 0 0036.571 36.571z"})]);nu.displayName="WordIcon";const Pt=()=>{const e=ve();return k(()=>e.value.metaLocales)};var Zv=U({name:"AuthorInfo",inheritAttrs:!1,props:{author:{type:Array,required:!0},pure:Boolean},setup(e){const t=Pt();return()=>e.author.length?d("span",{class:"page-author-info","aria-label":`${t.value.author}${e.pure?"":"🖊"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[d(Kc),d("span",e.author.map(n=>n.url?d("a",{class:"page-author-item",href:n.url,target:"_blank",rel:"noopener noreferrer"},n.name):d("span",{class:"page-author-item"},n.name))),d("span",{property:"author",content:e.author.map(n=>n.name).join(", ")})]):null}}),e1=U({name:"CategoryInfo",inheritAttrs:!1,props:{category:{type:Array,required:!0},pure:Boolean},setup(e){const t=Be(),n=fe(),o=Pt(),r=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.category.length?d("span",{class:"page-category-info","aria-label":`${o.value.category}${e.pure?"":"🌈"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[d(Yc),e.category.map(({name:l,path:s})=>d("span",{class:["page-category-item",{[`category${Ki(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:a=>r(a,s)},l)),d("meta",{property:"articleSection",content:e.category.map(({name:l})=>l).join(",")})]):null}}),t1=U({name:"DateInfo",inheritAttrs:!1,props:{date:{type:Object,default:null},localizedDate:{type:String,default:""},pure:Boolean},setup(e){const t=El(),n=Pt();return()=>e.date?d("span",{class:"page-date-info","aria-label":`${n.value.date}${e.pure?"":"📅"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[d(Qc),d("span",d(or,()=>e.localizedDate||e.date.toLocaleDateString(t.value))),d("meta",{property:"datePublished",content:e.date.toISOString()||""})]):null}}),n1=U({name:"OriginalInfo",inheritAttrs:!1,props:{isOriginal:Boolean},setup(e){const t=Pt();return()=>e.isOriginal?d("span",{class:"page-original-info"},t.value.origin):null}}),o1=U({name:"PageViewInfo",inheritAttrs:!1,props:{pageview:{type:[Boolean,String],default:!1},pure:Boolean},setup(e){const t=et(),n=Pt(),o=ht(),r=Z(0);return Xh(o,()=>{const l=o.value.textContent;l&&!isNaN(Number(l))&&(r.value=Number(l))},{childList:!0}),()=>e.pageview?d("span",{class:"page-pageview-info","aria-label":`${n.value.views}${e.pure?"":"🔢"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[d(r.value<1e3?Jc:Xc),d("span",{ref:o,id:"ArtalkPV",class:"waline-pageview-count","data-path":ce(e.pageview)?e.pageview:t.path},"...")]):null}}),r1=U({name:"ReadingTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Pt(),n=k(()=>{if(!e.readingTime)return null;const{minutes:o}=e.readingTime;return o<1?"PT1M":`PT${Math.round(o)}M`});return()=>{var o,r;return(o=e.readingTimeLocale)!=null&&o.time?d("span",{class:"page-reading-time-info","aria-label":`${t.value.readingTime}${e.pure?"":"⌛"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[d(tu),d("span",(r=e.readingTimeLocale)==null?void 0:r.time),d("meta",{property:"timeRequired",content:n.value})]):null}}}),l1=U({name:"TagInfo",inheritAttrs:!1,props:{tag:{type:Array,default:()=>[]},pure:Boolean},setup(e){const t=Be(),n=fe(),o=Pt(),r=(l,s="")=>{s&&n.value.path!==s&&(l.preventDefault(),t.push(s))};return()=>e.tag.length?d("span",{class:"page-tag-info","aria-label":`${o.value.tag}${e.pure?"":"🏷"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[d(eu),e.tag.map(({name:l,path:s})=>d("span",{class:["page-tag-item",{[`tag${Ki(l,9)}`]:!e.pure,clickable:s}],role:s?"navigation":"",onClick:a=>r(a,s)},l)),d("meta",{property:"keywords",content:e.tag.map(({name:l})=>l).join(",")})]):null}}),s1=U({name:"ReadTimeInfo",inheritAttrs:!1,props:{readingTime:{type:Object,default:()=>null},readingTimeLocale:{type:Object,default:()=>null},pure:Boolean},setup(e){const t=Pt();return()=>{var n,o,r;return(n=e.readingTimeLocale)!=null&&n.words?d("span",{class:"page-word-info","aria-label":`${t.value.words}${e.pure?"":"🔠"}`,...e.pure?{}:{"data-balloon-pos":"down"}},[d(nu),d("span",(o=e.readingTimeLocale)==null?void 0:o.words),d("meta",{property:"wordCount",content:(r=e.readingTime)==null?void 0:r.words})]):null}}}),a1=U({name:"PageInfo",components:{AuthorInfo:Zv,CategoryInfo:e1,DateInfo:t1,OriginalInfo:n1,PageViewInfo:o1,ReadingTimeInfo:r1,TagInfo:l1,WordInfo:s1},props:{items:{type:[Array,Boolean],default:()=>["Author","Original","Date","PageView","ReadingTime","Category","Tag"]},info:{type:Object,required:!0}},setup(e){const t=ir();return()=>e.items?d("div",{class:"page-info"},e.items.map(n=>d(at(`${n}Info`),{...e.info,pure:t.value}))):null}}),i1=U({name:"PrintButton",setup(){const e=Vn(),t=ve();return()=>e.value.print===!1?null:d("button",{type:"button",class:"print-button",title:t.value.metaLocales.print,onClick:()=>{window.print()}},d(Zc))}});const c1=({title:e,level:t,slug:n})=>d(Ct,{to:`#${n}`,class:["toc-link",`level${t}`]},()=>e),qr=(e,t)=>{const n=et();return e.length&&t>0?d("ul",{class:"toc-list"},e.map(o=>{const r=qr(o.children,t-1);return[d("li",{class:["toc-item",{active:kl(n,`#${o.slug}`)}]},c1(o)),r?d("li",r):null]})):null};var u1=U({name:"TOC",props:{items:{type:Array,default:()=>[]},headerDepth:{type:Number,default:2}},slots:Object,setup(e,{slots:t}){const n=et(),o=fe(),r=Pt(),l=ht(),s=Z("-1.7rem"),a=c=>{var u;(u=l.value)==null||u.scrollTo({top:c,behavior:"smooth"})},i=()=>{if(l.value){const c=document.querySelector(".toc-item.active");c?s.value=`${c.getBoundingClientRect().top-l.value.getBoundingClientRect().top+l.value.scrollTop}px`:s.value="-1.7rem"}else s.value="-1.7rem"};return Ee(()=>{ue(()=>n.hash,c=>{if(l.value){const u=document.querySelector(`#toc a.toc-link[href$="${c}"]`);if(!u)return;const{top:f,height:p}=l.value.getBoundingClientRect(),{top:v,height:g}=u.getBoundingClientRect();vf+p&&a(l.value.scrollTop+v+g-f-p)}}),ue(()=>n.fullPath,i,{flush:"post",immediate:!0})}),()=>{var u,f;const c=e.items.length?qr(e.items,e.headerDepth):o.value.headers?qr(o.value.headers,e.headerDepth):null;return c?d("div",{class:"toc-place-holder"},[d("aside",{id:"toc"},[(u=t.before)==null?void 0:u.call(t),d("div",{class:"toc-header"},[r.value.toc,d(i1)]),d("div",{class:"toc-wrapper",ref:l},[c,d("div",{class:"toc-marker",style:{top:s.value}})]),(f=t.after)==null?void 0:f.call(t)])]):null}}}),ou=U({name:"SkipLink",props:{content:{type:String,default:"main-content"}},setup(e){const t=fe(),n=ve(),o=ht(),r=({target:l})=>{const s=document.querySelector(l.hash);if(s){const a=()=>{s.removeAttribute("tabindex"),s.removeEventListener("blur",a)};s.setAttribute("tabindex","-1"),s.addEventListener("blur",a),s.focus(),window.scrollTo(0,0)}};return Ee(()=>{ue(()=>t.value.path,()=>o.value.focus())}),()=>[d("span",{ref:o,tabindex:"-1"}),d("a",{href:`#${e.content}`,class:"vp-skip-link sr-only",onClick:r},n.value.routeLocales.skipToContent)]}});let kr=null,Un=null;const d1={wait:()=>kr,pending:()=>{kr=new Promise(e=>Un=e)},resolve:()=>{Un==null||Un(),kr=null,Un=null}},ru=()=>d1;var f1=U({name:"FadeSlideY",slots:Object,setup(e,{slots:t}){const{resolve:n,pending:o}=ru();return()=>d(Ht,{name:"fade-slide-y",mode:"out-in",onBeforeEnter:n,onBeforeLeave:o},()=>{var r;return(r=t.default)==null?void 0:r.call(t)})}});const p1=(e,t)=>{const n=e.replace(t,"/").split("/"),o=[];let r=yl(t);return n.forEach((l,s)=>{s!==n.length-1?(r+=`${l}/`,o.push({link:r,name:l||"Home"})):l!==""&&(r+=l,o.push({link:r,name:l}))}),o},lu=(e,{slots:t})=>{var f,p;const{bgImage:n,bgImageDark:o,bgImageStyle:r,color:l,description:s,image:a,imageDark:i,header:c,features:u=[]}=e;return d("div",{class:"vp-feature-wrapper"},[n?d("div",{class:["vp-feature-bg",{light:o}],style:[{"background-image":`url(${n})`},r]}):null,o?d("div",{class:"vp-feature-bg dark",style:[{"background-image":`url(${o})`},r]}):null,d("div",{class:"vp-feature",style:l?{color:l}:{}},[((f=t.image)==null?void 0:f.call(t,e))||[a?d("img",{class:["vp-feature-image",{light:i}],src:ze(a),alt:c}):null,i?d("img",{class:"vp-feature-image dark",src:ze(i),alt:c}):null],((p=t.info)==null?void 0:p.call(t,e))||[c?d("h2",{class:"vp-feature-header"},c):null,s?d("p",{class:"vp-feature-description",innerHTML:s}):null],u.length?d("div",{class:"vp-features"},u.map(({icon:v,title:g,details:E,link:S})=>{const y=[d("h3",{class:"vp-feature-title"},[d(Ve,{icon:v}),d("span",{innerHTML:g})]),d("p",{class:"vp-feature-details",innerHTML:E})];return S?Uo(S)?d("a",{class:"vp-feature-item link",href:S,role:"navigation","aria-label":g,target:"_blank"},y):d(Ct,{class:"vp-feature-item link",to:S,role:"navigation","aria-label":g},()=>y):d("div",{class:"vp-feature-item"},y)})):null])])};lu.displayName="FeaturePanel";var da=lu,h1=U({name:"HeroInfo",slots:Object,setup(e,{slots:t}){const n=Te(),o=nr(),r=k(()=>n.value.heroFullScreen??!1),l=k(()=>{const{heroText:c,tagline:u}=n.value;return{text:c??o.value.title??"Hello",tagline:u??o.value.description??"",isFullScreen:r.value}}),s=k(()=>{const{heroText:c,heroImage:u,heroImageDark:f,heroAlt:p,heroImageStyle:v}=n.value;return{image:u?ze(u):null,imageDark:f?ze(f):null,heroStyle:v,alt:p||c||"hero image",isFullScreen:r.value}}),a=k(()=>{const{bgImage:c,bgImageDark:u,bgImageStyle:f}=n.value;return{image:Tt(c)?ze(c):null,imageDark:Tt(u)?ze(u):null,bgStyle:f,isFullScreen:r.value}}),i=k(()=>n.value.actions??[]);return()=>{var c,u,f;return d("header",{class:["vp-hero-info-wrapper",{fullscreen:r.value}]},[((c=t.heroBg)==null?void 0:c.call(t,a.value))||[a.value.image?d("div",{class:["vp-hero-mask",{light:a.value.imageDark}],style:[{"background-image":`url(${a.value.image})`},a.value.bgStyle]}):null,a.value.imageDark?d("div",{class:"vp-hero-mask dark",style:[{"background-image":`url(${a.value.imageDark})`},a.value.bgStyle]}):null],d("div",{class:"vp-hero-info"},[((u=t.heroImage)==null?void 0:u.call(t,s.value))||d(hn,{appear:!0,type:"group"},()=>[s.value.image?d("img",{key:"light",class:["vp-hero-image",{light:s.value.imageDark}],style:s.value.heroStyle,src:s.value.image,alt:s.value.alt}):null,s.value.imageDark?d("img",{key:"dark",class:"vp-hero-image dark",style:s.value.heroStyle,src:s.value.imageDark,alt:s.value.alt}):null]),((f=t.heroInfo)==null?void 0:f.call(t,l.value))??d("div",{class:"vp-hero-infos"},[l.value.text?d(hn,{appear:!0,delay:.04},()=>d("h1",{id:"main-title"},l.value.text)):null,l.value.tagline?d(hn,{appear:!0,delay:.08},()=>d("p",{class:"vp-description",innerHTML:l.value.tagline})):null,i.value.length?d(hn,{appear:!0,delay:.12},()=>d("p",{class:"vp-actions"},i.value.map(p=>d(Me,{class:["vp-action",p.type||"default"],config:p,noExternalLinkIcon:!0})))):null])])])}}});const su=(e,{slots:t})=>{var p,v,g;const{bgImage:n,bgImageDark:o,bgImageStyle:r,color:l,description:s,image:a,imageDark:i,header:c,highlights:u=[],type:f="un-order"}=e;return d("div",{class:"vp-highlight-wrapper",style:l?{color:l}:{}},[n?d("div",{class:["vp-highlight-bg",{light:o}],style:[{"background-image":`url(${n})`},r]}):null,o?d("div",{class:"vp-highlight-bg dark",style:[{"background-image":`url(${o})`},r]}):null,d("div",{class:"vp-highlight"},[((p=t.image)==null?void 0:p.call(t,e))||[a?d("img",{class:["vp-highlight-image",{light:i}],src:ze(a),alt:c}):null,i?d("img",{class:"vp-highlight-image dark",src:ze(i),alt:c}):null],((v=t.info)==null?void 0:v.call(t,e))||[d("div",{class:"vp-highlight-info-wrapper"},d("div",{class:"vp-highlight-info"},[c?d("h2",{class:"vp-highlight-header",innerHTML:c}):null,s?d("p",{class:"vp-highlight-description",innerHTML:s}):null,((g=t.highlights)==null?void 0:g.call(t,u))||d(f==="order"?"ol":f==="no-order"?"dl":"ul",{class:"vp-highlights"},u.map(({icon:E,title:S,details:y,link:T})=>{const _=[d(f==="no-order"?"dt":"h3",{class:"vp-highlight-title"},[E?d(Ve,{class:"vp-highlight-icon",icon:E}):null,d("span",{innerHTML:S})]),y?d(f==="no-order"?"dd":"p",{class:"vp-highlight-details",innerHTML:y}):null];return d(f==="no-order"?"div":"li",{class:["vp-highlight-item-wrapper",{link:T}]},T?gh(T)?d("a",{class:"vp-highlight-item link",href:T,role:"navigation","aria-label":S,target:"_blank"},_):d(Ct,{class:"vp-highlight-item link",to:T,role:"navigation","aria-label":S},()=>_):d("div",{class:"vp-highlight-item"},_))}))]))]])])};su.displayName="HighlightPanel";var m1=su,v1=U({name:"HomePage",slots:Object,setup(e,{slots:t}){const n=ir(),o=Te(),r=k(()=>{const{features:s}=o.value;return q(s)?s:null}),l=k(()=>{const{highlights:s}=o.value;return q(s)?s:null});return()=>{var s,a,i,c;return d("main",{id:"main-content",class:["vp-project-home ",{pure:n.value}],"aria-labelledby":o.value.heroText===null?"":"main-title"},[(s=t.top)==null?void 0:s.call(t),d(h1),((a=l.value)==null?void 0:a.map(u=>"features"in u?d(da,u):d(m1,u)))||(r.value?d(hn,{appear:!0,delay:.24},()=>d(da,{features:r.value})):null),(i=t.center)==null?void 0:i.call(t),d(hn,{appear:!0,delay:.32},()=>d(qc)),(c=t.bottom)==null?void 0:c.call(t)])}}}),g1=U({name:"BreadCrumb",setup(){const e=Be(),t=fe(),n=Gt(),o=Te(),r=ve(),l=ht([]),s=k(()=>(o.value.breadcrumb||o.value.breadcrumb!==!1&&r.value.breadcrumb!==!1)&&l.value.length>1),a=k(()=>o.value.breadcrumbIcon||o.value.breadcrumbIcon!==!1&&r.value.breadcrumbIcon!==!1),i=()=>{const c=e.getRoutes(),u=p1(t.value.path,n.value).map(({link:f,name:p})=>{const v=c.find(g=>g.path===f);if(v){const{meta:g,path:E}=qo(e,v.path);return{title:g[Et.shortTitle]||g[Et.title]||p,icon:g[Et.icon],path:E}}return null}).filter(f=>f!==null);u.length>1&&(l.value=u)};return Ee(()=>{ue(()=>t.value.path,i,{immediate:!0})}),()=>d("nav",{class:["vp-breadcrumb",{disable:!s.value}]},s.value?d("ol",{vocab:"https://schema.org/",typeof:"BreadcrumbList"},l.value.map((c,u)=>d("li",{class:{"is-active":l.value.length-1===u},property:"itemListElement",typeof:"ListItem"},[d(Ct,{to:c.path,property:"item",typeof:"WebPage"},()=>[a.value?d(Ve,{icon:c.icon}):null,d("span",{property:"name"},c.title||"Unknown")]),d("meta",{property:"position",content:u+1})]))):[])}});const fa=e=>{const t=Be();return e===!1?!1:ce(e)?yn(t,e,!0):bl(e)?e:null},Kr=(e,t,n)=>{const o=e.findIndex(r=>r.link===t);if(o!==-1){const r=e[o+n];return r!=null&&r.link?r:null}for(const r of e)if(r.children){const l=Kr(r.children,t,n);if(l)return l}return null};var _1=U({name:"PageNav",setup(){const e=ve(),t=Te(),n=zl(),o=fe(),r=bv(),l=k(()=>{const a=fa(t.value.prev);return a===!1?null:a||(e.value.prevLink===!1?null:Kr(n.value,o.value.path,-1))}),s=k(()=>{const a=fa(t.value.next);return a===!1?null:a||(e.value.nextLink===!1?null:Kr(n.value,o.value.path,1))});return Fe("keydown",a=>{a.altKey&&(a.key==="ArrowRight"?s.value&&(r(s.value.link),a.preventDefault()):a.key==="ArrowLeft"&&l.value&&(r(l.value.link),a.preventDefault()))}),()=>l.value||s.value?d("nav",{class:"vp-page-nav"},[l.value?d(Me,{class:"prev",config:l.value},()=>{var a,i;return[d("div",{class:"hint"},[d("span",{class:"arrow start"}),e.value.metaLocales.prev]),d("div",{class:"link"},[d(Ve,{icon:(a=l.value)==null?void 0:a.icon}),(i=l.value)==null?void 0:i.text])]}):null,s.value?d(Me,{class:"next",config:s.value},()=>{var a,i;return[d("div",{class:"hint"},[e.value.metaLocales.next,d("span",{class:"arrow end"})]),d("div",{class:"link"},[(a=s.value)==null?void 0:a.text,d(Ve,{icon:(i=s.value)==null?void 0:i.icon})])]}):null]):null}});const b1={GitHub:":repo/edit/:branch/:path",GitLab:":repo/-/edit/:branch/:path",Gitee:":repo/edit/:branch/:path",Bitbucket:":repo/src/:branch/:path?mode=edit&spa=0&at=:branch&fileviewer=file-view-default"},y1=({docsRepo:e,docsBranch:t,docsDir:n,filePathRelative:o,editLinkPattern:r})=>{if(!o)return null;const l=ec(e);let s;return r?s=r:l!==null&&(s=b1[l]),s?s.replace(/:repo/,zn(e)?e:`https://github.com/${e}`).replace(/:branch/,t).replace(/:path/,Ti(`${yl(n)}/${o}`)):null},E1=()=>{const e=ve(),t=fe(),n=Te();return k(()=>{const{repo:o,docsRepo:r=o,docsBranch:l="main",docsDir:s="",editLink:a,editLinkPattern:i=""}=e.value;if(!(n.value.editLink??a??!0)||!r)return null;const c=y1({docsRepo:r,docsBranch:l,docsDir:s,editLinkPattern:i,filePathRelative:t.value.filePathRelative});return c?{text:e.value.metaLocales.editLink,link:c}:null})},w1=()=>{const e=nr(),t=ve(),n=fe(),o=Te();return k(()=>{var r,l;return!(o.value.lastUpdated??t.value.lastUpdated??!0)||!((r=n.value.git)!=null&&r.updatedTime)?null:new Date((l=n.value.git)==null?void 0:l.updatedTime).toLocaleString(e.value.lang)})},S1=()=>{const e=ve(),t=fe(),n=Te();return k(()=>{var o;return n.value.contributors??e.value.contributors??!0?((o=t.value.git)==null?void 0:o.contributors)??null:null})};var A1=U({name:"PageTitle",setup(){const e=fe(),t=Te(),n=ve(),{info:o,items:r}=Sv();return()=>d("div",{class:"vp-page-title"},[d("h1",[n.value.titleIcon===!1?null:d(Ve,{icon:t.value.icon}),e.value.title]),d(a1,{info:o.value,...r.value===null?{}:{items:r.value}}),d("hr")])}});const au=()=>d(ye,{name:"edit"},()=>[d("path",{d:"M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"}),d("path",{d:"M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"})]);au.displayName="EditIcon";var T1=U({name:"PageMeta",setup(){const e=ve(),t=E1(),n=w1(),o=S1();return()=>{const{metaLocales:r}=e.value;return d("footer",{class:"page-meta"},[t.value?d("div",{class:"meta-item edit-link"},d(Me,{class:"label",config:t.value},{before:()=>d(au)})):null,d("div",{class:"meta-item git-info"},[n.value?d("div",{class:"update-time"},[d("span",{class:"label"},`${r.lastUpdated}: `),d(or,()=>d("span",{class:"info"},n.value))]):null,o.value&&o.value.length?d("div",{class:"contributors"},[d("span",{class:"label"},`${r.contributors}: `),o.value.map(({email:l,name:s},a)=>[d("span",{class:"contributor",title:`email: ${l}`},s),a!==o.value.length-1?",":""])]):null])])}}}),L1=U({name:"NormalPage",slots:Object,setup(e,{slots:t}){const n=Te(),o=fe(),{isDarkmode:r}=go(),l=ve(),s=k(()=>n.value.toc||n.value.toc!==!1&&l.value.toc!==!1);return()=>d("main",{id:"main-content",class:"vp-page"},d(St("LocalEncrypt")?at("LocalEncrypt"):qi,()=>{var a,i,c,u;return[(a=t.top)==null?void 0:a.call(t),n.value.cover?d("img",{class:"page-cover",src:ze(n.value.cover),alt:o.value.title,"no-view":""}):null,d(g1),d(A1),s.value?d(u1,{headerDepth:n.value.headerDepth??l.value.headerDepth??2},{before:()=>{var f;return(f=t.tocBefore)==null?void 0:f.call(t)},after:()=>{var f;return(f=t.tocAfter)==null?void 0:f.call(t)}}):null,(i=t.contentBefore)==null?void 0:i.call(t),d(qc),(c=t.contentAfter)==null?void 0:c.call(t),d(T1),d(_1),St("CommentService")?d(at("CommentService"),{darkmode:r.value}):null,(u=t.bottom)==null?void 0:u.call(t)]}))}}),k1=U({name:"Layout",setup(){ve();const e=fe(),t=Te(),{isMobile:n}=cr(),o=k(()=>"none");return()=>[d(ou),d(Wc,{},{default:()=>t.value.home?d(v1):d(f1,()=>d(L1,{key:e.value.path})),...o.value!=="none"?{navScreenBottom:()=>d(at("BloggerInfo"))}:{},...!n.value&&o.value==="always"?{sidebar:()=>d(at("BloggerInfo"))}:{}})]}}),C1=U({name:"NotFoundHint",setup(){const e=ve(),t=()=>{const n=e.value.routeLocales.notFoundMsg;return n[Math.floor(Math.random()*n.length)]};return()=>d("div",{class:"not-found-hint"},[d("p",{class:"error-code"},"404"),d("h1",{class:"error-title"},e.value.routeLocales.notFoundTitle),d("p",{class:"error-hint"},t())])}}),P1=U({name:"NotFound",slots:Object,setup(e,{slots:t}){const n=Gt(),o=ve(),{navigate:r}=Hr({to:o.value.home??n.value});return()=>[d(ou),d(Wc,{noSidebar:!0},()=>{var l;return d("main",{id:"main-content",class:"vp-page not-found"},((l=t.default)==null?void 0:l.call(t))||[d(C1),d("div",{class:"actions"},[d("button",{type:"button",class:"action-button",onClick:()=>{window.history.go(-1)}},o.value.routeLocales.back),d("button",{type:"button",class:"action-button",onClick:()=>r()},o.value.routeLocales.home)])])})]}});_m(Ve);const x1=Ze({enhance:({app:e,router:t})=>{const{scrollBehavior:n}=t.options;t.options.scrollBehavior=async(...o)=>(await ru().wait(),n(...o)),Lv(e),e.component("HopeIcon",Ve),e.component("VPLink",Ct)},setup:()=>{kv(),Rv()},layouts:{Layout:k1,NotFound:P1}});const iu={autoLocale:!0,switchLocale:"modal",localeConfig:{0:["/en/",["en-US","en-UK","en"]],1:["/zh/",["zh-CN","zh-TW","zh"]],"/zh/":["zh"],"/en/":["en"]},defaultLocale:"/zh/",localeFallback:!0,defaultBehavior:"defaultLocale"},pa=sr(iu.localeConfig),ha={"/zh/":{name:"简体中文",hint:"您的首选语言是 $1,是否切换到该语言?",switch:"切换到 $1",cancel:"取消"},"/en/":{name:"English",hint:"Your primary language is $1, do you want to switch to it?",switch:"Switch to $1",cancel:"Cancel"},"/":{name:"English",hint:"Your primary language is $1, do you want to switch to it?",switch:"Switch to $1",cancel:"Cancel"}},{switchLocale:ma}=iu,va=om("VUEPRESS_REDIRECT_LOCALES",{});var R1=U({name:"LanguageSwitch",setup(){const e=tm(),t=et(),n=Be(),o=Gt(),r=Z(!1),l=k(()=>{if(pa.some(([c])=>o.value===c)){for(const c of e.value)for(const[u,f]of pa)if(f.includes(c))return u===o.value?null:{lang:c,localePath:u}}return null}),s=k(()=>{if(l.value){const{lang:c,localePath:u}=l.value,f=[ha[o.value],ha[u]];return{hint:f.map(({hint:p})=>p.replace("$1",c)),switch:f.map(({switch:p})=>p.replace("$1",c)).join(" / "),cancel:f.map(({cancel:p})=>p).join(" / ")}}return null}),a=k(()=>l.value?t.path.replace(o.value,l.value.localePath):null),i=()=>{va.value[o.value]=!0,r.value=!1};return Ee(()=>{const c=Ol(document.body);va.value[o.value]||(l.value?ma==="direct"?n.replace(a.value):ma==="modal"?r.value=!0:r.value=!1:r.value=!1),ue(r,u=>{c.value=u},{immediate:!0}),$n(()=>{c.value=!1})}),()=>r.value?d(wi,{name:"lang-modal-fade"},()=>{var c,u,f;return r.value?[d("div",{key:"mask",class:"lang-modal-mask"}),d("div",{key:"popup",class:"lang-modal-wrapper"},[d("div",{class:"lang-modal-content"},(c=s.value)==null?void 0:c.hint.map(p=>d("p",p))),d("button",{type:"button",class:"lang-modal-action primary",onClick:()=>{i(),n.replace(a.value)}},(u=s.value)==null?void 0:u.switch),d("button",{type:"button",class:"lang-modal-action",onClick:()=>i()},(f=s.value)==null?void 0:f.cancel)])]:[]}):null}}),O1=Ze({setup(){},rootComponents:[R1]});const Oo=[cp,um,gm,wm,Tm,Pm,Fm,qm,ev,tv,dv,x1,O1],I1=[["v-2d0a870d","/en/",{y:"h",t:"HOME"},["/en/README.md"]],["v-2d0ad528","/zh/",{y:"h",t:"主页"},["/zh/README.md"]],["v-742e974c","/zh/%E5%85%B3%E4%BA%8E%E6%88%91.html",{y:"a",t:"关于我"},["/zh/关于我.html","/zh/关于我.md",":md"]],["v-38d56a07","/en/document/",{y:"a",t:"🧰 Watt Toolkit Guide"},["/en/document/README.md"]],["v-08b13b31","/zh/development/%E5%85%AC%E5%91%8A.html",{y:"a",t:"公告"},["/zh/development/公告.html","/zh/development/公告.md",":md"]],["v-1edaffcc","/zh/development/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html",{y:"a",t:"开发环境 ⌨️"},["/zh/development/开发环境.html","/zh/development/开发环境.md",":md"]],["v-3fd50060","/zh/development/%E6%96%87%E4%BB%B6%E6%A0%A1%E9%AA%8C.html",{y:"a",t:"文件校验"},["/zh/development/文件校验.html","/zh/development/文件校验.md",":md"]],["v-5fd8d2ca","/zh/development/%E6%96%87%E6%A1%A3%E5%BC%80%E5%8F%91.html",{y:"a",t:"文档开发"},["/zh/development/文档开发.html","/zh/development/文档开发.md",":md"]],["v-77ee1e1c","/zh/development/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.html",{y:"a",t:"更新日志"},["/zh/development/更新日志.html","/zh/development/更新日志.md",":md"]],["v-23bdde94","/zh/development/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.html",{y:"a",t:"Steam++ v2.X Source Code"},["/zh/development/项目结构.html","/zh/development/项目结构.md",":md"]],["v-5d0bca4c","/zh/document/",{y:"a",t:"🧰 Watt Toolkit 指南"},["/zh/document/README.md"]],["v-5e3b9194","/en/document/ASF/How%20to%20use%20ASF.html",{y:"a",t:"How to use ASF"},["/en/document/ASF/How to use ASF.html","/en/document/ASF/How to use ASF.md",":md"]],["v-37067a23","/en/document/FAQ/FAQ.html",{y:"a",t:"Universal solution"},[":md"]],["v-162fb220","/en/document/FAQ/Network%20problems.html",{y:"a",t:"Network issues"},["/en/document/FAQ/Network problems.html","/en/document/FAQ/Network problems.md",":md"]],["v-32aec13d","/en/document/Start/Download%20channel.html",{y:"a",t:"🚀 Download Channel"},["/en/document/Start/Download channel.html","/en/document/Start/Download channel.md",":md"]],["v-46511032","/en/document/Start/Functions.html",{y:"a",t:"✨ Functions"},[":md"]],["v-502f8300","/en/document/Start/Supported%20Operating%20Systems.html",{y:"a",t:"🖥️ Supported Operating Systems"},["/en/document/Start/Supported Operating Systems.html","/en/document/Start/Supported Operating Systems.md",":md"]],["v-b290ac38","/en/document/Steam%20Guard/2FA%20to%20import%20Guard.html",{y:"a",t:"2FA application import Guard"},["/en/document/Steam Guard/2FA to import Guard.html","/en/document/Steam Guard/2FA to import Guard.md",":md"]],["v-0b4afe7c","/en/document/Steam%20Guard/Android%20to%20import%20Guard.html",{y:"a",t:"Android phone import token"},["/en/document/Steam Guard/Android to import Guard.html","/en/document/Steam Guard/Android to import Guard.md",":md"]],["v-3f883c12","/en/document/Steam%20Guard/Apple%20to%20import%20Guard.html",{y:"a",t:"Apple phone import token"},["/en/document/Steam Guard/Apple to import Guard.html","/en/document/Steam Guard/Apple to import Guard.md",":md"]],["v-ca8536f0","/en/document/Steam%20Guard/Login%20to%20import%20Guard.html",{y:"a",t:"Login to Steam directly and import the Guard"},["/en/document/Steam Guard/Login to import Guard.html","/en/document/Steam Guard/Login to import Guard.md",":md"]],["v-5116c806","/en/document/Steam%20Guard/Reference%20documents.html",{y:"a",t:"Reference Documents"},["/en/document/Steam Guard/Reference documents.html","/en/document/Steam Guard/Reference documents.md",":md"]],["v-0bd23d61","/en/document/Steam%20Guard/Steam__%20to%20import%20Guard.html",{y:"a",t:"Older/newer Steam++ import"},["/en/document/Steam Guard/Steam__ to import Guard.html","/en/document/Steam Guard/Steam++ to import Guard.html","/en/document/Steam%20Guard/Steam++%20to%20import%20Guard.html","/en/document/Steam Guard/Steam++ to import Guard.md","/en/document/Steam%20Guard/Steam++%20to%20import%20Guard.md"]],["v-25fd9ae8","/zh/document/FAQ/FAQ.html",{y:"a",t:"通用解决办法"},[":md"]],["v-a3a0b9dc","/zh/document/FAQ/GPU.html",{y:"a",t:"软件使用GPU"},[":md"]],["v-eddd4500","/zh/document/FAQ/%E7%BD%91%E7%BB%9C.html",{y:"a",t:"网络加速失败"},["/zh/document/FAQ/网络.html","/zh/document/FAQ/网络.md",":md"]],["v-4963a7c8","/zh/document/Start/Communication.html",{y:"a",t:"联系作者"},[":md"]],["v-c0bef542","/zh/document/Start/Download%20Guide.html",{y:"a",t:"下载指南"},["/zh/document/Start/Download Guide.html","/zh/document/Start/Download Guide.md",":md"]],["v-9dc2b9d0","/zh/document/Start/Download%20channel.html",{y:"a",t:"🚀 下载渠道"},["/zh/document/Start/Download channel.html","/zh/document/Start/Download channel.md",":md"]],["v-165cc812","/zh/document/Start/Functions.html",{y:"a",t:"✨ 功能一览"},[":md"]],["v-a66d0ef6","/zh/document/Start/Supported%20Operating%20Systems.html",{y:"a",t:"🖥️ 系统要求"},["/zh/document/Start/Supported Operating Systems.html","/zh/document/Start/Supported Operating Systems.md",":md"]],["v-3bcf8d47","/zh/document/Functions/ASF/2FA.html",{y:"a",t:"在 ASF 中使用 2FA"},[":md"]],["v-0a3a6bc0","/zh/document/Functions/ASF/ASF.html",{y:"a",t:"什么是ASF"},[":md"]],["v-64ffdb90","/zh/document/Functions/ASF/info.html",{y:"a",t:"自动挂卡"},[":md"]],["v-0a0a5246","/zh/document/Functions/ASF/%E4%BD%BF%E7%94%A8ASF.html",{y:"a",t:"如何使用 ASF"},["/zh/document/Functions/ASF/使用ASF.html","/zh/document/Functions/ASF/使用ASF.md",":md"]],["v-6854833a","/zh/document/Functions/ASF/%E5%B8%B8%E7%94%A8%E6%8C%87%E4%BB%A4.html",{y:"a",t:"常用指令"},["/zh/document/Functions/ASF/常用指令.html","/zh/document/Functions/ASF/常用指令.md",":md"]],["v-7b85ff46","/zh/document/Functions/Account%20Switch/info.html",{y:"a",t:"账号切换"},["/zh/document/Functions/Account Switch/info.html","/zh/document/Functions/Account Switch/info.md",":md"]],["v-e709adf4","/zh/document/Functions/Game%20Tools/info.html",{y:"a",t:"游戏工具"},["/zh/document/Functions/Game Tools/info.html","/zh/document/Functions/Game Tools/info.md",":md"]],["v-0a5a5d17","/zh/document/Functions/Library/info.html",{y:"a",t:"库存管理"},[":md"]],["v-26450031","/zh/document/Functions/Network%20Acceleration/info.html",{y:"a",t:"网络加速"},["/zh/document/Functions/Network Acceleration/info.html","/zh/document/Functions/Network Acceleration/info.md",":md"]],["v-ce6ad7a4","/zh/document/Functions/Steam%20Guard/info.html",{y:"a",t:"本地令牌"},["/zh/document/Functions/Steam Guard/info.html","/zh/document/Functions/Steam Guard/info.md",":md"]],["v-0bc26c1c","/zh/document/Functions/Userscript/info.html",{y:"a",t:"脚本配置"},[":md"]],["v-dd27c282","/zh/document/Functions/Steam%20Guard/import/2FA%E4%BB%A4%E7%89%8C.html",{y:"a",t:"2FA应用"},["/zh/document/Functions/Steam Guard/import/2FA令牌.html","/zh/document/Functions/Steam Guard/import/2FA令牌.md",":md"]],["v-0eb1bc3c","/zh/document/Functions/Steam%20Guard/import/Steam__%E4%BB%A4%E7%89%8C.html",{y:"a",t:"Steam++"},["/zh/document/Functions/Steam Guard/import/Steam__令牌.html","/zh/document/Functions/Steam Guard/import/Steam++令牌.html","/zh/document/Functions/Steam%20Guard/import/Steam++%E4%BB%A4%E7%89%8C.html","/zh/document/Functions/Steam Guard/import/Steam++令牌.md","/zh/document/Functions/Steam%20Guard/import/Steam++%E4%BB%A4%E7%89%8C.md"]],["v-17724bfd","/zh/document/Functions/Steam%20Guard/import/android%E4%BB%A4%E7%89%8C.html",{y:"a",t:"安卓手机"},["/zh/document/Functions/Steam Guard/import/android令牌.html","/zh/document/Functions/Steam Guard/import/android令牌.md",":md"]],["v-5b27371f","/zh/document/Functions/Steam%20Guard/import/ios%E4%BB%A4%E7%89%8C.html",{y:"a",t:"苹果手机"},["/zh/document/Functions/Steam Guard/import/ios令牌.html","/zh/document/Functions/Steam Guard/import/ios令牌.md",":md"]],["v-7adb3692","/zh/document/Functions/Steam%20Guard/import/%E5%8F%82%E8%80%83.html",{y:"a",t:"参考文档"},["/zh/document/Functions/Steam Guard/import/参考.html","/zh/document/Functions/Steam Guard/import/参考.md",":md"]],["v-c4bad90c","/zh/document/Functions/Steam%20Guard/import/%E7%99%BB%E5%BD%95%E4%BB%A4%E7%89%8C.html",{y:"a",t:"登录Steam"},["/zh/document/Functions/Steam Guard/import/登录令牌.html","/zh/document/Functions/Steam Guard/import/登录令牌.md",":md"]],["v-3706649a","/404.html",{y:"p",t:""},[]],["v-d0f33908","/zh/development/",{y:"p",t:"Development"},[]],["v-c6dc4a3c","/en/document/ASF/",{y:"p",t:"A S F"},[]],["v-c6d84300","/en/document/FAQ/",{y:"p",t:"F A Q"},[]],["v-3fc78618","/en/document/Start/",{y:"p",t:"Start"},[]],["v-51a25878","/en/document/Steam%20Guard/",{y:"p",t:"Steam Guard"},["/en/document/Steam Guard/"]],["v-02669445","/zh/document/FAQ/",{y:"p",t:"F A Q"},[]],["v-1c189579","/zh/document/Start/",{y:"p",t:"Start"},[]],["v-9c23808a","/zh/document/Functions/ASF/",{y:"p",t:"A S F"},[]],["v-315fb940","/zh/document/Functions/",{y:"p",t:"Functions"},[]],["v-2e9cf745","/zh/document/Functions/Account%20Switch/",{y:"p",t:"Account Switch"},["/zh/document/Functions/Account Switch/"]],["v-dfc454f6","/zh/document/Functions/Game%20Tools/",{y:"p",t:"Game Tools"},["/zh/document/Functions/Game Tools/"]],["v-79c4cb58","/zh/document/Functions/Library/",{y:"p",t:"Library"},[]],["v-57679c0c","/zh/document/Functions/Network%20Acceleration/",{y:"p",t:"Network Acceleration"},["/zh/document/Functions/Network Acceleration/"]],["v-7539bd5d","/zh/document/Functions/Steam%20Guard/",{y:"p",t:"Steam Guard"},["/zh/document/Functions/Steam Guard/"]],["v-181d89ce","/zh/document/Functions/Userscript/",{y:"p",t:"Userscript"},[]],["v-5661f12d","/zh/document/Functions/Steam%20Guard/import/",{y:"p",t:"Import"},["/zh/document/Functions/Steam Guard/import/"]],["v-8daa1a0e","/",{y:"p",t:"Home"},[]]];var ga=U({name:"Vuepress",setup(){const e=rp();return()=>d(e.value)}}),F1=()=>I1.reduce((e,[t,n,o,r])=>(e.push({name:t,path:n,component:ga,meta:o},{path:n.endsWith("/")?n+"index.html":n.substring(0,n.length-5),redirect:n},...r.map(l=>({path:l===":md"?n.substring(0,n.length-5)+".md":l,redirect:n}))),e),[{name:"404",path:"/:catchAll(.*)",component:ga}]),D1=kp,$1=()=>{const e=uh({history:D1(yl("/SteamTools-Guide/")),routes:F1(),scrollBehavior:(t,n,o)=>o||(t.hash?{el:t.hash}:{top:0})});return e.beforeResolve(async(t,n)=>{var o;(t.path!==n.path||n===_t)&&([t.meta._data]=await Promise.all([gt.resolvePageData(t.name),(o=Li[t.name])==null?void 0:o.__asyncLoader()]))}),e},z1=e=>{e.component("ClientOnly",or),e.component("Content",Fi)},M1=(e,t,n)=>{const o=Qs(()=>t.currentRoute.value.path),r=Qs(()=>gt.resolveRouteLocale(pn.value.locales,o.value)),l=ar(o,()=>t.currentRoute.value.meta._data),s=k(()=>gt.resolveLayouts(n)),a=k(()=>gt.resolveSiteLocaleData(pn.value,r.value)),i=k(()=>gt.resolvePageFrontmatter(l.value)),c=k(()=>gt.resolvePageHeadTitle(l.value,a.value)),u=k(()=>gt.resolvePageHead(c.value,i.value,a.value)),f=k(()=>gt.resolvePageLang(l.value,a.value)),p=k(()=>gt.resolvePageLayout(l.value,s.value));return e.provide(ep,s),e.provide(ki,l),e.provide(Ci,i),e.provide(op,c),e.provide(Pi,u),e.provide(xi,f),e.provide(Ri,p),e.provide(wl,r),e.provide(Ii,a),Object.defineProperties(e.config.globalProperties,{$frontmatter:{get:()=>i.value},$head:{get:()=>u.value},$headTitle:{get:()=>c.value},$lang:{get:()=>f.value},$page:{get:()=>l.value},$routeLocale:{get:()=>r.value},$site:{get:()=>pn.value},$siteLocale:{get:()=>a.value},$withBase:{get:()=>ze}}),{layouts:s,pageData:l,pageFrontmatter:i,pageHead:u,pageHeadTitle:c,pageLang:f,pageLayout:p,routeLocale:r,siteData:pn,siteLocaleData:a}},N1=()=>{const e=np(),t=El(),n=Z([]),o=()=>{e.value.forEach(l=>{const s=V1(l);s&&n.value.push(s)})},r=()=>{document.documentElement.lang=t.value,n.value.forEach(l=>{l.parentNode===document.head&&document.head.removeChild(l)}),n.value.splice(0,n.value.length),e.value.forEach(l=>{const s=B1(l);s!==null&&(document.head.appendChild(s),n.value.push(s))})};bn(sp,r),Ee(()=>{o(),r(),ue(()=>e.value,r)})},V1=([e,t,n=""])=>{const o=Object.entries(t).map(([a,i])=>ce(i)?`[${a}=${JSON.stringify(i)}]`:i===!0?`[${a}]`:"").join(""),r=`head > ${e}${o}`;return Array.from(document.querySelectorAll(r)).find(a=>a.innerText===n)||null},B1=([e,t,n])=>{if(!ce(e))return null;const o=document.createElement(e);return bl(t)&&Object.entries(t).forEach(([r,l])=>{ce(l)?o.setAttribute(r,l):l===!0&&o.setAttribute(r,"")}),ce(n)&&o.appendChild(document.createTextNode(n)),o},H1=jf,j1=async()=>{var n;const e=H1({name:"VuepressApp",setup(){var o;N1();for(const r of Oo)(o=r.setup)==null||o.call(r);return()=>[d(Ui),...Oo.flatMap(({rootComponents:r=[]})=>r.map(l=>d(l)))]}}),t=$1();z1(e),M1(e,t,Oo);for(const o of Oo)await((n=o.enhance)==null?void 0:n.call(o,{app:e,router:t,siteData:pn}));return e.use(t),{app:e,router:t}};j1().then(({app:e,router:t})=>{t.isReady().then(()=>{e.mount("#app")})});export{po as A,U1 as B,J1 as C,ks as D,ke as E,Ge as F,Y1 as G,lm as H,bn as I,rn as J,e0 as K,X1 as L,di as a,fi as b,q1 as c,j1 as createVueApp,Ae as d,K1 as e,Q1 as f,Ee as g,U as h,Z as i,ue as j,pl as k,W1 as l,be as m,Zr as n,qd as o,k as p,Qd as q,at as r,Xt as s,G1 as t,Z1 as u,el as v,cd as w,d as x,ic as y,$n as z}; diff --git a/assets/component-e123f4b4.js b/assets/component-e123f4b4.js new file mode 100644 index 0000000..926dabd --- /dev/null +++ b/assets/component-e123f4b4.js @@ -0,0 +1,53 @@ +var an=Object.defineProperty;var rn=(l,t,n)=>t in l?an(l,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[t]=n;var wt=(l,t,n)=>(rn(l,typeof t!="symbol"?t+"":t,n),n);import{a as _,h as Ne,i as U,g as et,j as ve,k as sn,o as m,c as w,F as te,l as se,n as yt,m as ut,u as on,p as X,r as cn,f as j,q as ke,s as T,t as M,v as J,d as ee,x as N,y as Le,z as pt,A as un,B as qe,C as pn,D as hn,E as dn,G as bt,b as Ce,H as gn,I as fn,J as mn,K as vn,L as kn}from"./app-d53ff271.js";var Be=new Map;function wn(l){var t=Be.get(l);t&&t.destroy()}function yn(l){var t=Be.get(l);t&&t.update()}var De=null;typeof window>"u"?((De=function(l){return l}).destroy=function(l){return l},De.update=function(l){return l}):((De=function(l,t){return l&&Array.prototype.forEach.call(l.length?l:[l],function(n){return function(e){if(e&&e.nodeName&&e.nodeName==="TEXTAREA"&&!Be.has(e)){var i,a=null,r=window.getComputedStyle(e),s=(i=e.value,function(){d({testForHeightReduction:i===""||!e.value.startsWith(i),restoreTextAlign:null}),i=e.value}),u=(function(p){e.removeEventListener("autosize:destroy",u),e.removeEventListener("autosize:update",c),e.removeEventListener("input",s),window.removeEventListener("resize",c),Object.keys(p).forEach(function(g){return e.style[g]=p[g]}),Be.delete(e)}).bind(e,{height:e.style.height,resize:e.style.resize,textAlign:e.style.textAlign,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",u),e.addEventListener("autosize:update",c),e.addEventListener("input",s),window.addEventListener("resize",c),e.style.overflowX="hidden",e.style.wordWrap="break-word",Be.set(e,{destroy:u,update:c}),c()}function d(p){var g,h,E=p.restoreTextAlign,o=E===void 0?null:E,f=p.testForHeightReduction,R=f===void 0||f,z=r.overflowY;if(e.scrollHeight!==0&&(r.resize==="vertical"?e.style.resize="none":r.resize==="both"&&(e.style.resize="horizontal"),R&&(g=function($){for(var V=[];$&&$.parentNode&&$.parentNode instanceof Element;)$.parentNode.scrollTop&&V.push([$.parentNode,$.parentNode.scrollTop]),$=$.parentNode;return function(){return V.forEach(function(O){var P=O[0],ie=O[1];P.style.scrollBehavior="auto",P.scrollTop=ie,P.style.scrollBehavior=null})}}(e),e.style.height=""),h=r.boxSizing==="content-box"?e.scrollHeight-(parseFloat(r.paddingTop)+parseFloat(r.paddingBottom)):e.scrollHeight+parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),r.maxHeight!=="none"&&h>parseFloat(r.maxHeight)?(r.overflowY==="hidden"&&(e.style.overflow="scroll"),h=parseFloat(r.maxHeight)):r.overflowY!=="hidden"&&(e.style.overflow="hidden"),e.style.height=h+"px",o&&(e.style.textAlign=o),g&&g(),a!==h&&(e.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),a=h),z!==r.overflow&&!o)){var I=r.textAlign;r.overflow==="hidden"&&(e.style.textAlign=I==="start"?"end":"start"),d({restoreTextAlign:I,testForHeightReduction:!0})}}function c(){d({testForHeightReduction:!0,restoreTextAlign:null})}}(n)}),l}).destroy=function(l){return l&&Array.prototype.forEach.call(l.length?l:[l],wn),l},De.update=function(l){return l&&Array.prototype.forEach.call(l.length?l:[l],yn),l});var xt=De;function Vt(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let _e=Vt();function bn(l){_e=l}const Ft=/[&<>"']/,xn=new RegExp(Ft.source,"g"),Wt=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,$n=new RegExp(Wt.source,"g"),Cn={"&":"&","<":"<",">":">",'"':""","'":"'"},$t=l=>Cn[l];function Y(l,t){if(t){if(Ft.test(l))return l.replace(xn,$t)}else if(Wt.test(l))return l.replace($n,$t);return l}const _n=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function qt(l){return l.replace(_n,(t,n)=>(n=n.toLowerCase(),n==="colon"?":":n.charAt(0)==="#"?n.charAt(1)==="x"?String.fromCharCode(parseInt(n.substring(2),16)):String.fromCharCode(+n.substring(1)):""))}const zn=/(^|[^\[])\^/g;function W(l,t){l=typeof l=="string"?l:l.source,t=t||"";const n={replace:(e,i)=>(i=i.source||i,i=i.replace(zn,"$1"),l=l.replace(e,i),n),getRegex:()=>new RegExp(l,t)};return n}const Rn=/[^\w:]/g,Sn=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Ct(l,t,n){if(l){let e;try{e=decodeURIComponent(qt(n)).replace(Rn,"").toLowerCase()}catch{return null}if(e.indexOf("javascript:")===0||e.indexOf("vbscript:")===0||e.indexOf("data:")===0)return null}t&&!Sn.test(n)&&(n=An(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch{return null}return n}const Ze={},Ln=/^[^:]+:\/*[^/]*$/,In=/^([^:]+:)[\s\S]*$/,En=/^([^:]+:\/*[^/]*)[\s\S]*$/;function An(l,t){Ze[" "+l]||(Ln.test(l)?Ze[" "+l]=l+"/":Ze[" "+l]=Ge(l,"/",!0)),l=Ze[" "+l];const n=l.indexOf(":")===-1;return t.substring(0,2)==="//"?n?t:l.replace(In,"$1")+t:t.charAt(0)==="/"?n?t:l.replace(En,"$1")+t:l+t}const Xe={exec:function(){}};function _t(l,t){const n=l.replace(/\|/g,(a,r,s)=>{let u=!1,d=r;for(;--d>=0&&s[d]==="\\";)u=!u;return u?"|":" |"}),e=n.split(/ \|/);let i=0;if(e[0].trim()||e.shift(),e.length>0&&!e[e.length-1].trim()&&e.pop(),e.length>t)e.splice(t);else for(;e.length1;)t&1&&(n+=l),t>>=1,l+=l;return n+l}function Rt(l,t,n,e){const i=t.href,a=t.title?Y(t.title):null,r=l[1].replace(/\\([\[\]])/g,"$1");if(l[0].charAt(0)!=="!"){e.state.inLink=!0;const s={type:"link",raw:n,href:i,title:a,text:r,tokens:e.inlineTokens(r)};return e.state.inLink=!1,s}return{type:"image",raw:n,href:i,title:a,text:Y(r)}}function Un(l,t){const n=l.match(/^(\s+)(?:```)/);if(n===null)return t;const e=n[1];return t.split(` +`).map(i=>{const a=i.match(/^\s+/);if(a===null)return i;const[r]=a;return r.length>=e.length?i.slice(e.length):i}).join(` +`)}class ht{constructor(t){this.options=t||_e}space(t){const n=this.rules.block.newline.exec(t);if(n&&n[0].length>0)return{type:"space",raw:n[0]}}code(t){const n=this.rules.block.code.exec(t);if(n){const e=n[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:n[0],codeBlockStyle:"indented",text:this.options.pedantic?e:Ge(e,` +`)}}}fences(t){const n=this.rules.block.fences.exec(t);if(n){const e=n[0],i=Un(e,n[3]||"");return{type:"code",raw:e,lang:n[2]?n[2].trim().replace(this.rules.inline._escapes,"$1"):n[2],text:i}}}heading(t){const n=this.rules.block.heading.exec(t);if(n){let e=n[2].trim();if(/#$/.test(e)){const i=Ge(e,"#");(this.options.pedantic||!i||/ $/.test(i))&&(e=i.trim())}return{type:"heading",raw:n[0],depth:n[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(t){const n=this.rules.block.hr.exec(t);if(n)return{type:"hr",raw:n[0]}}blockquote(t){const n=this.rules.block.blockquote.exec(t);if(n){const e=n[0].replace(/^ *>[ \t]?/gm,""),i=this.lexer.state.top;this.lexer.state.top=!0;const a=this.lexer.blockTokens(e);return this.lexer.state.top=i,{type:"blockquote",raw:n[0],tokens:a,text:e}}}list(t){let n=this.rules.block.list.exec(t);if(n){let e,i,a,r,s,u,d,c,p,g,h,E,o=n[1].trim();const f=o.length>1,R={type:"list",raw:"",ordered:f,start:f?+o.slice(0,-1):"",loose:!1,items:[]};o=f?`\\d{1,9}\\${o.slice(-1)}`:`\\${o}`,this.options.pedantic&&(o=f?o:"[*+-]");const z=new RegExp(`^( {0,3}${o})((?:[ ][^\\n]*)?(?:\\n|$))`);for(;t&&(E=!1,!(!(n=z.exec(t))||this.rules.block.hr.test(t)));){if(e=n[0],t=t.substring(e.length),c=n[2].split(` +`,1)[0].replace(/^\t+/,$=>" ".repeat(3*$.length)),p=t.split(` +`,1)[0],this.options.pedantic?(r=2,h=c.trimLeft()):(r=n[2].search(/[^ ]/),r=r>4?1:r,h=c.slice(r),r+=n[1].length),u=!1,!c&&/^ *$/.test(p)&&(e+=p+` +`,t=t.substring(p.length+1),E=!0),!E){const $=new RegExp(`^ {0,${Math.min(3,r-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),V=new RegExp(`^ {0,${Math.min(3,r-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),O=new RegExp(`^ {0,${Math.min(3,r-1)}}(?:\`\`\`|~~~)`),P=new RegExp(`^ {0,${Math.min(3,r-1)}}#`);for(;t&&(g=t.split(` +`,1)[0],p=g,this.options.pedantic&&(p=p.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(O.test(p)||P.test(p)||$.test(p)||V.test(t)));){if(p.search(/[^ ]/)>=r||!p.trim())h+=` +`+p.slice(r);else{if(u||c.search(/[^ ]/)>=4||O.test(c)||P.test(c)||V.test(c))break;h+=` +`+p}!u&&!p.trim()&&(u=!0),e+=g+` +`,t=t.substring(g.length+1),c=p.slice(r)}}R.loose||(d?R.loose=!0:/\n *\n *$/.test(e)&&(d=!0)),this.options.gfm&&(i=/^\[[ xX]\] /.exec(h),i&&(a=i[0]!=="[ ] ",h=h.replace(/^\[[ xX]\] +/,""))),R.items.push({type:"list_item",raw:e,task:!!i,checked:a,loose:!1,text:h}),R.raw+=e}R.items[R.items.length-1].raw=e.trimRight(),R.items[R.items.length-1].text=h.trimRight(),R.raw=R.raw.trimRight();const I=R.items.length;for(s=0;sO.type==="space"),V=$.length>0&&$.some(O=>/\n.*\n/.test(O.raw));R.loose=V}if(R.loose)for(s=0;s$/,"$1").replace(this.rules.inline._escapes,"$1"):"",a=n[3]?n[3].substring(1,n[3].length-1).replace(this.rules.inline._escapes,"$1"):n[3];return{type:"def",tag:e,raw:n[0],href:i,title:a}}}table(t){const n=this.rules.block.table.exec(t);if(n){const e={type:"table",header:_t(n[1]).map(i=>({text:i})),align:n[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:n[3]&&n[3].trim()?n[3].replace(/\n[ \t]*$/,"").split(` +`):[]};if(e.header.length===e.align.length){e.raw=n[0];let i=e.align.length,a,r,s,u;for(a=0;a({text:d}));for(i=e.header.length,r=0;r/i.test(n[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(n[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(n[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:n[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Y(n[0]):n[0]}}link(t){const n=this.rules.inline.link.exec(t);if(n){const e=n[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const r=Ge(e.slice(0,-1),"\\");if((e.length-r.length)%2===0)return}else{const r=Tn(n[2],"()");if(r>-1){const u=(n[0].indexOf("!")===0?5:4)+n[1].length+r;n[2]=n[2].substring(0,r),n[0]=n[0].substring(0,u).trim(),n[3]=""}}let i=n[2],a="";if(this.options.pedantic){const r=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i);r&&(i=r[1],a=r[3])}else a=n[3]?n[3].slice(1,-1):"";return i=i.trim(),/^$/.test(e)?i=i.slice(1):i=i.slice(1,-1)),Rt(n,{href:i&&i.replace(this.rules.inline._escapes,"$1"),title:a&&a.replace(this.rules.inline._escapes,"$1")},n[0],this.lexer)}}reflink(t,n){let e;if((e=this.rules.inline.reflink.exec(t))||(e=this.rules.inline.nolink.exec(t))){let i=(e[2]||e[1]).replace(/\s+/g," ");if(i=n[i.toLowerCase()],!i){const a=e[0].charAt(0);return{type:"text",raw:a,text:a}}return Rt(e,i,e[0],this.lexer)}}emStrong(t,n,e=""){let i=this.rules.inline.emStrong.lDelim.exec(t);if(!i||i[3]&&e.match(/[\p{L}\p{N}]/u))return;const a=i[1]||i[2]||"";if(!a||a&&(e===""||this.rules.inline.punctuation.exec(e))){const r=i[0].length-1;let s,u,d=r,c=0;const p=i[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(p.lastIndex=0,n=n.slice(-1*t.length+r);(i=p.exec(n))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(u=s.length,i[3]||i[4]){d+=u;continue}else if((i[5]||i[6])&&r%3&&!((r+u)%3)){c+=u;continue}if(d-=u,d>0)continue;u=Math.min(u,u+d+c);const g=t.slice(0,r+i.index+(i[0].length-s.length)+u);if(Math.min(r,u)%2){const E=g.slice(1,-1);return{type:"em",raw:g,text:E,tokens:this.lexer.inlineTokens(E)}}const h=g.slice(2,-2);return{type:"strong",raw:g,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(t){const n=this.rules.inline.code.exec(t);if(n){let e=n[2].replace(/\n/g," ");const i=/[^ ]/.test(e),a=/^ /.test(e)&&/ $/.test(e);return i&&a&&(e=e.substring(1,e.length-1)),e=Y(e,!0),{type:"codespan",raw:n[0],text:e}}}br(t){const n=this.rules.inline.br.exec(t);if(n)return{type:"br",raw:n[0]}}del(t){const n=this.rules.inline.del.exec(t);if(n)return{type:"del",raw:n[0],text:n[2],tokens:this.lexer.inlineTokens(n[2])}}autolink(t,n){const e=this.rules.inline.autolink.exec(t);if(e){let i,a;return e[2]==="@"?(i=Y(this.options.mangle?n(e[1]):e[1]),a="mailto:"+i):(i=Y(e[1]),a=i),{type:"link",raw:e[0],text:i,href:a,tokens:[{type:"text",raw:i,text:i}]}}}url(t,n){let e;if(e=this.rules.inline.url.exec(t)){let i,a;if(e[2]==="@")i=Y(this.options.mangle?n(e[0]):e[0]),a="mailto:"+i;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])[0];while(r!==e[0]);i=Y(e[0]),e[1]==="www."?a="http://"+e[0]:a=e[0]}return{type:"link",raw:e[0],text:i,href:a,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(t,n){const e=this.rules.inline.text.exec(t);if(e){let i;return this.lexer.state.inRawBlock?i=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(e[0]):Y(e[0]):e[0]:i=Y(this.options.smartypants?n(e[0]):e[0]),{type:"text",raw:e[0],text:i}}}}const x={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Xe,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};x._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/;x._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;x.def=W(x.def).replace("label",x._label).replace("title",x._title).getRegex();x.bullet=/(?:[*+-]|\d{1,9}[.)])/;x.listItemStart=W(/^( *)(bull) */).replace("bull",x.bullet).getRegex();x.list=W(x.list).replace(/bull/g,x.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+x.def.source+")").getRegex();x._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";x._comment=/|$)/;x.html=W(x.html,"i").replace("comment",x._comment).replace("tag",x._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();x.paragraph=W(x._paragraph).replace("hr",x.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",x._tag).getRegex();x.blockquote=W(x.blockquote).replace("paragraph",x.paragraph).getRegex();x.normal={...x};x.gfm={...x.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"};x.gfm.table=W(x.gfm.table).replace("hr",x.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",x._tag).getRegex();x.gfm.paragraph=W(x._paragraph).replace("hr",x.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",x.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",x._tag).getRegex();x.pedantic={...x.normal,html:W(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",x._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Xe,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:W(x.normal._paragraph).replace("hr",x.hr).replace("heading",` *#{1,6} *[^ +]`).replace("lheading",x.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const k={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Xe,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Xe,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~";k.punctuation=W(k.punctuation).replace(/punctuation/g,k._punctuation).getRegex();k.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;k.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g;k._comment=W(x._comment).replace("(?:-->|$)","-->").getRegex();k.emStrong.lDelim=W(k.emStrong.lDelim).replace(/punct/g,k._punctuation).getRegex();k.emStrong.rDelimAst=W(k.emStrong.rDelimAst,"g").replace(/punct/g,k._punctuation).getRegex();k.emStrong.rDelimUnd=W(k.emStrong.rDelimUnd,"g").replace(/punct/g,k._punctuation).getRegex();k._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;k._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;k._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;k.autolink=W(k.autolink).replace("scheme",k._scheme).replace("email",k._email).getRegex();k._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;k.tag=W(k.tag).replace("comment",k._comment).replace("attribute",k._attribute).getRegex();k._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;k._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;k._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;k.link=W(k.link).replace("label",k._label).replace("href",k._href).replace("title",k._title).getRegex();k.reflink=W(k.reflink).replace("label",k._label).replace("ref",x._label).getRegex();k.nolink=W(k.nolink).replace("ref",x._label).getRegex();k.reflinkSearch=W(k.reflinkSearch,"g").replace("reflink",k.reflink).replace("nolink",k.nolink).getRegex();k.normal={...k};k.pedantic={...k.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:W(/^!?\[(label)\]\((.*?)\)/).replace("label",k._label).getRegex(),reflink:W(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",k._label).getRegex()};k.gfm={...k.normal,escape:W(k.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(e="x"+e.toString(16)),t+="&#"+e+";";return t}class we{constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||_e,this.options.tokenizer=this.options.tokenizer||new ht,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={block:x.normal,inline:k.normal};this.options.pedantic?(n.block=x.pedantic,n.inline=k.pedantic):this.options.gfm&&(n.block=x.gfm,this.options.breaks?n.inline=k.breaks:n.inline=k.gfm),this.tokenizer.rules=n}static get rules(){return{block:x,inline:k}}static lex(t,n){return new we(n).lex(t)}static lexInline(t,n){return new we(n).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,` +`),this.blockTokens(t,this.tokens);let n;for(;n=this.inlineQueue.shift();)this.inlineTokens(n.src,n.tokens);return this.tokens}blockTokens(t,n=[]){this.options.pedantic?t=t.replace(/\t/g," ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(s,u,d)=>u+" ".repeat(d.length));let e,i,a,r;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(s=>(e=s.call({lexer:this},t,n))?(t=t.substring(e.raw.length),n.push(e),!0):!1))){if(e=this.tokenizer.space(t)){t=t.substring(e.raw.length),e.raw.length===1&&n.length>0?n[n.length-1].raw+=` +`:n.push(e);continue}if(e=this.tokenizer.code(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` +`+e.raw,i.text+=` +`+e.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(e);continue}if(e=this.tokenizer.fences(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.heading(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.hr(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.blockquote(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.list(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.html(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.def(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=` +`+e.raw,i.text+=` +`+e.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[e.tag]||(this.tokens.links[e.tag]={href:e.href,title:e.title});continue}if(e=this.tokenizer.table(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.lheading(t)){t=t.substring(e.raw.length),n.push(e);continue}if(a=t,this.options.extensions&&this.options.extensions.startBlock){let s=1/0;const u=t.slice(1);let d;this.options.extensions.startBlock.forEach(function(c){d=c.call({lexer:this},u),typeof d=="number"&&d>=0&&(s=Math.min(s,d))}),s<1/0&&s>=0&&(a=t.substring(0,s+1))}if(this.state.top&&(e=this.tokenizer.paragraph(a))){i=n[n.length-1],r&&i.type==="paragraph"?(i.raw+=` +`+e.raw,i.text+=` +`+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(e),r=a.length!==t.length,t=t.substring(e.raw.length);continue}if(e=this.tokenizer.text(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&i.type==="text"?(i.raw+=` +`+e.raw,i.text+=` +`+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):n.push(e);continue}if(t){const s="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(s);break}else throw new Error(s)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){let e,i,a,r=t,s,u,d;if(this.tokens.links){const c=Object.keys(this.tokens.links);if(c.length>0)for(;(s=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)c.includes(s[0].slice(s[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,s.index)+"["+zt("a",s[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(s=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,s.index)+"["+zt("a",s[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(s=this.tokenizer.rules.inline.escapedEmSt.exec(r))!=null;)r=r.slice(0,s.index+s[0].length-2)+"++"+r.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;t;)if(u||(d=""),u=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(c=>(e=c.call({lexer:this},t,n))?(t=t.substring(e.raw.length),n.push(e),!0):!1))){if(e=this.tokenizer.escape(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.tag(t)){t=t.substring(e.raw.length),i=n[n.length-1],i&&e.type==="text"&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(e=this.tokenizer.link(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(e.raw.length),i=n[n.length-1],i&&e.type==="text"&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(e=this.tokenizer.emStrong(t,r,d)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.codespan(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.br(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.del(t)){t=t.substring(e.raw.length),n.push(e);continue}if(e=this.tokenizer.autolink(t,St)){t=t.substring(e.raw.length),n.push(e);continue}if(!this.state.inLink&&(e=this.tokenizer.url(t,St))){t=t.substring(e.raw.length),n.push(e);continue}if(a=t,this.options.extensions&&this.options.extensions.startInline){let c=1/0;const p=t.slice(1);let g;this.options.extensions.startInline.forEach(function(h){g=h.call({lexer:this},p),typeof g=="number"&&g>=0&&(c=Math.min(c,g))}),c<1/0&&c>=0&&(a=t.substring(0,c+1))}if(e=this.tokenizer.inlineText(a,Mn)){t=t.substring(e.raw.length),e.raw.slice(-1)!=="_"&&(d=e.raw.slice(-1)),u=!0,i=n[n.length-1],i&&i.type==="text"?(i.raw+=e.raw,i.text+=e.text):n.push(e);continue}if(t){const c="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return n}}class dt{constructor(t){this.options=t||_e}code(t,n,e){const i=(n||"").match(/\S*/)[0];if(this.options.highlight){const a=this.options.highlight(t,i);a!=null&&a!==t&&(e=!0,t=a)}return t=t.replace(/\n$/,"")+` +`,i?'
    '+(e?t:Y(t,!0))+`
    +`:"
    "+(e?t:Y(t,!0))+`
    +`}blockquote(t){return`
    +${t}
    +`}html(t){return t}heading(t,n,e,i){if(this.options.headerIds){const a=this.options.headerPrefix+i.slug(e);return`${t} +`}return`${t} +`}hr(){return this.options.xhtml?`
    +`:`
    +`}list(t,n,e){const i=n?"ol":"ul",a=n&&e!==1?' start="'+e+'"':"";return"<"+i+a+`> +`+t+" +`}listitem(t){return`
  • ${t}
  • +`}checkbox(t){return" "}paragraph(t){return`

    ${t}

    +`}table(t,n){return n&&(n=`${n}`),` + +`+t+` +`+n+`
    +`}tablerow(t){return` +${t} +`}tablecell(t,n){const e=n.header?"th":"td";return(n.align?`<${e} align="${n.align}">`:`<${e}>`)+t+` +`}strong(t){return`${t}`}em(t){return`${t}`}codespan(t){return`${t}`}br(){return this.options.xhtml?"
    ":"
    "}del(t){return`${t}`}link(t,n,e){if(t=Ct(this.options.sanitize,this.options.baseUrl,t),t===null)return e;let i='",i}image(t,n,e){if(t=Ct(this.options.sanitize,this.options.baseUrl,t),t===null)return e;let i=`${e}":">",i}text(t){return t}}class Zt{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,n,e){return""+e}image(t,n,e){return""+e}br(){return""}}class Kt{constructor(){this.seen={}}serialize(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(t,n){let e=t,i=0;if(this.seen.hasOwnProperty(e)){i=this.seen[t];do i++,e=t+"-"+i;while(this.seen.hasOwnProperty(e))}return n||(this.seen[t]=i,this.seen[e]=0),e}slug(t,n={}){const e=this.serialize(t);return this.getNextSafeSlug(e,n.dryrun)}}class ye{constructor(t){this.options=t||_e,this.options.renderer=this.options.renderer||new dt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Zt,this.slugger=new Kt}static parse(t,n){return new ye(n).parse(t)}static parseInline(t,n){return new ye(n).parseInline(t)}parse(t,n=!0){let e="",i,a,r,s,u,d,c,p,g,h,E,o,f,R,z,I,$,V,O;const P=t.length;for(i=0;i0&&z.tokens[0].type==="paragraph"?(z.tokens[0].text=V+" "+z.tokens[0].text,z.tokens[0].tokens&&z.tokens[0].tokens.length>0&&z.tokens[0].tokens[0].type==="text"&&(z.tokens[0].tokens[0].text=V+" "+z.tokens[0].tokens[0].text)):z.tokens.unshift({type:"text",text:V}):R+=V),R+=this.parse(z.tokens,f),g+=this.renderer.listitem(R,$,I);e+=this.renderer.list(g,E,o);continue}case"html":{e+=this.renderer.html(h.text);continue}case"paragraph":{e+=this.renderer.paragraph(this.parseInline(h.tokens));continue}case"text":{for(g=h.tokens?this.parseInline(h.tokens):h.text;i+1{if(e.message+=` +Please report this to https://github.com/markedjs/marked.`,l){const i="

    An error occurred:

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

    TeX is not available in preview

    ':'TeX is not available in preview',vi=l=>{const t=async(n,e={})=>fetch(`https://api.giphy.com/v1/gifs/${n}?${new URLSearchParams({lang:l,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...e}).toString()}`).then(i=>i.json()).then(({data:i})=>i.map(a=>({title:a.title,src:a.images.downsized_medium.url})));return{search:n=>t("search",{q:n,offset:"0"}),default:()=>t("trending",{}),more:(n,e=0)=>t("search",{q:n,offset:e.toString()})}},ki=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/{let t=0;return l.replace(ki,(n,e,i)=>{if(i)return`${i}`;if(e==="<")return"<";let a;tt[e]?a=tt[e]:(a=Bt[t],tt[e]=a);const r=`${e}`;return t=++t%Bt.length,r})},yi=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest","reactionTitle"],Ie=l=>Object.fromEntries(l.map((t,n)=>[yi[n],t]));var nt=Ie(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words",`Please input comments between $0 and $1 words! + Current word number: $2`,"Anonymous","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest","What do you think?"]),Ke=Ie(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード",`コメントは $0 から $1 ワードの間でなければなりません! + 現在の単語番号: $2`,"匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?"]),Ot=Ie(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Like","Cancel like","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras",`Favor enviar comentário com $0 a $1 palavras! + Número de palavras atuais: $2`,"Anônimo","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente","O que você acha?"]),it=Ie(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова",`Пожалуйста, введите комментарии от $0 до $1 слов! +Номер текущего слова: $2`,"Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]),lt=Ie(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字",`评论字数应在 $0 到 $1 字之间! +当前字数:$2`,"匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?"]),Pt=Ie(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎留言","來發留言吧~","送出","喜歡","取消喜歡","回覆","取消回覆","留言","重整","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登入","登出","管理者","置頂","字",`留言字數應在 $0 到 $1 字之間! +目前字數:$2`,"匿名","潛水","冒泡","吐槽","活躍","多話","傳說","表情包","搜尋表情包","個人資料","通過","待審核","垃圾","取消置頂","最早","最新","熱門","你認為這篇文章怎麼樣?"]);const at={zh:lt,"zh-cn":lt,"zh-CN":lt,"zh-tw":Pt,"zh-TW":Pt,en:nt,"en-US":nt,"en-us":nt,jp:Ke,ja:Ke,"jp-jp":Ke,"jp-JP":Ke,"pt-br":Ot,"pt-BR":Ot,ru:it,"ru-ru":it,"ru-RU":it},bi=l=>{const t=Jt(l);return en(t)?t:`https://${t}`},xi=l=>Array.isArray(l)?l:!!l&&[0,l],rt=(l,t)=>typeof l=="function"?l:l!==!1&&t,st="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",ot=(l,t)=>{let n=l.toString();for(;n.length{if(!l)return"";const e=typeof l=="string"?new Date(l.indexOf(" ")!==-1?l.replace(/-/g,"/"):l):l,i=t.getTime()-e.getTime(),a=Math.floor(i/864e5);if(a===0){const r=i%864e5,s=Math.floor(r/36e5);if(s===0){const u=r%36e5,d=Math.floor(u/6e4);if(d===0){const c=u%6e4;return`${Math.round(c/1e3)} ${n.seconds}`}return`${d} ${n.minutes}`}return`${s} ${n.hours}`}return a<0?n.now:a<8?`${a} ${n.days}`:(r=>{const s=ot(r.getDate(),2),u=ot(r.getMonth()+1,2);return`${ot(r.getFullYear(),2)}-${u}-${s}`})(e)},Ci=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,_i=l=>{const t=Le("WALINE_EMOJI",{}),n=!!/@[0-9]+\.[0-9]+\.[0-9]+/.test(l);if(n){const e=t.value[l];if(e)return Promise.resolve(e)}return fetch(`${l}/info.json`).then(e=>e.json()).then(e=>{const i={folder:l,...e};return n&&(t.value[l]=i),i})},Nt=(l,t="",n="",e="")=>`${t?`${t}/`:""}${n}${l}${e?`.${e}`:""}`,zi=l=>l.type.includes("image"),Ht=l=>{const t=Array.from(l).find(zi);return t?t.getAsFile():null},Ri=/\$.*?\$/,Si=/^\$(.*?)\$/,Li=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,tn=(l="",t={})=>l.replace(/:(.+?):/g,(n,e)=>t[e]?`${e}`:n),Ii=(l,{emojiMap:t,highlighter:n,texRenderer:e})=>{if(b.setOptions({highlight:n||void 0,breaks:!0,smartLists:!0,smartypants:!0}),e){const i=(a=>[{name:"blockMath",level:"block",tokenizer(r){const s=Li.exec(r);if(s!==null)return{type:"html",raw:s[0],text:a(!0,s[1])}}},{name:"inlineMath",level:"inline",start(r){const s=r.search(Ri);return s!==-1?s:r.length},tokenizer(r){const s=Si.exec(r);if(s!==null)return{type:"html",raw:s[0],text:a(!1,s[1])}}}])(e);b.use({extensions:i})}return b.parse(tn(l,t))},Ei={class:"wl-comment"},Ai={key:0,class:"wl-login-info"},Ti={class:"wl-avatar"},ji=["title"],Ui=["title"],Mi=["src"],Di=["title","textContent"],Bi={class:"wl-panel"},Oi=["for","textContent"],Pi=["id","onUpdate:modelValue","name","type"],Ni=["placeholder"],Hi={class:"wl-preview"},Vi=_("hr",null,null,-1),Fi=["innerHTML"],Wi={class:"wl-footer"},qi={class:"wl-actions"},Zi={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noopener noreferrer"},Ki=["title"],Gi=["title"],Qi=["title"],Xi=["title"],Yi={class:"wl-info"},Ji=_("div",{class:"wl-captcha-container"},null,-1),el={class:"wl-text-number"},tl={key:0},nl=["textContent"],il=["textContent"],ll=["disabled"],al=["placeholder"],rl={key:1,class:"wl-loading"},sl={key:0,class:"wl-tab-wrapper"},ol=["title","onClick"],cl=["src","alt"],ul={key:0,class:"wl-tabs"},pl=["onClick"],hl=["src","alt","title"],dl=["title"];var gl=Ne({__name:"CommentBox",props:{edit:{default:null},rootId:{default:""},replyId:{default:""},replyUser:{default:""}},emits:["log","cancelEdit","cancelReply","submit"],setup(l,{expose:t,emit:n}){const e=l;t();const i=ut("config"),a=Le("WALINE_COMMENT_BOX_EDITOR",""),r=Le("WALINE_USER_META",{nick:"",mail:"",link:""}),s=gt(),u=U({}),d=U(null),c=U(null),p=U(null),g=U(null),h=U(null),E=U(null),o=U(null),f=U({tabs:[],map:{}}),R=U(0),z=U(!1),I=U(!1),$=U(!1),V=U(""),O=U(0),P=un({loading:!0,list:[]}),ie=U(0),ge=U(!1),Ve=U(""),pe=U(!1),S=U(!1),A=X(()=>i.value.locale),D=X(()=>{var y;return!!((y=s.value)!=null&&y.token)}),K=X(()=>i.value.imageUploader!==!1),F=y=>{const v=d.value,L=v.selectionStart,B=v.selectionEnd||0,C=v.scrollTop;a.value=v.value.substring(0,L)+y+v.value.substring(B,v.value.length),v.focus(),v.selectionStart=L+y.length,v.selectionEnd=L+y.length,v.scrollTop=C},ne=y=>{const v=y.key;(y.ctrlKey||y.metaKey)&&v==="Enter"&&ze()},G=y=>{const v=`![${i.value.locale.uploading} ${y.name}]()`;return F(v),pe.value=!0,Promise.resolve().then(()=>i.value.imageUploader(y)).then(L=>{a.value=a.value.replace(v,`\r +![${y.name}](${L})`)}).catch(L=>{alert(L.message),a.value=a.value.replace(v,"")}).then(()=>{pe.value=!1})},le=y=>{var v;if((v=y.dataTransfer)!=null&&v.items){const L=Ht(y.dataTransfer.items);L&&K.value&&(G(L),y.preventDefault())}},oe=y=>{if(y.clipboardData){const v=Ht(y.clipboardData.items);v&&K.value&&G(v)}},be=()=>{const y=c.value;y.files&&K.value&&G(y.files[0]).then(()=>{y.value=""})},ze=async()=>{var We,Te,je,ft,mt,vt;const{serverURL:y,lang:v,login:L,wordLimit:B,requiredMeta:C,recaptchaV3Key:H,turnstileKey:q}=i.value,Q=await(async()=>{if(!navigator)return"";const{userAgentData:fe}=navigator;let de=navigator.userAgent;if(!fe||fe.platform!=="Windows")return de;const{platformVersion:ue}=await fe.getHighEntropyValues(["platformVersion"]);return ue&&parseInt(ue.split(".")[0])>=13&&(de=de.replace("Windows NT 10.0","Windows NT 11.0")),de})(),Z={comment:Ve.value,nick:r.value.nick,mail:r.value.mail,link:r.value.link,url:i.value.path,ua:Q};if((We=s.value)!=null&&We.token)Z.nick=s.value.display_name,Z.mail=s.value.email,Z.link=s.value.url;else{if(L==="force")return;if(C.indexOf("nick")>-1&&!Z.nick)return(Te=u.value.nick)==null||Te.focus(),alert(A.value.nickError);if(C.indexOf("mail")>-1&&!Z.mail||Z.mail&&(he=Z.mail,!Ci.test(he)))return(je=u.value.mail)==null||je.focus(),alert(A.value.mailError);Z.nick||(Z.nick=A.value.anonymous)}var he;if(Z.comment){if(!ge.value)return alert(A.value.wordHint.replace("$0",B[0].toString()).replace("$1",B[1].toString()).replace("$2",O.value.toString()));Z.comment=tn(Z.comment,f.value.map),e.replyId&&e.rootId&&(Z.pid=e.replyId,Z.rid=e.rootId,Z.at=e.replyUser),pe.value=!0;try{H&&(Z.recaptchaV3=await(ue=>{const Ue=jt[ue]??(jt[ue]=Yt.load(ue,{useRecaptchaNet:!0,autoHideBadge:!0}));return{execute:re=>Ue.then(Me=>Me.execute(re))}})(H).execute("social")),q&&(Z.turnstile=await(ae=q,{execute:async ue=>{const{load:Ue}=vn("https://challenges.cloudflare.com/turnstile/v0/api.js",void 0,{async:!1});await Ue();const re=window==null?void 0:window.turnstile;return new Promise(Me=>{re==null||re.ready(()=>{re==null||re.render(".wl-captcha-container",{sitekey:ae,action:ue,size:"compact",callback:Me})})})}}).execute("social"));const fe={serverURL:y,lang:v,token:(ft=s.value)==null?void 0:ft.token,comment:Z},de=await(e.edit?Qe({objectId:e.edit.objectId,...fe}):(({serverURL:ue,lang:Ue,token:re,comment:Me})=>{const kt={"Content-Type":"application/json"};return re&&(kt.Authorization=`Bearer ${re}`),fetch(`${ue}/comment?lang=${Ue}`,{method:"POST",headers:kt,body:JSON.stringify(Me)}).then(ln=>ln.json())})(fe));if(pe.value=!1,de.errmsg)return alert(de.errmsg);n("submit",de.data),a.value="",V.value="",e.replyId&&n("cancelReply"),(mt=e.edit)!=null&&mt.objectId&&n("cancelEdit")}catch(fe){pe.value=!1,alert(fe.message)}var ae}else(vt=d.value)==null||vt.focus()},Ee=y=>{y.preventDefault();const{lang:v,serverURL:L}=i.value;(({lang:B,serverURL:C})=>{const H=(window.innerWidth-450)/2,q=(window.innerHeight-450)/2,Q=window.open(`${C}/ui/login?lng=${encodeURIComponent(B)}`,"_blank",`width=450,height=450,left=${H},top=${q},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return Q==null||Q.postMessage({type:"TOKEN",data:null},"*"),new Promise(Z=>{const he=({data:ae})=>{ae&&typeof ae=="object"&&ae.type==="userInfo"&&ae.data.token&&(Q==null||Q.close(),window.removeEventListener("message",he),Z(ae.data))};window.addEventListener("message",he)})})({serverURL:L,lang:v}).then(B=>{s.value=B,(B.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(B)),n("log")})},Ae=()=>{s.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null"),n("log")},xe=y=>{y.preventDefault();const{lang:v,serverURL:L}=i.value,B=(window.innerWidth-800)/2,C=(window.innerHeight-800)/2,H=new URLSearchParams({lng:v,token:s.value.token}),q=window.open(`${L}/ui/profile?${H.toString()}`,"_blank",`width=800,height=800,left=${B},top=${C},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);q==null||q.postMessage({type:"TOKEN",data:s.value.token},"*")},$e=y=>{var v,L,B,C;(v=p.value)!=null&&v.contains(y.target)||(L=g.value)!=null&&L.contains(y.target)||(z.value=!1),(B=h.value)!=null&&B.contains(y.target)||(C=E.value)!=null&&C.contains(y.target)||(I.value=!1)},ce=async y=>{var Q;const{scrollTop:v,clientHeight:L,scrollHeight:B}=y.target,C=(L+v)/B,H=i.value.search,q=((Q=o.value)==null?void 0:Q.value)||"";C<.9||P.loading||S.value||(P.loading=!0,(H.more&&P.list.length?await H.more(q,P.list.length):await H.search(q)).length?P.list=[...P.list,...H.more&&P.list.length?await H.more(q,P.list.length):await H.search(q)]:S.value=!0,P.loading=!1,setTimeout(()=>{y.target.scrollTop=v},50))},Re=kn(y=>{P.list=[],S.value=!1,ce(y)},300);ve([i,O],([y,v])=>{const{wordLimit:L}=y;L?vL[1]?(ie.value=L[1],ge.value=!1):(ie.value=L[1],ge.value=!0):(ie.value=0,ge.value=!0)},{immediate:!0});const Fe=({data:y})=>{y&&y.type==="profile"&&(s.value={...s.value,...y.data},[localStorage,sessionStorage].filter(v=>v.getItem("WALINE_USER")).forEach(v=>v.setItem("WALINE_USER",JSON.stringify(s))))};return et(()=>{var y;document.body.addEventListener("click",$e),window.addEventListener("message",Fe),(y=e.edit)!=null&&y.objectId&&(a.value=e.edit.orig),ve(I,async v=>{if(!v)return;const L=i.value.search;o.value&&(o.value.value=""),P.loading=!0,P.list=L.default?await L.default():await L.search(""),P.loading=!1}),ve(()=>a.value,v=>{const{highlighter:L,texRenderer:B}=i.value;Ve.value=v,V.value=Ii(v,{emojiMap:f.value.map,highlighter:L,texRenderer:B}),O.value=(C=>{var H,q;return(((H=(Q=>Q.match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu))(C))==null?void 0:H.reduce((Q,Z)=>Q+(Z.trim()===""?0:Z.trim().split(/\s+/u).length),0))||0)+(((q=(Q=>Q.match(/[\u4E00-\u9FD5]/gu))(C))==null?void 0:q.length)||0)})(v),v?xt(d.value):xt.destroy(d.value)},{immediate:!0}),ve(()=>i.value.emoji,v=>{return(L=v,Promise.all(L.map(B=>typeof B=="string"?_i(Jt(B)):Promise.resolve(B))).then(B=>{const C={tabs:[],map:{}};return B.forEach(H=>{const{name:q,folder:Q,icon:Z,prefix:he,type:ae,items:We}=H;C.tabs.push({name:q,icon:Nt(Z,Q,he,ae),items:We.map(Te=>{const je=`${he||""}${Te}`;return C.map[je]=Nt(Te,Q,he,ae),je})})}),C})).then(B=>{f.value=B});var L},{immediate:!0})}),pt(()=>{document.body.removeEventListener("click",$e),window.removeEventListener("message",Fe)}),(y,v)=>{var L,B;return m(),w("div",Ei,[T(i).login!=="disable"&&D.value&&!((L=y.edit)!=null&&L.objectId)?(m(),w("div",Ai,[_("div",Ti,[_("button",{type:"submit",class:"wl-logout-btn",title:A.value.logout,onClick:Ae},[ee(T(Lt),{size:14})],8,ji),_("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:A.value.profile,onClick:xe},[_("img",{src:T(s).avatar,alt:"avatar"},null,8,Mi)],8,Ui)]),_("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:A.value.profile,onClick:xe,textContent:M(T(s).display_name)},null,8,Di)])):j("v-if",!0),_("div",Bi,[T(i).login!=="force"&&T(i).meta.length&&!D.value?(m(),w("div",{key:0,class:J(["wl-header",`item${T(i).meta.length}`])},[(m(!0),w(te,null,se(T(i).meta,C=>(m(),w("div",{key:C,class:"wl-header-item"},[_("label",{for:`wl-${C}`,textContent:M(A.value[C]+(T(i).requiredMeta.includes(C)||!T(i).requiredMeta.length?"":`(${A.value.optional})`))},null,8,Oi),qe(_("input",{id:`wl-${C}`,ref_for:!0,ref:H=>{H&&(u.value[C]=H)},"onUpdate:modelValue":H=>T(r)[C]=H,class:J(["wl-input",`wl-${C}`]),name:C,type:C==="mail"?"email":"text"},null,10,Pi),[[pn,T(r)[C]]])]))),128))],2)):j("v-if",!0),qe(_("textarea",{id:"wl-edit",ref_key:"editorRef",ref:d,"onUpdate:modelValue":v[0]||(v[0]=C=>dn(a)?a.value=C:null),class:"wl-editor",placeholder:y.replyUser?`@${y.replyUser}`:A.value.placeholder,onKeydown:ne,onDrop:le,onPaste:oe},null,40,Ni),[[hn,T(a)]]),qe(_("div",Hi,[Vi,_("h4",null,M(A.value.preview)+":",1),_("div",{class:"wl-content",innerHTML:V.value},null,8,Fi)],512),[[bt,$.value]]),_("div",Wi,[_("div",qi,[_("a",Zi,[ee(T(Vn))]),qe(_("button",{ref_key:"emojiButtonRef",ref:p,type:"button",class:J(["wl-action",{active:z.value}]),title:A.value.emoji,onClick:v[1]||(v[1]=C=>z.value=!z.value)},[ee(T(On))],10,Ki),[[bt,f.value.tabs.length]]),T(i).search?(m(),w("button",{key:0,ref_key:"gifButtonRef",ref:h,type:"button",class:J(["wl-action",{active:I.value}]),title:A.value.gif,onClick:v[2]||(v[2]=C=>I.value=!I.value)},[ee(T(Zn))],10,Gi)):j("v-if",!0),_("input",{id:"wl-image-upload",ref_key:"imageUploadRef",ref:c,class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:be},null,544),K.value?(m(),w("label",{key:1,for:"wl-image-upload",class:"wl-action",title:A.value.uploadImage},[ee(T(Pn))],8,Qi)):j("v-if",!0),_("button",{type:"button",class:J(["wl-action",{active:$.value}]),title:A.value.preview,onClick:v[3]||(v[3]=C=>$.value=!$.value)},[ee(T(Hn))],10,Xi)]),_("div",Yi,[Ji,_("div",el,[Ce(M(O.value)+" ",1),T(i).wordLimit?(m(),w("span",tl,[Ce("  /  "),_("span",{class:J({illegal:!ge.value}),textContent:M(ie.value)},null,10,nl)])):j("v-if",!0),Ce("  "+M(A.value.word),1)]),T(i).login==="disable"||D.value?j("v-if",!0):(m(),w("button",{key:0,type:"button",class:"wl-btn",onClick:Ee,textContent:M(A.value.login)},null,8,il)),T(i).login!=="force"||D.value?(m(),w("button",{key:1,type:"submit",class:"primary wl-btn",title:"Cmd|Ctrl + Enter",disabled:pe.value,onClick:ze},[pe.value?(m(),ke(T(Oe),{key:0,size:16})):(m(),w(te,{key:1},[Ce(M(A.value.submit),1)],64))],8,ll)):j("v-if",!0)]),_("div",{ref_key:"gifPopupRef",ref:E,class:J(["wl-gif-popup",{display:I.value}])},[_("input",{ref_key:"gifSearchInputRef",ref:o,type:"text",placeholder:A.value.gifSearchPlaceholder,onInput:v[4]||(v[4]=(...C)=>T(Re)&&T(Re)(...C))},null,40,al),P.list.length?(m(),ke(pi,{key:0,items:P.list,"column-width":200,gap:6,onInsert:v[5]||(v[5]=C=>F(C)),onScroll:ce},null,8,["items"])):j("v-if",!0),P.loading?(m(),w("div",rl,[ee(T(Oe),{size:30})])):j("v-if",!0)],2),_("div",{ref_key:"emojiPopupRef",ref:g,class:J(["wl-emoji-popup",{display:z.value}])},[(m(!0),w(te,null,se(f.value.tabs,(C,H)=>(m(),w(te,{key:C.name},[H===R.value?(m(),w("div",sl,[(m(!0),w(te,null,se(C.items,q=>(m(),w("button",{key:q,type:"button",title:q,onClick:Q=>F(`:${q}:`)},[z.value?(m(),w("img",{key:0,class:"wl-emoji",src:f.value.map[q],alt:q,loading:"lazy",referrerPolicy:"no-referrer"},null,8,cl)):j("v-if",!0)],8,ol))),128))])):j("v-if",!0)],64))),128)),f.value.tabs.length>1?(m(),w("div",ul,[(m(!0),w(te,null,se(f.value.tabs,(C,H)=>(m(),w("button",{key:C.name,type:"button",class:J(["wl-tab",{active:R.value===H}]),onClick:q=>R.value=H},[_("img",{class:"wl-emoji",src:C.icon,alt:C.name,title:C.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,hl)],10,pl))),128))])):j("v-if",!0)],2)])]),y.replyId||(B=y.edit)!=null&&B.objectId?(m(),w("button",{key:1,type:"button",class:"wl-close",title:A.value.cancelReply,onClick:v[6]||(v[6]=C=>y.$emit(y.replyId?"cancelReply":"cancelEdit"))},[ee(T(Lt),{size:24})],8,dl)):j("v-if",!0)])}}}),nn=He(gl,[["__file","CommentBox.vue"]]);const fl=["id"],ml={class:"wl-user","aria-hidden":"true"},vl=["src"],kl={class:"wl-card"},wl={class:"wl-head"},yl=["href"],bl={key:1,class:"wl-nick"},xl=["textContent"],$l=["textContent"],Cl=["textContent"],_l=["textContent"],zl=["textContent"],Rl={class:"wl-comment-actions"},Sl=["title"],Ll=["textContent"],Il=["title"],El={class:"wl-meta","aria-hidden":"true"},Al=["data-value","textContent"],Tl=["data-value","textContent"],jl=["data-value","textContent"],Ul=["innerHTML"],Ml={key:1,class:"wl-admin-actions"},Dl={class:"wl-comment-status"},Bl=["disabled","onClick","textContent"],Ol={key:3,class:"wl-quote"};var Pl=He(Ne({__name:"CommentCard",props:{comment:{},edit:{default:null},rootId:{},reply:{default:null}},emits:["log","submit","delete","edit","like","status","sticky","reply"],setup(l){const t=l,n=["approved","waiting","spam"],e=ut("config"),i=Xt(),a=on(),r=gt(),s=X(()=>e.value.locale),u=X(()=>{const{link:o}=t.comment;return o?en(o)?o:`https://${o}`:""}),d=X(()=>i.value.includes(t.comment.objectId)),c=X(()=>$i(t.comment.insertedAt,a.value,s.value)),p=X(()=>r.value.type==="administrator"),g=X(()=>t.comment.user_id&&r.value.objectId===t.comment.user_id),h=X(()=>{var o;return t.comment.objectId===((o=t.reply)==null?void 0:o.objectId)}),E=X(()=>{var o;return t.comment.objectId===((o=t.edit)==null?void 0:o.objectId)});return(o,f)=>{var z;const R=cn("CommentCard",!0);return m(),w("div",{id:o.comment.objectId,class:"wl-card-item"},[_("div",ml,[o.comment.avatar?(m(),w("img",{key:0,src:o.comment.avatar},null,8,vl)):j("v-if",!0),o.comment.type?(m(),ke(T(qn),{key:1})):j("v-if",!0)]),_("div",kl,[_("div",wl,[u.value?(m(),w("a",{key:0,class:"wl-nick",href:u.value,target:"_blank",rel:"nofollow noopener noreferrer"},M(o.comment.nick),9,yl)):(m(),w("span",bl,M(o.comment.nick),1)),o.comment.type==="administrator"?(m(),w("span",{key:2,class:"wl-badge",textContent:M(s.value.admin)},null,8,xl)):j("v-if",!0),o.comment.label?(m(),w("span",{key:3,class:"wl-badge",textContent:M(o.comment.label)},null,8,$l)):j("v-if",!0),o.comment.sticky?(m(),w("span",{key:4,class:"wl-badge",textContent:M(s.value.sticky)},null,8,Cl)):j("v-if",!0),o.comment.level!==void 0&&o.comment.level>=0?(m(),w("span",{key:5,class:J(`wl-badge level${o.comment.level}`),textContent:M(s.value[`level${o.comment.level}`]||`Level ${o.comment.level}`)},null,10,_l)):j("v-if",!0),_("span",{class:"wl-time",textContent:M(c.value)},null,8,zl),_("div",Rl,[p.value||g.value?(m(),w("button",{key:0,type:"button",class:"wl-edit",onClick:f[0]||(f[0]=()=>o.$emit("edit",o.comment))},[ee(T(Wn))])):j("v-if",!0),p.value||g.value?(m(),w("button",{key:1,type:"button",class:"wl-delete",onClick:f[1]||(f[1]=I=>o.$emit("delete",o.comment))},[ee(T(Bn))])):j("v-if",!0),_("button",{type:"button",class:"wl-like",title:d.value?s.value.cancelLike:s.value.like,onClick:f[2]||(f[2]=I=>o.$emit("like",o.comment))},[ee(T(Nn),{active:d.value},null,8,["active"]),"like"in o.comment?(m(),w("span",{key:0,textContent:M(o.comment.like)},null,8,Ll)):j("v-if",!0)],8,Sl),_("button",{type:"button",class:J(["wl-reply",{active:h.value}]),title:h.value?s.value.cancelReply:s.value.reply,onClick:f[3]||(f[3]=I=>o.$emit("reply",h.value?null:o.comment))},[ee(T(Fn))],10,Il)])]),_("div",El,[o.comment.addr?(m(),w("span",{key:0,class:"wl-addr","data-value":o.comment.addr,textContent:M(o.comment.addr)},null,8,Al)):j("v-if",!0),o.comment.browser?(m(),w("span",{key:1,class:"wl-browser","data-value":o.comment.browser,textContent:M(o.comment.browser)},null,8,Tl)):j("v-if",!0),o.comment.os?(m(),w("span",{key:2,class:"wl-os","data-value":o.comment.os,textContent:M(o.comment.os)},null,8,jl)):j("v-if",!0)]),E.value?j("v-if",!0):(m(),w("div",{key:0,class:"wl-content",innerHTML:o.comment.comment},null,8,Ul)),p.value&&!E.value?(m(),w("div",Ml,[_("span",Dl,[(m(),w(te,null,se(n,I=>_("button",{key:I,type:"submit",class:J(`wl-btn wl-${I}`),disabled:o.comment.status===I,onClick:$=>o.$emit("status",{status:I,comment:o.comment}),textContent:M(s.value[I])},null,10,Bl)),64))]),p.value&&!o.comment.rid?(m(),w("button",{key:0,type:"submit",class:"wl-btn wl-sticky",onClick:f[4]||(f[4]=I=>o.$emit("sticky",o.comment))},M(o.comment.sticky?s.value.unsticky:s.value.sticky),1)):j("v-if",!0)])):j("v-if",!0),h.value||E.value?(m(),w("div",{key:2,class:J({"wl-reply-wrapper":h.value,"wl-edit-wrapper":E.value})},[ee(nn,{edit:o.edit,"reply-id":(z=o.reply)==null?void 0:z.objectId,"reply-user":o.comment.nick,"root-id":o.rootId,onLog:f[5]||(f[5]=I=>o.$emit("log")),onCancelReply:f[6]||(f[6]=I=>o.$emit("reply",null)),onCancelEdit:f[7]||(f[7]=I=>o.$emit("edit",null)),onSubmit:f[8]||(f[8]=I=>o.$emit("submit",I))},null,8,["edit","reply-id","reply-user","root-id"])],2)):j("v-if",!0),o.comment.children?(m(),w("div",Ol,[(m(!0),w(te,null,se(o.comment.children,I=>(m(),ke(R,{key:I.objectId,comment:I,reply:o.reply,edit:o.edit,"root-id":o.rootId,onLog:f[9]||(f[9]=$=>o.$emit("log")),onDelete:f[10]||(f[10]=$=>o.$emit("delete",$)),onEdit:f[11]||(f[11]=$=>o.$emit("edit",$)),onLike:f[12]||(f[12]=$=>o.$emit("like",$)),onReply:f[13]||(f[13]=$=>o.$emit("reply",$)),onStatus:f[14]||(f[14]=$=>o.$emit("status",$)),onSticky:f[15]||(f[15]=$=>o.$emit("sticky",$)),onSubmit:f[16]||(f[16]=$=>o.$emit("submit",$))},null,8,["comment","reply","edit","root-id"]))),128))])):j("v-if",!0)])],8,fl)}}}),[["__file","CommentCard.vue"]]);const Nl="2.15.8",Hl={"data-waline":""},Vl={class:"wl-meta-head"},Fl={class:"wl-count"},Wl=["textContent"],ql={class:"wl-sort"},Zl=["onClick"],Kl={class:"wl-cards"},Gl={key:1,class:"wl-operation"},Ql=["textContent"],Xl={key:0,class:"wl-loading"},Yl=["textContent"],Jl={key:2,class:"wl-operation"},ea=["textContent"],ta={key:3,class:"wl-power"},na=_("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noopener noreferrer"}," Waline ",-1);var ia=Ne({__name:"WalineComment",props:["serverURL","path","meta","requiredMeta","dark","commentSorting","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright","recaptchaV3Key","turnstileKey","reaction"],setup(l){const t=l,n={latest:"insertedAt_desc",oldest:"insertedAt_asc",hottest:"like_desc"},e=Object.keys(n),i=gt(),a=Xt(),r=U("loading"),s=U(0),u=U(1),d=U(0),c=X(()=>(({serverURL:S,path:A=location.pathname,lang:D=typeof navigator>"u"?"en-US":navigator.language,locale:K,emoji:F=Dt,meta:ne=["nick","mail","link"],requiredMeta:G=[],dark:le=!1,pageSize:oe=10,wordLimit:be,imageUploader:ze,highlighter:Ee,texRenderer:Ae,copyright:xe=!0,login:$e="enable",search:ce,reaction:Re,recaptchaV3Key:Fe="",turnstileKey:y="",commentSorting:v="latest",...L})=>({serverURL:bi(S),path:hi(A),locale:{...at[D]||at["en-US"],...typeof K=="object"?K:{}},wordLimit:xi(be),meta:Mt(ne),requiredMeta:Mt(G),imageUploader:rt(ze,fi),highlighter:rt(Ee,wi),texRenderer:rt(Ae,mi),lang:Object.keys(at).includes(D)?D:"en-US",dark:le,emoji:typeof F=="boolean"?F?Dt:[]:F,pageSize:oe,login:$e,copyright:xe,search:ce!==!1&&(typeof ce=="object"?ce:vi(D)),recaptchaV3Key:Fe,turnstileKey:y,reaction:Array.isArray(Re)?Re:Re===!0?gi:[],commentSorting:v,...L}))(t)),p=U(c.value.commentSorting),g=U([]),h=U(null),E=U(null),o=X(()=>{return typeof(S=c.value.dark)=="string"?S==="auto"?`@media(prefers-color-scheme:dark){body${st}}`:`${S}${st}`:S===!0?`:root${st}`:"";var S}),f=X(()=>c.value.locale);let R;gn(o,{id:"waline-darkmode"});const z=S=>{var ne;const{serverURL:A,path:D,pageSize:K}=c.value,F=new AbortController;r.value="loading",R==null||R(),(({serverURL:G,lang:le,path:oe,page:be,pageSize:ze,sortBy:Ee,signal:Ae,token:xe})=>{const $e={};return xe&&($e.Authorization=`Bearer ${xe}`),fetch(`${G}/comment?path=${encodeURIComponent(oe)}&pageSize=${ze}&page=${be}&lang=${le}&sortBy=${Ee}`,{signal:Ae,headers:$e}).then(ce=>ce.json()).then(ce=>ct(ce,"Get comment data"))})({serverURL:A,lang:c.value.lang,path:D,pageSize:K,sortBy:n[p.value],page:S,signal:F.signal,token:(ne=i.value)==null?void 0:ne.token}).then(G=>{r.value="success",s.value=G.count,g.value.push(...G.data),u.value=S,d.value=G.totalPages}).catch(G=>{G.name!=="AbortError"&&(console.error(G.message),r.value="error")}),R=F.abort.bind(F)},I=()=>z(u.value+1),$=()=>{s.value=0,g.value=[],z(1)},V=S=>{h.value=S},O=S=>{E.value=S},P=S=>{if(E.value)E.value.comment=S.comment,E.value.orig=S.orig;else if(S.rid){const A=g.value.find(({objectId:D})=>D===S.rid);if(!A)return;Array.isArray(A.children)||(A.children=[]),A.children.push(S)}else g.value.unshift(S),s.value+=1},ie=async({comment:S,status:A})=>{var F;if(S.status===A)return;const{serverURL:D,lang:K}=c.value;await Qe({serverURL:D,lang:K,token:(F=i.value)==null?void 0:F.token,objectId:S.objectId,comment:{status:A}}),S.status=A},ge=async S=>{var K;if(S.rid)return;const{serverURL:A,lang:D}=c.value;await Qe({serverURL:A,lang:D,token:(K=i.value)==null?void 0:K.token,objectId:S.objectId,comment:{sticky:S.sticky?0:1}}),S.sticky=!S.sticky},Ve=async({objectId:S})=>{var K;if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:A,lang:D}=c.value;await(({serverURL:F,lang:ne,token:G,objectId:le})=>fetch(`${F}/comment/${le}?lang=${ne}`,{method:"DELETE",headers:{Authorization:`Bearer ${G}`}}).then(oe=>oe.json()).then(oe=>ct(oe,"Delete comment")))({serverURL:A,lang:D,token:(K=i.value)==null?void 0:K.token,objectId:S}),g.value.some((F,ne)=>F.objectId===S?(g.value=g.value.filter((G,le)=>le!==ne),!0):F.children.some((G,le)=>G.objectId===S&&(g.value[ne].children=F.children.filter((oe,be)=>be!==le),!0)))},pe=async S=>{var ne;const{serverURL:A,lang:D}=c.value,{objectId:K}=S,F=a.value.includes(K);await Qe({serverURL:A,lang:D,objectId:K,token:(ne=i.value)==null?void 0:ne.token,comment:{like:!F}}),F?a.value=a.value.filter(G=>G!==K):(a.value=[...a.value,K],a.value.length>50&&(a.value=a.value.slice(-50))),S.like=(S.like||0)+(F?-1:1)};return fn("config",c),et(()=>{ve(()=>[t.serverURL,t.path],()=>$(),{immediate:!0})}),pt(()=>R==null?void 0:R()),(S,A)=>(m(),w("div",Hl,[ee(oi),h.value?j("v-if",!0):(m(),ke(nn,{key:0,onLog:$,onSubmit:P})),_("div",Vl,[_("div",Fl,[s.value?(m(),w("span",{key:0,class:"wl-num",textContent:M(s.value)},null,8,Wl)):j("v-if",!0),Ce(" "+M(f.value.comment),1)]),_("ul",ql,[(m(!0),w(te,null,se(T(e),D=>(m(),w("li",{key:D,class:J([D===p.value?"active":""]),onClick:K=>(F=>{p.value!==F&&(p.value=F,$())})(D)},M(f.value[D]),11,Zl))),128))])]),_("div",Kl,[(m(!0),w(te,null,se(g.value,D=>(m(),ke(Pl,{key:D.objectId,"root-id":D.objectId,comment:D,reply:h.value,edit:E.value,onLog:$,onReply:V,onEdit:O,onSubmit:P,onStatus:ie,onDelete:Ve,onSticky:ge,onLike:pe},null,8,["root-id","comment","reply","edit"]))),128))]),r.value==="error"?(m(),w("div",Gl,[_("button",{type:"button",class:"wl-btn",onClick:$,textContent:M(f.value.refresh)},null,8,Ql)])):(m(),w(te,{key:2},[r.value==="loading"?(m(),w("div",Xl,[ee(T(Oe),{size:30})])):g.value.length?u.value
    Translation error?

    The content is automatically translated using translation software. If you find any errors, you can click on Edit this page on GitHub to submit the correct content.

    Name change notice

    Steam++ renamed to Watt Toolkit

    The guide may continue to use the original name Steam++ as a tutorial

    ',5),l={href:"https://docs.microsoft.com/zh-cn/windows/uwp/publish/store-policies#112-content-including-names-logos-original-and-third-party",target:"_blank",rel:"noopener noreferrer"},m=e("a",{href:"%5B/Change-name/QQ%E5%9B%BE%E7%89%8720220512025429.png%5D(https://raw.githubusercontent.com/XTsat/SteamTools-Guide/56b2364c72c7adb1f91f1582ea2fb0239ece11d4/docs/.vuepress/public/Change-name/QQ%E5%9B%BE%E7%89%8720220512025429.png)"},"Reason for off shelf",-1);function u(f,p){const t=n("ExternalLinkIcon");return r(),i("div",null,[h,e("p",null,[o("You can't use an unauthorized trademark on the Microsoft Store, i.e., a name similar to Steam, and you have to have proof of authorization from V to list it. "),e("a",l,[o("Microsoft Store Policy"),c(t)]),m])])}const b=a(d,[["render",u],["__file","index.html.vue"]]);export{b as default}; diff --git a/assets/index.html-1d34fdd8.js b/assets/index.html-1d34fdd8.js new file mode 100644 index 0000000..1c47753 --- /dev/null +++ b/assets/index.html-1d34fdd8.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-8daa1a0e","path":"/","title":"Home","lang":"en-US","frontmatter":{"title":"Home","description":"Redirecting to the correct locale... import { onMounted } from \\"vue\\"; if(!VUEPRESS_DEV) onMounted(() => { const { languages } = window.navigator; const { hash, origin } = window..."},"headers":[],"git":{},"readingTime":{"minutes":0.46,"words":137},"filePathRelative":null,"autoDesc":true}');export{e as data}; diff --git a/assets/index.html-2abf70b7.js b/assets/index.html-2abf70b7.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-2abf70b7.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-2d7f1218.js b/assets/index.html-2d7f1218.js new file mode 100644 index 0000000..c54ebcb --- /dev/null +++ b/assets/index.html-2d7f1218.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-315fb940","path":"/zh/document/Functions/","title":"Functions","lang":"en-US","frontmatter":{"title":"Functions","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/"}],["meta",{"property":"og:title","content":"Functions"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Functions\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-34bac0ba.js b/assets/index.html-34bac0ba.js new file mode 100644 index 0000000..96ae2f0 --- /dev/null +++ b/assets/index.html-34bac0ba.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as e,c as o,e as a}from"./app-d53ff271.js";const r={},l=a('

    🧰 Watt Toolkit 指南

    注意:Watt Toolkit 在不断地更新功能,所以教程具有一定的时效性,如果不符合教程请确认最后更新时间和 Watt Toolkit 版本是否更新

    1. Watt Toolkit 指南 仓库XTsat/SteamTools-Guide

    2. Watt Toolkit 指南 网页xtsat.github.io/SteamTools-Guide

    什么是 Watt Toolkit?

    🛠️「Watt Toolkit」是一个开源跨平台的多功能游戏工具箱。

    此工具箱的大部分功能都是需要您下载安装 Steam 才能使用。

    1. Watt Toolkit 官网steampp.net

    2. GitHub 仓库SteamTools-Team/SteamTools

    3. [原创发布]Steam++ 工具箱(其乐 Keylol)@软妹币玩家

    ',7),n=[l];function i(s,p){return e(),o("div",null,n)}const c=t(r,[["render",i],["__file","index.html.vue"]]);export{c as default}; diff --git a/assets/index.html-42e5d233.js b/assets/index.html-42e5d233.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-42e5d233.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-47489daa.js b/assets/index.html-47489daa.js new file mode 100644 index 0000000..4b5dd18 --- /dev/null +++ b/assets/index.html-47489daa.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-57679c0c","path":"/zh/document/Functions/Network%20Acceleration/","title":"Network Acceleration","lang":"en-US","frontmatter":{"title":"Network Acceleration","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Network%20Acceleration/"}],["meta",{"property":"og:title","content":"Network Acceleration"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Network Acceleration\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{e as data}; diff --git a/assets/index.html-48915e1b.js b/assets/index.html-48915e1b.js new file mode 100644 index 0000000..d40ab9e --- /dev/null +++ b/assets/index.html-48915e1b.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-51a25878","path":"/en/document/Steam%20Guard/","title":"Steam Guard","lang":"en-US","frontmatter":{"title":"Steam Guard","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Steam%20Guard/"}],["meta",{"property":"og:title","content":"Steam Guard"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Steam Guard\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{e as data}; diff --git a/assets/index.html-5caa2cc4.js b/assets/index.html-5caa2cc4.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-5caa2cc4.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-662c4e84.js b/assets/index.html-662c4e84.js new file mode 100644 index 0000000..e4e95fe --- /dev/null +++ b/assets/index.html-662c4e84.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-79c4cb58","path":"/zh/document/Functions/Library/","title":"Library","lang":"en-US","frontmatter":{"title":"Library","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Library/"}],["meta",{"property":"og:title","content":"Library"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Library\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-69da6685.js b/assets/index.html-69da6685.js new file mode 100644 index 0000000..af31eaa --- /dev/null +++ b/assets/index.html-69da6685.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-2e9cf745","path":"/zh/document/Functions/Account%20Switch/","title":"Account Switch","lang":"en-US","frontmatter":{"title":"Account Switch","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Account%20Switch/"}],["meta",{"property":"og:title","content":"Account Switch"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Account Switch\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-6d3a685f.js b/assets/index.html-6d3a685f.js new file mode 100644 index 0000000..1dae017 --- /dev/null +++ b/assets/index.html-6d3a685f.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-38d56a07","path":"/en/document/","title":"🧰 Watt Toolkit Guide","lang":"en","frontmatter":{"description":"repositories link https://github.com/XTsat/SteamTools-Guide (https://github.com/XTsat/SteamTools-Guide) website link https://xtsat.github.io/SteamTools-Guide (https://xtsat.gith...","head":[["link",{"rel":"alternate","hreflang":"zh","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"🧰 Watt Toolkit Guide"}],["meta",{"property":"og:description","content":"repositories link https://github.com/XTsat/SteamTools-Guide (https://github.com/XTsat/SteamTools-Guide) website link https://xtsat.github.io/SteamTools-Guide (https://xtsat.gith..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:locale:alternate","content":"zh"}],["meta",{"property":"og:updated_time","content":"2022-05-14T20:26:26.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-05-14T20:26:26.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"🧰 Watt Toolkit Guide\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2022-05-14T20:26:26.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"What is Watt Toolkit?","slug":"what-is-watt-toolkit","link":"#what-is-watt-toolkit","children":[]}],"git":{"createdTime":1652559986000,"updatedTime":1652559986000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":1}]},"readingTime":{"minutes":0.36,"words":109},"filePathRelative":"en/document/README.md","localizedDate":"May 14, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/index.html-84f7a6b5.js b/assets/index.html-84f7a6b5.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-84f7a6b5.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-8a77f3de.js b/assets/index.html-8a77f3de.js new file mode 100644 index 0000000..3536ec3 --- /dev/null +++ b/assets/index.html-8a77f3de.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-9c23808a","path":"/zh/document/Functions/ASF/","title":"A S F","lang":"en-US","frontmatter":{"title":"A S F","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/ASF/"}],["meta",{"property":"og:title","content":"A S F"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"A S F\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-8d3362ce.js b/assets/index.html-8d3362ce.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-8d3362ce.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-91c4cfb6.js b/assets/index.html-91c4cfb6.js new file mode 100644 index 0000000..5a5377f --- /dev/null +++ b/assets/index.html-91c4cfb6.js @@ -0,0 +1 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{r,o as n,c as i,a as t,b as e,d as s}from"./app-d53ff271.js";const l={},h=t("h1",{id:"🧰-watt-toolkit-guide",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#🧰-watt-toolkit-guide","aria-hidden":"true"},"#"),e(" 🧰 Watt Toolkit Guide")],-1),d={href:"https://github.com/XTsat/SteamTools-Guide",target:"_blank",rel:"noopener noreferrer"},c=t("code",null,"https://github.com/XTsat/SteamTools-Guide",-1),_={href:"https://xtsat.github.io/SteamTools-Guide",target:"_blank",rel:"noopener noreferrer"},u=t("code",null,"https://xtsat.github.io/SteamTools-Guide",-1),p=t("p",null,[t("strong",null,"Note"),e(": Watt Toolkit is constantly updating its features, so the tutorials are time-sensitive, so please check the last update time and whether the Watt Toolkit version is updated if it does not match the tutorials.")],-1),m=t("h2",{id:"what-is-watt-toolkit",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#what-is-watt-toolkit","aria-hidden":"true"},"#"),e(" What is Watt Toolkit?")],-1),f=t("p",null,'🛠️"Watt Toolkit" is an open source cross-platform multi-purpose game toolkit.',-1),k=t("p",null,"most of its features require you to download and install Steam to use it.",-1),b={href:"https://steampp.net/",target:"_blank",rel:"noopener noreferrer"},g={href:"https://github.com/SteamTools-Team/SteamTools",target:"_blank",rel:"noopener noreferrer"},T={href:"https://keylol.com/t667906-1-1",target:"_blank",rel:"noopener noreferrer"},x={href:"https://keylol.com/suid-269966",target:"_blank",rel:"noopener noreferrer"};function w(S,W){const o=r("ExternalLinkIcon");return n(),i("div",null,[h,t("p",null,[t("a",d,[e("repositories link "),c,s(o)])]),t("p",null,[t("a",_,[e("website link "),u,s(o)])]),p,m,f,k,t("p",null,[t("a",b,[e("Watt Toolkit Official WebSite"),s(o)])]),t("p",null,[t("a",g,[e("GitHub repositories"),s(o)])]),t("p",null,[t("a",T,[e("[Original Release]Steam++ Toolkit"),s(o)]),e(),t("a",x,[e("(Keylol)@RMBGAME"),s(o)])])])}const y=a(l,[["render",w],["__file","index.html.vue"]]);export{y as default}; diff --git a/assets/index.html-9ad5fb9f.js b/assets/index.html-9ad5fb9f.js new file mode 100644 index 0000000..9800f3d --- /dev/null +++ b/assets/index.html-9ad5fb9f.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-2d0a870d","path":"/en/","title":"HOME","lang":"en","frontmatter":{"title":"HOME","home":true,"heroImage":"/logo/Steam++Logo_1024.png","heroText":"Watt Toolkit Guide","tagline":"🛠️\\"Watt Toolkit\\" is an open source cross-platform multi-purpose Steam toolkit. (formerly steam++)","actions":[{"text":"Official WebSite","link":"https://steampp.net/","type":"secondary"},{"text":"GitHub","link":"https://github.com/BeyondDimension/SteamTools/","type":"secondary"},{"text":"Guide","link":"/en/document/","type":"primary"},{"text":"Download","link":"/en/document/Start/Download channel.md","type":"primary"}],"features":[{"title":"Network Acceleration","details":"Make the Steam community, Github, Google reCAPTCHA, Pixiv, Discord, Twitch and other domestic hard-to-access pages accessible properly. Functions similar to Steamcommunity 302, using Titanium-Web-Proxy open source project for local anti-generation."},{"title":"Script Configuration","details":"Some JS scripts are injected into web pages through an acceleration service that intercepts web requests, providing functionality similar to that of a web plugin"},{"title":"Account Switch","details":"Switch between Steam accounts that are already logged in on the current PC with one click, and manage features such as sorting your home shared library."},{"title":"Inventory Management","details":"Lets you manage your Steam game inventory directly, not only by downloading older Steam games, but also by managing Steam game achievements directly, supporting unlocked achievements and unlocked achievements."},{"title":"Local Authentication","details":"Let your cell phone token unified save in the computer, currently only support Steam token, later will develop support more token types with cloud synchronization token."},{"title":"ArchiSteamFarm","details":"Integration with ArchiSteamFarm provides functions such as hanging and dropping Steam Collectible Cards within the app."}],"footer":"
    © 2022,Built with VuePress By XTsat

    This guide is an amateur project and does not hold any trademarks.
    All trademarks are the property of their respective owners.
    ","footerHtml":true,"description":"Translation error? The content is automatically translated using translation software. If you find any errors, you can click on Edit this page on GitHub to submit the correct co...","head":[["link",{"rel":"alternate","hreflang":"zh","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/"}],["meta",{"property":"og:site_name","content":"Watt Toolkit Guide"}],["meta",{"property":"og:title","content":"HOME"}],["meta",{"property":"og:description","content":"Translation error? The content is automatically translated using translation software. If you find any errors, you can click on Edit this page on GitHub to submit the correct co..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en"}],["meta",{"property":"og:locale:alternate","content":"zh"}],["meta",{"property":"og:updated_time","content":"2022-07-12T17:29:49.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2022-07-12T17:29:49.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"HOME\\",\\"description\\":\\"Translation error? The content is automatically translated using translation software. If you find any errors, you can click on Edit this page on GitHub to submit the correct co...\\"}"]]},"headers":[{"level":3,"title":"Translation error?","slug":"translation-error","link":"#translation-error","children":[]},{"level":3,"title":"Name change notice","slug":"name-change-notice","link":"#name-change-notice","children":[]}],"git":{"createdTime":1649669629000,"updatedTime":1657646989000,"contributors":[{"name":"XTsat","email":"xiaotong1238@gmail.com","commits":7}]},"readingTime":{"minutes":1.4,"words":419},"filePathRelative":"en/README.md","localizedDate":"April 11, 2022","autoDesc":true}');export{t as data}; diff --git a/assets/index.html-9b538a70.js b/assets/index.html-9b538a70.js new file mode 100644 index 0000000..ca64905 --- /dev/null +++ b/assets/index.html-9b538a70.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-c6dc4a3c","path":"/en/document/ASF/","title":"A S F","lang":"en-US","frontmatter":{"title":"A S F","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/ASF/"}],["meta",{"property":"og:title","content":"A S F"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"A S F\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{e as data}; diff --git a/assets/index.html-a35d2d57.js b/assets/index.html-a35d2d57.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-a35d2d57.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-a9e55959.js b/assets/index.html-a9e55959.js new file mode 100644 index 0000000..f6b44c6 --- /dev/null +++ b/assets/index.html-a9e55959.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-7539bd5d","path":"/zh/document/Functions/Steam%20Guard/","title":"Steam Guard","lang":"en-US","frontmatter":{"title":"Steam Guard","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/"}],["meta",{"property":"og:title","content":"Steam Guard"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Steam Guard\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-ae667fda.js b/assets/index.html-ae667fda.js new file mode 100644 index 0000000..943d9de --- /dev/null +++ b/assets/index.html-ae667fda.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-3fc78618","path":"/en/document/Start/","title":"Start","lang":"en-US","frontmatter":{"title":"Start","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/Start/"}],["meta",{"property":"og:title","content":"Start"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Start\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-b0305eb5.js b/assets/index.html-b0305eb5.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-b0305eb5.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-b2064f7a.js b/assets/index.html-b2064f7a.js new file mode 100644 index 0000000..a811968 --- /dev/null +++ b/assets/index.html-b2064f7a.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-d0f33908","path":"/zh/development/","title":"Development","lang":"en-US","frontmatter":{"title":"Development","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/development/"}],["meta",{"property":"og:title","content":"Development"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Development\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{e as data}; diff --git a/assets/index.html-b54bbad4.js b/assets/index.html-b54bbad4.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-b54bbad4.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-b91fca8b.js b/assets/index.html-b91fca8b.js new file mode 100644 index 0000000..9f51139 --- /dev/null +++ b/assets/index.html-b91fca8b.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-5d0bca4c","path":"/zh/document/","title":"🧰 Watt Toolkit 指南","lang":"zh","frontmatter":{"pageClass":"link-box","externalLinkIcon":false,"description":"注意:Watt Toolkit 在不断地更新功能,所以教程具有一定的时效性,如果不符合教程请确认最后更新时间和 Watt Toolkit 版本是否更新 1. Watt Toolkit 指南 仓库XTsat/SteamTools-Guide (https://github.com/XTsat/SteamTools-Guide) 2. Watt Toolk...","head":[["link",{"rel":"alternate","hreflang":"en","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"🧰 Watt Toolkit 指南"}],["meta",{"property":"og:description","content":"注意:Watt Toolkit 在不断地更新功能,所以教程具有一定的时效性,如果不符合教程请确认最后更新时间和 Watt Toolkit 版本是否更新 1. Watt Toolkit 指南 仓库XTsat/SteamTools-Guide (https://github.com/XTsat/SteamTools-Guide) 2. Watt Toolk..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:locale:alternate","content":"en"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"🧰 Watt Toolkit 指南\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"什么是 Watt Toolkit?","slug":"什么是-watt-toolkit","link":"#什么是-watt-toolkit","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.56,"words":169},"filePathRelative":"zh/document/README.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/index.html-bc4c39bf.js b/assets/index.html-bc4c39bf.js new file mode 100644 index 0000000..fa07b0c --- /dev/null +++ b/assets/index.html-bc4c39bf.js @@ -0,0 +1 @@ +import{_ as u}from"./plugin-vue_export-helper-c27b6911.js";import{g as f,o as _,c as m,a as p}from"./app-d53ff271.js";const g=p("p",null,"Redirecting to the correct locale...",-1),$=[g],z={__name:"index.html",setup(x){return f(()=>{const{languages:l}=window.navigator,{hash:a,origin:n}=window.location,e=a.substring(1),r={0:["/en/",["en-US","en-UK","en"]],1:["/zh/",["zh-CN","zh-TW","zh"]],"/zh/":["zh"],"/en/":["en"]},t=["/en/","/zh/"],c=t.pop();let o=null;e:for(const h of l)for(const[i,d]of Object.entries(r))if(d.includes(h)){if(!t.includes(i))continue;o=i;break e}const s=c?`${n}/SteamTools-Guide${c}${e?`#${e}`:""}`:null;o&&t.includes(o)?location.href=`${n}/SteamTools-Guide${o}${e?`#${e}`:""}`:s?location.href=s:location.href=`${n}/SteamTools-Guide/404.html`}),(l,a)=>(_(),m("div",null,$))}},v=u(z,[["__file","index.html.vue"]]);export{v as default}; diff --git a/assets/index.html-c6c3d0a7.js b/assets/index.html-c6c3d0a7.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-c6c3d0a7.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-cc103ed0.js b/assets/index.html-cc103ed0.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-cc103ed0.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-d0c7accc.js b/assets/index.html-d0c7accc.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-d0c7accc.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-d18536e6.js b/assets/index.html-d18536e6.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-d18536e6.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-d98980a3.js b/assets/index.html-d98980a3.js new file mode 100644 index 0000000..a5d06ff --- /dev/null +++ b/assets/index.html-d98980a3.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-5661f12d","path":"/zh/document/Functions/Steam%20Guard/import/","title":"Import","lang":"en-US","frontmatter":{"title":"Import","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/"}],["meta",{"property":"og:title","content":"Import"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Import\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-dca847b6.js b/assets/index.html-dca847b6.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-dca847b6.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-e1b499b0.js b/assets/index.html-e1b499b0.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-e1b499b0.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-e2716666.js b/assets/index.html-e2716666.js new file mode 100644 index 0000000..58d9126 --- /dev/null +++ b/assets/index.html-e2716666.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-1c189579","path":"/zh/document/Start/","title":"Start","lang":"en-US","frontmatter":{"title":"Start","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Start/"}],["meta",{"property":"og:title","content":"Start"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Start\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-eee71cc2.js b/assets/index.html-eee71cc2.js new file mode 100644 index 0000000..c1db379 --- /dev/null +++ b/assets/index.html-eee71cc2.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-c6d84300","path":"/en/document/FAQ/","title":"F A Q","lang":"en-US","frontmatter":{"title":"F A Q","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/document/FAQ/"}],["meta",{"property":"og:title","content":"F A Q"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"F A Q\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{e as data}; diff --git a/assets/index.html-ef3c9811.js b/assets/index.html-ef3c9811.js new file mode 100644 index 0000000..fc5e148 --- /dev/null +++ b/assets/index.html-ef3c9811.js @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-dfc454f6","path":"/zh/document/Functions/Game%20Tools/","title":"Game Tools","lang":"en-US","frontmatter":{"title":"Game Tools","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Game%20Tools/"}],["meta",{"property":"og:title","content":"Game Tools"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Game Tools\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{e as data}; diff --git a/assets/index.html-f497db25.js b/assets/index.html-f497db25.js new file mode 100644 index 0000000..eb3e855 --- /dev/null +++ b/assets/index.html-f497db25.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-2d0ad528","path":"/zh/","title":"主页","lang":"zh","frontmatter":{"title":"主页","home":true,"heroImage":"/logo/Steam++Logo_1024.png","heroText":"Watt Toolkit 指南","tagline":"🛠️「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。(原名 Steam++)","actions":[{"text":"官网","link":"https://steampp.net/","type":"secondary"},{"text":"GitHub","link":"https://github.com/BeyondDimension/SteamTools/","type":"secondary"},{"text":"指南","link":"/zh/document/","type":"primary"},{"text":"下载","link":"/zh/document/Start/Download channel.md","type":"primary"}],"features":[{"title":"本地加速","details":"使 Steam 社区、 Github 、谷歌验证码等国内难以访问的网页正常访问。功能类似 steamcommunit302 ,使用 Titanium-Web-Proxy 开源项目进行本地反代。"},{"title":"脚本配置","details":"通过加速服务拦截网络请求将一些 JS 脚本注入在网页中,提供类似网页插件的功能。"},{"title":"账号切换","details":"一键切换已在当前 PC 上登录过的 Steam 账号,与管理家庭共享库排序等功能。"},{"title":"本地令牌","details":"让您的手机令牌统一保存在电脑中,目前仅支持 Steam 令牌,后续会开发支持更多的令牌种类与云同步令牌。"},{"title":"库存管理","details":"让您直接管理到 Steam 游戏库存,不仅能够下载老版本的 Steam 游戏,也能够对 Steam 游戏成就进行直接管理,支持解锁成就以及反解锁成就。"},{"title":"自动挂卡","details":"集成 ArchiSteamFarm 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。"}],"footer":"
    © 2022,Built with VuePress By 晓同

    本指南是一个业余项目,不持有任何商标。
    所有商标均为其各自所有者的财产。
    ","footerHtml":true,"description":"公告 更名通知 Steam++ 更名为 Watt Toolkit 上架微软商店不能使用未经授权的商标,即与 Steam 相近的名字,要有v社的授权证明才能上架 Microsoft Store 策略 (https://docs.microsoft.com/zh-cn/windows/uwp/publish/store-policies#112-conte...","head":[["link",{"rel":"alternate","hreflang":"en","href":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/en/"}],["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"主页"}],["meta",{"property":"og:description","content":"公告 更名通知 Steam++ 更名为 Watt Toolkit 上架微软商店不能使用未经授权的商标,即与 Steam 相近的名字,要有v社的授权证明才能上架 Microsoft Store 策略 (https://docs.microsoft.com/zh-cn/windows/uwp/publish/store-policies#112-conte..."}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:locale:alternate","content":"en"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"主页\\",\\"description\\":\\"公告 更名通知 Steam++ 更名为 Watt Toolkit 上架微软商店不能使用未经授权的商标,即与 Steam 相近的名字,要有v社的授权证明才能上架 Microsoft Store 策略 (https://docs.microsoft.com/zh-cn/windows/uwp/publish/store-policies#112-conte...\\"}"]]},"headers":[{"level":3,"title":"公告","slug":"公告","link":"#公告","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":3.13,"words":938},"filePathRelative":"zh/README.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/index.html-f50b6d68.js b/assets/index.html-f50b6d68.js new file mode 100644 index 0000000..6edef90 --- /dev/null +++ b/assets/index.html-f50b6d68.js @@ -0,0 +1 @@ +import{_ as r}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as a,c as i,a as e,b as o,d as n}from"./app-d53ff271.js";const l={},c=e("h3",{id:"公告",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#公告","aria-hidden":"true"},"#"),o(" 公告")],-1),d=e("h4",{id:"更名通知",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#更名通知","aria-hidden":"true"},"#"),o(" 更名通知")],-1),_=e("p",null,"Steam++ 更名为 Watt Toolkit",-1),h={href:"https://docs.microsoft.com/zh-cn/windows/uwp/publish/store-policies#112-content-including-names-logos-original-and-third-party",target:"_blank",rel:"noopener noreferrer"},u={href:"https://raw.githubusercontent.com/XTsat/SteamTools-Guide/56b2364c72c7adb1f91f1582ea2fb0239ece11d4/docs/.vuepress/public/Change-name/QQ%E5%9B%BE%E7%89%8720220512025429.png",target:"_blank",rel:"noopener noreferrer"},f=e("h4",{id:"_2022-07-23",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2022-07-23","aria-hidden":"true"},"#"),o(" 2022-07-23")],-1),p=e("li",null,"非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能",-1),m=e("li",null,"因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。",-1),x=e("li",null,"自动更新目前仅 Windows 端可用,且由于下载渠道限速可能导致无法更新成功,推荐在官网链接的网盘或群文件中下载压缩包解压覆盖更新(应用商店版由商店更新不受此影响)",-1),b=e("li",null,"在 Android 上因系统限制,目前的加速功能无法正常使用,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能",-1),g={href:"https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0",target:"_blank",rel:"noopener noreferrer"},k=e("li",null,"Windows x86 与 x64 版本令牌本机加密互不兼容,使用两者版本时注意令牌加密后的文件不能共用。",-1),E=e("li",null,"由于新版本加速功能重构,调整了部分加速项目,这会影响旧版本程序使用加速功能",-1),w=e("li",null,"为了能继续维持开发,从此版本开始将会添加程序内广告,赞助用户可以在设置中关闭所有广告",-1);function T(v,B){const t=s("ExternalLinkIcon");return a(),i("div",null,[c,d,_,e("p",null,[o("上架微软商店不能使用未经授权的商标,即与 Steam 相近的名字,要有v社的授权证明才能上架 "),e("a",h,[o("Microsoft Store 策略"),n(t)]),e("a",u,[o("下架原因"),n(t)])]),f,e("ol",null,[p,m,x,b,e("li",null,[o("fde 版本需要安装 "),e("a",g,[o("ASP.NET Core 运行时 6.0.8 (x64) 与 .NET Core 运行时 6.0.8 (x64)"),n(t)])]),k,E,w])])}const C=r(l,[["render",T],["__file","index.html.vue"]]);export{C as default}; diff --git a/assets/index.html-f67a1322.js b/assets/index.html-f67a1322.js new file mode 100644 index 0000000..997d68a --- /dev/null +++ b/assets/index.html-f67a1322.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-181d89ce","path":"/zh/document/Functions/Userscript/","title":"Userscript","lang":"en-US","frontmatter":{"title":"Userscript","article":false,"feed":false,"sitemap":false,"description":"","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Userscript/"}],["meta",{"property":"og:title","content":"Userscript"}],["meta",{"property":"og:type","content":"website"}],["meta",{"property":"og:locale","content":"en-US"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"WebPage\\",\\"name\\":\\"Userscript\\"}"]]},"headers":[],"git":{},"readingTime":{"minutes":0,"words":1},"filePathRelative":null,"autoDesc":true}');export{t as data}; diff --git a/assets/index.html-f7a5d191.js b/assets/index.html-f7a5d191.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-f7a5d191.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/index.html-fe8d2572.js b/assets/index.html-fe8d2572.js new file mode 100644 index 0000000..7df8ba5 --- /dev/null +++ b/assets/index.html-fe8d2572.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as t,o as n,c,d as r}from"./app-d53ff271.js";const a={};function _(s,l){const e=t("AutoCatalog");return n(),c("div",null,[r(e)])}const f=o(a,[["render",_],["__file","index.html.vue"]]);export{f as default}; diff --git a/assets/info-38d09500.png b/assets/info-38d09500.png new file mode 100644 index 0000000..4038669 Binary files /dev/null and b/assets/info-38d09500.png differ diff --git a/assets/info.html-0149709b.js b/assets/info.html-0149709b.js new file mode 100644 index 0000000..56a645e --- /dev/null +++ b/assets/info.html-0149709b.js @@ -0,0 +1 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{r as c,o as d,c as n,a as e,b as o,d as i,w as s,e as t}from"./app-d53ff271.js";const u={},h=e("h1",{id:"网络加速",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#网络加速","aria-hidden":"true"},"#"),o(" 网络加速")],-1),p=t("
  • 实现对 Steam Discord Twitch Origin Uplay GitHub Microsoft Store 谷歌验证码 Pixiv 等国内难以访问的网页正常访问,防止网络被干扰

  • ",1),_={href:"https://www.dogfight360.com/blog/686/",target:"_blank",rel:"noopener noreferrer"},m={href:"https://github.com/justcoding121/Titanium-Web-Proxy",target:"_blank",rel:"noopener noreferrer"},f={href:"https://github.com/microsoft/reverse-proxy",target:"_blank",rel:"noopener noreferrer"},x=t("
  • Host代理模式系统代理模式两种方式可以选择,第一次使用前需要确认安装证书文件

  • 还能解除 Steam 商店访问限制,包括但不限于:您所在的地区目前不提供此物品 此游戏标记为“仅限成人”。您看到此游戏是因为您 已将偏好设置为允许此类内容。

  • ",2),b=t('
    [点击展开]-常见问题

    Q: hosts 正在由另一进程使用,因此该进程无法访问此文件?

    A: hosts 文件被其它程序占用了导致本程序无法正常读写,使用 资源监视器关联的句柄 中搜索 hosts 找到占用的进程,结束掉该进 程即可。

    Q: 社区加速里的脚本启用了无效,为什么脚本前面的勾选框不会被保存?

    A: 脚本需要对应的加速服务开启才能生效,同时也必须启用了加速功能后启用脚本才有效,例如 Steam 商店史低查询 脚本必须要启用 Steam 商店加速服务 才能生效。

    Q: 使用加速提示证书安装失败?

    A: 一般是系统相关文件丢失导致,可以尝试手动安装程序目录 AppData 文件夹下的 SteamTools.Certificate.pfx 证书文件,安装到受 信任 的根证书区域,区域一定要选择正确,不然安装成功也无效,密码留空不填直接确定即可。

    加速方式

    • Dns 驱动拦截模式
      • 未实装
    • Hosts 代理模式
      • 效果不错,但有些人会遇到问题不便使用
    • PAC 代理模式
      • 未实装
    • 系统代理模式
      • 有时加速效果不佳,但基本都能使用

    加速类目

    简略展示常用的可加速站点

    • Steam 服务
      • 常规社区加速
      • 商店解锁访问限制
      • 讨论组/聊天(仅ipv6)
    • Discord 语音聊天
    • Twitch 直播
    • Origin
    • Uplay
    • 公共 CDN
    • 国外验证码平台
      • Arkoselabs
      • hCaptcha
      • Recaptcha(Goole)
    • Github
    • Microsoft Store
    • 网盘服务
      • OneDrive
      • MEGA
      • DropBox
    • 其他网站
      • Pinterest
      • Artstation
      • V2ex
      • Imgur 图床
      • Pixiv

    修复

    点击网络加速右上角的更多 ···

    移除证书重置 Hosts 文件

    ',9),g=e("p",null,"参考:",-1);function k(A,S){const l=c("ExternalLinkIcon"),r=c("RouterLink");return d(),n("div",null,[h,e("ul",null,[p,e("li",null,[e("p",null,[o("功能类似 "),e("a",_,[o("Steamcommunity 302"),i(l)]),o(",使用 "),e("a",m,[o("Titanium-Web-Proxy"),i(l)]),o(" 和 "),e("a",f,[o("YARP.ReverseProxy"),i(l)]),o(" 开源项目进行本地反代来支持更快的访问游戏网站。")])]),x]),b,e("ul",null,[e("li",null,[g,e("ul",null,[e("li",null,[i(r,{to:"/zh/document/FAQ/%E7%BD%91%E7%BB%9C.html"},{default:s(()=>[o("常见问题 > 网络加速问题")]),_:1})])])])])])}const D=a(u,[["render",k],["__file","info.html.vue"]]);export{D as default}; diff --git a/assets/info.html-0ce41c52.js b/assets/info.html-0ce41c52.js new file mode 100644 index 0000000..5b63fdc --- /dev/null +++ b/assets/info.html-0ce41c52.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-64ffdb90","path":"/zh/document/Functions/ASF/info.html","title":"自动挂卡","lang":"zh","frontmatter":{"description":"集成开源项目 ArchiSteamFarm (https://github.com/JustArchiNET/ArchiSteamFarm) 在应用内提供挂机掉落 Steam 集换式卡牌 等功能。; 最简单的ASF食用手册 (https://keylol.com/t770760-1-1) (其乐 Keylol)@cyb233 (https://keyl...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/ASF/info.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"自动挂卡"}],["meta",{"property":"og:description","content":"集成开源项目 ArchiSteamFarm (https://github.com/JustArchiNET/ArchiSteamFarm) 在应用内提供挂机掉落 Steam 集换式卡牌 等功能。; 最简单的ASF食用手册 (https://keylol.com/t770760-1-1) (其乐 Keylol)@cyb233 (https://keyl..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"自动挂卡\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.17,"words":52},"filePathRelative":"zh/document/Functions/ASF/info.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/info.html-15446d01.js b/assets/info.html-15446d01.js new file mode 100644 index 0000000..b00c4bf --- /dev/null +++ b/assets/info.html-15446d01.js @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-c27b6911.js";import{o as l,c as e,e as t}from"./app-d53ff271.js";const o="/SteamTools-Guide/assets/Game-Setting-ba6d150f.png",s={},a=t('

    游戏工具

    • 可以强制游戏窗口使用无边框窗口化或是全屏,也可以将游戏画面置于桌面壁纸上(与动态壁纸软件冲突)

      游戏工具

    工具列表

    • 结束进程
    • 无边框窗口化
    • 最大化
    • 默认大小
    • 隐藏
    • 显示
    • 置于壁纸层
    • 刷新壁纸
    ',4),n=[a];function r(c,_){return l(),e("div",null,n)}const f=i(s,[["render",r],["__file","info.html.vue"]]);export{f as default}; diff --git a/assets/info.html-30f86a4d.js b/assets/info.html-30f86a4d.js new file mode 100644 index 0000000..ff7cf17 --- /dev/null +++ b/assets/info.html-30f86a4d.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-e709adf4","path":"/zh/document/Functions/Game%20Tools/info.html","title":"游戏工具","lang":"zh","frontmatter":{"description":"可以强制游戏窗口使用无边框窗口化或是全屏,也可以将游戏画面置于桌面壁纸上(与动态壁纸软件冲突); 游戏工具 工具列表: 结束进程; 无边框窗口化; 最大化; 默认大小; 隐藏; 显示; 置于壁纸层; 刷新壁纸;","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Game%20Tools/info.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"游戏工具"}],["meta",{"property":"og:description","content":"可以强制游戏窗口使用无边框窗口化或是全屏,也可以将游戏画面置于桌面壁纸上(与动态壁纸软件冲突); 游戏工具 工具列表: 结束进程; 无边框窗口化; 最大化; 默认大小; 隐藏; 显示; 置于壁纸层; 刷新壁纸;"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"游戏工具\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.29,"words":88},"filePathRelative":"zh/document/Functions/Game Tools/info.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/info.html-4492917f.js b/assets/info.html-4492917f.js new file mode 100644 index 0000000..1eda0af --- /dev/null +++ b/assets/info.html-4492917f.js @@ -0,0 +1 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as n,c as r,a as e,b as t,d as c,e as i}from"./app-d53ff271.js";const l="/SteamTools-Guide/assets/Account-switching-ce8ecd9e.png",d="/SteamTools-Guide/assets/Family-Library-Sharing-b6c79244.png",m={},_=i('

    账号切换

    • 通过 Steam 默认保存凭证信息一键切换已在当前 PC 上登录过的 Steam 账号,并且可以一键离线登录,还能管理家庭共享库排序等功能。

      账户切换

    [点击展开]-常见问题

    Q: 账号切换之后还是需要输入密码和令牌?为什么有时候可以一键切换有时候不行?

    A: Watt Toolkit 的账号切换功能并没有记录你的密码和令牌, 能实现快速切换账号是因为 Steam 本身的记住密码功能,如果你没有记住密码登陆过账号,或者你的记住登陆状态丢失,都会导致账号切换之后需要密码和令牌,解决方法是下线所有当前 Steam 登陆的设备,重新在你的 PC 记住密码登陆一次。

    家庭库共享管理

    ',4),h={href:"https://help.steampowered.com/zh-cn/faqs/view/57A7-503C-991F-E9A8",target:"_blank",rel:"noopener noreferrer"},p=e("p",null,"调整当前设备上共享的 Steam 账号优先级顺序,用于解决想玩账号B的共享却一直使用的是账号A的共享这种问题,从上到下的排序为共享库使用的优先级顺序,也可以选择暂时禁用或启用指定账号的共享。调整后保存重启 Steam 生效!",-1),u=e("p",null,[e("img",{src:d,alt:"家庭共享"})],-1);function f(g,S){const a=s("ExternalLinkIcon");return n(),r("div",null,[_,e("p",null,[e("a",h,[t("家庭库共享"),c(a)]),t("(Steam 客服)")]),p,u])}const x=o(m,[["render",f],["__file","info.html.vue"]]);export{x as default}; diff --git a/assets/info.html-83af0431.js b/assets/info.html-83af0431.js new file mode 100644 index 0000000..0ab423c --- /dev/null +++ b/assets/info.html-83af0431.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-0bc26c1c","path":"/zh/document/Functions/Userscript/info.html","title":"脚本配置","lang":"zh","frontmatter":{"description":"通过加速服务拦截网络请求将一些 JS 脚本注入在网页中(Steam内置浏览器),提供类似网页插件的功能。使 Steam 内置的浏览器可以使用部分脚本; 比如 Steam历史最低价格查询 `Steam Economy Enhancer(Steam 市场增强) CSGO Market Tool(CSGO市场查询枪支磨损值); 脚本工坊 在登录状态下可以在脚...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Userscript/info.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"脚本配置"}],["meta",{"property":"og:description","content":"通过加速服务拦截网络请求将一些 JS 脚本注入在网页中(Steam内置浏览器),提供类似网页插件的功能。使 Steam 内置的浏览器可以使用部分脚本; 比如 Steam历史最低价格查询 `Steam Economy Enhancer(Steam 市场增强) CSGO Market Tool(CSGO市场查询枪支磨损值); 脚本工坊 在登录状态下可以在脚..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"脚本配置\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"脚本工坊","slug":"脚本工坊","link":"#脚本工坊","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.66,"words":497},"filePathRelative":"zh/document/Functions/Userscript/info.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/info.html-85600139.js b/assets/info.html-85600139.js new file mode 100644 index 0000000..1c29cde --- /dev/null +++ b/assets/info.html-85600139.js @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as e,c as d,e as r}from"./app-d53ff271.js";const a={},n=r('

    脚本配置

    • 通过加速服务拦截网络请求将一些 JS 脚本注入在网页中(Steam内置浏览器),提供类似网页插件的功能。使 Steam 内置的浏览器可以使用部分脚本

    • 比如 Steam历史最低价格查询 Steam Economy Enhancer(Steam 市场增强) CSGO Market Tool(CSGO市场查询枪支磨损值)

    脚本工坊

    在登录状态下可以在脚本市场直接下载常用的 Steam 脚本

    脚本市场列表: 仅作记录,并非实时更新

    名称介绍版本号
    GM基础脚本框架0.31
    好友和最近游戏中显示 VAC 状态在好友列表批量查看被VAC的好友1.5
    划词翻译-冻猫(更换有道翻译)选中文字自动翻译3.5.4
    Auto Redeemer SteamKey将复制的Steam CDKey自动激活test-3.1.0
    Chr's Inventory Helper库存批量出售1.5
    CSGO Market ToolCSGO市场查询磨损和印花2.41
    Steam 创意工坊大图修复修复 Steam 创意工坊大图无法显示1.0.0
    Steam 网页语言切换在网页顶端添加一个修改网页显示语言设置,不更改用户语言 仅支持 日语 中文 英语0.1.6
    Steam Auto Mass Craft Cards Badges in Bulk自动合卡,可以指定合成数量和种类3.05
    Steam Economy Enhancer增强库存和市场,批量快速出售,自动计算价格6.8.4 cn
    Steam 解锁区域限制解除软锁限制(加速已自带,本脚本已失效)1.0.5
    Steam 历史最低价格查询在价格上面显示历史最低价格和进包次数1.1
    Steam 商店搜索历史记录搜索输入框添加搜索历史记录0.31
    Steam 一键移除一键取关鉴赏家,游戏,清空愿望单0.7.8
    Steam 自动探索队列在节庆活动是自动探索队列获得卡片0.2
    True Level Lazy排除汽车大奖赛的徽章等级,因为太容易刷了0.1.2
    ',6),l=[n];function c(o,s){return e(),d("div",null,l)}const h=t(a,[["render",c],["__file","info.html.vue"]]);export{h as default}; diff --git a/assets/info.html-86e7be93.js b/assets/info.html-86e7be93.js new file mode 100644 index 0000000..2f8cf39 --- /dev/null +++ b/assets/info.html-86e7be93.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-0a5a5d17","path":"/zh/document/Functions/Library/info.html","title":"库存管理","lang":"zh","frontmatter":{"description":"让您直接管理到 Steam 游戏库存, 也能够对 Steam 游戏成就进行直接管理,支持解锁成就以及反解锁成就。; 其他功能 游戏信息修改 一键修改游戏的信息和图片等数据; 图例 信息 媒体 右键游戏 > 点击 编辑游戏信息; 目前有bug导致恢复原始数据不方便 下载完自动关机 可以使用 Steam 下载完成定时关机使无人下载完成后能减少不必要的耗电(...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Library/info.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"库存管理"}],["meta",{"property":"og:description","content":"让您直接管理到 Steam 游戏库存, 也能够对 Steam 游戏成就进行直接管理,支持解锁成就以及反解锁成就。; 其他功能 游戏信息修改 一键修改游戏的信息和图片等数据; 图例 信息 媒体 右键游戏 > 点击 编辑游戏信息; 目前有bug导致恢复原始数据不方便 下载完自动关机 可以使用 Steam 下载完成定时关机使无人下载完成后能减少不必要的耗电(..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"库存管理\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"其他功能","slug":"其他功能","link":"#其他功能","children":[{"level":3,"title":"游戏信息修改","slug":"游戏信息修改","link":"#游戏信息修改","children":[]},{"level":3,"title":"下载完自动关机","slug":"下载完自动关机","link":"#下载完自动关机","children":[]},{"level":3,"title":"挂时长","slug":"挂时长","link":"#挂时长","children":[]},{"level":3,"title":"成就解锁","slug":"成就解锁","link":"#成就解锁","children":[]}]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.58,"words":475},"filePathRelative":"zh/document/Functions/Library/info.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/info.html-8be05f75.js b/assets/info.html-8be05f75.js new file mode 100644 index 0000000..b8ecce9 --- /dev/null +++ b/assets/info.html-8be05f75.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{r as a,o as l,c,a as e,b as r,d as t}from"./app-d53ff271.js";const s={},_=e("h1",{id:"自动挂卡",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#自动挂卡","aria-hidden":"true"},"#"),r(" 自动挂卡")],-1),i={href:"https://github.com/JustArchiNET/ArchiSteamFarm",target:"_blank",rel:"noopener noreferrer"},h=e("code",null,"Steam 集换式卡牌",-1),d={href:"https://keylol.com/t770760-1-1",target:"_blank",rel:"noopener noreferrer"},m={href:"https://keylol.com/suid-988278",target:"_blank",rel:"noopener noreferrer"};function f(u,p){const o=a("ExternalLinkIcon");return l(),c("div",null,[_,e("ul",null,[e("li",null,[e("p",null,[r("集成开源项目 "),e("a",i,[r("ArchiSteamFarm"),t(o)]),r(" 在应用内提供挂机掉落 "),h,r(" 等功能。")])]),e("li",null,[e("p",null,[e("a",d,[r("最简单的ASF食用手册"),t(o)]),r(),e("a",m,[r("(其乐 Keylol)@cyb233"),t(o)])])])])])}const x=n(s,[["render",f],["__file","info.html.vue"]]);export{x as default}; diff --git a/assets/info.html-9a93f340.js b/assets/info.html-9a93f340.js new file mode 100644 index 0000000..8821b0d --- /dev/null +++ b/assets/info.html-9a93f340.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-7b85ff46","path":"/zh/document/Functions/Account%20Switch/info.html","title":"账号切换","lang":"zh","frontmatter":{"description":"通过 Steam 默认保存的凭证信息一键切换已在当前 PC 上登录过的 Steam 账号,并且可以一键离线登录,还能管理家庭共享库排序等功能。; 账户切换 [点击展开]-常见问题 Q: 账号切换之后还是需要输入密码和令牌?为什么有时候可以一键切换有时候不行? A: Watt Toolkit 的账号切换功能并没有记录你的密码和令牌, 能实现快速切换账号是...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Account%20Switch/info.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"账号切换"}],["meta",{"property":"og:description","content":"通过 Steam 默认保存的凭证信息一键切换已在当前 PC 上登录过的 Steam 账号,并且可以一键离线登录,还能管理家庭共享库排序等功能。; 账户切换 [点击展开]-常见问题 Q: 账号切换之后还是需要输入密码和令牌?为什么有时候可以一键切换有时候不行? A: Watt Toolkit 的账号切换功能并没有记录你的密码和令牌, 能实现快速切换账号是..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"账号切换\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"家庭库共享管理","slug":"家庭库共享管理","link":"#家庭库共享管理","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.16,"words":348},"filePathRelative":"zh/document/Functions/Account Switch/info.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/info.html-ab7cad16.js b/assets/info.html-ab7cad16.js new file mode 100644 index 0000000..0ca1019 --- /dev/null +++ b/assets/info.html-ab7cad16.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-26450031","path":"/zh/document/Functions/Network%20Acceleration/info.html","title":"网络加速","lang":"zh","frontmatter":{"description":"实现对 Steam `Discord Twitch Origin Uplay GitHub Microsoft Store 谷歌验证码 Pixiv 等国内难以访问的网页正常访问,防止网络被干扰; 功能类似 Steamcommunity 302 (https://www.dogfight360.com/blog/686/),使用 Titanium-Web...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Network%20Acceleration/info.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"网络加速"}],["meta",{"property":"og:description","content":"实现对 Steam `Discord Twitch Origin Uplay GitHub Microsoft Store 谷歌验证码 Pixiv 等国内难以访问的网页正常访问,防止网络被干扰; 功能类似 Steamcommunity 302 (https://www.dogfight360.com/blog/686/),使用 Titanium-Web..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"网络加速\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"加速方式","slug":"加速方式","link":"#加速方式","children":[]},{"level":2,"title":"加速类目","slug":"加速类目","link":"#加速类目","children":[]},{"level":2,"title":"修复","slug":"修复","link":"#修复","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.18,"words":653},"filePathRelative":"zh/document/Functions/Network Acceleration/info.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/info.html-afcebc52.js b/assets/info.html-afcebc52.js new file mode 100644 index 0000000..d6aabd0 --- /dev/null +++ b/assets/info.html-afcebc52.js @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-ce6ad7a4","path":"/zh/document/Functions/Steam%20Guard/info.html","title":"本地令牌","lang":"zh","frontmatter":{"description":"本地运行手机令牌程序,让你能够直接在电脑中获取令牌,可以同时管理多个令牌的使用,交易确认等 目前仅支持 Steam 令牌,后续可能会开发支持更多的令牌种类与云同步令牌 类似于 WinAuth (可以通过导出的方式将 WinAuth 2步验证 导入 Watt Toolkit,使用开源项目Winauth (https://github.com/winaut...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/info.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"本地令牌"}],["meta",{"property":"og:description","content":"本地运行手机令牌程序,让你能够直接在电脑中获取令牌,可以同时管理多个令牌的使用,交易确认等 目前仅支持 Steam 令牌,后续可能会开发支持更多的令牌种类与云同步令牌 类似于 WinAuth (可以通过导出的方式将 WinAuth 2步验证 导入 Watt Toolkit,使用开源项目Winauth (https://github.com/winaut..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"本地令牌\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.36,"words":108},"filePathRelative":"zh/document/Functions/Steam Guard/info.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git a/assets/info.html-c24217a4.js b/assets/info.html-c24217a4.js new file mode 100644 index 0000000..d94025f --- /dev/null +++ b/assets/info.html-c24217a4.js @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{r as a,o as c,c as r,a as e,b as t,d as s}from"./app-d53ff271.js";const _={},i=e("h1",{id:"本地令牌",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#本地令牌","aria-hidden":"true"},"#"),t(" 本地令牌")],-1),l=e("p",null,"本地运行手机令牌程序,让你能够直接在电脑中获取令牌,可以同时管理多个令牌的使用,交易确认等",-1),d=e("p",null,"目前仅支持 Steam 令牌,后续可能会开发支持更多的令牌种类与云同步令牌",-1),h=e("code",null,"WinAuth",-1),u=e("code",null,"WinAuth 2步验证",-1),f=e("code",null,"Watt Toolkit",-1),m={href:"https://github.com/winauth/winauth",target:"_blank",rel:"noopener noreferrer"};function p(x,k){const o=a("ExternalLinkIcon");return c(),r("div",null,[i,l,d,e("p",null,[t("类似于 "),h,t(" (可以通过导出的方式将 "),u,t(" 导入 "),f,t(",使用"),e("a",m,[t("开源项目Winauth"),s(o)]),t(")")])])}const v=n(_,[["render",p],["__file","info.html.vue"]]);export{v as default}; diff --git a/assets/info.html-d9278337.js b/assets/info.html-d9278337.js new file mode 100644 index 0000000..fe42c7b --- /dev/null +++ b/assets/info.html-d9278337.js @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-c27b6911.js";import{r as o,o as n,c as r,a as e,b as a,d as c,e as t}from"./app-d53ff271.js";const d="/SteamTools-Guide/assets/info-38d09500.png",l="/SteamTools-Guide/assets/photo-f10c60d3.png",h="/SteamTools-Guide/assets/Auto-shutdown-6027d505.png",m="/SteamTools-Guide/assets/Auto-Gametime-087e1710.png",p="/SteamTools-Guide/assets/Sam-6081be07.png",_="/SteamTools-Guide/assets/Sam2-cf8e381e.png",u={},f=t('

    库存管理

    • 让您直接管理到 Steam 游戏库存,不仅能够下载老版本的 Steam 游戏, 也能够对 Steam 游戏成就进行直接管理,支持解锁成就以及反解锁成就。

    其他功能

    游戏信息修改

    • 一键修改游戏的信息和图片等数据

      图例

      信息媒体

    • 右键游戏 > 点击 编辑游戏信息

    目前有bug导致恢复原始数据不方便

    下载完自动关机

    • 可以使用 Steam 下载完成定时关机使无人下载完成后能减少不必要的耗电(比如晚上睡觉自动下载完成后自动关机)

      自动关机

    挂时长

    • 让指定的游戏(最多32个)通过虚拟启动增加游戏时间,不用下载也能加长游戏时间

      自动挂游戏时长

    成就解锁

    ',11),g={class:"hint-container details"},S=e("summary",null,"[点击展开]-Steam 游戏成就解锁:",-1),b={href:"https://github.com/gibbed/SteamAchievementManager",target:"_blank",rel:"noopener noreferrer"},x=t('

    注意

    该功能带有一定风险,理论上不会被 VAC,但如果滥用可能被游戏厂商拉黑,建议在不启动游戏的情况下使用,截至目前为止还未有影响。解锁成就功能并不是外挂程序,原理上仅与 Steam 进行通信,和游戏本身并无关系,像 VAC 之类的反作弊系统是在多人游戏中发挥作用。如果游戏与其他平台绑定,解锁成就不会同步到其他平台上,如果重新完成成就,其他平台上也可能不会更新,例如 Sea of Thieves 与 Xbox 绑定。

    Sam

    通过勾选成就并保存成就更改(注意:最好不要对有 VAC 的游戏进行成就更改,以免造成不必要的损失,下图就是一个有 VAC 的游戏)

    Sam2

    ',3);function v(A,T){const s=o("ExternalLinkIcon");return n(),r("div",null,[f,e("details",g,[S,e("p",null,[a("Steam 游戏成就解锁使用开源项目 "),e("a",b,[a("SteamAchievementManager"),c(s)])]),x])])}const k=i(u,[["render",v],["__file","info.html.vue"]]);export{k as default}; diff --git "a/assets/ios\344\273\244\347\211\214.html-460d5100.js" "b/assets/ios\344\273\244\347\211\214.html-460d5100.js" new file mode 100644 index 0000000..3e0c20b --- /dev/null +++ "b/assets/ios\344\273\244\347\211\214.html-460d5100.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-5b27371f","path":"/zh/document/Functions/Steam%20Guard/import/ios%E4%BB%A4%E7%89%8C.html","title":"苹果手机","lang":"zh","frontmatter":{"description":"已越狱 用 Filza 打开/var/mobile/Containers/Data/Application/{字符串},数字串位置为Steam 数据文件夹,可能不一样,Filza会显示为“Steam” 用文本方式打开/Documents/Steamguard-xxxxxxxxxxxxxxxx,到最下面找到 otpauth 那一栏粘贴到 Steam++ ...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/ios%E4%BB%A4%E7%89%8C.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"苹果手机"}],["meta",{"property":"og:description","content":"已越狱 用 Filza 打开/var/mobile/Containers/Data/Application/{字符串},数字串位置为Steam 数据文件夹,可能不一样,Filza会显示为“Steam” 用文本方式打开/Documents/Steamguard-xxxxxxxxxxxxxxxx,到最下面找到 otpauth 那一栏粘贴到 Steam++ ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"苹果手机\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"已越狱","slug":"已越狱","link":"#已越狱","children":[]},{"level":2,"title":"未越狱,可能有暂挂","slug":"未越狱-可能有暂挂","link":"#未越狱-可能有暂挂","children":[]},{"level":2,"title":"参考","slug":"参考","link":"#参考","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.23,"words":668},"filePathRelative":"zh/document/Functions/Steam Guard/import/ios令牌.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/ios\344\273\244\347\211\214.html-e896b279.js" "b/assets/ios\344\273\244\347\211\214.html-e896b279.js" new file mode 100644 index 0000000..95c2a4c --- /dev/null +++ "b/assets/ios\344\273\244\347\211\214.html-e896b279.js" @@ -0,0 +1 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{r,o as n,c as s,a as e,b as o,d as t,e as i}from"./app-d53ff271.js";const c={},d=i('

    苹果手机

    已越狱

    Filza 打开/var/mobile/Containers/Data/Application/{字符串},数字串位置为Steam 数据文件夹,可能不一样,Filza会显示为“Steam” 用文本方式打开/Documents/Steamguard-xxxxxxxxxxxxxxxx,到最下面找到 otpauth 那一栏粘贴到 Steam++ 用文本方式打开/Library/Preferences/com.valvesoftware.Steam,并找到<string/var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Library/Caches</string,复制XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX并在最前面添加android:并粘贴到 Watt Toolkit

    未越狱,可能有暂挂

    ',4),u=i("
  • 将手机上的 Steam App 降级到 2.0.16这里虽说降级,但是一定要删掉原Steam,重新安装2.0.16版本!!!),其他版本没有测试,反正 App Store 里最新版是不行的。因为 Steam 更新以后,将验证码存放在了更安全的地方。具体怎么安装旧版的 App,自己百度。

  • 利用 iTunes 备份 iPhone,备份的时候不要选加密备份。备份完确保这个路径下确实有备份文件

    • Windows C:\\Users\\用户名\\AppData\\Roaming\\Apple Computer\\MobileSync\\Backup\\
    • macOS /Users/用户名/Library/Application Support/MobileSync/Backup/
  • ",2),h={href:"https://github.com/AigioL/ios-steamguard-extractor/releases",target:"_blank",rel:"noopener noreferrer"},X=i("
    • Windows
      • 如果你的系统是 64 位,则下载 win-x64.7z
      • 如果你不知道你的系统是不是 64 位或者你的系统是 32 位,则下载 win-x86.7z
      • 如果你使用 ARM 芯片的 PC(较为稀有),例如 Surface Pro X,则下载 win-arm64.7z
    • macOS/OSX
      • 下载 osx-x64.7z
    • linux
      • 如果你 CPU 是 Intel/AMD 的 x86 芯片(较为普遍),则下载 linux-x64.7z
      • 如果你 CPU 是 ARM 芯片,例如 树莓派,则下载 linux-arm64.7z
    ",1),m=e("li",null,[e("p",null,"运行工具,然后点击最下的按钮,选择备份文件所在的目录,默认会定向到上面的路径,点击确定,会看到如下的信息"),e("p",null,[e("img",{src:"https://user-images.githubusercontent.com/33802186/123431177-92b86e00-d5fb-11eb-92df-3dd8257d636f.png",alt:"image"})])],-1),p=e("li",null,[e("p",null,[o("然后在Steam++中导入即可。"),e("code",null,"android"),o("字样也要复制,下面的"),e("code",null,"{}"),o("符号也要复制")])],-1),_={href:"https://github.com/CaitSith2/ios-steamguard-extractor/issues/4#issuecomment-817247572",target:"_blank",rel:"noopener noreferrer"},S=i('

    简单步骤:

    1. 解绑Steam令牌
    2. 卸载并安装iTunes旧版
    3. 使用 iOS旧版应用下载 下载旧版本Steam
    4. 提取ipa并使用爱思助手等工具安装
    5. 绑定令牌并备份数据

    参考

    ',3),x={href:"https://github.com/SteamTools-Team/SteamTools/issues/95",target:"_blank",rel:"noopener noreferrer"},f={href:"https://keylol.com/t728973-1-1",target:"_blank",rel:"noopener noreferrer"},g={href:"https://github.com/BeyondDimension/SteamTools/issues/299",target:"_blank",rel:"noopener noreferrer"},b={href:"https://keylol.com/t696543-1-1",target:"_blank",rel:"noopener noreferrer"},k={href:"https://keylol.com/t703874-1-1",target:"_blank",rel:"noopener noreferrer"},A={href:"https://keylol.com/t245711-1-1",target:"_blank",rel:"noopener noreferrer"};function C(y,O){const l=r("ExternalLinkIcon");return n(),s("div",null,[d,e("ol",null,[u,e("li",null,[e("p",null,[o("下载 "),e("a",h,[o("工具"),t(l)]),o(" 解压后进行下一步")]),X]),m,p]),e("p",null,[o("参考自:"),e("a",_,[o("CaitSith2/ios-steamguard-extractor#4 (comment)"),t(l)])]),S,e("ul",null,[e("li",null,[o("已越狱 "),e("ul",null,[e("li",null,[e("a",x,[o("iOS 添加 Watt Toolkit 本地令牌方法(需越狱)"),t(l)]),o(" Steam++ issues #95")]),e("li",null,[e("a",f,[o("越狱IOS设备无损导入Steam令牌至Steam++"),t(l)])])])]),e("li",null,[o("未越狱 "),e("ul",null,[e("li",null,[e("a",g,[o("Watt Toolkit 添加 iOS 本地令牌方法(无需越狱!!!)"),t(l)]),o(" Steam++ issues #299")]),e("li",null,[e("a",b,[o("高版本的iOS导出Steam手机令牌教程"),t(l)])]),e("li",null,[e("a",k,[o("2021未越狱iOS设备提取Steam令牌导入ASF的方法"),t(l)])])])]),e("li",null,[o("云端 "),e("ul",null,[e("li",null,[e("a",A,[o("[云挂卡]未越狱iOS设备也可以使用ASF 2FA功能了"),t(l)])])])])])])}const v=a(c,[["render",C],["__file","ios令牌.html.vue"]]);export{v as default}; diff --git a/assets/photo-f10c60d3.png b/assets/photo-f10c60d3.png new file mode 100644 index 0000000..477b18f Binary files /dev/null and b/assets/photo-f10c60d3.png differ diff --git a/assets/photoswipe.esm-1464cdb9.js b/assets/photoswipe.esm-1464cdb9.js new file mode 100644 index 0000000..c38a7fa --- /dev/null +++ b/assets/photoswipe.esm-1464cdb9.js @@ -0,0 +1,4 @@ +/*! + * PhotoSwipe 5.4.2 - https://photoswipe.com + * (c) 2023 Dmytro Semenov + */function f(r,t,i){const e=document.createElement(t);return r&&(e.className=r),i&&i.appendChild(e),e}function p(r,t){return r.x=t.x,r.y=t.y,t.id!==void 0&&(r.id=t.id),r}function M(r){r.x=Math.round(r.x),r.y=Math.round(r.y)}function A(r,t){const i=Math.abs(r.x-t.x),e=Math.abs(r.y-t.y);return Math.sqrt(i*i+e*e)}function x(r,t){return r.x===t.x&&r.y===t.y}function I(r,t,i){return Math.min(Math.max(r,t),i)}function b(r,t,i){let e=`translate3d(${r}px,${t||0}px,0)`;return i!==void 0&&(e+=` scale3d(${i},${i},1)`),e}function y(r,t,i,e){r.style.transform=b(t,i,e)}const $="cubic-bezier(.4,0,.22,1)";function R(r,t,i,e){r.style.transition=t?`${t} ${i}ms ${e||$}`:"none"}function L(r,t,i){r.style.width=typeof t=="number"?`${t}px`:t,r.style.height=typeof i=="number"?`${i}px`:i}function U(r){R(r)}function q(r){return"decode"in r?r.decode().catch(()=>{}):r.complete?Promise.resolve(r):new Promise((t,i)=>{r.onload=()=>t(r),r.onerror=i})}const _={IDLE:"idle",LOADING:"loading",LOADED:"loaded",ERROR:"error"};function G(r){return"button"in r&&r.button===1||r.ctrlKey||r.metaKey||r.altKey||r.shiftKey}function K(r,t,i=document){let e=[];if(r instanceof Element)e=[r];else if(r instanceof NodeList||Array.isArray(r))e=Array.from(r);else{const s=typeof r=="string"?r:t;s&&(e=Array.from(i.querySelectorAll(s)))}return e}function C(){return!!(navigator.vendor&&navigator.vendor.match(/apple/i))}let F=!1;try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>{F=!0}}))}catch{}class X{constructor(){this._pool=[]}add(t,i,e,s){this._toggleListener(t,i,e,s)}remove(t,i,e,s){this._toggleListener(t,i,e,s,!0)}removeAll(){this._pool.forEach(t=>{this._toggleListener(t.target,t.type,t.listener,t.passive,!0,!0)}),this._pool=[]}_toggleListener(t,i,e,s,n,o){if(!t)return;const a=n?"removeEventListener":"addEventListener";i.split(" ").forEach(l=>{if(l){o||(n?this._pool=this._pool.filter(d=>d.type!==l||d.listener!==e||d.target!==t):this._pool.push({target:t,type:l,listener:e,passive:s}));const c=F?{passive:s||!1}:!1;t[a](l,e,c)}})}}function B(r,t){if(r.getViewportSizeFn){const i=r.getViewportSizeFn(r,t);if(i)return i}return{x:document.documentElement.clientWidth,y:window.innerHeight}}function S(r,t,i,e,s){let n=0;if(t.paddingFn)n=t.paddingFn(i,e,s)[r];else if(t.padding)n=t.padding[r];else{const o="padding"+r[0].toUpperCase()+r.slice(1);t[o]&&(n=t[o])}return Number(n)||0}function N(r,t,i,e){return{x:t.x-S("left",r,t,i,e)-S("right",r,t,i,e),y:t.y-S("top",r,t,i,e)-S("bottom",r,t,i,e)}}class Y{constructor(t){this.slide=t,this.currZoomLevel=1,this.center={x:0,y:0},this.max={x:0,y:0},this.min={x:0,y:0}}update(t){this.currZoomLevel=t,this.slide.width?(this._updateAxis("x"),this._updateAxis("y"),this.slide.pswp.dispatch("calcBounds",{slide:this.slide})):this.reset()}_updateAxis(t){const{pswp:i}=this.slide,e=this.slide[t==="x"?"width":"height"]*this.currZoomLevel,n=S(t==="x"?"left":"top",i.options,i.viewportSize,this.slide.data,this.slide.index),o=this.slide.panAreaSize[t];this.center[t]=Math.round((o-e)/2)+n,this.max[t]=e>o?Math.round(o-e)+n:this.center[t],this.min[t]=e>o?n:this.center[t]}reset(){this.center.x=0,this.center.y=0,this.max.x=0,this.max.y=0,this.min.x=0,this.min.y=0}correctPan(t,i){return I(i,this.max[t],this.min[t])}}const T=4e3;class k{constructor(t,i,e,s){this.pswp=s,this.options=t,this.itemData=i,this.index=e,this.panAreaSize=null,this.elementSize=null,this.fit=1,this.fill=1,this.vFill=1,this.initial=1,this.secondary=1,this.max=1,this.min=1}update(t,i,e){const s={x:t,y:i};this.elementSize=s,this.panAreaSize=e;const n=e.x/s.x,o=e.y/s.y;this.fit=Math.min(1,no?n:o),this.vFill=Math.min(1,o),this.initial=this._getInitial(),this.secondary=this._getSecondary(),this.max=Math.max(this.initial,this.secondary,this._getMax()),this.min=Math.min(this.fit,this.initial,this.secondary),this.pswp&&this.pswp.dispatch("zoomLevelsUpdate",{zoomLevels:this,slideData:this.itemData})}_parseZoomLevelOption(t){const i=t+"ZoomLevel",e=this.options[i];if(e)return typeof e=="function"?e(this):e==="fill"?this.fill:e==="fit"?this.fit:Number(e)}_getSecondary(){let t=this._parseZoomLevelOption("secondary");return t||(t=Math.min(1,this.fit*3),this.elementSize&&t*this.elementSize.x>T&&(t=T/this.elementSize.x),t)}_getInitial(){return this._parseZoomLevelOption("initial")||this.fit}_getMax(){return this._parseZoomLevelOption("max")||Math.max(1,this.fit*4)}}class j{constructor(t,i,e){this.data=t,this.index=i,this.pswp=e,this.isActive=i===e.currIndex,this.currentResolution=0,this.panAreaSize={x:0,y:0},this.pan={x:0,y:0},this.isFirstSlide=this.isActive&&!e.opener.isOpen,this.zoomLevels=new k(e.options,t,i,e),this.pswp.dispatch("gettingData",{slide:this,data:this.data,index:i}),this.content=this.pswp.contentLoader.getContentBySlide(this),this.container=f("pswp__zoom-wrap","div"),this.holderElement=null,this.currZoomLevel=1,this.width=this.content.width,this.height=this.content.height,this.heavyAppended=!1,this.bounds=new Y(this),this.prevDisplayedWidth=-1,this.prevDisplayedHeight=-1,this.pswp.dispatch("slideInit",{slide:this})}setIsActive(t){t&&!this.isActive?this.activate():!t&&this.isActive&&this.deactivate()}append(t){this.holderElement=t,this.container.style.transformOrigin="0 0",this.data&&(this.calculateSize(),this.load(),this.updateContentSize(),this.appendHeavy(),this.holderElement.appendChild(this.container),this.zoomAndPanToInitial(),this.pswp.dispatch("firstZoomPan",{slide:this}),this.applyCurrentZoomPan(),this.pswp.dispatch("afterSetContent",{slide:this}),this.isActive&&this.activate())}load(){this.content.load(!1),this.pswp.dispatch("slideLoad",{slide:this})}appendHeavy(){const{pswp:t}=this,i=!0;this.heavyAppended||!t.opener.isOpen||t.mainScroll.isShifted()||!this.isActive&&!i||this.pswp.dispatch("appendHeavy",{slide:this}).defaultPrevented||(this.heavyAppended=!0,this.content.append(),this.pswp.dispatch("appendHeavyContent",{slide:this}))}activate(){this.isActive=!0,this.appendHeavy(),this.content.activate(),this.pswp.dispatch("slideActivate",{slide:this})}deactivate(){this.isActive=!1,this.content.deactivate(),this.currZoomLevel!==this.zoomLevels.initial&&this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize(),this.pswp.dispatch("slideDeactivate",{slide:this})}destroy(){this.content.hasSlide=!1,this.content.remove(),this.container.remove(),this.pswp.dispatch("slideDestroy",{slide:this})}resize(){this.currZoomLevel===this.zoomLevels.initial||!this.isActive?(this.calculateSize(),this.currentResolution=0,this.zoomAndPanToInitial(),this.applyCurrentZoomPan(),this.updateContentSize()):(this.calculateSize(),this.bounds.update(this.currZoomLevel),this.panTo(this.pan.x,this.pan.y))}updateContentSize(t){const i=this.currentResolution||this.zoomLevels.initial;if(!i)return;const e=Math.round(this.width*i)||this.pswp.viewportSize.x,s=Math.round(this.height*i)||this.pswp.viewportSize.y;!this.sizeChanged(e,s)&&!t||this.content.setDisplayedSize(e,s)}sizeChanged(t,i){return t!==this.prevDisplayedWidth||i!==this.prevDisplayedHeight?(this.prevDisplayedWidth=t,this.prevDisplayedHeight=i,!0):!1}getPlaceholderElement(){var t;return(t=this.content.placeholder)===null||t===void 0?void 0:t.element}zoomTo(t,i,e,s){const{pswp:n}=this;if(!this.isZoomable()||n.mainScroll.isShifted())return;n.dispatch("beforeZoomTo",{destZoomLevel:t,centerPoint:i,transitionDuration:e}),n.animations.stopAllPan();const o=this.currZoomLevel;s||(t=I(t,this.zoomLevels.min,this.zoomLevels.max)),this.setZoomLevel(t),this.pan.x=this.calculateZoomToPanOffset("x",i,o),this.pan.y=this.calculateZoomToPanOffset("y",i,o),M(this.pan);const a=()=>{this._setResolution(t),this.applyCurrentZoomPan()};e?n.animations.startTransition({isPan:!0,name:"zoomTo",target:this.container,transform:this.getCurrentTransform(),onComplete:a,duration:e,easing:n.options.easing}):a()}toggleZoom(t){this.zoomTo(this.currZoomLevel===this.zoomLevels.initial?this.zoomLevels.secondary:this.zoomLevels.initial,t,this.pswp.options.zoomAnimationDuration)}setZoomLevel(t){this.currZoomLevel=t,this.bounds.update(this.currZoomLevel)}calculateZoomToPanOffset(t,i,e){if(this.bounds.max[t]-this.bounds.min[t]===0)return this.bounds.center[t];i||(i=this.pswp.getViewportCenterPoint()),e||(e=this.zoomLevels.initial);const n=this.currZoomLevel/e;return this.bounds.correctPan(t,(this.pan[t]-i[t])*n+i[t])}panTo(t,i){this.pan.x=this.bounds.correctPan("x",t),this.pan.y=this.bounds.correctPan("y",i),this.applyCurrentZoomPan()}isPannable(){return!!this.width&&this.currZoomLevel>this.zoomLevels.fit}isZoomable(){return!!this.width&&this.content.isZoomable()}applyCurrentZoomPan(){this._applyZoomTransform(this.pan.x,this.pan.y,this.currZoomLevel),this===this.pswp.currSlide&&this.pswp.dispatch("zoomPanUpdate",{slide:this})}zoomAndPanToInitial(){this.currZoomLevel=this.zoomLevels.initial,this.bounds.update(this.currZoomLevel),p(this.pan,this.bounds.center),this.pswp.dispatch("initialZoomPan",{slide:this})}_applyZoomTransform(t,i,e){e/=this.currentResolution||this.zoomLevels.initial,y(this.container,t,i,e)}calculateSize(){const{pswp:t}=this;p(this.panAreaSize,N(t.options,t.viewportSize,this.data,this.index)),this.zoomLevels.update(this.width,this.height,this.panAreaSize),t.dispatch("calcSlideSize",{slide:this})}getCurrentTransform(){const t=this.currZoomLevel/(this.currentResolution||this.zoomLevels.initial);return b(this.pan.x,this.pan.y,t)}_setResolution(t){t!==this.currentResolution&&(this.currentResolution=t,this.updateContentSize(),this.pswp.dispatch("resolutionChanged"))}}const Q=.35,J=.6,z=.4,E=.5;function tt(r,t){return r*t/(1-t)}class it{constructor(t){this.gestures=t,this.pswp=t.pswp,this.startPan={x:0,y:0}}start(){this.pswp.currSlide&&p(this.startPan,this.pswp.currSlide.pan),this.pswp.animations.stopAll()}change(){const{p1:t,prevP1:i,dragAxis:e}=this.gestures,{currSlide:s}=this.pswp;if(e==="y"&&this.pswp.options.closeOnVerticalDrag&&s&&s.currZoomLevel<=s.zoomLevels.fit&&!this.gestures.isMultitouch){const n=s.pan.y+(t.y-i.y);if(!this.pswp.dispatch("verticalDrag",{panY:n}).defaultPrevented){this._setPanWithFriction("y",n,J);const o=1-Math.abs(this._getVerticalDragRatio(s.pan.y));this.pswp.applyBgOpacity(o),s.applyCurrentZoomPan()}}else this._panOrMoveMainScroll("x")||(this._panOrMoveMainScroll("y"),s&&(M(s.pan),s.applyCurrentZoomPan()))}end(){const{velocity:t}=this.gestures,{mainScroll:i,currSlide:e}=this.pswp;let s=0;if(this.pswp.animations.stopAll(),i.isShifted()){const o=(i.x-i.getCurrSlideX())/this.pswp.viewportSize.x;t.x<-E&&o<0||t.x<.1&&o<-.5?(s=1,t.x=Math.min(t.x,0)):(t.x>E&&o>0||t.x>-.1&&o>.5)&&(s=-1,t.x=Math.max(t.x,0)),i.moveIndexBy(s,!0,t.x)}e&&e.currZoomLevel>e.zoomLevels.max||this.gestures.isMultitouch?this.gestures.zoomLevels.correctZoomPan(!0):(this._finishPanGestureForAxis("x"),this._finishPanGestureForAxis("y"))}_finishPanGestureForAxis(t){const{velocity:i}=this.gestures,{currSlide:e}=this.pswp;if(!e)return;const{pan:s,bounds:n}=e,o=s[t],a=this.pswp.bgOpacity<1&&t==="y",h=.995,l=o+tt(i[t],h);if(a){const v=this._getVerticalDragRatio(o),w=this._getVerticalDragRatio(l);if(v<0&&w<-z||v>0&&w>z){this.pswp.close();return}}const c=n.correctPan(t,l);if(o===c)return;const d=c===l?1:.82,u=this.pswp.bgOpacity,m=c-o;this.pswp.animations.startSpring({name:"panGesture"+t,isPan:!0,start:o,end:c,velocity:i[t],dampingRatio:d,onUpdate:v=>{if(a&&this.pswp.bgOpacity<1){const w=1-(c-v)/m;this.pswp.applyBgOpacity(I(u+(1-u)*w,0,1))}s[t]=Math.floor(v),e.applyCurrentZoomPan()}})}_panOrMoveMainScroll(t){const{p1:i,dragAxis:e,prevP1:s,isMultitouch:n}=this.gestures,{currSlide:o,mainScroll:a}=this.pswp,h=i[t]-s[t],l=a.x+h;if(!h||!o)return!1;if(t==="x"&&!o.isPannable()&&!n)return a.moveTo(l,!0),!0;const{bounds:c}=o,d=o.pan[t]+h;if(this.pswp.options.allowPanToNext&&e==="x"&&t==="x"&&!n){const u=a.getCurrSlideX(),m=a.x-u,v=h>0,w=!v;if(d>c.min[t]&&v){if(c.min[t]<=this.startPan[t])return a.moveTo(l,!0),!0;this._setPanWithFriction(t,d)}else if(d0)return a.moveTo(Math.max(l,u),!0),!0;if(m<0)return a.moveTo(Math.min(l,u),!0),!0}else this._setPanWithFriction(t,d)}else t==="y"?!a.isShifted()&&c.min.y!==c.max.y&&this._setPanWithFriction(t,d):this._setPanWithFriction(t,d);return!1}_getVerticalDragRatio(t){var i,e;return(t-((i=(e=this.pswp.currSlide)===null||e===void 0?void 0:e.bounds.center.y)!==null&&i!==void 0?i:0))/(this.pswp.viewportSize.y/3)}_setPanWithFriction(t,i,e){const{currSlide:s}=this.pswp;if(!s)return;const{pan:n,bounds:o}=s;if(o.correctPan(t,i)!==i||e){const h=Math.round(i-n[t]);n[t]+=h*(e||Q)}else n[t]=i}}const et=.05,st=.15;function O(r,t,i){return r.x=(t.x+i.x)/2,r.y=(t.y+i.y)/2,r}class nt{constructor(t){this.gestures=t,this._startPan={x:0,y:0},this._startZoomPoint={x:0,y:0},this._zoomPoint={x:0,y:0},this._wasOverFitZoomLevel=!1,this._startZoomLevel=1}start(){const{currSlide:t}=this.gestures.pswp;t&&(this._startZoomLevel=t.currZoomLevel,p(this._startPan,t.pan)),this.gestures.pswp.animations.stopAllPan(),this._wasOverFitZoomLevel=!1}change(){const{p1:t,startP1:i,p2:e,startP2:s,pswp:n}=this.gestures,{currSlide:o}=n;if(!o)return;const a=o.zoomLevels.min,h=o.zoomLevels.max;if(!o.isZoomable()||n.mainScroll.isShifted())return;O(this._startZoomPoint,i,s),O(this._zoomPoint,t,e);let l=1/A(i,s)*A(t,e)*this._startZoomLevel;if(l>o.zoomLevels.initial+o.zoomLevels.initial/15&&(this._wasOverFitZoomLevel=!0),lh&&(l=h+(l-h)*et);o.pan.x=this._calculatePanForZoomLevel("x",l),o.pan.y=this._calculatePanForZoomLevel("y",l),o.setZoomLevel(l),o.applyCurrentZoomPan()}end(){const{pswp:t}=this.gestures,{currSlide:i}=t;(!i||i.currZoomLevele.zoomLevels.max?n=e.zoomLevels.max:(o=!1,n=s);const a=i.bgOpacity,h=i.bgOpacity<1,l=p({x:0,y:0},e.pan);let c=p({x:0,y:0},l);t&&(this._zoomPoint.x=0,this._zoomPoint.y=0,this._startZoomPoint.x=0,this._startZoomPoint.y=0,this._startZoomLevel=s,p(this._startPan,l)),o&&(c={x:this._calculatePanForZoomLevel("x",n),y:this._calculatePanForZoomLevel("y",n)}),e.setZoomLevel(n),c={x:e.bounds.correctPan("x",c.x),y:e.bounds.correctPan("y",c.y)},e.setZoomLevel(s);const d=!x(c,l);if(!d&&!o&&!h){e._setResolution(n),e.applyCurrentZoomPan();return}i.animations.stopAllPan(),i.animations.startSpring({isPan:!0,start:0,end:1e3,velocity:0,dampingRatio:1,naturalFrequency:40,onUpdate:u=>{if(u/=1e3,d||o){if(d&&(e.pan.x=l.x+(c.x-l.x)*u,e.pan.y=l.y+(c.y-l.y)*u),o){const m=s+(n-s)*u;e.setZoomLevel(m)}e.applyCurrentZoomPan()}h&&i.bgOpacity<1&&i.applyBgOpacity(I(a+(1-a)*u,0,1))},onComplete:()=>{e._setResolution(n),e.applyCurrentZoomPan()}})}}function Z(r){return!!r.target.closest(".pswp__container")}class ot{constructor(t){this.gestures=t}click(t,i){const e=i.target.classList,s=e.contains("pswp__img"),n=e.contains("pswp__item")||e.contains("pswp__zoom-wrap");s?this._doClickOrTapAction("imageClick",t,i):n&&this._doClickOrTapAction("bgClick",t,i)}tap(t,i){Z(i)&&this._doClickOrTapAction("tap",t,i)}doubleTap(t,i){Z(i)&&this._doClickOrTapAction("doubleTap",t,i)}_doClickOrTapAction(t,i,e){var s;const{pswp:n}=this.gestures,{currSlide:o}=n,a=t+"Action",h=n.options[a];if(!n.dispatch(a,{point:i,originalEvent:e}).defaultPrevented){if(typeof h=="function"){h.call(n,i,e);return}switch(h){case"close":case"next":n[h]();break;case"zoom":o==null||o.toggleZoom(i);break;case"zoom-or-close":o!=null&&o.isZoomable()&&o.zoomLevels.secondary!==o.zoomLevels.initial?o.toggleZoom(i):n.options.clickToCloseNonZoomable&&n.close();break;case"toggle-controls":(s=this.gestures.pswp.element)===null||s===void 0||s.classList.toggle("pswp--ui-visible");break}}}}const rt=10,at=300,ht=25;class lt{constructor(t){this.pswp=t,this.dragAxis=null,this.p1={x:0,y:0},this.p2={x:0,y:0},this.prevP1={x:0,y:0},this.prevP2={x:0,y:0},this.startP1={x:0,y:0},this.startP2={x:0,y:0},this.velocity={x:0,y:0},this._lastStartP1={x:0,y:0},this._intervalP1={x:0,y:0},this._numActivePoints=0,this._ongoingPointers=[],this._touchEventEnabled="ontouchstart"in window,this._pointerEventEnabled=!!window.PointerEvent,this.supportsTouch=this._touchEventEnabled||this._pointerEventEnabled&&navigator.maxTouchPoints>1,this._numActivePoints=0,this._intervalTime=0,this._velocityCalculated=!1,this.isMultitouch=!1,this.isDragging=!1,this.isZooming=!1,this.raf=null,this._tapTimer=null,this.supportsTouch||(t.options.allowPanToNext=!1),this.drag=new it(this),this.zoomLevels=new nt(this),this.tapHandler=new ot(this),t.on("bindEvents",()=>{t.events.add(t.scrollWrap,"click",this._onClick.bind(this)),this._pointerEventEnabled?this._bindEvents("pointer","down","up","cancel"):this._touchEventEnabled?(this._bindEvents("touch","start","end","cancel"),t.scrollWrap&&(t.scrollWrap.ontouchmove=()=>{},t.scrollWrap.ontouchend=()=>{})):this._bindEvents("mouse","down","up")})}_bindEvents(t,i,e,s){const{pswp:n}=this,{events:o}=n,a=s?t+s:"";o.add(n.scrollWrap,t+i,this.onPointerDown.bind(this)),o.add(window,t+"move",this.onPointerMove.bind(this)),o.add(window,t+e,this.onPointerUp.bind(this)),a&&o.add(n.scrollWrap,a,this.onPointerUp.bind(this))}onPointerDown(t){const i=t.type==="mousedown"||t.pointerType==="mouse";if(i&&t.button>0)return;const{pswp:e}=this;if(!e.opener.isOpen){t.preventDefault();return}e.dispatch("pointerDown",{originalEvent:t}).defaultPrevented||(i&&(e.mouseDetected(),this._preventPointerEventBehaviour(t,"down")),e.animations.stopAll(),this._updatePoints(t,"down"),this._numActivePoints===1&&(this.dragAxis=null,p(this.startP1,this.p1)),this._numActivePoints>1?(this._clearTapTimer(),this.isMultitouch=!0):this.isMultitouch=!1)}onPointerMove(t){this._preventPointerEventBehaviour(t,"move"),this._numActivePoints&&(this._updatePoints(t,"move"),!this.pswp.dispatch("pointerMove",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===1&&!this.isDragging?(this.dragAxis||this._calculateDragDirection(),this.dragAxis&&!this.isDragging&&(this.isZooming&&(this.isZooming=!1,this.zoomLevels.end()),this.isDragging=!0,this._clearTapTimer(),this._updateStartPoints(),this._intervalTime=Date.now(),this._velocityCalculated=!1,p(this._intervalP1,this.p1),this.velocity.x=0,this.velocity.y=0,this.drag.start(),this._rafStopLoop(),this._rafRenderLoop())):this._numActivePoints>1&&!this.isZooming&&(this._finishDrag(),this.isZooming=!0,this._updateStartPoints(),this.zoomLevels.start(),this._rafStopLoop(),this._rafRenderLoop())))}_finishDrag(){this.isDragging&&(this.isDragging=!1,this._velocityCalculated||this._updateVelocity(!0),this.drag.end(),this.dragAxis=null)}onPointerUp(t){this._numActivePoints&&(this._updatePoints(t,"up"),!this.pswp.dispatch("pointerUp",{originalEvent:t}).defaultPrevented&&(this._numActivePoints===0&&(this._rafStopLoop(),this.isDragging?this._finishDrag():!this.isZooming&&!this.isMultitouch&&this._finishTap(t)),this._numActivePoints<2&&this.isZooming&&(this.isZooming=!1,this.zoomLevels.end(),this._numActivePoints===1&&(this.dragAxis=null,this._updateStartPoints()))))}_rafRenderLoop(){(this.isDragging||this.isZooming)&&(this._updateVelocity(),this.isDragging?x(this.p1,this.prevP1)||this.drag.change():(!x(this.p1,this.prevP1)||!x(this.p2,this.prevP2))&&this.zoomLevels.change(),this._updatePrevPoints(),this.raf=requestAnimationFrame(this._rafRenderLoop.bind(this)))}_updateVelocity(t){const i=Date.now(),e=i-this._intervalTime;e<50&&!t||(this.velocity.x=this._getVelocity("x",e),this.velocity.y=this._getVelocity("y",e),this._intervalTime=i,p(this._intervalP1,this.p1),this._velocityCalculated=!0)}_finishTap(t){const{mainScroll:i}=this.pswp;if(i.isShifted()){i.moveIndexBy(0,!0);return}if(t.type.indexOf("cancel")>0)return;if(t.type==="mouseup"||t.pointerType==="mouse"){this.tapHandler.click(this.startP1,t);return}const e=this.pswp.options.doubleTapAction?at:0;this._tapTimer?(this._clearTapTimer(),A(this._lastStartP1,this.startP1){this.tapHandler.tap(this.startP1,t),this._clearTapTimer()},e))}_clearTapTimer(){this._tapTimer&&(clearTimeout(this._tapTimer),this._tapTimer=null)}_getVelocity(t,i){const e=this.p1[t]-this._intervalP1[t];return Math.abs(e)>1&&i>5?e/i:0}_rafStopLoop(){this.raf&&(cancelAnimationFrame(this.raf),this.raf=null)}_preventPointerEventBehaviour(t,i){this.pswp.applyFilters("preventPointerEvent",!0,t,i)&&t.preventDefault()}_updatePoints(t,i){if(this._pointerEventEnabled){const e=t,s=this._ongoingPointers.findIndex(n=>n.id===e.pointerId);i==="up"&&s>-1?this._ongoingPointers.splice(s,1):i==="down"&&s===-1?this._ongoingPointers.push(this._convertEventPosToPoint(e,{x:0,y:0})):s>-1&&this._convertEventPosToPoint(e,this._ongoingPointers[s]),this._numActivePoints=this._ongoingPointers.length,this._numActivePoints>0&&p(this.p1,this._ongoingPointers[0]),this._numActivePoints>1&&p(this.p2,this._ongoingPointers[1])}else{const e=t;this._numActivePoints=0,e.type.indexOf("touch")>-1?e.touches&&e.touches.length>0&&(this._convertEventPosToPoint(e.touches[0],this.p1),this._numActivePoints++,e.touches.length>1&&(this._convertEventPosToPoint(e.touches[1],this.p2),this._numActivePoints++)):(this._convertEventPosToPoint(t,this.p1),i==="up"?this._numActivePoints=0:this._numActivePoints++)}}_updatePrevPoints(){p(this.prevP1,this.p1),p(this.prevP2,this.p2)}_updateStartPoints(){p(this.startP1,this.p1),p(this.startP2,this.p2),this._updatePrevPoints()}_calculateDragDirection(){if(this.pswp.mainScroll.isShifted())this.dragAxis="x";else{const t=Math.abs(this.p1.x-this.startP1.x)-Math.abs(this.p1.y-this.startP1.y);if(t!==0){const i=t>0?"x":"y";Math.abs(this.p1[i]-this.startP1[i])>=rt&&(this.dragAxis=i)}}}_convertEventPosToPoint(t,i){return i.x=t.pageX-this.pswp.offset.x,i.y=t.pageY-this.pswp.offset.y,"pointerId"in t?i.id=t.pointerId:t.identifier!==void 0&&(i.id=t.identifier),i}_onClick(t){this.pswp.mainScroll.isShifted()&&(t.preventDefault(),t.stopPropagation())}}const ct=.35;class dt{constructor(t){this.pswp=t,this.x=0,this.slideWidth=0,this._currPositionIndex=0,this._prevPositionIndex=0,this._containerShiftIndex=-1,this.itemHolders=[]}resize(t){const{pswp:i}=this,e=Math.round(i.viewportSize.x+i.viewportSize.x*i.options.spacing),s=e!==this.slideWidth;s&&(this.slideWidth=e,this.moveTo(this.getCurrSlideX())),this.itemHolders.forEach((n,o)=>{s&&y(n.el,(o+this._containerShiftIndex)*this.slideWidth),t&&n.slide&&n.slide.resize()})}resetPosition(){this._currPositionIndex=0,this._prevPositionIndex=0,this.slideWidth=0,this._containerShiftIndex=-1}appendHolders(){this.itemHolders=[];for(let t=0;t<3;t++){const i=f("pswp__item","div",this.pswp.container);i.setAttribute("role","group"),i.setAttribute("aria-roledescription","slide"),i.setAttribute("aria-hidden","true"),i.style.display=t===1?"block":"none",this.itemHolders.push({el:i})}}canBeSwiped(){return this.pswp.getNumItems()>1}moveIndexBy(t,i,e){const{pswp:s}=this;let n=s.potentialIndex+t;const o=s.getNumItems();if(s.canLoop()){n=s.getLoopedIndex(n);const h=(t+o)%o;h<=o/2?t=h:t=h-o}else n<0?n=0:n>=o&&(n=o-1),t=n-s.potentialIndex;s.potentialIndex=n,this._currPositionIndex-=t,s.animations.stopMainScroll();const a=this.getCurrSlideX();if(!i)this.moveTo(a),this.updateCurrItem();else{s.animations.startSpring({isMainScroll:!0,start:this.x,end:a,velocity:e||0,naturalFrequency:30,dampingRatio:1,onUpdate:l=>{this.moveTo(l)},onComplete:()=>{this.updateCurrItem(),s.appendHeavy()}});let h=s.potentialIndex-s.currIndex;if(s.canLoop()){const l=(h+o)%o;l<=o/2?h=l:h=l-o}Math.abs(h)>1&&this.updateCurrItem()}return!!t}getCurrSlideX(){return this.slideWidth*this._currPositionIndex}isShifted(){return this.x!==this.getCurrSlideX()}updateCurrItem(){var t;const{pswp:i}=this,e=this._prevPositionIndex-this._currPositionIndex;if(!e)return;this._prevPositionIndex=this._currPositionIndex,i.currIndex=i.potentialIndex;let s=Math.abs(e),n;s>=3&&(this._containerShiftIndex+=e+(e>0?-3:3),s=3);for(let o=0;o0?(n=this.itemHolders.shift(),n&&(this.itemHolders[2]=n,this._containerShiftIndex++,y(n.el,(this._containerShiftIndex+2)*this.slideWidth),i.setContent(n,i.currIndex-s+o+2))):(n=this.itemHolders.pop(),n&&(this.itemHolders.unshift(n),this._containerShiftIndex--,y(n.el,this._containerShiftIndex*this.slideWidth),i.setContent(n,i.currIndex+s-o-2)));Math.abs(this._containerShiftIndex)>50&&!this.isShifted()&&(this.resetPosition(),this.resize()),i.animations.stopAllPan(),this.itemHolders.forEach((o,a)=>{o.slide&&o.slide.setIsActive(a===1)}),i.currSlide=(t=this.itemHolders[1])===null||t===void 0?void 0:t.slide,i.contentLoader.updateLazy(e),i.currSlide&&i.currSlide.applyCurrentZoomPan(),i.dispatch("change")}moveTo(t,i){if(!this.pswp.canLoop()&&i){let e=(this.slideWidth*this._currPositionIndex-t)/this.slideWidth;e+=this.pswp.currIndex;const s=Math.round(t-this.x);(e<0&&s>0||e>=this.pswp.getNumItems()-1&&s<0)&&(t=this.x+s*ct)}this.x=t,this.pswp.container&&y(this.pswp.container,t),this.pswp.dispatch("moveMainScroll",{x:t,dragging:i??!1})}}const pt={Escape:27,z:90,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Tab:9},g=(r,t)=>t?r:pt[r];class ut{constructor(t){this.pswp=t,this._wasFocused=!1,t.on("bindEvents",()=>{t.options.trapFocus&&(t.options.initialPointerPos||this._focusRoot(),t.events.add(document,"focusin",this._onFocusIn.bind(this))),t.events.add(document,"keydown",this._onKeyDown.bind(this))});const i=document.activeElement;t.on("destroy",()=>{t.options.returnFocus&&i&&this._wasFocused&&i.focus()})}_focusRoot(){!this._wasFocused&&this.pswp.element&&(this.pswp.element.focus(),this._wasFocused=!0)}_onKeyDown(t){const{pswp:i}=this;if(i.dispatch("keydown",{originalEvent:t}).defaultPrevented||G(t))return;let e,s,n=!1;const o="key"in t;switch(o?t.key:t.keyCode){case g("Escape",o):i.options.escKey&&(e="close");break;case g("z",o):e="toggleZoom";break;case g("ArrowLeft",o):s="x";break;case g("ArrowUp",o):s="y";break;case g("ArrowRight",o):s="x",n=!0;break;case g("ArrowDown",o):n=!0,s="y";break;case g("Tab",o):this._focusRoot();break}if(s){t.preventDefault();const{currSlide:a}=i;i.options.arrowKeys&&s==="x"&&i.getNumItems()>1?e=n?"next":"prev":a&&a.currZoomLevel>a.zoomLevels.fit&&(a.pan[s]+=n?-80:80,a.panTo(a.pan.x,a.pan.y))}e&&(t.preventDefault(),i[e]())}_onFocusIn(t){const{template:i}=this.pswp;i&&document!==t.target&&i!==t.target&&!i.contains(t.target)&&i.focus()}}const mt="cubic-bezier(.4,0,.22,1)";class ft{constructor(t){var i;this.props=t;const{target:e,onComplete:s,transform:n,onFinish:o=()=>{},duration:a=333,easing:h=mt}=t;this.onFinish=o;const l=n?"transform":"opacity",c=(i=t[l])!==null&&i!==void 0?i:"";this._target=e,this._onComplete=s,this._finished=!1,this._onTransitionEnd=this._onTransitionEnd.bind(this),this._helperTimeout=setTimeout(()=>{R(e,l,a,h),this._helperTimeout=setTimeout(()=>{e.addEventListener("transitionend",this._onTransitionEnd,!1),e.addEventListener("transitioncancel",this._onTransitionEnd,!1),this._helperTimeout=setTimeout(()=>{this._finalizeAnimation()},a+500),e.style[l]=c},30)},0)}_onTransitionEnd(t){t.target===this._target&&this._finalizeAnimation()}_finalizeAnimation(){this._finished||(this._finished=!0,this.onFinish(),this._onComplete&&this._onComplete())}destroy(){this._helperTimeout&&clearTimeout(this._helperTimeout),U(this._target),this._target.removeEventListener("transitionend",this._onTransitionEnd,!1),this._target.removeEventListener("transitioncancel",this._onTransitionEnd,!1),this._finished||this._finalizeAnimation()}}const _t=12,vt=.75;class gt{constructor(t,i,e){this.velocity=t*1e3,this._dampingRatio=i||vt,this._naturalFrequency=e||_t,this._dampedFrequency=this._naturalFrequency,this._dampingRatio<1&&(this._dampedFrequency*=Math.sqrt(1-this._dampingRatio*this._dampingRatio))}easeFrame(t,i){let e=0,s;i/=1e3;const n=Math.E**(-this._dampingRatio*this._naturalFrequency*i);if(this._dampingRatio===1)s=this.velocity+this._naturalFrequency*t,e=(t+s*i)*n,this.velocity=e*-this._naturalFrequency+s*n;else if(this._dampingRatio<1){s=1/this._dampedFrequency*(this._dampingRatio*this._naturalFrequency*t+this.velocity);const o=Math.cos(this._dampedFrequency*i),a=Math.sin(this._dampedFrequency*i);e=n*(t*o+s*a),this.velocity=e*-this._naturalFrequency*this._dampingRatio+n*(-this._dampedFrequency*t*a+this._dampedFrequency*s*o)}return e}}class yt{constructor(t){this.props=t,this._raf=0;const{start:i,end:e,velocity:s,onUpdate:n,onComplete:o,onFinish:a=()=>{},dampingRatio:h,naturalFrequency:l}=t;this.onFinish=a;const c=new gt(s,h,l);let d=Date.now(),u=i-e;const m=()=>{this._raf&&(u=c.easeFrame(u,Date.now()-d),Math.abs(u)<1&&Math.abs(c.velocity)<50?(n(e),o&&o(),this.onFinish()):(d=Date.now(),n(u+e),this._raf=requestAnimationFrame(m)))};this._raf=requestAnimationFrame(m)}destroy(){this._raf>=0&&cancelAnimationFrame(this._raf),this._raf=0}}class wt{constructor(){this.activeAnimations=[]}startSpring(t){this._start(t,!0)}startTransition(t){this._start(t)}_start(t,i){const e=i?new yt(t):new ft(t);return this.activeAnimations.push(e),e.onFinish=()=>this.stop(e),e}stop(t){t.destroy();const i=this.activeAnimations.indexOf(t);i>-1&&this.activeAnimations.splice(i,1)}stopAll(){this.activeAnimations.forEach(t=>{t.destroy()}),this.activeAnimations=[]}stopAllPan(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isPan?(t.destroy(),!1):!0)}stopMainScroll(){this.activeAnimations=this.activeAnimations.filter(t=>t.props.isMainScroll?(t.destroy(),!1):!0)}isPanRunning(){return this.activeAnimations.some(t=>t.props.isPan)}}class Pt{constructor(t){this.pswp=t,t.events.add(t.element,"wheel",this._onWheel.bind(this))}_onWheel(t){t.preventDefault();const{currSlide:i}=this.pswp;let{deltaX:e,deltaY:s}=t;if(i&&!this.pswp.dispatch("wheel",{originalEvent:t}).defaultPrevented)if(t.ctrlKey||this.pswp.options.wheelToZoom){if(i.isZoomable()){let n=-s;t.deltaMode===1?n*=.05:n*=t.deltaMode?1:.002,n=2**n;const o=i.currZoomLevel*n;i.zoomTo(o,{x:t.clientX,y:t.clientY})}}else i.isPannable()&&(t.deltaMode===1&&(e*=18,s*=18),i.panTo(i.pan.x-e,i.pan.y-s))}}function St(r){if(typeof r=="string")return r;if(!r||!r.isCustomSVG)return"";const t=r;let i='",i}class xt{constructor(t,i){var e;const s=i.name||i.className;let n=i.html;if(t.options[s]===!1)return;typeof t.options[s+"SVG"]=="string"&&(n=t.options[s+"SVG"]),t.dispatch("uiElementCreate",{data:i});let o="";i.isButton?(o+="pswp__button ",o+=i.className||`pswp__button--${i.name}`):o+=i.className||`pswp__${i.name}`;let a=i.isButton?i.tagName||"button":i.tagName||"div";a=a.toLowerCase();const h=f(o,a);if(i.isButton){a==="button"&&(h.type="button");let{title:d}=i;const{ariaLabel:u}=i;typeof t.options[s+"Title"]=="string"&&(d=t.options[s+"Title"]),d&&(h.title=d);const m=u||d;m&&h.setAttribute("aria-label",m)}h.innerHTML=St(n),i.onInit&&i.onInit(h,t),i.onClick&&(h.onclick=d=>{typeof i.onClick=="string"?t[i.onClick]():typeof i.onClick=="function"&&i.onClick(d,h,t)});const l=i.appendTo||"bar";let c=t.element;l==="bar"?(t.topBar||(t.topBar=f("pswp__top-bar pswp__hide-on-close","div",t.scrollWrap)),c=t.topBar):(h.classList.add("pswp__hide-on-close"),l==="wrapper"&&(c=t.scrollWrap)),(e=c)===null||e===void 0||e.appendChild(t.applyFilters("uiElement",h,i))}}function H(r,t,i){r.classList.add("pswp__button--arrow"),r.setAttribute("aria-controls","pswp__items"),t.on("change",()=>{t.options.loop||(i?r.disabled=!(t.currIndex0))})}const bt={name:"arrowPrev",className:"pswp__button--arrow--prev",title:"Previous",order:10,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"prev",onInit:H},It={name:"arrowNext",className:"pswp__button--arrow--next",title:"Next",order:11,isButton:!0,appendTo:"wrapper",html:{isCustomSVG:!0,size:60,inner:'',outlineID:"pswp__icn-arrow"},onClick:"next",onInit:(r,t)=>{H(r,t,!0)}},At={name:"close",title:"Close",order:20,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-close"},onClick:"close"},Lt={name:"zoom",title:"Zoom",order:10,isButton:!0,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-zoom"},onClick:"toggleZoom"},Ct={name:"preloader",appendTo:"bar",order:7,html:{isCustomSVG:!0,inner:'',outlineID:"pswp__icn-loading"},onInit:(r,t)=>{let i,e=null;const s=(a,h)=>{r.classList.toggle("pswp__preloader--"+a,h)},n=a=>{i!==a&&(i=a,s("active",a))},o=()=>{var a;if(!((a=t.currSlide)!==null&&a!==void 0&&a.content.isLoading())){n(!1),e&&(clearTimeout(e),e=null);return}e||(e=setTimeout(()=>{var h;n(!!(!((h=t.currSlide)===null||h===void 0)&&h.content.isLoading())),e=null},t.options.preloaderDelay))};t.on("change",o),t.on("loadComplete",a=>{t.currSlide===a.slide&&o()}),t.ui&&(t.ui.updatePreloaderVisibility=o)}},Tt={name:"counter",order:5,onInit:(r,t)=>{t.on("change",()=>{r.innerText=t.currIndex+1+t.options.indexIndicatorSep+t.getNumItems()})}};function D(r,t){r.classList.toggle("pswp--zoomed-in",t)}class zt{constructor(t){this.pswp=t,this.isRegistered=!1,this.uiElementsData=[],this.items=[],this.updatePreloaderVisibility=()=>{},this._lastUpdatedZoomLevel=void 0}init(){const{pswp:t}=this;this.isRegistered=!1,this.uiElementsData=[At,bt,It,Lt,Ct,Tt],t.dispatch("uiRegister"),this.uiElementsData.sort((i,e)=>(i.order||0)-(e.order||0)),this.items=[],this.isRegistered=!0,this.uiElementsData.forEach(i=>{this.registerElement(i)}),t.on("change",()=>{var i;(i=t.element)===null||i===void 0||i.classList.toggle("pswp--one-slide",t.getNumItems()===1)}),t.on("zoomPanUpdate",()=>this._onZoomPanUpdate())}registerElement(t){this.isRegistered?this.items.push(new xt(this.pswp,t)):this.uiElementsData.push(t)}_onZoomPanUpdate(){const{template:t,currSlide:i,options:e}=this.pswp;if(this.pswp.opener.isClosing||!t||!i)return;let{currZoomLevel:s}=i;if(this.pswp.opener.isOpen||(s=i.zoomLevels.initial),s===this._lastUpdatedZoomLevel)return;this._lastUpdatedZoomLevel=s;const n=i.zoomLevels.initial-i.zoomLevels.secondary;if(Math.abs(n)<.01||!i.isZoomable()){D(t,!1),t.classList.remove("pswp--zoom-allowed");return}t.classList.add("pswp--zoom-allowed");const o=s===i.zoomLevels.initial?i.zoomLevels.secondary:i.zoomLevels.initial;D(t,o<=s),(e.imageClickAction==="zoom"||e.imageClickAction==="zoom-or-close")&&t.classList.add("pswp--click-to-zoom")}}function Et(r){const t=r.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width}}function Ot(r,t,i){const e=r.getBoundingClientRect(),s=e.width/t,n=e.height/i,o=s>n?s:n,a=(e.width-t*o)/2,h=(e.height-i*o)/2,l={x:e.left+a,y:e.top+h,w:t*o};return l.innerRect={w:e.width,h:e.height,x:a,y:h},l}function Zt(r,t,i){const e=i.dispatch("thumbBounds",{index:r,itemData:t,instance:i});if(e.thumbBounds)return e.thumbBounds;const{element:s}=t;let n,o;if(s&&i.options.thumbSelector!==!1){const a=i.options.thumbSelector||"img";o=s.matches(a)?s:s.querySelector(a)}return o=i.applyFilters("thumbEl",o,t,r),o&&(t.thumbCropped?n=Ot(o,t.width||t.w||0,t.height||t.h||0):n=Et(o)),i.applyFilters("thumbBounds",n,t,r)}class Dt{constructor(t,i){this.type=t,this.defaultPrevented=!1,i&&Object.assign(this,i)}preventDefault(){this.defaultPrevented=!0}}class Mt{constructor(){this._listeners={},this._filters={},this.pswp=void 0,this.options=void 0}addFilter(t,i,e=100){var s,n,o;this._filters[t]||(this._filters[t]=[]),(s=this._filters[t])===null||s===void 0||s.push({fn:i,priority:e}),(n=this._filters[t])===null||n===void 0||n.sort((a,h)=>a.priority-h.priority),(o=this.pswp)===null||o===void 0||o.addFilter(t,i,e)}removeFilter(t,i){this._filters[t]&&(this._filters[t]=this._filters[t].filter(e=>e.fn!==i)),this.pswp&&this.pswp.removeFilter(t,i)}applyFilters(t,...i){var e;return(e=this._filters[t])===null||e===void 0||e.forEach(s=>{i[0]=s.fn.apply(this,i)}),i[0]}on(t,i){var e,s;this._listeners[t]||(this._listeners[t]=[]),(e=this._listeners[t])===null||e===void 0||e.push(i),(s=this.pswp)===null||s===void 0||s.on(t,i)}off(t,i){var e;this._listeners[t]&&(this._listeners[t]=this._listeners[t].filter(s=>i!==s)),(e=this.pswp)===null||e===void 0||e.off(t,i)}dispatch(t,i){var e;if(this.pswp)return this.pswp.dispatch(t,i);const s=new Dt(t,i);return(e=this._listeners[t])===null||e===void 0||e.forEach(n=>{n.call(this,s)}),s}}class Rt{constructor(t,i){if(this.element=f("pswp__img pswp__img--placeholder",t?"img":"div",i),t){const e=this.element;e.decoding="async",e.alt="",e.src=t,e.setAttribute("role","presentation")}this.element.setAttribute("aria-hidden","true")}setDisplayedSize(t,i){this.element&&(this.element.tagName==="IMG"?(L(this.element,250,"auto"),this.element.style.transformOrigin="0 0",this.element.style.transform=b(0,0,t/250)):L(this.element,t,i))}destroy(){var t;(t=this.element)!==null&&t!==void 0&&t.parentNode&&this.element.remove(),this.element=null}}class Ft{constructor(t,i,e){this.instance=i,this.data=t,this.index=e,this.element=void 0,this.placeholder=void 0,this.slide=void 0,this.displayedImageWidth=0,this.displayedImageHeight=0,this.width=Number(this.data.w)||Number(this.data.width)||0,this.height=Number(this.data.h)||Number(this.data.height)||0,this.isAttached=!1,this.hasSlide=!1,this.isDecoding=!1,this.state=_.IDLE,this.data.type?this.type=this.data.type:this.data.src?this.type="image":this.type="html",this.instance.dispatch("contentInit",{content:this})}removePlaceholder(){this.placeholder&&!this.keepPlaceholder()&&setTimeout(()=>{this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0)},1e3)}load(t,i){if(this.slide&&this.usePlaceholder())if(this.placeholder){const e=this.placeholder.element;e&&!e.parentElement&&this.slide.container.prepend(e)}else{const e=this.instance.applyFilters("placeholderSrc",this.data.msrc&&this.slide.isFirstSlide?this.data.msrc:!1,this);this.placeholder=new Rt(e,this.slide.container)}this.element&&!i||this.instance.dispatch("contentLoad",{content:this,isLazy:t}).defaultPrevented||(this.isImageContent()?(this.element=f("pswp__img","img"),this.displayedImageWidth&&this.loadImage(t)):(this.element=f("pswp__content","div"),this.element.innerHTML=this.data.html||""),i&&this.slide&&this.slide.updateContentSize(!0))}loadImage(t){var i,e;if(!this.isImageContent()||!this.element||this.instance.dispatch("contentLoadImage",{content:this,isLazy:t}).defaultPrevented)return;const s=this.element;this.updateSrcsetSizes(),this.data.srcset&&(s.srcset=this.data.srcset),s.src=(i=this.data.src)!==null&&i!==void 0?i:"",s.alt=(e=this.data.alt)!==null&&e!==void 0?e:"",this.state=_.LOADING,s.complete?this.onLoaded():(s.onload=()=>{this.onLoaded()},s.onerror=()=>{this.onError()})}setSlide(t){this.slide=t,this.hasSlide=!0,this.instance=t.pswp}onLoaded(){this.state=_.LOADED,this.slide&&this.element&&(this.instance.dispatch("loadComplete",{slide:this.slide,content:this}),this.slide.isActive&&this.slide.heavyAppended&&!this.element.parentNode&&(this.append(),this.slide.updateContentSize(!0)),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder())}onError(){this.state=_.ERROR,this.slide&&(this.displayError(),this.instance.dispatch("loadComplete",{slide:this.slide,isError:!0,content:this}),this.instance.dispatch("loadError",{slide:this.slide,content:this}))}isLoading(){return this.instance.applyFilters("isContentLoading",this.state===_.LOADING,this)}isError(){return this.state===_.ERROR}isImageContent(){return this.type==="image"}setDisplayedSize(t,i){if(this.element&&(this.placeholder&&this.placeholder.setDisplayedSize(t,i),!this.instance.dispatch("contentResize",{content:this,width:t,height:i}).defaultPrevented&&(L(this.element,t,i),this.isImageContent()&&!this.isError()))){const e=!this.displayedImageWidth&&t;this.displayedImageWidth=t,this.displayedImageHeight=i,e?this.loadImage(!1):this.updateSrcsetSizes(),this.slide&&this.instance.dispatch("imageSizeChange",{slide:this.slide,width:t,height:i,content:this})}}isZoomable(){return this.instance.applyFilters("isContentZoomable",this.isImageContent()&&this.state!==_.ERROR,this)}updateSrcsetSizes(){if(!this.isImageContent()||!this.element||!this.data.srcset)return;const t=this.element,i=this.instance.applyFilters("srcsetSizesWidth",this.displayedImageWidth,this);(!t.dataset.largestUsedSize||i>parseInt(t.dataset.largestUsedSize,10))&&(t.sizes=i+"px",t.dataset.largestUsedSize=String(i))}usePlaceholder(){return this.instance.applyFilters("useContentPlaceholder",this.isImageContent(),this)}lazyLoad(){this.instance.dispatch("contentLazyLoad",{content:this}).defaultPrevented||this.load(!0)}keepPlaceholder(){return this.instance.applyFilters("isKeepingPlaceholder",this.isLoading(),this)}destroy(){this.hasSlide=!1,this.slide=void 0,!this.instance.dispatch("contentDestroy",{content:this}).defaultPrevented&&(this.remove(),this.placeholder&&(this.placeholder.destroy(),this.placeholder=void 0),this.isImageContent()&&this.element&&(this.element.onload=null,this.element.onerror=null,this.element=void 0))}displayError(){if(this.slide){var t,i;let e=f("pswp__error-msg","div");e.innerText=(t=(i=this.instance.options)===null||i===void 0?void 0:i.errorMsg)!==null&&t!==void 0?t:"",e=this.instance.applyFilters("contentErrorElement",e,this),this.element=f("pswp__content pswp__error-msg-container","div"),this.element.appendChild(e),this.slide.container.innerText="",this.slide.container.appendChild(this.element),this.slide.updateContentSize(!0),this.removePlaceholder()}}append(){if(this.isAttached||!this.element)return;if(this.isAttached=!0,this.state===_.ERROR){this.displayError();return}if(this.instance.dispatch("contentAppend",{content:this}).defaultPrevented)return;const t="decode"in this.element;this.isImageContent()?t&&this.slide&&(!this.slide.isActive||C())?(this.isDecoding=!0,this.element.decode().catch(()=>{}).finally(()=>{this.isDecoding=!1,this.appendImage()})):this.appendImage():this.slide&&!this.element.parentNode&&this.slide.container.appendChild(this.element)}activate(){this.instance.dispatch("contentActivate",{content:this}).defaultPrevented||!this.slide||(this.isImageContent()&&this.isDecoding&&!C()?this.appendImage():this.isError()&&this.load(!1,!0),this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","false"))}deactivate(){this.instance.dispatch("contentDeactivate",{content:this}),this.slide&&this.slide.holderElement&&this.slide.holderElement.setAttribute("aria-hidden","true")}remove(){this.isAttached=!1,!this.instance.dispatch("contentRemove",{content:this}).defaultPrevented&&(this.element&&this.element.parentNode&&this.element.remove(),this.placeholder&&this.placeholder.element&&this.placeholder.element.remove())}appendImage(){this.isAttached&&(this.instance.dispatch("contentAppendImage",{content:this}).defaultPrevented||(this.slide&&this.element&&!this.element.parentNode&&this.slide.container.appendChild(this.element),(this.state===_.LOADED||this.state===_.ERROR)&&this.removePlaceholder()))}}const Bt=5;function W(r,t,i){const e=t.createContentFromData(r,i);let s;const{options:n}=t;if(n){s=new k(n,r,-1);let o;t.pswp?o=t.pswp.viewportSize:o=B(n,t);const a=N(n,o,r,i);s.update(e.width,e.height,a)}return e.lazyLoad(),s&&e.setDisplayedSize(Math.ceil(e.width*s.initial),Math.ceil(e.height*s.initial)),e}function Nt(r,t){const i=t.getItemData(r);if(!t.dispatch("lazyLoadSlide",{index:r,itemData:i}).defaultPrevented)return W(i,t,r)}class kt{constructor(t){this.pswp=t,this.limit=Math.max(t.options.preload[0]+t.options.preload[1]+1,Bt),this._cachedItems=[]}updateLazy(t){const{pswp:i}=this;if(i.dispatch("lazyLoad").defaultPrevented)return;const{preload:e}=i.options,s=t===void 0?!0:t>=0;let n;for(n=0;n<=e[1];n++)this.loadSlideByIndex(i.currIndex+(s?n:-n));for(n=1;n<=e[0];n++)this.loadSlideByIndex(i.currIndex+(s?-n:n))}loadSlideByIndex(t){const i=this.pswp.getLoopedIndex(t);let e=this.getContentByIndex(i);e||(e=Nt(i,this.pswp),e&&this.addToCache(e))}getContentBySlide(t){let i=this.getContentByIndex(t.index);return i||(i=this.pswp.createContentFromData(t.data,t.index),this.addToCache(i)),i.setSlide(t),i}addToCache(t){if(this.removeByIndex(t.index),this._cachedItems.push(t),this._cachedItems.length>this.limit){const i=this._cachedItems.findIndex(e=>!e.isAttached&&!e.hasSlide);i!==-1&&this._cachedItems.splice(i,1)[0].destroy()}}removeByIndex(t){const i=this._cachedItems.findIndex(e=>e.index===t);i!==-1&&this._cachedItems.splice(i,1)}getContentByIndex(t){return this._cachedItems.find(i=>i.index===t)}destroy(){this._cachedItems.forEach(t=>t.destroy()),this._cachedItems=[]}}class Ht extends Mt{getNumItems(){var t;let i=0;const e=(t=this.options)===null||t===void 0?void 0:t.dataSource;e&&"length"in e?i=e.length:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),e.items&&(i=e.items.length));const s=this.dispatch("numItems",{dataSource:e,numItems:i});return this.applyFilters("numItems",s.numItems,e)}createContentFromData(t,i){return new Ft(t,this,i)}getItemData(t){var i;const e=(i=this.options)===null||i===void 0?void 0:i.dataSource;let s={};Array.isArray(e)?s=e[t]:e&&"gallery"in e&&(e.items||(e.items=this._getGalleryDOMElements(e.gallery)),s=e.items[t]);let n=s;n instanceof Element&&(n=this._domElementToItemData(n));const o=this.dispatch("itemData",{itemData:n||{},index:t});return this.applyFilters("itemData",o.itemData,t)}_getGalleryDOMElements(t){var i,e;return(i=this.options)!==null&&i!==void 0&&i.children||(e=this.options)!==null&&e!==void 0&&e.childSelector?K(this.options.children,this.options.childSelector,t)||[]:[t]}_domElementToItemData(t){const i={element:t},e=t.tagName==="A"?t:t.querySelector("a");if(e){i.src=e.dataset.pswpSrc||e.href,e.dataset.pswpSrcset&&(i.srcset=e.dataset.pswpSrcset),i.width=e.dataset.pswpWidth?parseInt(e.dataset.pswpWidth,10):0,i.height=e.dataset.pswpHeight?parseInt(e.dataset.pswpHeight,10):0,i.w=i.width,i.h=i.height,e.dataset.pswpType&&(i.type=e.dataset.pswpType);const n=t.querySelector("img");if(n){var s;i.msrc=n.currentSrc||n.src,i.alt=(s=n.getAttribute("alt"))!==null&&s!==void 0?s:""}(e.dataset.pswpCropped||e.dataset.cropped)&&(i.thumbCropped=!0)}return this.applyFilters("domItemData",i,t,e)}lazyLoadData(t,i){return W(t,this,i)}}const P=.003;class Wt{constructor(t){this.pswp=t,this.isClosed=!0,this.isOpen=!1,this.isClosing=!1,this.isOpening=!1,this._duration=void 0,this._useAnimation=!1,this._croppedZoom=!1,this._animateRootOpacity=!1,this._animateBgOpacity=!1,this._placeholder=void 0,this._opacityElement=void 0,this._cropContainer1=void 0,this._cropContainer2=void 0,this._thumbBounds=void 0,this._prepareOpen=this._prepareOpen.bind(this),t.on("firstZoomPan",this._prepareOpen)}open(){this._prepareOpen(),this._start()}close(){if(this.isClosed||this.isClosing||this.isOpening)return;const t=this.pswp.currSlide;this.isOpen=!1,this.isOpening=!1,this.isClosing=!0,this._duration=this.pswp.options.hideAnimationDuration,t&&t.currZoomLevel*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps(),setTimeout(()=>{this._start()},this._croppedZoom?30:0)}_prepareOpen(){if(this.pswp.off("firstZoomPan",this._prepareOpen),!this.isOpening){const t=this.pswp.currSlide;this.isOpening=!0,this.isClosing=!1,this._duration=this.pswp.options.showAnimationDuration,t&&t.zoomLevels.initial*t.width>=this.pswp.options.maxWidthToAnimate&&(this._duration=0),this._applyStartProps()}}_applyStartProps(){const{pswp:t}=this,i=this.pswp.currSlide,{options:e}=t;if(e.showHideAnimationType==="fade"?(e.showHideOpacity=!0,this._thumbBounds=void 0):e.showHideAnimationType==="none"?(e.showHideOpacity=!1,this._duration=0,this._thumbBounds=void 0):this.isOpening&&t._initialThumbBounds?this._thumbBounds=t._initialThumbBounds:this._thumbBounds=this.pswp.getThumbBounds(),this._placeholder=i==null?void 0:i.getPlaceholderElement(),t.animations.stopAll(),this._useAnimation=!!(this._duration&&this._duration>50),this._animateZoom=!!this._thumbBounds&&(i==null?void 0:i.content.usePlaceholder())&&(!this.isClosing||!t.mainScroll.isShifted()),!this._animateZoom)this._animateRootOpacity=!0,this.isOpening&&i&&(i.zoomAndPanToInitial(),i.applyCurrentZoomPan());else{var s;this._animateRootOpacity=(s=e.showHideOpacity)!==null&&s!==void 0?s:!1}if(this._animateBgOpacity=!this._animateRootOpacity&&this.pswp.options.bgOpacity>P,this._opacityElement=this._animateRootOpacity?t.element:t.bg,!this._useAnimation){this._duration=0,this._animateZoom=!1,this._animateBgOpacity=!1,this._animateRootOpacity=!0,this.isOpening&&(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1));return}if(this._animateZoom&&this._thumbBounds&&this._thumbBounds.innerRect){var n;this._croppedZoom=!0,this._cropContainer1=this.pswp.container,this._cropContainer2=(n=this.pswp.currSlide)===null||n===void 0?void 0:n.holderElement,t.container&&(t.container.style.overflow="hidden",t.container.style.width=t.viewportSize.x+"px")}else this._croppedZoom=!1;this.isOpening?(this._animateRootOpacity?(t.element&&(t.element.style.opacity=String(P)),t.applyBgOpacity(1)):(this._animateBgOpacity&&t.bg&&(t.bg.style.opacity=String(P)),t.element&&(t.element.style.opacity="1")),this._animateZoom&&(this._setClosedStateZoomPan(),this._placeholder&&(this._placeholder.style.willChange="transform",this._placeholder.style.opacity=String(P)))):this.isClosing&&(t.mainScroll.itemHolders[0]&&(t.mainScroll.itemHolders[0].el.style.display="none"),t.mainScroll.itemHolders[2]&&(t.mainScroll.itemHolders[2].el.style.display="none"),this._croppedZoom&&t.mainScroll.x!==0&&(t.mainScroll.resetPosition(),t.mainScroll.resize()))}_start(){this.isOpening&&this._useAnimation&&this._placeholder&&this._placeholder.tagName==="IMG"?new Promise(t=>{let i=!1,e=!0;q(this._placeholder).finally(()=>{i=!0,e||t(!0)}),setTimeout(()=>{e=!1,i&&t(!0)},50),setTimeout(t,250)}).finally(()=>this._initiate()):this._initiate()}_initiate(){var t,i;(t=this.pswp.element)===null||t===void 0||t.style.setProperty("--pswp-transition-duration",this._duration+"ms"),this.pswp.dispatch(this.isOpening?"openingAnimationStart":"closingAnimationStart"),this.pswp.dispatch("initialZoom"+(this.isOpening?"In":"Out")),(i=this.pswp.element)===null||i===void 0||i.classList.toggle("pswp--ui-visible",this.isOpening),this.isOpening?(this._placeholder&&(this._placeholder.style.opacity="1"),this._animateToOpenState()):this.isClosing&&this._animateToClosedState(),this._useAnimation||this._onAnimationComplete()}_onAnimationComplete(){const{pswp:t}=this;if(this.isOpen=this.isOpening,this.isClosed=this.isClosing,this.isOpening=!1,this.isClosing=!1,t.dispatch(this.isOpen?"openingAnimationEnd":"closingAnimationEnd"),t.dispatch("initialZoom"+(this.isOpen?"InEnd":"OutEnd")),this.isClosed)t.destroy();else if(this.isOpen){var i;this._animateZoom&&t.container&&(t.container.style.overflow="visible",t.container.style.width="100%"),(i=t.currSlide)===null||i===void 0||i.applyCurrentZoomPan()}}_animateToOpenState(){const{pswp:t}=this;this._animateZoom&&(this._croppedZoom&&this._cropContainer1&&this._cropContainer2&&(this._animateTo(this._cropContainer1,"transform","translate3d(0,0,0)"),this._animateTo(this._cropContainer2,"transform","none")),t.currSlide&&(t.currSlide.zoomAndPanToInitial(),this._animateTo(t.currSlide.container,"transform",t.currSlide.getCurrentTransform()))),this._animateBgOpacity&&t.bg&&this._animateTo(t.bg,"opacity",String(t.options.bgOpacity)),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","1")}_animateToClosedState(){const{pswp:t}=this;this._animateZoom&&this._setClosedStateZoomPan(!0),this._animateBgOpacity&&t.bgOpacity>.01&&t.bg&&this._animateTo(t.bg,"opacity","0"),this._animateRootOpacity&&t.element&&this._animateTo(t.element,"opacity","0")}_setClosedStateZoomPan(t){if(!this._thumbBounds)return;const{pswp:i}=this,{innerRect:e}=this._thumbBounds,{currSlide:s,viewportSize:n}=i;if(this._croppedZoom&&e&&this._cropContainer1&&this._cropContainer2){const o=-n.x+(this._thumbBounds.x-e.x)+e.w,a=-n.y+(this._thumbBounds.y-e.y)+e.h,h=n.x-e.w,l=n.y-e.h;t?(this._animateTo(this._cropContainer1,"transform",b(o,a)),this._animateTo(this._cropContainer2,"transform",b(h,l))):(y(this._cropContainer1,o,a),y(this._cropContainer2,h,l))}s&&(p(s.pan,e||this._thumbBounds),s.currZoomLevel=this._thumbBounds.w/s.width,t?this._animateTo(s.container,"transform",s.getCurrentTransform()):s.applyCurrentZoomPan())}_animateTo(t,i,e){if(!this._duration){t.style[i]=e;return}const{animations:s}=this.pswp,n={duration:this._duration,easing:this.pswp.options.easing,onComplete:()=>{s.activeAnimations.length||this._onAnimationComplete()},target:t};n[i]=e,s.startTransition(n)}}const Vt={allowPanToNext:!0,spacing:.1,loop:!0,pinchToClose:!0,closeOnVerticalDrag:!0,hideAnimationDuration:333,showAnimationDuration:333,zoomAnimationDuration:333,escKey:!0,arrowKeys:!0,trapFocus:!0,returnFocus:!0,maxWidthToAnimate:4e3,clickToCloseNonZoomable:!0,imageClickAction:"zoom-or-close",bgClickAction:"close",tapAction:"toggle-controls",doubleTapAction:"zoom",indexIndicatorSep:" / ",preloaderDelay:2e3,bgOpacity:.8,index:0,errorMsg:"The image cannot be loaded",preload:[1,2],easing:"cubic-bezier(.4,0,.22,1)"};class $t extends Ht{constructor(t){super(),this.options=this._prepareOptions(t||{}),this.offset={x:0,y:0},this._prevViewportSize={x:0,y:0},this.viewportSize={x:0,y:0},this.bgOpacity=1,this.currIndex=0,this.potentialIndex=0,this.isOpen=!1,this.isDestroying=!1,this.hasMouse=!1,this._initialItemData={},this._initialThumbBounds=void 0,this.topBar=void 0,this.element=void 0,this.template=void 0,this.container=void 0,this.scrollWrap=void 0,this.currSlide=void 0,this.events=new X,this.animations=new wt,this.mainScroll=new dt(this),this.gestures=new lt(this),this.opener=new Wt(this),this.keyboard=new ut(this),this.contentLoader=new kt(this)}init(){if(this.isOpen||this.isDestroying)return!1;this.isOpen=!0,this.dispatch("init"),this.dispatch("beforeOpen"),this._createMainStructure();let t="pswp--open";return this.gestures.supportsTouch&&(t+=" pswp--touch"),this.options.mainClass&&(t+=" "+this.options.mainClass),this.element&&(this.element.className+=" "+t),this.currIndex=this.options.index||0,this.potentialIndex=this.currIndex,this.dispatch("firstUpdate"),this.scrollWheel=new Pt(this),(Number.isNaN(this.currIndex)||this.currIndex<0||this.currIndex>=this.getNumItems())&&(this.currIndex=0),this.gestures.supportsTouch||this.mouseDetected(),this.updateSize(),this.offset.y=window.pageYOffset,this._initialItemData=this.getItemData(this.currIndex),this.dispatch("gettingData",{index:this.currIndex,data:this._initialItemData,slide:void 0}),this._initialThumbBounds=this.getThumbBounds(),this.dispatch("initialLayout"),this.on("openingAnimationEnd",()=>{const{itemHolders:i}=this.mainScroll;i[0]&&(i[0].el.style.display="block",this.setContent(i[0],this.currIndex-1)),i[2]&&(i[2].el.style.display="block",this.setContent(i[2],this.currIndex+1)),this.appendHeavy(),this.contentLoader.updateLazy(),this.events.add(window,"resize",this._handlePageResize.bind(this)),this.events.add(window,"scroll",this._updatePageScrollOffset.bind(this)),this.dispatch("bindEvents")}),this.mainScroll.itemHolders[1]&&this.setContent(this.mainScroll.itemHolders[1],this.currIndex),this.dispatch("change"),this.opener.open(),this.dispatch("afterInit"),!0}getLoopedIndex(t){const i=this.getNumItems();return this.options.loop&&(t>i-1&&(t-=i),t<0&&(t+=i)),I(t,0,i-1)}appendHeavy(){this.mainScroll.itemHolders.forEach(t=>{var i;(i=t.slide)===null||i===void 0||i.appendHeavy()})}goTo(t){this.mainScroll.moveIndexBy(this.getLoopedIndex(t)-this.potentialIndex)}next(){this.goTo(this.potentialIndex+1)}prev(){this.goTo(this.potentialIndex-1)}zoomTo(...t){var i;(i=this.currSlide)===null||i===void 0||i.zoomTo(...t)}toggleZoom(){var t;(t=this.currSlide)===null||t===void 0||t.toggleZoom()}close(){!this.opener.isOpen||this.isDestroying||(this.isDestroying=!0,this.dispatch("close"),this.events.removeAll(),this.opener.close())}destroy(){var t;if(!this.isDestroying){this.options.showHideAnimationType="none",this.close();return}this.dispatch("destroy"),this._listeners={},this.scrollWrap&&(this.scrollWrap.ontouchmove=null,this.scrollWrap.ontouchend=null),(t=this.element)===null||t===void 0||t.remove(),this.mainScroll.itemHolders.forEach(i=>{var e;(e=i.slide)===null||e===void 0||e.destroy()}),this.contentLoader.destroy(),this.events.removeAll()}refreshSlideContent(t){this.contentLoader.removeByIndex(t),this.mainScroll.itemHolders.forEach((i,e)=>{var s,n;let o=((s=(n=this.currSlide)===null||n===void 0?void 0:n.index)!==null&&s!==void 0?s:0)-1+e;if(this.canLoop()&&(o=this.getLoopedIndex(o)),o===t&&(this.setContent(i,t,!0),e===1)){var a;this.currSlide=i.slide,(a=i.slide)===null||a===void 0||a.setIsActive(!0)}}),this.dispatch("change")}setContent(t,i,e){if(this.canLoop()&&(i=this.getLoopedIndex(i)),t.slide){if(t.slide.index===i&&!e)return;t.slide.destroy(),t.slide=void 0}if(!this.canLoop()&&(i<0||i>=this.getNumItems()))return;const s=this.getItemData(i);t.slide=new j(s,i,this),i===this.currIndex&&(this.currSlide=t.slide),t.slide.append(t.el)}getViewportCenterPoint(){return{x:this.viewportSize.x/2,y:this.viewportSize.y/2}}updateSize(t){if(this.isDestroying)return;const i=B(this.options,this);!t&&x(i,this._prevViewportSize)||(p(this._prevViewportSize,i),this.dispatch("beforeResize"),p(this.viewportSize,this._prevViewportSize),this._updatePageScrollOffset(),this.dispatch("viewportSize"),this.mainScroll.resize(this.opener.isOpen),!this.hasMouse&&window.matchMedia("(any-hover: hover)").matches&&this.mouseDetected(),this.dispatch("resize"))}applyBgOpacity(t){this.bgOpacity=Math.max(t,0),this.bg&&(this.bg.style.opacity=String(this.bgOpacity*this.options.bgOpacity))}mouseDetected(){if(!this.hasMouse){var t;this.hasMouse=!0,(t=this.element)===null||t===void 0||t.classList.add("pswp--has_mouse")}}_handlePageResize(){this.updateSize(),/iPhone|iPad|iPod/i.test(window.navigator.userAgent)&&setTimeout(()=>{this.updateSize()},500)}_updatePageScrollOffset(){this.setScrollOffset(0,window.pageYOffset)}setScrollOffset(t,i){this.offset.x=t,this.offset.y=i,this.dispatch("updateScrollOffset")}_createMainStructure(){this.element=f("pswp","div"),this.element.setAttribute("tabindex","-1"),this.element.setAttribute("role","dialog"),this.template=this.element,this.bg=f("pswp__bg","div",this.element),this.scrollWrap=f("pswp__scroll-wrap","section",this.element),this.container=f("pswp__container","div",this.scrollWrap),this.scrollWrap.setAttribute("aria-roledescription","carousel"),this.container.setAttribute("aria-live","off"),this.container.setAttribute("id","pswp__items"),this.mainScroll.appendHolders(),this.ui=new zt(this),this.ui.init(),(this.options.appendToEl||document.body).appendChild(this.element)}getThumbBounds(){return Zt(this.currIndex,this.currSlide?this.currSlide.data:this._initialItemData,this)}canLoop(){return this.options.loop&&this.getNumItems()>2}_prepareOptions(t){return window.matchMedia("(prefers-reduced-motion), (update: slow)").matches&&(t.showHideAnimationType="none",t.zoomAnimationDuration=0),{...Vt,...t}}}export{$t as default}; diff --git a/assets/plugin-vue_export-helper-c27b6911.js b/assets/plugin-vue_export-helper-c27b6911.js new file mode 100644 index 0000000..718edd3 --- /dev/null +++ b/assets/plugin-vue_export-helper-c27b6911.js @@ -0,0 +1 @@ +const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _}; diff --git a/assets/reset-host-c6e13d8f.png b/assets/reset-host-c6e13d8f.png new file mode 100644 index 0000000..df34896 Binary files /dev/null and b/assets/reset-host-c6e13d8f.png differ diff --git a/assets/style-f5999343.css b/assets/style-f5999343.css new file mode 100644 index 0000000..c2e237f --- /dev/null +++ b/assets/style-f5999343.css @@ -0,0 +1 @@ +html[data-theme=dark]{--text-color: #9e9e9e;--bg-color: #0d1117;--bg-color-secondary: #161b22;--bg-color-tertiary: #21262c;--border-color: #30363d;--box-shadow: #282a32;--card-shadow: rgba(0, 0, 0, .3);--black: #fff;--dark-grey: #999;--light-grey: #666;--white: #000;--grey3: #bbb;--grey12: #333;--grey14: #111;--bg-color-light: #161b22;--bg-color-back: #0d1117;--bg-color-float: #161b22;--bg-color-blur: rgba(13, 17, 23, .9);--bg-color-float-blur: rgba(22, 27, 34, .9);--text-color-light: #a8a8a8;--text-color-lighter: #b1b1b1;--text-color-bright: #c5c5c5;--border-color-light: #2e333a;--border-color-dark: #394048}:root{--theme-color: #3eaf7c;--text-color: #2c3e50;--bg-color: #fff;--bg-color-secondary: #f8f8f8;--bg-color-tertiary: #efeef4;--border-color: #eaecef;--box-shadow: #f0f1f2;--card-shadow: rgba(0, 0, 0, .15);--black: #000;--dark-grey: #666;--light-grey: #999;--white: #fff;--grey3: #333;--grey12: #bbb;--grey14: #eee;--navbar-height: 3.75rem;--navbar-horizontal-padding: 1.5rem;--navbar-vertical-padding: .7rem;--navbar-mobile-height: 3.25rem;--navbar-mobile-horizontal-padding: 1rem;--navbar-mobile-vertical-padding: .5rem;--sidebar-width: 18rem;--sidebar-mobile-width: 16rem;--content-width: 780px;--home-page-width: 1160px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-heading: Georgia Pro, Crimson, Georgia, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", STHeiti, "Microsoft YaHei", SimSun, sans-serif;--font-family-mono: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;--line-numbers-width: 2.5rem;--color-transition: .3s ease;--transform-transition: .3s ease;--vp-bg: var(--bg-color);--vp-bgl: var(--bg-color-light);--vp-bglt: var(--bg-color-tertiary);--vp-c: var(--text-color);--vp-cl: var(--text-color-light);--vp-clt: var(--text-color-lighter);--vp-brc: var(--border-color);--vp-brcd: var(--border-color-dark);--vp-tc: var(--theme-color);--vp-tcl: var(--theme-color-light);--vp-ct: var(--color-transition);--vp-tt: var(--transform-transition);--bg-color-light: #fff;--bg-color-back: #f8f8f8;--bg-color-float: #fff;--bg-color-blur: rgba(255, 255, 255, .9);--bg-color-float-blur: rgba(255, 255, 255, .9);--text-color-light: #3a5169;--text-color-lighter: #476582;--text-color-bright: #6a8bad;--border-color-light: #eceef1;--border-color-dark: #cfd4db;--theme-color-dark: #389e70;--theme-color-light: #4abf8a;--theme-color-mask: rgba(62, 175, 124, .15)}:root{--badge-tip-color: #42b983;--badge-warning-color: #f4cd00;--badge-danger-color: #f55;--badge-info-color: #0295ff;--badge-note-color: #666}.vp-badge{display:inline-block;vertical-align:center;height:18px;padding:0 6px;border-radius:3px;background:var(--vp-tc);color:var(--white);font-size:14px;line-height:18px;transition:background var(--vp-ct),color var(--vp-ct)}.vp-badge+.vp-badge{margin-inline-start:5px}h1 .vp-badge,h2 .vp-badge,h3 .vp-badge,h4 .vp-badge,h5 .vp-badge,h6 .vp-badge{vertical-align:top}.vp-badge.tip{background:var(--badge-tip-color)}.vp-badge.warning{background:var(--badge-warning-color)}.vp-badge.danger{background:var(--badge-danger-color)}.vp-badge.info{background:var(--badge-info-color)}.vp-badge.note{background:var(--badge-note-color)}.font-icon{display:inline-block}.theme-hope-content .font-icon{vertical-align:middle}:root{--balloon-border-radius: 2px;--balloon-color: rgba(16, 16, 16, .95);--balloon-text-color: #fff;--balloon-font-size: 12px;--balloon-move: 4px}button[aria-label][data-balloon-pos]{overflow:visible}[aria-label][data-balloon-pos]{position:relative;cursor:pointer}[aria-label][data-balloon-pos]:after{opacity:0;pointer-events:none;transition:all .18s ease-out .18s;text-indent:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-weight:400;font-style:normal;text-shadow:none;font-size:var(--balloon-font-size);background:var(--balloon-color);border-radius:2px;color:var(--balloon-text-color);border-radius:var(--balloon-border-radius);content:attr(aria-label);padding:.5em 1em;position:absolute;white-space:nowrap;z-index:10}[aria-label][data-balloon-pos]:before{width:0;height:0;border:5px solid transparent;border-top-color:var(--balloon-color);opacity:0;pointer-events:none;transition:all .18s ease-out .18s;content:"";position:absolute;z-index:10}[aria-label][data-balloon-pos]:hover:before,[aria-label][data-balloon-pos]:hover:after,[aria-label][data-balloon-pos][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-visible]:after,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:before,[aria-label][data-balloon-pos]:not([data-balloon-nofocus]):focus:after{opacity:1;pointer-events:none}[aria-label][data-balloon-pos].font-awesome:after{font-family:FontAwesome,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}[aria-label][data-balloon-pos][data-balloon-break]:after{white-space:pre}[aria-label][data-balloon-pos][data-balloon-break][data-balloon-length]:after{white-space:pre-line;word-break:break-word}[aria-label][data-balloon-pos][data-balloon-blunt]:before,[aria-label][data-balloon-pos][data-balloon-blunt]:after{transition:none}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:after{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=up]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=up][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=down]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=down][data-balloon-visible]:before{transform:translate(-50%)}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:after{left:0}[aria-label][data-balloon-pos][data-balloon-pos*=-left]:before{left:5px}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:after{right:0}[aria-label][data-balloon-pos][data-balloon-pos*=-right]:before{right:5px}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:after,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:after{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-po*=-left]:hover:before,[aria-label][data-balloon-pos][data-balloon-po*=-left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos*=-right][data-balloon-visible]:before{transform:translate(0)}[aria-label][data-balloon-pos][data-balloon-pos^=up]:before,[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{bottom:100%;transform-origin:top;transform:translateY(var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=up]:after{margin-bottom:10px}[aria-label][data-balloon-pos][data-balloon-pos=up]:before,[aria-label][data-balloon-pos][data-balloon-pos=up]:after{left:50%;transform:translate(-50%,var(--balloon-move))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before,[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{top:100%;transform:translateY(calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos^=down]:after{margin-top:10px}[aria-label][data-balloon-pos][data-balloon-pos^=down]:before{width:0;height:0;border:5px solid transparent;border-bottom-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=down]:after,[aria-label][data-balloon-pos][data-balloon-pos=down]:before{left:50%;transform:translate(-50%,calc(var(--balloon-move) * -1))}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:after,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:after{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=left][data-balloon-visible]:before,[aria-label][data-balloon-pos][data-balloon-pos=right]:hover:before,[aria-label][data-balloon-pos][data-balloon-pos=right][data-balloon-visible]:before{transform:translateY(-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after,[aria-label][data-balloon-pos][data-balloon-pos=left]:before{right:100%;top:50%;transform:translate(var(--balloon-move),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=left]:after{margin-right:10px}[aria-label][data-balloon-pos][data-balloon-pos=left]:before{width:0;height:0;border:5px solid transparent;border-left-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after,[aria-label][data-balloon-pos][data-balloon-pos=right]:before{left:100%;top:50%;transform:translate(calc(var(--balloon-move) * -1),-50%)}[aria-label][data-balloon-pos][data-balloon-pos=right]:after{margin-left:10px}[aria-label][data-balloon-pos][data-balloon-pos=right]:before{width:0;height:0;border:5px solid transparent;border-right-color:var(--balloon-color)}[aria-label][data-balloon-pos][data-balloon-length]:after{white-space:normal}[aria-label][data-balloon-pos][data-balloon-length=small]:after{width:80px}[aria-label][data-balloon-pos][data-balloon-length=medium]:after{width:150px}[aria-label][data-balloon-pos][data-balloon-length=large]:after{width:260px}[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:380px}@media screen and (max-width: 768px){[aria-label][data-balloon-pos][data-balloon-length=xlarge]:after{width:90vw}}[aria-label][data-balloon-pos][data-balloon-length=fit]:after{width:100%}.vp-back-to-top-button{border-width:0;background:transparent;cursor:pointer;position:fixed!important;bottom:64px;inset-inline-end:1rem;z-index:100;width:48px;height:48px;padding:8px;border-radius:50%;background:var(--vp-bg);color:var(--vp-tc);box-shadow:2px 2px 10px 4px var(--card-shadow);transition:background var(--vp-ct),color var(--vp-ct),box-shadow var(--vp-ct)}@media (max-width: 719px){.vp-back-to-top-button{width:36px;height:36px}}@media print{.vp-back-to-top-button{display:none}}.vp-back-to-top-button:hover{color:var(--vp-tcl)}.vp-back-to-top-button .back-to-top-icon{overflow:hidden;width:100%;border-radius:50%;fill:currentcolor}.vp-scroll-progress{position:absolute;right:-2px;bottom:-2px;width:52px;height:52px}@media (max-width: 719px){.vp-scroll-progress{width:40px;height:40px}}.vp-scroll-progress circle{opacity:.9;fill:none;stroke:var(--vp-tc);transform:rotate(-90deg);transform-origin:50% 50%;r:22;stroke-dasharray:0% 314.1593%;stroke-width:3px}@media (max-width: 719px){.vp-scroll-progress circle{r:18}}.fade-enter-active,.fade-leave-active{transition:opacity var(--vp-ct)}.fade-enter-from,.fade-leave-to{opacity:0}@media screen{.sr-only{position:absolute;overflow:hidden;clip:rect 0,0,0,0;width:1px;height:1px;margin:-1px;padding:0;border:0}}@media print{.sr-only{display:none}}.vp-catalog-wrapper{margin-top:8px;margin-bottom:8px}.vp-catalog-wrapper.index ol{padding-inline-start:0}.vp-catalog-wrapper.index li{list-style-type:none}.vp-catalog-wrapper.index .vp-child-catalogs{counter-reset:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog{counter-increment:child-catalog}.vp-catalog-wrapper.index .vp-child-catalog .vp-catalog-title:before{content:counter(catalog-item) "." counter(child-catalog) " "}.vp-catalog-wrapper.index .vp-sub-catalogs{padding-inline-start:.5rem}.vp-catalogs{margin:0;padding-inline-start:0;counter-reset:catalog-item}.vp-catalogs .font-icon{vertical-align:baseline;margin-inline-end:.25rem}.vp-catalog{counter-increment:catalog-item}.vp-catalog-main-title{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);font-weight:500;font-size:1.75rem}.vp-catalog-main-title:first-child{margin-bottom:.5rem!important}.vp-catalog-main-title:only-child{margin-bottom:0!important}.vp-catalog-child-title.has-children{margin-top:calc(.5rem - var(--navbar-height, 3.6rem));margin-bottom:.5rem;padding-top:var(--navbar-height, 3.6rem);border-bottom:1px solid var(--vp-brc);font-weight:500;font-size:1.3rem;transition:border-color var(--vp-ct)}.vp-catalog-child-title.has-children:first-child{margin-bottom:.5rem!important}.vp-catalog-child-title.has-children:only-child{margin-bottom:0!important}.vp-catalog-sub-title{font-weight:500;font-size:1.1rem}.vp-catalog-sub-title:only-child{margin-bottom:0!important}.vp-catalog-title{color:inherit;text-decoration:none}.vp-catalog-title:hover{color:var(--vp-tc)}.vp-catalog .vp-catalog-title:before{content:"§" counter(catalog-item,upper-roman) " "}.vp-child-catalogs{margin:0}.vp-sub-catalogs{counter-reset:sub-catalog}.vp-sub-catalog{counter-increment:sub-catalog}.vp-sub-catalog .vp-link:before{content:counter(catalog-item) "." counter(child-catalog) "." counter(sub-catalog) " "}.vp-sub-catalogs-wrapper{display:flex;flex-wrap:wrap}.vp-sub-catalog-link{display:inline-block;margin:4px 8px;padding:4px 8px;border-radius:6px;background-color:var(--vp-bgl);line-height:1.5;overflow-wrap:break-word;transition:background-color var(--vp-ct),color var(--vp-ct)}.vp-sub-catalog-link:hover{background-color:var(--vp-tcl);color:var(--vp-bg);text-decoration:none!important}.vp-empty-catalog{font-size:1.25rem;text-align:center}:root{--external-link-icon-color: #aaa}.external-link-icon{position:relative;display:inline-block;color:var(--external-link-icon-color);vertical-align:middle;top:-1px}@media print{.external-link-icon{display:none}}.external-link-icon-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}:root{--nprogress-color: #29d;--nprogress-z-index: 1031}#nprogress{pointer-events:none}#nprogress .bar{background:var(--nprogress-color);position:fixed;z-index:var(--nprogress-z-index);top:0;left:0;width:100%;height:2px}:root{--waline-font-size: 1rem;--waline-white: #fff;--waline-light-grey: #999;--waline-dark-grey: #666;--waline-theme-color: #27ae60;--waline-active-color: #2ecc71;--waline-color: #444;--waline-bgcolor: #fff;--waline-bgcolor-light: #f8f8f8;--waline-bgcolor-hover: #f0f0f0;--waline-border-color: #ddd;--waline-disable-bgcolor: #f8f8f8;--waline-disable-color: #000;--waline-code-bgcolor: #282c34;--waline-bq-color: #f0f0f0;--waline-avatar-size: 3.25rem;--waline-m-avatar-size: calc(var(--waline-avatar-size) * 9 / 13);--waline-badge-color: #3498db;--waline-badge-font-size: .75em;--waline-info-bgcolor: #f8f8f8;--waline-info-color: #999;--waline-info-font-size: .625em;--waline-border: 1px solid var(--waline-border-color);--waline-avatar-radius: 50%;--waline-box-shadow: none}[data-waline]{font-size:var(--waline-font-size);text-align:start}[dir=rtl] [data-waline]{direction:rtl}[data-waline] *{box-sizing:content-box;line-height:1.75}[data-waline] p{color:var(--waline-color)}[data-waline] a{position:relative;display:inline-block;color:var(--waline-theme-color);text-decoration:none;word-break:break-word;cursor:pointer}[data-waline] a:hover{color:var(--waline-active-color)}[data-waline] img{max-width:100%;max-height:400px;border:none}[data-waline] hr{margin:.825em 0;border-style:dashed;border-color:var(--waline-bgcolor-light)}[data-waline] code,[data-waline] pre{margin:0;padding:.2em .4em;border-radius:3px;background:var(--waline-bgcolor-light);font-size:85%}[data-waline] pre{overflow:auto;padding:10px;line-height:1.45}[data-waline] pre::-webkit-scrollbar{width:6px;height:6px}[data-waline] pre::-webkit-scrollbar-track-piece:horizontal{border-radius:6px;background:rgba(0,0,0,.1)}[data-waline] pre::-webkit-scrollbar-thumb:horizontal{width:6px;border-radius:6px;background:var(--waline-theme-color)}[data-waline] pre code{padding:0;background:rgba(0,0,0,0);color:var(--waline-color);white-space:pre-wrap;word-break:keep-all}[data-waline] blockquote{margin:.5em 0;padding:.5em 0 .5em 1em;border-inline-start:8px solid var(--waline-bq-color);color:var(--waline-dark-grey)}[data-waline] blockquote>p{margin:0}[data-waline] ol,[data-waline] ul{margin-inline-start:1.25em;padding:0}[data-waline] input[type=checkbox],[data-waline] input[type=radio]{display:inline-block;vertical-align:middle;margin-top:-2px}.wl-btn{display:inline-block;vertical-align:middle;min-width:2.5em;margin-bottom:0;padding:.5em 1em;border:1px solid var(--waline-border-color);border-radius:.5em;background:rgba(0,0,0,0);color:var(--waline-color);font-weight:400;font-size:.75em;line-height:1.5;text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition-duration:.4s;touch-action:manipulation}.wl-btn:hover,.wl-btn:active{border-color:var(--waline-theme-color);color:var(--waline-theme-color)}.wl-btn:disabled{border-color:var(--waline-border-color);background:var(--waline-disable-bgcolor);color:var(--waline-disable-color);cursor:not-allowed}.wl-btn.primary{border-color:var(--waline-theme-color);background:var(--waline-theme-color);color:var(--waline-white)}.wl-btn.primary:hover,.wl-btn.primary:active{border-color:var(--waline-active-color);background:var(--waline-active-color);color:var(--waline-white)}.wl-btn.primary:disabled{border-color:var(--waline-border-color);background:var(--waline-disable-bgcolor);color:var(--waline-disable-color);cursor:not-allowed}.wl-loading{text-align:center}.wl-loading svg{margin:0 auto}.wl-comment{position:relative;display:flex;margin-bottom:.75em}.wl-close{position:absolute;top:-4px;inset-inline-end:-4px;padding:0;border:none;background:rgba(0,0,0,0);line-height:1;cursor:pointer}.wl-login-info{max-width:80px;margin-top:.75em;text-align:center}.wl-logout-btn{position:absolute;top:-10px;inset-inline-end:-10px;padding:3px;border:none;background:rgba(0,0,0,0);line-height:0;cursor:pointer}.wl-avatar{position:relative;width:var(--waline-avatar-size);height:var(--waline-avatar-size);margin:0 auto;border:var(--waline-border);border-radius:var(--waline-avatar-radius)}@media (max-width: 720px){.wl-avatar{width:var(--waline-m-avatar-size);height:var(--waline-m-avatar-size)}}.wl-avatar img{width:100%;height:100%;border-radius:var(--waline-avatar-radius)}.wl-login-nick{display:block;color:var(--waline-theme-color);font-size:.75em;word-break:break-all}.wl-panel{position:relative;flex-shrink:1;width:100%;margin:.5em;border:var(--waline-border);border-radius:.75em;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow)}.wl-header{display:flex;overflow:hidden;padding:0 4px;border-bottom:2px dashed var(--waline-border-color);border-top-left-radius:.75em;border-top-right-radius:.75em}@media (max-width: 580px){.wl-header{display:block}}.wl-header label{min-width:40px;padding:.75em .5em;color:var(--waline-color);font-size:.75em;text-align:center}.wl-header input{flex:1;width:0;padding:.5em;background:rgba(0,0,0,0);font-size:.625em;resize:none}.wl-header-item{display:flex;flex:1}@media (max-width: 580px){.wl-header-item:not(:last-child){border-bottom:2px dashed var(--waline-border-color)}}.wl-header-1 .wl-header-item{width:100%}.wl-header-2 .wl-header-item{width:50%}@media (max-width: 580px){.wl-header-2 .wl-header-item{flex:0;width:100%}}.wl-header-3 .wl-header-item{width:33.33%}@media (max-width: 580px){.wl-header-3 .wl-header-item{width:100%}}.wl-editor{position:relative;width:calc(100% - 1em);min-height:8.75em;margin:.75em .5em;border-radius:.5em;background:rgba(0,0,0,0);font-size:.875em;resize:vertical}.wl-editor,.wl-input{max-width:100%;border:none;color:var(--waline-color);outline:none;transition:all .25s ease}.wl-editor:focus,.wl-input:focus{background:var(--waline-bgcolor-light)}.wl-preview{padding:0 .5em .5em}.wl-preview h4{margin:.25em;font-weight:700;font-size:.9375em}.wl-preview .wl-content{min-height:1.25em;padding:.25em;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.wl-preview .wl-content>*:first-child{margin-top:0}.wl-preview .wl-content>*:last-child{margin-bottom:0}.wl-footer{position:relative;display:flex;flex-wrap:wrap;margin:.5em .75em}.wl-actions{display:flex;flex:2;align-items:center}.wl-action{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin:2px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--waline-color);font-size:16px;cursor:pointer}.wl-action:hover{color:var(--waline-theme-color)}.wl-action.active{color:var(--waline-active-color)}#wl-image-upload{display:none}#wl-image-upload:focus+label{color:var(--waline-color)}#wl-image-upload:focus-visible+label{outline:-webkit-focus-ring-color auto 1px}.wl-info{display:flex;flex:3;align-items:center;justify-content:flex-end}.wl-info .wl-text-number{color:var(--waline-info-color);font-size:.75em}.wl-info .wl-text-number .illegal{color:red}.wl-info button{margin-inline-start:.75em}.wl-info button svg{display:block;margin:0 auto;line-height:18px}.wl-emoji-popup{position:absolute;top:100%;inset-inline-start:1.25em;z-index:10;max-width:526px;border:var(--waline-border);border-radius:6px;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow);opacity:0;visibility:hidden;transition:transform .2s ease-out,opacity .2s ease-out;transform:scale(.9);transform-origin:0 0}.wl-emoji-popup.display{opacity:1;visibility:visible;transform:none}.wl-emoji-popup button{display:inline-block;vertical-align:middle;width:2em;margin:.125em;padding:0;border-width:0;background:rgba(0,0,0,0);font-size:inherit;line-height:2;text-align:center;cursor:pointer}.wl-emoji-popup button:hover{background:var(--waline-bgcolor-hover)}.wl-emoji-popup .wl-emoji{display:inline-block;vertical-align:middle;max-width:1.5em;max-height:1.5em}.wl-emoji-popup .wl-tab-wrapper{overflow-y:auto;max-height:145px;padding:.5em}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar{width:6px;height:6px}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-track-piece:vertical{border-radius:6px;background:rgba(0,0,0,.1)}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-thumb:vertical{width:6px;border-radius:6px;background:var(--waline-theme-color)}.wl-emoji-popup .wl-tabs{position:relative;overflow-x:auto;padding:0 6px;white-space:nowrap}.wl-emoji-popup .wl-tabs:before{content:" ";position:absolute;top:0;right:0;left:0;z-index:2;height:1px;background:var(--waline-border-color)}.wl-emoji-popup .wl-tabs::-webkit-scrollbar{width:6px;height:6px}.wl-emoji-popup .wl-tabs::-webkit-scrollbar-track-piece:horizontal{border-radius:6px;background:rgba(0,0,0,.1)}.wl-emoji-popup .wl-tabs::-webkit-scrollbar-thumb:horizontal{height:6px;border-radius:6px;background:var(--waline-theme-color)}.wl-emoji-popup .wl-tab{position:relative;margin:0;padding:0 .5em}.wl-emoji-popup .wl-tab.active{z-index:3;border:1px solid var(--waline-border-color);border-top-width:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px;background:var(--waline-bgcolor)}.wl-gif-popup{position:absolute;top:100%;inset-inline-start:1.25em;z-index:10;width:calc(100% - 3em);padding:.75em .75em .25em;border:var(--waline-border);border-radius:6px;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow);opacity:0;visibility:hidden;transition:transform .2s ease-out,opacity .2s ease-out;transform:scale(.9);transform-origin:0 0}.wl-gif-popup.display{opacity:1;visibility:visible;transform:none}.wl-gif-popup input{box-sizing:border-box;width:100%;margin-bottom:10px;padding:3px 5px;border:var(--waline-border)}.wl-gif-popup img{display:block;box-sizing:border-box;width:100%;border-width:2px;border-style:solid;border-color:#fff;cursor:pointer}.wl-gif-popup img:hover{border-color:var(--waline-theme-color);border-radius:2px}.wl-gallery{display:flex;overflow-y:auto;max-height:80vh}.wl-gallery-column{display:flex;flex:1;flex-direction:column;height:max-content}.wl-cards .wl-user{--avatar-size: var(--waline-avatar-size);position:relative;margin-inline-end:.75em}@media (max-width: 720px){.wl-cards .wl-user{--avatar-size: var(--waline-m-avatar-size)}}.wl-cards .wl-user img{width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--waline-avatar-radius);box-shadow:var(--waline-box-shadow)}.wl-cards .wl-user .verified-icon{position:absolute;top:calc(var(--avatar-size)*3/4);inset-inline-start:calc(var(--avatar-size)*3/4);border-radius:50%;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow)}.wl-card-item{position:relative;display:flex;padding:.5em}.wl-card-item .wl-card-item{padding-inline-end:0}.wl-card{flex:1;width:0;padding-bottom:.5em;border-bottom:1px dashed var(--waline-border-color)}.wl-card:first-child{margin-inline-start:1em}.wl-card-item:last-child>.wl-card{border-bottom:none}.wl-card .wl-nick svg{position:relative;bottom:-.125em;line-height:1}.wl-card .wl-head{overflow:hidden;line-height:1.5}.wl-card .wl-head .wl-nick{position:relative;display:inline-block;margin-inline-end:.5em;font-weight:700;font-size:.875em;line-height:1;text-decoration:none}.wl-card span.wl-nick{color:var(--waline-dark-grey)}.wl-card .wl-badge{display:inline-block;margin-inline-end:1em;padding:0 .3em;border:1px solid var(--waline-badge-color);border-radius:4px;color:var(--waline-badge-color);font-size:var(--waline-badge-font-size)}.wl-card .wl-time{margin-inline-end:.875em;color:var(--waline-info-color);font-size:.75em}.wl-card .wl-meta{position:relative;line-height:1}.wl-card .wl-meta>span{display:inline-block;margin-inline-end:.25em;padding:2px 4px;border-radius:.2em;background:var(--waline-info-bgcolor);color:var(--waline-info-color);font-size:var(--waline-info-font-size);line-height:1.5}.wl-card .wl-meta>span:empty{display:none}.wl-card .wl-comment-actions{float:right;line-height:1}[dir=rtl] .wl-card .wl-comment-actions{float:left}.wl-card .wl-delete,.wl-card .wl-like,.wl-card .wl-reply,.wl-card .wl-edit{display:inline-flex;align-items:center;border:none;background:rgba(0,0,0,0);color:var(--waline-color);line-height:1;cursor:pointer;transition:color .2s ease}.wl-card .wl-delete:hover,.wl-card .wl-like:hover,.wl-card .wl-reply:hover,.wl-card .wl-edit:hover{color:var(--waline-theme-color)}.wl-card .wl-delete.active,.wl-card .wl-like.active,.wl-card .wl-reply.active,.wl-card .wl-edit.active{color:var(--waline-active-color)}.wl-card .wl-content{position:relative;margin-bottom:.75em;padding-top:.625em;font-size:.875em;line-height:2;word-wrap:break-word}.wl-card .wl-content.expand{overflow:hidden;max-height:8em;cursor:pointer}.wl-card .wl-content.expand:before{content:"";position:absolute;top:0;bottom:3.15em;inset-inline-start:0;z-index:999;display:block;width:100%;background:linear-gradient(180deg,#000,rgba(255,255,255,.9))}.wl-card .wl-content.expand:after{content:attr(data-expand);position:absolute;bottom:0;inset-inline-start:0;z-index:999;display:block;width:100%;height:3.15em;background:rgba(255,255,255,.9);color:#828586;line-height:3.15em;text-align:center}.wl-card .wl-content>*:first-child{margin-top:0}.wl-card .wl-content>*:last-child{margin-bottom:0}.wl-card .wl-admin-actions{margin:8px 0;font-size:12px;text-align:right}.wl-card .wl-comment-status{margin:0 8px}.wl-card .wl-comment-status .wl-btn{border-radius:0}.wl-card .wl-comment-status .wl-btn:first-child{border-inline-end:0;border-radius:.5em 0 0 .5em}.wl-card .wl-comment-status .wl-btn:last-child{border-inline-start:0;border-radius:0 .5em .5em 0}.wl-card .wl-quote{border-inline-start:1px dashed rgba(237,237,237,.5)}.wl-card .wl-quote .wl-user{--avatar-size: var(--waline-m-avatar-size)}.wl-close-icon{color:var(--waline-border-color)}.wl-content .vemoji,.wl-content .wl-emoji{display:inline-block;vertical-align:baseline;height:1.25em;margin:-.125em .25em}.wl-content .wl-tex{background:var(--waline-info-bgcolor);color:var(--waline-info-color)}.wl-content span.wl-tex{display:inline-block;margin-inline-end:.25em;padding:2px 4px;border-radius:.2em;font-size:var(--waline-info-font-size);line-height:1.5}.wl-content p.wl-tex{text-align:center}.wl-content .katex-display{overflow:auto hidden;-webkit-overflow-scrolling:touch;padding-top:.2em;padding-bottom:.2em}.wl-content .katex-display::-webkit-scrollbar{height:3px}.wl-content .katex-error{color:red}.wl-count{flex:1;font-weight:700;font-size:1.25em}.wl-empty{overflow:auto;padding:1.25em;color:var(--waline-color);text-align:center}.wl-operation{text-align:center}.wl-operation button{margin:1em 0}.wl-power{padding:.5em 0;color:var(--waline-light-grey);font-size:var(--waline-info-font-size);text-align:end}.wl-meta-head{display:flex;flex-direction:row;align-items:center;padding:.375em}.wl-sort{margin:0;list-style-type:none}.wl-sort li{display:inline-block;color:var(--waline-info-color);font-size:.75em;cursor:pointer}.wl-sort li.active{color:var(--waline-theme-color)}.wl-sort li+li{margin-inline-start:1em}.wl-reaction{overflow:auto hidden;margin-bottom:1.75em;text-align:center}.wl-reaction img{width:100%;height:100%;transition:all .25s ease-in-out}.wl-reaction-title{margin:16px auto;font-weight:700;font-size:18px}.wl-reaction-list{display:flex;flex-direction:row;gap:16px;justify-content:center;margin:0;padding:8px;list-style-type:none}@media (max-width: 580px){.wl-reaction-list{gap:12px}}[data-waline] .wl-reaction-list{margin-inline-start:0}.wl-reaction-item{display:flex;flex-direction:column;align-items:center;cursor:pointer}.wl-reaction-item:hover img,.wl-reaction-item.active img{transform:scale(1.15)}.wl-reaction-img{position:relative;width:42px;height:42px}@media (max-width: 580px){.wl-reaction-img{width:32px;height:32px}}.wl-reaction-loading{position:absolute;top:-4px;inset-inline-end:-5px;width:18px;height:18px;color:var(--waline-theme-color)}.wl-reaction-votes{position:absolute;top:-9px;inset-inline-end:-9px;min-width:1em;padding:2px;border:1px solid var(--waline-theme-color);border-radius:1em;background:var(--waline-bgcolor);color:var(--waline-theme-color);font-weight:700;font-size:.75em;line-height:1}.wl-reaction-item.active .wl-reaction-votes{background:var(--waline-theme-color);color:var(--waline-bgcolor)}.wl-reaction-text{font-size:.875em}.wl-reaction-item.active .wl-reaction-text{color:var(--waline-theme-color)}.wl-content pre,.wl-content pre[class*=language-]{overflow:auto;margin:.75rem 0;padding:1rem 1.25rem;border-radius:6px;background:var(--waline-code-bgcolor);line-height:1.4}.wl-content pre code,.wl-content pre[class*=language-] code{padding:0;border-radius:0;background:rgba(0,0,0,0)!important;color:#bbb;direction:ltr}.wl-content code[class*=language-],.wl-content pre[class*=language-]{background:none;color:#ccc;font-size:1em;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}.wl-content pre[class*=language-]{overflow:auto}.wl-content :not(pre)>code[class*=language-],.wl-content pre[class*=language-]{background:#2d2d2d}.wl-content :not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.wl-content .token.comment,.wl-content .token.block-comment,.wl-content .token.prolog,.wl-content .token.doctype,.wl-content .token.cdata{color:#999}.wl-content .token.punctuation{color:#ccc}.wl-content .token.tag,.wl-content .token.attr-name,.wl-content .token.namespace,.wl-content .token.deleted{color:#e2777a}.wl-content .token.function-name{color:#6196cc}.wl-content .token.boolean,.wl-content .token.number,.wl-content .token.function{color:#f08d49}.wl-content .token.property,.wl-content .token.class-name,.wl-content .token.constant,.wl-content .token.symbol{color:#f8c555}.wl-content .token.selector,.wl-content .token.important,.wl-content .token.atrule,.wl-content .token.keyword,.wl-content .token.builtin{color:#cc99cd}.wl-content .token.string,.wl-content .token.char,.wl-content .token.attr-value,.wl-content .token.regex,.wl-content .token.variable{color:#7ec699}.wl-content .token.operator,.wl-content .token.entity,.wl-content .token.url{color:#67cdcc}.wl-content .token.important,.wl-content .token.bold{font-weight:700}.wl-content .token.italic{font-style:italic}.wl-content .token.entity{cursor:help}.wl-content .token.inserted{color:green}.wl-recent-item p{display:inline}.wl-user-list{padding:0;list-style:none}.wl-user-list a,.wl-user-list a:hover,.wl-user-list a:visited{color:var(--waline-color);text-decoration:none}.wl-user-list .wl-user-avatar{position:relative;display:inline-block;overflow:hidden;margin-inline-end:10px;border-radius:4px;line-height:0}.wl-user-list .wl-user-avatar>img{width:var(--waline-user-avatar-size, 48px);height:var(--waline-user-avatar-size, 48px)}.wl-user-list .wl-user-badge{position:absolute;bottom:0;inset-inline-end:0;min-width:.7em;height:1.5em;padding:0 .4em;border-radius:4px;background:var(--waline-info-bgcolor);color:var(--waline-info-color);font-weight:700;font-size:10px;line-height:1.5em;text-align:center}.wl-user-list .wl-user-item{margin:10px 0}.wl-user-list .wl-user-item:nth-child(1) .wl-user-badge{background:var(--waline-rank-gold-bgcolor, #fa3939);color:var(--waline-white);font-weight:700}.wl-user-list .wl-user-item:nth-child(2) .wl-user-badge{background:var(--waline-rank-silver-bgcolor, #fb811c);color:var(--waline-white);font-weight:700}.wl-user-list .wl-user-item:nth-child(3) .wl-user-badge{background:var(--waline-rank-copper-bgcolor, #feb207);color:var(--waline-white)}.wl-user-list .wl-user-meta{display:inline-block;vertical-align:top}.wl-user-list .wl-badge{display:inline-block;vertical-align:text-top;margin-inline-start:.5em;padding:0 .3em;border:1px solid var(--waline-badge-color);border-radius:4px;color:var(--waline-badge-color);font-size:var(--waline-badge-font-size)}.wl-user-wall{padding:0;list-style:none}.wl-user-wall .wl-user-badge,.wl-user-wall .wl-user-meta{display:none}.wl-user-wall .wl-user-item{position:relative;display:inline-block;transition:transform ease-in-out .2s}.wl-user-wall .wl-user-item:before,.wl-user-wall .wl-user-item:after{position:absolute;bottom:100%;left:50%;z-index:10;opacity:0;pointer-events:none;transition:all .18s ease-out .18s;transform:translate(-50%,4px);transform-origin:top}.wl-user-wall .wl-user-item:before{content:"";width:0;height:0;border:5px solid rgba(0,0,0,0);border-top-color:#101010f2}.wl-user-wall .wl-user-item:after{content:attr(aria-label);margin-bottom:10px;padding:.5em 1em;border-radius:2px;background:rgba(16,16,16,.95);color:#fff;font-size:12px;white-space:nowrap}.wl-user-wall .wl-user-item:hover{transform:scale(1.1)}.wl-user-wall .wl-user-item:hover:before,.wl-user-wall .wl-user-item:hover:after{opacity:1;pointer-events:none;transform:translate(-50%)}.wl-user-wall .wl-user-item img{width:var(--waline-user-avatar-size, 48px);height:var(--waline-user-avatar-size, 48px)}.waline-wrapper{--waline-theme-color: var(--vp-tc);--waline-text-color: var(--vp-c);--waline-active-color: var(--vp-tcl);--waline-border: 1px solid var(--vp-brc);--waline-border-color: var(--vp-brc);--waline-bgcolor: var(--vp-bg);--waline-bgcolor-light: var(--vp-bgl);max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem}@media (max-width: 959px){.waline-wrapper{padding:1.5rem}}@media (max-width: 419px){.waline-wrapper{padding:1rem 1.5rem}}@media print{.waline-wrapper{max-width:unset}}@media print{.waline-wrapper{display:none!important}}:root{--copy-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--copied-icon: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}div[class*=language-]>button.copy-code-button{border-width:0;background:transparent;position:absolute;outline:none;cursor:pointer}@media print{div[class*=language-]>button.copy-code-button{display:none}}div[class*=language-]>button.copy-code-button .copy-icon{background:currentcolor;-webkit-mask-image:var(--copy-icon);mask-image:var(--copy-icon);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:1em;mask-size:1em}div[class*=language-]>button.copy-code-button:not(.fancy){border-width:0;background:transparent;cursor:pointer;position:absolute;top:.5em;right:.5em;z-index:5;width:2.5rem;height:2.5rem;padding:0;border-radius:.5rem;opacity:0;transition:opacity .4s}div[class*=language-]>button.copy-code-button:not(.fancy):hover,div[class*=language-]>button.copy-code-button:not(.fancy).copied{background:var(--code-hl-bg-color, rgba(0, 0, 0, .66))}div[class*=language-]>button.copy-code-button:not(.fancy):focus,div[class*=language-]>button.copy-code-button:not(.fancy).copied{opacity:1}div[class*=language-]>button.copy-code-button:not(.fancy).copied:after{content:attr(data-copied);position:absolute;top:0;right:calc(100% + .25rem);display:block;height:1.25rem;padding:.625rem;border-radius:.5rem;background:var(--code-hl-bg-color, rgba(0, 0, 0, .66));color:var(--code-ln-color, #9e9e9e);font-weight:500;line-height:1.25rem;white-space:nowrap}div[class*=language-]>button.copy-code-button:not(.fancy) .copy-icon{width:1.25rem;height:1.25rem;padding:.625rem;color:var(--code-ln-color, #9e9e9e);font-size:1.25rem}div[class*=language-]>button.copy-code-button.fancy{right:-14px;bottom:-14px;z-index:5;width:2rem;height:2rem;padding:7px 8px;border-radius:50%;background:#339af0;color:#fff}@media (max-width: 419px){div[class*=language-]>button.copy-code-button.fancy{right:0;bottom:0;width:28px;height:28px;border-radius:50% 10% 0}}div[class*=language-]>button.copy-code-button.fancy:hover{background:#228be6}div[class*=language-]>button.copy-code-button.fancy .copy-icon{width:100%;height:100%;color:#fff;font-size:1.25rem}@media (max-width: 419px){div[class*=language-]>button.copy-code-button.fancy .copy-icon{position:relative;top:2px;left:2px}}div[class*=language-]>button.copy-code-button.copied .copy-icon{-webkit-mask-image:var(--copied-icon);mask-image:var(--copied-icon)}div[class*=language-]:hover:before{display:none}div[class*=language-]:hover>button.copy-code-button:not(.fancy){opacity:1}:root{--info-title-color: #193c47;--info-bg-color: #eef9fd;--info-border-color: #4cb3d4;--info-code-bg-color: rgb(76 179 212 / 10%);--note-title-color: #474748;--note-bg-color: #fdfdfe;--note-border-color: #ccc;--note-code-bg-color: rgb(212 213 216 / 20%);--tip-title-color: #003100;--tip-bg-color: #e6f6e6;--tip-border-color: #009400;--tip-code-bg-color: rgb(0 148 0 / 15%);--warning-title-color: #4d3800;--warning-bg-color: #fff8e6;--warning-border-color: #e6a700;--warning-code-bg-color: rgb(230 167 0 / 15%);--danger-title-color: #4b1113;--danger-bg-color: #ffebec;--danger-border-color: #e13238;--danger-code-bg-color: rgb(225 50 56 / 15%);--detail-bg-color: #eee;--detail-text-color: inherit;--detail-code-bg-color: rgb(127 127 127 / 15%)}html[data-theme=dark]{--info-title-color: #eef9fd;--info-bg-color: #193c47;--note-title-color: #fdfdfe;--note-bg-color: #474748;--tip-title-color: #e6f6e6;--tip-bg-color: #003100;--warning-title-color: #fff8e6;--warning-bg-color: #4d3800;--danger-title-color: #ffebec;--danger-bg-color: #4b1113;--detail-bg-color: #333;--detail-text-color: #a8a8a8}.hint-container{position:relative;transition:background var(--vp-ct),border-color var(--vp-ct),color var(--vp-ct)}@media print{.hint-container{page-break-inside:avoid}}.hint-container .hint-container-title{position:relative;font-weight:600;line-height:1.25}.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.danger{margin:1rem 0;padding:.25rem 1rem;border-inline-start-width:.3rem;border-inline-start-style:solid;border-radius:.5rem;color:inherit}@media (max-width: 419px){.hint-container.info,.hint-container.note,.hint-container.tip,.hint-container.warning,.hint-container.danger{margin-inline:-.75rem}}.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.danger .hint-container-title{padding-inline-start:1.75rem}@media print{.hint-container.info .hint-container-title,.hint-container.note .hint-container-title,.hint-container.tip .hint-container-title,.hint-container.warning .hint-container-title,.hint-container.danger .hint-container-title{padding-inline-start:0}}.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.danger .hint-container-title:before{content:" ";position:absolute;top:calc(50% - .6125em);inset-inline-start:0;width:1.25em;height:1.25em;background-position:left;background-repeat:no-repeat}@media print{.hint-container.info .hint-container-title:before,.hint-container.note .hint-container-title:before,.hint-container.tip .hint-container-title:before,.hint-container.warning .hint-container-title:before,.hint-container.danger .hint-container-title:before{display:none}}.hint-container.info p,.hint-container.note p,.hint-container.tip p,.hint-container.warning p,.hint-container.danger p{line-height:1.5}.hint-container.info a,.hint-container.note a,.hint-container.tip a,.hint-container.warning a,.hint-container.danger a{color:var(--vp-tc)}.hint-container.info{border-color:var(--info-border-color);background:var(--info-bg-color)}.hint-container.info>.hint-container-title{color:var(--info-title-color)}.hint-container.info>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%234cb3d4'/%3E%3C/svg%3E")}.hint-container.info code{background:var(--info-code-bg-color)}.hint-container.note{border-color:var(--note-border-color);background:var(--note-bg-color)}.hint-container.note>.hint-container-title{color:var(--note-title-color)}.hint-container.note>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22C6.477 22 2 17.523 2 12S6.477 2 12 2s10 4.477 10 10-4.477 10-10 10zm-1-11v6h2v-6h-2zm0-4v2h2V7h-2z' fill='%23ccc'/%3E%3C/svg%3E")}.hint-container.note code{background:var(--note-code-bg-color)}.hint-container.tip{border-color:var(--tip-border-color);background:var(--tip-bg-color)}.hint-container.tip>.hint-container-title{color:var(--tip-title-color)}.hint-container.tip>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23009400' d='M7.941 18c-.297-1.273-1.637-2.314-2.187-3a8 8 0 1 1 12.49.002c-.55.685-1.888 1.726-2.185 2.998H7.94zM16 20v1a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2v-1h8zm-3-9.995V6l-4.5 6.005H11v4l4.5-6H13z'/%3E%3C/svg%3E")}.hint-container.tip code{background:var(--tip-code-bg-color)}.hint-container.warning{border-color:var(--warning-border-color);background:var(--warning-bg-color)}.hint-container.warning>.hint-container-title{color:var(--warning-title-color)}.hint-container.warning>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath d='M576.286 752.57v-95.425q0-7.031-4.771-11.802t-11.3-4.772h-96.43q-6.528 0-11.3 4.772t-4.77 11.802v95.424q0 7.031 4.77 11.803t11.3 4.77h96.43q6.528 0 11.3-4.77t4.77-11.803zm-1.005-187.836 9.04-230.524q0-6.027-5.022-9.543-6.529-5.524-12.053-5.524H456.754q-5.524 0-12.053 5.524-5.022 3.516-5.022 10.547l8.538 229.52q0 5.023 5.022 8.287t12.053 3.265h92.913q7.032 0 11.803-3.265t5.273-8.287zM568.25 95.65l385.714 707.142q17.578 31.641-1.004 63.282-8.538 14.564-23.354 23.102t-31.892 8.538H126.286q-17.076 0-31.892-8.538T71.04 866.074q-18.582-31.641-1.004-63.282L455.75 95.65q8.538-15.57 23.605-24.61T512 62t32.645 9.04 23.605 24.61z' fill='%23e6a700'/%3E%3C/svg%3E")}.hint-container.warning code{background:var(--warning-code-bg-color)}.hint-container.danger{border-color:var(--danger-border-color);background:var(--danger-bg-color)}.hint-container.danger>.hint-container-title{color:var(--danger-title-color)}.hint-container.danger>.hint-container-title:before{background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c5.523 0 10 4.477 10 10v3.764a2 2 0 0 1-1.106 1.789L18 19v1a3 3 0 0 1-2.824 2.995L14.95 23a2.5 2.5 0 0 0 .044-.33L15 22.5V22a2 2 0 0 0-1.85-1.995L13 20h-2a2 2 0 0 0-1.995 1.85L9 22v.5c0 .171.017.339.05.5H9a3 3 0 0 1-3-3v-1l-2.894-1.447A2 2 0 0 1 2 15.763V12C2 6.477 6.477 2 12 2zm-4 9a2 2 0 1 0 0 4 2 2 0 0 0 0-4zm8 0a2 2 0 1 0 0 4 2 2 0 0 0 0-4z' fill='%23e13238'/%3E%3C/svg%3E")}.hint-container.danger code{background:var(--danger-code-bg-color)}.hint-container.details{position:relative;display:block;margin:1rem 0;padding:1.5rem;border-radius:.5rem;background:var(--detail-bg-color);color:var(--detail-text-color);transition:background var(--vp-tt),color var(--vp-tt)}@media print{.hint-container.details{display:none}}@media (max-width: 419px){.hint-container.details{margin-inline:-.75rem}}.hint-container.details h4{margin-top:0}.hint-container.details figure:last-child,.hint-container.details p:last-child{margin-bottom:0;padding-bottom:0}.hint-container.details a{color:var(--vp-tc)}.hint-container.details code{background:var(--detail-code-bg-color)}.hint-container.details summary{position:relative;margin:-1.5rem;padding-block:1.5rem;padding-inline:4rem 1.5rem;list-style:none;cursor:pointer}.hint-container.details summary::-webkit-details-marker,.hint-container.details summary::marker{color:transparent;font-size:0}.hint-container.details summary:before,.hint-container.details summary:after{content:" ";position:absolute;top:calc(50% - .75rem);inset-inline-start:1.5rem;width:1.5rem;height:1.5rem}@media print{.hint-container.details summary:before,.hint-container.details summary:after{display:block}}.hint-container.details summary:before{border-radius:50%;background:#ccc;transition:background var(--vp-ct),transform var(--vp-tt)}html[data-theme=dark] .hint-container.details summary:before{background:#555}.hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:transform var(--vp-tt);transform:rotate(90deg)}html[data-theme=dark] .hint-container.details summary:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.hint-container.details[open]>summary{margin-bottom:.5em}.hint-container.details[open]>summary:after{transform:rotate(180deg)}/*! PhotoSwipe main CSS by Dmytro Semenov | photoswipe.com */.pswp{--pswp-bg: #000;--pswp-placeholder-bg: #222;--pswp-root-z-index: 100000;--pswp-preloader-color: rgba(79, 79, 79, .4);--pswp-preloader-color-secondary: rgba(255, 255, 255, .9);--pswp-icon-color: #fff;--pswp-icon-color-secondary: #4f4f4f;--pswp-icon-stroke-color: #4f4f4f;--pswp-icon-stroke-width: 2px;--pswp-error-text-color: var(--pswp-icon-color)}.pswp{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--pswp-root-z-index);display:none;touch-action:none;outline:0;opacity:.003;contain:layout style size;-webkit-tap-highlight-color:rgba(0,0,0,0)}.pswp:focus{outline:0}.pswp *{box-sizing:border-box}.pswp img{max-width:none}.pswp--open{display:block}.pswp,.pswp__bg{transform:translateZ(0);will-change:opacity}.pswp__bg{opacity:.005;background:var(--pswp-bg)}.pswp,.pswp__scroll-wrap{overflow:hidden}.pswp__scroll-wrap,.pswp__bg,.pswp__container,.pswp__item,.pswp__content,.pswp__img,.pswp__zoom-wrap{position:absolute;top:0;left:0;width:100%;height:100%}.pswp__img,.pswp__zoom-wrap{width:auto;height:auto}.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img{cursor:zoom-in}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img{cursor:move;cursor:grab}.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active{cursor:grabbing}.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active,.pswp__img{cursor:zoom-out}.pswp__container,.pswp__img,.pswp__button,.pswp__counter{-webkit-user-select:none;-moz-user-select:none;user-select:none}.pswp__item{z-index:1;overflow:hidden}.pswp__hidden{display:none!important}.pswp__content{pointer-events:none}.pswp__content>*{pointer-events:auto}.pswp__error-msg-container{display:grid}.pswp__error-msg{margin:auto;font-size:1em;line-height:1;color:var(--pswp-error-text-color)}.pswp .pswp__hide-on-close{opacity:.005;will-change:opacity;transition:opacity var(--pswp-transition-duration) cubic-bezier(.4,0,.22,1);z-index:10;pointer-events:none}.pswp--ui-visible .pswp__hide-on-close{opacity:1;pointer-events:auto}.pswp__button{position:relative;display:block;width:50px;height:60px;padding:0;margin:0;overflow:hidden;cursor:pointer;background:none;border:0;box-shadow:none;opacity:.85;-webkit-appearance:none;-webkit-touch-callout:none}.pswp__button:hover,.pswp__button:active,.pswp__button:focus{transition:none;padding:0;background:none;border:0;box-shadow:none;opacity:1}.pswp__button:disabled{opacity:.3;cursor:auto}.pswp__icn{fill:var(--pswp-icon-color);color:var(--pswp-icon-color-secondary)}.pswp__icn{position:absolute;top:14px;left:9px;width:32px;height:32px;overflow:hidden;pointer-events:none}.pswp__icn-shadow{stroke:var(--pswp-icon-stroke-color);stroke-width:var(--pswp-icon-stroke-width);fill:none}.pswp__icn:focus{outline:0}div.pswp__img--placeholder,.pswp__img--with-bg{background:var(--pswp-placeholder-bg)}.pswp__top-bar{position:absolute;left:0;top:0;width:100%;height:60px;display:flex;flex-direction:row;justify-content:flex-end;z-index:10;pointer-events:none!important}.pswp__top-bar>*{pointer-events:auto;will-change:opacity}.pswp__button--close{margin-right:6px}.pswp__button--arrow{position:absolute;width:75px;height:100px;top:50%;margin-top:-50px}.pswp__button--arrow:disabled{display:none;cursor:default}.pswp__button--arrow .pswp__icn{top:50%;margin-top:-30px;width:60px;height:60px;background:none;border-radius:0}.pswp--one-slide .pswp__button--arrow{display:none}.pswp--touch .pswp__button--arrow{visibility:hidden}.pswp--has_mouse .pswp__button--arrow{visibility:visible}.pswp__button--arrow--prev{right:auto;left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow--next .pswp__icn{left:auto;right:14px;transform:scaleX(-1)}.pswp__button--zoom{display:none}.pswp--zoom-allowed .pswp__button--zoom{display:block}.pswp--zoomed-in .pswp__zoom-icn-bar-v{display:none}.pswp__preloader{position:relative;overflow:hidden;width:50px;height:60px;margin-right:auto}.pswp__preloader .pswp__icn{opacity:0;transition:opacity .2s linear;animation:pswp-clockwise .6s linear infinite}.pswp__preloader--active .pswp__icn{opacity:.85}@keyframes pswp-clockwise{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pswp__counter{height:30px;margin-top:15px;margin-inline-start:20px;font-size:14px;line-height:30px;color:var(--pswp-icon-color);text-shadow:1px 1px 3px var(--pswp-icon-color-secondary);opacity:.85}.pswp--one-slide .pswp__counter{display:none}.photo-swipe-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.photo-swipe-bullets-indicator{position:absolute;bottom:30px;left:50%;display:flex;flex-direction:row;align-items:center;transform:translate(-50%)}.photo-swipe-bullet{width:12px;height:6px;margin:0 5px;border-radius:3px;background:#fff;transition:width var(--vp-tt),color var(--vp-ct)}.photo-swipe-bullet.active{width:30px;background:var(--vp-tc)}:root{--navbar-bg-color: var(--bg-color-float-blur);--sidebar-bg-color: var(--bg-color-blur)}html[data-theme=dark]{--navbar-bg-color: var(--bg-color-blur);--sidebar-bg-color: var(--bg-color-blur)}#app{--code-hl-bg-color: var(--code-highlight-line-color);--code-ln-color: var(--code-line-color);--code-ln-wrapper-width: var(--line-numbers-width);--code-tabs-nav-text-color: var(--code-color);--code-tabs-nav-bg-color: var(--code-border-color);--code-tabs-nav-hover-color: var(--code-highlight-line-color);--sidebar-space: var(--sidebar-width)}@media (max-width: 959px){#app{--navbar-height: var(--navbar-mobile-height);--navbar-vertical-padding: var(--navbar-mobile-vertical-padding);--navbar-horizontal-padding: var(--navbar-mobile-horizontal-padding);--sidebar-width: var(--sidebar-mobile-width)}}@media (min-width: 1440px){#app{--sidebar-space: clamp( var(--sidebar-width), max(0px, calc((100vw - var(--content-width)) / 2 - 2rem)), 100vw )}}.DocSearch-Button,.DocSearch{--docsearch-primary-color: var(--vp-tc);--docsearch-text-color: var(--vp-c);--docsearch-highlight-color: var(--vp-tc);--docsearch-muted-color: var(--light-grey);--docsearch-container-background: rgb(9 10 17 / 80%);--docsearch-modal-background: var(--bg-color-float);--docsearch-searchbox-background: var(--bg-color-secondary);--docsearch-searchbox-focus-background: var(--vp-bg);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--vp-tc);--docsearch-hit-color: var(--vp-cl);--docsearch-hit-active-color: var(--vp-bg);--docsearch-hit-background: var(--vp-bg);--docsearch-hit-shadow: 0 1px 3px 0 var(--border-color);--docsearch-footer-background: var(--vp-bg)}html[data-theme=dark] .DocSearch-Button,html[data-theme=dark] .DocSearch{--docsearch-logo-color: var(--vp-c);--docsearch-modal-shadow: inset 1px 1px 0 0 #2c2e40, 0 3px 8px 0 #000309;--docsearch-key-shadow: inset 0 -2px 0 0 #282d55, inset 0 0 1px 1px #51577d, 0 2px 2px 0 rgb(3 4 9 / 30%);--docsearch-key-gradient: linear-gradient(-225deg, #444950, #1c1e21);--docsearch-footer-shadow: inset 0 1px 0 0 rgb(73 76 106 / 50%), 0 -4px 8px 0 rgb(0 0 0 / 20%)}#nprogress{--nprogress-color: var(--vp-tc)}.search-box{--search-bg-color: var(--vp-bg);--search-accent-color: var(--vp-tc);--search-text-color: var(--vp-c);--search-border-color: var(--border-color);--search-item-text-color: var(--vp-clt);--search-item-focus-bg-color: var(--bg-color-secondary)}.external-link-icon{--external-link-icon-color: var(--light-grey)}html,body{margin:0;padding:0;background:#fff}html{font-size:16px;font-display:optional;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}@media print{html{font-size:12pt}}body{min-height:100vh;color:#2c3e50}a{color:#3eaf7c;font-weight:500;text-decoration:none;overflow-wrap:break-word}kbd{display:inline-block;min-width:1em;margin-inline:.125rem;padding:.25em;border:1px solid #eee;border-radius:.25em;box-shadow:1px 1px 4px #00000026;line-height:1;letter-spacing:-.1em;text-align:center}code{margin:0;padding:.2rem .4rem;border-radius:5px;background:rgba(127,127,127,.12);font-size:.85em;overflow-wrap:break-word}table code{padding:.1rem .4rem}p a code{color:#3eaf7c;font-weight:400}strong{font-weight:600}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.25;overflow-wrap:break-word}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor,h6:hover .header-anchor{opacity:1}h1{font-size:2rem}h2{padding-bottom:.3rem;border-bottom:1px solid #eaecef;font-size:1.65rem}h3{font-size:1.35rem}h4{font-size:1.15rem}h5{font-size:1.05rem}h6{font-size:1rem}a.header-anchor{float:left;margin-top:.125em;margin-inline-start:-.87em;padding-inline-end:.23em;font-size:.85em;opacity:0;transition:opacity .2s}@media print{a.header-anchor{display:none!important}}a.header-anchor:hover{text-decoration:none}a.header-anchor:focus-visible{opacity:1}p,ul,ol{line-height:1.6;overflow-wrap:break-word}@media print{p,ul,ol{line-height:1.5}}ul,ol{padding-inline-start:1.2em}blockquote{margin:1rem 0;padding:.25rem 0 .25rem 1rem;border-inline-start:.2rem solid #ddd;color:#666;font-size:1rem;overflow-wrap:break-word}blockquote>p{margin:0}hr{border:0;border-top:1px solid #eaecef}table{display:block;overflow-x:auto;margin:1rem 0;border-collapse:collapse}tr:nth-child(2n){background:#f6f8fa}th,td{padding:.6em 1em;border:1px solid #dfe2e5}pre{direction:ltr}@page{margin:2cm;font-size:12pt;size:a4}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}a{color:inherit;font-weight:inherit!important;font-size:inherit!important;text-decoration:underline}a[href^="http://"]:after,a[href^="https://"]:after{content:" (" attr(href) ") "}abbr[title]:after{content:" (" attr(title) ")"}pre{border:1px solid #eee;white-space:pre-wrap!important}pre>code{white-space:pre-wrap!important}blockquote{border-inline-start:.2rem solid #ddd;color:inherit}blockquote,pre{orphans:5;widows:5}img,tr,canvas{page-break-inside:avoid}}@font-face{font-weight:400;font-style:normal;font-family:Crimson;src:url(data:font/truetype;charset=utf-8;base64,AAEAAAANAIAAAwBQRkZUTYr5mwEAAAyMAAAAHEdERUYAKQATAAAMbAAAAB5PUy8yVsJ0MgAAAVgAAABgY21hcBiKDzgAAAHcAAABWGdhc3D//wADAAAMZAAAAAhnbHlmr+DBdQAAA1AAAAdsaGVhZBZwt+8AAADcAAAANmhoZWEFawEuAAABFAAAACRobXR4BksA9gAAAbgAAAAibG9jYQlsC24AAAM0AAAAHG1heHAAEQBZAAABOAAAACBuYW1lLaFDVAAACrwAAAFrcG9zdAC1AHoAAAwoAAAAPAABAAAAAQAAqBd2H18PPPUACwQAAAAAANqqufwAAAAA2qq5/AAb/9wB4QMeAAAACAACAAAAAAAAAAEAAAMs/ywAXAH9AAAAAAHhAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAANAFkAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAH1AZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAIABgMAAAAAAAAAAAABEAAAAAAAAAAAAAAAUGZFZADAADAAOQMs/ywAXAMsANQAAAABAAAAAAMYAAAAAAAgAAEBpwAfAAAAAAFVAAAB/QAfAH0ALQA+ABsAPgAyACgAPgAxAAAAAAADAAAAAwAAABwAAQAAAAAAUgADAAEAAAAcAAQANgAAAAQABAABAAAAOf//AAAAL///AAAAAQAEAAAAAAADAAQABQAGAAcACAAJAAoACwAMAAABBgAAAQAAAAAAAAABAgAAAAIAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAwQFBgcICQoLDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYAJgAmAGIAwAEeAZIBzgJAApYC2gNiA7YAAQAf/9wBhwMeABIAAAEGBwYHATAXFjM2NzY3ASYnJjcBgxwLCgH+zgMECxIKCgIBLgEDAwMDHhQFBgP85wMEAQgJBgMOAwMDEwAAAAIAH//9Ad0CkAAQACEAABMWFxYXNjc2NzQnJicGBwYHNyY3NjcWFxYXFAcGByYnJjcfATo6amo7OQE5OmxrOjkBXQIlJEE5IyIBIyJEOSQjAgFOkV5eBAReXoqJXl4EBF5eggJ0UlEDA09Qe3xVVgMDU1OEAAAAAAEAff/9AYACkQA+AAA3FAcGBwYHBiMGFQYXNjc2MzIXFhc2JzQnIicmJyY1JjURNjc2MSYnJicjBgcGBwYVFBUUFxYXNjc2NzIXFhXkAQEEBRgYDAMBBB4ZGhweGxofBAEDDBgZBQQBAQMEAQIDBAIFNTZCAgMDBA0XFw0LBQV3GBMVDAgEBAUKCgUCAQICAQIFCgoFBAQIDBUTGAGnLxkbBAYFAQIZGh4BAgECBQUEAwUHBwEICRYAAAAAAQAtAAAB0QKRADoAADcGFxYXITY3NjcmJyYjIgcGBwYHBisBNjc2NzY3NjUmJyYnBgcGBxQXFhc2NzY3FhcWFxYHBgcGBwYHLgEEAwMBYwURERADBwYFBAMDAg8VEx/LJkBAOhsQDwIxMkxSMjIHCAYGCSYmPTIfHwEBCgoeLkJBQg8EBQQCETAwKQICAgEBBCgUEylJSUYhJicsRDIzAgY1NRoEBQYBEyEhAwEjIjYlJCQtQlBQSAAAAAABAD7/+wG+ApEASgAANwYXFhcWFxYzNjc2NyYnJic2NzY3JicmIwYHBgcUFxYXNjc2NxYXFhcGBwYHBgcUFRQXNjc2NxYXFhcGBwYnIicmJyYnJiciBwYXPwEIBwUaHB0VZU5NBAMvLi8eIB4DAywsKzwrKxgEAwUIHR4wLRscAQMvLz8BAQYKEhEQNSYmAgImJSsWExQPCw0NFREMDQE7DgsLBQwFBgE8PWpMKSoGECQkMkAiIQIdHyUHBwcBCRscAwEbGSpCIyUOAgMCAwwIAwUEAQEoKD9XJSQBBQYODg8PAQ0NFQAAAgAb//oB4QKTACIAJQAANxQXFhchFRQXFjMyNzYjNTM2NzY1NCcmJyMRNCcmIwYHBgcBExEbAgMFASEJCRIdCAkBRgIBAQUEBTwFAwgHCQkG/vjmxgUGBgOwBQIBAwKzAgQDCBAMDQEBlAYGBgEICQf+cwEs/tQAAQA+//sBvgKTAEoAADcGFxYXFhcWMzY3NjcmJyYnIgcGBzY3NjczMjc2NzY3NjU0JyYnBgcGByMGBwYHFBcWMzY3NjMWFxYHBgcGJyInJicmJyYnIgcGFz8BCAcFGhwdFWVOTQQBMjJbFx8gFwoJCQlWKB0dFQ4JCAQDBQMdHSKXCREQEgMCBA4bGhNYJyUBAiYlKxYTFA8LDQ0VEQwNATsOCwsFDAUGATw9akU2NwMFBggrMC8uAgICExcZBgQCAgMBAwQBMVNUWAUFBAYFBAMxMTNZIyQBBQYODg8PAQ0NFQAAAgAy//oBzQKXACAAMwAANxQXFhc2NzY3NicmJyIHBgc2NzY3NCcmJwYHBgcGBwYXNyY3Njc2FxYXFgcGBwYHJicmNzM1NV5aOTsCAioqahoiIRsnWFhFAwIHQ0tMOTAZGQFbBAQaGxkXRB8fAQEfIDE9Hh4E511FRwQDPT1ZPEJBBQwLF4Y9PRMGCwwBEiwsPDZFRkkTHyAbCAcBAjAwREYsLQEFREVQAAAAAAEAKP/7AdUCiwApAAATFhcWMzI3Njc2NzYzIQYHBgcWFxYzMjcBNjc2NzQnJiMiBwYjIQYHBgcoAwYHAwYDAwELEBEdAQUJYWJXAQ8PDgcDAQ4LCQgBAQEEBhUVFv7JBgsNDAH6DQMCAQEFKRITFMjHjQcFBgMCPxYSEwoEAgMBAhkrKiAAAAADAD7/9wG/ApIAKABBAFgAADcGFxYXNjc2NyYnJicmJzQ3Njc2NyYnJiMGBwYHFhcWFxYVFAcGBwYHNyY3Njc2MzIzMhcyFxYXFhcGBwYHIicmNxMmNzY3FhcWFRQHBgcGByIjIicmJyY3PwE1M1ZQODgDAykpMQIBAyYlJQMCMC9HRjExAgIiIiMCAiMvLwNTBBQTKgEBAQECAQIBEjU1CAEdHjMrISICGAMYGSYvGxoTEx8CAQIBBAMfJCQBoU8tLQECMjFPOC4uGwIBAgEWJiU7SCYoAjEwQzopKhMBAgECEykpQAQsIiEbAQEBBywsQjUeHQEiI0QBZSMhIAECJiYvKh8gFAEBAhAfIEYAAAIAMf/6AcsClwAgADMAABMGFxYXMjc2NwYHBgcUFxYXNjc2NzY3NjUmJyYnBgcGBzcmNzY3FhcWFRQHBgcGJyYnJjc0AyopahoiIRsoV1hFAwIHQ0tMODEZGQE2NF5ZOjoBWgMfHzE9Hh4EGhoaF0QeHwUBy0dBQgUMCxeFPj0SBwsLAREsLD01RkVPV0dFBQQ8PU8UPCwtAQVFRUklIRsHCAECMDBPAAAADACWAAEAAAAAAAEABwAQAAEAAAAAAAIABwAoAAEAAAAAAAMABwBAAAEAAAAAAAQABwBYAAEAAAAAAAUAHgCeAAEAAAAAAAYABwDNAAMAAQQJAAEADgAAAAMAAQQJAAIADgAYAAMAAQQJAAMADgAwAAMAAQQJAAQADgBIAAMAAQQJAAUAPABgAAMAAQQJAAYADgC9AEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAFYAZQByAHMAaQBvAG4AIAAxAC4AMAA7ACAARgBvAG4AdABFAGQAaQB0AG8AcgAgACgAdgAxAC4AMAApAABWZXJzaW9uIDEuMDsgRm9udEVkaXRvciAodjEuMCkAAEMAcgBpAG0AcwBvAG4AAENyaW1zb24AAAACAAAAAAAAADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAABAAIAEwAUABUAFgAXABgAGQAaABsAHAAAAAH//wACAAEAAAAMAAAAFgAAAAIAAQADAAwAAQAEAAAAAgAAAAAAAAABAAAAANWkJwgAAAAA2qq5/AAAAADaqrn8) format("truetype")}html,body{background:var(--bg-color);transition:background var(--color-transition)}:root{color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{color:var(--text-color);font-family:var(--font-family)}@media (min-width: 1440px){body{font-size:17px}}a{color:var(--theme-color)}kbd{border-color:var(--border-color-dark);background:var(--bg-color-secondary);font-family:var(--font-family-mono)}code{font-family:var(--font-family-mono);transition:background var(--color-transition),color var(--color-transition)}html[data-theme=dark] code{background:#333}p a code{color:var(--theme-color)}blockquote{border-color:#eee;color:#666;transition:border-color var(--color-transition),color var(--color-transition)}html[data-theme=dark] blockquote{border-color:#333}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading)}@media (max-width: 419px){h1{font-size:1.9rem}}h2{border-color:var(--border-color);transition:border-bottom-color var(--color-transition)}hr{border-color:var(--border-color);transition:border-top-color var(--color-transition)}tr:nth-child(2n){background:var(--bg-color-secondary)}th,td{border-color:var(--border-color-dark)}@media print{@page{--text-color: #000 !important;--bg-color: #fff !important}div[class*=language-]{position:relative!important}}.theme-hope-content:not(.custom)>*:first-child{margin-top:0}.vp-breadcrumb{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:2;padding-top:1rem;font-size:15px}@media (max-width: 959px){.vp-breadcrumb{padding-inline:1.5rem}}@media print{.vp-breadcrumb{max-width:unset}}@media (max-width: 959px){.vp-breadcrumb{font-size:14px}}@media (max-width: 419px){.vp-breadcrumb{padding-top:.5rem;font-size:12.8px}}@media print{.vp-breadcrumb{display:none}}.vp-breadcrumb .icon{margin-inline-end:.25em;font-size:1em}.vp-breadcrumb img.icon{vertical-align:-.125em;height:1em}.vp-breadcrumb a{display:inline-block;padding:0 .5em}.vp-breadcrumb a:before{position:relative;bottom:.125rem;margin-inline-end:.25em}.vp-breadcrumb a:hover{color:var(--theme-color)}.vp-breadcrumb ol{margin:0;padding-inline-start:0;list-style:none}.vp-breadcrumb li{display:inline-block;line-height:1.5}.vp-breadcrumb li:first-child a{padding-inline-start:0}.vp-breadcrumb li:last-child a{padding-inline-end:0}.vp-breadcrumb li.is-active a{color:var(--light-grey);cursor:default;pointer-events:none}.vp-breadcrumb li+li:before{content:"/";color:var(--light-grey)}.toggle-sidebar-wrapper{position:fixed;top:var(--navbar-height);bottom:0;inset-inline-start:var(--sidebar-space);z-index:100;display:flex;align-items:center;justify-content:center;font-size:2rem;transition:inset-inline-start var(--transform-transition)}@media (max-width: 719px){.toggle-sidebar-wrapper{display:none}}@media (min-width: 1440px){.toggle-sidebar-wrapper{display:none}}.toggle-sidebar-wrapper:hover{background:rgba(127,127,127,.05);cursor:pointer}.toggle-sidebar-wrapper .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s}html[data-theme=dark] .toggle-sidebar-wrapper .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.toggle-sidebar-wrapper .arrow.down{transform:rotate(180deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.down{transform:rotate(-180deg)}.toggle-sidebar-wrapper .arrow.end{transform:rotate(90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.end,.toggle-sidebar-wrapper .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .toggle-sidebar-wrapper .arrow.start{transform:rotate(90deg)}.theme-container{display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.theme-container .vp-page{padding-top:var(--navbar-height);padding-inline-start:calc(var(--sidebar-space) + 2rem)}@media (max-width: 719px){.theme-container .vp-page{padding-inline:0}}@media (min-width: 1440px){.theme-container .vp-page{padding-inline-end:calc(100vw - var(--content-width) - var(--sidebar-space) - 6rem)}}.theme-container .vp-sidebar{top:var(--navbar-height)}.theme-container.no-navbar .vp-page{padding-top:0}.theme-container.no-navbar .vp-sidebar{top:0}@media (max-width: 719px){.theme-container.no-navbar .vp-sidebar{top:0}}@media (max-width: 719px){.theme-container.hide-navbar .vp-sidebar{top:0}}.theme-container.sidebar-collapsed .vp-page{padding-inline-start:0}.theme-container.sidebar-collapsed .vp-sidebar{box-shadow:none;transform:translate(-100%)}html[dir=rtl] .theme-container.sidebar-collapsed .vp-sidebar{transform:translate(100%)}.theme-container.sidebar-collapsed .toggle-sidebar-wrapper{inset-inline-start:0}.theme-container.no-sidebar .vp-page{padding-inline:0}@media (min-width: 1440px){.theme-container.no-sidebar.has-toc .vp-page{padding-inline-end:16rem}}.theme-container.no-sidebar .vp-toggle-sidebar-button,.theme-container.no-sidebar .toggle-sidebar-wrapper,.theme-container.no-sidebar .vp-sidebar{display:none}.theme-container.sidebar-open .vp-sidebar{box-shadow:2px 0 8px var(--card-shadow);transform:translate(0)}.fade-slide-y-enter-active{transition:all .3s ease!important}.fade-slide-y-leave-active{transition:all .3s cubic-bezier(1,.5,.8,1)!important}.fade-slide-y-enter-from,.fade-slide-y-leave-to{opacity:0;transform:translateY(10px)}.vp-feature-wrapper{position:relative}.vp-feature-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-feature-bg.light{display:inline-block}.vp-feature-bg.dark,html[data-theme=dark] .vp-feature-bg.light{display:none}html[data-theme=dark] .vp-feature-bg.dark{display:inline-block}.vp-feature{position:relative;z-index:1;margin:0 auto;padding:1.5rem 1rem;color:var(--text-color-lighter);text-align:center}.vp-feature-bg+.vp-feature{color:#222}html[data-theme=dark] .vp-feature-bg+.vp-feature{color:#eee}.vp-feature-bg+.vp-feature .icon{color:inherit}.vp-feature-image{height:10rem;margin:0 auto}@media (max-width: 959px){.vp-feature-image{height:8rem}}.vp-feature-image.light{display:inline-block}.vp-feature-image.dark,html[data-theme=dark] .vp-feature-image.light{display:none}html[data-theme=dark] .vp-feature-image.dark{display:inline-block}.vp-feature-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family);text-align:center}@media (max-width: 959px){.vp-feature-header{font-size:2.5rem}}@media (max-width: 719px){.vp-feature-header{font-size:2.25rem}}@media (max-width: 419px){.vp-feature-header{font-size:2rem}}.vp-feature-description{font-size:1.125rem}.vp-features{z-index:1;display:flex;flex-wrap:wrap;align-items:stretch;place-content:stretch center;margin:1rem 0;text-align:start}@media print{.vp-features{display:block}}.vp-features:first-child{border-top:1px solid var(--border-color);transition:border-color var(--color-transition)}.vp-feature-item{position:relative;display:block;flex-basis:calc(33% - 3rem);margin:.5rem;padding:1rem;border-radius:.5rem;color:inherit;transition:background var(--color-transition),box-shadow var(--color-transition),transform var(--transform-transition)}@media (min-width: 1440px){.vp-feature-item{flex-basis:calc(25% - 3rem)}}@media (max-width: 959px){.vp-feature-item{flex-basis:calc(50% - 3rem)}}@media (max-width: 719px){.vp-feature-item{flex-basis:100%;font-size:.95rem}}@media (max-width: 419px){.vp-feature-item{margin:.5rem 0;font-size:.9rem}}.vp-feature-item.link{cursor:pointer}@media print{.vp-feature-item.link{text-decoration:none}}.vp-feature-item .icon{display:inline-block;height:1.1em;margin-inline-end:.5rem;color:var(--theme-color);font-weight:400;font-size:1.1em}.vp-feature-item:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transform:translate(-2px,-2px);transform:scale(1.05)}.vp-feature-bg+.vp-feature .vp-feature-item:hover{background-color:transparent}.vp-feature-item:only-child{flex-basis:100%}.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:calc(50% - 3rem)}@media (max-width: 719px){.vp-feature-item:first-child:nth-last-child(2),.vp-feature-item:nth-child(2):last-child{flex-basis:100%}}.vp-feature-title{margin:.25rem 0 .5rem;font-weight:700;font-size:1.3rem;font-family:var(--font-family)}@media (max-width: 419px){.vp-feature-title{font-size:1.2rem}}.vp-feature-details{margin:0;line-height:1.4}.vp-footer-wrapper{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-evenly;padding-block:.75rem;padding-inline:calc(var(--sidebar-space) + 2rem) 2rem;border-top:1px solid var(--border-color);background:var(--bg-color);color:var(--dark-grey);text-align:center;transition:border-top-color var(--color-transition),background var(--color-transition),padding var(--transform-transition)}@media (max-width: 719px){.vp-footer-wrapper{padding-inline-start:2rem}}@media (min-width: 1440px){.vp-footer-wrapper{z-index:50;padding-inline-start:2rem}}@media print{.vp-footer-wrapper{margin:0!important;padding:0!important}}@media (max-width: 419px){.vp-footer-wrapper{display:block}}.no-sidebar .vp-footer-wrapper,.sidebar-collapsed .vp-footer-wrapper{padding-inline-start:2rem}.vp-footer{margin:.5rem 1rem;font-size:14px}@media print{.vp-footer{display:none}}.vp-copyright{margin:6px 0;font-size:13px}.vp-page:not(.not-found)+.vp-footer-wrapper{margin-top:-2rem}.vp-hero-info-wrapper{position:relative;display:flex;align-items:center;justify-content:center;margin-inline:auto}.vp-hero-info-wrapper.fullscreen{height:calc(100vh - var(--navbar-height))!important}.vp-hero-info{z-index:1;width:100%;padding-inline:2.5rem}@media (max-width: 959px){.vp-hero-info{padding-inline:1.5rem}}@media (min-width: 959px){.vp-hero-info{display:flex;align-items:center;justify-content:space-evenly}}.vp-hero-mask{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-position:50%;background-size:cover}.vp-hero-mask:after{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block}.vp-hero-mask.light{display:block}html[data-theme=dark] .vp-hero-mask.light,.vp-hero-mask.dark{display:none}html[data-theme=dark] .vp-hero-mask.dark{display:block}.vp-hero-infos{z-index:1;margin:0 .5rem}.vp-hero-image{display:block;max-width:100%;max-height:18rem;margin:1rem}@media (max-width: 959px){.vp-hero-image{margin:2rem auto}}@media (max-width: 719px){.vp-hero-image{max-height:16rem;margin:1.5rem auto}}@media (max-width: 419px){.vp-hero-image{max-height:14rem}}.vp-hero-image.light{display:block}html[data-theme=dark] .vp-hero-image.light,.vp-hero-image.dark{display:none}html[data-theme=dark] .vp-hero-image.dark{display:block}#main-title{margin:.5rem 0;background:linear-gradient(120deg,var(--theme-color-light),var(--theme-color) 30%,#3e71af 100%);-webkit-background-clip:text;background-clip:text;font-weight:700;font-size:3.6rem;font-family:var(--font-family);line-height:1.5;-webkit-text-fill-color:transparent}@media (max-width: 719px){#main-title{margin:0}}@media (max-width: 959px){#main-title{font-size:2.5rem;text-align:center}}@media (max-width: 719px){#main-title{font-size:2.25rem;text-align:center}}@media (max-width: 419px){#main-title{margin:0 auto;font-size:2rem}}.vp-description,.vp-actions{margin:1.8rem 0}@media (max-width: 719px){.vp-description,.vp-actions{margin:1.5rem 0}}@media (max-width: 959px){.vp-description,.vp-actions{margin:1.5rem auto;text-align:center}}@media (max-width: 419px){.vp-description,.vp-actions{margin:1.2rem 0}}.vp-description{max-width:35rem;color:var(--text-color-light);font-weight:500;font-size:1.6rem;line-height:1.3}@media (max-width: 719px){.vp-description{font-size:1.4rem}}@media (max-width: 419px){.vp-description{font-size:1.2rem}}.vp-action{display:inline-block;overflow:hidden;min-width:4rem;margin:.5rem;padding:.5em 1.5rem;border-radius:2rem;background:var(--bg-color-secondary);color:var(--text-color);font-size:1.2rem;text-align:center;transition:color var(--color-transition),color var(--color-transition),transform var(--transform-transition)}@media (max-width: 719px){.vp-action{padding:.5rem 1rem;font-size:1.1rem}}@media (max-width: 419px){.vp-action{font-size:1rem}}@media print{.vp-action{text-decoration:none}}.vp-action:hover{background:var(--bg-color-tertiary)}.vp-action.primary{border-color:var(--theme-color);background:var(--theme-color);color:var(--white)}.vp-action.primary:hover{border-color:var(--theme-color-light);background:var(--theme-color-light)}.vp-project-home:not(.pure) .vp-action:active{transform:scale(.96)}.vp-highlight-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.vp-highlight-wrapper:nth-child(2n) .vp-highlight{flex-direction:row-reverse}.vp-highlight{z-index:1;display:flex;flex:1;align-items:center;justify-content:flex-end;max-width:var(--home-page-width);margin:0 auto;padding:1.5rem 2.5rem;color:#222}@media (max-width: 719px){.vp-highlight{display:block;padding-inline:1.5rem;text-align:center}}html[data-theme=dark] .vp-highlight{color:#eee}.vp-highlight-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-attachment:fixed;background-position:50%;background-size:cover}.vp-highlight-bg.light{display:inline-block}.vp-highlight-bg.dark,html[data-theme=dark] .vp-highlight-bg.light{display:none}html[data-theme=dark] .vp-highlight-bg.dark{display:inline-block}.vp-highlight-image{width:12rem;margin:2rem 4rem}@media (max-width: 959px){.vp-highlight-image{width:10rem}}@media (max-width: 719px){.vp-highlight-image{width:8rem;margin:0 auto}}.vp-highlight-image.light{display:inline-block}.vp-highlight-image.dark,html[data-theme=dark] .vp-highlight-image.light{display:none}html[data-theme=dark] .vp-highlight-image.dark{display:inline-block}.vp-highlight-info-wrapper{display:flex;flex:1;justify-content:center;padding:2rem}@media (max-width: 719px){.vp-highlight-info-wrapper{padding:1rem 0}}.vp-highlight-info-wrapper:only-child{flex:1 0 100%}.vp-highlight-info{text-align:start}.vp-highlight-header{margin-bottom:1.5rem;border-bottom:none;font-size:3rem;font-family:var(--font-family)}@media (max-width: 959px){.vp-highlight-header{font-size:2.5rem}}@media (max-width: 719px){.vp-highlight-header{font-size:2.25rem;text-align:center}}@media (max-width: 419px){.vp-highlight-header{font-size:2rem}}.vp-highlight-description{font-size:1.125rem}.vp-highlights{margin-inline-start:-1.25em;padding-inline-start:0}.vp-highlight-item-wrapper{padding:.5em .5em .5em 1.75em;border-radius:.5rem;list-style:none}.vp-highlight-item-wrapper.link{cursor:pointer}.vp-highlight-item-wrapper:hover{background-color:var(--bg-color-secondary);box-shadow:0 2px 12px 0 var(--card-shadow);transition:transform var(--transform-transition);transform:translate(-2px,-2px)}.vp-highlight-bg+.vp-highlight .vp-highlight-item-wrapper:hover{background-color:transparent}.vp-highlight-item-wrapper::marker{font-weight:700}.vp-highlight-item{display:list-item;color:inherit;list-style:initial}@media print{.vp-highlight-item{text-decoration:none}}.vp-highlight-title{margin:0;font-weight:600;font-size:1.125rem;font-family:var(--font-family)}.vp-highlight-title .icon{margin-inline-end:.25em;font-size:1em}.vp-highlight-title img.icon{vertical-align:-.125em;height:1em}.vp-highlight-details{margin:.5rem 0 0}.vp-project-home{--content-width: var(--home-page-width);display:block;flex:1;padding-top:var(--navbar-height)}@media screen{.vp-project-home .vp-hero-info-wrapper:not(.fullscreen) .vp-hero-info{max-width:var(--home-page-width)}}@media screen{.vp-project-home .vp-feature{max-width:var(--home-page-width)}}.vp-project-home .theme-hope-content{padding-bottom:1.5rem!important}.vp-project-home .theme-hope-content:empty{padding:0!important}.not-found-hint{padding:2rem}.not-found-hint .error-code{margin:0;font-weight:700;font-size:4rem;line-height:4rem}.not-found-hint .error-title{font-weight:700}.not-found-hint .error-hint{margin:0;padding:12px 0;font-weight:600;font-size:20px;line-height:20px;letter-spacing:2px}.vp-page.not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100vw;max-width:var(--home-page-width);margin:0 auto;padding:calc(var(--navbar-height) + 1rem) 1rem 1rem!important;text-align:center}.vp-page.not-found .action-button{display:inline-block;box-sizing:border-box;margin:.25rem;padding:.75rem 1rem;border-width:0;border-bottom:1px solid var(--theme-color-dark);border-radius:3rem;background:var(--theme-color);color:var(--white);outline:none;font-size:1rem;transition:background .1s ease}.vp-page.not-found .action-button:hover{background:var(--theme-color-light);cursor:pointer}.vp-page-nav{display:flex;flex-wrap:wrap;min-height:2rem;margin-top:0;padding-block:.5rem;padding-inline:2rem;border-top:1px solid var(--border-color);transition:border-top var(--color-transition)}@media (max-width: 959px){.vp-page-nav{padding-inline:1rem}}@media print{.vp-page-nav{display:none}}.vp-page-nav .nav-link{display:inline-block;flex-grow:1;margin:.25rem;padding:.25rem .5rem;border:1px solid var(--border-color);border-radius:.25rem}.vp-page-nav .nav-link:hover{background:var(--bg-color-secondary)}.vp-page-nav .nav-link .hint{color:var(--light-grey);font-size:.875rem;line-height:2}.vp-page-nav .nav-link .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:.75rem}html[data-theme=dark] .vp-page-nav .nav-link .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-page-nav .nav-link .arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.down{transform:rotate(-180deg)}.vp-page-nav .nav-link .arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.end,.vp-page-nav .nav-link .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-page-nav .nav-link .arrow.start{transform:rotate(90deg)}.vp-page-nav .prev{text-align:start}.vp-page-nav .prev .icon{margin-inline-end:.25em;font-size:1em}.vp-page-nav .prev img.icon{vertical-align:-.125em;height:1em}.vp-page-nav .next{text-align:end}.vp-page-nav .next .icon{margin-inline-start:.25em;font-size:1em}.vp-page-nav .next img.icon{vertical-align:-.125em;height:1em}.vp-page-title{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;position:relative;z-index:1;padding-top:1rem;padding-bottom:0}@media (max-width: 959px){.vp-page-title{padding-inline:1.5rem}}@media print{.vp-page-title{max-width:unset}}@media print{.vp-page-title{padding-inline:0!important}}@media (max-width: 959px){.vp-page-title{padding-top:.5rem}}.vp-page-title h1{margin-top:calc(0px - var(--navbar-height))!important;margin-bottom:1rem;padding-top:var(--navbar-height)!important;font-size:2.2rem}@media (max-width: 959px){.vp-page-title h1{margin-bottom:.5rem}}.vp-page-title h1 .icon{margin-inline-end:.25em;color:var(--theme-color);font-size:.9em}.vp-page-title h1 img.icon{vertical-align:-.125em;height:1em}.theme-hope-content:not(.custom){padding-top:0!important}.theme-hope-content:not(.custom) h1:first-child,.theme-hope-content:not(.custom) h2:first-child,.theme-hope-content:not(.custom) h3:first-child,.theme-hope-content:not(.custom) h4:first-child,.theme-hope-content:not(.custom) h5:first-child,.theme-hope-content:not(.custom) h6:first-child{margin-top:calc(.5rem - var(--navbar-height))!important;padding-top:var(--navbar-height)!important}.theme-hope-content:not(.custom)>h1:first-child{display:none}.vp-page{display:block;flex-grow:1;padding-bottom:2rem;transition:padding var(--transform-transition)}@media print{.vp-page{min-height:auto!important;margin:0!important;padding:0!important}}.page-cover{-o-object-fit:cover;object-fit:cover;width:calc(100% + 2rem);max-height:25vh;margin-inline-start:-2rem}@media (max-width: 719px){.page-cover{width:100%;margin:0;border-radius:0}}@media (min-width: 1440px){.page-cover{width:calc(100% - 2rem);margin:0 1rem;border-radius:.5rem}}.page-cover .sidebar-collapsed{width:100%;margin-inline-start:0}.vp-skip-link{top:.25rem;inset-inline-start:.25rem;z-index:999;padding:.65rem 1.5rem;border-radius:.5rem;background:var(--bg-color);color:var(--theme-color);box-shadow:var(--card-shadow);font-weight:700;font-size:.9em;text-decoration:none}@media print{.vp-skip-link{display:none}}.vp-skip-link:focus{clip:auto;width:auto;height:auto;-webkit-clip-path:none;clip-path:none}.theme-hope-content pre{overflow:auto;margin:.85rem 0;padding:1rem;border-radius:6px;line-height:1.375}.theme-hope-content pre code{padding:0;border-radius:0;background:transparent!important;color:var(--code-color);font-family:var(--font-family-mono);text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;overflow-wrap:unset;-webkit-hyphens:none;hyphens:none;transition:color var(--color-transition);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}@media print{.theme-hope-content pre code{white-space:pre-wrap}}.theme-hope-content .line-number{font-family:var(--font-family-mono)}div[class*=language-]{position:relative;border-radius:6px;background:var(--code-bg-color);font-size:16px;transition:background var(--color-transition)}@media (max-width: 419px){.theme-hope-content>div[class*=language-]{margin:.85rem -1.5rem;border-radius:0}}div[class*=language-]:before{content:attr(data-ext);position:absolute;top:0;right:1em;z-index:3;color:var(--code-line-color);font-size:.75rem;transition:color var(--color-transition)}div[class*=language-] pre{position:relative;z-index:1;scrollbar-gutter:stable}div[class*=language-] .highlight-lines{position:absolute;top:0;bottom:0;left:0;width:100%;padding:1rem 0;line-height:1.375;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-] .highlight-line{background:var(--code-highlight-line-color);transition:background var(--color-transition)}div[class*=language-].line-numbers-mode:after{content:"";position:absolute;top:0;bottom:0;left:0;z-index:2;width:var(--line-numbers-width);border-right:1px solid var(--code-highlight-line-color);border-radius:6px 0 0 6px;transition:border-color var(--color-transition)}@media (max-width: 419px){div[class*=language-].line-numbers-mode:after{border-radius:0}}@media print{div[class*=language-].line-numbers-mode:after{display:none}}div[class*=language-].line-numbers-mode .highlight-line{position:relative}div[class*=language-].line-numbers-mode .highlight-line:before{content:" ";position:absolute;top:0;left:0;z-index:3;display:block;width:var(--line-numbers-width);height:100%}div[class*=language-].line-numbers-mode pre{vertical-align:middle;margin-left:var(--line-numbers-width);padding-left:.5rem}@media print{div[class*=language-].line-numbers-mode pre{margin-left:0;padding-left:1rem}}div[class*=language-].line-numbers-mode .line-numbers{position:absolute;top:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-evenly;width:var(--line-numbers-width);padding:1rem 0;color:var(--code-line-color);counter-reset:line-number;text-align:center;transition:color var(--color-transition)}@media print{div[class*=language-].line-numbers-mode .line-numbers{display:none}}div[class*=language-].line-numbers-mode .line-number{position:relative;z-index:4;-webkit-user-select:none;-moz-user-select:none;user-select:none}div[class*=language-].line-numbers-mode .line-number:before{content:counter(line-number);font-size:.8em;counter-increment:line-number}div[class*=language-]:not(.line-numbers-mode) .line-numbers{display:none}html[data-theme=light] #app{--code-color: #383a42;--code-line-color: rgba(56, 58, 66, .67);--code-bg-color: #ecf4fa;--code-border-color: #c3def3;--code-highlight-line-color: #d8e9f6}html[data-theme=light] code[class*=language-],html[data-theme=light] pre[class*=language-]{-moz-tab-size:2;-o-tab-size:2;tab-size:2}html[data-theme=light] code[class*=language-]::-moz-selection,html[data-theme=light] code[class*=language-] ::-moz-selection,html[data-theme=light] pre[class*=language-]::-moz-selection,html[data-theme=light] pre[class*=language-] ::-moz-selection{background:#e5e5e6;color:inherit}html[data-theme=light] code[class*=language-]::selection,html[data-theme=light] code[class*=language-] ::selection,html[data-theme=light] pre[class*=language-]::selection,html[data-theme=light] pre[class*=language-] ::selection{background:#e5e5e6;color:inherit}html[data-theme=light] .token.comment,html[data-theme=light] .token.prolog,html[data-theme=light] .token.cdata{color:#a0a1a7}html[data-theme=light] .token.doctype,html[data-theme=light] .token.punctuation,html[data-theme=light] .token.entity{color:#383a42}html[data-theme=light] .token.attr-name,html[data-theme=light] .token.class-name,html[data-theme=light] .token.boolean,html[data-theme=light] .token.constant,html[data-theme=light] .token.number,html[data-theme=light] .token.atrule{color:#b76b01}html[data-theme=light] .token.keyword{color:#a626a4}html[data-theme=light] .token.property,html[data-theme=light] .token.tag,html[data-theme=light] .token.symbol,html[data-theme=light] .token.deleted,html[data-theme=light] .token.important{color:#e45649}html[data-theme=light] .token.selector,html[data-theme=light] .token.string,html[data-theme=light] .token.char,html[data-theme=light] .token.builtin,html[data-theme=light] .token.inserted,html[data-theme=light] .token.regex,html[data-theme=light] .token.attr-value,html[data-theme=light] .token.attr-value>.token.punctuation{color:#50a14f}html[data-theme=light] .token.variable,html[data-theme=light] .token.operator,html[data-theme=light] .token.function{color:#4078f2}html[data-theme=light] .token.url{color:#0184bc}html[data-theme=light] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=light] .token.special-attr>.token.attr-value>.token.value.css{color:#383a42}html[data-theme=light] .language-css .token.selector{color:#e45649}html[data-theme=light] .language-css .token.property{color:#383a42}html[data-theme=light] .language-css .token.function,html[data-theme=light] .language-css .token.url>.token.function{color:#0184bc}html[data-theme=light] .language-css .token.url>.token.string.url{color:#50a14f}html[data-theme=light] .language-css .token.important,html[data-theme=light] .language-css .token.atrule .token.rule,html[data-theme=light] .language-javascript .token.operator{color:#a626a4}html[data-theme=light] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#ca1243}html[data-theme=light] .language-json .token.operator{color:#383a42}html[data-theme=light] .language-json .token.null.keyword{color:#b76b01}html[data-theme=light] .language-markdown .token.url,html[data-theme=light] .language-markdown .token.url>.token.operator,html[data-theme=light] .language-markdown .token.url-reference.url>.token.string{color:#383a42}html[data-theme=light] .language-markdown .token.url>.token.content{color:#4078f2}html[data-theme=light] .language-markdown .token.url>.token.url,html[data-theme=light] .language-markdown .token.url-reference.url{color:#0184bc}html[data-theme=light] .language-markdown .token.blockquote.punctuation,html[data-theme=light] .language-markdown .token.hr.punctuation{color:#a0a1a7;font-style:italic}html[data-theme=light] .language-markdown .token.code-snippet{color:#50a14f}html[data-theme=light] .language-markdown .token.bold .token.content{color:#b76b01}html[data-theme=light] .language-markdown .token.italic .token.content{color:#a626a4}html[data-theme=light] .language-markdown .token.strike .token.content,html[data-theme=light] .language-markdown .token.strike .token.punctuation,html[data-theme=light] .language-markdown .token.list.punctuation,html[data-theme=light] .language-markdown .token.title.important>.token.punctuation{color:#e45649}html[data-theme=light] .token.bold{font-weight:700}html[data-theme=light] .token.comment,html[data-theme=light] .token.italic{font-style:italic}html[data-theme=light] .token.entity{cursor:help}html[data-theme=light] .token.namespace{opacity:.8}html[data-theme=dark] #app{--code-color: #abb2bf;--code-line-color: rgba(171, 178, 191, .67);--code-bg-color: #282c34;--code-border-color: #343e51;--code-highlight-line-color: #2f3542}html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:0 1px rgba(0,0,0,.3);-moz-tab-size:2;-o-tab-size:2;tab-size:2}@media print{html[data-theme=dark] code[class*=language-],html[data-theme=dark] pre[class*=language-]{text-shadow:none}}html[data-theme=dark] code[class*=language-]::-moz-selection,html[data-theme=dark] code[class*=language-] ::-moz-selection,html[data-theme=dark] pre[class*=language-]::-moz-selection,html[data-theme=dark] pre[class*=language-] ::-moz-selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] code[class*=language-]::selection,html[data-theme=dark] code[class*=language-] ::selection,html[data-theme=dark] pre[class*=language-]::selection,html[data-theme=dark] pre[class*=language-] ::selection{background:#3e4451;color:inherit;text-shadow:none}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.prolog,html[data-theme=dark] .token.cdata{color:#5c6370}html[data-theme=dark] .token.doctype,html[data-theme=dark] .token.punctuation,html[data-theme=dark] .token.entity{color:#abb2bf}html[data-theme=dark] .token.attr-name,html[data-theme=dark] .token.class-name,html[data-theme=dark] .token.boolean,html[data-theme=dark] .token.constant,html[data-theme=dark] .token.number,html[data-theme=dark] .token.atrule{color:#d19a66}html[data-theme=dark] .token.keyword{color:#c678dd}html[data-theme=dark] .token.property,html[data-theme=dark] .token.tag,html[data-theme=dark] .token.symbol,html[data-theme=dark] .token.deleted,html[data-theme=dark] .token.important{color:#e06c75}html[data-theme=dark] .token.selector,html[data-theme=dark] .token.string,html[data-theme=dark] .token.char,html[data-theme=dark] .token.builtin,html[data-theme=dark] .token.inserted,html[data-theme=dark] .token.regex,html[data-theme=dark] .token.attr-value,html[data-theme=dark] .token.attr-value>.token.punctuation{color:#98c379}html[data-theme=dark] .token.variable,html[data-theme=dark] .token.operator,html[data-theme=dark] .token.function{color:#61afef}html[data-theme=dark] .token.url{color:#56b6c2}html[data-theme=dark] .token.attr-value>.token.punctuation.attr-equals,html[data-theme=dark] .token.special-attr>.token.attr-value>.token.value.css{color:#abb2bf}html[data-theme=dark] .language-css .token.selector{color:#e06c75}html[data-theme=dark] .language-css .token.property{color:#abb2bf}html[data-theme=dark] .language-css .token.function,html[data-theme=dark] .language-css .token.url>.token.function{color:#56b6c2}html[data-theme=dark] .language-css .token.url>.token.string.url{color:#98c379}html[data-theme=dark] .language-css .token.important,html[data-theme=dark] .language-css .token.atrule .token.rule,html[data-theme=dark] .language-javascript .token.operator{color:#c678dd}html[data-theme=dark] .language-javascript .token.template-string>.token.interpolation>.token.interpolation-punctuation.punctuation{color:#be5046}html[data-theme=dark] .language-json .token.operator{color:#abb2bf}html[data-theme=dark] .language-json .token.null.keyword{color:#d19a66}html[data-theme=dark] .language-markdown .token.url,html[data-theme=dark] .language-markdown .token.url>.token.operator,html[data-theme=dark] .language-markdown .token.url-reference.url>.token.string{color:#abb2bf}html[data-theme=dark] .language-markdown .token.url>.token.content{color:#61afef}html[data-theme=dark] .language-markdown .token.url>.token.url,html[data-theme=dark] .language-markdown .token.url-reference.url{color:#56b6c2}html[data-theme=dark] .language-markdown .token.blockquote.punctuation,html[data-theme=dark] .language-markdown .token.hr.punctuation{color:#5c6370;font-style:italic}html[data-theme=dark] .language-markdown .token.code-snippet{color:#98c379}html[data-theme=dark] .language-markdown .token.bold .token.content{color:#d19a66}html[data-theme=dark] .language-markdown .token.italic .token.content{color:#c678dd}html[data-theme=dark] .language-markdown .token.strike .token.content,html[data-theme=dark] .language-markdown .token.strike .token.punctuation,html[data-theme=dark] .language-markdown .token.list.punctuation,html[data-theme=dark] .language-markdown .token.title.important>.token.punctuation{color:#e06c75}html[data-theme=dark] .token.bold{font-weight:700}html[data-theme=dark] .token.comment,html[data-theme=dark] .token.italic{font-style:italic}html[data-theme=dark] .token.entity{cursor:help}html[data-theme=dark] .token.namespace{opacity:.8}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);width:1px;height:1px;margin:-1px;padding:0;border-width:0;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media print{.theme-hope-content{margin:0!important;padding-inline:0!important}}.theme-hope-content.custom{margin:0;padding:0}.theme-hope-content:not(.custom){max-width:var(--content-width, 740px);margin:0 auto;padding:2rem 2.5rem;padding-top:0}@media (max-width: 959px){.theme-hope-content:not(.custom){padding:1.5rem}}@media (max-width: 419px){.theme-hope-content:not(.custom){padding:1rem 1.5rem}}@media print{.theme-hope-content:not(.custom){max-width:unset}}.theme-hope-content:not(.custom)>h1,.theme-hope-content:not(.custom)>h2,.theme-hope-content:not(.custom)>h3,.theme-hope-content:not(.custom)>h4,.theme-hope-content:not(.custom)>h5,.theme-hope-content:not(.custom)>h6{margin-top:calc(.5rem - var(--navbar-height));margin-bottom:.5rem;padding-top:calc(1rem + var(--navbar-height));outline:none}.theme-container.no-navbar .theme-hope-content:not(.custom)>h1,.theme-container.no-navbar .theme-hope-content:not(.custom)>h2,.theme-container.no-navbar .theme-hope-content:not(.custom)>h3,.theme-container.no-navbar .theme-hope-content:not(.custom)>h4,.theme-container.no-navbar .theme-hope-content:not(.custom)>h5,.theme-container.no-navbar .theme-hope-content:not(.custom)>h6{margin-top:1.5rem;padding-top:0}.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:justify;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (max-width: 419px){.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}@media print{.theme-hope-content:not(.custom)>p,.theme-hope-content:not(.custom)>ul p,.theme-hope-content:not(.custom)>ol p{text-align:start}}.theme-hope-content a:hover{text-decoration:underline}.theme-hope-content img{max-width:100%}@media (min-width: 1280px){.chart-wrapper::-webkit-scrollbar,.flowchart-wrapper::-webkit-scrollbar,.mermaid-wrapper::-webkit-scrollbar{width:8px;height:8px}.chart-wrapper::-webkit-scrollbar-track-piece,.flowchart-wrapper::-webkit-scrollbar-track-piece,.mermaid-wrapper::-webkit-scrollbar-track-piece{border-radius:8px;background:rgba(0,0,0,.1)}}html[dir=rtl] a.header-anchor{float:right}#docsearch-container{min-width:145.7px!important}@media (max-width: 959px){#docsearch-container{min-width:36px!important}}.DocSearch.DocSearch-Button{margin-left:0}@media (max-width: 959px){.DocSearch.DocSearch-Button{min-width:36px!important}}.DocSearch .DocSearch-Button-Placeholder{display:inline-block;padding:4px 12px 4px 6px;font-size:14px}@media (max-width: 719px){.DocSearch .DocSearch-Button-Placeholder{display:none}}.DocSearch .DocSearch-Search-Icon{width:1.25em;height:1.25em}@media (max-width: 959px){.DocSearch .DocSearch-Button-Keys{display:none}}.DocSearch .DocSearch-Button-Key{background:var(--bg-color);box-shadow:none}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track-piece{border-radius:6px;background:rgba(0,0,0,.1)}::-webkit-scrollbar-thumb{border-radius:6px;background:var(--theme-color)}::-webkit-scrollbar-thumb:active{background:var(--theme-color-light)}@media (max-width: 719px){.hide-in-mobile{display:none!important}}@media (max-width: 959px){.hide-in-pad{display:none!important}}.page-author-item{display:inline-block;margin:0 4px;font-weight:400;overflow-wrap:break-word}.page-category-info{flex-wrap:wrap}.page-category-item{display:inline-block;margin:.125em .25em;padding:0 .25em;border-radius:.25em;background:var(--bg-color-secondary);color:var(--text-color-light);font-weight:700;font-size:.75rem;line-height:2;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-category-item{padding:0;font-weight:400}.page-category-item:after{content:", "}.page-category-item:last-of-type:after{content:""}}.page-category-item.clickable>span:hover{color:var(--theme-color);cursor:pointer}.page-category-item.category0{background:#fde5e7;color:#ec2f3e}html[data-theme=dark] .page-category-item.category0{background:#340509;color:#ba111f}.page-category-item.category0:hover{background:#f9bec3}html[data-theme=dark] .page-category-item.category0:hover{background:#53080e}.page-category-item.category1{background:#ffeee8;color:#fb7649}html[data-theme=dark] .page-category-item.category1{background:#441201;color:#f54205}.page-category-item.category1:hover{background:#fed4c6}html[data-theme=dark] .page-category-item.category1:hover{background:#6d1d02}.page-category-item.category2{background:#fef5e7;color:#f5b041}html[data-theme=dark] .page-category-item.category2{background:#3e2703;color:#e08e0b}.page-category-item.category2:hover{background:#fce6c4}html[data-theme=dark] .page-category-item.category2:hover{background:#633f05}.page-category-item.category3{background:#eafaf1;color:#55d98d}html[data-theme=dark] .page-category-item.category3{background:#0c331c;color:#29b866}.page-category-item.category3:hover{background:#caf3db}html[data-theme=dark] .page-category-item.category3:hover{background:#12522d}.page-category-item.category4{background:#e6f9ee;color:#36d278}html[data-theme=dark] .page-category-item.category4{background:#092917;color:#219552}.page-category-item.category4:hover{background:#c0f1d5}html[data-theme=dark] .page-category-item.category4:hover{background:#0f4224}.page-category-item.category5{background:#e1fcfc;color:#16e1e1}html[data-theme=dark] .page-category-item.category5{background:#042929;color:#0e9595}.page-category-item.category5:hover{background:#b4f8f8}html[data-theme=dark] .page-category-item.category5:hover{background:#064242}.page-category-item.category6{background:#e4f0fe;color:#2589f6}html[data-theme=dark] .page-category-item.category6{background:#021b36;color:#0862c3}.page-category-item.category6:hover{background:#bbdafc}html[data-theme=dark] .page-category-item.category6:hover{background:#042c57}.page-category-item.category7{background:#f7f1fd;color:#bb8ced}html[data-theme=dark] .page-category-item.category7{background:#2a0b4b;color:#9851e4}.page-category-item.category7:hover{background:#eadbfa}html[data-theme=dark] .page-category-item.category7:hover{background:#431277}.page-category-item.category8{background:#fdeaf5;color:#ef59ab}html[data-theme=dark] .page-category-item.category8{background:#400626;color:#e81689}.page-category-item.category8:hover{background:#facbe5}html[data-theme=dark] .page-category-item.category8:hover{background:#670a3d}.page-original-info{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;padding:0 .5em;border:.5px solid var(--dark-grey);border-radius:.75em;background:var(--bg-color);font-size:.75em;line-height:1.5!important}.page-info{display:flex;flex-wrap:wrap;align-items:center;place-content:stretch flex-start;color:var(--dark-grey);font-size:14px}@media print{.page-info{display:flex!important}}.page-info>span{display:flex;align-items:center;max-width:100%;margin-inline-end:.5em;line-height:2}@media (min-width: 1440px){.page-info>span{font-size:1.1em}}@media (max-width: 419px){.page-info>span{margin-inline-end:.3em;font-size:.875em}}@media print{.page-info>span{display:flex!important}}.page-info .icon{position:relative;display:inline-block;vertical-align:middle;width:1em;height:1em;margin-inline-end:.25em}.page-info a{color:inherit}.page-info a:hover,.page-info a:active{color:var(--theme-color)}.page-meta{max-width:var(--content-width, 740px);margin-inline:auto;padding-inline:2.5rem;display:flex;flex-wrap:wrap;justify-content:space-between;overflow:auto;padding-top:.75rem;padding-bottom:.75rem}@media (max-width: 959px){.page-meta{padding-inline:1.5rem}}@media print{.page-meta{max-width:unset}}@media print{.page-meta{margin:0!important;padding-inline:0!important}}@media (max-width: 719px){.page-meta{display:block}}.page-meta .meta-item{flex-grow:1}.page-meta .meta-item .label{font-weight:500}.page-meta .meta-item .label:not(a){color:var(--text-color-lighter)}.page-meta .meta-item .info{color:var(--dark-grey);font-weight:400}.page-meta .git-info{text-align:end}.page-meta .edit-link{margin-top:.25rem;margin-bottom:.25rem;margin-inline-end:.5rem;font-size:14px}@media print{.page-meta .edit-link{display:none}}.page-meta .edit-link .icon{position:relative;bottom:-.125em;width:1em;height:1em;margin-inline-end:.25em}.page-meta .update-time,.page-meta .contributors{margin-top:.25rem;margin-bottom:.25rem;font-size:14px}@media (max-width: 719px){.page-meta .update-time,.page-meta .contributors{font-size:13px;text-align:start}}.print-button{border-width:0;background:transparent;cursor:pointer;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;border-radius:.25em;color:inherit;font-size:1rem;transform:translateY(.25rem)}@media print{.print-button{display:none}}.page-tag-info{flex-wrap:wrap}.page-tag-item{position:relative;display:inline-block;vertical-align:middle;overflow:hidden;min-width:1.5rem;margin:.125rem;padding:.125rem .25rem .125rem .625rem;background:var(--bg-color-secondary);background:linear-gradient(135deg,transparent .75em,var(--bg-color-secondary) 0) top,linear-gradient(45deg,transparent .75em,var(--bg-color-secondary) 0) bottom;background-size:100% 52%!important;background-repeat:no-repeat!important;color:var(--text-color-light);font-weight:700;font-size:.625rem;line-height:1.5;text-align:center;transition:background var(--color-transition),color var(--color-transition)}@media print{.page-tag-item{padding:0;font-weight:400}.page-tag-item:after{content:", "}.page-tag-item:last-of-type:after{content:""}}.page-tag-item.clickable:hover{cursor:pointer}.page-tag-item.tag0{background:#fde5e7;background:linear-gradient(135deg,transparent .75em,#fde5e7 0) top,linear-gradient(45deg,transparent .75em,#fde5e7 0) bottom;color:#ec2f3e}html[data-theme=dark] .page-tag-item.tag0{background:#340509;background:linear-gradient(135deg,transparent .75em,#340509 0) top,linear-gradient(45deg,transparent .75em,#340509 0) bottom;color:#ba111f}.page-tag-item.tag0.clickable:hover{background:#f9bec3;background:linear-gradient(135deg,transparent .75em,#f9bec3 0) top,linear-gradient(45deg,transparent .75em,#f9bec3 0) bottom}html[data-theme=dark] .page-tag-item.tag0.clickable:hover{background:#53080e;background:linear-gradient(135deg,transparent .75em,#53080e 0) top,linear-gradient(45deg,transparent .75em,#53080e 0) bottom}.page-tag-item.tag1{background:#ffeee8;background:linear-gradient(135deg,transparent .75em,#ffeee8 0) top,linear-gradient(45deg,transparent .75em,#ffeee8 0) bottom;color:#fb7649}html[data-theme=dark] .page-tag-item.tag1{background:#441201;background:linear-gradient(135deg,transparent .75em,#441201 0) top,linear-gradient(45deg,transparent .75em,#441201 0) bottom;color:#f54205}.page-tag-item.tag1.clickable:hover{background:#fed4c6;background:linear-gradient(135deg,transparent .75em,#fed4c6 0) top,linear-gradient(45deg,transparent .75em,#fed4c6 0) bottom}html[data-theme=dark] .page-tag-item.tag1.clickable:hover{background:#6d1d02;background:linear-gradient(135deg,transparent .75em,#6d1d02 0) top,linear-gradient(45deg,transparent .75em,#6d1d02 0) bottom}.page-tag-item.tag2{background:#fef5e7;background:linear-gradient(135deg,transparent .75em,#fef5e7 0) top,linear-gradient(45deg,transparent .75em,#fef5e7 0) bottom;color:#f5b041}html[data-theme=dark] .page-tag-item.tag2{background:#3e2703;background:linear-gradient(135deg,transparent .75em,#3e2703 0) top,linear-gradient(45deg,transparent .75em,#3e2703 0) bottom;color:#e08e0b}.page-tag-item.tag2.clickable:hover{background:#fce6c4;background:linear-gradient(135deg,transparent .75em,#fce6c4 0) top,linear-gradient(45deg,transparent .75em,#fce6c4 0) bottom}html[data-theme=dark] .page-tag-item.tag2.clickable:hover{background:#633f05;background:linear-gradient(135deg,transparent .75em,#633f05 0) top,linear-gradient(45deg,transparent .75em,#633f05 0) bottom}.page-tag-item.tag3{background:#eafaf1;background:linear-gradient(135deg,transparent .75em,#eafaf1 0) top,linear-gradient(45deg,transparent .75em,#eafaf1 0) bottom;color:#55d98d}html[data-theme=dark] .page-tag-item.tag3{background:#0c331c;background:linear-gradient(135deg,transparent .75em,#0c331c 0) top,linear-gradient(45deg,transparent .75em,#0c331c 0) bottom;color:#29b866}.page-tag-item.tag3.clickable:hover{background:#caf3db;background:linear-gradient(135deg,transparent .75em,#caf3db 0) top,linear-gradient(45deg,transparent .75em,#caf3db 0) bottom}html[data-theme=dark] .page-tag-item.tag3.clickable:hover{background:#12522d;background:linear-gradient(135deg,transparent .75em,#12522d 0) top,linear-gradient(45deg,transparent .75em,#12522d 0) bottom}.page-tag-item.tag4{background:#e6f9ee;background:linear-gradient(135deg,transparent .75em,#e6f9ee 0) top,linear-gradient(45deg,transparent .75em,#e6f9ee 0) bottom;color:#36d278}html[data-theme=dark] .page-tag-item.tag4{background:#092917;background:linear-gradient(135deg,transparent .75em,#092917 0) top,linear-gradient(45deg,transparent .75em,#092917 0) bottom;color:#219552}.page-tag-item.tag4.clickable:hover{background:#c0f1d5;background:linear-gradient(135deg,transparent .75em,#c0f1d5 0) top,linear-gradient(45deg,transparent .75em,#c0f1d5 0) bottom}html[data-theme=dark] .page-tag-item.tag4.clickable:hover{background:#0f4224;background:linear-gradient(135deg,transparent .75em,#0f4224 0) top,linear-gradient(45deg,transparent .75em,#0f4224 0) bottom}.page-tag-item.tag5{background:#e1fcfc;background:linear-gradient(135deg,transparent .75em,#e1fcfc 0) top,linear-gradient(45deg,transparent .75em,#e1fcfc 0) bottom;color:#16e1e1}html[data-theme=dark] .page-tag-item.tag5{background:#042929;background:linear-gradient(135deg,transparent .75em,#042929 0) top,linear-gradient(45deg,transparent .75em,#042929 0) bottom;color:#0e9595}.page-tag-item.tag5.clickable:hover{background:#b4f8f8;background:linear-gradient(135deg,transparent .75em,#b4f8f8 0) top,linear-gradient(45deg,transparent .75em,#b4f8f8 0) bottom}html[data-theme=dark] .page-tag-item.tag5.clickable:hover{background:#064242;background:linear-gradient(135deg,transparent .75em,#064242 0) top,linear-gradient(45deg,transparent .75em,#064242 0) bottom}.page-tag-item.tag6{background:#e4f0fe;background:linear-gradient(135deg,transparent .75em,#e4f0fe 0) top,linear-gradient(45deg,transparent .75em,#e4f0fe 0) bottom;color:#2589f6}html[data-theme=dark] .page-tag-item.tag6{background:#021b36;background:linear-gradient(135deg,transparent .75em,#021b36 0) top,linear-gradient(45deg,transparent .75em,#021b36 0) bottom;color:#0862c3}.page-tag-item.tag6.clickable:hover{background:#bbdafc;background:linear-gradient(135deg,transparent .75em,#bbdafc 0) top,linear-gradient(45deg,transparent .75em,#bbdafc 0) bottom}html[data-theme=dark] .page-tag-item.tag6.clickable:hover{background:#042c57;background:linear-gradient(135deg,transparent .75em,#042c57 0) top,linear-gradient(45deg,transparent .75em,#042c57 0) bottom}.page-tag-item.tag7{background:#f7f1fd;background:linear-gradient(135deg,transparent .75em,#f7f1fd 0) top,linear-gradient(45deg,transparent .75em,#f7f1fd 0) bottom;color:#bb8ced}html[data-theme=dark] .page-tag-item.tag7{background:#2a0b4b;background:linear-gradient(135deg,transparent .75em,#2a0b4b 0) top,linear-gradient(45deg,transparent .75em,#2a0b4b 0) bottom;color:#9851e4}.page-tag-item.tag7.clickable:hover{background:#eadbfa;background:linear-gradient(135deg,transparent .75em,#eadbfa 0) top,linear-gradient(45deg,transparent .75em,#eadbfa 0) bottom}html[data-theme=dark] .page-tag-item.tag7.clickable:hover{background:#431277;background:linear-gradient(135deg,transparent .75em,#431277 0) top,linear-gradient(45deg,transparent .75em,#431277 0) bottom}.page-tag-item.tag8{background:#fdeaf5;background:linear-gradient(135deg,transparent .75em,#fdeaf5 0) top,linear-gradient(45deg,transparent .75em,#fdeaf5 0) bottom;color:#ef59ab}html[data-theme=dark] .page-tag-item.tag8{background:#400626;background:linear-gradient(135deg,transparent .75em,#400626 0) top,linear-gradient(45deg,transparent .75em,#400626 0) bottom;color:#e81689}.page-tag-item.tag8.clickable:hover{background:#facbe5;background:linear-gradient(135deg,transparent .75em,#facbe5 0) top,linear-gradient(45deg,transparent .75em,#facbe5 0) bottom}html[data-theme=dark] .page-tag-item.tag8.clickable:hover{background:#670a3d;background:linear-gradient(135deg,transparent .75em,#670a3d 0) top,linear-gradient(45deg,transparent .75em,#670a3d 0) bottom}.toc-place-holder{margin-inline:auto;padding-inline:2.5rem;position:sticky;top:calc(var(--navbar-height) + 2rem);z-index:99;max-width:var(--content-width, 740px)}@media (max-width: 959px){.toc-place-holder{padding-inline:1.5rem}}@media print{.toc-place-holder{max-width:unset}}.toc-place-holder+.theme-hope-content:not(.custom){padding-top:0}#toc{position:absolute;inset-inline-start:calc(100% + 1rem);display:none;min-width:10rem;max-width:15rem}@media (min-width: 1440px){.has-toc #toc{display:block}}@media print{#toc{display:none!important}}#toc .toc-header{margin-bottom:.75rem;margin-inline-start:.5rem;font-weight:600;font-size:.875rem}#toc .toc-wrapper{position:relative;overflow:hidden auto;max-height:75vh;margin:0 .5rem;padding-inline-start:8px;text-overflow:ellipsis;white-space:nowrap;scroll-behavior:smooth}#toc .toc-wrapper::-webkit-scrollbar-track-piece{background:transparent}#toc .toc-wrapper::-webkit-scrollbar{width:3px}#toc .toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#ddd}html[data-theme=dark] #toc .toc-wrapper::-webkit-scrollbar-thumb:vertical{background:#333}#toc .toc-wrapper:before{content:" ";position:absolute;top:0;bottom:0;inset-inline-start:0;z-index:-1;width:2px;background:var(--border-color)}#toc .toc-list{position:relative;margin:0;padding:0}#toc .toc-marker{content:" ";position:absolute;top:0;inset-inline-start:-8px;z-index:2;width:2px;height:1.7rem;background:var(--theme-color);transition:top var(--vp-tt)}#toc .toc-link{position:relative;display:block;overflow:hidden;max-width:100%;color:var(--light-grey);line-height:inherit;text-overflow:ellipsis;white-space:nowrap}#toc .toc-link.level2{padding-inline-start:0px;font-size:14px}#toc .toc-link.level3{padding-inline-start:8px;font-size:13px}#toc .toc-link.level4{padding-inline-start:16px;font-size:12px}#toc .toc-link.level5{padding-inline-start:24px;font-size:11px}#toc .toc-link.level6{padding-inline-start:32px;font-size:10px}#toc .toc-item{position:relative;box-sizing:border-box;height:1.7rem;padding:0 .5rem;list-style:none;line-height:1.7rem}#toc .toc-item:hover>.toc-link{color:var(--theme-color)}#toc .toc-item.active>.toc-link{color:var(--theme-color);font-weight:700}.dropdown-wrapper{cursor:pointer}.dropdown-wrapper:not(:hover) .arrow{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title{border-width:0;background:transparent;cursor:pointer;padding:0 .25rem;color:var(--dark-grey);font-weight:500;font-size:inherit;font-family:inherit;line-height:inherit;cursor:inherit}.dropdown-wrapper .dropdown-title:hover{border-color:transparent}.dropdown-wrapper .dropdown-title .icon{margin-inline-end:.25em;font-size:1em}.dropdown-wrapper .dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:1.2em}html[data-theme=dark] .dropdown-wrapper .dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.down{transform:rotate(-180deg)}.dropdown-wrapper .dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.end,.dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .dropdown-wrapper .dropdown-title .arrow.start{transform:rotate(90deg)}.dropdown-wrapper ul{margin:0;padding:0;list-style-type:none}.dropdown-wrapper .nav-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:6rem;max-height:calc(100vh - var(--navbar-height));margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.5rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.9)}.dropdown-wrapper:hover .nav-dropdown,.dropdown-wrapper.open .nav-dropdown{z-index:2;opacity:1;visibility:visible;transform:none}.dropdown-wrapper .nav-link{position:relative;display:block;margin-bottom:0;border-bottom:none;color:var(--dark-grey);font-weight:400;font-size:.875rem;line-height:1.7rem;transition:color var(--color-transition)}.dropdown-wrapper .nav-link:hover,.dropdown-wrapper .nav-link.active{color:var(--theme-color)}.dropdown-wrapper .dropdown-subtitle{margin:0;padding:.5rem .25rem 0;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.dropdown-wrapper .dropdown-subitem-wrapper{padding:0 0 .25rem}.dropdown-wrapper .dropdown-item{color:inherit;line-height:1.7rem}.dropdown-wrapper .dropdown-item:last-child .dropdown-subtitle{padding-top:0}.dropdown-wrapper .dropdown-item:last-child .dropdown-subitem-wrapper{padding-bottom:0}.nav-screen-dropdown-title{border-width:0;background:transparent;position:relative;display:flex;align-items:center;width:100%;padding:0;color:var(--dark-grey);font-size:inherit;font-family:inherit;text-align:start;cursor:pointer}.nav-screen-dropdown-title:hover,.nav-screen-dropdown-title.active{color:var(--text-color)}.nav-screen-dropdown-title .title{flex:1}.nav-screen-dropdown-title .arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s}html[data-theme=dark] .nav-screen-dropdown-title .arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.nav-screen-dropdown-title .arrow.down{transform:rotate(180deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.down{transform:rotate(-180deg)}.nav-screen-dropdown-title .arrow.end{transform:rotate(90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.end,.nav-screen-dropdown-title .arrow.start{transform:rotate(-90deg)}html[dir=rtl] .nav-screen-dropdown-title .arrow.start{transform:rotate(90deg)}.nav-screen-dropdown{overflow:hidden;margin:.5rem 0 0;padding:0;list-style:none;transition:transform .1s ease-out;transform:scaleY(1);transform-origin:top}.nav-screen-dropdown.hide{height:0;margin:0;transform:scaleY(0)}.nav-screen-dropdown .nav-link{position:relative;display:block;padding-inline-start:.5rem;font-weight:400;line-height:2}.nav-screen-dropdown .nav-link:hover,.nav-screen-dropdown .nav-link.active{color:var(--theme-color)}.nav-screen-dropdown .nav-link .icon{font-size:1em}.nav-screen-dropdown .dropdown-item{color:inherit;line-height:1.7rem}.nav-screen-dropdown .dropdown-subtitle{margin:0;padding-inline-start:.25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;text-transform:uppercase;transition:color var(--color-transition)}.nav-screen-dropdown .dropdown-subtitle .nav-link{padding:0}.nav-screen-dropdown .dropdown-subitem-wrapper{margin:0;padding:0;list-style:none}.nav-screen-dropdown .dropdown-subitem{padding-inline-start:.5rem;font-size:.9em}.nav-screen-links{display:none;padding-bottom:.75rem}@media (max-width: 719px){.nav-screen-links{display:block}}.nav-screen-links .navbar-links-item{position:relative;display:block;padding:12px 4px 11px 0;border-bottom:1px solid var(--border-color);font-size:16px;line-height:1.5rem;transition:border-bottom-color var(--color-transition)}.nav-screen-links .nav-link{display:inline-block;width:100%;color:var(--dark-grey);font-weight:400}.nav-screen-links .nav-link:hover{color:var(--text-color)}.nav-screen-links .nav-link.active{color:var(--theme-color)}.vp-nav-screen-container{max-width:320px;margin:0 auto;padding:2rem 0 4rem}#nav-screen{position:fixed;inset:var(--navbar-height) 0 0 0;z-index:150;display:none;overflow-y:auto;padding:0 2rem;background:var(--bg-color);transition:background .5s}@media (max-width: 719px){#nav-screen{display:block}}#nav-screen.fade-enter-active,#nav-screen.fade-leave-active{transition:opacity .25s}#nav-screen.fade-enter-active .vp-nav-screen-container,#nav-screen.fade-leave-active .vp-nav-screen-container{transition:transform .25s ease}#nav-screen.fade-enter-from,#nav-screen.fade-leave-to{opacity:0}#nav-screen.fade-enter-from .vp-nav-screen-container,#nav-screen.fade-leave-to .vp-nav-screen-container{transform:translateY(-8px)}#nav-screen .icon{margin-inline-end:.25em;font-size:1em}#nav-screen img.icon{vertical-align:-.125em;height:1em}.vp-outlook-wrapper{display:flex;justify-content:space-around}.vp-nav-logo{vertical-align:top;height:var(--navbar-line-height);margin-inline-end:.8rem}.vp-nav-logo.light{display:inline-block}.vp-nav-logo.dark,html[data-theme=dark] .vp-nav-logo.light{display:none}html[data-theme=dark] .vp-nav-logo.dark{display:inline-block}.vp-site-name{position:relative;color:var(--text-color);font-size:1.25rem}@media (max-width: 719px){.vp-site-name{overflow:hidden;width:calc(100vw - 9.4rem);text-overflow:ellipsis;white-space:nowrap}}.vp-brand:hover .vp-site-name{color:var(--theme-color)}.vp-navbar .vp-nav-links{display:flex;align-items:center;font-size:.875rem}.vp-navbar .nav-item{position:relative;margin:0 .25rem;line-height:2rem}.vp-navbar .nav-item:first-child{margin-inline-start:0}.vp-navbar .nav-item:last-child{margin-inline-end:0}.vp-navbar .nav-item>.nav-link{color:var(--dark-grey)}.vp-navbar .nav-item>.nav-link:after{content:" ";position:absolute;inset:auto 50% 0;height:2px;border-radius:1px;background:var(--theme-color-light);visibility:hidden;transition:inset .2s ease-in-out}.vp-navbar .nav-item>.nav-link.active{color:var(--theme-color)}.vp-navbar .nav-item>.nav-link:hover:after,.vp-navbar .nav-item>.nav-link.active:after{inset:auto 0 0;visibility:visible}.vp-navbar{--navbar-line-height: calc( var(--navbar-height) - var(--navbar-vertical-padding) * 2 );position:fixed;inset:0 0 auto;z-index:175;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:var(--navbar-height);padding:var(--navbar-vertical-padding) var(--navbar-horizontal-padding);background:var(--navbar-bg-color);box-shadow:0 2px 8px var(--card-shadow);line-height:var(--navbar-line-height);white-space:nowrap;transition:transform ease-in-out .3s,background var(--color-transition),box-shadow var(--color-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px)}@media print{.vp-navbar{display:none}}.hide-navbar .vp-navbar.auto-hide{transform:translateY(-100%)}.vp-navbar .nav-link{padding:0 .25rem;color:var(--dark-grey)}.vp-navbar .nav-link.active{color:var(--theme-color)}.vp-navbar .nav-link .icon{margin-inline-end:.25em;font-size:1em}.vp-navbar .nav-link img.icon{vertical-align:-.125em;height:1em}.vp-navbar.hide-icon .vp-nav-links .icon{display:none!important}.vp-navbar-start,.vp-navbar-end,.vp-navbar-center{display:flex;flex:1;align-items:center}.vp-navbar-start>*,.vp-navbar-end>*,.vp-navbar-center>*{position:relative;margin:0 .25rem!important}.vp-navbar-start>*:first-child,.vp-navbar-end>*:first-child,.vp-navbar-center>*:first-child{margin-inline-start:0!important}.vp-navbar-start>*:last-child,.vp-navbar-end>*:last-child,.vp-navbar-center>*:last-child{margin-inline-end:0!important}.vp-navbar-start{justify-content:start}.vp-navbar-center{justify-content:center}.vp-navbar-end{justify-content:end}.vp-navbar .vp-repo{margin:0!important}.vp-navbar .vp-repo-link{display:inline-block;margin:auto;padding:6px;color:var(--dark-grey);line-height:1}.vp-navbar .vp-repo-link:hover,.vp-navbar .vp-repo-link:active{color:var(--theme-color)}.vp-toggle-navbar-button{border-width:0;background:transparent;cursor:pointer;position:relative;display:none;align-items:center;justify-content:center;padding:6px}@media screen and (max-width: 719px){.vp-toggle-navbar-button{display:flex}}.vp-toggle-navbar-button>span{position:relative;overflow:hidden;width:16px;height:14px}.vp-toggle-navbar-button .vp-top,.vp-toggle-navbar-button .vp-middle,.vp-toggle-navbar-button .vp-bottom{position:absolute;width:16px;height:2px;background:var(--dark-grey);transition:top .25s,background .5s,transform .25s}.vp-toggle-navbar-button .vp-top{top:0;left:0;transform:translate(0)}.vp-toggle-navbar-button .vp-middle{top:6px;left:0;transform:translate(8px)}.vp-toggle-navbar-button .vp-bottom{top:12px;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-top{top:0;left:0;transform:translate(4px)}.vp-toggle-navbar-button:hover .vp-middle{top:6;left:0;transform:translate(0)}.vp-toggle-navbar-button:hover .vp-bottom{top:12px;left:0;transform:translate(8px)}.vp-toggle-navbar-button.is-active .vp-top{top:6px;transform:translate(0) rotate(225deg)}.vp-toggle-navbar-button.is-active .vp-middle{top:6px;transform:translate(16px)}.vp-toggle-navbar-button.is-active .vp-bottom{top:6px;transform:translate(0) rotate(135deg)}.vp-toggle-navbar-button.is-active:hover .vp-top,.vp-toggle-navbar-button.is-active:hover .vp-middle,.vp-toggle-navbar-button.is-active:hover .vp-bottom{background:var(--theme-color);transition:top .25s,background .25s,transform .25s}.vp-toggle-sidebar-button{border-width:0;background:transparent;cursor:pointer;display:none;vertical-align:middle;box-sizing:content-box;width:1rem;height:1rem;padding:.5rem;font:unset;transition:transform .2s ease-in-out}@media screen and (max-width: 719px){.vp-toggle-sidebar-button{display:block;padding-inline-end:var(--navbar-mobile-horizontal-padding)}}.vp-toggle-sidebar-button:before,.vp-toggle-sidebar-button:after,.vp-toggle-sidebar-button .icon{display:block;width:100%;height:2px;border-radius:.05em;background:var(--dark-grey);transition:transform .2s ease-in-out}.vp-toggle-sidebar-button:before{content:" ";margin-top:.125em}.sidebar-open .vp-toggle-sidebar-button:before{transform:translateY(.34rem) rotate(135deg)}.vp-toggle-sidebar-button:after{content:" ";margin-bottom:.125em}.sidebar-open .vp-toggle-sidebar-button:after{transform:translateY(-.34rem) rotate(-135deg)}.vp-toggle-sidebar-button .icon{margin:.2em 0}.sidebar-open .vp-toggle-sidebar-button .icon{transform:scale(0)}.appearance-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#appearance-switch{border-width:0;background:transparent;vertical-align:middle;padding:6px;color:var(--dark-grey);cursor:pointer;transition:color var(--color-transition)}#appearance-switch:hover{color:var(--theme-color)}#appearance-switch .icon{width:1.25rem;height:1.25rem}.outlook-button{border-width:0;background:transparent;cursor:pointer;position:relative;padding:.375rem;color:var(--dark-grey)}.outlook-button .icon{vertical-align:middle;width:1.25rem;height:1.25rem}.outlook-dropdown{position:absolute;top:100%;inset-inline-end:0;overflow-y:auto;box-sizing:border-box;min-width:100px;margin:0;padding:.5rem .75rem;border:1px solid var(--grey14);border-radius:.25rem;background:var(--bg-color);box-shadow:2px 2px 10px var(--card-shadow);text-align:start;white-space:nowrap;opacity:0;visibility:hidden;transition:all .18s ease-out;transform:scale(.8)}.outlook-dropdown>*:not(:last-child){padding-bottom:.5rem;border-bottom:1px solid var(--grey14)}.outlook-button:hover .outlook-dropdown,.outlook-button.open .outlook-dropdown{z-index:2;opacity:1;visibility:visible;transform:scale(1)}.theme-color-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}#theme-color-picker{display:flex;margin:0;padding:0;list-style-type:none;font-size:14px}#theme-color-picker li span{display:inline-block;vertical-align:middle;width:15px;height:15px;margin:0 2px;border-radius:2px}#theme-color-picker li span.theme-color,#theme-color-picker li span.theme-color html[data-theme=dark]{background:#3eaf7c}@media print{.full-screen-wrapper{display:none}}.full-screen-title{display:block;margin:0;padding:0 .25rem;color:var(--light-grey);font-weight:600;font-size:.75rem;line-height:2;transition:color var(--color-transition)}.full-screen,.cancel-full-screen{border-width:0;background:transparent;vertical-align:middle;padding:.375rem;color:var(--dark-grey);cursor:pointer}.full-screen:hover,.cancel-full-screen:hover{color:var(--theme-color)}.full-screen .icon,.cancel-full-screen .icon{width:1.25rem;height:1.25rem}.enter-fullscreen-icon:hover,.cancel-fullscreen-icon{color:var(--theme-color)}.cancel-fullscreen-icon:hover{color:var(--dark-grey)}.vp-sidebar-heading{display:flex;align-items:center;overflow:hidden;box-sizing:border-box;width:calc(100% - 1rem);margin:0;margin-inline:.5rem;padding:.25rem .5rem;border-width:0;border-radius:.375rem;background:transparent;color:var(--text-color);font-size:1.1em;line-height:1.5;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .15s ease;transform:rotate(0)}.vp-sidebar-heading.open{color:inherit}.vp-sidebar-heading.clickable:hover{background:var(--bg-color-secondary)}.vp-sidebar-heading.clickable.exact{border-inline-start-color:var(--theme-color);color:var(--theme-color)}.vp-sidebar-heading.clickable.exact a{color:inherit}.vp-sidebar-heading .vp-sidebar-title{flex:1}.vp-sidebar-heading .vp-arrow{display:inline-block;vertical-align:middle;width:1em;height:1em;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(0,0,0,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E");line-height:normal;transition:all .3s;font-size:1.5em}html[data-theme=dark] .vp-sidebar-heading .vp-arrow{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z'/%3E%3C/svg%3E")}.vp-sidebar-heading .vp-arrow.down{transform:rotate(180deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.down{transform:rotate(-180deg)}.vp-sidebar-heading .vp-arrow.end{transform:rotate(90deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.end,.vp-sidebar-heading .vp-arrow.start{transform:rotate(-90deg)}html[dir=rtl] .vp-sidebar-heading .vp-arrow.start{transform:rotate(90deg)}button.vp-sidebar-heading{outline:none;font-weight:inherit;font-family:inherit;line-height:inherit;text-align:start;cursor:pointer}.vp-sidebar-link{display:inline-block;box-sizing:border-box;width:calc(100% - 1rem);margin-inline:.5rem;padding:.25rem .5rem;border-radius:.375rem;color:var(--text-color);font-weight:400;font-size:1em;line-height:1.5}.vp-sidebar-link:hover{background:var(--bg-color-secondary)}.vp-sidebar-link.active{background:var(--theme-color-mask);color:var(--theme-color);font-weight:500}.vp-sidebar-link.active .icon{color:var(--theme-color)}.vp-sidebar-sub-headers .vp-sidebar-link{padding-top:.25rem;padding-bottom:.25rem;border-inline-start:none}.vp-sidebar-sub-headers .vp-sidebar-link.active{background:transparent;font-weight:500}.vp-sidebar-group:not(.collapsible) .vp-sidebar-heading:not(.clickable){color:inherit;cursor:auto}.vp-sidebar-group .vp-sidebar-group{padding-inline-start:.75rem}.vp-sidebar-group .vp-sidebar-group .vp-sidebar-heading{font-size:1em}.vp-sidebar-group .vp-sidebar-link{padding-inline-start:1.25rem}.vp-sidebar-links,.vp-sidebar-links ul{margin:0;padding:0}.vp-sidebar-links ul.vp-sidebar-sub-headers{padding-inline-start:.75rem;font-size:.95em}@media (min-width: 1440px){.has-toc .vp-sidebar-links ul.vp-sidebar-sub-headers{display:none}}.vp-sidebar-links li{list-style-type:none}.vp-sidebar>.vp-sidebar-links{padding:1.5rem 0}@media (max-width: 719px){.vp-sidebar>.vp-sidebar-links{padding:1rem 0}}.vp-sidebar>.vp-sidebar-links>li>.vp-sidebar-link{font-size:1.1em}.vp-sidebar>.vp-sidebar-links>li:not(:first-child){margin-top:.5rem}.vp-sidebar{position:fixed;top:0;bottom:0;inset-inline-start:0;z-index:1;overflow-y:auto;width:var(--sidebar-width);margin:0;padding-inline-start:calc(var(--sidebar-space) - var(--sidebar-width));background:var(--sidebar-bg-color);box-shadow:2px 0 8px var(--card-shadow);font-size:.94rem;transition:background var(--color-transition),box-shadow var(--color-transition),padding var(--transform-transition),transform var(--transform-transition);-webkit-backdrop-filter:saturate(150%) blur(12px);backdrop-filter:saturate(150%) blur(12px);scrollbar-color:var(--theme-color) var(--border-color);scrollbar-width:thin}@media (max-width: 959px){.vp-sidebar{font-size:.86em}}@media (max-width: 719px){.vp-sidebar{z-index:125;box-shadow:none;transform:translate(-100%)}html[dir=rtl] .vp-sidebar{transform:translate(100%)}}@media (min-width: 1440px){.vp-sidebar{padding-bottom:3rem;box-shadow:none;font-size:1rem}}@media print{.vp-sidebar{display:none}}.vp-sidebar a{display:inline-block;color:var(--text-color);font-weight:400}.vp-sidebar .icon{margin-inline-end:.25em;font-size:1em}.vp-sidebar img.icon{vertical-align:-.125em;height:1em}.vp-sidebar.hide-icon .icon{display:none!important}.vp-sidebar-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;background:rgba(0,0,0,.15)}.vp-sidebar-mask.fade-enter-active,.vp-sidebar-mask.fade-leave-active{transition:opacity .25s}.vp-sidebar-mask.fade-enter-from,.vp-sidebar-mask.fade-leave-to{opacity:0}:root{--c-brand: #1995e1;--c-brand-light: #34a1e9}html.dark{--c-brand: #32a0e8;--c-brand-light: #57b1f3}.link-box ol{display:inherit}.link-box ol li{cursor:pointer;display:inline-block;margin:10px 0;width:98%;font-size:16px;border:1px solid var(--c-border-dark);border-radius:5px;transition:all .3s;text-align:right}.link-box ol li a{display:inline-block;position:relative;width:100%;height:100%;opacity:.8;padding:10px 20px;box-sizing:border-box;transition:all .3s}.link-box ol li a strong{position:absolute;left:25px}.link-box ol li a:hover{opacity:1;text-decoration:none!important}.link-box ol li:hover{transform:translate3d(0,-2px,0);box-shadow:0 2px 12px #0000001a}.lang-modal-fade-enter-active,.lang-modal-fade-leave-active{transition:opacity .5s}.lang-modal-fade-enter,.lang-modal-fade-leave-to{opacity:0}.lang-modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1499;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media print{.lang-modal-mask{display:none}}.lang-modal-wrapper{position:fixed;top:50vh;right:50vw;left:unset;z-index:1500;overflow:hidden;max-width:80vw;padding:1rem 2rem;border-radius:8px;background:var(--vp-bg);box-shadow:0 2px 6px 0 var(--card-shadow);transform:translate(50%,-50%)}@media print{.lang-modal-wrapper{display:none}}.lang-modal-action{display:block;width:100%;margin:1rem 0;padding:.5rem .75rem;border:none;border-radius:8px;background-color:var(--vp-bglt);color:var(--vp-c);cursor:pointer}.lang-modal-action:hover{background-color:var(--vp-bgl)}.lang-modal-action.primary{background-color:var(--vp-tc);color:var(--white)}.lang-modal-action.primary:hover{background-color:var(--vp-tcl)}.wl-meta>span:before{content:"";display:inline-block;width:1em;height:1em;margin-inline-end:2px;background-position:center center;background-repeat:no-repeat}.wl-meta>.wl-addr:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M444.52 3.52 28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z'/%3E%3C/svg%3E")}.wl-meta>.wl-os:before,.wl-meta>.wl-browser:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=windows i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23999'%3E%3Cpath d='m0 93.7 183.6-25.3v177.4H0V93.7zm0 324.6 183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=mac i]:before,.wl-meta>.wl-os[data-value^=ios i]:before,.wl-meta>.wl-os[data-value^=iphone i]:before,.wl-meta>.wl-os[data-value^=ipad i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill='%23999'%3E%3Cpath d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=linux i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23999'%3E%3Cpath d='M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=ubuntu i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512' fill='%23999'%3E%3Cpath d='M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=android i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%23999'%3E%3Cpath d='M420.55 301.93a24 24 0 1 1 24-24 24 24 0 0 1-24 24m-265.1 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24m273.7-144.48 47.94-83a10 10 0 1 0-17.27-10l-48.54 84.07a301.25 301.25 0 0 0-246.56 0l-48.54-84.07a10 10 0 1 0-17.27 10l47.94 83C64.53 202.22 8.24 285.55 0 384h576c-8.24-98.45-64.54-181.78-146.85-226.55'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=chrome i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512' fill='%23999'%3E%3Cpath d='M131.5 217.5 55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6 40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=edge i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M481.92 134.48C440.87 54.18 352.26 8 255.91 8 137.05 8 37.51 91.68 13.47 203.66c26-46.49 86.22-79.14 149.46-79.14 79.27 0 121.09 48.93 122.25 50.18 22 23.8 33 50.39 33 83.1 0 10.4-5.31 25.82-15.11 38.57-1.57 2-6.39 4.84-6.39 11 0 5.06 3.29 9.92 9.14 14 27.86 19.37 80.37 16.81 80.51 16.81A115.39 115.39 0 0 0 444.94 322a118.92 118.92 0 0 0 58.95-102.44c.5-43.43-15.5-72.3-21.97-85.08ZM212.77 475.67a154.88 154.88 0 0 1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5 155.5 0 0 1 203 215.75c59-45.2 94.84-5.65 99.06-1a80 80 0 0 0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71 0-77.9 13-107.53 35.69C35.68 183.3 12.77 208.72 8.6 243c-1.08 12.31-2.75 62.8 23 118.27a248 248 0 0 0 248.3 141.61c-38.12-6.62-65.85-26.64-67.13-27.21Zm250.72-98.33a7.76 7.76 0 0 0-7.92-.23 181.66 181.66 0 0 1-20.41 9.12 197.54 197.54 0 0 1-69.55 12.52c-91.67 0-171.52-63.06-171.52-144a61.12 61.12 0 0 1 6.52-26.75 168.72 168.72 0 0 0-38.76 50c-14.92 29.37-33 88.13 13.33 151.66 6.51 8.91 23 30 56 47.67 23.57 12.65 49 19.61 71.7 19.61 35.14 0 115.43-33.44 163-108.87a7.75 7.75 0 0 0-2.39-10.73Z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=firefox i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M189.37 152.86Zm-58.74-29.37c.16.01.08.01 0 0Zm351.42 45.35c-10.61-25.5-32.08-53-48.94-61.73 13.72 26.89 21.67 53.88 24.7 74 0 0 0 .14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05a44.88 44.88 0 0 1-3.64-9.62.63.63 0 0 0-.55-.66.9.9 0 0 0-.46 0l-.12.07-.18.1.1-.14c-54.23 31.77-76.72 87.38-82.5 122.78a130 130 0 0 0-48.33 12.33 6.25 6.25 0 0 0-3.09 7.75 6.13 6.13 0 0 0 7.79 3.79l.52-.21a117.84 117.84 0 0 1 42.11-11l1.42-.1c2-.12 4-.2 6-.22A122.61 122.61 0 0 1 291 140c.67.2 1.32.42 2 .63 1.89.57 3.76 1.2 5.62 1.87 1.36.5 2.71 1 4.05 1.58 1.09.44 2.18.88 3.25 1.35q2.52 1.13 5 2.35c.75.37 1.5.74 2.25 1.13q2.4 1.26 4.74 2.63 1.51.87 3 1.8a124.89 124.89 0 0 1 42.66 44.13c-13-9.15-36.35-18.19-58.82-14.28 87.74 43.86 64.18 194.9-57.39 189.2a108.43 108.43 0 0 1-31.74-6.12 139.5 139.5 0 0 1-7.16-2.93c-1.38-.63-2.76-1.27-4.12-2-29.84-15.34-54.44-44.42-57.51-79.75 0 0 11.25-41.95 80.62-41.95 7.5 0 28.93-20.92 29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58 69.58 0 0 0-6.31-4.77 113.05 113.05 0 0 1-.69-59.63c-25.06 11.41-44.55 29.45-58.71 45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22 3.68-8.15 4.31a178.54 178.54 0 0 0-23.84 20.43 214 214 0 0 0-22.77 27.33 205.84 205.84 0 0 0-32.73 73.9c-.06.27-2.33 10.21-4 22.48q-.42 2.87-.78 5.74c-.57 3.69-1 7.71-1.44 14 0 .24 0 .48-.05.72-.18 2.71-.34 5.41-.49 8.12v1.24c0 134.7 109.21 243.89 243.92 243.89 120.64 0 220.82-87.58 240.43-202.62.41-3.12.74-6.26 1.11-9.41 4.85-41.83-.54-85.79-15.82-122.55Z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=safari i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='m274.69 274.69-37.38-37.38L166 346ZM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8Zm155.85 174.79 14.78-6.13a8 8 0 0 1 10.45 4.34 8 8 0 0 1-4.33 10.46L418 197.57a8 8 0 0 1-10.45-4.33 8 8 0 0 1 4.3-10.45ZM314.43 94l6.12-14.78a8 8 0 0 1 10.45-4.3 8 8 0 0 1 4.33 10.45l-6.13 14.78a8 8 0 0 1-10.45 4.33A8 8 0 0 1 314.43 94ZM256 60a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8 8 8 0 0 1-8-8V68a8 8 0 0 1 8-8Zm-75 14.92a8 8 0 0 1 10.46 4.33L197.57 94a8 8 0 1 1-14.78 6.12l-6.13-14.78A8 8 0 0 1 181 74.92Zm-63.58 42.49a8 8 0 0 1 11.31 0L140 128.72a8 8 0 0 1 0 11.28 8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 .03-11.28ZM60 256a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8 8 8 0 0 1-8 8H68a8 8 0 0 1-8-8Zm40.15 73.21-14.78 6.13A8 8 0 0 1 74.92 331a8 8 0 0 1 4.33-10.46L94 314.43a8 8 0 0 1 10.45 4.33 8 8 0 0 1-4.3 10.45Zm4.33-136A8 8 0 0 1 94 197.57l-14.78-6.12a8 8 0 0 1-4.3-10.45 8 8 0 0 1 10.45-4.33l14.78 6.13a8 8 0 0 1 4.33 10.44ZM197.57 418l-6.12 14.78a8 8 0 0 1-14.79-6.12l6.13-14.78a8 8 0 1 1 14.78 6.12ZM264 444a8 8 0 0 1-8 8 8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8 8 8 0 0 1 8 8Zm67-6.92a8 8 0 0 1-10.46-4.33L314.43 418a8 8 0 0 1 4.33-10.45 8 8 0 0 1 10.45 4.33l6.13 14.78a8 8 0 0 1-4.34 10.42Zm63.58-42.49a8 8 0 0 1-11.31 0L372 383.28a8 8 0 0 1 0-11.28 8 8 0 0 1 11.31 0l11.31 11.31a8 8 0 0 1-.03 11.28ZM286.25 286.25 110.34 401.66l115.41-175.91 175.91-115.41ZM437.08 331a8 8 0 0 1-10.45 4.33l-14.78-6.13a8 8 0 0 1-4.33-10.45 8 8 0 0 1 10.48-4.32l14.78 6.12a8 8 0 0 1 4.3 10.45Zm6.92-67h-16a8 8 0 0 1-8-8 8 8 0 0 1 8-8h16a8 8 0 0 1 8 8 8 8 0 0 1-8 8Z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=ie i]:before,.wl-meta>.wl-browser[data-value^=explorer i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z'/%3E%3C/svg%3E")} diff --git a/assets/waline-meta-56fbc549.js b/assets/waline-meta-56fbc549.js new file mode 100644 index 0000000..29c5dbc --- /dev/null +++ b/assets/waline-meta-56fbc549.js @@ -0,0 +1,2 @@ +const a=`.wl-meta>span:before{content:"";display:inline-block;width:1em;height:1em;margin-inline-end:2px;background-position:center center;background-repeat:no-repeat}.wl-meta>.wl-addr:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M444.52 3.52 28.74 195.42c-47.97 22.39-31.98 92.75 19.19 92.75h175.91v175.91c0 51.17 70.36 67.17 92.75 19.19l191.9-415.78c15.99-38.39-25.59-79.97-63.97-63.97z'/%3E%3C/svg%3E")}.wl-meta>.wl-os:before,.wl-meta>.wl-browser:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=windows i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23999'%3E%3Cpath d='m0 93.7 183.6-25.3v177.4H0V93.7zm0 324.6 183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=mac i]:before,.wl-meta>.wl-os[data-value^=ios i]:before,.wl-meta>.wl-os[data-value^=iphone i]:before,.wl-meta>.wl-os[data-value^=ipad i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512' fill='%23999'%3E%3Cpath d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=linux i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%23999'%3E%3Cpath d='M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=ubuntu i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512' fill='%23999'%3E%3Cpath d='M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm52.7 93c8.8-15.2 28.3-20.5 43.5-11.7 15.3 8.8 20.5 28.3 11.7 43.6-8.8 15.2-28.3 20.5-43.5 11.7-15.3-8.9-20.5-28.4-11.7-43.6zM87.4 287.9c-17.6 0-31.9-14.3-31.9-31.9 0-17.6 14.3-31.9 31.9-31.9 17.6 0 31.9 14.3 31.9 31.9 0 17.6-14.3 31.9-31.9 31.9zm28.1 3.1c22.3-17.9 22.4-51.9 0-69.9 8.6-32.8 29.1-60.7 56.5-79.1l23.7 39.6c-51.5 36.3-51.5 112.5 0 148.8L172 370c-27.4-18.3-47.8-46.3-56.5-79zm228.7 131.7c-15.3 8.8-34.7 3.6-43.5-11.7-8.8-15.3-3.6-34.8 11.7-43.6 15.2-8.8 34.7-3.6 43.5 11.7 8.8 15.3 3.6 34.8-11.7 43.6zm.3-69.5c-26.7-10.3-56.1 6.6-60.5 35-5.2 1.4-48.9 14.3-96.7-9.4l22.5-40.3c57 26.5 123.4-11.7 128.9-74.4l46.1.7c-2.3 34.5-17.3 65.5-40.3 88.4zm-5.9-105.3c-5.4-62-71.3-101.2-128.9-74.4l-22.5-40.3c47.9-23.7 91.5-10.8 96.7-9.4 4.4 28.3 33.8 45.3 60.5 35 23.1 22.9 38 53.9 40.2 88.5l-46 .6z'/%3E%3C/svg%3E")}.wl-meta>.wl-os[data-value^=android i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%23999'%3E%3Cpath d='M420.55 301.93a24 24 0 1 1 24-24 24 24 0 0 1-24 24m-265.1 0a24 24 0 1 1 24-24 24 24 0 0 1-24 24m273.7-144.48 47.94-83a10 10 0 1 0-17.27-10l-48.54 84.07a301.25 301.25 0 0 0-246.56 0l-48.54-84.07a10 10 0 1 0-17.27 10l47.94 83C64.53 202.22 8.24 285.55 0 384h576c-8.24-98.45-64.54-181.78-146.85-226.55'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=chrome i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512' fill='%23999'%3E%3Cpath d='M131.5 217.5 55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6 40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=edge i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M481.92 134.48C440.87 54.18 352.26 8 255.91 8 137.05 8 37.51 91.68 13.47 203.66c26-46.49 86.22-79.14 149.46-79.14 79.27 0 121.09 48.93 122.25 50.18 22 23.8 33 50.39 33 83.1 0 10.4-5.31 25.82-15.11 38.57-1.57 2-6.39 4.84-6.39 11 0 5.06 3.29 9.92 9.14 14 27.86 19.37 80.37 16.81 80.51 16.81A115.39 115.39 0 0 0 444.94 322a118.92 118.92 0 0 0 58.95-102.44c.5-43.43-15.5-72.3-21.97-85.08ZM212.77 475.67a154.88 154.88 0 0 1-46.64-45c-32.94-47.42-34.24-95.6-20.1-136A155.5 155.5 0 0 1 203 215.75c59-45.2 94.84-5.65 99.06-1a80 80 0 0 0-4.89-10.14c-9.24-15.93-24-36.41-56.56-53.51-33.72-17.69-70.59-18.59-77.64-18.59-38.71 0-77.9 13-107.53 35.69C35.68 183.3 12.77 208.72 8.6 243c-1.08 12.31-2.75 62.8 23 118.27a248 248 0 0 0 248.3 141.61c-38.12-6.62-65.85-26.64-67.13-27.21Zm250.72-98.33a7.76 7.76 0 0 0-7.92-.23 181.66 181.66 0 0 1-20.41 9.12 197.54 197.54 0 0 1-69.55 12.52c-91.67 0-171.52-63.06-171.52-144a61.12 61.12 0 0 1 6.52-26.75 168.72 168.72 0 0 0-38.76 50c-14.92 29.37-33 88.13 13.33 151.66 6.51 8.91 23 30 56 47.67 23.57 12.65 49 19.61 71.7 19.61 35.14 0 115.43-33.44 163-108.87a7.75 7.75 0 0 0-2.39-10.73Z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=firefox i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M189.37 152.86Zm-58.74-29.37c.16.01.08.01 0 0Zm351.42 45.35c-10.61-25.5-32.08-53-48.94-61.73 13.72 26.89 21.67 53.88 24.7 74 0 0 0 .14.05.41-27.58-68.75-74.35-96.47-112.55-156.83-1.93-3.05-3.86-6.11-5.74-9.33-1-1.65-1.86-3.34-2.69-5.05a44.88 44.88 0 0 1-3.64-9.62.63.63 0 0 0-.55-.66.9.9 0 0 0-.46 0l-.12.07-.18.1.1-.14c-54.23 31.77-76.72 87.38-82.5 122.78a130 130 0 0 0-48.33 12.33 6.25 6.25 0 0 0-3.09 7.75 6.13 6.13 0 0 0 7.79 3.79l.52-.21a117.84 117.84 0 0 1 42.11-11l1.42-.1c2-.12 4-.2 6-.22A122.61 122.61 0 0 1 291 140c.67.2 1.32.42 2 .63 1.89.57 3.76 1.2 5.62 1.87 1.36.5 2.71 1 4.05 1.58 1.09.44 2.18.88 3.25 1.35q2.52 1.13 5 2.35c.75.37 1.5.74 2.25 1.13q2.4 1.26 4.74 2.63 1.51.87 3 1.8a124.89 124.89 0 0 1 42.66 44.13c-13-9.15-36.35-18.19-58.82-14.28 87.74 43.86 64.18 194.9-57.39 189.2a108.43 108.43 0 0 1-31.74-6.12 139.5 139.5 0 0 1-7.16-2.93c-1.38-.63-2.76-1.27-4.12-2-29.84-15.34-54.44-44.42-57.51-79.75 0 0 11.25-41.95 80.62-41.95 7.5 0 28.93-20.92 29.33-27-.09-2-42.54-18.87-59.09-35.18-8.85-8.71-13.05-12.91-16.77-16.06a69.58 69.58 0 0 0-6.31-4.77 113.05 113.05 0 0 1-.69-59.63c-25.06 11.41-44.55 29.45-58.71 45.37h-.12c-9.67-12.25-9-52.65-8.43-61.08-.12-.53-7.22 3.68-8.15 4.31a178.54 178.54 0 0 0-23.84 20.43 214 214 0 0 0-22.77 27.33 205.84 205.84 0 0 0-32.73 73.9c-.06.27-2.33 10.21-4 22.48q-.42 2.87-.78 5.74c-.57 3.69-1 7.71-1.44 14 0 .24 0 .48-.05.72-.18 2.71-.34 5.41-.49 8.12v1.24c0 134.7 109.21 243.89 243.92 243.89 120.64 0 220.82-87.58 240.43-202.62.41-3.12.74-6.26 1.11-9.41 4.85-41.83-.54-85.79-15.82-122.55Z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=safari i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='m274.69 274.69-37.38-37.38L166 346ZM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8Zm155.85 174.79 14.78-6.13a8 8 0 0 1 10.45 4.34 8 8 0 0 1-4.33 10.46L418 197.57a8 8 0 0 1-10.45-4.33 8 8 0 0 1 4.3-10.45ZM314.43 94l6.12-14.78a8 8 0 0 1 10.45-4.3 8 8 0 0 1 4.33 10.45l-6.13 14.78a8 8 0 0 1-10.45 4.33A8 8 0 0 1 314.43 94ZM256 60a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8 8 8 0 0 1-8-8V68a8 8 0 0 1 8-8Zm-75 14.92a8 8 0 0 1 10.46 4.33L197.57 94a8 8 0 1 1-14.78 6.12l-6.13-14.78A8 8 0 0 1 181 74.92Zm-63.58 42.49a8 8 0 0 1 11.31 0L140 128.72a8 8 0 0 1 0 11.28 8 8 0 0 1-11.31 0l-11.31-11.31a8 8 0 0 1 .03-11.28ZM60 256a8 8 0 0 1 8-8h16a8 8 0 0 1 8 8 8 8 0 0 1-8 8H68a8 8 0 0 1-8-8Zm40.15 73.21-14.78 6.13A8 8 0 0 1 74.92 331a8 8 0 0 1 4.33-10.46L94 314.43a8 8 0 0 1 10.45 4.33 8 8 0 0 1-4.3 10.45Zm4.33-136A8 8 0 0 1 94 197.57l-14.78-6.12a8 8 0 0 1-4.3-10.45 8 8 0 0 1 10.45-4.33l14.78 6.13a8 8 0 0 1 4.33 10.44ZM197.57 418l-6.12 14.78a8 8 0 0 1-14.79-6.12l6.13-14.78a8 8 0 1 1 14.78 6.12ZM264 444a8 8 0 0 1-8 8 8 8 0 0 1-8-8v-16a8 8 0 0 1 8-8 8 8 0 0 1 8 8Zm67-6.92a8 8 0 0 1-10.46-4.33L314.43 418a8 8 0 0 1 4.33-10.45 8 8 0 0 1 10.45 4.33l6.13 14.78a8 8 0 0 1-4.34 10.42Zm63.58-42.49a8 8 0 0 1-11.31 0L372 383.28a8 8 0 0 1 0-11.28 8 8 0 0 1 11.31 0l11.31 11.31a8 8 0 0 1-.03 11.28ZM286.25 286.25 110.34 401.66l115.41-175.91 175.91-115.41ZM437.08 331a8 8 0 0 1-10.45 4.33l-14.78-6.13a8 8 0 0 1-4.33-10.45 8 8 0 0 1 10.48-4.32l14.78 6.12a8 8 0 0 1 4.3 10.45Zm6.92-67h-16a8 8 0 0 1-8-8 8 8 0 0 1 8-8h16a8 8 0 0 1 8 8 8 8 0 0 1-8 8Z'/%3E%3C/svg%3E")}.wl-meta>.wl-browser[data-value^=ie i]:before,.wl-meta>.wl-browser[data-value^=explorer i]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' fill='%23999'%3E%3Cpath d='M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z'/%3E%3C/svg%3E")} +`;export{a as default}; diff --git "a/assets/\344\275\277\347\224\250ASF.html-33bd8edb.js" "b/assets/\344\275\277\347\224\250ASF.html-33bd8edb.js" new file mode 100644 index 0000000..fb8200e --- /dev/null +++ "b/assets/\344\275\277\347\224\250ASF.html-33bd8edb.js" @@ -0,0 +1 @@ +import{_ as i}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as n,c as a,a as e,b as l,d as c,w as d,e as o}from"./app-d53ff271.js";const r="/SteamTools-Guide/assets/ASF-bot界面-1011262b.png",_={},u=o('

    如何使用 ASF

    本 ASF 指南只针对 Watt toolkit 中内置的版本

    启动 ASF

    1. 点击 启动 ASF
    2. 打开 WebUI 控制台

    配置 Bots

    ',5),h=o("
  • 在机器人页面中选择 新建机器人
    • 每一项功能右边都有一个 ? 来查看介绍
    • 主要填写的项目有 Name 名称 Enabled 自动启用挂卡
    • (如果有家庭监护需填写 SteamParentalCode 家庭监护)
  • ",1),m=e("strong",null,"Steam++",-1),f=e("strong",null,"ASF 控制台",-1),S=e("code",null,"账户",-1),p=e("code",null,"密码",-1),b=e("code",null,"令牌",-1),F=e("li",null,[l("自动输入账户和密码可以在机器人配置中将 "),e("code",null,"SteamLogin 账户"),l(),e("code",null,"SteamPassword 密码"),l(" 项目填写,以后会在运行机器人时自动填写账号和密码")],-1),A=e("li",null,"创建后默认配置就能挂卡,如果有具体需求,可以查看配置中的详细介绍并根据需求修改",-1),g=o('

    创建完成的 Bot 界面

    bot界面

    • 功能按钮分别为
      • 设置
      • 后台游戏激活器 (批量激活Key)
      • 两步验证 (由 ASF 管理的令牌)
      • 暂停 (暂停挂卡)
      • 停止 (停止运行bot)
      • 删除 (删除bot)
    ',3);function x(k,B){const t=s("RouterLink");return n(),a("div",null,[u,e("ul",null,[h,e("li",null,[l("创建完机器人后回到 "),m,l(" 中的 "),f,e("ul",null,[e("li",null,[l("按提示输入 "),S,l(),p,l(),b,e("ul",null,[F,e("li",null,[l("自动输入令牌可以看 "),c(t,{to:"/zh/document/Functions/ASF/2FA.html"},{default:d(()=>[l("2FA")]),_:1})])])])])]),A]),g])}const v=i(_,[["render",x],["__file","使用ASF.html.vue"]]);export{v as default}; diff --git "a/assets/\344\275\277\347\224\250ASF.html-bc6a653a.js" "b/assets/\344\275\277\347\224\250ASF.html-bc6a653a.js" new file mode 100644 index 0000000..edf7d82 --- /dev/null +++ "b/assets/\344\275\277\347\224\250ASF.html-bc6a653a.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-0a0a5246","path":"/zh/document/Functions/ASF/%E4%BD%BF%E7%94%A8ASF.html","title":"如何使用 ASF","lang":"zh","frontmatter":{"description":"本 ASF 指南只针对 Watt toolkit 中内置的版本 启动 ASF 1. 点击 启动 ASF 2. 打开 WebUI 控制台 配置 Bots 在机器人页面中选择 新建机器人; 每一项功能右边都有一个 ? 来查看介绍; 主要填写的项目有 Name 名称 `Enabled 自动启用挂卡; (如果有家庭监护需填写 SteamParentalCode...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/ASF/%E4%BD%BF%E7%94%A8ASF.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"如何使用 ASF"}],["meta",{"property":"og:description","content":"本 ASF 指南只针对 Watt toolkit 中内置的版本 启动 ASF 1. 点击 启动 ASF 2. 打开 WebUI 控制台 配置 Bots 在机器人页面中选择 新建机器人; 每一项功能右边都有一个 ? 来查看介绍; 主要填写的项目有 Name 名称 `Enabled 自动启用挂卡; (如果有家庭监护需填写 SteamParentalCode..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"如何使用 ASF\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"启动 ASF","slug":"启动-asf","link":"#启动-asf","children":[]},{"level":2,"title":"配置 Bots","slug":"配置-bots","link":"#配置-bots","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.98,"words":294},"filePathRelative":"zh/document/Functions/ASF/使用ASF.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/\345\205\254\345\221\212.html-74743045.js" "b/assets/\345\205\254\345\221\212.html-74743045.js" new file mode 100644 index 0000000..08ba1ba --- /dev/null +++ "b/assets/\345\205\254\345\221\212.html-74743045.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-08b13b31","path":"/zh/development/%E5%85%AC%E5%91%8A.html","title":"公告","lang":"zh","frontmatter":{"description":"2.8.0 ~ 2.8.4 2022-07-23 1. 非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能 2. 因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。 3...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/development/%E5%85%AC%E5%91%8A.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"公告"}],["meta",{"property":"og:description","content":"2.8.0 ~ 2.8.4 2022-07-23 1. 非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能 2. 因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。 3..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"公告\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"2.8.0 ~ 2.8.4 2022-07-23","slug":"_2-8-0-2-8-4-2022-07-23","link":"#_2-8-0-2-8-4-2022-07-23","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.48,"words":444},"filePathRelative":"zh/development/公告.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/\345\205\254\345\221\212.html-d65001de.js" "b/assets/\345\205\254\345\221\212.html-d65001de.js" new file mode 100644 index 0000000..41f2ddf --- /dev/null +++ "b/assets/\345\205\254\345\221\212.html-d65001de.js" @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as l,c as r,a as e,b as o,d as a}from"./app-d53ff271.js";const i={},_=e("h1",{id:"公告",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#公告","aria-hidden":"true"},"#"),o(" 公告")],-1),d=e("h2",{id:"_2-8-0-2-8-4-2022-07-23",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#_2-8-0-2-8-4-2022-07-23","aria-hidden":"true"},"#"),o(" 2.8.0 ~ 2.8.4 2022-07-23")],-1),c=e("li",null,"非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能",-1),h=e("li",null,"因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。",-1),u=e("li",null,"自动更新目前仅 Windows 端可用,且由于下载渠道限速可能导致无法更新成功,推荐在官网链接的网盘或群文件中下载压缩包解压覆盖更新(应用商店版由商店更新不受此影响)",-1),f=e("li",null,"在 Android 上因系统限制,目前的加速功能无法正常使用,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能",-1),m={href:"https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0",target:"_blank",rel:"noopener noreferrer"},x=e("li",null,"Windows x86 与 x64 版本令牌本机加密互不兼容,使用两者版本时注意令牌加密后的文件不能共用。",-1),p=e("li",null,"由于新版本加速功能重构,调整了部分加速项目,这会影响旧版本程序使用加速功能",-1),k=e("li",null,"为了能继续维持开发,从此版本开始将会添加程序内广告,赞助用户可以在设置中关闭所有广告",-1);function b(E,N){const n=s("ExternalLinkIcon");return l(),r("div",null,[_,d,e("ol",null,[c,h,u,f,e("li",null,[o("fde 版本需要安装 "),e("a",m,[o("ASP.NET Core 运行时 6.0.8 (x64) 与 .NET Core 运行时 6.0.8 (x64)"),a(n)])]),x,p,k])])}const B=t(i,[["render",b],["__file","公告.html.vue"]]);export{B as default}; diff --git "a/assets/\345\205\263\344\272\216\346\210\221.html-36a44c50.js" "b/assets/\345\205\263\344\272\216\346\210\221.html-36a44c50.js" new file mode 100644 index 0000000..1126027 --- /dev/null +++ "b/assets/\345\205\263\344\272\216\346\210\221.html-36a44c50.js" @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as r,c as t,e as o}from"./app-d53ff271.js";const a={},i=o('

    其他指南

    主要内容:

    • 我遇到的问题
    • 我喜欢或常用的软件

    主要目的:

    • 整合解决问题或功能介绍的非线性快速索引
    • 方便我以及看到文档的你找到这些问题合适的解决方法
    1. Steam 指南软件
    2. Watt Toolkit 指南软件
    3. 浏览器 指南软件
    4. Windows 指南系统
    5. 秒传链接提取脚本

    其他平台

    1. 传奇晓同BiliBili 📺
    2. 晓同Steam 🎮
    3. 传奇晓同Netease Playlist 🎵
    4. XTsatGitHub
    ',8),n=[i];function l(s,h){return r(),t("div",null,n)}const c=e(a,[["render",l],["__file","关于我.html.vue"]]);export{c as default}; diff --git "a/assets/\345\205\263\344\272\216\346\210\221.html-b4acb4a8.js" "b/assets/\345\205\263\344\272\216\346\210\221.html-b4acb4a8.js" new file mode 100644 index 0000000..d510ed1 --- /dev/null +++ "b/assets/\345\205\263\344\272\216\346\210\221.html-b4acb4a8.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-742e974c","path":"/zh/%E5%85%B3%E4%BA%8E%E6%88%91.html","title":"关于我","lang":"zh","frontmatter":{"title":"关于我","description":"关于我","pageClass":"link-box","externalLinkIcon":false,"sidebar":false,"head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/%E5%85%B3%E4%BA%8E%E6%88%91.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"关于我"}],["meta",{"property":"og:description","content":"关于我"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"关于我\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"其他指南","slug":"其他指南","link":"#其他指南","children":[]},{"level":2,"title":"其他平台","slug":"其他平台","link":"#其他平台","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.58,"words":174},"filePathRelative":"zh/关于我.md","localizedDate":"2023年11月4日"}');export{t as data}; diff --git "a/assets/\345\217\202\350\200\203.html-0048752a.js" "b/assets/\345\217\202\350\200\203.html-0048752a.js" new file mode 100644 index 0000000..66b2419 --- /dev/null +++ "b/assets/\345\217\202\350\200\203.html-0048752a.js" @@ -0,0 +1 @@ +import{_ as n}from"./plugin-vue_export-helper-c27b6911.js";import{r as l,o as a,c as s,a as e,b as r,d as t}from"./app-d53ff271.js";const c={},i=e("h1",{id:"参考文档",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#参考文档","aria-hidden":"true"},"#"),r(" 参考文档")],-1),_={href:"https://keylol.com/t710508-1-1",target:"_blank",rel:"noopener noreferrer"},d={href:"https://keylol.com/suid-988278",target:"_blank",rel:"noopener noreferrer"},h=e("code",null,"本帖当前对应 Steam ++ 版本为:2.4.11",-1),p={href:"https://www.bilibili.com/read/cv10145839",target:"_blank",rel:"noopener noreferrer"},f={href:"https://space.bilibili.com/484296",target:"_blank",rel:"noopener noreferrer"};function m(u,b){const o=l("ExternalLinkIcon");return a(),s("div",null,[i,e("ul",null,[e("li",null,[e("p",null,[e("a",_,[r("steam++令牌导入教程"),t(o)]),r(),e("a",d,[r("(其乐 Keylol)@cyb233"),t(o)]),h,r("已授权转载及修改,本文基于原文优化")])]),e("li",null,[e("p",null,[e("a",p,[r("steam++令牌导入教程"),t(o)]),r(),e("a",f,[r("(BiliBili)@牛奶君"),t(o)])])])])])}const B=n(c,[["render",m],["__file","参考.html.vue"]]);export{B as default}; diff --git "a/assets/\345\217\202\350\200\203.html-e202998a.js" "b/assets/\345\217\202\350\200\203.html-e202998a.js" new file mode 100644 index 0000000..b5e777b --- /dev/null +++ "b/assets/\345\217\202\350\200\203.html-e202998a.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-7adb3692","path":"/zh/document/Functions/Steam%20Guard/import/%E5%8F%82%E8%80%83.html","title":"参考文档","lang":"zh","frontmatter":{"description":"steam++令牌导入教程 (https://keylol.com/t710508-1-1) (其乐 Keylol)@cyb233 (https://keylol.com/suid-988278)本帖当前对应 Steam ++ 版本为:2.4.11已授权转载及修改,本文基于原文优化; steam++令牌导入教程 (https://www.bilibil...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/%E5%8F%82%E8%80%83.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"参考文档"}],["meta",{"property":"og:description","content":"steam++令牌导入教程 (https://keylol.com/t710508-1-1) (其乐 Keylol)@cyb233 (https://keylol.com/suid-988278)本帖当前对应 Steam ++ 版本为:2.4.11已授权转载及修改,本文基于原文优化; steam++令牌导入教程 (https://www.bilibil..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"参考文档\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.22,"words":65},"filePathRelative":"zh/document/Functions/Steam Guard/import/参考.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/\345\270\270\347\224\250\346\214\207\344\273\244.html-aadc65b7.js" "b/assets/\345\270\270\347\224\250\346\214\207\344\273\244.html-aadc65b7.js" new file mode 100644 index 0000000..5772673 --- /dev/null +++ "b/assets/\345\270\270\347\224\250\346\214\207\344\273\244.html-aadc65b7.js" @@ -0,0 +1,7 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{o as e,c as t,e as s}from"./app-d53ff271.js";const A="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhYAAACEAgMAAACxGIohAAAADFBMVEUAAACMjIzg4OA2f6kxDq7sAAADrUlEQVR4AWIY7GAUjAIBQLtmgurIDYThL5WtKHKIn8fWiC1HyNGKYZnlFMWwCZ8iR0uELRya51ma59gM+hrKWwt/CEkufgwYZ4zgVWRJjto69+GXqbGxtdc0CihX5Khy7sNPU8NxA/aYAyUnGVXcib++ogGYhsao6I6Lw4iMHt1oWEV9ruhRMN5tBa6hca7cb3EYklxuGO7yzeVykOTGXuOOs0FNDTGejQqUMM465JS629qA0FWjdXlU6xCKMqCdhsaoxh13CuiqgZDjAiTcADQ0RjXuem6otGmba+N8gUoXDRc5qt33FI0tPsWnVq2sonprFQWxjXfATpbRRzUWi8U3kkAK7Bk08v/W8Fc11E6n2t9znD8Ah4mAVqfkinZNYIJSwmAQ2TuqBnNUHJioPwHBxAFD4kKBdk1ggqdGYSBJaHOQpkbje/kbyF23hZwLAu2awAQ/nToSg3TlRcPBgAOr9+f9oGSvkbsmcO6UD37ReIF8OaZxY2mArhrRa3tJctd9XTTCLM8ajaERJY9qFdmww0tj4lcNuXyTsdcAS1Gwzdkw9EE+LkOyt5uNAIRcbvsmMMHzAxjEZW38V4Oyt1sbAcS5Q903gQk1NDJzr9G6ETLsTXeKy+W+bwITyHcoU5w15GiTy4Uh2dudGwHItW3yfROYwDtDaR6ANDU0RF1l2FudosF4jE8vqV0TeNYgp8Y4RUX3GKOKmq3jGyN2JPABZTsx0YN+YQtnsVgsFovFYrFYsdMPGDuBw+NjJxA8PnaChIfHTmDw+NgJHB4fO4Hg8bETODw+dgKDJ4idIOHxsRMIHh87gcOKnVbs9MOxWCwWi8VisaKnFT3dxg98wfHoybhyHhcwUKt5RwC3pcXkYPS015CYGhsyzjQCNjnAay7JjiPRkyVM5Ez8qmEALgfQV4KFw9GT39LIb9RwdhyKnjytrKKiR5dHfa7GeEUan6v3SKMR47O0Uo+MHnVjaRyPnlz+L/J5bW7M/2tvLkmGIW8luSs18BuzcTx6ihJCfqmuqwZyibo8gxIvUDsNY8eh6EkSovWocX/rGiP61PAMTY2QaIQiW7+xUw5HT3MewHG5kBuj+kVDU+MsnKPq5rlxPHrygc6XRjXGyLOGoTIMbULlLqmi5De2yvHoqbfzTmk1xs0/zccn0ao34xxFxadObDZ2ziaPukf09JVxe+RPET0dmIvFYpFL44KeQ8OfQ8OeQ4N8Dg09h4av2Xh9bayd4usUXT9t36WxWPwDjT2eRnW2/d8AAAAASUVORK5CYII=",c="/SteamTools-Guide/assets/APEX-SUBID-bcde1217.png",d={},n=s(`

    常用指令

    批量激活免费游戏

    用处:最近有几个游戏限时免费了,我有很多个号,一个号一个号打开领取游戏太麻烦也太慢了,可以创建每个号的Bot,一次性为所有账号领取游戏,还能同时挂卡

    !addlicense asf [appid]
    +

    appid 替换为 SUBID (不是 App ID) 即可批量激活游戏

    比如说 APEX 的 ASF 代码为
    +
    +!addlicense asf 401407
    +
    +但是无法领取锁区游戏,故国区无法领取 APEX
    +

    领取 APEX 代码

    SUBID 可以去 SteamDB 查看,注意是 SUBID 而不是 APP ID

    SUBID

    ',9),o=[n];function i(r,h){return e(),t("div",null,o)}const l=a(d,[["render",i],["__file","常用指令.html.vue"]]);export{l as default}; diff --git "a/assets/\345\270\270\347\224\250\346\214\207\344\273\244.html-cca6c533.js" "b/assets/\345\270\270\347\224\250\346\214\207\344\273\244.html-cca6c533.js" new file mode 100644 index 0000000..e56a426 --- /dev/null +++ "b/assets/\345\270\270\347\224\250\346\214\207\344\273\244.html-cca6c533.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-6854833a","path":"/zh/document/Functions/ASF/%E5%B8%B8%E7%94%A8%E6%8C%87%E4%BB%A4.html","title":"常用指令","lang":"zh","frontmatter":{"description":"批量激活免费游戏 用处:最近有几个游戏限时免费了,我有很多个号,一个号一个号打开领取游戏太麻烦也太慢了,可以创建每个号的Bot,一次性为所有账号领取游戏,还能同时挂卡 将 appid 替换为 SUBID (不是 App ID) 即可批量激活游戏 领取 APEX 代码 SUBID 可以去 SteamDB 查看,注意是 SUBID 而不是 APP ID S...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/ASF/%E5%B8%B8%E7%94%A8%E6%8C%87%E4%BB%A4.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"常用指令"}],["meta",{"property":"og:description","content":"批量激活免费游戏 用处:最近有几个游戏限时免费了,我有很多个号,一个号一个号打开领取游戏太麻烦也太慢了,可以创建每个号的Bot,一次性为所有账号领取游戏,还能同时挂卡 将 appid 替换为 SUBID (不是 App ID) 即可批量激活游戏 领取 APEX 代码 SUBID 可以去 SteamDB 查看,注意是 SUBID 而不是 APP ID S..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"常用指令\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"批量激活免费游戏","slug":"批量激活免费游戏","link":"#批量激活免费游戏","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.54,"words":163},"filePathRelative":"zh/document/Functions/ASF/常用指令.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/\345\274\200\345\217\221\347\216\257\345\242\203.html-186f98f7.js" "b/assets/\345\274\200\345\217\221\347\216\257\345\242\203.html-186f98f7.js" new file mode 100644 index 0000000..5c6ea24 --- /dev/null +++ "b/assets/\345\274\200\345\217\221\347\216\257\345\242\203.html-186f98f7.js" @@ -0,0 +1 @@ +import{_ as l}from"./plugin-vue_export-helper-c27b6911.js";import{r as n,o as s,c as i,a as e,b as o,d as r,e as a}from"./app-d53ff271.js";const u={},c=e("h1",{id:"开发环境-⌨️",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#开发环境-⌨️","aria-hidden":"true"},"#"),o(" 开发环境 ⌨️")],-1),d={href:"https://visualstudio.microsoft.com/zh-hans/vs/",target:"_blank",rel:"noopener noreferrer"},_=e("br",null,null,-1),h={href:"https://www.jetbrains.com/rider/",target:"_blank",rel:"noopener noreferrer"},p=e("br",null,null,-1),m={href:"https://visualstudio.microsoft.com/zh-hans/vs/mac/",target:"_blank",rel:"noopener noreferrer"},f=e("br",null,null,-1),b={href:"https://code.visualstudio.com/",target:"_blank",rel:"noopener noreferrer"},k={href:"https://docs.microsoft.com/zh-cn/visualstudio/releases/2019/system-requirements",target:"_blank",rel:"noopener noreferrer"},v={href:"https://docs.microsoft.com/zh-cn/visualstudio/productinfo/vs2019-system-requirements-mac",target:"_blank",rel:"noopener noreferrer"},S=a("
  • 工作负荷
    • Web 和云
      • ASP.NET 和 Web 开发
    • 桌面应用和移动应用
      • 使用 .NET 的移动开发 / .NET Multi-platform App UI 开发
      • .NET 桌面开发
      • 通用 Windows 平台开发
  • 单个组件
    • GitHub Extension for Visual Studio(可选)
    • Windows 10 SDK (10.0.19041.0)
  • ",2),g={href:"https://marketplace.visualstudio.com/",target:"_blank",rel:"noopener noreferrer"},N={href:"https://marketplace.visualstudio.com/items?itemName=AvaloniaTeam.AvaloniaforVisualStudio",target:"_blank",rel:"noopener noreferrer"},V={href:"https://marketplace.visualstudio.com/items?itemName=NUnitDevelopers.NUnitTemplatesforVisualStudio",target:"_blank",rel:"noopener noreferrer"},x={href:"https://docs.microsoft.com/zh-cn/java/openjdk/download#openjdk-11",target:"_blank",rel:"noopener noreferrer"},T=e("br",null,null,-1),w={href:"https://developer.android.google.cn/studio/",target:"_blank",rel:"noopener noreferrer"},E=e("br",null,null,-1),A={href:"https://developer.apple.com/xcode/",target:"_blank",rel:"noopener noreferrer"};function W(j,z){const t=n("ExternalLinkIcon");return s(),i("div",null,[c,e("p",null,[e("a",d,[o("Visual Studio 2022"),r(t)]),_,e("a",h,[o("JetBrains Rider"),r(t)]),p,e("s",null,[e("a",m,[o("Visual Studio 2022 for Mac"),r(t)])]),f,e("s",null,[e("a",b,[o("Visual Studio Code"),r(t)])])]),e("ul",null,[e("li",null,[o("系统要求 "),e("ul",null,[e("li",null,[e("a",k,[o("Windows 10 版本 2004 或更高版本:家庭版、专业版、教育版和企业版(不支持 LTSC 和 Windows 10 S,在较早的操作系统上可能不受支持)"),r(t)])]),e("li",null,[e("a",v,[o("macOS 10.14 Mojave 或更高版本"),r(t)])])])]),S,e("li",null,[e("a",g,[o("Visual Studio Marketplace"),r(t)]),e("ul",null,[e("li",null,[e("a",N,[o("Avalonia for Visual Studio(可选)"),r(t)])]),e("li",null,[e("a",V,[o("NUnit VS Templates(可选)"),r(t)])])])])]),e("p",null,[e("a",x,[o("OpenJDK 11"),r(t)]),T,e("a",w,[o("Android Studio 2021.1.1 或更高版本"),r(t)]),E,e("a",A,[o("Xcode 13 或更高版本"),r(t)])])])}const U=l(u,[["render",W],["__file","开发环境.html.vue"]]);export{U as default}; diff --git "a/assets/\345\274\200\345\217\221\347\216\257\345\242\203.html-b264d043.js" "b/assets/\345\274\200\345\217\221\347\216\257\345\242\203.html-b264d043.js" new file mode 100644 index 0000000..2e7d97f --- /dev/null +++ "b/assets/\345\274\200\345\217\221\347\216\257\345\242\203.html-b264d043.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-1edaffcc","path":"/zh/development/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html","title":"开发环境 ⌨️","lang":"zh","frontmatter":{"description":"Visual Studio 2022 (https://visualstudio.microsoft.com/zh-hans/vs/) JetBrains Rider (https://www.jetbrains.com/rider/) 系统要求; Windows 10 版本 2004 或更高版本:家庭版、专业版、教育版和企业版(不支持 LTSC 和 ...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/development/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"开发环境 ⌨️"}],["meta",{"property":"og:description","content":"Visual Studio 2022 (https://visualstudio.microsoft.com/zh-hans/vs/) JetBrains Rider (https://www.jetbrains.com/rider/) 系统要求; Windows 10 版本 2004 或更高版本:家庭版、专业版、教育版和企业版(不支持 LTSC 和 ..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"开发环境 ⌨️\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.7,"words":209},"filePathRelative":"zh/development/开发环境.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/\346\226\207\344\273\266\346\240\241\351\252\214.html-660ad364.js" "b/assets/\346\226\207\344\273\266\346\240\241\351\252\214.html-660ad364.js" new file mode 100644 index 0000000..fdc0c33 --- /dev/null +++ "b/assets/\346\226\207\344\273\266\346\240\241\351\252\214.html-660ad364.js" @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-3fd50060","path":"/zh/development/%E6%96%87%E4%BB%B6%E6%A0%A1%E9%AA%8C.html","title":"文件校验","lang":"zh","frontmatter":{"description":"File|Checksum (SHA256) -|- Steam++winx64_v2.8.4.7z|E797CB455740DE75EEF5EEA0433D7F37551E75A2061C62C3E7670333598C7281 Steam++winx64fdev2.8.4.7z|A57FF8C2A4E19D9C324988E5D361E230FF6...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/development/%E6%96%87%E4%BB%B6%E6%A0%A1%E9%AA%8C.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"文件校验"}],["meta",{"property":"og:description","content":"File|Checksum (SHA256) -|- Steam++winx64_v2.8.4.7z|E797CB455740DE75EEF5EEA0433D7F37551E75A2061C62C3E7670333598C7281 Steam++winx64fdev2.8.4.7z|A57FF8C2A4E19D9C324988E5D361E230FF6..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"文件校验\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":2.63,"words":790},"filePathRelative":"zh/development/文件校验.md","localizedDate":"2023年11月4日","autoDesc":true}');export{e as data}; diff --git "a/assets/\346\226\207\344\273\266\346\240\241\351\252\214.html-b2ef3518.js" "b/assets/\346\226\207\344\273\266\346\240\241\351\252\214.html-b2ef3518.js" new file mode 100644 index 0000000..e46feef --- /dev/null +++ "b/assets/\346\226\207\344\273\266\346\240\241\351\252\214.html-b2ef3518.js" @@ -0,0 +1 @@ +import{_ as t}from"./plugin-vue_export-helper-c27b6911.js";import{o as d,c as F,e as B}from"./app-d53ff271.js";const E={},D=B('

    文件校验

    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.4.7zE797CB455740DE75EEF5EEA0433D7F37551E75A2061C62C3E7670333598C7281
    Steam++_win_x64_fde_v2.8.4.7zA57FF8C2A4E19D9C324988E5D361E230FF63902FE71589370B6DF1BAC330D3E0
    Steam++_win_x64_v2.8.4.exeB0A3A6EF2156C007AF0FA311AB1470524F0BF94F5E1D4420772320F13680DFD4
    Steam++_win_x64_fde_v2.8.4.exeFFE6D2DA7A5DED8D82DEFC27BFC63F335C09CA761599A6AB93C35076EFA3BB16
    Steam++_win_x86_v2.8.4.7z4414DB0168B1044119C1F7B49F732D8B963AD47CDB4FE9F5FFFC9FAD8E7550FA
    Steam++_win_x86_fde_v2.8.4.7z2D8F9ECD3F4055CC2986F8F7AF01586E3922DDB832D5EB765AFFC2E31D35C56C
    Steam++_win_x86_v2.8.4.exeA02EAEAC1A3E04F2E8804A11BF9E37B01EB0CC88FA6433C33798CA59B4B0E84D
    Steam++_win_x86_fde_v2.8.4.exe796F2B24385FEEC5559047915B11236DCE0224ED306B02DB01AEDE2C64E7A443
    Steam++_linux_x64_v2.8.4.tar.zst54398FA7FDDC725DF263BCE131842151C4AA7BCDD3C19E75C7751E1E9A3E57D3
    Steam++_linux_arm64_v2.8.4.tar.zst902F0AE9E8685F1C40BBD4CED250178509C917134D3C787F748D6D274E2DCFD3
    Steam++_linux_x64_v2.8.4.debB38E02F112A68FD4ED986DFB3B698BAEEB7E2569079C0FFF0E834035E942047B
    Steam++_linux_arm64_v2.8.4.debFFCF650C31A0EBA3FAC464A9EA5D6B419828C2FA251E412A86F28779531A9DFC
    Steam++_linux_x64_v2.8.4.rpmBBA12A9A6F4B0FDEFBE4884BA3FD680FC1082C0655CB0BD9056B9E0E41160B03
    Steam++_linux_arm64_v2.8.4.rpm6C3B787C0B31AF1F56452FD2E470F7129C4F6F4BA34A1A85C86D37F015BC1042
    Steam++_macos_x64_v2.8.4.dmgDBE227F9D2D819698744CCA32B6C52473B88058249480A226501ADDE8C395B86
    Steam++_macos_arm64_v2.8.4.dmgB321B7B549680BDFCAC8201DD5F1945120F3B30FCA033F035387E182801DCE74
    FileChecksum (SHA256)
    Steam++_android_v2.8.3.apk35E21659EDD28D642BEB14B5D0F044983CA3023FBF7C2C638CDF945C2ECBE4AA
    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.2.7z2086F9C00F20F95EEC8CF18F2B712DB3196E4AEF367CA4D6D3074EAE62F7AE7E
    Steam++_win_x64_fde_v2.8.2.7z9BE10B32DA70D79095CD548B9CB684F163E4F903302D24486A014AAC28AC483E
    Steam++_win_x64_v2.8.2.exe8D9BC886DFB0E2FAB5224F71CDFDE8A75D8977CC162BA8FD5B784FDF9F78C37B
    Steam++_win_x64_fde_v2.8.2.exe7C80CB2F086DED0789EBEAAAC78926B0802107FD05D5C0BA63C9BF0F1DBB119E
    Steam++_win_x86_v2.8.2.7z1EF13BE71971EEEB5834F2F52A4C967A80B92071FE44F76BC91BF6219C4D3CF8
    Steam++_win_x86_fde_v2.8.2.7z3D217723879F82F9C320896DF305233E2652730834F144D857CF7FDD96B95C8C
    Steam++_win_x86_v2.8.2.exe5C09FF3C95505BDAEA36115B1833A151A3F58574863BB0A507AE4393DBC565E6
    Steam++_win_x86_fde_v2.8.2.exe87EE2A4E1035E17BF27B0307F4ABBF5EE9029B1FA7351A514FFC074D6D94EFA3
    Steam++_linux_x64_v2.8.2.tar.zst61202FD6B730E0762CF690820A772F734E7396A5647E5A12B2FD57E703FA0EFC
    Steam++_linux_arm64_v2.8.2.tar.zst036C0C80FB9388FFB171093BA5B25CAD1DFD63B465B93EBDEC28B2FC58C103E0
    Steam++_linux_x64_v2.8.2.deb9B08C3F0ABE1440DE786960846C2C42C3046F3EA0E09032E61DEC0E2D1894705
    Steam++_linux_arm64_v2.8.2.debF081E28521E5491F93EE6384A1EBA9396369B2B83B229EB98F8DAD8053F5F0D1
    Steam++_linux_x64_v2.8.2.rpmAA634A36E7FA0F049A0111E546D6C3EF26B06A1E35013955D0E913DD8FE34E99
    Steam++_linux_arm64_v2.8.2.rpm828D318007022BC233B5004750FB6EEA9898525FC839FAF4D200FB56342468DE
    Steam++_macos_x64_v2.8.2.dmg96EA6370596E6C12D475615D062599FD05BA58BDE6222DE68F0CB54E37D1BC8C
    Steam++_macos_arm64_v2.8.2.dmg89B5D716F1C088D4AD350F5A7437660FEB1A5EEFA669F215659E1A5F0730ED3C
    Steam++_android_v2.8.2.apk4565918FCE11A33F16C0C285FEE87998FE744361BE49F682A468B2F12FA8BF1F
    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.1.7z46F0D1E5F5DFAF114FC80A1060FD11455877B799A38807B1123B1865CFA543DF
    Steam++_win_x64_fde_v2.8.1.7zBB164743905A345FB5BEDF254FE5FE0A44A0309C3B0D51A348358A6143464920
    Steam++_win_x64_v2.8.1.exe363A8948B2B4665FE0777BBE54318BEE16F834BC56BF24A125149B07CD72DF6D
    Steam++_win_x64_fde_v2.8.1.exe3D36B2AC91025D804846C8CECB0D290824B2780D4E5E992361F93EC4FEEEB736
    Steam++_win_x86_v2.8.1.7z3B416AEAB2B473372E2B0BFB7B71F04EA92774E314AED848F9C5ABB6F1B85A5B
    Steam++_win_x86_fde_v2.8.1.7zFEDCC1A106B1925DF78154192A6499D7C51CB91F14C41C3F7F325C4398BA3E63
    Steam++_win_x86_v2.8.1.exe992C8B40E97FD852BFBDBA7FD0F5E677675C19DF64B5BD7108AA394A0DC8337A
    Steam++_win_x86_fde_v2.8.1.exe90FB6658721F57234C8D7C1C5852FBB459817696B2C742D15FF87D188C30DDBF
    Steam++_linux_x64_v2.8.1.tar.zst67D6889C07AB49D37194C8D6C22761CD1B6FB319CCB79F83847AB8F281F4FCDD
    Steam++_linux_arm64_v2.8.1.tar.zst4146ABFFD4E6B8A6D47179CBFB7F24C25622B97E751BEBDFB0A6C0F5DF082E14
    Steam++_linux_x64_v2.8.1.deb4456A32AEB705B868257DC7DD97D6B194A486C7011ECBE351CD8759DF72E1C35
    Steam++_linux_arm64_v2.8.1.debB7C78E180B04763A6768F8F1F57EF164A16687B53068E9A2C6AF5A358F6ADC42
    Steam++_linux_x64_v2.8.1.rpmB1FD2FDEFC2837881DF43774F99DC1CB93C8479CF00CDED9DA2E4A9F382B19CF
    Steam++_linux_arm64_v2.8.1.rpm01A4BB38CD41EE2EB1800EBCA69CFB43B59EF8E1BAF422A488CF9C9EB27ED406
    Steam++_macos_x64_v2.8.1.dmg02FEDEEF0DC691A374445E63994CF221FC9B3881F4EA49627FF0C858ACB31EE3
    Steam++_macos_arm64_v2.8.1.dmgDA52C130AF85D722528F313BD58C443F564B863BF045A85BD6C5426718AFBC3D
    Steam++_android_v2.8.1.apk247C351BA62F8D7C53BB82B49051FDBBFA1018944C2BDD83C076B0973561D352
    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.0.7z08236A73EB282A2C402D46D3D3CC35DA44EA895EAA59C35FFC57821DB6E6BA39
    Steam++_win_x64_fde_v2.8.0.7zBAB1DD005900898C13303F02EA762DFCF0E233832C9730289C6573D807CD1ABE
    Steam++_win_x64_v2.8.0.exeC74385EDD850285E7CF035A59BFDB3E9917AD2E26CACEBADEF857C72053BF468
    Steam++_win_x64_fde_v2.8.0.exe76A634D277AFCE6B177EDA40E69A398541825D70C2ADE843B0489306A10B868C
    Steam++_win_x86_v2.8.0.7z1345BA7B59913390D26929E0A4C91E9FC979F367D0F4705C8F0DDE9E332946F8
    Steam++_win_x86_fde_v2.8.0.7z1B011D287D81AEE316FF6155C9BA8104C86F862600ABEA764E3B66C81B8FCF8F
    Steam++_win_x86_v2.8.0.exeF29965F2439262D6549808CB114E5856BF90E33E35E35C5B3AAEB96C468CC702
    Steam++_win_x86_fde_v2.8.0.exe6DE5FECF7D369EA40EE0892491E4B48DF05B8C40ED9016BE9DE3882AE9B9B766
    Steam++_linux_x64_v2.8.0.tar.zst0D4AE15AE265ACD8768505B7067ED2500F46C2A5DD7D1E5E42B98653DD363230
    Steam++_linux_arm64_v2.8.0.tar.zst79F809200A73ED0B61F4B42706D814931712B58F9F8583AE471421B527C9F843
    Steam++_linux_x64_v2.8.0.debD6B66A55D125BBD9BD3AC11507BC97F5EF36321A6B90857171EEB1A55921DE39
    Steam++_linux_arm64_v2.8.0.deb4C1669D6DB86B8B465078177C0363101FA27E233A07FC86694DB046ED4902B95
    Steam++_linux_x64_v2.8.0.rpm402348CEE6980463ABEAEBAAAA100B1D31F7B3687A561624852945A894F75BF4
    Steam++_linux_arm64_v2.8.0.rpm07BBC803586A5C17333FDBD6A434F4D09B9DC1220BFBE3E6F7D2A37DE54B2821
    Steam++_macos_x64_v2.8.0.dmgE5A56E48C78BD769E826958D89814B5F2C8548390588E8F58E82F52A1CC91A02
    Steam++_macos_arm64_v2.8.0.dmg49AE68B19245425B1F6FD843AF223A0313CF6C2592489C3AD02F2ABBE620896D
    Steam++_android_v2.8.0.apk76988BEDDEE2B77FB88B6D3F0F730EF4CF0EA90E9D2F38D691D047BAFBE35D8A
    FileChecksum (SHA256)
    Steam++_win_x64_v2.7.2.7z636CDBB82A3F9C4CCE061E44A3D94D3D184A59211A135E82500072393DF5526C
    Steam++_win_x64_fde_v2.7.2.7zB0BA27A8B0C627B3F009D13BD09ED25D415AB07DFB51F18ACCDD969136B8676E
    Steam++_win_x64_msix_v2.7.2.7zF2E13286C3A85CA48F281F9C87B31EFF3A03BDF6EE2D1ACB8414E66994EC37DE
    Steam++_win_x64_v2.7.2.exe48C72D522E5E04A98697E833D9535FB4CB816B8D633AA47C3C9A0842B97535BE
    Steam++_win_x64_fde_v2.7.2.exeFBEB9F0651F66D691FDE04E56B703087101E47B837E88717C8181FF334E989EE
    Steam++_linux_x64_v2.7.2.tar.zstD30E07147D54FE1727DF23DD09CAAF657CC9A71A88536CEF6ECB005CF0930191
    Steam++_linux_arm64_v2.7.2.tar.zst8709D03A23193F3DA5B5F9BC65962817A5BEE21B3AA74C3D968BCF495650CE54
    Steam++_linux_x64_v2.7.2.deb21DF72949070FFFC2367F8B47CD355A96C45B0DB5375802B03C8B45F84A46462
    Steam++_linux_arm64_v2.7.2.debD3E5E70EEF3D8810898E9092ED3CE7909A3CD8C9BEBD1A3644C550313A8AF761
    Steam++_linux_x64_v2.7.2.rpm34861E36B41D1626DAE6445C07134887EB1D945DBF4CC4EA88C8BF04126A5F52
    Steam++_linux_arm64_v2.7.2.rpmE7188BB4E50318F96B9DC8240C6AA5D628A910FDD7E436156646D1A2C7059EB5
    Steam++_macos_x64_v2.7.2.dmgF31FE7ECDA1B84ACA2CDEEABBB5FC1F3C8C533B1A1A2877BA3DA5228068B4CE8
    Steam++_macos_arm64_v2.7.2.dmg738926017788D7B9441C866FB365601E7E6BA3776ACFCC9500A1963C8A7D775E
    Steam++_android_v2.7.2.apk68DAA679DD631C20814475A93DE1CF4674C299B1B130FD409D72405DBE4B1177
    FileChecksum (SHA256)
    Steam++_android_v2.7.0-pre1.apk0DE189F8EFB319B550F6F0AB02E57859B60E33B847377B5900011E6CAB908839
    Steam++_android_v2.7.0-pre2.apk08D7DCD5C78303860AA68F1B704BB456FC39B83113956818427350576B28DA41
    Steam++_android_v2.7.0-pre3.apkE53CD3BA2D0983C728F0F9F98E2AF214E54276F39F65B82C36300CA149D9F56F
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.9.7z82F6653EFCBC71B725F9A26072C120CDD469A7DE2B09B857D2EE27533B178CD7
    Steam++_win_x64_fde_v2.6.9.7z271B02CC3805243955970555FF6FDE6774E9D078ED0BBFACCF21C1D417745ED7
    Steam++_win_x64_v2.6.9.exe7F578EAAC5D39600505509399B4CA4D7D4F3449B2E110C0292884C0ED61F9623
    Steam++_win_x64_fde_v2.6.9.exe0C3DC69768B410B38D6D7160F94FDAF62B273CBCB8584530DCC2C9824AC88048
    Steam++_win_x64_msix_v2.6.9.7zA1840D87BA207BEDB0D2334E790A8BCD88D9231B37B7D6B8292D759D2E04935B
    Steam++_linux_x64_v2.6.9.tar.zstC59AEA2B9A846409F20C4ECA5723FFCE7D97159F21D112DB0C00AC707D81B02C
    Steam++_linux_arm64_v2.6.9.tar.zstD45D21A42CE6A54092CE6A94C72618CED05B5FE7ABC04F3803FFF1EC89F31BAA
    Steam++_linux_x64_v2.6.9.debC249CD9546426AD2CE785772FE4C6D2A503B0967063D7E7788B21C819BFC6CEA
    Steam++_linux_arm64_v2.6.9.debC93EC8FC7AE8B028D80A872EBCB971AC75FD7B29B1B21216FFEA058114F100FD
    Steam++_linux_x64_v2.6.9.rpm2287926E21AF195C5ECFF16B7815D63C799C78D300B6EDD3A96315560B96E6F5
    Steam++_linux_arm64_v2.6.9.rpmDF9E923006D45A6ED704CEC0921FF222D56AA7116E919DAD04D693F311535ADB
    Steam++_macos_x64_v2.6.9.dmgC03E9EB6F0BC25D7AD20EE1A28F88477B2F5C19866BE2DB93673B6C31A348114
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.7.7z2E4E9607813743B4BB86A3E6CA6B42ADE94956DC697F3DCE3967F9CD8DBBA594
    Steam++_win_x64_fde_v2.6.7.7z78734D5C2A6DA12C581CB7B7AA931353480E1EC543BC0187014D5487B0396BCF
    Steam++_win_x64_v2.6.7.exeEADA3063734DC5EB142BC931D316946094571C9456DD86997680469B59D66433
    Steam++_win_x64_fde_v2.6.7.exeF53CD07606F3DB3AF22B1B31B58AD8A5C7A4FC567CAEBE0C957E66430D651C94
    Steam++_linux_x64_v2.6.7.7z8C94467AA49E089728BADA2B4291C91B7946F2CF8FF611209244AF7163857B71
    Steam++_linux_arm64_v2.6.7.7zE693AC7EF9C5E485B53450709DD708677828A07F3620B4C18D0965382AF43784
    Steam++_linux_x64_v2.6.7.deb43BA1C8AB2B3F11980C81D756F2746A6B8CC14D0165450D5122A5566A78FA8D6
    Steam++_linux_arm64_v2.6.7.deb2EAEE03D6FF4C1F499616A4B25BE249A4F1F05C33A6F927143E5434925CEE2A2
    Steam++_linux_x64_v2.6.7.rpm8E0BD07027DE5FDACDFD92444D4ECB87AA986ED62517ED059D9D8519E2AB7B7B
    Steam++_linux_arm64_v2.6.7.rpm2B9B1114F4EDFCF48F964EACC1D3BA6E1B253E13BB7AB38D73D27EC017615FB8
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.6.7zC1262D825CB2B5E47AE30353E77F5F849FBDF1055546908EA56CEA80CE0B75CB
    Steam++_win_x64_fde_v2.6.6.7zC9DB8F8DEFCBEB0D10E2C311D850BC5F3C004749E37E0C4EBEB6826C4E0D4B83
    Steam++_win_x64_v2.6.6.exe6F6F614FF09AAED42F76B9CBED88DB1B7363690E5A7D1986F2FADE7FD709289A
    Steam++_win_x64_fde_v2.6.6.exe47915591FF56D04D474D33BFD33668C89FC0C8565B3491F20B36CA03A5863BCD
    Steam++_linux_x64_v2.6.6.7z2C96CD62D859DFE8A3E5FB77F9795E9CE2AFE8CF073A5B0B80E8CC433A1CFC2B
    Steam++_linux_arm64_v2.6.6.7z36616E4554E1EC5223F0F97CB7D15CB8088F976D70DA56C8BDFBA918F6C774F4
    Steam++_linux_x64_v2.6.6.deb60FF30A80EFACA138229C5452EEE6C37D299AEBDB0C913B17EE3A6706970E73A
    Steam++_linux_arm64_v2.6.6.debCFB731F5A027C4CA154B9DB43A6FD18163E272246134B684FB9BE3CA7B91A590
    Steam++_linux_x64_v2.6.6.rpm3231D4A4C74DDE64B9CE3923A0D7E7A6E634B14DC1605D6082E57EF475DCDA29
    Steam++_linux_arm64_v2.6.6.rpm7DBF587BEB2D30752A9DB95CAC16558982D5E50EDC0137A8CF597FA5B761C0DF
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.5.7z56476EB017361F3C73887F691C675E8A3754F3BC7133B18EE7811208E3882176
    Steam++_win_x64_fde_v2.6.5.7z4B6C7E94C98AE3C97FB5728FA6D4DDEF7D8C4CB7D41275584C18B0A48B11F423
    Steam++_win_x64_v2.6.5.exeB49B5BF90FAD6282B6B26360FAE709995FD87228216BCA871936199C410AF69C
    Steam++_win_x64_fde_v2.6.5.exeE04926C5D6B1E57FDD0987C8976569176609CD2FC13A6530BECC35E6E6E7E65D
    Steam++_win_x64_msix_v2.6.5.7zFFFDA45A0D472038D3EFE87505E50C6B491DD01E25D365EBD96F5C8D57417A92
    Steam++_linux_x64_v2.6.5.7z4BB4604934EC0C8E6A2BCAF17882014C89D1180ECF396C35DAA3850F208D5DB2
    Steam++_linux_arm64_v2.6.5.7zA40C3AA044E12AD9F5E662553B7350422F95D53559BAAB3FBEF9FB13D79695CE
    Steam++_linux_x64_v2.6.5.deb082D66E82463C6A2AF8031C41759CAE8569CF666BD7728EE426ED0E201E00DB0
    Steam++_linux_arm64_v2.6.5.deb61A722F877CD6AB78DB2CC53A718738F4694E3805C2B51A9659253E77767A7DF
    Steam++_linux_x64_v2.6.5.rpm0792E84FDE425E572CACD10CB02B411B2D82D1837BDFF8FE9C2748DB1B40EE55
    Steam++_linux_arm64_v2.6.5.rpmE7427920B250458856AD6F52221FD21CCFA96DA3E7C48E9712063D8AF46755F9
    Steam++_macos_x64_v2.6.5.dmgB9E23A09C1DDFE254FDA43DBA16DB387514834E67509569F1631E3A325E4EC90
    Steam++_android_v2.6.5.apk8EEEF565B6B43ECFF1BF57883ABA4A8E8FBF682AB503AC86BE94E867717DC721
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.4.7zA76694636920AABBBC7D73B4DAE15279D9FEFFA6E15E9D37470545CBAC996347
    Steam++_win_x64_fde_v2.6.4.7zCE0B3793B8D53784C310D01F94E02A9F9E207E4893F6CA1DBBEB3E19AFEBBCA8
    Steam++_win_x64_v2.6.4.exe3BFDB622376AD344E7EBA6FFB720B6AA9BC2148FE70F23B7D669C76CF24FD434
    Steam++_win_x64_fde_v2.6.4.exe1C5FBDF3081B54E47A006BA7AC894530905CF064D2047A0F3736AF27E7D776A2
    Steam++_linux_x64_v2.6.4.7z69502C158D00B4BBC497F335C67B54494992E5B9742B13BC766EFAE2DAB19D91
    Steam++_linux_arm64_v2.6.4.7zCE376B05676DB330670D927D10B0BAA632B6E5754152BBADC8DAD9ACD164F950
    Steam++_linux_x64_v2.6.4.debA8BF8FAE9833BF550D8ED5779FA7E568970B9D9932CB3F52171AE34AA1DF69D6
    Steam++_linux_arm64_v2.6.4.deb29C45A2AA6911A6554A884F3FF05409E3C063F3BA1405BCD8DF90EA247533246
    Steam++_linux_x64_v2.6.4.rpm3DFC553BAB33025EB08EE8267BDD1656F59E4611E6B8E0AE9388EA68C938DBFE
    Steam++_linux_arm64_v2.6.4.rpmBA3D8680D248E93748783E44C7A11F52521844F21A242C283EAF0F720276587E
    Steam++_macos_x64_v2.6.4.dmg3BF9EDC4053BA08B706EE47234A8B4A3C73FEB1A952289E82D029BB17217219D
    Steam++_android_arm64_v8a_v2.6.4.apk542A6902282C2F315330B4288E8A952F1B35A1F6181B65E04D05B5B591ABD369
    Steam++_android_armeabi_v7a_v2.6.4.apk7D2F65D94D5EAC00CE42761C17E2CEBFF91671C85F66F52CFE21B3A4F03EC845
    Steam++_android_x64_v2.6.4.apkB91986EA5C5F69C311088B7B613CF4947AA814077FB909AEC634FFA9BEC0ACE9
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.3.7zADAB9C6D3E7DEF440BB46558350E4207251EFD2F2CBA467916495C21C7057AF6
    Steam++_win_x64_fde_v2.6.3.7zD98BA9B33B3FEDD7533C88C18084B792F29FD167FF9789F668BA0602B86EAD79
    Steam++_win_x64_v2.6.3.exe6DF966CC07E2639B13629AF4702316C01B90BADB20B3DF05461D8FE624DB4D28
    Steam++_win_x64_fde_v2.6.3.exe07C72838E25AE84E2FD0A573FF332278B81B3F66AC7189C38A4FB99EA5A5C6C9
    Steam++_linux_x64_v2.6.3.7zA74CE35AEFCC76487BCD8402311FF2F794B0075390DD426C86F1DADF1F30D782
    Steam++_linux_arm64_v2.6.3.7z86D3BEC887F1FC7CE6CD744A8710E208EB0A49A14EA4633FF937DF007AECC91A
    Steam++_linux_x64_v2.6.3.debAB913DCDC2AB78FAA659C3AA6A386255149E636A58059233B634F4659CBB80F5
    Steam++_linux_arm64_v2.6.3.debD1DB0931B6B2BE40C2DA3F495B43EDD300941977FE5EBE64EC9873EB95A77B9B
    Steam++_linux_x64_v2.6.3.rpm819F5DEE49CE35B182FBB0AD2CD9468CAB22C3B56E407DD6659AFC817DF55E6E
    Steam++_linux_arm64_v2.6.3.rpm945F3C8B658750FFD587665CE2FCF0AE4E823592A1D2CAB3716161E1866B761E
    Steam++_macos_x64_v2.6.3.dmgCC0B98834A52C4F988D7DFEA1553FADEA3A72CCB3396271E72E5070EAAC469C0
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.2.7zE4CB2714EF540816C475DF128FC551D35E94830C452A66748055FFC286BEE7AE
    Steam++_win_x64_fde_v2.6.2.7z43A0BD54B26574C00F62126C080FAA05B1E27BB6A89419168860CF2E1503F627
    Steam++_win_x64_v2.6.2.exeFBB23D4256DD409CEB4D199C04CDC8863CE1173F3AC88E0C7BD9B8778120955C
    Steam++_win_x64_fde_v2.6.2.exe8D2D68EC2FD8036DCD1B283A0EA142FBF877D42A70E3C1AC10A4B4C5F23EAD48
    Steam++_linux_x64_v2.6.2.7zDC5EBA3C61E46506C9D8A1C0831E825FBA8EF5D4B0CFA0D7EB5BC44602F46572
    Steam++_linux_arm64_v2.6.2.7zDAA1B783484FE5AA0F1D1395CC6AEC620A85D485F59A9C06D97A2F646304D34D
    Steam++_linux_x64_v2.6.2.debEE3FCB74B9641C4F6D5A945AC91F0CDD2167A94735F0B7416E2A2397DA255BC4
    Steam++_linux_arm64_v2.6.2.deb6322EA41DE16A776C30292B529817F87977A27676FBEF38462F4023FAA1E5F42
    Steam++_linux_x64_v2.6.2.rpmAD624EBB94CA0562984562734BC803A24550647B4DD69693A1E8079DF86B7378
    Steam++_linux_arm64_v2.6.2.rpmE326685A891EFD12E1A772B8BDF7EF222F02BE5C420BAC13FD416684C6660979
    Steam++_macos_x64_v2.6.2.dmgAD48998969D6324EB1BE878F79DA967C7EAA387DB02B6D75E9D9D23F88A80741
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.1.7zf8525e772904a5696e651bae5fbf726861b013ecd6c1a859804e371cd0581e0b
    Steam++_win_x64_fde_v2.6.1.7zcbe17c26b2e4ae1da24ea4c620c11fb98180f872c96e1d1c7d9fb56af35dbf53
    Steam++_win_x64_v2.6.1.exe3f69999ecde4699420e65ad63126e809e43462655ce4ae1fa04c384e069d93aa
    Steam++_win_x64_fde_v2.6.1.exe8dc15d27399cea1769df76d52d0276967bfd8a1941df23ae5a7418f22d161a81
    Steam++_linux_x64_v2.6.1.7z457dc4dd21c5acaf7c5515fc9c77e4d8abe2a75f674acda8e74cdfbc062bfb0f
    Steam++_linux_arm64_v2.6.1.7z6b83fdbeae5597befc892d44e603dbc4b35924be33a5774b733258b264bed1cf
    Steam++_linux_arm_v2.6.1.7z3f9df21a378884bb7a1c4c867c1d59b07a9568bba0c658755c3d12c89b97fea0
    Steam++_linux_x64_fde_v2.6.1.7zd20cb26e54ff6b9ecdb02712e2c585d34543dcc1ae35a25821f887a8938aa831
    Steam++_linux_arm64_fde_v2.6.1.7zdc17bd72b3df2332ce580bbe42f97ed3994ca0b387f3e92f3852b5672c41bd39
    Steam++_linux_arm_fde_v2.6.1.7zf99ff076f28ee26581baad1e848bc977d740a7450cd672e8d24e06e4f758f371
    Steam++_linux_x64_v2.6.1.deb29fc0a5da7396006793ee43508a4db3ab7b49663cb83c57b7f732443b8e4b74e
    Steam++_linux_arm64_v2.6.1.deb60e240bf6d698e7a3fa33356f1589d6cf3bbf8b85a61021c8cbb9b586420cd7d
    Steam++_linux_arm_v2.6.1.deb7977d15618b03cd2b40f29cea23680019d357c3b7d72046bc828a49d29e15633
    Steam++_linux_x64_fde_v2.6.1.deb6a1f14a1135179acaa436d33d1eae213bc85a1bd37a6ff2fba616d8d86740f19
    Steam++_linux_arm64_fde_v2.6.1.deb4be901e1961af44cbc814ca8bf9cdf56cdae9db3360be0d425291e75fa41df20
    Steam++_linux_arm_fde_v2.6.1.deb2570a0ee03634aa2b15c67c9f9e91a3f12e8e5bcd3f6c44b4a31dd44e2d2bf54
    Steam++_linux_x64_v2.6.1.rpmd7709a9373c9dd9b5f0957b02337ad7ac25dae5aa43bcc1ae3f10bd2cdfc0745
    Steam++_linux_arm64_v2.6.1.rpmd3238980442df1d1f1293ac0a6acbc6528d53966426af1c41474283ce0a5f922
    Steam++_linux_arm_v2.6.1.rpmb9d6990c5c2c989490464afa1bfa39ccf20b851547f912082447ee1d6a669247
    Steam++_linux_x64_fde_v2.6.1.rpm83345f36ec61f609f88d61c6c048efbbe5a8498fcfe1f4ae0aafeeaad93cc122
    Steam++_linux_arm64_fde_v2.6.1.rpm8c2a22ddd05b0f41bc2e83bfc496bd0ed3e22316cae5864123a06268c3817e33
    Steam++_linux_arm_fde_v2.6.1.rpmdd726f53d14587808667ff546f2cdd63c7cd860f0a50e71bb30db6c72bbe7e66
    Steam++_macos_x64_v2.6.1.dmgdd2a2f435aa12536fb5b0bc4329473c9db96e93a173405970710dae6d3533db4
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.12.7z30C6FBD285EEB5EABE64BA8AAD6576234EA11897A29BA84EF590CF9DCB4AC7E4
    Steam++_win_x64_v2.4.12.exe30C8625BF73D80A611B2F0DD04B3CE70364818CB1A2B5004074639A72D679B88
    Steam++_linux_x64_v2.4.12.7z3A47E0BBC5B7DE5C11566EEF2E959850667C68FCAB6D9ABC657007EA097DD2B0
    Steam++_linux_arm64_v2.4.12.7zA65842BF3A0FB9EC06A1B4CAA8710C092426FE32309512A8247D9E465224121B
    Steam++_linux_arm_v2.4.12.7z777AF29137C93F90F9477C6D9F62D7D55ABA7873C3FB5335C003953CC01857B7
    Steam++_macos_x64_v2.4.12.dmg1740F3CF154202BC7E2FB101187404637CE622D88A1528CE0F40517A3FD967FC
    Steam++_macos_x64_v2.4.12.app.zip35139413AB7694CD730A26836D825057D50C2D80FE6A4CB36B4F15E3A3652BEB
    Steam++_macos_x64_v2.4.12.7zE450102A5F5AFFF170C82836064B0EE97E03E0501B246F62E1B494392E0523D1
    Steam++_android_arm64_v8a_v2.4.12.apkA854FB5D69AA5FD86C8092C5DD7D923BD34DA6C1EB9120675667D5D91E83FA8F
    Steam++_android_armeabi_v7a_v2.4.12.apkF510D114B21D323576D8ACED296D20227BBA48053DC047C92B2BA260447FEF08
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.11.7z8C268FFF826D50D404FB79589EA8752DF45C0DD3A3A0DA1B27A738E78825AF51
    Steam++_win_x64_v2.4.11.exeABAD6B3C9DFDD336881F7197B9658AF2465104ECAF1BCB206AA259510E27A4D5
    Steam++_linux_x64_v2.4.11.7zE36C764D23B910133DEEB94E941101C8ED0F0B02C50A05B03F3E30DC3F7B29A6
    Steam++_linux_arm64_v2.4.11.7z58E89BBC79FD440956822D50029DC6BE11303A9EF7DC536E3ABF2DA3F91755FA
    Steam++_linux_arm_v2.4.11.7zE260EE0E4A4D185B79CA692347596F15998E3A88C0EE0BEBC9C6B516176EBA85
    Steam++_macos_x64_v2.4.11.dmgC47411A870A4445178FF45A90285054AF9720F6E46C970A058B135788FFF5A8A
    Steam++_macos_x64_v2.4.11.app.zip53B48725874E07FE8F5E178CCF5083D3C8F9CDB60E76FC3CF5062DFDECCD3E4C
    Steam++_macos_x64_v2.4.11.7zAE7682D224CBD6EA1FF90B093C8B0D5889E0F9532783B4CB365DDF85D06D8AAA
    Steam++_android_arm64_v8a_v2.4.11.apk8F01CFAFDCC3A945927A5DD7A2E18AD03F5B028E34ACA0B265FB2ED1F6085A20
    Steam++_android_armeabi_v7a_v2.4.11.apkD05D81132B03A515F5776BA7B047E6D06B8951522A9FCA4317579EF9603E6A4A
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.10.7z767FEC42DA14A632E92D517E96487F74184F55D6AFB7D95E57747E6AB3F4AC37
    Steam++_win_x64_v2.4.10.exeD598A9807F6325D2E07C1FF7CE4ADFC1605501E5115FC94014FEAF88FBCBEA1B
    Steam++_linux_x64_v2.4.10.7z6C10CCA10A073321AED815491C8F05B79F2602AE7BB187470C1FCD7A05519187
    Steam++_linux_arm64_v2.4.10.7z97AC7F2C5B7A369910B632CE0671B7BFF5BCD05598F5A44074F55E2BF5EED816
    Steam++_linux_arm_v2.4.10.7zF1E14F7BDB96BB9D86ACD0F94E11F4F565F3C13154711D69E5E9EAB18983FAE4
    Steam++_macos_x64_v2.4.10.dmg1F252D0A0837F0AE8DC5F930AD5619F9FA25284E3BD77F09A58098B850E84F1F
    Steam++_macos_x64_v2.4.10.app.zip59166D17023333E24E5DA9D7B7920B5F67E3F3EE5CDD30F903422C48BF4405BD
    Steam++_macos_x64_v2.4.10.7z7B59A36E34829F4343FD2048CDD2E899478C77E4FFAEFD877B52AD0429CB5D7C
    Steam++_android_arm64_v8a_v2.4.10.apk432046DF7C9BBA5CCBD8AC476CE31C9A8022C3F46508F8A32E7D42081A29DDA3
    Steam++_android_armeabi_v7a_v2.4.10.apk25584531B040E2B50EB0855D1E3242978E37EF554019241E6C4FDB25E7B8533D
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.9.7zD8620FF0F46BA3D10701309F13AE0FFF857E2E122FA9D1DB0D305D2CF76EAE44
    Steam++_win_x64_v2.4.9.exe05B032574F61B2E16E6A0EF74D7EC9BBE6880AE7B7496E8097DB88D2BEAB7B45
    Steam++_linux_x64_v2.4.9.7zE056112C66E92D49A69DB3AD58B8B48822E6A5C72DA0A0F6D602C157C1605B4E
    Steam++_macos_x64_v2.4.9.7z608BCC6305A867EF3EFC3444E32E1A35CD523DD08C3ACFBED30F6E66A758EE4C
    Steam++_macos_x64_v2.4.9.dmg927F495DCBA6380475568428F650FBC69A7AE390F06E0CD9305B38E98C13E568
    Steam++_macos_x64_v2.4.9.app.zipB19009C763E5168CEC40D28CC93418F621D30C1F013609C0D7F6B4012B24C8AE
    Steam++_android_arm64_v8a_v2.4.9.apk2EAE8803C14DB38E1E2C68B44647F7A35F8F0AFE45CF9727A3DAEBD5DD4630A2
    Steam++_android_armeabi_v7a_v2.4.9.apk26206AD0B904B45616C0E3263594AE6A846C222E9AEC71C2151A83E0DDC7F7E2
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.1.7zF585575E8C1466F09DD351A9F2A1E0D98669B38C8DF6BA0CF405E4E5E9863C12
    Steam++_win_x64_v2.4.1.exeC617DC41ADF3B628EBC33C0818FC2B1A57B69955C366C295357F98AD8A4E1786
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.0.7zA476B44FFC1B6D546352C34E990136C767046CACD5B2967FD9638E5B6ABB7059
    Steam++_win_x64_v2.4.0.exeADAA408ECC7D3FC323EB5EEB462C62ACA52BF5D27B367D887C671D6C72F02AD3
    FileChecksum (SHA256)
    Steam++_win_x86_v2.3.0.7z5DA9346C91CCEF3D63D85A6257B752502F0CB68D339920D7FDD4F09710E53E15
    Steam++_win_x86_v2.3.0.exeD1CD9D3F78DEBD78757391540239336AA18E25A678FAA8B2D80334D32F8F77F7
    FileChecksum (SHA256)
    Steam++_win_x86_v2.2.0.7zF876FF168ECDEBB28785FB83A3C0B40928F23B1E44C8B065F8B206BDF1F80963
    Steam++_win_x86_v2.2.0.exeB70A19B60AAC6755EB921A58C55902157A1720648D9EEB8B98FA5629DADC7FF6
    FileChecksum (SHA256)
    Steam++_win_x86_v2.1.0.7zF7AAF6F68D2E3A6AB22BFED20D837EBBC05EABD2AFFA44035497D53EBA337047
    Steam++_win_x86_v2.1.0.exe6185398E306BCAE6937953FFF63AC92B60D61EB4D9E3EA96062B2B69737DCF7C
    ',25),C=[D];function A(r,_){return d(),F("div",null,C)}const m=t(E,[["render",A],["__file","文件校验.html.vue"]]);export{m as default}; diff --git "a/assets/\346\226\207\346\241\243\345\274\200\345\217\221.html-2ea1640e.js" "b/assets/\346\226\207\346\241\243\345\274\200\345\217\221.html-2ea1640e.js" new file mode 100644 index 0000000..df1025f --- /dev/null +++ "b/assets/\346\226\207\346\241\243\345\274\200\345\217\221.html-2ea1640e.js" @@ -0,0 +1,30 @@ +import{_ as a}from"./plugin-vue_export-helper-c27b6911.js";import{o as n,c as s,f as i,e}from"./app-d53ff271.js";const r={},d=e('

    文档开发

    在线编辑

    直接点击文档内底部的编辑此页快速跳转到GitHub编辑页面直接向本仓库提交你撰写的文档

    本地开发

    先决条件:

    • nodejs(Version >= 16)
    • yarn(Version >= 1)

    Clone 本仓库

    在项目文件夹下运行:

    ',8),t=e(`
    yarn install
    +yarn docs:dev
    +

    更新框架及插件(非必要不必更新)

    yarn add -D vuepress@next
    +yarn add @vuepress/plugin-search@next -d
    +
    `,3);function l(u,o){return n(),s("div",null,[d,i(` 安装自动侧边栏插件 +[仓库](https://github.com/shanyuhai123/vuepress-plugin-auto-sidebar) +[文档](https://shanyuhai123.github.io/vuepress-plugin-auto-sidebar/) + +\`\`\`c# +# vuepress v2 alpha(vuepress v2 仍处于测试阶段) +npm i vuepress-plugin-auto-sidebar@alpha -D +\`\`\` + +
    新仓库插件初次设置(本仓库中已经有了) +VuePress v2 不再支持插件修改 sidebar,所以你需要自行引入生成的 \`sidebar.js\` 文件。 + +\`\`\`javascript +const sidebarConf = require('./sidebar') + +module.exports = { + plugins: [ + ["vuepress-plugin-auto-sidebar", {}] + ], + themeConfig: { + sidebar: sidebarConf + } +} +\`\`\` + +
    `),t])}const h=a(r,[["render",l],["__file","文档开发.html.vue"]]);export{h as default}; diff --git "a/assets/\346\226\207\346\241\243\345\274\200\345\217\221.html-c3830e4c.js" "b/assets/\346\226\207\346\241\243\345\274\200\345\217\221.html-c3830e4c.js" new file mode 100644 index 0000000..f88c8dd --- /dev/null +++ "b/assets/\346\226\207\346\241\243\345\274\200\345\217\221.html-c3830e4c.js" @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-5fd8d2ca","path":"/zh/development/%E6%96%87%E6%A1%A3%E5%BC%80%E5%8F%91.html","title":"文档开发","lang":"zh","frontmatter":{"description":"在线编辑 直接点击文档内底部的编辑此页快速跳转到GitHub编辑页面直接向本仓库提交你撰写的文档 本地开发 先决条件: nodejs(Version >= 16); yarn(Version >= 1); Clone 本仓库 在项目文件夹下运行: 更新框架及插件(非必要不必更新)","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/development/%E6%96%87%E6%A1%A3%E5%BC%80%E5%8F%91.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"文档开发"}],["meta",{"property":"og:description","content":"在线编辑 直接点击文档内底部的编辑此页快速跳转到GitHub编辑页面直接向本仓库提交你撰写的文档 本地开发 先决条件: nodejs(Version >= 16); yarn(Version >= 1); Clone 本仓库 在项目文件夹下运行: 更新框架及插件(非必要不必更新)"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"文档开发\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"在线编辑","slug":"在线编辑","link":"#在线编辑","children":[]},{"level":2,"title":"本地开发","slug":"本地开发","link":"#本地开发","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.69,"words":206},"filePathRelative":"zh/development/文档开发.md","localizedDate":"2023年11月4日","autoDesc":true}');export{e as data}; diff --git "a/assets/\346\233\264\346\226\260\346\227\245\345\277\227.html-4bfda043.js" "b/assets/\346\233\264\346\226\260\346\227\245\345\277\227.html-4bfda043.js" new file mode 100644 index 0000000..d022661 --- /dev/null +++ "b/assets/\346\233\264\346\226\260\346\227\245\345\277\227.html-4bfda043.js" @@ -0,0 +1 @@ +const l=JSON.parse('{"key":"v-77ee1e1c","path":"/zh/development/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.html","title":"更新日志","lang":"zh","frontmatter":{"description":"2.8.4 (2022-08-16) 版本亮点 1. .NET 运行时升级至 6.0.8,使用 fde 版本需要升级运行时 2. ASF 升级至 V5.2.8.4 2. Avalonia 升级至 0.10.18 修复问题 1. 修复 2.8.0 ~ 2.8.2 中 AppData/Config.mpo 文件大小为 0 时导致的程序无法正常启动 2. 修...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/development/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"更新日志"}],["meta",{"property":"og:description","content":"2.8.4 (2022-08-16) 版本亮点 1. .NET 运行时升级至 6.0.8,使用 fde 版本需要升级运行时 2. ASF 升级至 V5.2.8.4 2. Avalonia 升级至 0.10.18 修复问题 1. 修复 2.8.0 ~ 2.8.2 中 AppData/Config.mpo 文件大小为 0 时导致的程序无法正常启动 2. 修..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"更新日志\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"2.8.4 (2022-08-16)","slug":"_2-8-4-2022-08-16","link":"#_2-8-4-2022-08-16","children":[]},{"level":2,"title":"2.8.3 (2022-08-14)","slug":"_2-8-3-2022-08-14","link":"#_2-8-3-2022-08-14","children":[]},{"level":2,"title":"2.8.2 (2022-07-28)","slug":"_2-8-2-2022-07-28","link":"#_2-8-2-2022-07-28","children":[]},{"level":2,"title":"2.8.1 (2022-07-23)","slug":"_2-8-1-2022-07-23","link":"#_2-8-1-2022-07-23","children":[]},{"level":2,"title":"2.8.0 (2022-07-23)","slug":"_2-8-0-2022-07-23","link":"#_2-8-0-2022-07-23","children":[]},{"level":2,"title":"2.7.2 (2022-04-30)","slug":"_2-7-2-2022-04-30","link":"#_2-7-2-2022-04-30","children":[]},{"level":2,"title":"2.7.1 (2022-04-28)","slug":"_2-7-1-2022-04-28","link":"#_2-7-1-2022-04-28","children":[]},{"level":2,"title":"2.7.0 (2022-04-25)","slug":"_2-7-0-2022-04-25","link":"#_2-7-0-2022-04-25","children":[]},{"level":2,"title":"2.7.0-pre3 (2022-04-01)","slug":"_2-7-0-pre3-2022-04-01","link":"#_2-7-0-pre3-2022-04-01","children":[]},{"level":2,"title":"2.6.9 (2022-03-03)","slug":"_2-6-9-2022-03-03","link":"#_2-6-9-2022-03-03","children":[]},{"level":2,"title":"2.6.7 (2022-02-08)","slug":"_2-6-7-2022-02-08","link":"#_2-6-7-2022-02-08","children":[]},{"level":2,"title":"2.6.6 (2022-02-08)","slug":"_2-6-6-2022-02-08","link":"#_2-6-6-2022-02-08","children":[]},{"level":2,"title":"2.6.5 (2022-01-05)","slug":"_2-6-5-2022-01-05","link":"#_2-6-5-2022-01-05","children":[]},{"level":2,"title":"2.6.4 (2022-01-05)","slug":"_2-6-4-2022-01-05","link":"#_2-6-4-2022-01-05","children":[]},{"level":2,"title":"2.6.3 (2021-12-12)","slug":"_2-6-3-2021-12-12","link":"#_2-6-3-2021-12-12","children":[]},{"level":2,"title":"2.6.2 (2021-12-10)","slug":"_2-6-2-2021-12-10","link":"#_2-6-2-2021-12-10","children":[]},{"level":2,"title":"2.6.1 (2021-11-23)","slug":"_2-6-1-2021-11-23","link":"#_2-6-1-2021-11-23","children":[]},{"level":2,"title":"2.4.12 (2021-09-06)","slug":"_2-4-12-2021-09-06","link":"#_2-4-12-2021-09-06","children":[]},{"level":2,"title":"2.4.11 (2021-08-24)","slug":"_2-4-11-2021-08-24","link":"#_2-4-11-2021-08-24","children":[]},{"level":2,"title":"2.4.10 (2021-08-24)","slug":"_2-4-10-2021-08-24","link":"#_2-4-10-2021-08-24","children":[]},{"level":2,"title":"2.4.9 (2021-08-18)","slug":"_2-4-9-2021-08-18","link":"#_2-4-9-2021-08-18","children":[]},{"level":2,"title":"2.4.1 (2021-06-06)","slug":"_2-4-1-2021-06-06","link":"#_2-4-1-2021-06-06","children":[]},{"level":2,"title":"2.4.0 (2021-06-06)","slug":"_2-4-0-2021-06-06","link":"#_2-4-0-2021-06-06","children":[]},{"level":2,"title":"2.3.0 (2021-05-25)","slug":"_2-3-0-2021-05-25","link":"#_2-3-0-2021-05-25","children":[]},{"level":2,"title":"2.2.0 (2021-05-10)","slug":"_2-2-0-2021-05-10","link":"#_2-2-0-2021-05-10","children":[]},{"level":2,"title":"2.1.0 (2021-05-05)","slug":"_2-1-0-2021-05-05","link":"#_2-1-0-2021-05-05","children":[]},{"level":2,"title":"2.0.0.8 (2021-05-03)","slug":"_2-0-0-8-2021-05-03","link":"#_2-0-0-8-2021-05-03","children":[]},{"level":2,"title":"2.0.0.6 (2021-05-01)","slug":"_2-0-0-6-2021-05-01","link":"#_2-0-0-6-2021-05-01","children":[]},{"level":2,"title":"1.1.4 (2021-02-23)","slug":"_1-1-4-2021-02-23","link":"#_1-1-4-2021-02-23","children":[]},{"level":2,"title":"1.1.3 (2021-02-21)","slug":"_1-1-3-2021-02-21","link":"#_1-1-3-2021-02-21","children":[]},{"level":2,"title":"1.1.2 (2021-01-29)","slug":"_1-1-2-2021-01-29","link":"#_1-1-2-2021-01-29","children":[]},{"level":2,"title":"1.1.1 (2021-01-22)","slug":"_1-1-1-2021-01-22","link":"#_1-1-1-2021-01-22","children":[]},{"level":2,"title":"1.0.6 (2021-01-12)","slug":"_1-0-6-2021-01-12","link":"#_1-0-6-2021-01-12","children":[]},{"level":2,"title":"1.0.5 (2021-01-08)","slug":"_1-0-5-2021-01-08","link":"#_1-0-5-2021-01-08","children":[]},{"level":2,"title":"1.0.4 (2020-12-28)","slug":"_1-0-4-2020-12-28","link":"#_1-0-4-2020-12-28","children":[]},{"level":2,"title":"1.0.3.3 (2020-12-27)","slug":"_1-0-3-3-2020-12-27","link":"#_1-0-3-3-2020-12-27","children":[]},{"level":2,"title":"1.0.2 (2020-12-21)","slug":"_1-0-2-2020-12-21","link":"#_1-0-2-2020-12-21","children":[]},{"level":2,"title":"1.0.0 (2020-12-14)","slug":"_1-0-0-2020-12-14","link":"#_1-0-0-2020-12-14","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":47.81,"words":14344},"filePathRelative":"zh/development/更新日志.md","localizedDate":"2023年11月4日","autoDesc":true}');export{l as data}; diff --git "a/assets/\346\233\264\346\226\260\346\227\245\345\277\227.html-fd7876ae.js" "b/assets/\346\233\264\346\226\260\346\227\245\345\277\227.html-fd7876ae.js" new file mode 100644 index 0000000..9eab7fa --- /dev/null +++ "b/assets/\346\233\264\346\226\260\346\227\245\345\277\227.html-fd7876ae.js" @@ -0,0 +1,3 @@ +import{_ as o}from"./plugin-vue_export-helper-c27b6911.js";import{r as n,o as t,c as h,a as i,b as l,d as a,e}from"./app-d53ff271.js";const s={},u=e('

    更新日志

    2.8.4 (2022-08-16)

    版本亮点

    1. .NET 运行时升级至 6.0.8,使用 fde 版本需要升级运行时
    2. ASF 升级至 V5.2.8.4
    3. Avalonia 升级至 0.10.18

    修复问题

    1. 修复 2.8.0 ~ 2.8.2 中 AppData/Config.mpo 文件大小为 0 时导致的程序无法正常启动
    2. 修复 Windows 上版本更新在 2.8.0 ~ 2.8.2 中非 FDE 版本识别为 FDE 版
    3. 改进 调整代理模式顺序,Hosts 模式置顶
    4. 修复 划词翻译等一些 JS 脚本
    5. 改进 macOS 上的证书安装
    6. 尝试修复 网络加速中能导致内存泄露的问题
    7. 改进 非简中默认隐藏加速与脚本仅在 Windows 上生效
    8. 改进 减少 Android 上的启动时间
    9. 修复 退出程序时可能引发的闪退
    10. 修复 macOS/Linux 上设置页面打不开的问题
    11. 修复 网络加速中网页上出现 Because https://... actually points to WattToolkit itself...
    12. 尝试修复 ASF 控制台中输入时卡死
    13. 修复 首次使用 Windows 安装版(非应用商店版) 可能导致程序无法正常启动
    14. 修复 2.8.3 中 win-x64 覆盖导致丢失配置文件等用户数据的问题

    2.8.3 (2022-08-14)

    版本亮点

    1. .NET 运行时升级至 6.0.8,使用 fde 版本需要升级运行时
    2. ASF 升级至 V5.2.8.4

    修复问题

    1. 修复 2.8.0 ~ 2.8.2 中 AppData/Config.mpo 文件大小为 0 时导致的程序无法正常启动
    2. 修复 Windows 上版本更新在 2.8.0 ~ 2.8.2 中非 FDE 版本识别为 FDE 版
    3. 改进 调整代理模式顺序,Hosts 模式置顶
    4. 修复 划词翻译等一些 JS 脚本
    5. 改进 macOS 上的证书安装
    6. 尝试修复 网络加速中能导致内存泄露的问题
    7. 改进 非简中默认隐藏加速与脚本仅在 Windows 上生效
    8. 改进 减少 Android 上的启动时间
    9. 修复 退出程序时可能引发的闪退
    10. 修复 macOS/Linux 上设置页面打不开的问题
    11. 修复 网络加速中网页上出现 Because https://... actually points to WattToolkit itself...
    12. 尝试修复 ASF 控制台中输入时卡死

    2.8.2 (2022-07-28)

    修复问题

    1. 修复 Windows FDE 版在 Windows 8.1/10 上错误识别成 Windows 8
    2. 修复 网络加速 DNS 设置无效
    3. 修复 网络加速 PAC 代理模式不能正常工作
    4. 修复 Windows 7 上的一些兼容性问题导致加速失效
    5. 改进 Windows Desktop Bridge 版本中不再弹出防火墙规则授权弹窗
    6. 修复 Windows Desktop Bridge 版本开机自启静默失效
    7. 改进 DNS 驱动拦截模式停止后不再占用 sys 文件
    8. 改进 通知 UI 列表项中仅显示两行文字
    9. 修复 第三方快速登录失败
    10. 改进 关闭代理时仅根据当前代理模式进行清理

    2.8.1 (2022-07-23)

    版本亮点

    1. 新增 Steam 云存档管理功能,可自行上传或删除 Steam 云存档
    2. 库存游戏支持筛选支持 Steam 云存档的游戏
    3. ASF 升级至 V5.2.7.7
    4. .NET 运行时升级至 6.0.7,使用 fde 版本需要升级运行时
    5. 库存游戏中解锁成就与挂时长支持 macOS 与 Linux 系统
    6. 在设置中可关闭托盘,关闭托盘后关闭主窗口即退出程序
    7. 使用 Yarp.ReverseProxy 重写了反代加速和脚本功能,大幅提升稳定性与性能
    8. Windows 新增 DNS 驱动拦截模式进行本地加速
    9. 令牌交易现在支持查看交易详情,可以确认交易方的 Steam 注册时间等信息
    10. 恢复 Windows x86(32 位) 版本发布

    修复问题

    1. 修复 窗口在某些情况下最大化或最小化恢复时窗口大小会变化的问题
    2. 修复 库存游戏 编辑 Steam 游戏封面时选择自定义图片失败的问题
    3. 修复 程序内在显示某些图片时会出现错乱马赛克的问题
    4. 修复 Linux 上点击关于页面可能因字体引发闪退
    5. 修复 MIUI Android 11 ~ 12 中绑定或换绑手机号页面闪退
    6. 修复 Android 本地加速中已知问题弹窗显示时不应同时跳转引导证书页
    7. 修复 令牌交易确认要求输本地令牌密钥时点击取消也能进行交易确认的问题
    8. 修复 令牌加载输入密码解密时点击取消或输入错误密码没有移除此前的数据问题
    9. 修复 2.8.0 中出现因脚本导致的启动加速服务失败
    10. 修复 网络加速中图标在跟随系统的浅色模式下字体颜色不应为白色
    11. 修复 系统代理模式与 PAC 代理模式中监听地址为 0.0.0.0 时出现的错误
    12. 修复 切换页面 UI 布局错乱
    ',19),c={id:"_2-8-0-2022-07-23",tabindex:"-1"},p=i("a",{class:"header-anchor",href:"#_2-8-0-2022-07-23","aria-hidden":"true"},"#",-1),_=i("h4",{id:"公告",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#公告","aria-hidden":"true"},"#"),l(" 公告")],-1),x=i("li",null,"非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能",-1),m=i("li",null,"因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。",-1),S=i("li",null,"自动更新目前仅 Windows 端可用,且由于下载渠道限速可能导致无法更新成功,推荐在官网链接的网盘或群文件中下载压缩包解压覆盖更新(应用商店版由商店更新不受此影响)",-1),b=i("li",null,"在 Android 上因系统限制,目前的加速功能无法正常使用,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能",-1),f={href:"https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0",target:"_blank",rel:"noopener noreferrer"},A=i("li",null,"Windows x86 与 x64 版本令牌本机加密互不兼容,使用两者版本时注意令牌加密后的文件不能共用。",-1),w=i("li",null,"由于新版本加速功能重构,调整了部分加速项目,这会影响旧版本程序使用加速功能",-1),W=i("li",null,"为了能继续维持开发,从此版本开始将会添加程序内广告,赞助用户可以在设置中关闭所有广告",-1),D=e('

    版本亮点

    1. 新增 Steam 云存档管理功能,可自行上传或删除 Steam 云存档
    2. 库存游戏支持筛选支持 Steam 云存档的游戏
    3. ASF 升级至 V5.2.7.7
    4. .NET 运行时升级至 6.0.7,使用 fde 版本需要升级运行时
    5. 库存游戏中解锁成就与挂时长支持 macOS 与 Linux 系统
    6. 在设置中可关闭托盘,关闭托盘后关闭主窗口即退出程序
    7. 使用 Yarp.ReverseProxy 重写了反代加速和脚本功能,大幅提升稳定性与性能
    8. Windows 新增 DNS 驱动拦截模式进行本地加速
    9. 令牌交易现在支持查看交易详情,可以确认交易方的Steam注册时间等信息
    10. 恢复 Windows x86(32 位) 版本发布

    修复问题

    1. 修复 窗口在某些情况下最大化或最小化恢复时窗口大小会变化的问题
    2. 修复 库存游戏 编辑 Steam 游戏封面时选择自定义图片失败的问题
    3. 修复 程序内在显示某些图片时会出现错乱马赛克的问题
    4. 修复 Linux 上点击关于页面可能因字体引发闪退
    5. 修复 MIUI Android 11 ~ 12 中绑定或换绑手机号页面闪退
    6. 修复 Android 本地加速中已知问题弹窗显示时不应同时跳转引导证书页
    7. 修复 令牌交易确认要求输本地令牌密钥时点击取消也能进行交易确认的问题
    8. 修复 令牌加载输入密码解密时点击取消或输入错误密码没有移除此前的数据问题

    2.7.2 (2022-04-30)

    版本亮点

    1. ASF 升级至 V5.2.5.5

    修复问题

    1. 修复 判断 Administrator 或 Root 权限函数错误,例如导致 Windows 上开机自启失效等其他问题

    已知问题

    • 除 Windows 之外的平台此软件自动更新尚不可用
    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上版本
      • Linux
        • 窗口弹出位置不正确
        • 鼠标指针浮动样式不正确
      • Windows
        • Windows 11
          • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
          • 仅 .NET 6.0 受此影响,在内部版本 22509 中修复,见 issue
          • 解决方案: 可尝试使用旧版本 例如 v2.3.0
        • Windows 7
          • 先决条件
            • 需要安装 Extended Security Update
          • 在不符合先决条件的情况下运行可能导致
            • 程序无法正常运行
              • 解决方案
                • 使用 Windows Update 更新系统补丁
            • 运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll
            • 解决方案
              • 下载 api-ms-win-core-winrt-l1-1-0.dll 文件放入程序根目录(Steam++.exe 所在文件夹)
                • 从 Github 上直接下载
                • 从 Gitee 上直接下载
    • Android
      • 本地加速
        • 因 Android 7(Nougat API 24) 之后的版本不在信任用户证书,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能

    2.7.1 (2022-04-28)

    修复问题

    1. 修复 库存游戏中挂时长失效
    2. 修复 Steam 库存游戏在 Steam 账号切换后自动刷新失败的问题
    3. 修复 Steam 库存游戏编辑带有本地化名称的游戏无效的问题
    4. 修复 Android 上登录后出现两个退出登录按钮
    5. 改进 Android 上第三方快速登录使用系统默认浏览器
    6. 修复 一些图片加载失败不显示的问题
    7. 改进 从本地加载图片减少不必要的内存分配

    2.7.0 (2022-04-25)

    版本亮点

    1. Android 支持 VPN 模式 ( 推荐 ) 进行本地加速
    2. 新增 Steam 游戏信息编辑功能,可修改游戏名称、图片、启动项等数据并同步至 Steam 客户端生效
    3. ASF 升级至 V5.2.5.4
    4. 优化了显示图片时 GPU 占用
    5. 优化库存游戏和脚本内存占用
    6. 库存游戏编辑功能支持从 SteamGridDB 匹配预览和下载图片
    7. 网络加速新增 MEGA 网盘反代服务
    8. macOS 支持 Arm64 ( Apple Silicon )

    修复问题

    1. 修复 本地令牌 无令牌刷新时提示密码错误
    2. 改进 Android 端 本地令牌 列表样式第一条与最后一条的上下外边距
    3. 改进 俄语翻译,由 vanja-san 提供
    4. 改进 .NET 运行时升级至 6.0.4(仅 Desktop 端)
    5. 改进 脚本配置 未启动时的内存占用,以及减少总体内存占用率
    6. 修复 Hosts 加速模式下使用仅启用脚本功能导致死循环
    7. 改进 Linux 端 可监听 443 端口配置
    8. 修复 Windows 端,动态桌面背景窗口显示时一些可能导致闪退的潜在问题
    9. 修复 Android 端,因 CheckBox 导致在低于 6.0 Marshmallow 系统上引发的闪退
    10. 修复 Desktop 高 DPI 分辨率下菜单图标会显示模糊的问题
    11. 修复 Windows 端,切换至网络加速菜单时可能会出现 UI 错乱的问题
    12. 修复 Desktop 端,某些情况库存游戏会卡住无限加载的问题
    13. 修复 网络加速 Onedrive 加速失效问题
    14. 修复 消息框不再提醒复选框勾上可能不生效的问题
    15. 修复 Windows 端, JumpList 切换 Steam Beta 账号失效的问题
    16. 修复 ASF,当使用 IPC.config 时,程序内打开网页端口号值不正确
    ',19),C={id:"_2-7-0-pre3-2022-04-01",tabindex:"-1"},k=i("a",{class:"header-anchor",href:"#_2-7-0-pre3-2022-04-01","aria-hidden":"true"},"#",-1),U=e('

    版本亮点

    1. Android 支持 VPN 模式(推荐) 进行本地加速

    修复问题

    1. 修复 本地令牌 无令牌刷新时提示密码错误
    2. 改进 Android 端 本地令牌 列表样式第一条与最后一条的上下外边距
    3. 改进 俄语翻译,由 vanja-san 提供
    4. 修复 Android 端,因 CheckBox 导致在低于 6.0 Marshmallow 系统上引发的闪退

    已知问题

    1. 停止加速时不会关闭 VPN,需手动关闭(在 pre2 中已修复)
    2. 网络加速列表在首次启动时有一定几率不显示,按住列表区域上下滑动即可显示
    3. 可能是 AndroidX.Navigation.UI 2.3.5.x 的问题,此包 2.4 也有一些严重问题,View 的显示隐藏状态不正确,可能需要换一个实现才能彻底解决
    4. Android 上的网络加速应该对网页,其他 App 都能生效,但是对本 App 不能生效,例如 ASF 功能需要访问 Steam 社区,因为加速原理上使用本地加速,加速自身会导致网络请求死循环,暂无解决方案

    2.6.9 (2022-03-03)

    版本亮点

    1. ASF 升级至 V5.2.3.5
    2. ASF 配置 中新增 设置自定义密钥(ASF_CRYPTKEY) 与 导入 Bot 文件
    3. Linux 发行压缩包由 7z 格式更改为 tar.zst
    4. 网络加速 支持 IPv6 网络访问 Steam 讨论/留言相关功能
    5. 网络加速 支持 Steam 商店 访问被限制的游戏页面
    6. 网络加速 新增了部分被限制的 CDN 加速,支持访问 stackoverflow
    7. 账号切换 家庭库共享管理新增暂时禁用启用指定账号的功能 可在排序失效时使用

    修复问题

    1. 改进 网络加速 中的代理证书生成
    2. 改进 账号切换 中读取 Vdf 配置操作
    3. 修复 Desktop 端 家庭共享库管理 在 Steam Beta 版上不能正常使用
    4. 修复 网络加速 Twitch 聊天服务链接不上的问题
    5. 修复 网络加速 github.io 加速影响部分仓库访问 404 的问题
    6. 修复 网络加速 Steam 社区加速后会出现【请重新输入下方验证码中的字符来验证此为人工操作】的问题
    7. 暂时移除了网络加速中部分失效的加速项目
    8. 修复 令牌交易 登录状态失效时刷新应该回到登录界面
    9. 改进 本地令牌 移除令牌时的提示
    10. 修复 网络加速 滚动条错误滚动的问题

    2.6.7 (2022-02-08)

    版本亮点

    1. 修复更新后无法启动的 Bug
    2. 当前版本仅发布受影响平台的包

    修复问题

    1. 修复 目录迁移跨卷错误导致的无法启动

      仅当 Windows 安装版之前安装在非系统盘上引发

      Linux 也可能受影响(较小概率),能启动则可忽略此更新,其他平台不受此影响

    2. 优化 程序内图片资源占用空间

    ',16),L={id:"_2-6-6-2022-02-08",tabindex:"-1"},P=i("a",{class:"header-anchor",href:"#_2-6-6-2022-02-08","aria-hidden":"true"},"#",-1),g=e('

    版本亮点

    1. 修复更新后无法启动的 Bug
    2. 当前版本仅发布受影响平台的包

    修复问题

    1. 修复 目录迁移跨卷错误导致的闪退,仅当 Windows 安装版之前安装在非系统盘上引发,Linux 也可能受影响,其他平台不受此影响
    2. 优化 程序内图片资源占用空间

    已知问题

    • Desktop
      • Windows
      • 安装版
        • 问题一:从 < 2.6.5 版本升级至 2.6.5 出现的无法启动
          • 解决方案
          • 退出 Steam++
          • 下载 群文件 > Steam++ v2.6.5 ~ v2.6.6>System.Common.CoreLib.dll
          • 将 dll 文件替换至 安装目录\\Steam++\\Bin
          • 启动 Steam++
        • 问题二:从 < 2.6.6 版本升级至 2.6.6 第二次启动程序时丢失数据,比如登录状态,设置项,已下载的脚本,缓存的图片文件等(此问题无法通- 过新版本修复,只能手动修复)
          • 解决方案
          • 退出 Steam++
          • 按 Win + R 键打开运行,输入 %LocalAppData%\\Steam++ 回车,将此文件夹备份到其他目录后删除该目录
          • 输入 %Tmp%\\Steam++ 同上操作
          • 按问题一中步骤 1.2 开始操作

    2.6.5 (2022-01-05)

    版本亮点

    1. ASF 升级至 V5.2.2.4
    2. Android 12 适配
    3. Android 上的 ASP.NET Core 升级至 2.2.5
    4. Desktop 上的 Avalonia 升级至 0.10.12

    修复问题

    1. 修复 Steam Beta 版账号切换失效
    2. 修复 ASF 在线配置文件生成器链接错误
    3. 修复 Linux 上运行时闪退
    4. 修复 Windows 7 上点击任务栏图标没有最小化
    5. 改进 打开 Web 链接失败时候的错误提示
    6. 改进 JumpList 在 Windows 10.0.10586 上使用 UWP API
    7. 改进 Windows 安装包默认路径使用 $PROGRAMFILES64
    8. 改进 Windows 安装版 AppData 与 Cache 文件夹不再使用根目录
    9. 改进 Android Apk 包使用单一包,不再根据 ABI 拆分
    10. 改进 Android 本地加速与 ASF 使用前台服务运行
    11. 改进 本地加速 增加 重置 Hosts 文件 与 打开 Hosts 所在文件夹
    12. 改进 Hosts 文件存在多个 Mark 导致失败的错误提示

    2.6.4 (2022-01-05)

    版本亮点

    1. CLR 升级至 6.0.1,Avalonia 升级至 0.10.11,等其他依赖项升级
    2. 新增 macOS ARM64 包,用于 M1 系列设备
    3. 改进 本地令牌-确认交易 窗口标题中显示令牌名称
    4. 新增 Android x64 架构包,适用于 Intel、AMD 芯片的设备或虚拟机
    5. 新增 Android ASF 本地挂卡功能 (Beta)
    6. 新增 Android 网络加速功能 (Alpha)
    7. 改进 Android 冷启动速度
    8. 改进 Android 导入令牌成功后回到列表页

    修复问题

    1. 修复 Linux / macOS 因默认字体导致启动时崩溃(core dumped) #827
    2. 修复 ASF Json 配置文件改变时引发闪退 #793
    3. 修复 macOS 系统代理
    4. 修复 Android 屏幕捕获设置项不生效
    5. 修复 Android 令牌列表有时不显示值
    6. 修复 Android 确认交易 全选/全不选 复选框勾选时逻辑不正确执行

    已知问题

    • 除 Windows 之外的平台此软件自动更新尚不可用
    • Android
      • 本地加速
        • VPN 模式不能正常工作
        • 需要在 Wifi 或 流量 上手动设置代理地址,关闭时手动清除设置
        • Android 7+ 不信任用户证书
    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上版本
      • Linux
        • Hosts 代理模式可能无法配置成功,推荐使用系统代理模式
        • 系统代理模式下discord更新下载加速有问题暂不可用
        • 窗口弹出位置不正确
        • 鼠标指针浮动样式不正确
    • Windows
      • Windows 11
        • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
        • 仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue
        • 解决方案: 可尝试使用旧版本 例如 v2.3.0
      • Windows 7
        • 先决条件
          • 需要安装 Extended Security Update
        • 在不符合先决条件的情况下运行可能导致
          • 程序无法正常运行
          • 运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll
        • 解决方案
          • 因 Windows 7 延长结束日期以于 2020 年 1 月 14 日结束支持
            • 所以必须安装 Extended Security Update 支持,在安装第三年的补丁后结束支持日期可延长至 2023 年 1 月 10 日
            • 可安装 第三方 补丁整合包例如 UpdatePack7R2 或 购买官方 ESU 产品密钥 解决
          • 下载 api-ms-win-core-winrt-l1-1-0.dll 文件放入程序根目录(Steam++.exe 所在文件夹)
            • 从 Github 上直接下载
            • 从 Gitee 上直接下载
            • 从 NuGet 上下载后提取
              • .nupkg 文件可使用解压工具打开或解压,找到此文件复制即可

    2.6.3 (2021-12-12)

    版本亮点

    1. 修复自 2.6.2 以来的一些问题,优化程序体积

    修复问题

    1. 修复 Win7 因不支持 http2 导致无法连接服务端(已升级至 2.6.2 的版本只能手动更新)
    2. 修复 库存游戏 挂时长列表 可能引发的闪退
    3. 修复 高 DPI 下 ASF Bot UI 错误
    4. 修复 hosts 加速关闭或退出时因其他软件占用 hosts 文件引发的闪退(例如雷神加速器)
    5. 修复 ASF 在 Windows 上的一些错误
    6. 改进 MessageBox 消息框的文本样式
    7. 改进 从此版本开始不再使用 R2R/AOT 编译,有效的减少了程序占用体积

    已知问题

    ',24),v=e("
  • 除 Windows 之外的平台此软件自动更新尚不可用
  • Desktop
    • macOS
      • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上版本
    • Linux
      • Hosts 代理模式可能无法配置成功,推荐使用系统代理模式
      • 系统代理模式下discord更新下载加速有问题暂不可用
      • 窗口弹出位置不正确
      • 鼠标指针浮动样式不正确
  • ",2),I=i("li",null,[l("Windows 11 "),i("ul",null,[i("li",null,"在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005"),i("li",null,"仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue"),i("li",null,"解决方案: 可尝试使用旧版本 例如 v2.4.12")])],-1),M=i("li",null,[l("先决条件 "),i("ul",null,[i("li",null,"需要安装 Extended Security Update")])],-1),E=i("li",null,[l("在不符合先决条件的情况下运行可能导致 "),i("ul",null,[i("li",null,"程序无法正常运行")])],-1),R=i("li",null,"运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll",-1),F=i("li",null,[l("因 Windows 7 延长结束日期以于 2020 年 1 月 14 日结束支持 "),i("ul",null,[i("li",null,"所以必须安装 Extended Security Update 支持,在安装第三年的补丁后结束支持日期可延长至 2023 年 1 月 10 日"),i("li",null,"可安装 第三方 补丁整合包例如 UpdatePack7R2 或 购买官方 ESU 产品密钥 解决")])],-1),T={href:"https://github.com/BeyondDimension/SteamTools/raw/develop/references/runtime.win7-x64.Microsoft.NETCore.Windows.ApiSets/api-ms-win-core-winrt-l1-1-0.dll",target:"_blank",rel:"noopener noreferrer"},O={href:"https://gitee.com/rmbgame/SteamTools/raw/develop/references/runtime.win7-x64.Microsoft.NETCore.Windows.ApiSets/api-ms-win-core-winrt-l1-1-0.dll",target:"_blank",rel:"noopener noreferrer"},N={href:"https://www.nuget.org/api/v2/package/runtime.win7-x64.Microsoft.NETCore.Windows.ApiSets/1.0.1",target:"_blank",rel:"noopener noreferrer"},B=i("ul",null,[i("li",null,".nupkg 文件可使用解压工具打开或解压,找到此文件复制即可")],-1),G=e('

    2.6.2 (2021-12-10)

    版本亮点

    1. ASF 升级至 V5.2.0.10
    2. 新增 ASF 控制台字体大小、最大行数设置项
    3. 新增 Steam 下载完成定时关机、睡眠功能
    4. 新增 代理设置可自定义 DNS
    5. 新增 ASF 编辑/移除 Bot 功能
    6. 新增 Microsoft/Xbox 相关加速服务 (需要升级到 2.6.2 之后可用)
    7. 新增 Uplay 相关加速服务 (需要升级到 2.6.2 之后可用)
    8. 新增 OneDrive 等更多相关加速服务 (需要升级到 2.6.2 之后可用)
    9. 优化 Desktop 加速代理性能
    10. 优化 Desktop 脚本注入打包的性能
    11. 优化 Desktop 已安装游戏加载性能
    12. 从此版本开始将使用 Github Action 自动化部署发布

    修复问题

    1. 改进 Desktop 网络加速现默认使用阿里 DNS(223.5.5.5, 223.6.6.6)
    2. 改进 自动更新包文件校验失败时提示
    3. 改进 自动更新失败时将自动跳转官网
    4. 改进 ASF IPC 默认端口号由 1242 改为 6242
    5. 修复 Linux 与 macOS 中 ASF-UI 解压包文件夹分隔符不正确
    6. 修复 Windows Hosts 只读时尝试取消只读属性的操作没有正确执行
    7. 修复 Windows 此软件自动更新删除更新包缓存时因文件占用引发的中断
    8. 修复 Desktop 高 DPI 下动态桌面错位
    9. 修复 本地令牌确认交易在登录时可能会卡住
    10. 修复 Windows 启用动态桌面后全屏可能导致窗口冻结无法操作
    11. 修复 Windows 动态背景有时会被其他窗口遮挡
    12. 改进 本地令牌 登录验证码无法加载时可点击在浏览器中查看验证码图片
    13. 修复 Desktop 加速代理中可能出现的一些错误
    14. 改进 Desktop 令牌详情 UI
    15. 改进 Desktop 账号切换中的用户名信息现在默认隐藏
    16. 改进 Desktop 深色模式与浅色模式的视觉效果
    17. 修复 Pixiv 加速不能登录的问题
    18. 修复 Twitch 加速不计算掉宝进度的问题
    19. 修复 Discord 加速检测更新失败导致无法启动客户端的问题
    20. 修复 Windows 因添加 JumpList 时可能导致的闪退
    21. 修复 Desktop 本地令牌 点击锁定后输入密码按回车解锁会循环无限触发锁定的问题

    已知问题

    ',6),y=i("li",null,"除 Windows 之外的平台此软件自动更新尚不可用",-1),V={href:"https://support.apple.com/zh-cn/guide/mac-help/mh40616/10.15/mac/10.15",target:"_blank",rel:"noopener noreferrer"},H=i("li",null,[l("Linux "),i("ul",null,[i("li",null,"Hosts 代理模式可能无法配置成功,推荐使用系统代理模式"),i("li",null,"系统代理模式下discord更新下载加速有问题暂不可用"),i("li",null,"窗口弹出位置不正确"),i("li",null,"鼠标指针浮动样式不正确")])],-1),J=e("
  • Windows
    • Windows 11
      • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
      • 仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue
      • 解决方案: 可尝试使用旧版本 例如 v2.3.0
    • Windows 7
      • 先决条件
        • 需要安装 Extended Security Update
      • 在不符合先决条件的情况下运行可能导致
        • 程序无法正常运行
        • 运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll
      • 解决方案
        • 因 Windows 7 延长结束日期以于 2020 年 1 月 14 日结束支持
          • 所以必须安装 Extended Security Update 支持,在安装第三年的补丁后结束支持日期可延长至 2023 年 1 月 10 日
          • 可安装 第三方 补丁整合包例如 UpdatePack7R2 或 购买官方 ESU 产品密钥 解决
        • 下载 api-ms-win-core-winrt-l1-1-0.dll 文件放入程序根目录(Steam++.exe 所在文件夹)
          • 从 Github 上直接下载
          • 从 Gitee 上直接下载
          • 从 NuGet 上下载后提取
            • .nupkg 文件可使用解压工具打开或解压,找到此文件复制即可
  • ",1),z=e('

    2.6.1 (2021-11-23)

    新增内容

    1. CLR 更新至 6.0 RTM
    2. 新增 捐助功能,在关于中可使用 爱发电、Ko-fi、Patreon 平台捐助
    3. 新增 ASF 本地挂卡功能 (Beta)
    4. 新增 本地令牌搜索功能
    5. 新增 库存游戏右键菜单导航到 Steam 客户端
    6. 新增 Windows 11 上可设置材质 云母(Mica)
    7. 新增 搜索框支持拼音搜索
    8. 新增 框架依赖部署模式(FDE),可通过共享运行库减少磁盘占用空间,仅支持 Windows 与 Linux
    9. 新增 Windows 上可将动态壁纸设置为程序背景
    10. 新增 桌面端 背景材质设置,并修复之前AcrylicBlur透明效果异常问题
    11. 改进 桌面端 UI 适配 Windows 11 风格
    12. 改进 Hosts 文件在 Windows 上默认使用 UTF8WithBOM 编码
    13. 改进 账号注销现需要通过手机号或昵称验证
    14. 改进 令牌账号加密、导出的界面UI和导入过程中的提示
    15. 改进 Steam 账号切换支持头像框、等级和游戏中信息的显示
    16. 改进 文本框窗口弹出时将自动设置焦点
    17. 改进 Windows 上端口占用提示文本显示占用该端口的进程名
    18. 改进 Linux 上存储数据遵循 XDG Base Directory Specification
    19. 改进 主题切换现在不在需要重启程序,提升主题切换速度
    20. 改进 本地令牌账号导入过程中的说明提示
    21. 改进 Windows 上账号切换启动 Steam 时,默认不在以管理员身份启动
    22. 改进 macOS 上修改 hosts 文件可以不用每次输入密码

    修复问题

    1. 修复 本地令牌 中确认交易时 Http 302 重定向错误
    2. 修复 Linux 与 macOS 上代理错误
    3. 修复 库存游戏无限加载
    4. 修复 脚本未启用时保存状态会全部未启用
    5. 修复 桌面端 上主题运行时切换与跟随系统
    6. 修复 Windows 上窗口边缘滚动条难以拖拽
    7. 修复 本地令牌 确认交易登录时会错误的提示没有开启加速
    8. 修复 本地令牌 确认交易有时会卡在提示登录中的问题
    9. 修复 Windows 上资源管理器重启后托盘消失,以及尝试修复开机自启时有时不显示托盘
    10. 修复 桌面端 上导航栏的弹出菜单失去焦点时不会自动隐藏的问题
    11. 修复 在 2.6.0 中账号切换、挂时长列表、ASF-UI 无效或缺失的问题

    已知问题

    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
        • 自动更新不可用
      • Linux
        • 在 Deepin 中托盘不生效,可通过 Exit.sh 退出程序
        • 窗口弹出位置不正确
        • 自动更新不可用
        • 鼠标指针浮动样式不正确
      • Windows
        • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
        • 仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue
        • 解决方案: 可尝试使用早期版本,例如 v2.3.0
      • Shared
        • 拼音搜索不能正确的识别多音字
        • 在 仅有一个文本框的窗口 上使用回车确定可能导致弹窗死循环,例如本地令牌中的需要解密才能继续
        • 解决方案: 点击右下方的确定按钮完成输入
        • Linux 与 macOS 上 ASF-UI 解压目录路径分隔符不正确
        • 解决方案: 可下载 www.zip 解压覆盖,目录可在 ASF 配置 - ASF 存储空间 - 打开 ASF WebUI文件夹 中打开
    • Mobile
      • Android
        • 确认交易列表刷新后数据有时会显示不正确
        • 自动更新暂不可用
    ',7),j={id:"下载指南",tabindex:"-1"},Y=i("a",{class:"header-anchor",href:"#下载指南","aria-hidden":"true"},"#",-1),Q={href:"https://github.com/BeyondDimension/SteamTools/blob/2.6.1/download-guide.md",target:"_blank",rel:"noopener noreferrer"},X=e('

    2.4.12 (2021-09-06)

    新增内容

    1. 新增 Desktop 上网络加速代理设置
    2. 新增 Android 上屏幕捕获设置项,用于允许截图或录制视频
    3. 新增 Windows 托盘菜单支持切换账号与复制令牌
    4. 新增 Linux/macOS 托盘菜单改进与完善

    修复问题

    1. 修复 Desktop 上用户头像应当为圆形而不是方形
    2. 修复 Android 上切换系统语言可能引发的闪退
    3. 修复 Windows 10 上启动时可能出现的网络连接中断提示
    4. 修复 Android 上令牌倒计时可能引发的闪退
    5. 修复 Desktop 上库存游戏刷新可能引发的闪退
    6. 修复 Desktop 上可能少加载了部分已安装游戏
    7. 修复 Android 上暗色模式下某些区域背景为白色
    8. 改进 Android 上令牌刷新倒计时
    9. 改进 本地令牌名称最大长度限制 32 个字符
    10. 改进 Desktop 上网络加速 UI
    11. 修复 Desktop 上默认头像可能引发的闪退
    12. 改进 Desktop 上左侧菜单图标

    已知问题

    • Desktop
      • macOS
        • 默认代理设置不正确,需将 代理设置-加速设置-本机监听IP地址 改为 0.0.0.0,才能正常开启代理
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
        • 某些窗口顶部会有两个标题栏
        • 自动更新不可用
      • Linux
        • 当使用 root 权限运行时托盘不生效,可通过 Exit.sh 退出程序
        • 窗口弹出位置不正确
        • 窗口顶部会有两个标题栏
        • 自动更新不可用
      • Shared
        • 主题切换需重启软件后生效,且跟随系统暂不可用
    • Mobile
      • Android
        • 确认交易列表刷新后数据显示不正确
        • 自动更新暂不可用

    下载指南

    • Windows
      • 如果你使用 Intel、AMD 的 x64 芯片的 Mac(较为普遍),则下载文件名中带有 win_x64 的文件
    • macOS
      • 如果你使用 Intel、AMD 的 x64 芯片的 Mac(较为普遍),则下载文件名中带有 macos_x64 的文件
      • 如果你使用 ARM64 芯片的 Mac(较为稀有),例如 M1,则下载文件名中带有 macos_x64 的文件可通过 Rosetta 2 运行
    • Linux
      • 如果你使用 Intel、AMD 的 x64 芯片的 PC(较为普遍)则下载文件名中带有 linux_x64 的文件
      • 如果你使用 ARM64 芯片的 PC(较为稀有)例如 Raspberry Pi Model 3+,则下载文件名中带有 linux_arm64 的文件
      • 如果你使用 ARM32 芯片的 PC(较为稀有)例如 Raspberry Pi Model 2+,则下载文件名中带有 linux_arm 的文件
    • Android
      • 如果你使用 ARM64 芯片的设备(较为普遍)则下载文件名中带有 android_arm64_v8a 的文件
      • 如果你使用 ARM32 芯片的设备(较为稀有)通常为 14 年下半年之前生产的设备,则下载文件名中带有 android_armeabi_v7a 的文件

    2.4.11 (2021-08-24)

    新增内容

    1. 部分新增文本的其他语言翻译

    修复问题

    1. 修复 Desktop 上因登录或注册后头像引发的无限闪退
    2. 修复 Windows 上托盘菜单有时无法打开窗口
    3. 改进 Desktop 上库存游戏右键菜单隐藏游戏项位置
    4. 移除 Desktop 上菜单栏用户手机号显示
    5. 修复 Desktop 上库存游戏中磁盘占用 UI 错位
    6. 修复 Desktop 上快速登录等待中 UI 错位
    7. 修复一些杂项问题,增强程序稳定性

    已知问题

    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
        • 某些窗口顶部会有两个标题栏
        • 自动更新不可用
      • Linux
        • 托盘不生效,这将影响程序不能正常退出
        • 窗口弹出位置不正确
        • 窗口顶部会有两个标题栏
        • 自动更新不可用
      • Shared
        • 主题切换需重启软件后生效,且跟随系统暂不可用
    • Mobile
      • Android
        • 本地令牌倒计时存在误差不够精确,可能导致令牌值不一致
        • 确认交易列表刷新后数据显示不正确
        • 自动更新暂不可用

    下载指南

    • Linux
      • 如果你使用 Intel、AMD 芯片的 PC(较为普遍)则下载文件名中带有 linux_x64 的文件
      • 如果你使用 ARM64 芯片的 PC(较为稀有)例如 Raspberry Pi Model 3+,则下载文件名中带有 linux_arm64 的文件
      • 如果你使用 ARM 芯片的 PC(较为稀有)例如 Raspberry Pi Model 2+,则下载文件名中带有 linux_arm 的文件
    • Android
      • 如果你使用 ARM64 芯片的设备(较为普遍)则下载文件名中带有 android_arm64_v8a 的文件
      • 如果你使用 ARM 芯片的设备(较为稀有)通常为 14 年下半年之前生产的设备,则下载文件名中带有 android_armeabi_v7a 的文件
    ',18),K={id:"_2-4-10-2021-08-24",tabindex:"-1"},$=i("a",{class:"header-anchor",href:"#_2-4-10-2021-08-24","aria-hidden":"true"},"#",-1),q=e('

    新增内容

    1. Linux/macOS 版本中的 CLR 升级至 .NET 6 Preview 7
    2. Desktop 现已适配 WinUI 3 / Windows 11 / Fluent Design System 样式风格
    3. 新增 Android 上从图库选择二维码图片导入令牌
    4. 新增 Android 上文件导入选择二维码图片导入令牌
    5. 新增 Desktop 上现可刷新头像

    修复问题

    1. 修复 Desktop 上账号切换功能
    2. 改进 Desktop 上受保护的成就不在支持勾选
    3. 修复 Linux 上因字体引发的启动时闪退
    4. 修复 Android 上扫码导入功能
    5. 修复 Android 上 Toast 不能正常显示
    6. 改进 Android 上的令牌导入方式
    7. 修复 Android 上导入带密码的令牌时不显示密码输入框
    8. 修复 导入带密码的令牌时密码输入文本框窗口不能正确取消
    9. 修复 Desktop 上使用火狐浏览器无法进行快速登录
    10. 修复 Android 8.0 以下启动时闪退
    11. 修复 Desktop 上部分用户库存游戏已安装游戏无法读取
    12. 尝试修复 Windows 上托盘菜单有时无法打开窗口
    13. 改进 Android 上确认交易页面上的显示隐藏逻辑

    已知问题

    • Desktop
      • macOS
      • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
      • 某些窗口顶部会有两个标题栏
      • 自动更新不可用
    • Linux
      • 托盘不生效,这将影响程序不能正常退出
      • 窗口弹出位置不正确
      • 窗口顶部会有两个标题栏
      • 自动更新不可用
    • Shared
      • 主题切换需重启软件后生效,且跟随系统暂不可用
    • Mobile
      • Android
        • 本地令牌倒计时存在误差不够精确,可能导致令牌值不一致
        • 确认交易列表刷新后数据显示不正确
        • 自动更新暂不可用

    下载指南

    • Linux
      • 如果你使用 Intel、AMD 芯片的 PC(较为普遍)则下载文件名中带有 linux_x64 的文件
      • 如果你使用 ARM64 芯片的 PC(较为稀有)例如 Raspberry Pi Model 3+,则下载文件名中带有 linux_arm64 的文件
      • 如果你使用 ARM 芯片的 PC(较为稀有)例如 Raspberry Pi Model 2+,则下载文件名中带有 linux_arm 的文件
    • Android
      • 如果你使用 ARM64 芯片的设备(较为普遍)则下载文件名中带有 android_arm64_v8a 的文件
      • 如果你使用 ARM 芯片的设备(较为稀有)通常为 14 年下半年之前生产的设备,则下载文件名中带有 android_armeabi_v7a 的文件

    2.4.9 (2021-08-18)

    新增内容

    1. CLR 升级至 .NET 6 Preview 7
    2. 新增 库存游戏可浏览已安装的游戏文件夹
    3. 新增 创意工坊划词翻译脚本
    4. 新增 通用设置-使用硬件加速设置项,也可通过命令行参数禁用硬件加速启动 -clt devtools -disable_gpu
    5. 新增 账号切换内新增家庭库共享排序功能,该功能可调整当前设备的多个家庭共享账号库存的优先级顺序。
    6. 新增 QQ 快速登录渠道
    7. 新增 意大利语支持
    8. 新增 西班牙语支持
    9. 新增 通用设置内可支持访问程序的 AppData、Cache、Logs 文件夹和查看缓存及日志占用空间大小情况
    10. 新增 本地令牌可以查看令牌二维码导入到移动端
    11. Android/macOS/Linux 版现已开启 Beta/Alpha 测试,可从 GitHub/Gitee 上下载

    修复问题

    1. 修复 开机自启动在 2.4.x 中不生效
    2. 改进 深色和浅色模式的视觉效果
    3. 改进 社区加速计时逻辑
    4. 更正 导出令牌窗口标题文本错误
    5. 改进 添加令牌弹窗可调整窗口大小
    6. 改进 本地令牌自定义修改名称操作
    7. 修复 我的面板中出现垂直滚动条
    8. 改进 解锁成就风险提示弹窗可以设置不再提示
    9. 修复 任务栏位于顶部时托盘菜单位置不正确
    10. 修复 挂时长运行中列表移除游戏时引发的闪退
    11. 改进 自动更新机制
    12. 改进 开机自启动现仅对当前用户生效
    13. 改进 第三方账号快速登录,现使用系统浏览器进行快速登录
    14. 改进 现已编译为 ReadyToRun (R2R) 格式,这将改进应用程序的启动时间和延迟(仅 Windows 版)
    15. 修复 库存游戏中部分游戏被错误屏蔽没有加载
    16. 改进 部分语言的翻译文本
    17. 改进 本地令牌上移下移功能顺序错乱问题
    18. 修复 程序在加载库存游戏时有概率闪退的问题
    19. 修复 打开托盘菜单有概率导致程序闪退的问题
    20. 修复 程序启动时界面不会加载任何内容无法正常使用的问题
    21. 改进 账号切换功能 UI
    22. 改进 移除了 CEF 模块,缩减程序体积和运行时内存占用
    23. 改进 库存游戏支持显示已安装游戏占用空间大小
    24. 改进 库存游戏封面大小调节可支持滚动调节
    25. 改进 hosts 文件编码在 Windows 上使用系统的活动代码页(ANSICodePage),例如 GB2312/936,其他操作系统则使用 UTF-8,还原 V1 版本行为
    26. 改进 开始菜单磁贴背景由黑色更改为透明
    27. 修复 账号切换修改账号备注重启后被还原

    已知问题

    • macOS
      • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
      • 自动更新不可用
    • Linux
      • 托盘不生效,这将影响程序不能正常退出
      • 窗口弹出位置不正确
      • 自动更新不可用
    • Android
      • 扫码导入暂不可用

    2.4.1 (2021-06-06)

    已知问题

    • 旧版本不会检测到新版本

    • 由于本机加密 ProtectedData 与 DataProtectionProvider 在 64 位中无法解密 32 位写入的数据

      导致 令牌数据,Steam++平台登录状态等 存储在本地的数据无法解密

      • 解决方案
        • 令牌数据

          先关闭旧版本令牌的本机加密保护在覆盖升级,如果已经升级新版本且没有令牌数据,可以用 2.3.0 版本的压缩包覆盖后再进行操作

        • Steam++平台登录状态

          重新登录即可

    • 由于升级 CEF 90.6.3 导致 微软账号 无法使用 Windows Hello 方式快速登录

    • 开机自启动因本次更新程序路径发生变化而失效

      • 临时解决方案
        • 计算机管理(本地) - 系统工具 - 任务计划程序 - 任务计划程序库 中 找到名称为 Steam++ 的项 双击打开 顶部 Tab 切换到 操作,编辑列表中唯一的操作项 在 起始于(可选)(T): 将目录末尾的 \\Bin 删除即可

    注意事项

    从此版本开始不再支持 32 位操作系统

    由于文件与目录变动较大,推荐使用压缩包覆盖升级,可在群文件或官网中下载(Steam++_win_x64_v2.4.1.7z)

    从之前版本覆盖升级操作指南

    1. 下载压缩包

    2. 退出 Steam++ 程序

    3. 程序根目录下除了 以下 文件夹 外可全部删除

      AppData Cache Logs

    4. 将压缩包解压至根目录

    5. 启动程序

    更新内容

    1. 修复 添加令牌时引发的闪退
    2. CLR 升级至 .NET 6 Preview 4
    3. 64 位程序支持,从此版本开始不再提供 32 位程序支持
    4. CEF 升级至 90.6.3
    5. 改进 程序目录结构,所有相关 dll 将放入 bin 文件夹中
    6. 新增 全新的托盘菜单
    7. 改进 隐藏游戏列表与挂机游戏列表实时刷新
    8. 新增 JumpList 菜单切换账号
    9. 修复 Win7 中右上角按钮样式错误
    10. 改进 缓存获取加速项目数据,避免失败时无数据
    11. 修复 手动检查更新时有概率出现两个新版本窗口
    12. 改进 未使用社区加速时退出程序不再清理 hosts 文件
    13. 修复 托盘菜单弹出位置因 DPI 缩放导致位置不正确
    ',25),Z={id:"_2-4-0-2021-06-06",tabindex:"-1"},ii=i("a",{class:"header-anchor",href:"#_2-4-0-2021-06-06","aria-hidden":"true"},"#",-1),li=e('

    已知问题

    • 旧版本不会检测到新版本

    • 由于本机加密 ProtectedData 与 DataProtectionProvider 在 64 位中无法解密 32 位写入的数据

      导致 令牌数据,Steam++平台登录状态等 存储在本地的数据无法解密

      • 解决方案
        • 令牌数据

          先关闭旧版本令牌的本机加密保护在覆盖升级,如果已经升级新版本且没有令牌数据,可以用 2.3.0 版本的压缩包覆盖后再进行操作

        • Steam++平台登录状态

          重新登录即可

    • 由于升级 CEF 90.6.3 导致 微软账号 无法使用 Windows Hello 方式快速登录

    • 开机自启动因本次更新程序路径发生变化而失效

      • 临时解决方案
        • 计算机管理(本地) - 系统工具 - 任务计划程序 - 任务计划程序库 中 找到名称为 Steam++ 的项 双击打开 顶部 Tab 切换到 操作,编辑列表中唯一的操作项 在 起始于(可选)(T): 将目录末尾的 \\Bin 删除即可

    注意事项

    从此版本开始不再支持 32 位操作系统

    由于文件与目录变动较大,推荐使用压缩包覆盖升级,可在群文件或官网中下载(Steam++_win_x64_v2.4.1.7z)

    从之前版本覆盖升级操作指南

    1. 下载压缩包

    2. 退出 Steam++ 程序

    3. 程序根目录下除了 以下 文件夹 外可全部删除

      AppData Cache Logs

    4. 将压缩包解压至根目录

    5. 启动程序

    更新内容

    1. 修复 添加令牌时引发的闪退
    2. CLR 升级至 .NET 6 Preview 4
    3. 64 位程序支持,从此版本开始不再提供 32 位程序支持
    4. CEF 升级至 90.6.3
    5. 改进 程序目录结构,所有相关 dll 将放入 bin 文件夹中
    6. 新增 全新的托盘菜单
    7. 改进 隐藏游戏列表与挂机游戏列表实时刷新
    8. 新增 JumpList 菜单切换账号
    9. 修复 Win7 中右上角按钮样式错误
    10. 改进 缓存获取加速项目数据,避免失败时无数据
    11. 修复 手动检查更新时有概率出现两个新版本窗口
    12. 改进 未使用社区加速时退出程序不再清理 hosts 文件

    2.3.0 (2021-05-25)

    1. 改进 端口被占用检测进程名
    2. 修复 部分 Toast 没有正确显示
    3. 新增 账号注销功能
    4. 改进 hosts 文件写入无权操作时显示的错误文本
    5. 新增 快速登录后可绑定手机号
    6. 新增 解绑快速登录账号
    7. 新增 隐藏库存游戏
    8. 新增 游戏功能-无边框窗口化
    9. 新增 关于-更新日志
    10. 新增 令牌加密设置,现在新增令牌默认将不启用本机加密
    11. 修复 非正常退出程序时导致残留进程且无法启动程序
    12. 改进 不再写入 C:\\Users\\用户名\\AppData\\Local 目录
    13. 修复 文本框中某些符号可能无法正确输入
    14. 改进 令牌排序上移下移
    15. 新增 令牌导入导出
    16. 新增 游戏时长挂机功能
    17. 新增 Microsoft 账号快速登录与绑定
    18. 新增 社区加速 hCaptcha 验证码 / EPIC 验证码 / artstation / v2ex
    19. 修复 社区加速 discord 更新下载

    2.2.0 (2021-05-10)

    1. 新增 手动更新检查
    2. 改进 修改账号切换操作交互
    3. 修复 修改账号切换 UI 错位
    4. 修复 Steam 快速登录时无法查看本地令牌
    5. 改进 多开程序时将会显示主窗口
    6. 改进 hosts 文件属性为只读且不可修改属性时显示的错误文本
    7. 改进 Steam 快速登录现在会显示已登录的用户账号可免输入账号密码一键登录
    8. 改进 增加错误日志纪录文件数量与大小限制
    9. 改进 库存游戏列表加载方式
    10. 改进 社区加速速度与使用中出现的错误
    11. 改进 删除账号时弹窗是否删除用户数据
    12. 改进 检测进程是否存在的逻辑,避免杀软误报
    13. 修复 编辑文本文件,当文件路径如果有空格时传递的路径不正确
    14. 修复 Steam 登录时头像没有正常显示
    15. 新增 Github 网站、Git 加速
    16. 改进 Toast 仅在当前激活窗口弹出
    17. 修复 未启动 Steam 时加载库存游戏 Bug
    18. 修复 一些引发闪退的异常,增强稳定性

    2.1.0 (2021-05-05)

    1. 修复 多个 GM.js 同时存在
    2. 修复 GM.js 打包错误
    3. 修复 手动添加 GM.js 重名替换导致出错
    4. 修复 成就解锁窗口不显示
    5. 新增 背景透明度 UI 设置
    6. 调整 脚本列表 UI
    7. 修复 代理过程中的闪退错误
    8. 修复 库存游戏闪退错误
    9. 修复 Discord 更新代理失效
    10. 修复 hosts 闪退错误
    11. 新增 Steam 快速登录

    2.0.0.8 (2021-05-03)

    1. 新增 CSGO 市场查看磨损与印花脚本适配
    2. 新增 窗口位置保存功能
    3. 修复 加速证书安装失败的问题
    4. 修复 账号切换离线登录失效的问题
    5. 修复 Windows 代理加速导致断网的问题
    6. 修复 Discord 客户端代理失效的问题
    7. 修复 多个 UI 错误
    8. 修复 脚本以及备注无法保存的问题
    9. 修复 多个可能导致闪退的问题
    10. 修复 更新进度条显示不正确的问题
    11. 改进 当 hosts 文件不存在时自动创建空文件而不是返回错误
    ',17),ai={id:"_2-0-0-6-2021-05-01",tabindex:"-1"},ei=i("a",{class:"header-anchor",href:"#_2-0-0-6-2021-05-01","aria-hidden":"true"},"#",-1),di=e(`

    【Steam++2.0.0.6】

    1. 更换整体架构,提高软件兼容性
    2. 重做UI界面,适应跨平台
    3. 新增软件热更新支持
    4. 新增账号切换界面动态头像支持
    5. 新增从云端获取加速列表功能
    6. 新增用户登录/注册功能,并且有了用户面板,将支持用户云同步数据
    7. 新增脚本商店,用户可以从脚本商店下载更多脚本
    8. 优化库存游戏列表加载速度
    9. 优化GM0.2脚本
    10. 修复1.1.4版本已出现的各种错误

    1.1.4 (2021-02-23)

    Steam++ v1.1.4 2021-02-23

    更新内容

    1. 新增Steam更新代理服务功能,以解决部分用户无法更新Steam的问题
    2. 新增Windows系统代理方式,将不需要修改hosts文件并且不会占用443端口
    3. 优化反代加速效果
    4. 修复成就图标加载失败的问题
    5. 修复Steam图片反代启动时创意工坊不显示图片的问题
    6. 修复Uplay更新反代启动时更新失败的问题

    1.1.3 (2021-02-21)

    Steam++ v1.1.3 2021-02-21

    更新内容

    1. 新增库存游戏列表Client Icon图标显示功能
    2. 新增解锁成就风险提示文本
    3. 修复证书生成失败导致的闪退问题
    4. 修复开启反代功能后Steam页面100报错和324报错
    5. 修复证书验证错误的问题
    6. 修复部分文本错误

    1.1.2 (2021-01-29)

    Steam++ v1.1.2 2021-01-29

    更新内容

    1. 新增账号切换的状态栏右下角登录新账号功能
    2. 新增实时刷新获取Steam新登录的账号数据功能
    3. 新增FAQ常见问题疑难解答文本,可以在关于中找到它
    4. 优化配置文件备份机制,如果配置文件出错会提示还原上次读取成功的配置
    5. 优化错误日志记录,现在它更详细了
    6. 修复谷歌验证码代理方式为全局跳转recatpcha
    7. 修复配置文件加载时提示根元素错误
    8. 修复某些情况下开机自启失效问题

    1.1.1 (2021-01-22)

    Steam++ v1.1.1 2021-01-22

    • 更新内容
      • 本地令牌市场交易确认功能上线啦(目前功能较简单,待完善)
      • 新增内置steam史低查询脚本
      • 新增Steam启动消息通知设置项
      • 新增github gist代理服务支持
      • 修复某些情况配置文件读取出错
      • 修复discord更新下载和图片失效
      • 修复twitch聊天频道连接失效
      • 修复gihub头像资源加载失败
      • 新增pixiv图片的代理选项来修复pixiv图片失效
      • 还修复了一些没有记下来的bug...
    • 修改了本地反代解析域名的方式,这样出问题以后可以直接热更新

    1.0.6 (2021-01-12)

    Steam++ v1.0.6 2021-01-12

    • 更新内容
      • 修改了用户信息获取的api为steam官方社区api(但是没有启动软件的自动代理服务的话依然加载不出头像。)
      • 新增启用日志记录设置项(反馈bug时一起提交方便排查问题)
      • 修复twitch反代聊天连接错误和直播视频无法观看
      • 放宽令牌同步时网络请求超时时间以降低令牌同步时提示超时概率
      • 修改生成的cer证书编码格式为utf8,解决火狐无法导入cer证书
      • 增加80端口反代,以便自动跳转http访问到https请求上

    1.0.5 (2021-01-08)

    Steam++ v1.0.5 2021-01-08

    • 更新内容
      • 修复因为第三方steamdb api挂掉导致程序崩溃
      • 优化反代过程的逻辑
      • 增加启动时自动运行Steam的设置项
      • 新增令牌刷新功能
      • 帐户切换增加了离线模式启动的选项
      • 修复刷新游戏缓存按钮程序闪退BUG
      • 还修复了一些没有记下来的小错误...

    1.0.4 (2020-12-28)

    Steam++ v1.0.4 2020-12-28

    *此版本修改了配置文件的保存读取功能,会无法读取1.0.4版本以前的配置文件包括令牌数据。
    +(可以通过设置-令牌设置-导入旧版本Steam++令牌数据按钮来恢复旧版本令牌数据)
    +
    • 还原steam社区反代上游地址修复部分请求会提示需要登录的问题
    • 新增令牌导入导出备份功能
    • 新增令牌可以选择保存在程序根目录下的设置选项(方便备份)
    • 修改了自动更新的提示方式
    • 自动更新可以自动覆盖升级,不再需要手动替换
    • 修复令牌无法保存的问题

    1.0.3.3 (2020-12-27)

    Steam++ v1.0.3.3 2020-12-27

    • 更新内容

      • 新增pixiv本地反代服务支持

      • 新增在欢迎页steam昵称后显示steam的登陆区域

      • 添加steam图片修复的本地反代支持

      • 修复最小化恢复时UI边框错位的BUG

      • 修复令牌编辑和导入时出现的非空报错

      • 帐户切换功能的最近登陆时间从北京时间改为当前系统时区时间

      • 修复一个因为DNS解析错误会导致程序内存溢出闪退的BUG

      • SDA令牌导入不再支持导入加密文件,如果要导入加密的maFile请先在SDA移除加密

      • 修改初始化的方式和steam api的连接逻辑来避免steam游戏掉帧的BUG

      • 解决程序最小化启动时弹窗报错

      • 优化本地令牌的加载

      • 修复托盘图标单击启动多个窗口

      • 修复设置界面设置UI错位

      • 修复成就窗口关闭游戏依然运行

      • 修改steam社区商店图片代理上游地址为steampowered.com

    • 已知的未修复问题

      • 部分用户无法加载游戏列表,无法复现,原因暂时不明。(也可能是加载太慢,过半小时才能加载出来)

    1.0.2 (2020-12-21)

    Steam++ v1.0.2 2020-12-21

    • 更新内容

      • 更新了由Benares制作的图标
      • 新增帐户切换删除功能
      • 添加github图片资源文件代理服务与discord代理服务支持
      • 因为有问题暂时去掉了GOG Galaxy代理选项
      • 修复一个会导致程序启动没有反应的bug
      • 修复托盘菜单steam昵称过长ui错位bug
      • 新增steam启动参数设置
      • 新增启动时程序最小化到托盘菜单设置
      • 新增捐助列表的展示
      • 新增工具自动更新功能
    • 已知的未修复问题

      • (严重)经反馈,程序运行时可能会影响部分steam游戏掉帧,GPU占用率变低,这个BUG目前在作者的机器上无法复现所以暂时没有修复,如果你遇到这个问题可以手动关闭steam++解决。
      • 程序在高DPI缩放分辨率下可能会UI布局错位,目前暂时拖动程序可恢复。
      • 部分用户无法加载游戏列表,无法复现,原因暂时不明。

    1.0.0 (2020-12-14)

    Steam++ v1.0.0

    • 发布第一个版本

    • 主要功能:社区反代,帐户切换,成就解锁,本地令牌。

    • 次要功能:强制无边框窗口化以及CSGO VAC屏蔽修复。

    `,36);function ri(ni,oi){const d=n("Badge"),r=n("ExternalLinkIcon");return t(),h("div",null,[u,i("h2",c,[p,l(" 2.8.0 (2022-07-23) "),a(d,{type:"warning",text:"预发行版",vertical:"middle"})]),_,i("ol",null,[x,m,S,b,i("li",null,[l("fde 版本需要安装 "),i("a",f,[l("ASP.NET Core 运行时 6.0.8 (x64) 与 .NET Core 运行时 6.0.8 (x64)"),a(r)])]),A,w,W]),D,i("h2",C,[k,l(" 2.7.0-pre3 (2022-04-01) "),a(d,{type:"warning",text:"预发行版",vertical:"middle"})]),U,i("h2",L,[P,l(" 2.6.6 (2022-02-08) "),a(d,{type:"warning",text:"预发行版",vertical:"middle"})]),g,i("ul",null,[v,i("li",null,[l("Windows "),i("ul",null,[I,i("li",null,[l("Windows 7 "),i("ul",null,[M,E,R,i("li",null,[l("解决方案 "),i("ul",null,[F,i("li",null,[l("下载 api-ms-win-core-winrt-l1-1-0.dll 文件放入程序根目录(Steam++.exe 所在文件夹) "),i("ul",null,[i("li",null,[i("a",T,[l("从 Github 上直接下载"),a(r)])]),i("li",null,[i("a",O,[l("从 Gitee 上直接下载"),a(r)])]),i("li",null,[i("a",N,[l("从 NuGet 上下载后提取"),a(r)]),B])])])])])])])])])]),G,i("ul",null,[y,i("li",null,[l("Desktop "),i("ul",null,[i("li",null,[l("macOS "),i("ul",null,[i("li",null,[i("a",V,[l("尚未公证"),a(r)]),l(",这会影响 macOS Catalina(版本 10.15)以上版本")])])]),H])]),J]),z,i("h4",j,[Y,l(),i("a",Q,[l("下载指南"),a(r)])]),X,i("h2",K,[$,l(" 2.4.10 (2021-08-24) "),a(d,{type:"warning",text:"预发行版",vertical:"middle"})]),q,i("h2",Z,[ii,l(" 2.4.0 (2021-06-06) "),a(d,{type:"warning",text:"预发行版",vertical:"middle"})]),li,i("h2",ai,[ei,l(" 2.0.0.6 (2021-05-01) "),a(d,{type:"warning",text:"预发行版",vertical:"middle"})]),di])}const si=o(s,[["render",ri],["__file","更新日志.html.vue"]]);export{si as default}; diff --git "a/assets/\347\231\273\345\275\225\344\273\244\347\211\214.html-568aadab.js" "b/assets/\347\231\273\345\275\225\344\273\244\347\211\214.html-568aadab.js" new file mode 100644 index 0000000..8cecb3d --- /dev/null +++ "b/assets/\347\231\273\345\275\225\344\273\244\347\211\214.html-568aadab.js" @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o as t,c as a,e as s}from"./app-d53ff271.js";const i="/SteamTools-Guide/assets/Sign-Guard-750438a0.png",n={},c=s('

    登录Steam

    此方案最为简单,如下图直接通过Steam账号登录即可

    注意

    本方案将解除手机端令牌并导致15天的市场交易暂挂

    Steam 账号登入

    • 登录你的 Steam 账号和密码,此操作会解除原有令牌,导致账号进入暂挂状态(15天内无法市场交易)
    ',5),o=[c];function r(_,l){return t(),a("div",null,o)}const p=e(n,[["render",r],["__file","登录令牌.html.vue"]]);export{p as default}; diff --git "a/assets/\347\231\273\345\275\225\344\273\244\347\211\214.html-59e3f319.js" "b/assets/\347\231\273\345\275\225\344\273\244\347\211\214.html-59e3f319.js" new file mode 100644 index 0000000..7aef8e1 --- /dev/null +++ "b/assets/\347\231\273\345\275\225\344\273\244\347\211\214.html-59e3f319.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-c4bad90c","path":"/zh/document/Functions/Steam%20Guard/import/%E7%99%BB%E5%BD%95%E4%BB%A4%E7%89%8C.html","title":"登录Steam","lang":"zh","frontmatter":{"description":"此方案最为简单,如下图直接通过Steam账号登录即可 注意 本方案将解除手机端令牌并导致15天的市场交易暂挂 Steam 账号登入 登录你的 Steam 账号和密码,此操作会解除原有令牌,导致账号进入暂挂状态(15天内无法市场交易);","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/%E7%99%BB%E5%BD%95%E4%BB%A4%E7%89%8C.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"登录Steam"}],["meta",{"property":"og:description","content":"此方案最为简单,如下图直接通过Steam账号登录即可 注意 本方案将解除手机端令牌并导致15天的市场交易暂挂 Steam 账号登入 登录你的 Steam 账号和密码,此操作会解除原有令牌,导致账号进入暂挂状态(15天内无法市场交易);"}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"登录Steam\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":0.32,"words":97},"filePathRelative":"zh/document/Functions/Steam Guard/import/登录令牌.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/\347\275\221\347\273\234.html-49df2bf4.js" "b/assets/\347\275\221\347\273\234.html-49df2bf4.js" new file mode 100644 index 0000000..b2c1f03 --- /dev/null +++ "b/assets/\347\275\221\347\273\234.html-49df2bf4.js" @@ -0,0 +1 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{o,c as d,e as c}from"./app-d53ff271.js";const t="/SteamTools-Guide/assets/reset-host-c6e13d8f.png",s={},i=c('

    网络加速失败

    host 文件相关(只读,拒绝访问,没有权限)

    • 请前往 C:\\Windows\\System32\\drivers\\etc ,右击host文件,打开 属性 ,取消下面的 只读 选项。

    • 只读也可能是被其他软件占用,或者因杀毒软件拦截导致的,如果 hosts 文件没有自定义的内容,可以先删除该文件后再启动,或者使用 系统代理模式,文件位于 C:\\Windows\\System32\\drivers\\etc\\hosts

    • 或者通过断网一键修复程序自动重置 host 问题,如 360断网急救箱 火绒断网修复

    没有 host 文件

    • 请前往 C:\\Windows\\System32\\drivers\\etc , 将整个 etc 文件夹删除后重新创建一个 etc 文件夹

    程序崩溃后无法连接网络

    • 程序加速过程中崩溃后,社区/游戏服务器无法连接是因为崩溃后写入 host127.0.0.1 未被正常消除,可以取消加速后重新打开,也可以手动清理掉 host 文件

    • 或者通过断网一键修复程序自动重置 host 问题,如 360断网急救箱 火绒断网修复

    崩溃后无网络的问题,是因为加速和停止加速本来有正常的逻辑要执行,因为在加速中将程序强退了,所以停止加速的逻辑没执行,也就没还原加速所修改的配置导致的。

    遇到这个问题可以尝试还原hosts文件,关闭windows系统代理,重置网络服务

    重置 host 文件

    ',9),a=[i];function h(r,l){return o(),d("div",null,a)}const _=e(s,[["render",h],["__file","网络.html.vue"]]);export{_ as default}; diff --git "a/assets/\347\275\221\347\273\234.html-96aa35e7.js" "b/assets/\347\275\221\347\273\234.html-96aa35e7.js" new file mode 100644 index 0000000..72f0da5 --- /dev/null +++ "b/assets/\347\275\221\347\273\234.html-96aa35e7.js" @@ -0,0 +1 @@ +const t=JSON.parse('{"key":"v-eddd4500","path":"/zh/document/FAQ/%E7%BD%91%E7%BB%9C.html","title":"网络加速失败","lang":"zh","frontmatter":{"description":"host 文件相关(只读,拒绝访问,没有权限) 请前往 C:\\\\Windows\\\\System32\\\\drivers\\\\etc ,右击host文件,打开 属性 ,取消下面的 只读 选项。; 只读也可能是被其他软件占用,或者因杀毒软件拦截导致的,如果 hosts 文件没有自定义的内容,可以先删除该文件后再启动,或者使用 系统代理模式,文件位于 C:\\\\Window...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/document/FAQ/%E7%BD%91%E7%BB%9C.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"网络加速失败"}],["meta",{"property":"og:description","content":"host 文件相关(只读,拒绝访问,没有权限) 请前往 C:\\\\Windows\\\\System32\\\\drivers\\\\etc ,右击host文件,打开 属性 ,取消下面的 只读 选项。; 只读也可能是被其他软件占用,或者因杀毒软件拦截导致的,如果 hosts 文件没有自定义的内容,可以先删除该文件后再启动,或者使用 系统代理模式,文件位于 C:\\\\Window..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"网络加速失败\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"host 文件相关(只读,拒绝访问,没有权限)","slug":"host-文件相关-只读-拒绝访问-没有权限","link":"#host-文件相关-只读-拒绝访问-没有权限","children":[]},{"level":2,"title":"没有 host 文件","slug":"没有-host-文件","link":"#没有-host-文件","children":[]},{"level":2,"title":"程序崩溃后无法连接网络","slug":"程序崩溃后无法连接网络","link":"#程序崩溃后无法连接网络","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":1.3,"words":391},"filePathRelative":"zh/document/FAQ/网络.md","localizedDate":"2023年11月4日","autoDesc":true}');export{t as data}; diff --git "a/assets/\351\241\271\347\233\256\347\273\223\346\236\204.html-589d4c8f.js" "b/assets/\351\241\271\347\233\256\347\273\223\346\236\204.html-589d4c8f.js" new file mode 100644 index 0000000..366d797 --- /dev/null +++ "b/assets/\351\241\271\347\233\256\347\273\223\346\236\204.html-589d4c8f.js" @@ -0,0 +1 @@ +const e=JSON.parse('{"key":"v-23bdde94","path":"/zh/development/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.html","title":"Steam++ v2.X Source Code","lang":"zh","frontmatter":{"description":"🏗️ 项目结构 Common 通用基础类库; Common.AreaLib 地区数据; Common.ClientLib 适用于客户端的通用基础类库; Common.ClientLib.Droid 适用于 Android 的通用基础类库; Common.ClientLib.iOS 适用于 iOS 的通用基础类库; Common.CoreLib 全局通...","head":[["meta",{"property":"og:url","content":"https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/zh/development/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.html"}],["meta",{"property":"og:site_name","content":"Watt Toolkit 指南"}],["meta",{"property":"og:title","content":"Steam++ v2.X Source Code"}],["meta",{"property":"og:description","content":"🏗️ 项目结构 Common 通用基础类库; Common.AreaLib 地区数据; Common.ClientLib 适用于客户端的通用基础类库; Common.ClientLib.Droid 适用于 Android 的通用基础类库; Common.ClientLib.iOS 适用于 iOS 的通用基础类库; Common.CoreLib 全局通..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh"}],["meta",{"property":"og:updated_time","content":"2023-11-04T13:07:17.000Z"}],["meta",{"property":"article:author","content":"SteamTools Guide"}],["meta",{"property":"article:modified_time","content":"2023-11-04T13:07:17.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"Steam++ v2.X Source Code\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2023-11-04T13:07:17.000Z\\",\\"author\\":[{\\"@type\\":\\"Person\\",\\"name\\":\\"SteamTools Guide\\",\\"url\\":\\"https://github.com/SteamTools-Guide\\"}]}"]]},"headers":[{"level":2,"title":"🏗️ 项目结构","slug":"🏗️-项目结构","link":"#🏗️-项目结构","children":[]},{"level":2,"title":"🗂️ 命名空间/文件夹","slug":"🗂️-命名空间-文件夹","link":"#🗂️-命名空间-文件夹","children":[]},{"level":2,"title":"📁 存储空间","slug":"📁-存储空间","link":"#📁-存储空间","children":[]}],"git":{"createdTime":1699103237000,"updatedTime":1699103237000,"contributors":[{"name":"XTsat","email":"44708609+XTsat@users.noreply.github.com","commits":1}]},"readingTime":{"minutes":3.49,"words":1046},"filePathRelative":"zh/development/项目结构.md","localizedDate":"2023年11月4日","autoDesc":true}');export{e as data}; diff --git "a/assets/\351\241\271\347\233\256\347\273\223\346\236\204.html-58caf53b.js" "b/assets/\351\241\271\347\233\256\347\273\223\346\236\204.html-58caf53b.js" new file mode 100644 index 0000000..113b7df --- /dev/null +++ "b/assets/\351\241\271\347\233\256\347\273\223\346\236\204.html-58caf53b.js" @@ -0,0 +1,3 @@ +import{_ as e}from"./plugin-vue_export-helper-c27b6911.js";import{r as s,o as r,c as a,a as o,b as n,d as l,e as t}from"./app-d53ff271.js";const c={},d=o("h1",{id:"steam-v2-x-source-code",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#steam-v2-x-source-code","aria-hidden":"true"},"#"),n(" Steam++ v2.X Source Code")],-1),g=o("h2",{id:"🏗️-项目结构",tabindex:"-1"},[o("a",{class:"header-anchor",href:"#🏗️-项目结构","aria-hidden":"true"},"#"),n(" 🏗️ 项目结构")],-1),u=o("strong",null,"通用基础类库",-1),p=t("
  • Common.AreaLib 地区数据
  • Common.ClientLib 适用于客户端的通用基础类库
  • Common.ClientLib.Droid 适用于 Android 的通用基础类库
  • Common.ClientLib.iOS 适用于 iOS 的通用基础类库
  • Common.CoreLib 全局通用基础类库
  • Common.ServerLib 适用于服务端(AspNetCore)的通用基础类库
  • Common.PinyinLib 汉字转拼音库
  • ",7),m={href:"https://developer.apple.com/documentation/corefoundation/1542411-cfstringtransform",target:"_blank",rel:"noopener noreferrer"},h=o("li",null,[n("Common.PinyinLib.ChnCharInfo "),o("strong",null,"由 Microsoft Visual Studio International Pack 1.0 中的 Simplified Chinese Pin-Yin Conversion Library(简体中文拼音转换类库)实现,多音字将返回首个拼音")],-1),_={href:"https://github.com/promeG/TinyPinyin",target:"_blank",rel:"noopener noreferrer"},S={href:"https://github.com/hueifeng/TinyPinyin.Net",target:"_blank",rel:"noopener noreferrer"},C=o("li",null,[n("Repositories.EFCore "),o("strong",null,"EF Core 仓储层实现")],-1),T=o("li",null,[n("Repositories.sqlite-net-pcl "),o("strong",null,"SQLite 仓储层实现")],-1),A=o("li",null,[n("Services.SmsSender "),o("strong",null,"统一短信发送服务")],-1),f=t("
  • Test 单元测试
    • Common.UnitTest 通用基础类库的单元测试
    • Common.UnitTest.Droid 适用于 Android 通用基础类库的单元测试
      • Common.UnitTest.Droid.App 启动项
  • Lib 类库
    • ST 业务通用类库
    • ST.Client 客户端通用类库
    • Bindings 平台原生绑定库
    • Platforms
      • ST.Client.Windows 用于 Windows 的实现
      • ST.Client.Mac 用于 macOS 的实现
      • ST.Client.Linux 用于 GNU/Linux 的实现
      • ST.Client.Android 用于 Android 的实现
      • ST.Client.iOS 用于 iOS 的实现
    • ResSecrets 使用资源存储的密钥
    • UI Framework
      • ST.Client.Avalonia 使用 Avalonia 实现的 View 层
        • Avalonia.Ref 通过友元程序集调用内部函数或空程序集实现手动裁剪
      • ST.Client.WPF 使用 Avalonia 实现的 WPF 层
      • ST.Client.WinUI 使用 Avalonia 实现的 WinUI 层
      • ST.Client.XamarinForms 使用 Xamarin.Forms/MAUI 实现的 View 层
    • Web API
      • ST.Services.CloudService 客户端调用服务端 API 定义
      • ST.Services.CloudService.Models 服务端 API 数据传输对象(DTO)定义
      • ST.Services.CloudService.ViewModels 客户端视图模型
  • ",2),L=o("strong",null,"工具",-1),b=t("
  • ST.Tools.AndroidResourceLink 将 Android Studio Project 中的 res 资源 Link 到 csproj 中(生成 XML)
  • ST.Tools.AreaImport 从高德城市编码表 Excel 文件中导入地区数据
  • ST.Tools.DesktopBridgeLink Link DesktopBridge 打包中的内容,例如 CEF
  • ST.Tools.MinifyStaticSites 用于将静态 html 删除空行缩小体积的命令行工具
  • ",4),k=o("strong",null,"开源许可协议清单生成工具",-1),E={href:"https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token",target:"_blank",rel:"noopener noreferrer"},v=o("li",null,[n("ST.Tools.Packager "),o("strong",null,"带进度的压缩与解压演示")],-1),P=o("li",null,[o("s",null,"ST.Tools.Packager.InstallerSetup"),n(),o("strong",null,"安装程序")],-1),M=o("li",null,[n("ST.Tools.Publish "),o("strong",null,"用于发布的控制台工具")],-1),x=o("strong",null,"Resx自动翻译工具",-1),D={href:"https://azure.microsoft.com/zh-cn/services/cognitive-services/translator",target:"_blank",rel:"noopener noreferrer"},I=o("s",null,"ST.Tools.Win7Troubleshoot",-1),w=o("strong",null,"适用于 Windwos 7 OS 的 疑难解答助手",-1),y={href:"https://docs.microsoft.com/zh-cn/dotnet/framework/configure-apps/file-schema/startup/supportedruntime-element",target:"_blank",rel:"noopener noreferrer"},O=o("strong",null,"启动项",-1),F=o("li",null,"FDELauncher FDE(框架依赖) 启动器,判断运行时是否安装与提示,使用 .NET FX 3.5",-1),R=o("li",null,[n("ST.Client.Android.App "),o("strong",null,"Android 客户端(Xamarin.Android)")],-1),W=o("li",null,[n("ST.Client.Android.App.Modern "),o("strong",null,"Android 客户端(.NET 6+)")],-1),V=o("li",null,[n("ST.Client.Desktop.Avalonia.App "),o("strong",null,"桌面客户端")],-1),U={href:"https://docs.microsoft.com/zh-cn/windows/msix/desktop/desktop-to-uwp-packaging-dot-net",target:"_blank",rel:"noopener noreferrer"},N={href:"https://docs.microsoft.com/zh-cn/windows/apps/windows-app-sdk/single-project-msix?tabs=csharp",target:"_blank",rel:"noopener noreferrer"},X=o("li",null,[o("s",null,"ST.Client.Desktop.Avalonia.Demo.App"),n(),o("strong",null,"桌面客户端(UI演示)")],-1),B=o("li",null,[n("ST.Client.Maui.App "),o("strong",null,"MAUI 客户端")],-1),H=t(`

    🗂️ 命名空间/文件夹

    • 中划线 表示此文件夹下的命名空间使用上一级的值
    • Properties
      • AssemblyInfo.cs 程序集信息
      • InternalsVisibleTo.cs 指定 internal 对单元测试可见
      • SR 本地化资源
    • Extensions 扩展函数静态类
    • Application 业务应用
      • Columns 模型、实体列定义接口
      • Converters 视图模型(VM)值绑定到视图(V)中的值转换器
      • Data EFCore DbContext
      • Entities ORM 表实体
      • Filters AspNetCore Mvc Filters
      • Models 模型类
      • Mvvm MVVM 基础组件
      • Repositories 仓储层
      • UI
        • Assets 资源资产
        • Styles Xaml 样式
        • Activities Android 活动
        • Adapters Android 适配器
        • Fragments Android 片段
        • ViewModels 视图模型
        • Views 视图
          • Controls 自定义控件
          • Pages 页面
          • Windows 窗口
        • Resx 本地化资源
      • Windows.winmd Windows 10 UWP API 投影 Win32
      • Resources Android res、iOS BundleResource、其他嵌入的资源
      • Security 应用安全
      • Services 业务服务定义公开的接口或抽象类
        • Mvvm 用于 MVVM 绑定的业务服务
        • Implementation 业务服务的实现
      • Serialization 业务相关的序列化、反序列化
    • Logging 日志自定义实现
    • ServiceCollectionExtensions.cs DI 注册服务扩展类,命名空间统一使用
    // ReSharper disable once CheckNamespace
    +namespace Microsoft.Extensions.DependencyInjection
    +

    📁 存储空间

    • AppData
      • Microsoft Store %USERPROFILE%\\AppData\\Local\\Packages\\4651ED44255E.47979655102CE_k6txddmbb6c52\\LocalState
      • Windows \\AppData or %LocalAppData%\\Steam++
      • macOS ~/Library/Steam++
      • Linux $XDG_DATA_HOME/Steam++ or $HOME/.local/share/Steam++
      • Android /data/data/net.steampp.app/files
    • Cache
      • Microsoft Store %USERPROFILE%\\AppData\\Local\\Packages\\4651ED44255E.47979655102CE_k6txddmbb6c52\\LocalCache
      • Windows \\Cache or %Tmp%\\Steam++
      • macOS ~/Library/Caches/Steam++
      • Linux $XDG_CACHE_HOME/Steam++ or $HOME/.cache/Steam++
      • Android /data/data/net.steampp.app/cache
    • Logs
      • Microsoft Store %USERPROFILE%\\AppData\\Local\\Packages\\4651ED44255E.47979655102CE_k6txddmbb6c52\\LocalCache\\Logs
      • Windows \\Logs or %Tmp%\\Steam++\\Logs
      • macOS ~/Library/Caches/Steam++/Logs
      • Linux $XDG_CACHE_HOME/Steam++/Logs or $HOME/.cache/Steam++/Logs
      • Android /data/data/net.steampp.app/cache/Logs
    `,5);function z(G,$){const i=s("ExternalLinkIcon");return r(),a("div",null,[d,g,o("ul",null,[o("li",null,[n("Common "),u,o("ul",null,[p,o("li",null,[n("Common.PinyinLib.CFStringTransform "),o("strong",null,[n("仅适用于 iOS 平台,由 "),o("a",m,[n("CFStringTransform"),l(i)]),n(" 实现")])]),h,o("li",null,[n("Common.PinyinLib.TinyPinyin "),o("strong",null,[n("在 Android 上由 "),o("a",_,[n("TinyPinyin"),l(i)]),n(" 实现,其他平台由 "),o("a",S,[n("TinyPinyin.Net"),l(i)]),n(" 实现")])]),C,T,A])]),f,o("li",null,[n("Tool "),L,o("ul",null,[b,o("li",null,[n("ST.Tools.OpenSourceLibraryList "),k,o("ul",null,[o("li",null,[n("需要 "),o("a",E,[n("GitHub API Token"),l(i)])])])]),v,P,M,o("li",null,[n("ST.Tools.Translate "),x,o("ul",null,[o("li",null,[n("需要 "),o("a",D,[n("Azure Translation Key"),l(i)])])])]),o("li",null,[I,n(),w,o("ul",null,[o("li",null,[n("目标框架使用 .NET FX 3.5 并通过 App.config 配置 "),o("a",y,[n("supportedRuntime"),l(i)]),n(" 允许在 4.X 中运行 实现在 Windows 上兼容所有的运行库环境")])])])])]),o("li",null,[n("Launch "),O,o("ul",null,[F,R,W,V,o("li",null,[n("5_DesktopBridge\\ST.Client.Avalonia.App.Bridge.Package "),o("strong",null,[o("a",U,[n("Desktop Bridge"),l(i)])])]),o("li",null,[n("ST.Client.Avalonia.App.MsixPackage "),o("strong",null,[n("桌面客户端"),o("a",N,[n("单项目 MSIX 打包"),l(i)])])]),X,B])])]),H])}const K=e(c,[["render",z],["__file","项目结构.html.vue"]]);export{K as default}; diff --git a/development/%E5%85%AC%E5%91%8A.html b/development/%E5%85%AC%E5%91%8A.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/development/%E5%85%AC%E5%91%8A.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/development/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html b/development/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/development/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/development/%E6%96%87%E4%BB%B6%E6%A0%A1%E9%AA%8C.html b/development/%E6%96%87%E4%BB%B6%E6%A0%A1%E9%AA%8C.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/development/%E6%96%87%E4%BB%B6%E6%A0%A1%E9%AA%8C.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/development/%E6%96%87%E6%A1%A3%E5%BC%80%E5%8F%91.html b/development/%E6%96%87%E6%A1%A3%E5%BC%80%E5%8F%91.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/development/%E6%96%87%E6%A1%A3%E5%BC%80%E5%8F%91.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/development/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.html b/development/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/development/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/development/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.html b/development/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/development/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/ASF/How%20to%20use%20ASF.html b/document/ASF/How%20to%20use%20ASF.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/ASF/How%20to%20use%20ASF.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/FAQ/%E7%BD%91%E7%BB%9C.html b/document/FAQ/%E7%BD%91%E7%BB%9C.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/FAQ/%E7%BD%91%E7%BB%9C.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/FAQ/FAQ.html b/document/FAQ/FAQ.html new file mode 100644 index 0000000..0d5d667 --- /dev/null +++ b/document/FAQ/FAQ.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/FAQ/GPU.html b/document/FAQ/GPU.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/FAQ/GPU.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/FAQ/Network%20problems.html b/document/FAQ/Network%20problems.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/FAQ/Network%20problems.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/ASF/%E4%BD%BF%E7%94%A8ASF.html b/document/Functions/ASF/%E4%BD%BF%E7%94%A8ASF.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/ASF/%E4%BD%BF%E7%94%A8ASF.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/ASF/%E5%B8%B8%E7%94%A8%E6%8C%87%E4%BB%A4.html b/document/Functions/ASF/%E5%B8%B8%E7%94%A8%E6%8C%87%E4%BB%A4.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/ASF/%E5%B8%B8%E7%94%A8%E6%8C%87%E4%BB%A4.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/ASF/2FA.html b/document/Functions/ASF/2FA.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/ASF/2FA.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/ASF/ASF.html b/document/Functions/ASF/ASF.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/ASF/ASF.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/ASF/info.html b/document/Functions/ASF/info.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/ASF/info.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Account%20Switch/info.html b/document/Functions/Account%20Switch/info.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Account%20Switch/info.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Game%20Tools/info.html b/document/Functions/Game%20Tools/info.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Game%20Tools/info.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Library/info.html b/document/Functions/Library/info.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Library/info.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Network%20Acceleration/info.html b/document/Functions/Network%20Acceleration/info.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Network%20Acceleration/info.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Steam%20Guard/import/%E5%8F%82%E8%80%83.html b/document/Functions/Steam%20Guard/import/%E5%8F%82%E8%80%83.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Steam%20Guard/import/%E5%8F%82%E8%80%83.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Steam%20Guard/import/%E7%99%BB%E5%BD%95%E4%BB%A4%E7%89%8C.html b/document/Functions/Steam%20Guard/import/%E7%99%BB%E5%BD%95%E4%BB%A4%E7%89%8C.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Steam%20Guard/import/%E7%99%BB%E5%BD%95%E4%BB%A4%E7%89%8C.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Steam%20Guard/import/2FA%E4%BB%A4%E7%89%8C.html b/document/Functions/Steam%20Guard/import/2FA%E4%BB%A4%E7%89%8C.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Steam%20Guard/import/2FA%E4%BB%A4%E7%89%8C.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Steam%20Guard/import/Steam__%E4%BB%A4%E7%89%8C.html b/document/Functions/Steam%20Guard/import/Steam__%E4%BB%A4%E7%89%8C.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Steam%20Guard/import/Steam__%E4%BB%A4%E7%89%8C.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Steam%20Guard/import/android%E4%BB%A4%E7%89%8C.html b/document/Functions/Steam%20Guard/import/android%E4%BB%A4%E7%89%8C.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Steam%20Guard/import/android%E4%BB%A4%E7%89%8C.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Steam%20Guard/import/ios%E4%BB%A4%E7%89%8C.html b/document/Functions/Steam%20Guard/import/ios%E4%BB%A4%E7%89%8C.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Steam%20Guard/import/ios%E4%BB%A4%E7%89%8C.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Steam%20Guard/info.html b/document/Functions/Steam%20Guard/info.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Steam%20Guard/info.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Functions/Userscript/info.html b/document/Functions/Userscript/info.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Functions/Userscript/info.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Start/Communication.html b/document/Start/Communication.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Start/Communication.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Start/Download%20Guide.html b/document/Start/Download%20Guide.html new file mode 100644 index 0000000..99e8354 --- /dev/null +++ b/document/Start/Download%20Guide.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Start/Download%20channel.html b/document/Start/Download%20channel.html new file mode 100644 index 0000000..0d5d667 --- /dev/null +++ b/document/Start/Download%20channel.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Start/Functions.html b/document/Start/Functions.html new file mode 100644 index 0000000..0d5d667 --- /dev/null +++ b/document/Start/Functions.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Start/Supported%20Operating%20Systems.html b/document/Start/Supported%20Operating%20Systems.html new file mode 100644 index 0000000..0d5d667 --- /dev/null +++ b/document/Start/Supported%20Operating%20Systems.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Steam%20Guard/2FA%20to%20import%20Guard.html b/document/Steam%20Guard/2FA%20to%20import%20Guard.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/Steam%20Guard/2FA%20to%20import%20Guard.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Steam%20Guard/Android%20to%20import%20Guard.html b/document/Steam%20Guard/Android%20to%20import%20Guard.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/Steam%20Guard/Android%20to%20import%20Guard.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Steam%20Guard/Apple%20to%20import%20Guard.html b/document/Steam%20Guard/Apple%20to%20import%20Guard.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/Steam%20Guard/Apple%20to%20import%20Guard.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Steam%20Guard/Login%20to%20import%20Guard.html b/document/Steam%20Guard/Login%20to%20import%20Guard.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/Steam%20Guard/Login%20to%20import%20Guard.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Steam%20Guard/Reference%20documents.html b/document/Steam%20Guard/Reference%20documents.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/Steam%20Guard/Reference%20documents.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/Steam%20Guard/Steam__%20to%20import%20Guard.html b/document/Steam%20Guard/Steam__%20to%20import%20Guard.html new file mode 100644 index 0000000..1a892aa --- /dev/null +++ b/document/Steam%20Guard/Steam__%20to%20import%20Guard.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/document/index.html b/document/index.html new file mode 100644 index 0000000..0d5d667 --- /dev/null +++ b/document/index.html @@ -0,0 +1,69 @@ + + + + + + Redirecting... + + + +

    Redirecting...

    + + diff --git a/en/document/ASF/How to use ASF.html b/en/document/ASF/How to use ASF.html new file mode 100644 index 0000000..d3e9652 --- /dev/null +++ b/en/document/ASF/How to use ASF.html @@ -0,0 +1,45 @@ + + + + + + + + How to use ASF | Watt Toolkit Guide + + + + + + +
    Skip to main content

    How to use ASF

    SteamTools GuideAbout 1 min

    How to use ASF

    The main purpose of ASF (ArchiSteamFarm) is to automatically acquire Steam collectible cards from multiple accounts at the same time, but in addition to this function there is also automatic trading quotes and other operations

    Official tutorials: Chineseopen in new window / Englishopen in new window

    ASF is a console application, which means that, at least at first, it does not provide a friendly GUI interface that you are familiar with.

    ASF is primarily supposed to run on a server, so it is more like a service (daemon) than a desktop application.

    The ASF is particularly versatile, but since this guide uses the ASF built into Watt Toolkit and is not mounted on the server

    However, the community has developed a WebUi GUI interface, and all distributions that download ASF now have a built-in WebUi GUI console located at ASF-win-x64/UI

    ASF-ui

    ASF-ui is a community project that provides a user-friendly GUI web interface mainly for end users. To accomplish this, it is designed as a front-end to the ASF API, allowing you to easily manipulate the ASF. This is the default UI that comes with the ASF.

    As mentioned above, ASF-ui is a community project and is not maintained by the core ASF developers. It follows its own development process, and all related questions, discussions, bug reports, and suggestions should be published in the ASF-ui repositoryopen in new window.

    You can use ASF-ui for general administration of the ASF. For example, managing bots, modifying settings, sending commands, and various other functions provided by ASF.

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/ASF/index.html b/en/document/ASF/index.html new file mode 100644 index 0000000..d82abc8 --- /dev/null +++ b/en/document/ASF/index.html @@ -0,0 +1,40 @@ + + + + + + + + A S F | Watt Toolkit Guide + + + + + + +
    Skip to main content

    A S F

    SteamTools GuideLess than 1 minute

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/FAQ/FAQ.html b/en/document/FAQ/FAQ.html new file mode 100644 index 0000000..ab73ad5 --- /dev/null +++ b/en/document/FAQ/FAQ.html @@ -0,0 +1,40 @@ + + + + + + + + Universal solution | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Universal solution

    SteamTools GuideLess than 1 minute

    Universal solution

    If you encounter a problem, you can try to update to the latest version first, maybe the new version has fixed the problem

    Just click About Check for updates

    Check for updates

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/FAQ/Network problems.html b/en/document/FAQ/Network problems.html new file mode 100644 index 0000000..d4dc275 --- /dev/null +++ b/en/document/FAQ/Network problems.html @@ -0,0 +1,40 @@ + + + + + + + + Network issues | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Network issues

    SteamTools GuideLess than 1 minute

    Network issues

    • Please go to C:\Windows\System32\drivers\etc, right-click on the host file, open Properties and uncheck the Read-only option below.

    • Read-only may also be occupied by other software or blocked by anti-virus software. If the hosts file has no custom content, you can delete the file before starting it, or use the system agent mode with the file located at C:\Windows\System32\drivers\etc\hosts

    • Or automatically reset the host problem with a disconnected one-click repair program, such as 360 Disconnect First Aid FireWire Disconnect Repair

    Unable to connect to the network after a program crash

    • After the program crashes during acceleration, the community/game server cannot be connected because the 127.0.0.1 written to the host after the crash has not been eliminated properly, you can cancel the acceleration and reopen it, or you can clean up the host file manually

    • Or you can automatically reset the host problem with a one-click repair program, such as 360 Disconnect First Aid, FireWire Disconnect Repair.

    The problem of no network after a crash is due to the normal logic of accelerating and stopping acceleration, because the program was forced to quit in acceleration, so the logic of stopping acceleration was not executed, and the configuration modified by acceleration was not restored.

    If you encounter this problem, you can try to restore the hosts file, close the windows system agent, and reset the network service.

    Reset host file

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/FAQ/index.html b/en/document/FAQ/index.html new file mode 100644 index 0000000..e637960 --- /dev/null +++ b/en/document/FAQ/index.html @@ -0,0 +1,40 @@ + + + + + + + + F A Q | Watt Toolkit Guide + + + + + + +
    Skip to main content

    F A Q

    SteamTools GuideLess than 1 minute

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Start/Download channel.html b/en/document/Start/Download channel.html new file mode 100644 index 0000000..6fbf6c0 --- /dev/null +++ b/en/document/Start/Download channel.html @@ -0,0 +1,53 @@ + + + + + + + + 🚀 Download Channel | Watt Toolkit Guide + + + + + + +
    Skip to main content

    🚀 Download Channel

    SteamTools GuideAbout 2 min

    🚀 Download Channel

    GitHub Releasesopen in new windowGitte Releasesopen in new windowOfficial WebSiteopen in new windowMicrosoft Storeopen in new windowArch Linux Packageopen in new window

    Don't know which file to download?

    • Desktop(Desktop side)
      • Windows

        • If you are using a PC with an x64 (x86-64/AMD64) chip from Intel or AMD, download the file with win_x64 in the file name
        • framework-dependent executable (fde)
          • NET Core Runtime 6.0.xand.NET Runtime 6.0.x**, if youhavethe runtime installed, download the file withfde in the file name to reduce the disk space occupied by this application
          • If you have not installed the runtime, download the file withoutfde** in the file name, or download the latest 6.0.x runtime from download hereopen in new window
          • Click on the Installer x64 link on the web page to download it. Usually the downloaded file name is as follows, install it, no installation order is required
            • dotnet-runtime-6.0.x-win-x64.exe (.NET runtime 6.0.x)
            • aspnetcore-runtime-6.0.x-win-x64.exe (ASP.NET Core Runtime 6.0.x)
          • Other downloads of the required runtime are included, but it is not recommended to install them just to run this application
            • The Hosting Bundle also contains the IIS runtime support (ASP.NET Core Module v2) and several runtime libraries for x86 that are not required for this application
            • The SDK contains a lot of content that is not required
      • macOS

        • If you are using a Mac with Intel's x64 (x86-64) chip, download the file with macos_x64 in the filename
        • If you are using a Mac with an ARM64 (Apple Silicon) chip, such as Apple M1, download the file with macos_arm64 in the filename
      • Linux

        • If you are using a PC with an Intel, AMD x64 (x86-64) chip, download the file with linux_x64 in the file name
        • If you use a PC with an ARM64 chip, such as Raspberry Pi Model 3+, download the file with linux_arm64 in the file name
    Download ChannelDownload Links
    Gitee Downloadhttps://gitee.com/rmbgame/SteamTools/releasesopen in new window
    Github Downloadhttps://github.com/BeyondDimension/SteamTools/releasesopen in new window
    aliyundrivehttps://www.aliyundrive.com/s/KDCFrongF7Fopen in new window
    Nas Shunthttps://pan.mossimo.net:5212/s/4yiQopen in new window
    cowtransferThe transfer erroropen in new window

    Desktop

    WindowsDownload Links
    lanzouhttps://cliencer.lanzoux.com/b01v4iz1gopen in new window password:1234
    Baidu Netdiskhttps://pan.baidu.com/s/1xQ-RJEwd3y1nwUX7YZQ5nQ?pwd=ce4hopen in new window
    UWPDownload Links
    Quick Installationms-windows-store://pdp/?ProductId=9MTCFHS560NG
    microsoft storehttps://apps.microsoft.com/store/detail/watt-toolkit/9MTCFHS560NGopen in new window
    macOSDownload Links
    lanzouhttps://wwe.lanzouy.com/b01v4izafopen in new window password:1234
    Baidu Netdiskhttps://pan.baidu.com/s/1UaVrxC1F1GtkLTdC25yK-w?pwd=wg4xopen in new window
    LinuxDownload Links
    lanzouhttps://wwe.lanzouy.com/b01v4iz7copen in new window password:1234
    Baidu Netdiskhttps://pan.baidu.com/s/1WOQBEg7hl92Lq7mjONlFJg?pwd=7tbnopen in new window

    Mobile

    AndroidDownload Links
    lanzouhttps://wwe.lanzouy.com/b01v4izfaopen in new window password:1234
    Baidu Netdiskhttps://pan.baidu.com/s/1Tnu9s10n57i8Fd9EmgTZBw?pwd=hk5fopen in new window
    iOSDownload Links
    Coming soon
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Start/Functions.html b/en/document/Start/Functions.html new file mode 100644 index 0000000..4ca44f0 --- /dev/null +++ b/en/document/Start/Functions.html @@ -0,0 +1,40 @@ + + + + + + + + ✨ Functions | Watt Toolkit Guide + + + + + + +
    Skip to main content

    ✨ Functions

    SteamTools GuideAbout 3 min

    ✨ Functions

    Network Acceleration

    • Implement normal access to Steam Discord Twitch Origin Uplay GitHub Microsoft Store Google Captcha Pixiv and other hard-to-access web pages in China to prevent network interference

    • Functions similar to Steamcommunity 302open in new window, using [Titanium-Web-Proxy](https://github.com/justcoding121/Titanium- Web-Proxy) open source project for local anti-generation.

    • There are two ways to choose Host proxy mode and system proxy mode, you need to confirm the installation of the certificate file before using it for the first time

    • You can also remove Steam Store access restrictions**, including but not limited to: This item is not currently available in your region This game is marked as "adults only". You are seeing this game because you have set your preferences to allow such content.

    [Click to expand]-FAQ

    Q: hosts is being used by another process, so that process cannot access this file?

    A: If the hosts file is occupied by other programs and this program cannot read or write normally, use Resource Monitor to search for hosts in the Associated Handle to find the occupied process and end it.

    Q: Why the checkbox in front of the script is not saved when the script in Community Acceleration is enabled and invalid?

    A: The script requires the corresponding acceleration service to be enabled to take effect, and the script must also be enabled after the acceleration function is enabled to be effective, for example, the Steam Store History Low Search script must have the Steam Store Acceleration Service enabled to take effect.

    Q: Using acceleration prompts certificate installation failure?

    A: You can try to manually install the SteamTools.Certificate.pfx certificate file under the AppData folder in the program directory, install it to the trusted root certificate area, the area must be selected correctly, otherwise the installation will be invalid even if it succeeds.

    Script Configuration

    • Injects some JS scripts into web pages (Steam's built-in browser) through an acceleration service that intercepts network requests, providing web plug-in-like functionality. Enables Steam's built-in browser to use some of the scripts

    • For example Steam History Lowest Price Check Steam Economy Enhancer(Steam Market Enhancement)``CSGO Market Tool(CSGO Market Check Gun Wear Value)`

    Account Switch

    • Switch between Steam accounts that are already logged in on the current PC with one click via Steam save by default credential information** and the ability to log in offline with one click, as well as manage features such as home shared library sorting.

      Account Switching

    [Click to expand]-FAQ

    Q: I still need to enter my password and token after switching accounts? Why can I sometimes switch with one click and sometimes not?

    A: Watt Toolkit account switching feature doesn't record your password and token. The fast account switching is due to Steam's own remember password feature.

    Family Library Sharingopen in new window(Steam Support)

    Adjust the priority order of Steam accounts shared on the current device to solve the problem that you want to play with account B's shares but keep using account A's shares, sorted from top to bottom by the priority order of the shared library usage, or you can choose to temporarily disable or enable shares for a specific account. You can also choose to temporarily disable or enable shares for a specific account. Save and restart Steam after the adjustment takes effect!

    Family Library Sharing

    Inventory Management

    • Lets you manage your Steam game inventory directly, not only by downloading older Steam games, but also by managing Steam game achievements directly, supporting unlocked achievements and unlocked achievements.

    • You can use Steam download completion timer shutdown so that no one can reduce unnecessary power consumption after the completion of the download (for example, sleep at night automatically after the completion of the download automatically shutdown)

      Auto shutdown

    • It is also possible to customize the ability to increase the length of the game after starting Watt Toolkit

      Automatic game length

    [Click to expand]-Steam Game achievements unlocked:

    Steam game achievements unlocked using open source projects SteamAchievementManageropen in new window

    Note

    This feature carries some risk, theoretically it will not be VAC, but if abused it may be pulled by the game manufacturer, it is recommended to use it without starting the game, so far it has no effect. The unlock achievements feature is not a plug-in, it only communicates with Steam in principle, and has nothing to do with the game itself, as anti-cheat systems like VAC work in multiplayer games. If the game is bound to another platform, unlocked achievements will not be synced to other platforms and may not be updated on other platforms if the achievements are re-completed, e.g. Sea of Thieves is bound to Xbox.

    Sam

    By checking the achievements and saving the achievement changes (Note: It is best not to change achievements for games with VAC to avoid unnecessary damage, the picture below is a game with VAC)

    Sam2

    Local Authentication

    • Let your cell phone token unified save in the computer, currently only support Steam token, later will develop support more token types with cloud synchronization token.

    • Similar to WinAuth (you can import WinAuth 2-step verification into Watt Toolkit by exporting it, using open source project Winauthopen in new window)

    ArchiSteamFarm

    Game Tools

    • You can force the game window to use borderless windowing or full screen, or you can put the game screen on the desktop wallpaper (conflict with dynamic wallpaper software)

      Game Tools

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Start/Supported Operating Systems.html b/en/document/Start/Supported Operating Systems.html new file mode 100644 index 0000000..08fda35 --- /dev/null +++ b/en/document/Start/Supported Operating Systems.html @@ -0,0 +1,40 @@ + + + + + + + + 🖥️ Supported Operating Systems | Watt Toolkit Guide + + + + + + +
    Skip to main content

    🖥️ Supported Operating Systems

    SteamTools GuideAbout 2 min

    🖥️ Supported Operating Systems

    Windows

    OSVersionArchitecturesLifecycle
    Windows Clientopen in new window7 SP1(*), 8.1(*)x64Windowsopen in new window
    Windows 10 Clientopen in new windowVersion 1607+(*)x64Windowsopen in new window
    Windows 11open in new windowVersion 22000+x64,Windowsopen in new window
    Windows Serveropen in new window2008 R2 SP1(*), 2012+x64Windows Serveropen in new window

    * Windows 7 SP1 must have Extended Security Updateopen in new window installed and will be released after November 2022 is no longer supported.
    * Windows 8.1 will no longer be supported in versions released after November 2022.
    * Windows Server 2008 R2 SP1 must have Extended Security Updateopen in new window installed and will be released after November 2022 is no longer supported.
    * Microsoft Store(Desktop Bridge) Version 1809+

    Linux

    OSVersionArchitecturesLifecycle
    Alpine Linuxopen in new window3.13+x64, Arm64Alpineopen in new window
    CentOSopen in new window7+x64CentOSopen in new window
    Debianopen in new window10+x64, Arm64Debianopen in new window
    Fedoraopen in new window33+x64Fedoraopen in new window
    openSUSEopen in new window15+x64OpenSUSEopen in new window
    Red Hat Enterprise Linuxopen in new window7+x64, Arm64Red Hatopen in new window
    SUSE Enterprise Linux (SLES)open in new window12 SP2+x64SUSEopen in new window
    Ubuntuopen in new window16.04, 18.04, 20.04+x64, Arm64Ubuntuopen in new window
    Deepin / UOSopen in new window20+x64Deepinopen in new window
    Arch Linuxopen in new windowx64

    macOS

    OSVersionArchitectures
    macOSopen in new window10.15+x64, Arm64

    Android

    OSVersionArchitectures
    Androidopen in new window5.0(API 21)+x64open in new window, Arm64open in new window, Arm32open in new window

    iOS / iPadOS

    OSVersionArchitectures
    iOSopen in new window10.0+x64, Arm32, Arm64

    ⛔ Unsupported Operating System

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Start/index.html b/en/document/Start/index.html new file mode 100644 index 0000000..d05e28b --- /dev/null +++ b/en/document/Start/index.html @@ -0,0 +1,40 @@ + + + + + + + + Start | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Start

    SteamTools GuideLess than 1 minute

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Steam Guard/2FA to import Guard.html b/en/document/Steam Guard/2FA to import Guard.html new file mode 100644 index 0000000..4905a53 --- /dev/null +++ b/en/document/Steam Guard/2FA to import Guard.html @@ -0,0 +1,40 @@ + + + + + + + + 2FA application import Guard | Watt Toolkit Guide + + + + + + +
    Skip to main content

    2FA application import Guard

    SteamTools GuideLess than 1 minute

    2FA application import Guard

    WinAuth

    Exported .txt file, usually named "winauth-date.txt" by default

    steam++令牌导入教程-从WinAuth导入open in new window (BiliBili)@牛奶君open in new window

    Steam Desktop Auth(SDA)

    The exported .maFile file is usually named "a string of numbers .maFile" by default

    • SDA will automatically generate the account's .maFile file in the maFile folder in the application directory

    Steam++ Click Steam Authenticator-New- choose Import from other apps.

    Software Import

    steam++令牌导入教程-从Steam Desktop Authenticator导入open in new window (BiliBili)@牛奶君open in new window

    Other 2FA applications

    According to the software instructions, copy/export the Guard and find the following required content and enter it according to the image

    Other import

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Steam Guard/Android to import Guard.html b/en/document/Steam Guard/Android to import Guard.html new file mode 100644 index 0000000..ed82a53 --- /dev/null +++ b/en/document/Steam Guard/Android to import Guard.html @@ -0,0 +1,40 @@ + + + + + + + + Android phone import token | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Android phone import token

    SteamTools GuideLess than 1 minute

    Android phone import token

    Android phones can be divided into three cases depending on the situation different manufacturers. Any Android phone with root Some Android phone manufacturers, have their own backup software, and the backup file is not encrypted / encryption can be cracked The phone is not rooted, and can not backup the corresponding data / can not decrypt the backup data, this method is re-binding, so there may be temporary hanging

    have root

    steam++令牌导入教程-从Android App导入-须root的方式open in new window (BiliBili)@牛奶君open in new window

    • A phone with the target account token tied to it and rooted

    no root

    A phone with a target account token is required, and depending on the phone brand, different software is also required, this solution is not available for all brands

    steam++令牌导入教程-从Android App导入-无须root的方式open in new window (BiliBili)@牛奶君open in new window

    This solution involves a large number of cell phone brands and is summarized as follows

    1. backup SteamApp through the phone manufacturer's own backup software with high privileges

    2. extract the backup file and import the token

    Known links to related tutorials.

    vivoopen in new windowThe new version is encrypted

    Xiaomiopen in new window

    LGopen in new windowDecryption

    HuaWeiopen in new windowThe new version has modified encryption

    More brands of cell phones can refer to the above tutorials for their own research

    No root, may have Trading Pending

    安卓手机利用 ADB 免 root 导出令牌(避免暂挂)open in new window (其乐 Keylol)@sffxzzpopen in new window

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Steam Guard/Apple to import Guard.html b/en/document/Steam Guard/Apple to import Guard.html new file mode 100644 index 0000000..f58004a --- /dev/null +++ b/en/document/Steam Guard/Apple to import Guard.html @@ -0,0 +1,40 @@ + + + + + + + + Apple phone import token | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Apple phone import token

    SteamTools GuideLess than 1 minute

    Apple phone import token

    Jailbroken

    This program is quoted and modified fromSteam++ issues #95open in new window

    Open /var/mobile/Containers/Data/Application/{String} with Filza, the number string location is Steam data folder, it may be different, Filza will show it as "Steam" Open /Documents/Steamguard-xxxxxxxxxxxxxxxx with text, go to the bottom and find the otpauth column and paste it into Steam++ Open /Library/Preferences/com.valvesoftware.Steam with text and find <string>/var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX- XXXXXXXXXXXXXX/Library/Caches</string>, copy XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXXXX and add android: at the top and paste it into Watt Toolkit

    Not jailbroken, may have temporary hang

    The token export for iOS can be found at

    越狱IOS设备无损导入Steam令牌至Steam++open in new window

    高版本的iOS导出Steam手机令牌教程open in new window

    2021未越狱iOS设备提取Steam令牌导入ASF的方法open in new window

    [云挂卡]未越狱iOS设备也可以使用ASF 2FA功能了open in new window

    Simple steps.

    1. Uninstall the Steam token
    2. Uninstall and install iTunes Old Version.
    3. Use iOS old app download to download old version of Steam.
    4. Extract ipa and install it with 爱思助手 and other tools
    5. Bind the token and backup the data
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Steam Guard/Login to import Guard.html b/en/document/Steam Guard/Login to import Guard.html new file mode 100644 index 0000000..2d80136 --- /dev/null +++ b/en/document/Steam Guard/Login to import Guard.html @@ -0,0 +1,40 @@ + + + + + + + + Login to Steam directly and import the Guard | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Login to Steam directly and import the Guard

    SteamTools GuideLess than 1 minute

    Login to Steam directly and import the Guard

    This is the easiest solution, just log in directly through your Steam account as shown below

    Warning

    This solution will unlock the mobile Guard and cause a 15-day temporary suspension of marketplace transactions

    Steam account login

    • Login to your Steam account and password, this action will release the original Guard and cause the account to go into a suspended state (no marketplace trading for 15 days)
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Steam Guard/Reference documents.html b/en/document/Steam Guard/Reference documents.html new file mode 100644 index 0000000..637e98b --- /dev/null +++ b/en/document/Steam Guard/Reference documents.html @@ -0,0 +1,40 @@ + + + + + + + + Reference Documents | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Reference Documents

    SteamTools GuideLess than 1 minute

    Reference Documents

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Steam Guard/Steam__ to import Guard.html b/en/document/Steam Guard/Steam__ to import Guard.html new file mode 100644 index 0000000..ef8dbe4 --- /dev/null +++ b/en/document/Steam Guard/Steam__ to import Guard.html @@ -0,0 +1,40 @@ + + + + + + + + Older/newer Steam++ import | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Older/newer Steam++ import

    SteamTools GuideLess than 1 minute

    Older/newer Steam++ import

    • .dat files exported from Steam++V1, usually named "Steam++ Authenticator date.dat" by default

    • .mpo files exported from Steam++V2, usually named "Steam++ Authenticators date.mpo" by default

    Steam++ Click Steam Authenticator-New- choose and select Import from Steam++.

    Steam++ Import

    Mobile Steam++ import

    PC side Steam++ v2.4.9 or higher

    1. Import by code scanning

      Click the Export as QR Code button on the PC side as shown in the picture, and click the Top Right Plus -> Add on the mobile side to scan the code

      Scan Code

    2. Import via file

      Click the Export button and Confirm Export on the PC side, send the exported file to your cell phone, and click the Top right plus sign --> Add on the cell phone side to import

      Export

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/Steam Guard/index.html b/en/document/Steam Guard/index.html new file mode 100644 index 0000000..5d666c0 --- /dev/null +++ b/en/document/Steam Guard/index.html @@ -0,0 +1,40 @@ + + + + + + + + Steam Guard | Watt Toolkit Guide + + + + + + +
    Skip to main content

    Steam Guard

    SteamTools GuideLess than 1 minute

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/document/index.html b/en/document/index.html new file mode 100644 index 0000000..8c27bbe --- /dev/null +++ b/en/document/index.html @@ -0,0 +1,40 @@ + + + + + + + + 🧰 Watt Toolkit Guide | Watt Toolkit Guide + + + + + + +
    Skip to main content

    🧰 Watt Toolkit Guide

    SteamTools GuideLess than 1 minute

    🧰 Watt Toolkit Guide

    repositories link https://github.com/XTsat/SteamTools-Guideopen in new window

    website link https://xtsat.github.io/SteamTools-Guideopen in new window

    Note: Watt Toolkit is constantly updating its features, so the tutorials are time-sensitive, so please check the last update time and whether the Watt Toolkit version is updated if it does not match the tutorials.

    What is Watt Toolkit?

    🛠️"Watt Toolkit" is an open source cross-platform multi-purpose game toolkit.

    most of its features require you to download and install Steam to use it.

    Watt Toolkit Official WebSiteopen in new window

    GitHub repositoriesopen in new window

    [Original Release]Steam++ Toolkitopen in new window (Keylol)@RMBGAMEopen in new window

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/en/index.html b/en/index.html new file mode 100644 index 0000000..d07e1bc --- /dev/null +++ b/en/index.html @@ -0,0 +1,40 @@ + + + + + + + + HOME | Watt Toolkit Guide + + + + + + +
    Skip to main content
    Watt Toolkit Guide

    Watt Toolkit Guide

    🛠️"Watt Toolkit" is an open source cross-platform multi-purpose Steam toolkit. (formerly steam++)

    Official WebSiteGitHubGuideDownload

    Network Acceleration

    Make the Steam community, Github, Google reCAPTCHA, Pixiv, Discord, Twitch and other domestic hard-to-access pages accessible properly. Functions similar to Steamcommunity 302, using Titanium-Web-Proxy open source project for local anti-generation.

    Script Configuration

    Some JS scripts are injected into web pages through an acceleration service that intercepts web requests, providing functionality similar to that of a web plugin

    Account Switch

    Switch between Steam accounts that are already logged in on the current PC with one click, and manage features such as sorting your home shared library.

    Inventory Management

    Lets you manage your Steam game inventory directly, not only by downloading older Steam games, but also by managing Steam game achievements directly, supporting unlocked achievements and unlocked achievements.

    Local Authentication

    Let your cell phone token unified save in the computer, currently only support Steam token, later will develop support more token types with cloud synchronization token.

    ArchiSteamFarm

    Integration with ArchiSteamFarm provides functions such as hanging and dropping Steam Collectible Cards within the app.

    Translation error?

    The content is automatically translated using translation software. If you find any errors, you can click on Edit this page on GitHub to submit the correct content.

    Name change notice

    Steam++ renamed to Watt Toolkit

    The guide may continue to use the original name Steam++ as a tutorial

    You can't use an unauthorized trademark on the Microsoft Store, i.e., a name similar to Steam, and you have to have proof of authorization from V to list it. Microsoft Store Policyopen in new windowReason for off shelf

    + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..d6e6630 --- /dev/null +++ b/index.html @@ -0,0 +1,40 @@ + + + + + + + + Home { const { languages } = window.navigator; const { hash, origin } = window..."> + + + + + + +
    Skip to main content

    Home

    SteamTools GuideLess than 1 minute

    Redirecting to the correct locale...

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/logo/Steam++LOGO1.png b/logo/Steam++LOGO1.png new file mode 100644 index 0000000..85db79e Binary files /dev/null and b/logo/Steam++LOGO1.png differ diff --git a/logo/Steam++Logo_1024.png b/logo/Steam++Logo_1024.png new file mode 100644 index 0000000..9dade1b Binary files /dev/null and b/logo/Steam++Logo_1024.png differ diff --git a/logo/Steam++ico.svg b/logo/Steam++ico.svg new file mode 100644 index 0000000..296669a --- /dev/null +++ b/logo/Steam++ico.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/logo/favicon.ico b/logo/favicon.ico new file mode 100644 index 0000000..a8adb7e Binary files /dev/null and b/logo/favicon.ico differ diff --git "a/logo/\347\202\271\345\207\273\345\211\215\345\276\200\346\214\207\345\215\227 \351\273\221.svg" "b/logo/\347\202\271\345\207\273\345\211\215\345\276\200\346\214\207\345\215\227 \351\273\221.svg" new file mode 100644 index 0000000..ca84c62 --- /dev/null +++ "b/logo/\347\202\271\345\207\273\345\211\215\345\276\200\346\214\207\345\215\227 \351\273\221.svg" @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + 点击前往指南 + + diff --git "a/logo/\347\202\271\345\207\273\345\211\215\345\276\200\346\214\207\345\215\227.svg" "b/logo/\347\202\271\345\207\273\345\211\215\345\276\200\346\214\207\345\215\227.svg" new file mode 100644 index 0000000..d211717 --- /dev/null +++ "b/logo/\347\202\271\345\207\273\345\211\215\345\276\200\346\214\207\345\215\227.svg" @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + 点击前往指南 + + diff --git "a/logo/\350\257\264\346\230\216\344\271\246.svg" "b/logo/\350\257\264\346\230\216\344\271\246.svg" new file mode 100644 index 0000000..1daf038 --- /dev/null +++ "b/logo/\350\257\264\346\230\216\344\271\246.svg" @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git "a/logo/\350\257\264\346\230\216\344\271\2462.svg" "b/logo/\350\257\264\346\230\216\344\271\2462.svg" new file mode 100644 index 0000000..1d8f165 --- /dev/null +++ "b/logo/\350\257\264\346\230\216\344\271\2462.svg" @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..c6b2777 --- /dev/null +++ b/robots.txt @@ -0,0 +1,5 @@ + +User-agent:* +Disallow: + +Sitemap: https://xtsat.github.io/SteamTools-Guide/SteamTools-Guide/sitemap.xml diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..b95ca65 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,3 @@ + + +https://xtsat.github.io/SteamTools-Guide/en/2022-07-12T17:29:49.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/%E5%85%B3%E4%BA%8E%E6%88%91.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/2022-05-14T20:26:26.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/development/%E5%85%AC%E5%91%8A.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/development/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/development/%E6%96%87%E4%BB%B6%E6%A0%A1%E9%AA%8C.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/development/%E6%96%87%E6%A1%A3%E5%BC%80%E5%8F%91.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/development/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/development/%E9%A1%B9%E7%9B%AE%E7%BB%93%E6%9E%84.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/ASF/How%20to%20use%20ASF.html2023-11-05T10:13:31.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/FAQ/FAQ.html2022-05-19T14:06:13.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/FAQ/Network%20problems.html2022-05-19T14:06:13.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Start/Download%20channel.html2022-05-14T21:27:12.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Start/Functions.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Start/Supported%20Operating%20Systems.html2022-07-12T08:05:54.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Steam%20Guard/2FA%20to%20import%20Guard.html2022-05-19T14:06:13.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Steam%20Guard/Android%20to%20import%20Guard.html2022-05-14T21:22:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Steam%20Guard/Apple%20to%20import%20Guard.html2022-05-14T21:22:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Steam%20Guard/Login%20to%20import%20Guard.html2022-05-19T14:06:13.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Steam%20Guard/Reference%20documents.html2022-05-14T21:22:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/en/document/Steam%20Guard/Steam__%20to%20import%20Guard.html2022-05-19T14:06:13.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/FAQ/FAQ.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/FAQ/GPU.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/FAQ/%E7%BD%91%E7%BB%9C.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Start/Communication.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Start/Download%20Guide.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Start/Download%20channel.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Start/Functions.html2023-11-05T10:13:31.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Start/Supported%20Operating%20Systems.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/ASF/2FA.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/ASF/ASF.html2023-11-05T10:13:31.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/ASF/info.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/ASF/%E4%BD%BF%E7%94%A8ASF.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/ASF/%E5%B8%B8%E7%94%A8%E6%8C%87%E4%BB%A4.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Account%20Switch/info.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Game%20Tools/info.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Library/info.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Network%20Acceleration/info.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Steam%20Guard/info.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Userscript/info.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/2FA%E4%BB%A4%E7%89%8C.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/Steam__%E4%BB%A4%E7%89%8C.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/android%E4%BB%A4%E7%89%8C.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/ios%E4%BB%A4%E7%89%8C.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/%E5%8F%82%E8%80%83.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/zh/document/Functions/Steam%20Guard/import/%E7%99%BB%E5%BD%95%E4%BB%A4%E7%89%8C.html2023-11-04T13:07:17.000Zdailyhttps://xtsat.github.io/SteamTools-Guide/daily \ No newline at end of file diff --git a/sitemap.xsl b/sitemap.xsl new file mode 100644 index 0000000..8ad0f23 --- /dev/null +++ b/sitemap.xsl @@ -0,0 +1,152 @@ + + + + + + + XML Sitemap + + + + +

    XML Sitemap

    +
    + + + + + + + + + + + + + + + + + + + + + + +
    URLs list
    + + PriorityChange FrequencyLast Updated Time
    + + + + + + + + + + + + + 0.5 + + + + + + + + + - + + + + +
    +
    + + + +
    +
    diff --git a/zh/development/index.html b/zh/development/index.html new file mode 100644 index 0000000..f516ff8 --- /dev/null +++ b/zh/development/index.html @@ -0,0 +1,40 @@ + + + + + + + + Development | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Development

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/development/\345\205\254\345\221\212.html" "b/zh/development/\345\205\254\345\221\212.html" new file mode 100644 index 0000000..a69217c --- /dev/null +++ "b/zh/development/\345\205\254\345\221\212.html" @@ -0,0 +1,40 @@ + + + + + + + + 公告 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    公告

    SteamTools Guide大约 1 分钟

    公告

    2.8.0 ~ 2.8.4 2022-07-23

    1. 非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能
    2. 因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。
    3. 自动更新目前仅 Windows 端可用,且由于下载渠道限速可能导致无法更新成功,推荐在官网链接的网盘或群文件中下载压缩包解压覆盖更新(应用商店版由商店更新不受此影响)
    4. 在 Android 上因系统限制,目前的加速功能无法正常使用,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能
    5. fde 版本需要安装 ASP.NET Core 运行时 6.0.8 (x64) 与 .NET Core 运行时 6.0.8 (x64)open in new window
    6. Windows x86 与 x64 版本令牌本机加密互不兼容,使用两者版本时注意令牌加密后的文件不能共用。
    7. 由于新版本加速功能重构,调整了部分加速项目,这会影响旧版本程序使用加速功能
    8. 为了能继续维持开发,从此版本开始将会添加程序内广告,赞助用户可以在设置中关闭所有广告
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/development/\345\274\200\345\217\221\347\216\257\345\242\203.html" "b/zh/development/\345\274\200\345\217\221\347\216\257\345\242\203.html" new file mode 100644 index 0000000..8e3a7f2 --- /dev/null +++ "b/zh/development/\345\274\200\345\217\221\347\216\257\345\242\203.html" @@ -0,0 +1,40 @@ + + + + + + + + 开发环境 ⌨️ | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    开发环境 ⌨️

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/development/\346\226\207\344\273\266\346\240\241\351\252\214.html" "b/zh/development/\346\226\207\344\273\266\346\240\241\351\252\214.html" new file mode 100644 index 0000000..c1da598 --- /dev/null +++ "b/zh/development/\346\226\207\344\273\266\346\240\241\351\252\214.html" @@ -0,0 +1,40 @@ + + + + + + + + 文件校验 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    文件校验

    SteamTools Guide大约 3 分钟

    文件校验

    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.4.7zE797CB455740DE75EEF5EEA0433D7F37551E75A2061C62C3E7670333598C7281
    Steam++_win_x64_fde_v2.8.4.7zA57FF8C2A4E19D9C324988E5D361E230FF63902FE71589370B6DF1BAC330D3E0
    Steam++_win_x64_v2.8.4.exeB0A3A6EF2156C007AF0FA311AB1470524F0BF94F5E1D4420772320F13680DFD4
    Steam++_win_x64_fde_v2.8.4.exeFFE6D2DA7A5DED8D82DEFC27BFC63F335C09CA761599A6AB93C35076EFA3BB16
    Steam++_win_x86_v2.8.4.7z4414DB0168B1044119C1F7B49F732D8B963AD47CDB4FE9F5FFFC9FAD8E7550FA
    Steam++_win_x86_fde_v2.8.4.7z2D8F9ECD3F4055CC2986F8F7AF01586E3922DDB832D5EB765AFFC2E31D35C56C
    Steam++_win_x86_v2.8.4.exeA02EAEAC1A3E04F2E8804A11BF9E37B01EB0CC88FA6433C33798CA59B4B0E84D
    Steam++_win_x86_fde_v2.8.4.exe796F2B24385FEEC5559047915B11236DCE0224ED306B02DB01AEDE2C64E7A443
    Steam++_linux_x64_v2.8.4.tar.zst54398FA7FDDC725DF263BCE131842151C4AA7BCDD3C19E75C7751E1E9A3E57D3
    Steam++_linux_arm64_v2.8.4.tar.zst902F0AE9E8685F1C40BBD4CED250178509C917134D3C787F748D6D274E2DCFD3
    Steam++_linux_x64_v2.8.4.debB38E02F112A68FD4ED986DFB3B698BAEEB7E2569079C0FFF0E834035E942047B
    Steam++_linux_arm64_v2.8.4.debFFCF650C31A0EBA3FAC464A9EA5D6B419828C2FA251E412A86F28779531A9DFC
    Steam++_linux_x64_v2.8.4.rpmBBA12A9A6F4B0FDEFBE4884BA3FD680FC1082C0655CB0BD9056B9E0E41160B03
    Steam++_linux_arm64_v2.8.4.rpm6C3B787C0B31AF1F56452FD2E470F7129C4F6F4BA34A1A85C86D37F015BC1042
    Steam++_macos_x64_v2.8.4.dmgDBE227F9D2D819698744CCA32B6C52473B88058249480A226501ADDE8C395B86
    Steam++_macos_arm64_v2.8.4.dmgB321B7B549680BDFCAC8201DD5F1945120F3B30FCA033F035387E182801DCE74
    FileChecksum (SHA256)
    Steam++_android_v2.8.3.apk35E21659EDD28D642BEB14B5D0F044983CA3023FBF7C2C638CDF945C2ECBE4AA
    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.2.7z2086F9C00F20F95EEC8CF18F2B712DB3196E4AEF367CA4D6D3074EAE62F7AE7E
    Steam++_win_x64_fde_v2.8.2.7z9BE10B32DA70D79095CD548B9CB684F163E4F903302D24486A014AAC28AC483E
    Steam++_win_x64_v2.8.2.exe8D9BC886DFB0E2FAB5224F71CDFDE8A75D8977CC162BA8FD5B784FDF9F78C37B
    Steam++_win_x64_fde_v2.8.2.exe7C80CB2F086DED0789EBEAAAC78926B0802107FD05D5C0BA63C9BF0F1DBB119E
    Steam++_win_x86_v2.8.2.7z1EF13BE71971EEEB5834F2F52A4C967A80B92071FE44F76BC91BF6219C4D3CF8
    Steam++_win_x86_fde_v2.8.2.7z3D217723879F82F9C320896DF305233E2652730834F144D857CF7FDD96B95C8C
    Steam++_win_x86_v2.8.2.exe5C09FF3C95505BDAEA36115B1833A151A3F58574863BB0A507AE4393DBC565E6
    Steam++_win_x86_fde_v2.8.2.exe87EE2A4E1035E17BF27B0307F4ABBF5EE9029B1FA7351A514FFC074D6D94EFA3
    Steam++_linux_x64_v2.8.2.tar.zst61202FD6B730E0762CF690820A772F734E7396A5647E5A12B2FD57E703FA0EFC
    Steam++_linux_arm64_v2.8.2.tar.zst036C0C80FB9388FFB171093BA5B25CAD1DFD63B465B93EBDEC28B2FC58C103E0
    Steam++_linux_x64_v2.8.2.deb9B08C3F0ABE1440DE786960846C2C42C3046F3EA0E09032E61DEC0E2D1894705
    Steam++_linux_arm64_v2.8.2.debF081E28521E5491F93EE6384A1EBA9396369B2B83B229EB98F8DAD8053F5F0D1
    Steam++_linux_x64_v2.8.2.rpmAA634A36E7FA0F049A0111E546D6C3EF26B06A1E35013955D0E913DD8FE34E99
    Steam++_linux_arm64_v2.8.2.rpm828D318007022BC233B5004750FB6EEA9898525FC839FAF4D200FB56342468DE
    Steam++_macos_x64_v2.8.2.dmg96EA6370596E6C12D475615D062599FD05BA58BDE6222DE68F0CB54E37D1BC8C
    Steam++_macos_arm64_v2.8.2.dmg89B5D716F1C088D4AD350F5A7437660FEB1A5EEFA669F215659E1A5F0730ED3C
    Steam++_android_v2.8.2.apk4565918FCE11A33F16C0C285FEE87998FE744361BE49F682A468B2F12FA8BF1F
    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.1.7z46F0D1E5F5DFAF114FC80A1060FD11455877B799A38807B1123B1865CFA543DF
    Steam++_win_x64_fde_v2.8.1.7zBB164743905A345FB5BEDF254FE5FE0A44A0309C3B0D51A348358A6143464920
    Steam++_win_x64_v2.8.1.exe363A8948B2B4665FE0777BBE54318BEE16F834BC56BF24A125149B07CD72DF6D
    Steam++_win_x64_fde_v2.8.1.exe3D36B2AC91025D804846C8CECB0D290824B2780D4E5E992361F93EC4FEEEB736
    Steam++_win_x86_v2.8.1.7z3B416AEAB2B473372E2B0BFB7B71F04EA92774E314AED848F9C5ABB6F1B85A5B
    Steam++_win_x86_fde_v2.8.1.7zFEDCC1A106B1925DF78154192A6499D7C51CB91F14C41C3F7F325C4398BA3E63
    Steam++_win_x86_v2.8.1.exe992C8B40E97FD852BFBDBA7FD0F5E677675C19DF64B5BD7108AA394A0DC8337A
    Steam++_win_x86_fde_v2.8.1.exe90FB6658721F57234C8D7C1C5852FBB459817696B2C742D15FF87D188C30DDBF
    Steam++_linux_x64_v2.8.1.tar.zst67D6889C07AB49D37194C8D6C22761CD1B6FB319CCB79F83847AB8F281F4FCDD
    Steam++_linux_arm64_v2.8.1.tar.zst4146ABFFD4E6B8A6D47179CBFB7F24C25622B97E751BEBDFB0A6C0F5DF082E14
    Steam++_linux_x64_v2.8.1.deb4456A32AEB705B868257DC7DD97D6B194A486C7011ECBE351CD8759DF72E1C35
    Steam++_linux_arm64_v2.8.1.debB7C78E180B04763A6768F8F1F57EF164A16687B53068E9A2C6AF5A358F6ADC42
    Steam++_linux_x64_v2.8.1.rpmB1FD2FDEFC2837881DF43774F99DC1CB93C8479CF00CDED9DA2E4A9F382B19CF
    Steam++_linux_arm64_v2.8.1.rpm01A4BB38CD41EE2EB1800EBCA69CFB43B59EF8E1BAF422A488CF9C9EB27ED406
    Steam++_macos_x64_v2.8.1.dmg02FEDEEF0DC691A374445E63994CF221FC9B3881F4EA49627FF0C858ACB31EE3
    Steam++_macos_arm64_v2.8.1.dmgDA52C130AF85D722528F313BD58C443F564B863BF045A85BD6C5426718AFBC3D
    Steam++_android_v2.8.1.apk247C351BA62F8D7C53BB82B49051FDBBFA1018944C2BDD83C076B0973561D352
    FileChecksum (SHA256)
    Steam++_win_x64_v2.8.0.7z08236A73EB282A2C402D46D3D3CC35DA44EA895EAA59C35FFC57821DB6E6BA39
    Steam++_win_x64_fde_v2.8.0.7zBAB1DD005900898C13303F02EA762DFCF0E233832C9730289C6573D807CD1ABE
    Steam++_win_x64_v2.8.0.exeC74385EDD850285E7CF035A59BFDB3E9917AD2E26CACEBADEF857C72053BF468
    Steam++_win_x64_fde_v2.8.0.exe76A634D277AFCE6B177EDA40E69A398541825D70C2ADE843B0489306A10B868C
    Steam++_win_x86_v2.8.0.7z1345BA7B59913390D26929E0A4C91E9FC979F367D0F4705C8F0DDE9E332946F8
    Steam++_win_x86_fde_v2.8.0.7z1B011D287D81AEE316FF6155C9BA8104C86F862600ABEA764E3B66C81B8FCF8F
    Steam++_win_x86_v2.8.0.exeF29965F2439262D6549808CB114E5856BF90E33E35E35C5B3AAEB96C468CC702
    Steam++_win_x86_fde_v2.8.0.exe6DE5FECF7D369EA40EE0892491E4B48DF05B8C40ED9016BE9DE3882AE9B9B766
    Steam++_linux_x64_v2.8.0.tar.zst0D4AE15AE265ACD8768505B7067ED2500F46C2A5DD7D1E5E42B98653DD363230
    Steam++_linux_arm64_v2.8.0.tar.zst79F809200A73ED0B61F4B42706D814931712B58F9F8583AE471421B527C9F843
    Steam++_linux_x64_v2.8.0.debD6B66A55D125BBD9BD3AC11507BC97F5EF36321A6B90857171EEB1A55921DE39
    Steam++_linux_arm64_v2.8.0.deb4C1669D6DB86B8B465078177C0363101FA27E233A07FC86694DB046ED4902B95
    Steam++_linux_x64_v2.8.0.rpm402348CEE6980463ABEAEBAAAA100B1D31F7B3687A561624852945A894F75BF4
    Steam++_linux_arm64_v2.8.0.rpm07BBC803586A5C17333FDBD6A434F4D09B9DC1220BFBE3E6F7D2A37DE54B2821
    Steam++_macos_x64_v2.8.0.dmgE5A56E48C78BD769E826958D89814B5F2C8548390588E8F58E82F52A1CC91A02
    Steam++_macos_arm64_v2.8.0.dmg49AE68B19245425B1F6FD843AF223A0313CF6C2592489C3AD02F2ABBE620896D
    Steam++_android_v2.8.0.apk76988BEDDEE2B77FB88B6D3F0F730EF4CF0EA90E9D2F38D691D047BAFBE35D8A
    FileChecksum (SHA256)
    Steam++_win_x64_v2.7.2.7z636CDBB82A3F9C4CCE061E44A3D94D3D184A59211A135E82500072393DF5526C
    Steam++_win_x64_fde_v2.7.2.7zB0BA27A8B0C627B3F009D13BD09ED25D415AB07DFB51F18ACCDD969136B8676E
    Steam++_win_x64_msix_v2.7.2.7zF2E13286C3A85CA48F281F9C87B31EFF3A03BDF6EE2D1ACB8414E66994EC37DE
    Steam++_win_x64_v2.7.2.exe48C72D522E5E04A98697E833D9535FB4CB816B8D633AA47C3C9A0842B97535BE
    Steam++_win_x64_fde_v2.7.2.exeFBEB9F0651F66D691FDE04E56B703087101E47B837E88717C8181FF334E989EE
    Steam++_linux_x64_v2.7.2.tar.zstD30E07147D54FE1727DF23DD09CAAF657CC9A71A88536CEF6ECB005CF0930191
    Steam++_linux_arm64_v2.7.2.tar.zst8709D03A23193F3DA5B5F9BC65962817A5BEE21B3AA74C3D968BCF495650CE54
    Steam++_linux_x64_v2.7.2.deb21DF72949070FFFC2367F8B47CD355A96C45B0DB5375802B03C8B45F84A46462
    Steam++_linux_arm64_v2.7.2.debD3E5E70EEF3D8810898E9092ED3CE7909A3CD8C9BEBD1A3644C550313A8AF761
    Steam++_linux_x64_v2.7.2.rpm34861E36B41D1626DAE6445C07134887EB1D945DBF4CC4EA88C8BF04126A5F52
    Steam++_linux_arm64_v2.7.2.rpmE7188BB4E50318F96B9DC8240C6AA5D628A910FDD7E436156646D1A2C7059EB5
    Steam++_macos_x64_v2.7.2.dmgF31FE7ECDA1B84ACA2CDEEABBB5FC1F3C8C533B1A1A2877BA3DA5228068B4CE8
    Steam++_macos_arm64_v2.7.2.dmg738926017788D7B9441C866FB365601E7E6BA3776ACFCC9500A1963C8A7D775E
    Steam++_android_v2.7.2.apk68DAA679DD631C20814475A93DE1CF4674C299B1B130FD409D72405DBE4B1177
    FileChecksum (SHA256)
    Steam++_android_v2.7.0-pre1.apk0DE189F8EFB319B550F6F0AB02E57859B60E33B847377B5900011E6CAB908839
    Steam++_android_v2.7.0-pre2.apk08D7DCD5C78303860AA68F1B704BB456FC39B83113956818427350576B28DA41
    Steam++_android_v2.7.0-pre3.apkE53CD3BA2D0983C728F0F9F98E2AF214E54276F39F65B82C36300CA149D9F56F
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.9.7z82F6653EFCBC71B725F9A26072C120CDD469A7DE2B09B857D2EE27533B178CD7
    Steam++_win_x64_fde_v2.6.9.7z271B02CC3805243955970555FF6FDE6774E9D078ED0BBFACCF21C1D417745ED7
    Steam++_win_x64_v2.6.9.exe7F578EAAC5D39600505509399B4CA4D7D4F3449B2E110C0292884C0ED61F9623
    Steam++_win_x64_fde_v2.6.9.exe0C3DC69768B410B38D6D7160F94FDAF62B273CBCB8584530DCC2C9824AC88048
    Steam++_win_x64_msix_v2.6.9.7zA1840D87BA207BEDB0D2334E790A8BCD88D9231B37B7D6B8292D759D2E04935B
    Steam++_linux_x64_v2.6.9.tar.zstC59AEA2B9A846409F20C4ECA5723FFCE7D97159F21D112DB0C00AC707D81B02C
    Steam++_linux_arm64_v2.6.9.tar.zstD45D21A42CE6A54092CE6A94C72618CED05B5FE7ABC04F3803FFF1EC89F31BAA
    Steam++_linux_x64_v2.6.9.debC249CD9546426AD2CE785772FE4C6D2A503B0967063D7E7788B21C819BFC6CEA
    Steam++_linux_arm64_v2.6.9.debC93EC8FC7AE8B028D80A872EBCB971AC75FD7B29B1B21216FFEA058114F100FD
    Steam++_linux_x64_v2.6.9.rpm2287926E21AF195C5ECFF16B7815D63C799C78D300B6EDD3A96315560B96E6F5
    Steam++_linux_arm64_v2.6.9.rpmDF9E923006D45A6ED704CEC0921FF222D56AA7116E919DAD04D693F311535ADB
    Steam++_macos_x64_v2.6.9.dmgC03E9EB6F0BC25D7AD20EE1A28F88477B2F5C19866BE2DB93673B6C31A348114
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.7.7z2E4E9607813743B4BB86A3E6CA6B42ADE94956DC697F3DCE3967F9CD8DBBA594
    Steam++_win_x64_fde_v2.6.7.7z78734D5C2A6DA12C581CB7B7AA931353480E1EC543BC0187014D5487B0396BCF
    Steam++_win_x64_v2.6.7.exeEADA3063734DC5EB142BC931D316946094571C9456DD86997680469B59D66433
    Steam++_win_x64_fde_v2.6.7.exeF53CD07606F3DB3AF22B1B31B58AD8A5C7A4FC567CAEBE0C957E66430D651C94
    Steam++_linux_x64_v2.6.7.7z8C94467AA49E089728BADA2B4291C91B7946F2CF8FF611209244AF7163857B71
    Steam++_linux_arm64_v2.6.7.7zE693AC7EF9C5E485B53450709DD708677828A07F3620B4C18D0965382AF43784
    Steam++_linux_x64_v2.6.7.deb43BA1C8AB2B3F11980C81D756F2746A6B8CC14D0165450D5122A5566A78FA8D6
    Steam++_linux_arm64_v2.6.7.deb2EAEE03D6FF4C1F499616A4B25BE249A4F1F05C33A6F927143E5434925CEE2A2
    Steam++_linux_x64_v2.6.7.rpm8E0BD07027DE5FDACDFD92444D4ECB87AA986ED62517ED059D9D8519E2AB7B7B
    Steam++_linux_arm64_v2.6.7.rpm2B9B1114F4EDFCF48F964EACC1D3BA6E1B253E13BB7AB38D73D27EC017615FB8
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.6.7zC1262D825CB2B5E47AE30353E77F5F849FBDF1055546908EA56CEA80CE0B75CB
    Steam++_win_x64_fde_v2.6.6.7zC9DB8F8DEFCBEB0D10E2C311D850BC5F3C004749E37E0C4EBEB6826C4E0D4B83
    Steam++_win_x64_v2.6.6.exe6F6F614FF09AAED42F76B9CBED88DB1B7363690E5A7D1986F2FADE7FD709289A
    Steam++_win_x64_fde_v2.6.6.exe47915591FF56D04D474D33BFD33668C89FC0C8565B3491F20B36CA03A5863BCD
    Steam++_linux_x64_v2.6.6.7z2C96CD62D859DFE8A3E5FB77F9795E9CE2AFE8CF073A5B0B80E8CC433A1CFC2B
    Steam++_linux_arm64_v2.6.6.7z36616E4554E1EC5223F0F97CB7D15CB8088F976D70DA56C8BDFBA918F6C774F4
    Steam++_linux_x64_v2.6.6.deb60FF30A80EFACA138229C5452EEE6C37D299AEBDB0C913B17EE3A6706970E73A
    Steam++_linux_arm64_v2.6.6.debCFB731F5A027C4CA154B9DB43A6FD18163E272246134B684FB9BE3CA7B91A590
    Steam++_linux_x64_v2.6.6.rpm3231D4A4C74DDE64B9CE3923A0D7E7A6E634B14DC1605D6082E57EF475DCDA29
    Steam++_linux_arm64_v2.6.6.rpm7DBF587BEB2D30752A9DB95CAC16558982D5E50EDC0137A8CF597FA5B761C0DF
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.5.7z56476EB017361F3C73887F691C675E8A3754F3BC7133B18EE7811208E3882176
    Steam++_win_x64_fde_v2.6.5.7z4B6C7E94C98AE3C97FB5728FA6D4DDEF7D8C4CB7D41275584C18B0A48B11F423
    Steam++_win_x64_v2.6.5.exeB49B5BF90FAD6282B6B26360FAE709995FD87228216BCA871936199C410AF69C
    Steam++_win_x64_fde_v2.6.5.exeE04926C5D6B1E57FDD0987C8976569176609CD2FC13A6530BECC35E6E6E7E65D
    Steam++_win_x64_msix_v2.6.5.7zFFFDA45A0D472038D3EFE87505E50C6B491DD01E25D365EBD96F5C8D57417A92
    Steam++_linux_x64_v2.6.5.7z4BB4604934EC0C8E6A2BCAF17882014C89D1180ECF396C35DAA3850F208D5DB2
    Steam++_linux_arm64_v2.6.5.7zA40C3AA044E12AD9F5E662553B7350422F95D53559BAAB3FBEF9FB13D79695CE
    Steam++_linux_x64_v2.6.5.deb082D66E82463C6A2AF8031C41759CAE8569CF666BD7728EE426ED0E201E00DB0
    Steam++_linux_arm64_v2.6.5.deb61A722F877CD6AB78DB2CC53A718738F4694E3805C2B51A9659253E77767A7DF
    Steam++_linux_x64_v2.6.5.rpm0792E84FDE425E572CACD10CB02B411B2D82D1837BDFF8FE9C2748DB1B40EE55
    Steam++_linux_arm64_v2.6.5.rpmE7427920B250458856AD6F52221FD21CCFA96DA3E7C48E9712063D8AF46755F9
    Steam++_macos_x64_v2.6.5.dmgB9E23A09C1DDFE254FDA43DBA16DB387514834E67509569F1631E3A325E4EC90
    Steam++_android_v2.6.5.apk8EEEF565B6B43ECFF1BF57883ABA4A8E8FBF682AB503AC86BE94E867717DC721
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.4.7zA76694636920AABBBC7D73B4DAE15279D9FEFFA6E15E9D37470545CBAC996347
    Steam++_win_x64_fde_v2.6.4.7zCE0B3793B8D53784C310D01F94E02A9F9E207E4893F6CA1DBBEB3E19AFEBBCA8
    Steam++_win_x64_v2.6.4.exe3BFDB622376AD344E7EBA6FFB720B6AA9BC2148FE70F23B7D669C76CF24FD434
    Steam++_win_x64_fde_v2.6.4.exe1C5FBDF3081B54E47A006BA7AC894530905CF064D2047A0F3736AF27E7D776A2
    Steam++_linux_x64_v2.6.4.7z69502C158D00B4BBC497F335C67B54494992E5B9742B13BC766EFAE2DAB19D91
    Steam++_linux_arm64_v2.6.4.7zCE376B05676DB330670D927D10B0BAA632B6E5754152BBADC8DAD9ACD164F950
    Steam++_linux_x64_v2.6.4.debA8BF8FAE9833BF550D8ED5779FA7E568970B9D9932CB3F52171AE34AA1DF69D6
    Steam++_linux_arm64_v2.6.4.deb29C45A2AA6911A6554A884F3FF05409E3C063F3BA1405BCD8DF90EA247533246
    Steam++_linux_x64_v2.6.4.rpm3DFC553BAB33025EB08EE8267BDD1656F59E4611E6B8E0AE9388EA68C938DBFE
    Steam++_linux_arm64_v2.6.4.rpmBA3D8680D248E93748783E44C7A11F52521844F21A242C283EAF0F720276587E
    Steam++_macos_x64_v2.6.4.dmg3BF9EDC4053BA08B706EE47234A8B4A3C73FEB1A952289E82D029BB17217219D
    Steam++_android_arm64_v8a_v2.6.4.apk542A6902282C2F315330B4288E8A952F1B35A1F6181B65E04D05B5B591ABD369
    Steam++_android_armeabi_v7a_v2.6.4.apk7D2F65D94D5EAC00CE42761C17E2CEBFF91671C85F66F52CFE21B3A4F03EC845
    Steam++_android_x64_v2.6.4.apkB91986EA5C5F69C311088B7B613CF4947AA814077FB909AEC634FFA9BEC0ACE9
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.3.7zADAB9C6D3E7DEF440BB46558350E4207251EFD2F2CBA467916495C21C7057AF6
    Steam++_win_x64_fde_v2.6.3.7zD98BA9B33B3FEDD7533C88C18084B792F29FD167FF9789F668BA0602B86EAD79
    Steam++_win_x64_v2.6.3.exe6DF966CC07E2639B13629AF4702316C01B90BADB20B3DF05461D8FE624DB4D28
    Steam++_win_x64_fde_v2.6.3.exe07C72838E25AE84E2FD0A573FF332278B81B3F66AC7189C38A4FB99EA5A5C6C9
    Steam++_linux_x64_v2.6.3.7zA74CE35AEFCC76487BCD8402311FF2F794B0075390DD426C86F1DADF1F30D782
    Steam++_linux_arm64_v2.6.3.7z86D3BEC887F1FC7CE6CD744A8710E208EB0A49A14EA4633FF937DF007AECC91A
    Steam++_linux_x64_v2.6.3.debAB913DCDC2AB78FAA659C3AA6A386255149E636A58059233B634F4659CBB80F5
    Steam++_linux_arm64_v2.6.3.debD1DB0931B6B2BE40C2DA3F495B43EDD300941977FE5EBE64EC9873EB95A77B9B
    Steam++_linux_x64_v2.6.3.rpm819F5DEE49CE35B182FBB0AD2CD9468CAB22C3B56E407DD6659AFC817DF55E6E
    Steam++_linux_arm64_v2.6.3.rpm945F3C8B658750FFD587665CE2FCF0AE4E823592A1D2CAB3716161E1866B761E
    Steam++_macos_x64_v2.6.3.dmgCC0B98834A52C4F988D7DFEA1553FADEA3A72CCB3396271E72E5070EAAC469C0
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.2.7zE4CB2714EF540816C475DF128FC551D35E94830C452A66748055FFC286BEE7AE
    Steam++_win_x64_fde_v2.6.2.7z43A0BD54B26574C00F62126C080FAA05B1E27BB6A89419168860CF2E1503F627
    Steam++_win_x64_v2.6.2.exeFBB23D4256DD409CEB4D199C04CDC8863CE1173F3AC88E0C7BD9B8778120955C
    Steam++_win_x64_fde_v2.6.2.exe8D2D68EC2FD8036DCD1B283A0EA142FBF877D42A70E3C1AC10A4B4C5F23EAD48
    Steam++_linux_x64_v2.6.2.7zDC5EBA3C61E46506C9D8A1C0831E825FBA8EF5D4B0CFA0D7EB5BC44602F46572
    Steam++_linux_arm64_v2.6.2.7zDAA1B783484FE5AA0F1D1395CC6AEC620A85D485F59A9C06D97A2F646304D34D
    Steam++_linux_x64_v2.6.2.debEE3FCB74B9641C4F6D5A945AC91F0CDD2167A94735F0B7416E2A2397DA255BC4
    Steam++_linux_arm64_v2.6.2.deb6322EA41DE16A776C30292B529817F87977A27676FBEF38462F4023FAA1E5F42
    Steam++_linux_x64_v2.6.2.rpmAD624EBB94CA0562984562734BC803A24550647B4DD69693A1E8079DF86B7378
    Steam++_linux_arm64_v2.6.2.rpmE326685A891EFD12E1A772B8BDF7EF222F02BE5C420BAC13FD416684C6660979
    Steam++_macos_x64_v2.6.2.dmgAD48998969D6324EB1BE878F79DA967C7EAA387DB02B6D75E9D9D23F88A80741
    FileChecksum (SHA256)
    Steam++_win_x64_v2.6.1.7zf8525e772904a5696e651bae5fbf726861b013ecd6c1a859804e371cd0581e0b
    Steam++_win_x64_fde_v2.6.1.7zcbe17c26b2e4ae1da24ea4c620c11fb98180f872c96e1d1c7d9fb56af35dbf53
    Steam++_win_x64_v2.6.1.exe3f69999ecde4699420e65ad63126e809e43462655ce4ae1fa04c384e069d93aa
    Steam++_win_x64_fde_v2.6.1.exe8dc15d27399cea1769df76d52d0276967bfd8a1941df23ae5a7418f22d161a81
    Steam++_linux_x64_v2.6.1.7z457dc4dd21c5acaf7c5515fc9c77e4d8abe2a75f674acda8e74cdfbc062bfb0f
    Steam++_linux_arm64_v2.6.1.7z6b83fdbeae5597befc892d44e603dbc4b35924be33a5774b733258b264bed1cf
    Steam++_linux_arm_v2.6.1.7z3f9df21a378884bb7a1c4c867c1d59b07a9568bba0c658755c3d12c89b97fea0
    Steam++_linux_x64_fde_v2.6.1.7zd20cb26e54ff6b9ecdb02712e2c585d34543dcc1ae35a25821f887a8938aa831
    Steam++_linux_arm64_fde_v2.6.1.7zdc17bd72b3df2332ce580bbe42f97ed3994ca0b387f3e92f3852b5672c41bd39
    Steam++_linux_arm_fde_v2.6.1.7zf99ff076f28ee26581baad1e848bc977d740a7450cd672e8d24e06e4f758f371
    Steam++_linux_x64_v2.6.1.deb29fc0a5da7396006793ee43508a4db3ab7b49663cb83c57b7f732443b8e4b74e
    Steam++_linux_arm64_v2.6.1.deb60e240bf6d698e7a3fa33356f1589d6cf3bbf8b85a61021c8cbb9b586420cd7d
    Steam++_linux_arm_v2.6.1.deb7977d15618b03cd2b40f29cea23680019d357c3b7d72046bc828a49d29e15633
    Steam++_linux_x64_fde_v2.6.1.deb6a1f14a1135179acaa436d33d1eae213bc85a1bd37a6ff2fba616d8d86740f19
    Steam++_linux_arm64_fde_v2.6.1.deb4be901e1961af44cbc814ca8bf9cdf56cdae9db3360be0d425291e75fa41df20
    Steam++_linux_arm_fde_v2.6.1.deb2570a0ee03634aa2b15c67c9f9e91a3f12e8e5bcd3f6c44b4a31dd44e2d2bf54
    Steam++_linux_x64_v2.6.1.rpmd7709a9373c9dd9b5f0957b02337ad7ac25dae5aa43bcc1ae3f10bd2cdfc0745
    Steam++_linux_arm64_v2.6.1.rpmd3238980442df1d1f1293ac0a6acbc6528d53966426af1c41474283ce0a5f922
    Steam++_linux_arm_v2.6.1.rpmb9d6990c5c2c989490464afa1bfa39ccf20b851547f912082447ee1d6a669247
    Steam++_linux_x64_fde_v2.6.1.rpm83345f36ec61f609f88d61c6c048efbbe5a8498fcfe1f4ae0aafeeaad93cc122
    Steam++_linux_arm64_fde_v2.6.1.rpm8c2a22ddd05b0f41bc2e83bfc496bd0ed3e22316cae5864123a06268c3817e33
    Steam++_linux_arm_fde_v2.6.1.rpmdd726f53d14587808667ff546f2cdd63c7cd860f0a50e71bb30db6c72bbe7e66
    Steam++_macos_x64_v2.6.1.dmgdd2a2f435aa12536fb5b0bc4329473c9db96e93a173405970710dae6d3533db4
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.12.7z30C6FBD285EEB5EABE64BA8AAD6576234EA11897A29BA84EF590CF9DCB4AC7E4
    Steam++_win_x64_v2.4.12.exe30C8625BF73D80A611B2F0DD04B3CE70364818CB1A2B5004074639A72D679B88
    Steam++_linux_x64_v2.4.12.7z3A47E0BBC5B7DE5C11566EEF2E959850667C68FCAB6D9ABC657007EA097DD2B0
    Steam++_linux_arm64_v2.4.12.7zA65842BF3A0FB9EC06A1B4CAA8710C092426FE32309512A8247D9E465224121B
    Steam++_linux_arm_v2.4.12.7z777AF29137C93F90F9477C6D9F62D7D55ABA7873C3FB5335C003953CC01857B7
    Steam++_macos_x64_v2.4.12.dmg1740F3CF154202BC7E2FB101187404637CE622D88A1528CE0F40517A3FD967FC
    Steam++_macos_x64_v2.4.12.app.zip35139413AB7694CD730A26836D825057D50C2D80FE6A4CB36B4F15E3A3652BEB
    Steam++_macos_x64_v2.4.12.7zE450102A5F5AFFF170C82836064B0EE97E03E0501B246F62E1B494392E0523D1
    Steam++_android_arm64_v8a_v2.4.12.apkA854FB5D69AA5FD86C8092C5DD7D923BD34DA6C1EB9120675667D5D91E83FA8F
    Steam++_android_armeabi_v7a_v2.4.12.apkF510D114B21D323576D8ACED296D20227BBA48053DC047C92B2BA260447FEF08
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.11.7z8C268FFF826D50D404FB79589EA8752DF45C0DD3A3A0DA1B27A738E78825AF51
    Steam++_win_x64_v2.4.11.exeABAD6B3C9DFDD336881F7197B9658AF2465104ECAF1BCB206AA259510E27A4D5
    Steam++_linux_x64_v2.4.11.7zE36C764D23B910133DEEB94E941101C8ED0F0B02C50A05B03F3E30DC3F7B29A6
    Steam++_linux_arm64_v2.4.11.7z58E89BBC79FD440956822D50029DC6BE11303A9EF7DC536E3ABF2DA3F91755FA
    Steam++_linux_arm_v2.4.11.7zE260EE0E4A4D185B79CA692347596F15998E3A88C0EE0BEBC9C6B516176EBA85
    Steam++_macos_x64_v2.4.11.dmgC47411A870A4445178FF45A90285054AF9720F6E46C970A058B135788FFF5A8A
    Steam++_macos_x64_v2.4.11.app.zip53B48725874E07FE8F5E178CCF5083D3C8F9CDB60E76FC3CF5062DFDECCD3E4C
    Steam++_macos_x64_v2.4.11.7zAE7682D224CBD6EA1FF90B093C8B0D5889E0F9532783B4CB365DDF85D06D8AAA
    Steam++_android_arm64_v8a_v2.4.11.apk8F01CFAFDCC3A945927A5DD7A2E18AD03F5B028E34ACA0B265FB2ED1F6085A20
    Steam++_android_armeabi_v7a_v2.4.11.apkD05D81132B03A515F5776BA7B047E6D06B8951522A9FCA4317579EF9603E6A4A
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.10.7z767FEC42DA14A632E92D517E96487F74184F55D6AFB7D95E57747E6AB3F4AC37
    Steam++_win_x64_v2.4.10.exeD598A9807F6325D2E07C1FF7CE4ADFC1605501E5115FC94014FEAF88FBCBEA1B
    Steam++_linux_x64_v2.4.10.7z6C10CCA10A073321AED815491C8F05B79F2602AE7BB187470C1FCD7A05519187
    Steam++_linux_arm64_v2.4.10.7z97AC7F2C5B7A369910B632CE0671B7BFF5BCD05598F5A44074F55E2BF5EED816
    Steam++_linux_arm_v2.4.10.7zF1E14F7BDB96BB9D86ACD0F94E11F4F565F3C13154711D69E5E9EAB18983FAE4
    Steam++_macos_x64_v2.4.10.dmg1F252D0A0837F0AE8DC5F930AD5619F9FA25284E3BD77F09A58098B850E84F1F
    Steam++_macos_x64_v2.4.10.app.zip59166D17023333E24E5DA9D7B7920B5F67E3F3EE5CDD30F903422C48BF4405BD
    Steam++_macos_x64_v2.4.10.7z7B59A36E34829F4343FD2048CDD2E899478C77E4FFAEFD877B52AD0429CB5D7C
    Steam++_android_arm64_v8a_v2.4.10.apk432046DF7C9BBA5CCBD8AC476CE31C9A8022C3F46508F8A32E7D42081A29DDA3
    Steam++_android_armeabi_v7a_v2.4.10.apk25584531B040E2B50EB0855D1E3242978E37EF554019241E6C4FDB25E7B8533D
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.9.7zD8620FF0F46BA3D10701309F13AE0FFF857E2E122FA9D1DB0D305D2CF76EAE44
    Steam++_win_x64_v2.4.9.exe05B032574F61B2E16E6A0EF74D7EC9BBE6880AE7B7496E8097DB88D2BEAB7B45
    Steam++_linux_x64_v2.4.9.7zE056112C66E92D49A69DB3AD58B8B48822E6A5C72DA0A0F6D602C157C1605B4E
    Steam++_macos_x64_v2.4.9.7z608BCC6305A867EF3EFC3444E32E1A35CD523DD08C3ACFBED30F6E66A758EE4C
    Steam++_macos_x64_v2.4.9.dmg927F495DCBA6380475568428F650FBC69A7AE390F06E0CD9305B38E98C13E568
    Steam++_macos_x64_v2.4.9.app.zipB19009C763E5168CEC40D28CC93418F621D30C1F013609C0D7F6B4012B24C8AE
    Steam++_android_arm64_v8a_v2.4.9.apk2EAE8803C14DB38E1E2C68B44647F7A35F8F0AFE45CF9727A3DAEBD5DD4630A2
    Steam++_android_armeabi_v7a_v2.4.9.apk26206AD0B904B45616C0E3263594AE6A846C222E9AEC71C2151A83E0DDC7F7E2
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.1.7zF585575E8C1466F09DD351A9F2A1E0D98669B38C8DF6BA0CF405E4E5E9863C12
    Steam++_win_x64_v2.4.1.exeC617DC41ADF3B628EBC33C0818FC2B1A57B69955C366C295357F98AD8A4E1786
    FileChecksum (SHA256)
    Steam++_win_x64_v2.4.0.7zA476B44FFC1B6D546352C34E990136C767046CACD5B2967FD9638E5B6ABB7059
    Steam++_win_x64_v2.4.0.exeADAA408ECC7D3FC323EB5EEB462C62ACA52BF5D27B367D887C671D6C72F02AD3
    FileChecksum (SHA256)
    Steam++_win_x86_v2.3.0.7z5DA9346C91CCEF3D63D85A6257B752502F0CB68D339920D7FDD4F09710E53E15
    Steam++_win_x86_v2.3.0.exeD1CD9D3F78DEBD78757391540239336AA18E25A678FAA8B2D80334D32F8F77F7
    FileChecksum (SHA256)
    Steam++_win_x86_v2.2.0.7zF876FF168ECDEBB28785FB83A3C0B40928F23B1E44C8B065F8B206BDF1F80963
    Steam++_win_x86_v2.2.0.exeB70A19B60AAC6755EB921A58C55902157A1720648D9EEB8B98FA5629DADC7FF6
    FileChecksum (SHA256)
    Steam++_win_x86_v2.1.0.7zF7AAF6F68D2E3A6AB22BFED20D837EBBC05EABD2AFFA44035497D53EBA337047
    Steam++_win_x86_v2.1.0.exe6185398E306BCAE6937953FFF63AC92B60D61EB4D9E3EA96062B2B69737DCF7C
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/development/\346\226\207\346\241\243\345\274\200\345\217\221.html" "b/zh/development/\346\226\207\346\241\243\345\274\200\345\217\221.html" new file mode 100644 index 0000000..3170daf --- /dev/null +++ "b/zh/development/\346\226\207\346\241\243\345\274\200\345\217\221.html" @@ -0,0 +1,69 @@ + + + + + + + + 文档开发 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    文档开发

    SteamTools Guide小于 1 分钟

    文档开发

    在线编辑

    直接点击文档内底部的编辑此页快速跳转到GitHub编辑页面直接向本仓库提交你撰写的文档

    本地开发

    先决条件:

    • nodejs(Version >= 16)
    • yarn(Version >= 1)

    Clone 本仓库

    在项目文件夹下运行:

    yarn install
    +yarn docs:dev
    +

    更新框架及插件(非必要不必更新)

    yarn add -D vuepress@next
    +yarn add @vuepress/plugin-search@next -d
    +
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/development/\346\233\264\346\226\260\346\227\245\345\277\227.html" "b/zh/development/\346\233\264\346\226\260\346\227\245\345\277\227.html" new file mode 100644 index 0000000..e0fd7ce --- /dev/null +++ "b/zh/development/\346\233\264\346\226\260\346\227\245\345\277\227.html" @@ -0,0 +1,42 @@ + + + + + + + + 更新日志 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    更新日志

    SteamTools Guide大约 48 分钟

    更新日志

    2.8.4 (2022-08-16)

    版本亮点

    1. .NET 运行时升级至 6.0.8,使用 fde 版本需要升级运行时
    2. ASF 升级至 V5.2.8.4
    3. Avalonia 升级至 0.10.18

    修复问题

    1. 修复 2.8.0 ~ 2.8.2 中 AppData/Config.mpo 文件大小为 0 时导致的程序无法正常启动
    2. 修复 Windows 上版本更新在 2.8.0 ~ 2.8.2 中非 FDE 版本识别为 FDE 版
    3. 改进 调整代理模式顺序,Hosts 模式置顶
    4. 修复 划词翻译等一些 JS 脚本
    5. 改进 macOS 上的证书安装
    6. 尝试修复 网络加速中能导致内存泄露的问题
    7. 改进 非简中默认隐藏加速与脚本仅在 Windows 上生效
    8. 改进 减少 Android 上的启动时间
    9. 修复 退出程序时可能引发的闪退
    10. 修复 macOS/Linux 上设置页面打不开的问题
    11. 修复 网络加速中网页上出现 Because https://... actually points to WattToolkit itself...
    12. 尝试修复 ASF 控制台中输入时卡死
    13. 修复 首次使用 Windows 安装版(非应用商店版) 可能导致程序无法正常启动
    14. 修复 2.8.3 中 win-x64 覆盖导致丢失配置文件等用户数据的问题

    2.8.3 (2022-08-14)

    版本亮点

    1. .NET 运行时升级至 6.0.8,使用 fde 版本需要升级运行时
    2. ASF 升级至 V5.2.8.4

    修复问题

    1. 修复 2.8.0 ~ 2.8.2 中 AppData/Config.mpo 文件大小为 0 时导致的程序无法正常启动
    2. 修复 Windows 上版本更新在 2.8.0 ~ 2.8.2 中非 FDE 版本识别为 FDE 版
    3. 改进 调整代理模式顺序,Hosts 模式置顶
    4. 修复 划词翻译等一些 JS 脚本
    5. 改进 macOS 上的证书安装
    6. 尝试修复 网络加速中能导致内存泄露的问题
    7. 改进 非简中默认隐藏加速与脚本仅在 Windows 上生效
    8. 改进 减少 Android 上的启动时间
    9. 修复 退出程序时可能引发的闪退
    10. 修复 macOS/Linux 上设置页面打不开的问题
    11. 修复 网络加速中网页上出现 Because https://... actually points to WattToolkit itself...
    12. 尝试修复 ASF 控制台中输入时卡死

    2.8.2 (2022-07-28)

    修复问题

    1. 修复 Windows FDE 版在 Windows 8.1/10 上错误识别成 Windows 8
    2. 修复 网络加速 DNS 设置无效
    3. 修复 网络加速 PAC 代理模式不能正常工作
    4. 修复 Windows 7 上的一些兼容性问题导致加速失效
    5. 改进 Windows Desktop Bridge 版本中不再弹出防火墙规则授权弹窗
    6. 修复 Windows Desktop Bridge 版本开机自启静默失效
    7. 改进 DNS 驱动拦截模式停止后不再占用 sys 文件
    8. 改进 通知 UI 列表项中仅显示两行文字
    9. 修复 第三方快速登录失败
    10. 改进 关闭代理时仅根据当前代理模式进行清理

    2.8.1 (2022-07-23)

    版本亮点

    1. 新增 Steam 云存档管理功能,可自行上传或删除 Steam 云存档
    2. 库存游戏支持筛选支持 Steam 云存档的游戏
    3. ASF 升级至 V5.2.7.7
    4. .NET 运行时升级至 6.0.7,使用 fde 版本需要升级运行时
    5. 库存游戏中解锁成就与挂时长支持 macOS 与 Linux 系统
    6. 在设置中可关闭托盘,关闭托盘后关闭主窗口即退出程序
    7. 使用 Yarp.ReverseProxy 重写了反代加速和脚本功能,大幅提升稳定性与性能
    8. Windows 新增 DNS 驱动拦截模式进行本地加速
    9. 令牌交易现在支持查看交易详情,可以确认交易方的 Steam 注册时间等信息
    10. 恢复 Windows x86(32 位) 版本发布

    修复问题

    1. 修复 窗口在某些情况下最大化或最小化恢复时窗口大小会变化的问题
    2. 修复 库存游戏 编辑 Steam 游戏封面时选择自定义图片失败的问题
    3. 修复 程序内在显示某些图片时会出现错乱马赛克的问题
    4. 修复 Linux 上点击关于页面可能因字体引发闪退
    5. 修复 MIUI Android 11 ~ 12 中绑定或换绑手机号页面闪退
    6. 修复 Android 本地加速中已知问题弹窗显示时不应同时跳转引导证书页
    7. 修复 令牌交易确认要求输本地令牌密钥时点击取消也能进行交易确认的问题
    8. 修复 令牌加载输入密码解密时点击取消或输入错误密码没有移除此前的数据问题
    9. 修复 2.8.0 中出现因脚本导致的启动加速服务失败
    10. 修复 网络加速中图标在跟随系统的浅色模式下字体颜色不应为白色
    11. 修复 系统代理模式与 PAC 代理模式中监听地址为 0.0.0.0 时出现的错误
    12. 修复 切换页面 UI 布局错乱

    2.8.0 (2022-07-23) 预发行版

    公告

    1. 非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能
    2. 因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。
    3. 自动更新目前仅 Windows 端可用,且由于下载渠道限速可能导致无法更新成功,推荐在官网链接的网盘或群文件中下载压缩包解压覆盖更新(应用商店版由商店更新不受此影响)
    4. 在 Android 上因系统限制,目前的加速功能无法正常使用,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能
    5. fde 版本需要安装 ASP.NET Core 运行时 6.0.8 (x64) 与 .NET Core 运行时 6.0.8 (x64)open in new window
    6. Windows x86 与 x64 版本令牌本机加密互不兼容,使用两者版本时注意令牌加密后的文件不能共用。
    7. 由于新版本加速功能重构,调整了部分加速项目,这会影响旧版本程序使用加速功能
    8. 为了能继续维持开发,从此版本开始将会添加程序内广告,赞助用户可以在设置中关闭所有广告

    版本亮点

    1. 新增 Steam 云存档管理功能,可自行上传或删除 Steam 云存档
    2. 库存游戏支持筛选支持 Steam 云存档的游戏
    3. ASF 升级至 V5.2.7.7
    4. .NET 运行时升级至 6.0.7,使用 fde 版本需要升级运行时
    5. 库存游戏中解锁成就与挂时长支持 macOS 与 Linux 系统
    6. 在设置中可关闭托盘,关闭托盘后关闭主窗口即退出程序
    7. 使用 Yarp.ReverseProxy 重写了反代加速和脚本功能,大幅提升稳定性与性能
    8. Windows 新增 DNS 驱动拦截模式进行本地加速
    9. 令牌交易现在支持查看交易详情,可以确认交易方的Steam注册时间等信息
    10. 恢复 Windows x86(32 位) 版本发布

    修复问题

    1. 修复 窗口在某些情况下最大化或最小化恢复时窗口大小会变化的问题
    2. 修复 库存游戏 编辑 Steam 游戏封面时选择自定义图片失败的问题
    3. 修复 程序内在显示某些图片时会出现错乱马赛克的问题
    4. 修复 Linux 上点击关于页面可能因字体引发闪退
    5. 修复 MIUI Android 11 ~ 12 中绑定或换绑手机号页面闪退
    6. 修复 Android 本地加速中已知问题弹窗显示时不应同时跳转引导证书页
    7. 修复 令牌交易确认要求输本地令牌密钥时点击取消也能进行交易确认的问题
    8. 修复 令牌加载输入密码解密时点击取消或输入错误密码没有移除此前的数据问题

    2.7.2 (2022-04-30)

    版本亮点

    1. ASF 升级至 V5.2.5.5

    修复问题

    1. 修复 判断 Administrator 或 Root 权限函数错误,例如导致 Windows 上开机自启失效等其他问题

    已知问题

    • 除 Windows 之外的平台此软件自动更新尚不可用
    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上版本
      • Linux
        • 窗口弹出位置不正确
        • 鼠标指针浮动样式不正确
      • Windows
        • Windows 11
          • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
          • 仅 .NET 6.0 受此影响,在内部版本 22509 中修复,见 issue
          • 解决方案: 可尝试使用旧版本 例如 v2.3.0
        • Windows 7
          • 先决条件
            • 需要安装 Extended Security Update
          • 在不符合先决条件的情况下运行可能导致
            • 程序无法正常运行
              • 解决方案
                • 使用 Windows Update 更新系统补丁
            • 运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll
            • 解决方案
              • 下载 api-ms-win-core-winrt-l1-1-0.dll 文件放入程序根目录(Steam++.exe 所在文件夹)
                • 从 Github 上直接下载
                • 从 Gitee 上直接下载
    • Android
      • 本地加速
        • 因 Android 7(Nougat API 24) 之后的版本不在信任用户证书,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能

    2.7.1 (2022-04-28)

    修复问题

    1. 修复 库存游戏中挂时长失效
    2. 修复 Steam 库存游戏在 Steam 账号切换后自动刷新失败的问题
    3. 修复 Steam 库存游戏编辑带有本地化名称的游戏无效的问题
    4. 修复 Android 上登录后出现两个退出登录按钮
    5. 改进 Android 上第三方快速登录使用系统默认浏览器
    6. 修复 一些图片加载失败不显示的问题
    7. 改进 从本地加载图片减少不必要的内存分配

    2.7.0 (2022-04-25)

    版本亮点

    1. Android 支持 VPN 模式 ( 推荐 ) 进行本地加速
    2. 新增 Steam 游戏信息编辑功能,可修改游戏名称、图片、启动项等数据并同步至 Steam 客户端生效
    3. ASF 升级至 V5.2.5.4
    4. 优化了显示图片时 GPU 占用
    5. 优化库存游戏和脚本内存占用
    6. 库存游戏编辑功能支持从 SteamGridDB 匹配预览和下载图片
    7. 网络加速新增 MEGA 网盘反代服务
    8. macOS 支持 Arm64 ( Apple Silicon )

    修复问题

    1. 修复 本地令牌 无令牌刷新时提示密码错误
    2. 改进 Android 端 本地令牌 列表样式第一条与最后一条的上下外边距
    3. 改进 俄语翻译,由 vanja-san 提供
    4. 改进 .NET 运行时升级至 6.0.4(仅 Desktop 端)
    5. 改进 脚本配置 未启动时的内存占用,以及减少总体内存占用率
    6. 修复 Hosts 加速模式下使用仅启用脚本功能导致死循环
    7. 改进 Linux 端 可监听 443 端口配置
    8. 修复 Windows 端,动态桌面背景窗口显示时一些可能导致闪退的潜在问题
    9. 修复 Android 端,因 CheckBox 导致在低于 6.0 Marshmallow 系统上引发的闪退
    10. 修复 Desktop 高 DPI 分辨率下菜单图标会显示模糊的问题
    11. 修复 Windows 端,切换至网络加速菜单时可能会出现 UI 错乱的问题
    12. 修复 Desktop 端,某些情况库存游戏会卡住无限加载的问题
    13. 修复 网络加速 Onedrive 加速失效问题
    14. 修复 消息框不再提醒复选框勾上可能不生效的问题
    15. 修复 Windows 端, JumpList 切换 Steam Beta 账号失效的问题
    16. 修复 ASF,当使用 IPC.config 时,程序内打开网页端口号值不正确

    2.7.0-pre3 (2022-04-01) 预发行版

    版本亮点

    1. Android 支持 VPN 模式(推荐) 进行本地加速

    修复问题

    1. 修复 本地令牌 无令牌刷新时提示密码错误
    2. 改进 Android 端 本地令牌 列表样式第一条与最后一条的上下外边距
    3. 改进 俄语翻译,由 vanja-san 提供
    4. 修复 Android 端,因 CheckBox 导致在低于 6.0 Marshmallow 系统上引发的闪退

    已知问题

    1. 停止加速时不会关闭 VPN,需手动关闭(在 pre2 中已修复)
    2. 网络加速列表在首次启动时有一定几率不显示,按住列表区域上下滑动即可显示
    3. 可能是 AndroidX.Navigation.UI 2.3.5.x 的问题,此包 2.4 也有一些严重问题,View 的显示隐藏状态不正确,可能需要换一个实现才能彻底解决
    4. Android 上的网络加速应该对网页,其他 App 都能生效,但是对本 App 不能生效,例如 ASF 功能需要访问 Steam 社区,因为加速原理上使用本地加速,加速自身会导致网络请求死循环,暂无解决方案

    2.6.9 (2022-03-03)

    版本亮点

    1. ASF 升级至 V5.2.3.5
    2. ASF 配置 中新增 设置自定义密钥(ASF_CRYPTKEY) 与 导入 Bot 文件
    3. Linux 发行压缩包由 7z 格式更改为 tar.zst
    4. 网络加速 支持 IPv6 网络访问 Steam 讨论/留言相关功能
    5. 网络加速 支持 Steam 商店 访问被限制的游戏页面
    6. 网络加速 新增了部分被限制的 CDN 加速,支持访问 stackoverflow
    7. 账号切换 家庭库共享管理新增暂时禁用启用指定账号的功能 可在排序失效时使用

    修复问题

    1. 改进 网络加速 中的代理证书生成
    2. 改进 账号切换 中读取 Vdf 配置操作
    3. 修复 Desktop 端 家庭共享库管理 在 Steam Beta 版上不能正常使用
    4. 修复 网络加速 Twitch 聊天服务链接不上的问题
    5. 修复 网络加速 github.io 加速影响部分仓库访问 404 的问题
    6. 修复 网络加速 Steam 社区加速后会出现【请重新输入下方验证码中的字符来验证此为人工操作】的问题
    7. 暂时移除了网络加速中部分失效的加速项目
    8. 修复 令牌交易 登录状态失效时刷新应该回到登录界面
    9. 改进 本地令牌 移除令牌时的提示
    10. 修复 网络加速 滚动条错误滚动的问题

    2.6.7 (2022-02-08)

    版本亮点

    1. 修复更新后无法启动的 Bug
    2. 当前版本仅发布受影响平台的包

    修复问题

    1. 修复 目录迁移跨卷错误导致的无法启动

      仅当 Windows 安装版之前安装在非系统盘上引发

      Linux 也可能受影响(较小概率),能启动则可忽略此更新,其他平台不受此影响

    2. 优化 程序内图片资源占用空间

    2.6.6 (2022-02-08) 预发行版

    版本亮点

    1. 修复更新后无法启动的 Bug
    2. 当前版本仅发布受影响平台的包

    修复问题

    1. 修复 目录迁移跨卷错误导致的闪退,仅当 Windows 安装版之前安装在非系统盘上引发,Linux 也可能受影响,其他平台不受此影响
    2. 优化 程序内图片资源占用空间

    已知问题

    • Desktop
      • Windows
      • 安装版
        • 问题一:从 < 2.6.5 版本升级至 2.6.5 出现的无法启动
          • 解决方案
          • 退出 Steam++
          • 下载 群文件 > Steam++ v2.6.5 ~ v2.6.6>System.Common.CoreLib.dll
          • 将 dll 文件替换至 安装目录\Steam++\Bin
          • 启动 Steam++
        • 问题二:从 < 2.6.6 版本升级至 2.6.6 第二次启动程序时丢失数据,比如登录状态,设置项,已下载的脚本,缓存的图片文件等(此问题无法通- 过新版本修复,只能手动修复)
          • 解决方案
          • 退出 Steam++
          • 按 Win + R 键打开运行,输入 %LocalAppData%\Steam++ 回车,将此文件夹备份到其他目录后删除该目录
          • 输入 %Tmp%\Steam++ 同上操作
          • 按问题一中步骤 1.2 开始操作

    2.6.5 (2022-01-05)

    版本亮点

    1. ASF 升级至 V5.2.2.4
    2. Android 12 适配
    3. Android 上的 ASP.NET Core 升级至 2.2.5
    4. Desktop 上的 Avalonia 升级至 0.10.12

    修复问题

    1. 修复 Steam Beta 版账号切换失效
    2. 修复 ASF 在线配置文件生成器链接错误
    3. 修复 Linux 上运行时闪退
    4. 修复 Windows 7 上点击任务栏图标没有最小化
    5. 改进 打开 Web 链接失败时候的错误提示
    6. 改进 JumpList 在 Windows 10.0.10586 上使用 UWP API
    7. 改进 Windows 安装包默认路径使用 $PROGRAMFILES64
    8. 改进 Windows 安装版 AppData 与 Cache 文件夹不再使用根目录
    9. 改进 Android Apk 包使用单一包,不再根据 ABI 拆分
    10. 改进 Android 本地加速与 ASF 使用前台服务运行
    11. 改进 本地加速 增加 重置 Hosts 文件 与 打开 Hosts 所在文件夹
    12. 改进 Hosts 文件存在多个 Mark 导致失败的错误提示

    2.6.4 (2022-01-05)

    版本亮点

    1. CLR 升级至 6.0.1,Avalonia 升级至 0.10.11,等其他依赖项升级
    2. 新增 macOS ARM64 包,用于 M1 系列设备
    3. 改进 本地令牌-确认交易 窗口标题中显示令牌名称
    4. 新增 Android x64 架构包,适用于 Intel、AMD 芯片的设备或虚拟机
    5. 新增 Android ASF 本地挂卡功能 (Beta)
    6. 新增 Android 网络加速功能 (Alpha)
    7. 改进 Android 冷启动速度
    8. 改进 Android 导入令牌成功后回到列表页

    修复问题

    1. 修复 Linux / macOS 因默认字体导致启动时崩溃(core dumped) #827
    2. 修复 ASF Json 配置文件改变时引发闪退 #793
    3. 修复 macOS 系统代理
    4. 修复 Android 屏幕捕获设置项不生效
    5. 修复 Android 令牌列表有时不显示值
    6. 修复 Android 确认交易 全选/全不选 复选框勾选时逻辑不正确执行

    已知问题

    • 除 Windows 之外的平台此软件自动更新尚不可用
    • Android
      • 本地加速
        • VPN 模式不能正常工作
        • 需要在 Wifi 或 流量 上手动设置代理地址,关闭时手动清除设置
        • Android 7+ 不信任用户证书
    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上版本
      • Linux
        • Hosts 代理模式可能无法配置成功,推荐使用系统代理模式
        • 系统代理模式下discord更新下载加速有问题暂不可用
        • 窗口弹出位置不正确
        • 鼠标指针浮动样式不正确
    • Windows
      • Windows 11
        • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
        • 仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue
        • 解决方案: 可尝试使用旧版本 例如 v2.3.0
      • Windows 7
        • 先决条件
          • 需要安装 Extended Security Update
        • 在不符合先决条件的情况下运行可能导致
          • 程序无法正常运行
          • 运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll
        • 解决方案
          • 因 Windows 7 延长结束日期以于 2020 年 1 月 14 日结束支持
            • 所以必须安装 Extended Security Update 支持,在安装第三年的补丁后结束支持日期可延长至 2023 年 1 月 10 日
            • 可安装 第三方 补丁整合包例如 UpdatePack7R2 或 购买官方 ESU 产品密钥 解决
          • 下载 api-ms-win-core-winrt-l1-1-0.dll 文件放入程序根目录(Steam++.exe 所在文件夹)
            • 从 Github 上直接下载
            • 从 Gitee 上直接下载
            • 从 NuGet 上下载后提取
              • .nupkg 文件可使用解压工具打开或解压,找到此文件复制即可

    2.6.3 (2021-12-12)

    版本亮点

    1. 修复自 2.6.2 以来的一些问题,优化程序体积

    修复问题

    1. 修复 Win7 因不支持 http2 导致无法连接服务端(已升级至 2.6.2 的版本只能手动更新)
    2. 修复 库存游戏 挂时长列表 可能引发的闪退
    3. 修复 高 DPI 下 ASF Bot UI 错误
    4. 修复 hosts 加速关闭或退出时因其他软件占用 hosts 文件引发的闪退(例如雷神加速器)
    5. 修复 ASF 在 Windows 上的一些错误
    6. 改进 MessageBox 消息框的文本样式
    7. 改进 从此版本开始不再使用 R2R/AOT 编译,有效的减少了程序占用体积

    已知问题

    • 除 Windows 之外的平台此软件自动更新尚不可用
    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上版本
      • Linux
        • Hosts 代理模式可能无法配置成功,推荐使用系统代理模式
        • 系统代理模式下discord更新下载加速有问题暂不可用
        • 窗口弹出位置不正确
        • 鼠标指针浮动样式不正确
    • Windows
      • Windows 11
        • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
        • 仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue
        • 解决方案: 可尝试使用旧版本 例如 v2.4.12
      • Windows 7
        • 先决条件
          • 需要安装 Extended Security Update
        • 在不符合先决条件的情况下运行可能导致
          • 程序无法正常运行
        • 运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll
        • 解决方案

    2.6.2 (2021-12-10)

    版本亮点

    1. ASF 升级至 V5.2.0.10
    2. 新增 ASF 控制台字体大小、最大行数设置项
    3. 新增 Steam 下载完成定时关机、睡眠功能
    4. 新增 代理设置可自定义 DNS
    5. 新增 ASF 编辑/移除 Bot 功能
    6. 新增 Microsoft/Xbox 相关加速服务 (需要升级到 2.6.2 之后可用)
    7. 新增 Uplay 相关加速服务 (需要升级到 2.6.2 之后可用)
    8. 新增 OneDrive 等更多相关加速服务 (需要升级到 2.6.2 之后可用)
    9. 优化 Desktop 加速代理性能
    10. 优化 Desktop 脚本注入打包的性能
    11. 优化 Desktop 已安装游戏加载性能
    12. 从此版本开始将使用 Github Action 自动化部署发布

    修复问题

    1. 改进 Desktop 网络加速现默认使用阿里 DNS(223.5.5.5, 223.6.6.6)
    2. 改进 自动更新包文件校验失败时提示
    3. 改进 自动更新失败时将自动跳转官网
    4. 改进 ASF IPC 默认端口号由 1242 改为 6242
    5. 修复 Linux 与 macOS 中 ASF-UI 解压包文件夹分隔符不正确
    6. 修复 Windows Hosts 只读时尝试取消只读属性的操作没有正确执行
    7. 修复 Windows 此软件自动更新删除更新包缓存时因文件占用引发的中断
    8. 修复 Desktop 高 DPI 下动态桌面错位
    9. 修复 本地令牌确认交易在登录时可能会卡住
    10. 修复 Windows 启用动态桌面后全屏可能导致窗口冻结无法操作
    11. 修复 Windows 动态背景有时会被其他窗口遮挡
    12. 改进 本地令牌 登录验证码无法加载时可点击在浏览器中查看验证码图片
    13. 修复 Desktop 加速代理中可能出现的一些错误
    14. 改进 Desktop 令牌详情 UI
    15. 改进 Desktop 账号切换中的用户名信息现在默认隐藏
    16. 改进 Desktop 深色模式与浅色模式的视觉效果
    17. 修复 Pixiv 加速不能登录的问题
    18. 修复 Twitch 加速不计算掉宝进度的问题
    19. 修复 Discord 加速检测更新失败导致无法启动客户端的问题
    20. 修复 Windows 因添加 JumpList 时可能导致的闪退
    21. 修复 Desktop 本地令牌 点击锁定后输入密码按回车解锁会循环无限触发锁定的问题

    已知问题

    • 除 Windows 之外的平台此软件自动更新尚不可用
    • Desktop
      • macOS
      • Linux
        • Hosts 代理模式可能无法配置成功,推荐使用系统代理模式
        • 系统代理模式下discord更新下载加速有问题暂不可用
        • 窗口弹出位置不正确
        • 鼠标指针浮动样式不正确
    • Windows
      • Windows 11
        • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
        • 仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue
        • 解决方案: 可尝试使用旧版本 例如 v2.3.0
      • Windows 7
        • 先决条件
          • 需要安装 Extended Security Update
        • 在不符合先决条件的情况下运行可能导致
          • 程序无法正常运行
          • 运行程序时提示 计算机中丢失 api-ms-win-core-winrt-l1-1-0.dll
        • 解决方案
          • 因 Windows 7 延长结束日期以于 2020 年 1 月 14 日结束支持
            • 所以必须安装 Extended Security Update 支持,在安装第三年的补丁后结束支持日期可延长至 2023 年 1 月 10 日
            • 可安装 第三方 补丁整合包例如 UpdatePack7R2 或 购买官方 ESU 产品密钥 解决
          • 下载 api-ms-win-core-winrt-l1-1-0.dll 文件放入程序根目录(Steam++.exe 所在文件夹)
            • 从 Github 上直接下载
            • 从 Gitee 上直接下载
            • 从 NuGet 上下载后提取
              • .nupkg 文件可使用解压工具打开或解压,找到此文件复制即可

    2.6.1 (2021-11-23)

    新增内容

    1. CLR 更新至 6.0 RTM
    2. 新增 捐助功能,在关于中可使用 爱发电、Ko-fi、Patreon 平台捐助
    3. 新增 ASF 本地挂卡功能 (Beta)
    4. 新增 本地令牌搜索功能
    5. 新增 库存游戏右键菜单导航到 Steam 客户端
    6. 新增 Windows 11 上可设置材质 云母(Mica)
    7. 新增 搜索框支持拼音搜索
    8. 新增 框架依赖部署模式(FDE),可通过共享运行库减少磁盘占用空间,仅支持 Windows 与 Linux
    9. 新增 Windows 上可将动态壁纸设置为程序背景
    10. 新增 桌面端 背景材质设置,并修复之前AcrylicBlur透明效果异常问题
    11. 改进 桌面端 UI 适配 Windows 11 风格
    12. 改进 Hosts 文件在 Windows 上默认使用 UTF8WithBOM 编码
    13. 改进 账号注销现需要通过手机号或昵称验证
    14. 改进 令牌账号加密、导出的界面UI和导入过程中的提示
    15. 改进 Steam 账号切换支持头像框、等级和游戏中信息的显示
    16. 改进 文本框窗口弹出时将自动设置焦点
    17. 改进 Windows 上端口占用提示文本显示占用该端口的进程名
    18. 改进 Linux 上存储数据遵循 XDG Base Directory Specification
    19. 改进 主题切换现在不在需要重启程序,提升主题切换速度
    20. 改进 本地令牌账号导入过程中的说明提示
    21. 改进 Windows 上账号切换启动 Steam 时,默认不在以管理员身份启动
    22. 改进 macOS 上修改 hosts 文件可以不用每次输入密码

    修复问题

    1. 修复 本地令牌 中确认交易时 Http 302 重定向错误
    2. 修复 Linux 与 macOS 上代理错误
    3. 修复 库存游戏无限加载
    4. 修复 脚本未启用时保存状态会全部未启用
    5. 修复 桌面端 上主题运行时切换与跟随系统
    6. 修复 Windows 上窗口边缘滚动条难以拖拽
    7. 修复 本地令牌 确认交易登录时会错误的提示没有开启加速
    8. 修复 本地令牌 确认交易有时会卡在提示登录中的问题
    9. 修复 Windows 上资源管理器重启后托盘消失,以及尝试修复开机自启时有时不显示托盘
    10. 修复 桌面端 上导航栏的弹出菜单失去焦点时不会自动隐藏的问题
    11. 修复 在 2.6.0 中账号切换、挂时长列表、ASF-UI 无效或缺失的问题

    已知问题

    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
        • 自动更新不可用
      • Linux
        • 在 Deepin 中托盘不生效,可通过 Exit.sh 退出程序
        • 窗口弹出位置不正确
        • 自动更新不可用
        • 鼠标指针浮动样式不正确
      • Windows
        • 在 CPU 不受支持的 Win11 上无法启动,Windows 日志中显示 Failed to create CoreCLR, HRESULT: 0x80004005
        • 仅 .NET 6.0 受此影响,在几周后的 Insider 中会修复,见 issue
        • 解决方案: 可尝试使用早期版本,例如 v2.3.0
      • Shared
        • 拼音搜索不能正确的识别多音字
        • 在 仅有一个文本框的窗口 上使用回车确定可能导致弹窗死循环,例如本地令牌中的需要解密才能继续
        • 解决方案: 点击右下方的确定按钮完成输入
        • Linux 与 macOS 上 ASF-UI 解压目录路径分隔符不正确
        • 解决方案: 可下载 www.zip 解压覆盖,目录可在 ASF 配置 - ASF 存储空间 - 打开 ASF WebUI文件夹 中打开
    • Mobile
      • Android
        • 确认交易列表刷新后数据有时会显示不正确
        • 自动更新暂不可用

    下载指南open in new window

    2.4.12 (2021-09-06)

    新增内容

    1. 新增 Desktop 上网络加速代理设置
    2. 新增 Android 上屏幕捕获设置项,用于允许截图或录制视频
    3. 新增 Windows 托盘菜单支持切换账号与复制令牌
    4. 新增 Linux/macOS 托盘菜单改进与完善

    修复问题

    1. 修复 Desktop 上用户头像应当为圆形而不是方形
    2. 修复 Android 上切换系统语言可能引发的闪退
    3. 修复 Windows 10 上启动时可能出现的网络连接中断提示
    4. 修复 Android 上令牌倒计时可能引发的闪退
    5. 修复 Desktop 上库存游戏刷新可能引发的闪退
    6. 修复 Desktop 上可能少加载了部分已安装游戏
    7. 修复 Android 上暗色模式下某些区域背景为白色
    8. 改进 Android 上令牌刷新倒计时
    9. 改进 本地令牌名称最大长度限制 32 个字符
    10. 改进 Desktop 上网络加速 UI
    11. 修复 Desktop 上默认头像可能引发的闪退
    12. 改进 Desktop 上左侧菜单图标

    已知问题

    • Desktop
      • macOS
        • 默认代理设置不正确,需将 代理设置-加速设置-本机监听IP地址 改为 0.0.0.0,才能正常开启代理
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
        • 某些窗口顶部会有两个标题栏
        • 自动更新不可用
      • Linux
        • 当使用 root 权限运行时托盘不生效,可通过 Exit.sh 退出程序
        • 窗口弹出位置不正确
        • 窗口顶部会有两个标题栏
        • 自动更新不可用
      • Shared
        • 主题切换需重启软件后生效,且跟随系统暂不可用
    • Mobile
      • Android
        • 确认交易列表刷新后数据显示不正确
        • 自动更新暂不可用

    下载指南

    • Windows
      • 如果你使用 Intel、AMD 的 x64 芯片的 Mac(较为普遍),则下载文件名中带有 win_x64 的文件
    • macOS
      • 如果你使用 Intel、AMD 的 x64 芯片的 Mac(较为普遍),则下载文件名中带有 macos_x64 的文件
      • 如果你使用 ARM64 芯片的 Mac(较为稀有),例如 M1,则下载文件名中带有 macos_x64 的文件可通过 Rosetta 2 运行
    • Linux
      • 如果你使用 Intel、AMD 的 x64 芯片的 PC(较为普遍)则下载文件名中带有 linux_x64 的文件
      • 如果你使用 ARM64 芯片的 PC(较为稀有)例如 Raspberry Pi Model 3+,则下载文件名中带有 linux_arm64 的文件
      • 如果你使用 ARM32 芯片的 PC(较为稀有)例如 Raspberry Pi Model 2+,则下载文件名中带有 linux_arm 的文件
    • Android
      • 如果你使用 ARM64 芯片的设备(较为普遍)则下载文件名中带有 android_arm64_v8a 的文件
      • 如果你使用 ARM32 芯片的设备(较为稀有)通常为 14 年下半年之前生产的设备,则下载文件名中带有 android_armeabi_v7a 的文件

    2.4.11 (2021-08-24)

    新增内容

    1. 部分新增文本的其他语言翻译

    修复问题

    1. 修复 Desktop 上因登录或注册后头像引发的无限闪退
    2. 修复 Windows 上托盘菜单有时无法打开窗口
    3. 改进 Desktop 上库存游戏右键菜单隐藏游戏项位置
    4. 移除 Desktop 上菜单栏用户手机号显示
    5. 修复 Desktop 上库存游戏中磁盘占用 UI 错位
    6. 修复 Desktop 上快速登录等待中 UI 错位
    7. 修复一些杂项问题,增强程序稳定性

    已知问题

    • Desktop
      • macOS
        • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
        • 某些窗口顶部会有两个标题栏
        • 自动更新不可用
      • Linux
        • 托盘不生效,这将影响程序不能正常退出
        • 窗口弹出位置不正确
        • 窗口顶部会有两个标题栏
        • 自动更新不可用
      • Shared
        • 主题切换需重启软件后生效,且跟随系统暂不可用
    • Mobile
      • Android
        • 本地令牌倒计时存在误差不够精确,可能导致令牌值不一致
        • 确认交易列表刷新后数据显示不正确
        • 自动更新暂不可用

    下载指南

    • Linux
      • 如果你使用 Intel、AMD 芯片的 PC(较为普遍)则下载文件名中带有 linux_x64 的文件
      • 如果你使用 ARM64 芯片的 PC(较为稀有)例如 Raspberry Pi Model 3+,则下载文件名中带有 linux_arm64 的文件
      • 如果你使用 ARM 芯片的 PC(较为稀有)例如 Raspberry Pi Model 2+,则下载文件名中带有 linux_arm 的文件
    • Android
      • 如果你使用 ARM64 芯片的设备(较为普遍)则下载文件名中带有 android_arm64_v8a 的文件
      • 如果你使用 ARM 芯片的设备(较为稀有)通常为 14 年下半年之前生产的设备,则下载文件名中带有 android_armeabi_v7a 的文件

    2.4.10 (2021-08-24) 预发行版

    新增内容

    1. Linux/macOS 版本中的 CLR 升级至 .NET 6 Preview 7
    2. Desktop 现已适配 WinUI 3 / Windows 11 / Fluent Design System 样式风格
    3. 新增 Android 上从图库选择二维码图片导入令牌
    4. 新增 Android 上文件导入选择二维码图片导入令牌
    5. 新增 Desktop 上现可刷新头像

    修复问题

    1. 修复 Desktop 上账号切换功能
    2. 改进 Desktop 上受保护的成就不在支持勾选
    3. 修复 Linux 上因字体引发的启动时闪退
    4. 修复 Android 上扫码导入功能
    5. 修复 Android 上 Toast 不能正常显示
    6. 改进 Android 上的令牌导入方式
    7. 修复 Android 上导入带密码的令牌时不显示密码输入框
    8. 修复 导入带密码的令牌时密码输入文本框窗口不能正确取消
    9. 修复 Desktop 上使用火狐浏览器无法进行快速登录
    10. 修复 Android 8.0 以下启动时闪退
    11. 修复 Desktop 上部分用户库存游戏已安装游戏无法读取
    12. 尝试修复 Windows 上托盘菜单有时无法打开窗口
    13. 改进 Android 上确认交易页面上的显示隐藏逻辑

    已知问题

    • Desktop
      • macOS
      • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
      • 某些窗口顶部会有两个标题栏
      • 自动更新不可用
    • Linux
      • 托盘不生效,这将影响程序不能正常退出
      • 窗口弹出位置不正确
      • 窗口顶部会有两个标题栏
      • 自动更新不可用
    • Shared
      • 主题切换需重启软件后生效,且跟随系统暂不可用
    • Mobile
      • Android
        • 本地令牌倒计时存在误差不够精确,可能导致令牌值不一致
        • 确认交易列表刷新后数据显示不正确
        • 自动更新暂不可用

    下载指南

    • Linux
      • 如果你使用 Intel、AMD 芯片的 PC(较为普遍)则下载文件名中带有 linux_x64 的文件
      • 如果你使用 ARM64 芯片的 PC(较为稀有)例如 Raspberry Pi Model 3+,则下载文件名中带有 linux_arm64 的文件
      • 如果你使用 ARM 芯片的 PC(较为稀有)例如 Raspberry Pi Model 2+,则下载文件名中带有 linux_arm 的文件
    • Android
      • 如果你使用 ARM64 芯片的设备(较为普遍)则下载文件名中带有 android_arm64_v8a 的文件
      • 如果你使用 ARM 芯片的设备(较为稀有)通常为 14 年下半年之前生产的设备,则下载文件名中带有 android_armeabi_v7a 的文件

    2.4.9 (2021-08-18)

    新增内容

    1. CLR 升级至 .NET 6 Preview 7
    2. 新增 库存游戏可浏览已安装的游戏文件夹
    3. 新增 创意工坊划词翻译脚本
    4. 新增 通用设置-使用硬件加速设置项,也可通过命令行参数禁用硬件加速启动 -clt devtools -disable_gpu
    5. 新增 账号切换内新增家庭库共享排序功能,该功能可调整当前设备的多个家庭共享账号库存的优先级顺序。
    6. 新增 QQ 快速登录渠道
    7. 新增 意大利语支持
    8. 新增 西班牙语支持
    9. 新增 通用设置内可支持访问程序的 AppData、Cache、Logs 文件夹和查看缓存及日志占用空间大小情况
    10. 新增 本地令牌可以查看令牌二维码导入到移动端
    11. Android/macOS/Linux 版现已开启 Beta/Alpha 测试,可从 GitHub/Gitee 上下载

    修复问题

    1. 修复 开机自启动在 2.4.x 中不生效
    2. 改进 深色和浅色模式的视觉效果
    3. 改进 社区加速计时逻辑
    4. 更正 导出令牌窗口标题文本错误
    5. 改进 添加令牌弹窗可调整窗口大小
    6. 改进 本地令牌自定义修改名称操作
    7. 修复 我的面板中出现垂直滚动条
    8. 改进 解锁成就风险提示弹窗可以设置不再提示
    9. 修复 任务栏位于顶部时托盘菜单位置不正确
    10. 修复 挂时长运行中列表移除游戏时引发的闪退
    11. 改进 自动更新机制
    12. 改进 开机自启动现仅对当前用户生效
    13. 改进 第三方账号快速登录,现使用系统浏览器进行快速登录
    14. 改进 现已编译为 ReadyToRun (R2R) 格式,这将改进应用程序的启动时间和延迟(仅 Windows 版)
    15. 修复 库存游戏中部分游戏被错误屏蔽没有加载
    16. 改进 部分语言的翻译文本
    17. 改进 本地令牌上移下移功能顺序错乱问题
    18. 修复 程序在加载库存游戏时有概率闪退的问题
    19. 修复 打开托盘菜单有概率导致程序闪退的问题
    20. 修复 程序启动时界面不会加载任何内容无法正常使用的问题
    21. 改进 账号切换功能 UI
    22. 改进 移除了 CEF 模块,缩减程序体积和运行时内存占用
    23. 改进 库存游戏支持显示已安装游戏占用空间大小
    24. 改进 库存游戏封面大小调节可支持滚动调节
    25. 改进 hosts 文件编码在 Windows 上使用系统的活动代码页(ANSICodePage),例如 GB2312/936,其他操作系统则使用 UTF-8,还原 V1 版本行为
    26. 改进 开始菜单磁贴背景由黑色更改为透明
    27. 修复 账号切换修改账号备注重启后被还原

    已知问题

    • macOS
      • 尚未公证,这会影响 macOS Catalina(版本 10.15)以上
      • 自动更新不可用
    • Linux
      • 托盘不生效,这将影响程序不能正常退出
      • 窗口弹出位置不正确
      • 自动更新不可用
    • Android
      • 扫码导入暂不可用

    2.4.1 (2021-06-06)

    已知问题

    • 旧版本不会检测到新版本

    • 由于本机加密 ProtectedData 与 DataProtectionProvider 在 64 位中无法解密 32 位写入的数据

      导致 令牌数据,Steam++平台登录状态等 存储在本地的数据无法解密

      • 解决方案
        • 令牌数据

          先关闭旧版本令牌的本机加密保护在覆盖升级,如果已经升级新版本且没有令牌数据,可以用 2.3.0 版本的压缩包覆盖后再进行操作

        • Steam++平台登录状态

          重新登录即可

    • 由于升级 CEF 90.6.3 导致 微软账号 无法使用 Windows Hello 方式快速登录

    • 开机自启动因本次更新程序路径发生变化而失效

      • 临时解决方案
        • 计算机管理(本地) - 系统工具 - 任务计划程序 - 任务计划程序库 中 找到名称为 Steam++ 的项 双击打开 顶部 Tab 切换到 操作,编辑列表中唯一的操作项 在 起始于(可选)(T): 将目录末尾的 \Bin 删除即可

    注意事项

    从此版本开始不再支持 32 位操作系统

    由于文件与目录变动较大,推荐使用压缩包覆盖升级,可在群文件或官网中下载(Steam++_win_x64_v2.4.1.7z)

    从之前版本覆盖升级操作指南

    1. 下载压缩包

    2. 退出 Steam++ 程序

    3. 程序根目录下除了 以下 文件夹 外可全部删除

      AppData Cache Logs

    4. 将压缩包解压至根目录

    5. 启动程序

    更新内容

    1. 修复 添加令牌时引发的闪退
    2. CLR 升级至 .NET 6 Preview 4
    3. 64 位程序支持,从此版本开始不再提供 32 位程序支持
    4. CEF 升级至 90.6.3
    5. 改进 程序目录结构,所有相关 dll 将放入 bin 文件夹中
    6. 新增 全新的托盘菜单
    7. 改进 隐藏游戏列表与挂机游戏列表实时刷新
    8. 新增 JumpList 菜单切换账号
    9. 修复 Win7 中右上角按钮样式错误
    10. 改进 缓存获取加速项目数据,避免失败时无数据
    11. 修复 手动检查更新时有概率出现两个新版本窗口
    12. 改进 未使用社区加速时退出程序不再清理 hosts 文件
    13. 修复 托盘菜单弹出位置因 DPI 缩放导致位置不正确

    2.4.0 (2021-06-06) 预发行版

    已知问题

    • 旧版本不会检测到新版本

    • 由于本机加密 ProtectedData 与 DataProtectionProvider 在 64 位中无法解密 32 位写入的数据

      导致 令牌数据,Steam++平台登录状态等 存储在本地的数据无法解密

      • 解决方案
        • 令牌数据

          先关闭旧版本令牌的本机加密保护在覆盖升级,如果已经升级新版本且没有令牌数据,可以用 2.3.0 版本的压缩包覆盖后再进行操作

        • Steam++平台登录状态

          重新登录即可

    • 由于升级 CEF 90.6.3 导致 微软账号 无法使用 Windows Hello 方式快速登录

    • 开机自启动因本次更新程序路径发生变化而失效

      • 临时解决方案
        • 计算机管理(本地) - 系统工具 - 任务计划程序 - 任务计划程序库 中 找到名称为 Steam++ 的项 双击打开 顶部 Tab 切换到 操作,编辑列表中唯一的操作项 在 起始于(可选)(T): 将目录末尾的 \Bin 删除即可

    注意事项

    从此版本开始不再支持 32 位操作系统

    由于文件与目录变动较大,推荐使用压缩包覆盖升级,可在群文件或官网中下载(Steam++_win_x64_v2.4.1.7z)

    从之前版本覆盖升级操作指南

    1. 下载压缩包

    2. 退出 Steam++ 程序

    3. 程序根目录下除了 以下 文件夹 外可全部删除

      AppData Cache Logs

    4. 将压缩包解压至根目录

    5. 启动程序

    更新内容

    1. 修复 添加令牌时引发的闪退
    2. CLR 升级至 .NET 6 Preview 4
    3. 64 位程序支持,从此版本开始不再提供 32 位程序支持
    4. CEF 升级至 90.6.3
    5. 改进 程序目录结构,所有相关 dll 将放入 bin 文件夹中
    6. 新增 全新的托盘菜单
    7. 改进 隐藏游戏列表与挂机游戏列表实时刷新
    8. 新增 JumpList 菜单切换账号
    9. 修复 Win7 中右上角按钮样式错误
    10. 改进 缓存获取加速项目数据,避免失败时无数据
    11. 修复 手动检查更新时有概率出现两个新版本窗口
    12. 改进 未使用社区加速时退出程序不再清理 hosts 文件

    2.3.0 (2021-05-25)

    1. 改进 端口被占用检测进程名
    2. 修复 部分 Toast 没有正确显示
    3. 新增 账号注销功能
    4. 改进 hosts 文件写入无权操作时显示的错误文本
    5. 新增 快速登录后可绑定手机号
    6. 新增 解绑快速登录账号
    7. 新增 隐藏库存游戏
    8. 新增 游戏功能-无边框窗口化
    9. 新增 关于-更新日志
    10. 新增 令牌加密设置,现在新增令牌默认将不启用本机加密
    11. 修复 非正常退出程序时导致残留进程且无法启动程序
    12. 改进 不再写入 C:\Users\用户名\AppData\Local 目录
    13. 修复 文本框中某些符号可能无法正确输入
    14. 改进 令牌排序上移下移
    15. 新增 令牌导入导出
    16. 新增 游戏时长挂机功能
    17. 新增 Microsoft 账号快速登录与绑定
    18. 新增 社区加速 hCaptcha 验证码 / EPIC 验证码 / artstation / v2ex
    19. 修复 社区加速 discord 更新下载

    2.2.0 (2021-05-10)

    1. 新增 手动更新检查
    2. 改进 修改账号切换操作交互
    3. 修复 修改账号切换 UI 错位
    4. 修复 Steam 快速登录时无法查看本地令牌
    5. 改进 多开程序时将会显示主窗口
    6. 改进 hosts 文件属性为只读且不可修改属性时显示的错误文本
    7. 改进 Steam 快速登录现在会显示已登录的用户账号可免输入账号密码一键登录
    8. 改进 增加错误日志纪录文件数量与大小限制
    9. 改进 库存游戏列表加载方式
    10. 改进 社区加速速度与使用中出现的错误
    11. 改进 删除账号时弹窗是否删除用户数据
    12. 改进 检测进程是否存在的逻辑,避免杀软误报
    13. 修复 编辑文本文件,当文件路径如果有空格时传递的路径不正确
    14. 修复 Steam 登录时头像没有正常显示
    15. 新增 Github 网站、Git 加速
    16. 改进 Toast 仅在当前激活窗口弹出
    17. 修复 未启动 Steam 时加载库存游戏 Bug
    18. 修复 一些引发闪退的异常,增强稳定性

    2.1.0 (2021-05-05)

    1. 修复 多个 GM.js 同时存在
    2. 修复 GM.js 打包错误
    3. 修复 手动添加 GM.js 重名替换导致出错
    4. 修复 成就解锁窗口不显示
    5. 新增 背景透明度 UI 设置
    6. 调整 脚本列表 UI
    7. 修复 代理过程中的闪退错误
    8. 修复 库存游戏闪退错误
    9. 修复 Discord 更新代理失效
    10. 修复 hosts 闪退错误
    11. 新增 Steam 快速登录

    2.0.0.8 (2021-05-03)

    1. 新增 CSGO 市场查看磨损与印花脚本适配
    2. 新增 窗口位置保存功能
    3. 修复 加速证书安装失败的问题
    4. 修复 账号切换离线登录失效的问题
    5. 修复 Windows 代理加速导致断网的问题
    6. 修复 Discord 客户端代理失效的问题
    7. 修复 多个 UI 错误
    8. 修复 脚本以及备注无法保存的问题
    9. 修复 多个可能导致闪退的问题
    10. 修复 更新进度条显示不正确的问题
    11. 改进 当 hosts 文件不存在时自动创建空文件而不是返回错误

    2.0.0.6 (2021-05-01) 预发行版

    【Steam++2.0.0.6】

    1. 更换整体架构,提高软件兼容性
    2. 重做UI界面,适应跨平台
    3. 新增软件热更新支持
    4. 新增账号切换界面动态头像支持
    5. 新增从云端获取加速列表功能
    6. 新增用户登录/注册功能,并且有了用户面板,将支持用户云同步数据
    7. 新增脚本商店,用户可以从脚本商店下载更多脚本
    8. 优化库存游戏列表加载速度
    9. 优化GM0.2脚本
    10. 修复1.1.4版本已出现的各种错误

    1.1.4 (2021-02-23)

    Steam++ v1.1.4 2021-02-23

    更新内容

    1. 新增Steam更新代理服务功能,以解决部分用户无法更新Steam的问题
    2. 新增Windows系统代理方式,将不需要修改hosts文件并且不会占用443端口
    3. 优化反代加速效果
    4. 修复成就图标加载失败的问题
    5. 修复Steam图片反代启动时创意工坊不显示图片的问题
    6. 修复Uplay更新反代启动时更新失败的问题

    1.1.3 (2021-02-21)

    Steam++ v1.1.3 2021-02-21

    更新内容

    1. 新增库存游戏列表Client Icon图标显示功能
    2. 新增解锁成就风险提示文本
    3. 修复证书生成失败导致的闪退问题
    4. 修复开启反代功能后Steam页面100报错和324报错
    5. 修复证书验证错误的问题
    6. 修复部分文本错误

    1.1.2 (2021-01-29)

    Steam++ v1.1.2 2021-01-29

    更新内容

    1. 新增账号切换的状态栏右下角登录新账号功能
    2. 新增实时刷新获取Steam新登录的账号数据功能
    3. 新增FAQ常见问题疑难解答文本,可以在关于中找到它
    4. 优化配置文件备份机制,如果配置文件出错会提示还原上次读取成功的配置
    5. 优化错误日志记录,现在它更详细了
    6. 修复谷歌验证码代理方式为全局跳转recatpcha
    7. 修复配置文件加载时提示根元素错误
    8. 修复某些情况下开机自启失效问题

    1.1.1 (2021-01-22)

    Steam++ v1.1.1 2021-01-22

    • 更新内容
      • 本地令牌市场交易确认功能上线啦(目前功能较简单,待完善)
      • 新增内置steam史低查询脚本
      • 新增Steam启动消息通知设置项
      • 新增github gist代理服务支持
      • 修复某些情况配置文件读取出错
      • 修复discord更新下载和图片失效
      • 修复twitch聊天频道连接失效
      • 修复gihub头像资源加载失败
      • 新增pixiv图片的代理选项来修复pixiv图片失效
      • 还修复了一些没有记下来的bug...
    • 修改了本地反代解析域名的方式,这样出问题以后可以直接热更新

    1.0.6 (2021-01-12)

    Steam++ v1.0.6 2021-01-12

    • 更新内容
      • 修改了用户信息获取的api为steam官方社区api(但是没有启动软件的自动代理服务的话依然加载不出头像。)
      • 新增启用日志记录设置项(反馈bug时一起提交方便排查问题)
      • 修复twitch反代聊天连接错误和直播视频无法观看
      • 放宽令牌同步时网络请求超时时间以降低令牌同步时提示超时概率
      • 修改生成的cer证书编码格式为utf8,解决火狐无法导入cer证书
      • 增加80端口反代,以便自动跳转http访问到https请求上

    1.0.5 (2021-01-08)

    Steam++ v1.0.5 2021-01-08

    • 更新内容
      • 修复因为第三方steamdb api挂掉导致程序崩溃
      • 优化反代过程的逻辑
      • 增加启动时自动运行Steam的设置项
      • 新增令牌刷新功能
      • 帐户切换增加了离线模式启动的选项
      • 修复刷新游戏缓存按钮程序闪退BUG
      • 还修复了一些没有记下来的小错误...

    1.0.4 (2020-12-28)

    Steam++ v1.0.4 2020-12-28

    *此版本修改了配置文件的保存读取功能,会无法读取1.0.4版本以前的配置文件包括令牌数据。
    +(可以通过设置-令牌设置-导入旧版本Steam++令牌数据按钮来恢复旧版本令牌数据)
    +
    • 还原steam社区反代上游地址修复部分请求会提示需要登录的问题
    • 新增令牌导入导出备份功能
    • 新增令牌可以选择保存在程序根目录下的设置选项(方便备份)
    • 修改了自动更新的提示方式
    • 自动更新可以自动覆盖升级,不再需要手动替换
    • 修复令牌无法保存的问题

    1.0.3.3 (2020-12-27)

    Steam++ v1.0.3.3 2020-12-27

    • 更新内容

      • 新增pixiv本地反代服务支持

      • 新增在欢迎页steam昵称后显示steam的登陆区域

      • 添加steam图片修复的本地反代支持

      • 修复最小化恢复时UI边框错位的BUG

      • 修复令牌编辑和导入时出现的非空报错

      • 帐户切换功能的最近登陆时间从北京时间改为当前系统时区时间

      • 修复一个因为DNS解析错误会导致程序内存溢出闪退的BUG

      • SDA令牌导入不再支持导入加密文件,如果要导入加密的maFile请先在SDA移除加密

      • 修改初始化的方式和steam api的连接逻辑来避免steam游戏掉帧的BUG

      • 解决程序最小化启动时弹窗报错

      • 优化本地令牌的加载

      • 修复托盘图标单击启动多个窗口

      • 修复设置界面设置UI错位

      • 修复成就窗口关闭游戏依然运行

      • 修改steam社区商店图片代理上游地址为steampowered.com

    • 已知的未修复问题

      • 部分用户无法加载游戏列表,无法复现,原因暂时不明。(也可能是加载太慢,过半小时才能加载出来)

    1.0.2 (2020-12-21)

    Steam++ v1.0.2 2020-12-21

    • 更新内容

      • 更新了由Benares制作的图标
      • 新增帐户切换删除功能
      • 添加github图片资源文件代理服务与discord代理服务支持
      • 因为有问题暂时去掉了GOG Galaxy代理选项
      • 修复一个会导致程序启动没有反应的bug
      • 修复托盘菜单steam昵称过长ui错位bug
      • 新增steam启动参数设置
      • 新增启动时程序最小化到托盘菜单设置
      • 新增捐助列表的展示
      • 新增工具自动更新功能
    • 已知的未修复问题

      • (严重)经反馈,程序运行时可能会影响部分steam游戏掉帧,GPU占用率变低,这个BUG目前在作者的机器上无法复现所以暂时没有修复,如果你遇到这个问题可以手动关闭steam++解决。
      • 程序在高DPI缩放分辨率下可能会UI布局错位,目前暂时拖动程序可恢复。
      • 部分用户无法加载游戏列表,无法复现,原因暂时不明。

    1.0.0 (2020-12-14)

    Steam++ v1.0.0

    • 发布第一个版本

    • 主要功能:社区反代,帐户切换,成就解锁,本地令牌。

    • 次要功能:强制无边框窗口化以及CSGO VAC屏蔽修复。

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/development/\351\241\271\347\233\256\347\273\223\346\236\204.html" "b/zh/development/\351\241\271\347\233\256\347\273\223\346\236\204.html" new file mode 100644 index 0000000..ce5f367 --- /dev/null +++ "b/zh/development/\351\241\271\347\233\256\347\273\223\346\236\204.html" @@ -0,0 +1,42 @@ + + + + + + + + Steam++ v2.X Source Code | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Steam++ v2.X Source Code

    SteamTools Guide大约 3 分钟

    Steam++ v2.X Source Code

    🏗️ 项目结构

    • Common 通用基础类库
      • Common.AreaLib 地区数据
      • Common.ClientLib 适用于客户端的通用基础类库
      • Common.ClientLib.Droid 适用于 Android 的通用基础类库
      • Common.ClientLib.iOS 适用于 iOS 的通用基础类库
      • Common.CoreLib 全局通用基础类库
      • Common.ServerLib 适用于服务端(AspNetCore)的通用基础类库
      • Common.PinyinLib 汉字转拼音库
      • Common.PinyinLib.CFStringTransform 仅适用于 iOS 平台,由 CFStringTransformopen in new window 实现
      • Common.PinyinLib.ChnCharInfo 由 Microsoft Visual Studio International Pack 1.0 中的 Simplified Chinese Pin-Yin Conversion Library(简体中文拼音转换类库)实现,多音字将返回首个拼音
      • Common.PinyinLib.TinyPinyin 在 Android 上由 TinyPinyinopen in new window 实现,其他平台由 TinyPinyin.Netopen in new window 实现
      • Repositories.EFCore EF Core 仓储层实现
      • Repositories.sqlite-net-pcl SQLite 仓储层实现
      • Services.SmsSender 统一短信发送服务
    • Test 单元测试
      • Common.UnitTest 通用基础类库的单元测试
      • Common.UnitTest.Droid 适用于 Android 通用基础类库的单元测试
        • Common.UnitTest.Droid.App 启动项
    • Lib 类库
      • ST 业务通用类库
      • ST.Client 客户端通用类库
      • Bindings 平台原生绑定库
      • Platforms
        • ST.Client.Windows 用于 Windows 的实现
        • ST.Client.Mac 用于 macOS 的实现
        • ST.Client.Linux 用于 GNU/Linux 的实现
        • ST.Client.Android 用于 Android 的实现
        • ST.Client.iOS 用于 iOS 的实现
      • ResSecrets 使用资源存储的密钥
      • UI Framework
        • ST.Client.Avalonia 使用 Avalonia 实现的 View 层
          • Avalonia.Ref 通过友元程序集调用内部函数或空程序集实现手动裁剪
        • ST.Client.WPF 使用 Avalonia 实现的 WPF 层
        • ST.Client.WinUI 使用 Avalonia 实现的 WinUI 层
        • ST.Client.XamarinForms 使用 Xamarin.Forms/MAUI 实现的 View 层
      • Web API
        • ST.Services.CloudService 客户端调用服务端 API 定义
        • ST.Services.CloudService.Models 服务端 API 数据传输对象(DTO)定义
        • ST.Services.CloudService.ViewModels 客户端视图模型
    • Tool 工具
      • ST.Tools.AndroidResourceLink 将 Android Studio Project 中的 res 资源 Link 到 csproj 中(生成 XML)
      • ST.Tools.AreaImport 从高德城市编码表 Excel 文件中导入地区数据
      • ST.Tools.DesktopBridgeLink Link DesktopBridge 打包中的内容,例如 CEF
      • ST.Tools.MinifyStaticSites 用于将静态 html 删除空行缩小体积的命令行工具
      • ST.Tools.OpenSourceLibraryList 开源许可协议清单生成工具
      • ST.Tools.Packager 带进度的压缩与解压演示
      • ST.Tools.Packager.InstallerSetup 安装程序
      • ST.Tools.Publish 用于发布的控制台工具
      • ST.Tools.Translate Resx自动翻译工具
      • ST.Tools.Win7Troubleshoot 适用于 Windwos 7 OS 的 疑难解答助手
    • Launch 启动项
      • FDELauncher FDE(框架依赖) 启动器,判断运行时是否安装与提示,使用 .NET FX 3.5
      • ST.Client.Android.App Android 客户端(Xamarin.Android)
      • ST.Client.Android.App.Modern Android 客户端(.NET 6+)
      • ST.Client.Desktop.Avalonia.App 桌面客户端
      • 5_DesktopBridge\ST.Client.Avalonia.App.Bridge.Package Desktop Bridgeopen in new window
      • ST.Client.Avalonia.App.MsixPackage 桌面客户端单项目 MSIX 打包open in new window
      • ST.Client.Desktop.Avalonia.Demo.App 桌面客户端(UI演示)
      • ST.Client.Maui.App MAUI 客户端

    🗂️ 命名空间/文件夹

    • 中划线 表示此文件夹下的命名空间使用上一级的值
    • Properties
      • AssemblyInfo.cs 程序集信息
      • InternalsVisibleTo.cs 指定 internal 对单元测试可见
      • SR 本地化资源
    • Extensions 扩展函数静态类
    • Application 业务应用
      • Columns 模型、实体列定义接口
      • Converters 视图模型(VM)值绑定到视图(V)中的值转换器
      • Data EFCore DbContext
      • Entities ORM 表实体
      • Filters AspNetCore Mvc Filters
      • Models 模型类
      • Mvvm MVVM 基础组件
      • Repositories 仓储层
      • UI
        • Assets 资源资产
        • Styles Xaml 样式
        • Activities Android 活动
        • Adapters Android 适配器
        • Fragments Android 片段
        • ViewModels 视图模型
        • Views 视图
          • Controls 自定义控件
          • Pages 页面
          • Windows 窗口
        • Resx 本地化资源
      • Windows.winmd Windows 10 UWP API 投影 Win32
      • Resources Android res、iOS BundleResource、其他嵌入的资源
      • Security 应用安全
      • Services 业务服务定义公开的接口或抽象类
        • Mvvm 用于 MVVM 绑定的业务服务
        • Implementation 业务服务的实现
      • Serialization 业务相关的序列化、反序列化
    • Logging 日志自定义实现
    • ServiceCollectionExtensions.cs DI 注册服务扩展类,命名空间统一使用
    // ReSharper disable once CheckNamespace
    +namespace Microsoft.Extensions.DependencyInjection
    +

    📁 存储空间

    • AppData
      • Microsoft Store %USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalState
      • Windows \AppData or %LocalAppData%\Steam++
      • macOS ~/Library/Steam++
      • Linux $XDG_DATA_HOME/Steam++ or $HOME/.local/share/Steam++
      • Android /data/data/net.steampp.app/files
    • Cache
      • Microsoft Store %USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache
      • Windows \Cache or %Tmp%\Steam++
      • macOS ~/Library/Caches/Steam++
      • Linux $XDG_CACHE_HOME/Steam++ or $HOME/.cache/Steam++
      • Android /data/data/net.steampp.app/cache
    • Logs
      • Microsoft Store %USERPROFILE%\AppData\Local\Packages\4651ED44255E.47979655102CE_k6txddmbb6c52\LocalCache\Logs
      • Windows \Logs or %Tmp%\Steam++\Logs
      • macOS ~/Library/Caches/Steam++/Logs
      • Linux $XDG_CACHE_HOME/Steam++/Logs or $HOME/.cache/Steam++/Logs
      • Android /data/data/net.steampp.app/cache/Logs
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/FAQ/FAQ.html b/zh/document/FAQ/FAQ.html new file mode 100644 index 0000000..02df0d8 --- /dev/null +++ b/zh/document/FAQ/FAQ.html @@ -0,0 +1,40 @@ + + + + + + + + 通用解决办法 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    通用解决办法

    SteamTools Guide小于 1 分钟

    通用解决办法

    遇到问题可以先尝试更新到最新版本,可能新版本已经修复了问题

    关于 -> 检查更新 即可

    检查更新

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/FAQ/GPU.html b/zh/document/FAQ/GPU.html new file mode 100644 index 0000000..63dfb39 --- /dev/null +++ b/zh/document/FAQ/GPU.html @@ -0,0 +1,40 @@ + + + + + + + + 软件使用GPU | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    软件使用GPU

    SteamTools Guide小于 1 分钟

    软件使用GPU

    Watt Toolkit 使用显卡进行界面硬件渲染加速

    在打开主程序界面的时候会调用 GPU 渲染

    如果不想要占用 GPU 可以在设置中关闭

    设置 -> 通用设置 -> 关闭 使用GPU渲染界面(硬件加速)

    使用GPU渲染界面

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/FAQ/index.html b/zh/document/FAQ/index.html new file mode 100644 index 0000000..09b42ff --- /dev/null +++ b/zh/document/FAQ/index.html @@ -0,0 +1,40 @@ + + + + + + + + F A Q | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    F A Q

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/FAQ/\347\275\221\347\273\234.html" "b/zh/document/FAQ/\347\275\221\347\273\234.html" new file mode 100644 index 0000000..8e2ac53 --- /dev/null +++ "b/zh/document/FAQ/\347\275\221\347\273\234.html" @@ -0,0 +1,40 @@ + + + + + + + + 网络加速失败 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    网络加速失败

    SteamTools Guide大约 1 分钟

    网络加速失败

    host 文件相关(只读,拒绝访问,没有权限)

    • 请前往 C:\Windows\System32\drivers\etc ,右击host文件,打开 属性 ,取消下面的 只读 选项。

    • 只读也可能是被其他软件占用,或者因杀毒软件拦截导致的,如果 hosts 文件没有自定义的内容,可以先删除该文件后再启动,或者使用 系统代理模式,文件位于 C:\Windows\System32\drivers\etc\hosts

    • 或者通过断网一键修复程序自动重置 host 问题,如 360断网急救箱 火绒断网修复

    没有 host 文件

    • 请前往 C:\Windows\System32\drivers\etc , 将整个 etc 文件夹删除后重新创建一个 etc 文件夹

    程序崩溃后无法连接网络

    • 程序加速过程中崩溃后,社区/游戏服务器无法连接是因为崩溃后写入 host127.0.0.1 未被正常消除,可以取消加速后重新打开,也可以手动清理掉 host 文件

    • 或者通过断网一键修复程序自动重置 host 问题,如 360断网急救箱 火绒断网修复

    崩溃后无网络的问题,是因为加速和停止加速本来有正常的逻辑要执行,因为在加速中将程序强退了,所以停止加速的逻辑没执行,也就没还原加速所修改的配置导致的。

    遇到这个问题可以尝试还原hosts文件,关闭windows系统代理,重置网络服务

    重置 host 文件

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/ASF/2FA.html b/zh/document/Functions/ASF/2FA.html new file mode 100644 index 0000000..8ded2eb --- /dev/null +++ b/zh/document/Functions/ASF/2FA.html @@ -0,0 +1,44 @@ + + + + + + + + 在 ASF 中使用 2FA | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    在 ASF 中使用 2FA

    SteamTools Guide大约 1 分钟

    在 ASF 中使用 2FA

    将 2FA 导入 ASF 中可以在运行 ASF 的时候自动验证令牌以及确认能市场交易

    提示

    注意,导入 ASF 中的 2FA 文件无法直接导出,请不要只保留 ASF 的 2FA 验证

    导入 2FA

    选择一个机器人 -> 点击锁图标的 两步验证 -> 点击 导入验证器 -> 选择后缀为 .mafile 的令牌文件

    如何获取 .mafile

    Android/iOS

    参考 [steam++令牌导入教程](/document/Steam Guard/import/android令牌) 获取到 steamguard-xxxxx 文件,将文件后缀改为 .mafile

    SteamDesktopAuthenticator

    打开SDA文件夹中的 maFile 文件夹,找到其中的 SteamID.mafile 文件

    请在复制前确保你没有设置加密,即使用记事本打开后第一个字符为 { ,如果不是,请在SDA中点击 Setup Encryption ,输入密码后连续点击三次 Accept ,将加密清空后再操作

    Steam++

    首先在令牌处点击查看令牌详细数据按钮(如图第三个按钮)

    复制 SteamGuard 栏中的所有内容,创建一个新的文本文件,将复制的文本原样粘贴进去,将文件后缀改为 .mafile

    WinAuth

    首先右击条目,选择 Show SteamGuard and Recovery Code

    勾选 Allow copy 以允许复制,然后选择最后一个大框中的所有内容,创建一个新的文本文件,将复制的文本原样粘贴进去,将文件后缀改为 .mafile

    其他二步验证应用

    由于各个 2FA 应用获取信息方法各不相同,此处无法给出详细步骤,请根据各软件教程获取数据后,按如下格式保存后缀为 .mafile 的文件

    {
    +  "shared_secret": "字符串",
    +  "identity_secret": "字符串"
    +}
    +
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/ASF/ASF.html b/zh/document/Functions/ASF/ASF.html new file mode 100644 index 0000000..dfd3f45 --- /dev/null +++ b/zh/document/Functions/ASF/ASF.html @@ -0,0 +1,45 @@ + + + + + + + + 什么是ASF | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    什么是ASF

    SteamTools Guide大约 2 分钟

    什么是ASF

    ASF (ArchiSteamFarm) 主要目的是同时从多个账户中自动获取 Steam 集换式卡牌的软件,不过除了本功能还有自动进行交易报价等操作

    ASF 是一个控制台应用程序,这意味着,至少在一开始,它没有提供一个您熟悉的友好 GUI 界面。

    ASF 主要应该在服务器上运行,所以它更像是一个服务(守护进程)而不是一个桌面应用。

    ASF 的功能特别多,不过因为本指南是使用的 Watt Toolkit 内置的 ASF ,并非挂载在服务器上

    不过社区开发了一个 WebUi 的 GUI 界面,现在下载 ASF 的发行版都内置了 WebUi 的 GUI 控制台 位于 ASF-win-x64/UI

    ASF-ui

    ASF-ui 是一个社区项目,主要为最终用户提供了一个用户友好的图形界面 Web 接口。 为了达成这一目的,它被设计为 ASF API 的前端,使您可以轻松操作 ASF。 这是 ASF 自带的默认 UI。

    如上所述,ASF-ui 是一个社区项目,并非由 ASF 核心开发者维护。 它遵循自己的开发流程,所有相关的问题、讨论、漏洞报告和建议都应该发表于 ASF-ui 仓库open in new window

    您可以使用 ASF-ui 对 ASF 进行常规管理。 例如管理机器人、修改设置、发送命令,以及 ASF 提供的各种其他功能。

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/ASF/index.html b/zh/document/Functions/ASF/index.html new file mode 100644 index 0000000..72b978b --- /dev/null +++ b/zh/document/Functions/ASF/index.html @@ -0,0 +1,40 @@ + + + + + + + + A S F | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    A S F

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/ASF/info.html b/zh/document/Functions/ASF/info.html new file mode 100644 index 0000000..6b3393f --- /dev/null +++ b/zh/document/Functions/ASF/info.html @@ -0,0 +1,40 @@ + + + + + + + + 自动挂卡 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    自动挂卡

    SteamTools Guide小于 1 分钟

    自动挂卡

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/ASF/\344\275\277\347\224\250ASF.html" "b/zh/document/Functions/ASF/\344\275\277\347\224\250ASF.html" new file mode 100644 index 0000000..b85f14b --- /dev/null +++ "b/zh/document/Functions/ASF/\344\275\277\347\224\250ASF.html" @@ -0,0 +1,40 @@ + + + + + + + + 如何使用 ASF | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    如何使用 ASF

    SteamTools Guide小于 1 分钟

    如何使用 ASF

    本 ASF 指南只针对 Watt toolkit 中内置的版本

    启动 ASF

    1. 点击 启动 ASF
    2. 打开 WebUI 控制台

    配置 Bots

    • 在机器人页面中选择 新建机器人
      • 每一项功能右边都有一个 ? 来查看介绍
      • 主要填写的项目有 Name 名称 Enabled 自动启用挂卡
      • (如果有家庭监护需填写 SteamParentalCode 家庭监护)
    • 创建完机器人后回到 Steam++ 中的 ASF 控制台
      • 按提示输入 账户 密码 令牌
        • 自动输入账户和密码可以在机器人配置中将 SteamLogin 账户 SteamPassword 密码 项目填写,以后会在运行机器人时自动填写账号和密码
        • 自动输入令牌可以看 2FA
    • 创建后默认配置就能挂卡,如果有具体需求,可以查看配置中的详细介绍并根据需求修改

    创建完成的 Bot 界面

    bot界面

    • 功能按钮分别为
      • 设置
      • 后台游戏激活器 (批量激活Key)
      • 两步验证 (由 ASF 管理的令牌)
      • 暂停 (暂停挂卡)
      • 停止 (停止运行bot)
      • 删除 (删除bot)
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/ASF/\345\270\270\347\224\250\346\214\207\344\273\244.html" "b/zh/document/Functions/ASF/\345\270\270\347\224\250\346\214\207\344\273\244.html" new file mode 100644 index 0000000..c4ba830 --- /dev/null +++ "b/zh/document/Functions/ASF/\345\270\270\347\224\250\346\214\207\344\273\244.html" @@ -0,0 +1,46 @@ + + + + + + + + 常用指令 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    常用指令

    SteamTools Guide小于 1 分钟

    常用指令

    批量激活免费游戏

    用处:最近有几个游戏限时免费了,我有很多个号,一个号一个号打开领取游戏太麻烦也太慢了,可以创建每个号的Bot,一次性为所有账号领取游戏,还能同时挂卡

    !addlicense asf [appid]
    +

    appid 替换为 SUBID (不是 App ID) 即可批量激活游戏

    比如说 APEX 的 ASF 代码为
    +
    +!addlicense asf 401407
    +
    +但是无法领取锁区游戏,故国区无法领取 APEX
    +

    领取 APEX 代码

    SUBID 可以去 SteamDB 查看,注意是 SUBID 而不是 APP ID

    SUBID

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Account Switch/index.html b/zh/document/Functions/Account Switch/index.html new file mode 100644 index 0000000..11e5327 --- /dev/null +++ b/zh/document/Functions/Account Switch/index.html @@ -0,0 +1,40 @@ + + + + + + + + Account Switch | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Account Switch

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Account Switch/info.html b/zh/document/Functions/Account Switch/info.html new file mode 100644 index 0000000..a4d31e0 --- /dev/null +++ b/zh/document/Functions/Account Switch/info.html @@ -0,0 +1,40 @@ + + + + + + + + 账号切换 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    账号切换

    SteamTools Guide大约 1 分钟

    账号切换

    • 通过 Steam 默认保存凭证信息一键切换已在当前 PC 上登录过的 Steam 账号,并且可以一键离线登录,还能管理家庭共享库排序等功能。

      账户切换

    [点击展开]-常见问题

    Q: 账号切换之后还是需要输入密码和令牌?为什么有时候可以一键切换有时候不行?

    A: Watt Toolkit 的账号切换功能并没有记录你的密码和令牌, 能实现快速切换账号是因为 Steam 本身的记住密码功能,如果你没有记住密码登陆过账号,或者你的记住登陆状态丢失,都会导致账号切换之后需要密码和令牌,解决方法是下线所有当前 Steam 登陆的设备,重新在你的 PC 记住密码登陆一次。

    家庭库共享管理

    家庭库共享open in new window(Steam 客服)

    调整当前设备上共享的 Steam 账号优先级顺序,用于解决想玩账号B的共享却一直使用的是账号A的共享这种问题,从上到下的排序为共享库使用的优先级顺序,也可以选择暂时禁用或启用指定账号的共享。调整后保存重启 Steam 生效!

    家庭共享

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Game Tools/index.html b/zh/document/Functions/Game Tools/index.html new file mode 100644 index 0000000..1a15581 --- /dev/null +++ b/zh/document/Functions/Game Tools/index.html @@ -0,0 +1,40 @@ + + + + + + + + Game Tools | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Game Tools

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Game Tools/info.html b/zh/document/Functions/Game Tools/info.html new file mode 100644 index 0000000..810be48 --- /dev/null +++ b/zh/document/Functions/Game Tools/info.html @@ -0,0 +1,40 @@ + + + + + + + + 游戏工具 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    游戏工具

    SteamTools Guide小于 1 分钟

    游戏工具

    • 可以强制游戏窗口使用无边框窗口化或是全屏,也可以将游戏画面置于桌面壁纸上(与动态壁纸软件冲突)

      游戏工具

    工具列表

    • 结束进程
    • 无边框窗口化
    • 最大化
    • 默认大小
    • 隐藏
    • 显示
    • 置于壁纸层
    • 刷新壁纸
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Library/index.html b/zh/document/Functions/Library/index.html new file mode 100644 index 0000000..6abd898 --- /dev/null +++ b/zh/document/Functions/Library/index.html @@ -0,0 +1,40 @@ + + + + + + + + Library | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Library

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Library/info.html b/zh/document/Functions/Library/info.html new file mode 100644 index 0000000..99dcacc --- /dev/null +++ b/zh/document/Functions/Library/info.html @@ -0,0 +1,40 @@ + + + + + + + + 库存管理 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    库存管理

    SteamTools Guide大约 2 分钟

    库存管理

    • 让您直接管理到 Steam 游戏库存,不仅能够下载老版本的 Steam 游戏, 也能够对 Steam 游戏成就进行直接管理,支持解锁成就以及反解锁成就。

    其他功能

    游戏信息修改

    • 一键修改游戏的信息和图片等数据

      图例

      信息媒体

    • 右键游戏 > 点击 编辑游戏信息

    目前有bug导致恢复原始数据不方便

    下载完自动关机

    • 可以使用 Steam 下载完成定时关机使无人下载完成后能减少不必要的耗电(比如晚上睡觉自动下载完成后自动关机)

      自动关机

    挂时长

    • 让指定的游戏(最多32个)通过虚拟启动增加游戏时间,不用下载也能加长游戏时间

      自动挂游戏时长

    成就解锁

    [点击展开]-Steam 游戏成就解锁:

    Steam 游戏成就解锁使用开源项目 SteamAchievementManageropen in new window

    注意

    该功能带有一定风险,理论上不会被 VAC,但如果滥用可能被游戏厂商拉黑,建议在不启动游戏的情况下使用,截至目前为止还未有影响。解锁成就功能并不是外挂程序,原理上仅与 Steam 进行通信,和游戏本身并无关系,像 VAC 之类的反作弊系统是在多人游戏中发挥作用。如果游戏与其他平台绑定,解锁成就不会同步到其他平台上,如果重新完成成就,其他平台上也可能不会更新,例如 Sea of Thieves 与 Xbox 绑定。

    Sam

    通过勾选成就并保存成就更改(注意:最好不要对有 VAC 的游戏进行成就更改,以免造成不必要的损失,下图就是一个有 VAC 的游戏)

    Sam2

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Network Acceleration/index.html b/zh/document/Functions/Network Acceleration/index.html new file mode 100644 index 0000000..59aa855 --- /dev/null +++ b/zh/document/Functions/Network Acceleration/index.html @@ -0,0 +1,40 @@ + + + + + + + + Network Acceleration | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Network Acceleration

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Network Acceleration/info.html b/zh/document/Functions/Network Acceleration/info.html new file mode 100644 index 0000000..cef5f86 --- /dev/null +++ b/zh/document/Functions/Network Acceleration/info.html @@ -0,0 +1,40 @@ + + + + + + + + 网络加速 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    网络加速

    SteamTools Guide大约 2 分钟

    网络加速

    • 实现对 Steam Discord Twitch Origin Uplay GitHub Microsoft Store 谷歌验证码 Pixiv 等国内难以访问的网页正常访问,防止网络被干扰

    • 功能类似 Steamcommunity 302open in new window,使用 Titanium-Web-Proxyopen in new windowYARP.ReverseProxyopen in new window 开源项目进行本地反代来支持更快的访问游戏网站。

    • Host代理模式系统代理模式两种方式可以选择,第一次使用前需要确认安装证书文件

    • 还能解除 Steam 商店访问限制,包括但不限于:您所在的地区目前不提供此物品 此游戏标记为“仅限成人”。您看到此游戏是因为您 已将偏好设置为允许此类内容。

    [点击展开]-常见问题

    Q: hosts 正在由另一进程使用,因此该进程无法访问此文件?

    A: hosts 文件被其它程序占用了导致本程序无法正常读写,使用 资源监视器关联的句柄 中搜索 hosts 找到占用的进程,结束掉该进 程即可。

    Q: 社区加速里的脚本启用了无效,为什么脚本前面的勾选框不会被保存?

    A: 脚本需要对应的加速服务开启才能生效,同时也必须启用了加速功能后启用脚本才有效,例如 Steam 商店史低查询 脚本必须要启用 Steam 商店加速服务 才能生效。

    Q: 使用加速提示证书安装失败?

    A: 一般是系统相关文件丢失导致,可以尝试手动安装程序目录 AppData 文件夹下的 SteamTools.Certificate.pfx 证书文件,安装到受 信任 的根证书区域,区域一定要选择正确,不然安装成功也无效,密码留空不填直接确定即可。

    加速方式

    • Dns 驱动拦截模式
      • 未实装
    • Hosts 代理模式
      • 效果不错,但有些人会遇到问题不便使用
    • PAC 代理模式
      • 未实装
    • 系统代理模式
      • 有时加速效果不佳,但基本都能使用

    加速类目

    简略展示常用的可加速站点

    • Steam 服务
      • 常规社区加速
      • 商店解锁访问限制
      • 讨论组/聊天(仅ipv6)
    • Discord 语音聊天
    • Twitch 直播
    • Origin
    • Uplay
    • 公共 CDN
    • 国外验证码平台
      • Arkoselabs
      • hCaptcha
      • Recaptcha(Goole)
    • Github
    • Microsoft Store
    • 网盘服务
      • OneDrive
      • MEGA
      • DropBox
    • 其他网站
      • Pinterest
      • Artstation
      • V2ex
      • Imgur 图床
      • Pixiv

    修复

    点击网络加速右上角的更多 ···

    移除证书重置 Hosts 文件

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/Steam Guard/import/2FA\344\273\244\347\211\214.html" "b/zh/document/Functions/Steam Guard/import/2FA\344\273\244\347\211\214.html" new file mode 100644 index 0000000..9c6556d --- /dev/null +++ "b/zh/document/Functions/Steam Guard/import/2FA\344\273\244\347\211\214.html" @@ -0,0 +1,40 @@ + + + + + + + + 2FA应用 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    2FA应用

    SteamTools Guide小于 1 分钟

    2FA应用

    WinAuth

    导出的.txt文件,通常默认命名为“winauth-日期.txt”

    steam++令牌导入教程-从WinAuth导入open in new window (BiliBili)@牛奶君open in new window

    Steam Desktop Auth(SDA)

    导出的.maFile文件,通常默认命名为“一串数字.maFile”

    • SDA会自动在应用目录下的maFile文件夹生成账号的.maFile文件

    Steam++ 点击令牌管理-新增-选择Steam++ 导入

    软件导入

    steam++令牌导入教程-从Steam Desktop Authenticator导入open in new window (BiliBili)@牛奶君open in new window

    其他2FA应用

    根据软件说明,复制/导出令牌,并找到以下所需内容并依照图片输入

    其他导入

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/Steam Guard/import/Steam__\344\273\244\347\211\214.html" "b/zh/document/Functions/Steam Guard/import/Steam__\344\273\244\347\211\214.html" new file mode 100644 index 0000000..90acb2b --- /dev/null +++ "b/zh/document/Functions/Steam Guard/import/Steam__\344\273\244\347\211\214.html" @@ -0,0 +1,40 @@ + + + + + + + + Steam++ | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Steam++

    SteamTools Guide小于 1 分钟

    Steam++

    • 由Steam++V1版本导出的 .dat 文件,通常默认命名为“Steam++ Authenticator 日期.dat”

    • 由Steam++V2版本导出的 .mpo 文件,通常默认命名为“Steam++ Authenticators 日期.mpo”

    Watt Toolkit 点击令牌管理-新增选择Steam++ 导入

    Steam++ 导入

    手机Steam++导入

    PC 端 Steam++ v2.4.9 或更高版本

    1. 通过 扫码 导入

      在PC端点击如图所示导出为二维码按钮,在手机端点击 右上角加号-->新增 进行扫码

      扫码

    2. 通过 文件 导入

      在PC端点击如图所示导出按钮并确认导出,将导出的文件发送至手机,在手机端点击 右上角加号-->新增 进行导入

      导出

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/Steam Guard/import/android\344\273\244\347\211\214.html" "b/zh/document/Functions/Steam Guard/import/android\344\273\244\347\211\214.html" new file mode 100644 index 0000000..cfce735 --- /dev/null +++ "b/zh/document/Functions/Steam Guard/import/android\344\273\244\347\211\214.html" @@ -0,0 +1,40 @@ + + + + + + + + 安卓手机 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    安卓手机

    SteamTools Guide大约 2 分钟

    安卓手机

    安卓手机根据不同情况不同厂商可分为三种情况: 任意安卓手机,有root 部分安卓手机厂商,有自家备份软件,且备份文件无加密/加密可破解 手机无root,且无法备份对应数据/无法解密备份数据的,此方法由于是重新绑定,所以可能有暂挂

    有root

    steam++令牌导入教程-从Android App导入-须root的方式open in new window (BiliBili)@牛奶君open in new window

    • 一台绑定了目标账号令牌,并且已经被root的手机

    无root

    需要一台绑定了目标账号令牌的手机,根据手机品牌不同,还需要不同的软件,这一方案并非全品牌适用

    steam++令牌导入教程-从Android App导入-无须root的方式open in new window (BiliBili)@牛奶君open in new window

    本方案涉及手机品牌较多,总结概述为:

    1. 通过具备高权限的手机厂商自家备份软件对 SteamApp 进行备份

    2. 提取备份文件导入令牌

    已知的相关教程链接:

    vivoopen in new window新版已加密

    小米open in new window

    LGopen in new window解密

    华为open in new window新版已修改加密

    更多品牌手机可参考以上教程自行研究

    ADB

    注意

    保留数据卸载 app 也是有风险的,请做好要用备用码解绑的心理准备!

    不过好处就是如果成功了,可以合理避免暂挂问题。

    准备工具

    1. 电脑、数据线和一台安卓 10 以上的手机。(这里没查到从哪一个版本开始支持 adb uninstall -k 指令的,但我搜新闻都说是 10 以上)
    2. Java SE 8,JRE 就行了,无需 JDK,安装版或压缩包皆可。(压缩包需自行配置环境变量
    3. Steam 的 APK 文件,官方的即可。(因为要改,当然准备旧版的话就不用改了)
    4. APK 修改工具,这里用的是 ApkTool 和 signapk。(用旧版的话无需下载)
    5. ADB 工具包,没什么好说的
    6. Android Backup Extractor,用于解包备份文件。

    参考

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Steam Guard/import/index.html b/zh/document/Functions/Steam Guard/import/index.html new file mode 100644 index 0000000..75f917c --- /dev/null +++ b/zh/document/Functions/Steam Guard/import/index.html @@ -0,0 +1,40 @@ + + + + + + + + Import | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Import

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/Steam Guard/import/ios\344\273\244\347\211\214.html" "b/zh/document/Functions/Steam Guard/import/ios\344\273\244\347\211\214.html" new file mode 100644 index 0000000..f25dddc --- /dev/null +++ "b/zh/document/Functions/Steam Guard/import/ios\344\273\244\347\211\214.html" @@ -0,0 +1,40 @@ + + + + + + + + 苹果手机 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    苹果手机

    SteamTools Guide大约 2 分钟

    苹果手机

    已越狱

    Filza 打开/var/mobile/Containers/Data/Application/{字符串},数字串位置为Steam 数据文件夹,可能不一样,Filza会显示为“Steam” 用文本方式打开/Documents/Steamguard-xxxxxxxxxxxxxxxx,到最下面找到 otpauth 那一栏粘贴到 Steam++ 用文本方式打开/Library/Preferences/com.valvesoftware.Steam,并找到<string/var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Library/Caches</string,复制XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX并在最前面添加android:并粘贴到 Watt Toolkit

    未越狱,可能有暂挂

    1. 将手机上的 Steam App 降级到 2.0.16这里虽说降级,但是一定要删掉原Steam,重新安装2.0.16版本!!!),其他版本没有测试,反正 App Store 里最新版是不行的。因为 Steam 更新以后,将验证码存放在了更安全的地方。具体怎么安装旧版的 App,自己百度。

    2. 利用 iTunes 备份 iPhone,备份的时候不要选加密备份。备份完确保这个路径下确实有备份文件

      • Windows C:\Users\用户名\AppData\Roaming\Apple Computer\MobileSync\Backup\
      • macOS /Users/用户名/Library/Application Support/MobileSync/Backup/
    3. 下载 工具open in new window 解压后进行下一步

      • Windows
        • 如果你的系统是 64 位,则下载 win-x64.7z
        • 如果你不知道你的系统是不是 64 位或者你的系统是 32 位,则下载 win-x86.7z
        • 如果你使用 ARM 芯片的 PC(较为稀有),例如 Surface Pro X,则下载 win-arm64.7z
      • macOS/OSX
        • 下载 osx-x64.7z
      • linux
        • 如果你 CPU 是 Intel/AMD 的 x86 芯片(较为普遍),则下载 linux-x64.7z
        • 如果你 CPU 是 ARM 芯片,例如 树莓派,则下载 linux-arm64.7z
    4. 运行工具,然后点击最下的按钮,选择备份文件所在的目录,默认会定向到上面的路径,点击确定,会看到如下的信息

      image

    5. 然后在Steam++中导入即可。android字样也要复制,下面的{}符号也要复制

    参考自:CaitSith2/ios-steamguard-extractor#4 (comment)open in new window

    简单步骤:

    1. 解绑Steam令牌
    2. 卸载并安装iTunes旧版
    3. 使用 iOS旧版应用下载 下载旧版本Steam
    4. 提取ipa并使用爱思助手等工具安装
    5. 绑定令牌并备份数据

    参考

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/Steam Guard/import/\345\217\202\350\200\203.html" "b/zh/document/Functions/Steam Guard/import/\345\217\202\350\200\203.html" new file mode 100644 index 0000000..c41652f --- /dev/null +++ "b/zh/document/Functions/Steam Guard/import/\345\217\202\350\200\203.html" @@ -0,0 +1,40 @@ + + + + + + + + 参考文档 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    参考文档

    SteamTools Guide小于 1 分钟

    参考文档

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git "a/zh/document/Functions/Steam Guard/import/\347\231\273\345\275\225\344\273\244\347\211\214.html" "b/zh/document/Functions/Steam Guard/import/\347\231\273\345\275\225\344\273\244\347\211\214.html" new file mode 100644 index 0000000..ed49fea --- /dev/null +++ "b/zh/document/Functions/Steam Guard/import/\347\231\273\345\275\225\344\273\244\347\211\214.html" @@ -0,0 +1,40 @@ + + + + + + + + 登录Steam | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    登录Steam

    SteamTools Guide小于 1 分钟

    登录Steam

    此方案最为简单,如下图直接通过Steam账号登录即可

    注意

    本方案将解除手机端令牌并导致15天的市场交易暂挂

    Steam 账号登入

    • 登录你的 Steam 账号和密码,此操作会解除原有令牌,导致账号进入暂挂状态(15天内无法市场交易)
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Steam Guard/index.html b/zh/document/Functions/Steam Guard/index.html new file mode 100644 index 0000000..59813be --- /dev/null +++ b/zh/document/Functions/Steam Guard/index.html @@ -0,0 +1,40 @@ + + + + + + + + Steam Guard | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Steam Guard

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Steam Guard/info.html b/zh/document/Functions/Steam Guard/info.html new file mode 100644 index 0000000..f2432be --- /dev/null +++ b/zh/document/Functions/Steam Guard/info.html @@ -0,0 +1,40 @@ + + + + + + + + 本地令牌 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    本地令牌

    SteamTools Guide小于 1 分钟

    本地令牌

    本地运行手机令牌程序,让你能够直接在电脑中获取令牌,可以同时管理多个令牌的使用,交易确认等

    目前仅支持 Steam 令牌,后续可能会开发支持更多的令牌种类与云同步令牌

    类似于 WinAuth (可以通过导出的方式将 WinAuth 2步验证 导入 Watt Toolkit,使用开源项目Winauthopen in new window)

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Userscript/index.html b/zh/document/Functions/Userscript/index.html new file mode 100644 index 0000000..671e743 --- /dev/null +++ b/zh/document/Functions/Userscript/index.html @@ -0,0 +1,40 @@ + + + + + + + + Userscript | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Userscript

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/Userscript/info.html b/zh/document/Functions/Userscript/info.html new file mode 100644 index 0000000..b632f3e --- /dev/null +++ b/zh/document/Functions/Userscript/info.html @@ -0,0 +1,40 @@ + + + + + + + + 脚本配置 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    脚本配置

    SteamTools Guide大约 2 分钟

    脚本配置

    • 通过加速服务拦截网络请求将一些 JS 脚本注入在网页中(Steam内置浏览器),提供类似网页插件的功能。使 Steam 内置的浏览器可以使用部分脚本

    • 比如 Steam历史最低价格查询 Steam Economy Enhancer(Steam 市场增强) CSGO Market Tool(CSGO市场查询枪支磨损值)

    脚本工坊

    在登录状态下可以在脚本市场直接下载常用的 Steam 脚本

    脚本市场列表: 仅作记录,并非实时更新

    名称介绍版本号
    GM基础脚本框架0.31
    好友和最近游戏中显示 VAC 状态在好友列表批量查看被VAC的好友1.5
    划词翻译-冻猫(更换有道翻译)选中文字自动翻译3.5.4
    Auto Redeemer SteamKey将复制的Steam CDKey自动激活test-3.1.0
    Chr's Inventory Helper库存批量出售1.5
    CSGO Market ToolCSGO市场查询磨损和印花2.41
    Steam 创意工坊大图修复修复 Steam 创意工坊大图无法显示1.0.0
    Steam 网页语言切换在网页顶端添加一个修改网页显示语言设置,不更改用户语言 仅支持 日语 中文 英语0.1.6
    Steam Auto Mass Craft Cards Badges in Bulk自动合卡,可以指定合成数量和种类3.05
    Steam Economy Enhancer增强库存和市场,批量快速出售,自动计算价格6.8.4 cn
    Steam 解锁区域限制解除软锁限制(加速已自带,本脚本已失效)1.0.5
    Steam 历史最低价格查询在价格上面显示历史最低价格和进包次数1.1
    Steam 商店搜索历史记录搜索输入框添加搜索历史记录0.31
    Steam 一键移除一键取关鉴赏家,游戏,清空愿望单0.7.8
    Steam 自动探索队列在节庆活动是自动探索队列获得卡片0.2
    True Level Lazy排除汽车大奖赛的徽章等级,因为太容易刷了0.1.2
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Functions/index.html b/zh/document/Functions/index.html new file mode 100644 index 0000000..b5e3eef --- /dev/null +++ b/zh/document/Functions/index.html @@ -0,0 +1,40 @@ + + + + + + + + Functions | Watt Toolkit 指南 + + + + + + + + + + diff --git a/zh/document/Start/Communication.html b/zh/document/Start/Communication.html new file mode 100644 index 0000000..c33d179 --- /dev/null +++ b/zh/document/Start/Communication.html @@ -0,0 +1,40 @@ + + + + + + + + 联系作者 | Watt Toolkit 指南 + + + + + + + + + + diff --git a/zh/document/Start/Download Guide.html b/zh/document/Start/Download Guide.html new file mode 100644 index 0000000..f5a652b --- /dev/null +++ b/zh/document/Start/Download Guide.html @@ -0,0 +1,53 @@ + + + + + + + + 下载指南 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    下载指南

    SteamTools Guide大约 2 分钟

    下载指南

    • Desktop(桌面端)

      • Windows
        • 如果你使用 Intel、AMD 的 x64(x86-64/AMD64) 芯片的 PC,则下载文件名中带有 win_x64 的文件
        • 框架依赖版(framework-dependent executable / fde)
          • 需要 《ASP.NET Core 运行时 6.0.x》《.NET 运行时 6.0.x》,如果你 已安装 了相关运行时,则下载文件名中带有 fde 的文件,可减少本应用占用的磁盘空间
          • 如果你 未安装相关运行时则应下载文件名中不包含 fde 的文件,或在 此下载open in new window 最新的 6.0.x 运行时
          • 在网页上点击 安装程序 x64 的链接即可下载,通常下载的文件名如下,将其安装后即可,无安装顺序要求
            • dotnet-runtime-6.0.x-win-x64.exe (.NET 运行时 6.0.x)
            • aspnetcore-runtime-6.0.x-win-x64.exe (ASP.NET Core 运行时 6.0.x)
          • 其他也包含了所需的运行时的下载项,但不推荐仅为运行本应用而安装
            • Hosting Bundle 还包含了本应用不需要的 IIS 运行时支持 (ASP.NET Core Module v2) 与 x86 的多个运行库
            • SDK 包含了较多不需要的内容
      • macOS
        • 如果你使用 Intel 的 x64(x86-64) 芯片的 Mac,则下载文件名中带有 macos_x64 的文件
        • 如果你使用 ARM64(Apple Silicon) 芯片的 Mac,例如 Apple M1 ,则下载文件名中带有 macos_arm64 的文件
      • Linux
        • 如果你使用 Intel、AMD 的 x64(x86-64) 芯片的 PC 则下载文件名中带有 linux_x64 的文件
        • 如果你使用 ARM64 芯片的 PC 例如 Raspberry Pi Model 3+,则下载文件名中带有 linux_arm64 的文件
    • Mobile(移动端)

      • Android
        • 如果你使用 ARM64 芯片的设备(较为普遍)则下载文件名中带有 android 的文件
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Start/Download channel.html b/zh/document/Start/Download channel.html new file mode 100644 index 0000000..93c773d --- /dev/null +++ b/zh/document/Start/Download channel.html @@ -0,0 +1,76 @@ + + + + + + + + 🚀 下载渠道 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    🚀 下载渠道

    SteamTools Guide大约 2 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Start/Functions.html b/zh/document/Start/Functions.html new file mode 100644 index 0000000..12dad47 --- /dev/null +++ b/zh/document/Start/Functions.html @@ -0,0 +1,40 @@ + + + + + + + + ✨ 功能一览 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    ✨ 功能一览

    SteamTools Guide大约 1 分钟

    ✨ 功能一览

    网络加速open in new window

    脚本配置open in new window

    • 通过加速服务拦截网络请求将一些 JS 脚本注入在网页中,提供类似网页插件的功能。

    账号切换open in new window

    • 一键切换已在当前 PC 上登录过的 Steam 账号,与管理家庭共享库排序及禁用等功能。

    库存管理open in new window

    • 让您直接管理 Steam 游戏库存,可以编辑游戏名称和自定义封面open in new window,也能解锁以及反解锁 Steam 游戏成就。
    • 监控 Steam 游戏下载进度实现 Steam 游戏下载完成定时关机功能。
    • 模拟运行 Steam 游戏,让您不用安装和下载对应的游戏也能挂游玩时间和 Steam 卡片
    • 自助管理 Steam 游戏云存档,随时删除和上传自定义的存档文件至 Steam 云

    本地令牌open in new window

    • 让您的手机令牌统一保存在电脑中,目前仅支持 Steam 令牌,后续会开发支持更多的令牌种类与云同步令牌。

    自动挂卡open in new window

    游戏工具open in new window

    • 强制游戏窗口使用无边框窗口化、更多功能待开发。
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Start/Supported Operating Systems.html b/zh/document/Start/Supported Operating Systems.html new file mode 100644 index 0000000..cc507ea --- /dev/null +++ b/zh/document/Start/Supported Operating Systems.html @@ -0,0 +1,40 @@ + + + + + + + + 🖥️ 系统要求 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    🖥️ 系统要求

    SteamTools Guide大约 2 分钟

    🖥️ 系统要求

    Windows

    OSVersionArchitecturesLifecycle
    Windows Clientopen in new window7 SP1(*), 8.1(*)x64Windowsopen in new window
    Windows 10 Clientopen in new windowVersion 1607+(*)x64Windowsopen in new window
    Windows 11open in new windowVersion 22000+x64,Windowsopen in new window
    Windows Serveropen in new window2008 R2 SP1(*), 2012+x64Windows Serveropen in new window

    * Windows 7 SP1 必须安装 扩展安全更新 (ESU)open in new window 且将在不再支持 2022/11 后发布的版本。
    * Windows 8.1 将在不再支持 2022/11 后发布的版本。
    * Windows Server 2008 R2 SP1 必须安装 扩展安全更新 (ESU)open in new window 且将在不再支持 2022/11 后发布的版本。
    * Microsoft Store(Desktop Bridge) Version 1809+

    Linux

    OSVersionArchitecturesLifecycle
    Alpine Linuxopen in new window3.13+x64, Arm64Alpineopen in new window
    CentOSopen in new window7+x64CentOSopen in new window
    Debianopen in new window10+x64, Arm64Debianopen in new window
    Fedoraopen in new window33+x64Fedoraopen in new window
    openSUSEopen in new window15+x64OpenSUSEopen in new window
    Red Hat Enterprise Linuxopen in new window7+x64, Arm64Red Hatopen in new window
    SUSE Enterprise Linux (SLES)open in new window12 SP2+x64SUSEopen in new window
    Ubuntuopen in new window16.04, 18.04, 20.04+x64, Arm64Ubuntuopen in new window
    Deepin / UOSopen in new window20+x64Deepinopen in new window
    Arch Linuxopen in new windowx64

    macOS

    OSVersionArchitectures
    macOSopen in new window10.15+x64, Arm64

    Android

    OSVersionArchitectures
    Androidopen in new window5.0(API 21)+x64open in new window, Arm64open in new window, Arm32open in new window

    iOS / iPadOS

    OSVersionArchitectures
    iOSopen in new window10.0+x64, Arm32, Arm64

    ⛔ 不受支持的操作系统

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/Start/index.html b/zh/document/Start/index.html new file mode 100644 index 0000000..d070224 --- /dev/null +++ b/zh/document/Start/index.html @@ -0,0 +1,40 @@ + + + + + + + + Start | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    Start

    SteamTools Guide小于 1 分钟

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/document/index.html b/zh/document/index.html new file mode 100644 index 0000000..2415faf --- /dev/null +++ b/zh/document/index.html @@ -0,0 +1,40 @@ + + + + + + + + 🧰 Watt Toolkit 指南 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    🧰 Watt Toolkit 指南

    SteamTools Guide小于 1 分钟

    🧰 Watt Toolkit 指南

    注意:Watt Toolkit 在不断地更新功能,所以教程具有一定的时效性,如果不符合教程请确认最后更新时间和 Watt Toolkit 版本是否更新

    1. Watt Toolkit 指南 仓库XTsat/SteamTools-Guide

    2. Watt Toolkit 指南 网页xtsat.github.io/SteamTools-Guide

    什么是 Watt Toolkit?

    🛠️「Watt Toolkit」是一个开源跨平台的多功能游戏工具箱。

    此工具箱的大部分功能都是需要您下载安装 Steam 才能使用。

    1. Watt Toolkit 官网steampp.net

    2. GitHub 仓库SteamTools-Team/SteamTools

    3. [原创发布]Steam++ 工具箱(其乐 Keylol)@软妹币玩家

    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + + diff --git a/zh/index.html b/zh/index.html new file mode 100644 index 0000000..93426ed --- /dev/null +++ b/zh/index.html @@ -0,0 +1,40 @@ + + + + + + + + 主页 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容
    Watt Toolkit 指南

    Watt Toolkit 指南

    🛠️「Watt Toolkit」是一个开源跨平台的多功能 Steam 工具箱。(原名 Steam++)

    官网GitHub指南下载

    本地加速

    使 Steam 社区、 Github 、谷歌验证码等国内难以访问的网页正常访问。功能类似 steamcommunit302 ,使用 Titanium-Web-Proxy 开源项目进行本地反代。

    脚本配置

    通过加速服务拦截网络请求将一些 JS 脚本注入在网页中,提供类似网页插件的功能。

    账号切换

    一键切换已在当前 PC 上登录过的 Steam 账号,与管理家庭共享库排序等功能。

    本地令牌

    让您的手机令牌统一保存在电脑中,目前仅支持 Steam 令牌,后续会开发支持更多的令牌种类与云同步令牌。

    库存管理

    让您直接管理到 Steam 游戏库存,不仅能够下载老版本的 Steam 游戏,也能够对 Steam 游戏成就进行直接管理,支持解锁成就以及反解锁成就。

    自动挂卡

    集成 ArchiSteamFarm 在应用内提供 挂机掉落 Steam 集换式卡牌 等功能。

    公告

    更名通知

    Steam++ 更名为 Watt Toolkit

    上架微软商店不能使用未经授权的商标,即与 Steam 相近的名字,要有v社的授权证明才能上架 Microsoft Store 策略open in new window下架原因open in new window

    2022-07-23

    1. 非简中语言将默认隐藏加速和脚本功能,仅能通过切换语言并重启程序的方式还原被隐藏的功能
    2. 因经济状况原因,现已停止短信服务节约开销,后续会推出邮箱注册登录,对于仅使用手机号登录的用户请绑定第三方快速登录,否则注销后将无法再次登录,需要等待至邮箱服务推出后支持会暂时在开放短信服务提供换绑邮箱。
    3. 自动更新目前仅 Windows 端可用,且由于下载渠道限速可能导致无法更新成功,推荐在官网链接的网盘或群文件中下载压缩包解压覆盖更新(应用商店版由商店更新不受此影响)
    4. 在 Android 上因系统限制,目前的加速功能无法正常使用,所以此功能已放弃继续开发,如仍想使用需要自行导入证书到系统目录,使用 adb 工具或 Magisk 之类的软件操作,未来会使用不需要证书的加速功能替换此功能
    5. fde 版本需要安装 ASP.NET Core 运行时 6.0.8 (x64) 与 .NET Core 运行时 6.0.8 (x64)open in new window
    6. Windows x86 与 x64 版本令牌本机加密互不兼容,使用两者版本时注意令牌加密后的文件不能共用。
    7. 由于新版本加速功能重构,调整了部分加速项目,这会影响旧版本程序使用加速功能
    8. 为了能继续维持开发,从此版本开始将会添加程序内广告,赞助用户可以在设置中关闭所有广告
    + + + diff --git "a/zh/\345\205\263\344\272\216\346\210\221.html" "b/zh/\345\205\263\344\272\216\346\210\221.html" new file mode 100644 index 0000000..d494b43 --- /dev/null +++ "b/zh/\345\205\263\344\272\216\346\210\221.html" @@ -0,0 +1,40 @@ + + + + + + + + 关于我 | Watt Toolkit 指南 + + + + + + +
    跳至主要內容

    关于我

    SteamTools Guide小于 1 分钟

    其他指南

    主要内容:

    • 我遇到的问题
    • 我喜欢或常用的软件

    主要目的:

    • 整合解决问题或功能介绍的非线性快速索引
    • 方便我以及看到文档的你找到这些问题合适的解决方法
    1. Steam 指南软件
    2. Watt Toolkit 指南软件
    3. 浏览器 指南软件
    4. Windows 指南系统
    5. 秒传链接提取脚本

    其他平台

    1. 传奇晓同BiliBili 📺
    2. 晓同Steam 🎮
    3. 传奇晓同Netease Playlist 🎵
    4. XTsatGitHub
    Comments
    • Latest
    • Oldest
    • Hottest
    Powered by Waline v2.15.8
    + + +